| Step | Hyp | Ref | Expression | 
						
							| 1 |  | crctcshwlkn0lem.s | ⊢ ( 𝜑  →  𝑆  ∈  ( 1 ..^ 𝑁 ) ) | 
						
							| 2 |  | crctcshwlkn0lem.q | ⊢ 𝑄  =  ( 𝑥  ∈  ( 0 ... 𝑁 )  ↦  if ( 𝑥  ≤  ( 𝑁  −  𝑆 ) ,  ( 𝑃 ‘ ( 𝑥  +  𝑆 ) ) ,  ( 𝑃 ‘ ( ( 𝑥  +  𝑆 )  −  𝑁 ) ) ) ) | 
						
							| 3 |  | breq1 | ⊢ ( 𝑥  =  𝐽  →  ( 𝑥  ≤  ( 𝑁  −  𝑆 )  ↔  𝐽  ≤  ( 𝑁  −  𝑆 ) ) ) | 
						
							| 4 |  | fvoveq1 | ⊢ ( 𝑥  =  𝐽  →  ( 𝑃 ‘ ( 𝑥  +  𝑆 ) )  =  ( 𝑃 ‘ ( 𝐽  +  𝑆 ) ) ) | 
						
							| 5 |  | oveq1 | ⊢ ( 𝑥  =  𝐽  →  ( 𝑥  +  𝑆 )  =  ( 𝐽  +  𝑆 ) ) | 
						
							| 6 | 5 | fvoveq1d | ⊢ ( 𝑥  =  𝐽  →  ( 𝑃 ‘ ( ( 𝑥  +  𝑆 )  −  𝑁 ) )  =  ( 𝑃 ‘ ( ( 𝐽  +  𝑆 )  −  𝑁 ) ) ) | 
						
							| 7 | 3 4 6 | ifbieq12d | ⊢ ( 𝑥  =  𝐽  →  if ( 𝑥  ≤  ( 𝑁  −  𝑆 ) ,  ( 𝑃 ‘ ( 𝑥  +  𝑆 ) ) ,  ( 𝑃 ‘ ( ( 𝑥  +  𝑆 )  −  𝑁 ) ) )  =  if ( 𝐽  ≤  ( 𝑁  −  𝑆 ) ,  ( 𝑃 ‘ ( 𝐽  +  𝑆 ) ) ,  ( 𝑃 ‘ ( ( 𝐽  +  𝑆 )  −  𝑁 ) ) ) ) | 
						
							| 8 |  | fzo0ss1 | ⊢ ( 1 ..^ 𝑁 )  ⊆  ( 0 ..^ 𝑁 ) | 
						
							| 9 | 8 | sseli | ⊢ ( 𝑆  ∈  ( 1 ..^ 𝑁 )  →  𝑆  ∈  ( 0 ..^ 𝑁 ) ) | 
						
							| 10 |  | elfzoel2 | ⊢ ( 𝑆  ∈  ( 0 ..^ 𝑁 )  →  𝑁  ∈  ℤ ) | 
						
							| 11 |  | elfzonn0 | ⊢ ( 𝑆  ∈  ( 0 ..^ 𝑁 )  →  𝑆  ∈  ℕ0 ) | 
						
							| 12 |  | eluzmn | ⊢ ( ( 𝑁  ∈  ℤ  ∧  𝑆  ∈  ℕ0 )  →  𝑁  ∈  ( ℤ≥ ‘ ( 𝑁  −  𝑆 ) ) ) | 
						
							| 13 | 10 11 12 | syl2anc | ⊢ ( 𝑆  ∈  ( 0 ..^ 𝑁 )  →  𝑁  ∈  ( ℤ≥ ‘ ( 𝑁  −  𝑆 ) ) ) | 
						
							| 14 |  | fzss2 | ⊢ ( 𝑁  ∈  ( ℤ≥ ‘ ( 𝑁  −  𝑆 ) )  →  ( 0 ... ( 𝑁  −  𝑆 ) )  ⊆  ( 0 ... 𝑁 ) ) | 
						
							| 15 | 13 14 | syl | ⊢ ( 𝑆  ∈  ( 0 ..^ 𝑁 )  →  ( 0 ... ( 𝑁  −  𝑆 ) )  ⊆  ( 0 ... 𝑁 ) ) | 
						
							| 16 | 15 | sseld | ⊢ ( 𝑆  ∈  ( 0 ..^ 𝑁 )  →  ( 𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) )  →  𝐽  ∈  ( 0 ... 𝑁 ) ) ) | 
						
							| 17 | 1 9 16 | 3syl | ⊢ ( 𝜑  →  ( 𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) )  →  𝐽  ∈  ( 0 ... 𝑁 ) ) ) | 
						
							| 18 | 17 | imp | ⊢ ( ( 𝜑  ∧  𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) ) )  →  𝐽  ∈  ( 0 ... 𝑁 ) ) | 
						
							| 19 |  | fvex | ⊢ ( 𝑃 ‘ ( 𝐽  +  𝑆 ) )  ∈  V | 
						
							| 20 |  | fvex | ⊢ ( 𝑃 ‘ ( ( 𝐽  +  𝑆 )  −  𝑁 ) )  ∈  V | 
						
							| 21 | 19 20 | ifex | ⊢ if ( 𝐽  ≤  ( 𝑁  −  𝑆 ) ,  ( 𝑃 ‘ ( 𝐽  +  𝑆 ) ) ,  ( 𝑃 ‘ ( ( 𝐽  +  𝑆 )  −  𝑁 ) ) )  ∈  V | 
						
							| 22 | 21 | a1i | ⊢ ( ( 𝜑  ∧  𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) ) )  →  if ( 𝐽  ≤  ( 𝑁  −  𝑆 ) ,  ( 𝑃 ‘ ( 𝐽  +  𝑆 ) ) ,  ( 𝑃 ‘ ( ( 𝐽  +  𝑆 )  −  𝑁 ) ) )  ∈  V ) | 
						
							| 23 | 2 7 18 22 | fvmptd3 | ⊢ ( ( 𝜑  ∧  𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) ) )  →  ( 𝑄 ‘ 𝐽 )  =  if ( 𝐽  ≤  ( 𝑁  −  𝑆 ) ,  ( 𝑃 ‘ ( 𝐽  +  𝑆 ) ) ,  ( 𝑃 ‘ ( ( 𝐽  +  𝑆 )  −  𝑁 ) ) ) ) | 
						
							| 24 |  | elfzle2 | ⊢ ( 𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) )  →  𝐽  ≤  ( 𝑁  −  𝑆 ) ) | 
						
							| 25 | 24 | adantl | ⊢ ( ( 𝜑  ∧  𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) ) )  →  𝐽  ≤  ( 𝑁  −  𝑆 ) ) | 
						
							| 26 | 25 | iftrued | ⊢ ( ( 𝜑  ∧  𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) ) )  →  if ( 𝐽  ≤  ( 𝑁  −  𝑆 ) ,  ( 𝑃 ‘ ( 𝐽  +  𝑆 ) ) ,  ( 𝑃 ‘ ( ( 𝐽  +  𝑆 )  −  𝑁 ) ) )  =  ( 𝑃 ‘ ( 𝐽  +  𝑆 ) ) ) | 
						
							| 27 | 23 26 | eqtrd | ⊢ ( ( 𝜑  ∧  𝐽  ∈  ( 0 ... ( 𝑁  −  𝑆 ) ) )  →  ( 𝑄 ‘ 𝐽 )  =  ( 𝑃 ‘ ( 𝐽  +  𝑆 ) ) ) |