| Step | Hyp | Ref | Expression | 
						
							| 1 |  | fvoveq1 | ⊢ ( 𝑥  =  0  →  ( FermatNo ‘ ( 𝑥  +  1 ) )  =  ( FermatNo ‘ ( 0  +  1 ) ) ) | 
						
							| 2 |  | oveq2 | ⊢ ( 𝑥  =  0  →  ( 0 ... 𝑥 )  =  ( 0 ... 0 ) ) | 
						
							| 3 | 2 | prodeq1d | ⊢ ( 𝑥  =  0  →  ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  =  ∏ 𝑛  ∈  ( 0 ... 0 ) ( FermatNo ‘ 𝑛 ) ) | 
						
							| 4 | 3 | oveq1d | ⊢ ( 𝑥  =  0  →  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  =  ( ∏ 𝑛  ∈  ( 0 ... 0 ) ( FermatNo ‘ 𝑛 )  +  2 ) ) | 
						
							| 5 | 1 4 | eqeq12d | ⊢ ( 𝑥  =  0  →  ( ( FermatNo ‘ ( 𝑥  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  ↔  ( FermatNo ‘ ( 0  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 0 ) ( FermatNo ‘ 𝑛 )  +  2 ) ) ) | 
						
							| 6 |  | fvoveq1 | ⊢ ( 𝑥  =  𝑦  →  ( FermatNo ‘ ( 𝑥  +  1 ) )  =  ( FermatNo ‘ ( 𝑦  +  1 ) ) ) | 
						
							| 7 |  | oveq2 | ⊢ ( 𝑥  =  𝑦  →  ( 0 ... 𝑥 )  =  ( 0 ... 𝑦 ) ) | 
						
							| 8 | 7 | prodeq1d | ⊢ ( 𝑥  =  𝑦  →  ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  =  ∏ 𝑛  ∈  ( 0 ... 𝑦 ) ( FermatNo ‘ 𝑛 ) ) | 
						
							| 9 | 8 | oveq1d | ⊢ ( 𝑥  =  𝑦  →  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑦 ) ( FermatNo ‘ 𝑛 )  +  2 ) ) | 
						
							| 10 | 6 9 | eqeq12d | ⊢ ( 𝑥  =  𝑦  →  ( ( FermatNo ‘ ( 𝑥  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  ↔  ( FermatNo ‘ ( 𝑦  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑦 ) ( FermatNo ‘ 𝑛 )  +  2 ) ) ) | 
						
							| 11 |  | fvoveq1 | ⊢ ( 𝑥  =  ( 𝑦  +  1 )  →  ( FermatNo ‘ ( 𝑥  +  1 ) )  =  ( FermatNo ‘ ( ( 𝑦  +  1 )  +  1 ) ) ) | 
						
							| 12 |  | oveq2 | ⊢ ( 𝑥  =  ( 𝑦  +  1 )  →  ( 0 ... 𝑥 )  =  ( 0 ... ( 𝑦  +  1 ) ) ) | 
						
							| 13 | 12 | prodeq1d | ⊢ ( 𝑥  =  ( 𝑦  +  1 )  →  ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  =  ∏ 𝑛  ∈  ( 0 ... ( 𝑦  +  1 ) ) ( FermatNo ‘ 𝑛 ) ) | 
						
							| 14 | 13 | oveq1d | ⊢ ( 𝑥  =  ( 𝑦  +  1 )  →  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  =  ( ∏ 𝑛  ∈  ( 0 ... ( 𝑦  +  1 ) ) ( FermatNo ‘ 𝑛 )  +  2 ) ) | 
						
							| 15 | 11 14 | eqeq12d | ⊢ ( 𝑥  =  ( 𝑦  +  1 )  →  ( ( FermatNo ‘ ( 𝑥  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  ↔  ( FermatNo ‘ ( ( 𝑦  +  1 )  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... ( 𝑦  +  1 ) ) ( FermatNo ‘ 𝑛 )  +  2 ) ) ) | 
						
							| 16 |  | fvoveq1 | ⊢ ( 𝑥  =  𝑁  →  ( FermatNo ‘ ( 𝑥  +  1 ) )  =  ( FermatNo ‘ ( 𝑁  +  1 ) ) ) | 
						
							| 17 |  | oveq2 | ⊢ ( 𝑥  =  𝑁  →  ( 0 ... 𝑥 )  =  ( 0 ... 𝑁 ) ) | 
						
							| 18 |  | prodeq1 | ⊢ ( ( 0 ... 𝑥 )  =  ( 0 ... 𝑁 )  →  ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  =  ∏ 𝑛  ∈  ( 0 ... 𝑁 ) ( FermatNo ‘ 𝑛 ) ) | 
						
							| 19 | 18 | oveq1d | ⊢ ( ( 0 ... 𝑥 )  =  ( 0 ... 𝑁 )  →  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑁 ) ( FermatNo ‘ 𝑛 )  +  2 ) ) | 
						
							| 20 | 17 19 | syl | ⊢ ( 𝑥  =  𝑁  →  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑁 ) ( FermatNo ‘ 𝑛 )  +  2 ) ) | 
						
							| 21 | 16 20 | eqeq12d | ⊢ ( 𝑥  =  𝑁  →  ( ( FermatNo ‘ ( 𝑥  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑥 ) ( FermatNo ‘ 𝑛 )  +  2 )  ↔  ( FermatNo ‘ ( 𝑁  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑁 ) ( FermatNo ‘ 𝑛 )  +  2 ) ) ) | 
						
							| 22 |  | fmtno0 | ⊢ ( FermatNo ‘ 0 )  =  3 | 
						
							| 23 | 22 | oveq1i | ⊢ ( ( FermatNo ‘ 0 )  +  2 )  =  ( 3  +  2 ) | 
						
							| 24 |  | 3p2e5 | ⊢ ( 3  +  2 )  =  5 | 
						
							| 25 | 23 24 | eqtri | ⊢ ( ( FermatNo ‘ 0 )  +  2 )  =  5 | 
						
							| 26 |  | fz0sn | ⊢ ( 0 ... 0 )  =  { 0 } | 
						
							| 27 | 26 | prodeq1i | ⊢ ∏ 𝑛  ∈  ( 0 ... 0 ) ( FermatNo ‘ 𝑛 )  =  ∏ 𝑛  ∈  { 0 } ( FermatNo ‘ 𝑛 ) | 
						
							| 28 |  | 0z | ⊢ 0  ∈  ℤ | 
						
							| 29 |  | 0nn0 | ⊢ 0  ∈  ℕ0 | 
						
							| 30 |  | fmtnonn | ⊢ ( 0  ∈  ℕ0  →  ( FermatNo ‘ 0 )  ∈  ℕ ) | 
						
							| 31 | 30 | nncnd | ⊢ ( 0  ∈  ℕ0  →  ( FermatNo ‘ 0 )  ∈  ℂ ) | 
						
							| 32 | 29 31 | ax-mp | ⊢ ( FermatNo ‘ 0 )  ∈  ℂ | 
						
							| 33 |  | fveq2 | ⊢ ( 𝑛  =  0  →  ( FermatNo ‘ 𝑛 )  =  ( FermatNo ‘ 0 ) ) | 
						
							| 34 | 33 | prodsn | ⊢ ( ( 0  ∈  ℤ  ∧  ( FermatNo ‘ 0 )  ∈  ℂ )  →  ∏ 𝑛  ∈  { 0 } ( FermatNo ‘ 𝑛 )  =  ( FermatNo ‘ 0 ) ) | 
						
							| 35 | 28 32 34 | mp2an | ⊢ ∏ 𝑛  ∈  { 0 } ( FermatNo ‘ 𝑛 )  =  ( FermatNo ‘ 0 ) | 
						
							| 36 | 27 35 | eqtri | ⊢ ∏ 𝑛  ∈  ( 0 ... 0 ) ( FermatNo ‘ 𝑛 )  =  ( FermatNo ‘ 0 ) | 
						
							| 37 | 36 | oveq1i | ⊢ ( ∏ 𝑛  ∈  ( 0 ... 0 ) ( FermatNo ‘ 𝑛 )  +  2 )  =  ( ( FermatNo ‘ 0 )  +  2 ) | 
						
							| 38 |  | 0p1e1 | ⊢ ( 0  +  1 )  =  1 | 
						
							| 39 | 38 | fveq2i | ⊢ ( FermatNo ‘ ( 0  +  1 ) )  =  ( FermatNo ‘ 1 ) | 
						
							| 40 |  | fmtno1 | ⊢ ( FermatNo ‘ 1 )  =  5 | 
						
							| 41 | 39 40 | eqtri | ⊢ ( FermatNo ‘ ( 0  +  1 ) )  =  5 | 
						
							| 42 | 25 37 41 | 3eqtr4ri | ⊢ ( FermatNo ‘ ( 0  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 0 ) ( FermatNo ‘ 𝑛 )  +  2 ) | 
						
							| 43 |  | fmtnorec2lem | ⊢ ( 𝑦  ∈  ℕ0  →  ( ( FermatNo ‘ ( 𝑦  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑦 ) ( FermatNo ‘ 𝑛 )  +  2 )  →  ( FermatNo ‘ ( ( 𝑦  +  1 )  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... ( 𝑦  +  1 ) ) ( FermatNo ‘ 𝑛 )  +  2 ) ) ) | 
						
							| 44 | 5 10 15 21 42 43 | nn0ind | ⊢ ( 𝑁  ∈  ℕ0  →  ( FermatNo ‘ ( 𝑁  +  1 ) )  =  ( ∏ 𝑛  ∈  ( 0 ... 𝑁 ) ( FermatNo ‘ 𝑛 )  +  2 ) ) |