Step |
Hyp |
Ref |
Expression |
1 |
|
crctcshwlkn0lem.s |
|- ( ph -> S e. ( 1 ..^ N ) ) |
2 |
|
crctcshwlkn0lem.q |
|- Q = ( x e. ( 0 ... N ) |-> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) ) |
3 |
|
breq1 |
|- ( x = J -> ( x <_ ( N - S ) <-> J <_ ( N - S ) ) ) |
4 |
|
fvoveq1 |
|- ( x = J -> ( P ` ( x + S ) ) = ( P ` ( J + S ) ) ) |
5 |
|
oveq1 |
|- ( x = J -> ( x + S ) = ( J + S ) ) |
6 |
5
|
fvoveq1d |
|- ( x = J -> ( P ` ( ( x + S ) - N ) ) = ( P ` ( ( J + S ) - N ) ) ) |
7 |
3 4 6
|
ifbieq12d |
|- ( x = J -> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) = if ( J <_ ( N - S ) , ( P ` ( J + S ) ) , ( P ` ( ( J + S ) - N ) ) ) ) |
8 |
|
fzo0ss1 |
|- ( 1 ..^ N ) C_ ( 0 ..^ N ) |
9 |
8
|
sseli |
|- ( S e. ( 1 ..^ N ) -> S e. ( 0 ..^ N ) ) |
10 |
|
elfzoel2 |
|- ( S e. ( 0 ..^ N ) -> N e. ZZ ) |
11 |
|
elfzonn0 |
|- ( S e. ( 0 ..^ N ) -> S e. NN0 ) |
12 |
|
eluzmn |
|- ( ( N e. ZZ /\ S e. NN0 ) -> N e. ( ZZ>= ` ( N - S ) ) ) |
13 |
10 11 12
|
syl2anc |
|- ( S e. ( 0 ..^ N ) -> N e. ( ZZ>= ` ( N - S ) ) ) |
14 |
|
fzss2 |
|- ( N e. ( ZZ>= ` ( N - S ) ) -> ( 0 ... ( N - S ) ) C_ ( 0 ... N ) ) |
15 |
13 14
|
syl |
|- ( S e. ( 0 ..^ N ) -> ( 0 ... ( N - S ) ) C_ ( 0 ... N ) ) |
16 |
15
|
sseld |
|- ( S e. ( 0 ..^ N ) -> ( J e. ( 0 ... ( N - S ) ) -> J e. ( 0 ... N ) ) ) |
17 |
1 9 16
|
3syl |
|- ( ph -> ( J e. ( 0 ... ( N - S ) ) -> J e. ( 0 ... N ) ) ) |
18 |
17
|
imp |
|- ( ( ph /\ J e. ( 0 ... ( N - S ) ) ) -> J e. ( 0 ... N ) ) |
19 |
|
fvex |
|- ( P ` ( J + S ) ) e. _V |
20 |
|
fvex |
|- ( P ` ( ( J + S ) - N ) ) e. _V |
21 |
19 20
|
ifex |
|- if ( J <_ ( N - S ) , ( P ` ( J + S ) ) , ( P ` ( ( J + S ) - N ) ) ) e. _V |
22 |
21
|
a1i |
|- ( ( ph /\ J e. ( 0 ... ( N - S ) ) ) -> if ( J <_ ( N - S ) , ( P ` ( J + S ) ) , ( P ` ( ( J + S ) - N ) ) ) e. _V ) |
23 |
2 7 18 22
|
fvmptd3 |
|- ( ( ph /\ J e. ( 0 ... ( N - S ) ) ) -> ( Q ` J ) = if ( J <_ ( N - S ) , ( P ` ( J + S ) ) , ( P ` ( ( J + S ) - N ) ) ) ) |
24 |
|
elfzle2 |
|- ( J e. ( 0 ... ( N - S ) ) -> J <_ ( N - S ) ) |
25 |
24
|
adantl |
|- ( ( ph /\ J e. ( 0 ... ( N - S ) ) ) -> J <_ ( N - S ) ) |
26 |
25
|
iftrued |
|- ( ( ph /\ J e. ( 0 ... ( N - S ) ) ) -> if ( J <_ ( N - S ) , ( P ` ( J + S ) ) , ( P ` ( ( J + S ) - N ) ) ) = ( P ` ( J + S ) ) ) |
27 |
23 26
|
eqtrd |
|- ( ( ph /\ J e. ( 0 ... ( N - S ) ) ) -> ( Q ` J ) = ( P ` ( J + S ) ) ) |