Step |
Hyp |
Ref |
Expression |
1 |
|
seqshft.1 |
|- F e. _V |
2 |
|
seqfn |
|- ( M e. ZZ -> seq M ( .+ , ( F shift N ) ) Fn ( ZZ>= ` M ) ) |
3 |
2
|
adantr |
|- ( ( M e. ZZ /\ N e. ZZ ) -> seq M ( .+ , ( F shift N ) ) Fn ( ZZ>= ` M ) ) |
4 |
|
zsubcl |
|- ( ( M e. ZZ /\ N e. ZZ ) -> ( M - N ) e. ZZ ) |
5 |
|
seqfn |
|- ( ( M - N ) e. ZZ -> seq ( M - N ) ( .+ , F ) Fn ( ZZ>= ` ( M - N ) ) ) |
6 |
4 5
|
syl |
|- ( ( M e. ZZ /\ N e. ZZ ) -> seq ( M - N ) ( .+ , F ) Fn ( ZZ>= ` ( M - N ) ) ) |
7 |
|
zcn |
|- ( N e. ZZ -> N e. CC ) |
8 |
7
|
adantl |
|- ( ( M e. ZZ /\ N e. ZZ ) -> N e. CC ) |
9 |
|
seqex |
|- seq ( M - N ) ( .+ , F ) e. _V |
10 |
9
|
shftfn |
|- ( ( seq ( M - N ) ( .+ , F ) Fn ( ZZ>= ` ( M - N ) ) /\ N e. CC ) -> ( seq ( M - N ) ( .+ , F ) shift N ) Fn { x e. CC | ( x - N ) e. ( ZZ>= ` ( M - N ) ) } ) |
11 |
6 8 10
|
syl2anc |
|- ( ( M e. ZZ /\ N e. ZZ ) -> ( seq ( M - N ) ( .+ , F ) shift N ) Fn { x e. CC | ( x - N ) e. ( ZZ>= ` ( M - N ) ) } ) |
12 |
|
simpr |
|- ( ( M e. ZZ /\ N e. ZZ ) -> N e. ZZ ) |
13 |
|
shftuz |
|- ( ( N e. ZZ /\ ( M - N ) e. ZZ ) -> { x e. CC | ( x - N ) e. ( ZZ>= ` ( M - N ) ) } = ( ZZ>= ` ( ( M - N ) + N ) ) ) |
14 |
12 4 13
|
syl2anc |
|- ( ( M e. ZZ /\ N e. ZZ ) -> { x e. CC | ( x - N ) e. ( ZZ>= ` ( M - N ) ) } = ( ZZ>= ` ( ( M - N ) + N ) ) ) |
15 |
|
zcn |
|- ( M e. ZZ -> M e. CC ) |
16 |
|
npcan |
|- ( ( M e. CC /\ N e. CC ) -> ( ( M - N ) + N ) = M ) |
17 |
15 7 16
|
syl2an |
|- ( ( M e. ZZ /\ N e. ZZ ) -> ( ( M - N ) + N ) = M ) |
18 |
17
|
fveq2d |
|- ( ( M e. ZZ /\ N e. ZZ ) -> ( ZZ>= ` ( ( M - N ) + N ) ) = ( ZZ>= ` M ) ) |
19 |
14 18
|
eqtrd |
|- ( ( M e. ZZ /\ N e. ZZ ) -> { x e. CC | ( x - N ) e. ( ZZ>= ` ( M - N ) ) } = ( ZZ>= ` M ) ) |
20 |
19
|
fneq2d |
|- ( ( M e. ZZ /\ N e. ZZ ) -> ( ( seq ( M - N ) ( .+ , F ) shift N ) Fn { x e. CC | ( x - N ) e. ( ZZ>= ` ( M - N ) ) } <-> ( seq ( M - N ) ( .+ , F ) shift N ) Fn ( ZZ>= ` M ) ) ) |
21 |
11 20
|
mpbid |
|- ( ( M e. ZZ /\ N e. ZZ ) -> ( seq ( M - N ) ( .+ , F ) shift N ) Fn ( ZZ>= ` M ) ) |
22 |
|
negsub |
|- ( ( M e. CC /\ N e. CC ) -> ( M + -u N ) = ( M - N ) ) |
23 |
15 7 22
|
syl2an |
|- ( ( M e. ZZ /\ N e. ZZ ) -> ( M + -u N ) = ( M - N ) ) |
24 |
23
|
adantr |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> ( M + -u N ) = ( M - N ) ) |
25 |
24
|
seqeq1d |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> seq ( M + -u N ) ( .+ , F ) = seq ( M - N ) ( .+ , F ) ) |
26 |
|
eluzelcn |
|- ( z e. ( ZZ>= ` M ) -> z e. CC ) |
27 |
|
negsub |
|- ( ( z e. CC /\ N e. CC ) -> ( z + -u N ) = ( z - N ) ) |
28 |
26 8 27
|
syl2anr |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> ( z + -u N ) = ( z - N ) ) |
29 |
25 28
|
fveq12d |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> ( seq ( M + -u N ) ( .+ , F ) ` ( z + -u N ) ) = ( seq ( M - N ) ( .+ , F ) ` ( z - N ) ) ) |
30 |
|
simpr |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> z e. ( ZZ>= ` M ) ) |
31 |
|
znegcl |
|- ( N e. ZZ -> -u N e. ZZ ) |
32 |
31
|
ad2antlr |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> -u N e. ZZ ) |
33 |
|
elfzelz |
|- ( y e. ( M ... z ) -> y e. ZZ ) |
34 |
33
|
zcnd |
|- ( y e. ( M ... z ) -> y e. CC ) |
35 |
1
|
shftval |
|- ( ( N e. CC /\ y e. CC ) -> ( ( F shift N ) ` y ) = ( F ` ( y - N ) ) ) |
36 |
|
negsub |
|- ( ( y e. CC /\ N e. CC ) -> ( y + -u N ) = ( y - N ) ) |
37 |
36
|
ancoms |
|- ( ( N e. CC /\ y e. CC ) -> ( y + -u N ) = ( y - N ) ) |
38 |
37
|
fveq2d |
|- ( ( N e. CC /\ y e. CC ) -> ( F ` ( y + -u N ) ) = ( F ` ( y - N ) ) ) |
39 |
35 38
|
eqtr4d |
|- ( ( N e. CC /\ y e. CC ) -> ( ( F shift N ) ` y ) = ( F ` ( y + -u N ) ) ) |
40 |
7 34 39
|
syl2an |
|- ( ( N e. ZZ /\ y e. ( M ... z ) ) -> ( ( F shift N ) ` y ) = ( F ` ( y + -u N ) ) ) |
41 |
40
|
ad4ant24 |
|- ( ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) /\ y e. ( M ... z ) ) -> ( ( F shift N ) ` y ) = ( F ` ( y + -u N ) ) ) |
42 |
30 32 41
|
seqshft2 |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> ( seq M ( .+ , ( F shift N ) ) ` z ) = ( seq ( M + -u N ) ( .+ , F ) ` ( z + -u N ) ) ) |
43 |
9
|
shftval |
|- ( ( N e. CC /\ z e. CC ) -> ( ( seq ( M - N ) ( .+ , F ) shift N ) ` z ) = ( seq ( M - N ) ( .+ , F ) ` ( z - N ) ) ) |
44 |
8 26 43
|
syl2an |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> ( ( seq ( M - N ) ( .+ , F ) shift N ) ` z ) = ( seq ( M - N ) ( .+ , F ) ` ( z - N ) ) ) |
45 |
29 42 44
|
3eqtr4d |
|- ( ( ( M e. ZZ /\ N e. ZZ ) /\ z e. ( ZZ>= ` M ) ) -> ( seq M ( .+ , ( F shift N ) ) ` z ) = ( ( seq ( M - N ) ( .+ , F ) shift N ) ` z ) ) |
46 |
3 21 45
|
eqfnfvd |
|- ( ( M e. ZZ /\ N e. ZZ ) -> seq M ( .+ , ( F shift N ) ) = ( seq ( M - N ) ( .+ , F ) shift N ) ) |