This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Equality of sequences. (Contributed by NM, 17-Mar-2005) (Revised by Mario Carneiro, 27-May-2014)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | seqfveq2.1 | |- ( ph -> K e. ( ZZ>= ` M ) ) |
|
| seqfveq2.2 | |- ( ph -> ( seq M ( .+ , F ) ` K ) = ( G ` K ) ) |
||
| seqfveq2.3 | |- ( ph -> N e. ( ZZ>= ` K ) ) |
||
| seqfveq2.4 | |- ( ( ph /\ k e. ( ( K + 1 ) ... N ) ) -> ( F ` k ) = ( G ` k ) ) |
||
| Assertion | seqfveq2 | |- ( ph -> ( seq M ( .+ , F ) ` N ) = ( seq K ( .+ , G ) ` N ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | seqfveq2.1 | |- ( ph -> K e. ( ZZ>= ` M ) ) |
|
| 2 | seqfveq2.2 | |- ( ph -> ( seq M ( .+ , F ) ` K ) = ( G ` K ) ) |
|
| 3 | seqfveq2.3 | |- ( ph -> N e. ( ZZ>= ` K ) ) |
|
| 4 | seqfveq2.4 | |- ( ( ph /\ k e. ( ( K + 1 ) ... N ) ) -> ( F ` k ) = ( G ` k ) ) |
|
| 5 | eluzfz2 | |- ( N e. ( ZZ>= ` K ) -> N e. ( K ... N ) ) |
|
| 6 | 3 5 | syl | |- ( ph -> N e. ( K ... N ) ) |
| 7 | eleq1 | |- ( x = K -> ( x e. ( K ... N ) <-> K e. ( K ... N ) ) ) |
|
| 8 | fveq2 | |- ( x = K -> ( seq M ( .+ , F ) ` x ) = ( seq M ( .+ , F ) ` K ) ) |
|
| 9 | fveq2 | |- ( x = K -> ( seq K ( .+ , G ) ` x ) = ( seq K ( .+ , G ) ` K ) ) |
|
| 10 | 8 9 | eqeq12d | |- ( x = K -> ( ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) <-> ( seq M ( .+ , F ) ` K ) = ( seq K ( .+ , G ) ` K ) ) ) |
| 11 | 7 10 | imbi12d | |- ( x = K -> ( ( x e. ( K ... N ) -> ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) ) <-> ( K e. ( K ... N ) -> ( seq M ( .+ , F ) ` K ) = ( seq K ( .+ , G ) ` K ) ) ) ) |
| 12 | 11 | imbi2d | |- ( x = K -> ( ( ph -> ( x e. ( K ... N ) -> ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) ) ) <-> ( ph -> ( K e. ( K ... N ) -> ( seq M ( .+ , F ) ` K ) = ( seq K ( .+ , G ) ` K ) ) ) ) ) |
| 13 | eleq1 | |- ( x = n -> ( x e. ( K ... N ) <-> n e. ( K ... N ) ) ) |
|
| 14 | fveq2 | |- ( x = n -> ( seq M ( .+ , F ) ` x ) = ( seq M ( .+ , F ) ` n ) ) |
|
| 15 | fveq2 | |- ( x = n -> ( seq K ( .+ , G ) ` x ) = ( seq K ( .+ , G ) ` n ) ) |
|
| 16 | 14 15 | eqeq12d | |- ( x = n -> ( ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) <-> ( seq M ( .+ , F ) ` n ) = ( seq K ( .+ , G ) ` n ) ) ) |
| 17 | 13 16 | imbi12d | |- ( x = n -> ( ( x e. ( K ... N ) -> ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) ) <-> ( n e. ( K ... N ) -> ( seq M ( .+ , F ) ` n ) = ( seq K ( .+ , G ) ` n ) ) ) ) |
| 18 | 17 | imbi2d | |- ( x = n -> ( ( ph -> ( x e. ( K ... N ) -> ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) ) ) <-> ( ph -> ( n e. ( K ... N ) -> ( seq M ( .+ , F ) ` n ) = ( seq K ( .+ , G ) ` n ) ) ) ) ) |
| 19 | eleq1 | |- ( x = ( n + 1 ) -> ( x e. ( K ... N ) <-> ( n + 1 ) e. ( K ... N ) ) ) |
|
| 20 | fveq2 | |- ( x = ( n + 1 ) -> ( seq M ( .+ , F ) ` x ) = ( seq M ( .+ , F ) ` ( n + 1 ) ) ) |
|
| 21 | fveq2 | |- ( x = ( n + 1 ) -> ( seq K ( .+ , G ) ` x ) = ( seq K ( .+ , G ) ` ( n + 1 ) ) ) |
|
| 22 | 20 21 | eqeq12d | |- ( x = ( n + 1 ) -> ( ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) <-> ( seq M ( .+ , F ) ` ( n + 1 ) ) = ( seq K ( .+ , G ) ` ( n + 1 ) ) ) ) |
| 23 | 19 22 | imbi12d | |- ( x = ( n + 1 ) -> ( ( x e. ( K ... N ) -> ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) ) <-> ( ( n + 1 ) e. ( K ... N ) -> ( seq M ( .+ , F ) ` ( n + 1 ) ) = ( seq K ( .+ , G ) ` ( n + 1 ) ) ) ) ) |
| 24 | 23 | imbi2d | |- ( x = ( n + 1 ) -> ( ( ph -> ( x e. ( K ... N ) -> ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) ) ) <-> ( ph -> ( ( n + 1 ) e. ( K ... N ) -> ( seq M ( .+ , F ) ` ( n + 1 ) ) = ( seq K ( .+ , G ) ` ( n + 1 ) ) ) ) ) ) |
| 25 | eleq1 | |- ( x = N -> ( x e. ( K ... N ) <-> N e. ( K ... N ) ) ) |
|
| 26 | fveq2 | |- ( x = N -> ( seq M ( .+ , F ) ` x ) = ( seq M ( .+ , F ) ` N ) ) |
|
| 27 | fveq2 | |- ( x = N -> ( seq K ( .+ , G ) ` x ) = ( seq K ( .+ , G ) ` N ) ) |
|
| 28 | 26 27 | eqeq12d | |- ( x = N -> ( ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) <-> ( seq M ( .+ , F ) ` N ) = ( seq K ( .+ , G ) ` N ) ) ) |
| 29 | 25 28 | imbi12d | |- ( x = N -> ( ( x e. ( K ... N ) -> ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) ) <-> ( N e. ( K ... N ) -> ( seq M ( .+ , F ) ` N ) = ( seq K ( .+ , G ) ` N ) ) ) ) |
| 30 | 29 | imbi2d | |- ( x = N -> ( ( ph -> ( x e. ( K ... N ) -> ( seq M ( .+ , F ) ` x ) = ( seq K ( .+ , G ) ` x ) ) ) <-> ( ph -> ( N e. ( K ... N ) -> ( seq M ( .+ , F ) ` N ) = ( seq K ( .+ , G ) ` N ) ) ) ) ) |
| 31 | eluzelz | |- ( K e. ( ZZ>= ` M ) -> K e. ZZ ) |
|
| 32 | seq1 | |- ( K e. ZZ -> ( seq K ( .+ , G ) ` K ) = ( G ` K ) ) |
|
| 33 | 1 31 32 | 3syl | |- ( ph -> ( seq K ( .+ , G ) ` K ) = ( G ` K ) ) |
| 34 | 2 33 | eqtr4d | |- ( ph -> ( seq M ( .+ , F ) ` K ) = ( seq K ( .+ , G ) ` K ) ) |
| 35 | 34 | a1d | |- ( ph -> ( K e. ( K ... N ) -> ( seq M ( .+ , F ) ` K ) = ( seq K ( .+ , G ) ` K ) ) ) |
| 36 | peano2fzr | |- ( ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) -> n e. ( K ... N ) ) |
|
| 37 | 36 | adantl | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> n e. ( K ... N ) ) |
| 38 | 37 | expr | |- ( ( ph /\ n e. ( ZZ>= ` K ) ) -> ( ( n + 1 ) e. ( K ... N ) -> n e. ( K ... N ) ) ) |
| 39 | 38 | imim1d | |- ( ( ph /\ n e. ( ZZ>= ` K ) ) -> ( ( n e. ( K ... N ) -> ( seq M ( .+ , F ) ` n ) = ( seq K ( .+ , G ) ` n ) ) -> ( ( n + 1 ) e. ( K ... N ) -> ( seq M ( .+ , F ) ` n ) = ( seq K ( .+ , G ) ` n ) ) ) ) |
| 40 | oveq1 | |- ( ( seq M ( .+ , F ) ` n ) = ( seq K ( .+ , G ) ` n ) -> ( ( seq M ( .+ , F ) ` n ) .+ ( F ` ( n + 1 ) ) ) = ( ( seq K ( .+ , G ) ` n ) .+ ( F ` ( n + 1 ) ) ) ) |
|
| 41 | simpl | |- ( ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) -> n e. ( ZZ>= ` K ) ) |
|
| 42 | uztrn | |- ( ( n e. ( ZZ>= ` K ) /\ K e. ( ZZ>= ` M ) ) -> n e. ( ZZ>= ` M ) ) |
|
| 43 | 41 1 42 | syl2anr | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> n e. ( ZZ>= ` M ) ) |
| 44 | seqp1 | |- ( n e. ( ZZ>= ` M ) -> ( seq M ( .+ , F ) ` ( n + 1 ) ) = ( ( seq M ( .+ , F ) ` n ) .+ ( F ` ( n + 1 ) ) ) ) |
|
| 45 | 43 44 | syl | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( seq M ( .+ , F ) ` ( n + 1 ) ) = ( ( seq M ( .+ , F ) ` n ) .+ ( F ` ( n + 1 ) ) ) ) |
| 46 | seqp1 | |- ( n e. ( ZZ>= ` K ) -> ( seq K ( .+ , G ) ` ( n + 1 ) ) = ( ( seq K ( .+ , G ) ` n ) .+ ( G ` ( n + 1 ) ) ) ) |
|
| 47 | 46 | ad2antrl | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( seq K ( .+ , G ) ` ( n + 1 ) ) = ( ( seq K ( .+ , G ) ` n ) .+ ( G ` ( n + 1 ) ) ) ) |
| 48 | fveq2 | |- ( k = ( n + 1 ) -> ( F ` k ) = ( F ` ( n + 1 ) ) ) |
|
| 49 | fveq2 | |- ( k = ( n + 1 ) -> ( G ` k ) = ( G ` ( n + 1 ) ) ) |
|
| 50 | 48 49 | eqeq12d | |- ( k = ( n + 1 ) -> ( ( F ` k ) = ( G ` k ) <-> ( F ` ( n + 1 ) ) = ( G ` ( n + 1 ) ) ) ) |
| 51 | 4 | ralrimiva | |- ( ph -> A. k e. ( ( K + 1 ) ... N ) ( F ` k ) = ( G ` k ) ) |
| 52 | 51 | adantr | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> A. k e. ( ( K + 1 ) ... N ) ( F ` k ) = ( G ` k ) ) |
| 53 | eluzp1p1 | |- ( n e. ( ZZ>= ` K ) -> ( n + 1 ) e. ( ZZ>= ` ( K + 1 ) ) ) |
|
| 54 | 53 | ad2antrl | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( n + 1 ) e. ( ZZ>= ` ( K + 1 ) ) ) |
| 55 | elfzuz3 | |- ( ( n + 1 ) e. ( K ... N ) -> N e. ( ZZ>= ` ( n + 1 ) ) ) |
|
| 56 | 55 | ad2antll | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> N e. ( ZZ>= ` ( n + 1 ) ) ) |
| 57 | elfzuzb | |- ( ( n + 1 ) e. ( ( K + 1 ) ... N ) <-> ( ( n + 1 ) e. ( ZZ>= ` ( K + 1 ) ) /\ N e. ( ZZ>= ` ( n + 1 ) ) ) ) |
|
| 58 | 54 56 57 | sylanbrc | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( n + 1 ) e. ( ( K + 1 ) ... N ) ) |
| 59 | 50 52 58 | rspcdva | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( F ` ( n + 1 ) ) = ( G ` ( n + 1 ) ) ) |
| 60 | 59 | oveq2d | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( ( seq K ( .+ , G ) ` n ) .+ ( F ` ( n + 1 ) ) ) = ( ( seq K ( .+ , G ) ` n ) .+ ( G ` ( n + 1 ) ) ) ) |
| 61 | 47 60 | eqtr4d | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( seq K ( .+ , G ) ` ( n + 1 ) ) = ( ( seq K ( .+ , G ) ` n ) .+ ( F ` ( n + 1 ) ) ) ) |
| 62 | 45 61 | eqeq12d | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( ( seq M ( .+ , F ) ` ( n + 1 ) ) = ( seq K ( .+ , G ) ` ( n + 1 ) ) <-> ( ( seq M ( .+ , F ) ` n ) .+ ( F ` ( n + 1 ) ) ) = ( ( seq K ( .+ , G ) ` n ) .+ ( F ` ( n + 1 ) ) ) ) ) |
| 63 | 40 62 | imbitrrid | |- ( ( ph /\ ( n e. ( ZZ>= ` K ) /\ ( n + 1 ) e. ( K ... N ) ) ) -> ( ( seq M ( .+ , F ) ` n ) = ( seq K ( .+ , G ) ` n ) -> ( seq M ( .+ , F ) ` ( n + 1 ) ) = ( seq K ( .+ , G ) ` ( n + 1 ) ) ) ) |
| 64 | 39 63 | animpimp2impd | |- ( n e. ( ZZ>= ` K ) -> ( ( ph -> ( n e. ( K ... N ) -> ( seq M ( .+ , F ) ` n ) = ( seq K ( .+ , G ) ` n ) ) ) -> ( ph -> ( ( n + 1 ) e. ( K ... N ) -> ( seq M ( .+ , F ) ` ( n + 1 ) ) = ( seq K ( .+ , G ) ` ( n + 1 ) ) ) ) ) ) |
| 65 | 12 18 24 30 35 64 | uzind4i | |- ( N e. ( ZZ>= ` K ) -> ( ph -> ( N e. ( K ... N ) -> ( seq M ( .+ , F ) ` N ) = ( seq K ( .+ , G ) ` N ) ) ) ) |
| 66 | 3 65 | mpcom | |- ( ph -> ( N e. ( K ... N ) -> ( seq M ( .+ , F ) ` N ) = ( seq K ( .+ , G ) ` N ) ) ) |
| 67 | 6 66 | mpd | |- ( ph -> ( seq M ( .+ , F ) ` N ) = ( seq K ( .+ , G ) ` N ) ) |