Metamath Proof Explorer


Theorem crctcshwlkn0lem2

Description: Lemma for crctcshwlkn0 . (Contributed by AV, 12-Mar-2021)

Ref Expression
Hypotheses crctcshwlkn0lem.s
|- ( ph -> S e. ( 1 ..^ N ) )
crctcshwlkn0lem.q
|- Q = ( x e. ( 0 ... N ) |-> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) )
Assertion crctcshwlkn0lem2
|- ( ( ph /\ J e. ( 0 ... ( N - S ) ) ) -> ( Q ` J ) = ( P ` ( J + S ) ) )

Proof

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 ) ) )