This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Value of the sequence builder function at a successor. (Contributed by Mario Carneiro, 24-Jun-2013) (Revised by Mario Carneiro, 15-Sep-2013)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | seqp1 | |- ( N e. ( ZZ>= ` M ) -> ( seq M ( .+ , F ) ` ( N + 1 ) ) = ( ( seq M ( .+ , F ) ` N ) .+ ( F ` ( N + 1 ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | eluzel2 | |- ( N e. ( ZZ>= ` M ) -> M e. ZZ ) |
|
| 2 | fveq2 | |- ( M = if ( M e. ZZ , M , 0 ) -> ( ZZ>= ` M ) = ( ZZ>= ` if ( M e. ZZ , M , 0 ) ) ) |
|
| 3 | 2 | eleq2d | |- ( M = if ( M e. ZZ , M , 0 ) -> ( N e. ( ZZ>= ` M ) <-> N e. ( ZZ>= ` if ( M e. ZZ , M , 0 ) ) ) ) |
| 4 | seqeq1 | |- ( M = if ( M e. ZZ , M , 0 ) -> seq M ( .+ , F ) = seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ) |
|
| 5 | 4 | fveq1d | |- ( M = if ( M e. ZZ , M , 0 ) -> ( seq M ( .+ , F ) ` ( N + 1 ) ) = ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` ( N + 1 ) ) ) |
| 6 | 4 | fveq1d | |- ( M = if ( M e. ZZ , M , 0 ) -> ( seq M ( .+ , F ) ` N ) = ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` N ) ) |
| 7 | 6 | oveq2d | |- ( M = if ( M e. ZZ , M , 0 ) -> ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq M ( .+ , F ) ` N ) ) = ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` N ) ) ) |
| 8 | 5 7 | eqeq12d | |- ( M = if ( M e. ZZ , M , 0 ) -> ( ( seq M ( .+ , F ) ` ( N + 1 ) ) = ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq M ( .+ , F ) ` N ) ) <-> ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` ( N + 1 ) ) = ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` N ) ) ) ) |
| 9 | 3 8 | imbi12d | |- ( M = if ( M e. ZZ , M , 0 ) -> ( ( N e. ( ZZ>= ` M ) -> ( seq M ( .+ , F ) ` ( N + 1 ) ) = ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq M ( .+ , F ) ` N ) ) ) <-> ( N e. ( ZZ>= ` if ( M e. ZZ , M , 0 ) ) -> ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` ( N + 1 ) ) = ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` N ) ) ) ) ) |
| 10 | 0z | |- 0 e. ZZ |
|
| 11 | 10 | elimel | |- if ( M e. ZZ , M , 0 ) e. ZZ |
| 12 | eqid | |- ( rec ( ( x e. _V |-> ( x + 1 ) ) , if ( M e. ZZ , M , 0 ) ) |` _om ) = ( rec ( ( x e. _V |-> ( x + 1 ) ) , if ( M e. ZZ , M , 0 ) ) |` _om ) |
|
| 13 | fvex | |- ( F ` if ( M e. ZZ , M , 0 ) ) e. _V |
|
| 14 | eqid | |- ( rec ( ( x e. _V , y e. _V |-> <. ( x + 1 ) , ( x ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) y ) >. ) , <. if ( M e. ZZ , M , 0 ) , ( F ` if ( M e. ZZ , M , 0 ) ) >. ) |` _om ) = ( rec ( ( x e. _V , y e. _V |-> <. ( x + 1 ) , ( x ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) y ) >. ) , <. if ( M e. ZZ , M , 0 ) , ( F ` if ( M e. ZZ , M , 0 ) ) >. ) |` _om ) |
|
| 15 | 14 | seqval | |- seq if ( M e. ZZ , M , 0 ) ( .+ , F ) = ran ( rec ( ( x e. _V , y e. _V |-> <. ( x + 1 ) , ( x ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) y ) >. ) , <. if ( M e. ZZ , M , 0 ) , ( F ` if ( M e. ZZ , M , 0 ) ) >. ) |` _om ) |
| 16 | 11 12 13 14 15 | uzrdgsuci | |- ( N e. ( ZZ>= ` if ( M e. ZZ , M , 0 ) ) -> ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` ( N + 1 ) ) = ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq if ( M e. ZZ , M , 0 ) ( .+ , F ) ` N ) ) ) |
| 17 | 9 16 | dedth | |- ( M e. ZZ -> ( N e. ( ZZ>= ` M ) -> ( seq M ( .+ , F ) ` ( N + 1 ) ) = ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq M ( .+ , F ) ` N ) ) ) ) |
| 18 | 1 17 | mpcom | |- ( N e. ( ZZ>= ` M ) -> ( seq M ( .+ , F ) ` ( N + 1 ) ) = ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq M ( .+ , F ) ` N ) ) ) |
| 19 | elex | |- ( N e. ( ZZ>= ` M ) -> N e. _V ) |
|
| 20 | fvex | |- ( seq M ( .+ , F ) ` N ) e. _V |
|
| 21 | fvoveq1 | |- ( z = N -> ( F ` ( z + 1 ) ) = ( F ` ( N + 1 ) ) ) |
|
| 22 | 21 | oveq2d | |- ( z = N -> ( w .+ ( F ` ( z + 1 ) ) ) = ( w .+ ( F ` ( N + 1 ) ) ) ) |
| 23 | oveq1 | |- ( w = ( seq M ( .+ , F ) ` N ) -> ( w .+ ( F ` ( N + 1 ) ) ) = ( ( seq M ( .+ , F ) ` N ) .+ ( F ` ( N + 1 ) ) ) ) |
|
| 24 | eqid | |- ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) = ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) |
|
| 25 | ovex | |- ( ( seq M ( .+ , F ) ` N ) .+ ( F ` ( N + 1 ) ) ) e. _V |
|
| 26 | 22 23 24 25 | ovmpo | |- ( ( N e. _V /\ ( seq M ( .+ , F ) ` N ) e. _V ) -> ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq M ( .+ , F ) ` N ) ) = ( ( seq M ( .+ , F ) ` N ) .+ ( F ` ( N + 1 ) ) ) ) |
| 27 | 19 20 26 | sylancl | |- ( N e. ( ZZ>= ` M ) -> ( N ( z e. _V , w e. _V |-> ( w .+ ( F ` ( z + 1 ) ) ) ) ( seq M ( .+ , F ) ` N ) ) = ( ( seq M ( .+ , F ) ` N ) .+ ( F ` ( N + 1 ) ) ) ) |
| 28 | 18 27 | eqtrd | |- ( N e. ( ZZ>= ` M ) -> ( seq M ( .+ , F ) ` ( N + 1 ) ) = ( ( seq M ( .+ , F ) ` N ) .+ ( F ` ( N + 1 ) ) ) ) |