| Step | Hyp | Ref | Expression | 
						
							| 1 |  | 4sq.1 | ⊢ 𝑆  =  { 𝑛  ∣  ∃ 𝑥  ∈  ℤ ∃ 𝑦  ∈  ℤ ∃ 𝑧  ∈  ℤ ∃ 𝑤  ∈  ℤ 𝑛  =  ( ( ( 𝑥 ↑ 2 )  +  ( 𝑦 ↑ 2 ) )  +  ( ( 𝑧 ↑ 2 )  +  ( 𝑤 ↑ 2 ) ) ) } | 
						
							| 2 |  | 4sq.2 | ⊢ ( 𝜑  →  𝑁  ∈  ℕ ) | 
						
							| 3 |  | 4sq.3 | ⊢ ( 𝜑  →  𝑃  =  ( ( 2  ·  𝑁 )  +  1 ) ) | 
						
							| 4 |  | 4sq.4 | ⊢ ( 𝜑  →  𝑃  ∈  ℙ ) | 
						
							| 5 |  | 4sqlem11.5 | ⊢ 𝐴  =  { 𝑢  ∣  ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑢  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 ) } | 
						
							| 6 |  | 4sqlem11.6 | ⊢ 𝐹  =  ( 𝑣  ∈  𝐴  ↦  ( ( 𝑃  −  1 )  −  𝑣 ) ) | 
						
							| 7 | 1 2 3 4 5 6 | 4sqlem11 | ⊢ ( 𝜑  →  ( 𝐴  ∩  ran  𝐹 )  ≠  ∅ ) | 
						
							| 8 |  | n0 | ⊢ ( ( 𝐴  ∩  ran  𝐹 )  ≠  ∅  ↔  ∃ 𝑗 𝑗  ∈  ( 𝐴  ∩  ran  𝐹 ) ) | 
						
							| 9 | 7 8 | sylib | ⊢ ( 𝜑  →  ∃ 𝑗 𝑗  ∈  ( 𝐴  ∩  ran  𝐹 ) ) | 
						
							| 10 |  | vex | ⊢ 𝑗  ∈  V | 
						
							| 11 |  | eqeq1 | ⊢ ( 𝑢  =  𝑗  →  ( 𝑢  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ↔  𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 12 | 11 | rexbidv | ⊢ ( 𝑢  =  𝑗  →  ( ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑢  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ↔  ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 13 | 10 12 5 | elab2 | ⊢ ( 𝑗  ∈  𝐴  ↔  ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 ) ) | 
						
							| 14 |  | abid | ⊢ ( 𝑗  ∈  { 𝑗  ∣  ∃ 𝑣  ∈  𝐴 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) }  ↔  ∃ 𝑣  ∈  𝐴 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) | 
						
							| 15 | 5 | rexeqi | ⊢ ( ∃ 𝑣  ∈  𝐴 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 )  ↔  ∃ 𝑣  ∈  { 𝑢  ∣  ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑢  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 ) } 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) | 
						
							| 16 |  | oveq1 | ⊢ ( 𝑚  =  𝑛  →  ( 𝑚 ↑ 2 )  =  ( 𝑛 ↑ 2 ) ) | 
						
							| 17 | 16 | oveq1d | ⊢ ( 𝑚  =  𝑛  →  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) | 
						
							| 18 | 17 | eqeq2d | ⊢ ( 𝑚  =  𝑛  →  ( 𝑢  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ↔  𝑢  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 19 | 18 | cbvrexvw | ⊢ ( ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑢  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ↔  ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑢  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) | 
						
							| 20 |  | eqeq1 | ⊢ ( 𝑢  =  𝑣  →  ( 𝑢  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ↔  𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 21 | 20 | rexbidv | ⊢ ( 𝑢  =  𝑣  →  ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑢  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ↔  ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 22 | 19 21 | bitrid | ⊢ ( 𝑢  =  𝑣  →  ( ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑢  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ↔  ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 23 | 22 | rexab | ⊢ ( ∃ 𝑣  ∈  { 𝑢  ∣  ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑢  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 ) } 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 )  ↔  ∃ 𝑣 ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) ) | 
						
							| 24 | 14 15 23 | 3bitri | ⊢ ( 𝑗  ∈  { 𝑗  ∣  ∃ 𝑣  ∈  𝐴 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) }  ↔  ∃ 𝑣 ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) ) | 
						
							| 25 | 6 | rnmpt | ⊢ ran  𝐹  =  { 𝑗  ∣  ∃ 𝑣  ∈  𝐴 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) } | 
						
							| 26 | 25 | eleq2i | ⊢ ( 𝑗  ∈  ran  𝐹  ↔  𝑗  ∈  { 𝑗  ∣  ∃ 𝑣  ∈  𝐴 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) } ) | 
						
							| 27 |  | rexcom4 | ⊢ ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ∃ 𝑣 ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) )  ↔  ∃ 𝑣 ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) ) | 
						
							| 28 |  | r19.41v | ⊢ ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) )  ↔  ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) ) | 
						
							| 29 | 28 | exbii | ⊢ ( ∃ 𝑣 ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) )  ↔  ∃ 𝑣 ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) ) | 
						
							| 30 | 27 29 | bitri | ⊢ ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ∃ 𝑣 ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) )  ↔  ∃ 𝑣 ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) ) | 
						
							| 31 | 24 26 30 | 3bitr4i | ⊢ ( 𝑗  ∈  ran  𝐹  ↔  ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ∃ 𝑣 ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) ) ) | 
						
							| 32 |  | ovex | ⊢ ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∈  V | 
						
							| 33 |  | oveq2 | ⊢ ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  →  ( ( 𝑃  −  1 )  −  𝑣 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 34 | 33 | eqeq2d | ⊢ ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  →  ( 𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 )  ↔  𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) ) | 
						
							| 35 | 32 34 | ceqsexv | ⊢ ( ∃ 𝑣 ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) )  ↔  𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 36 | 35 | rexbii | ⊢ ( ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ∃ 𝑣 ( 𝑣  =  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  𝑣 ) )  ↔  ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 37 | 31 36 | bitri | ⊢ ( 𝑗  ∈  ran  𝐹  ↔  ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 38 | 13 37 | anbi12i | ⊢ ( ( 𝑗  ∈  𝐴  ∧  𝑗  ∈  ran  𝐹 )  ↔  ( ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ∧  ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) ) | 
						
							| 39 |  | elin | ⊢ ( 𝑗  ∈  ( 𝐴  ∩  ran  𝐹 )  ↔  ( 𝑗  ∈  𝐴  ∧  𝑗  ∈  ran  𝐹 ) ) | 
						
							| 40 |  | reeanv | ⊢ ( ∃ 𝑚  ∈  ( 0 ... 𝑁 ) ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ( 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  ↔  ( ∃ 𝑚  ∈  ( 0 ... 𝑁 ) 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ∧  ∃ 𝑛  ∈  ( 0 ... 𝑁 ) 𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) ) | 
						
							| 41 | 38 39 40 | 3bitr4i | ⊢ ( 𝑗  ∈  ( 𝐴  ∩  ran  𝐹 )  ↔  ∃ 𝑚  ∈  ( 0 ... 𝑁 ) ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ( 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) ) | 
						
							| 42 |  | eqtr2 | ⊢ ( ( 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 43 | 4 | 3ad2ant1 | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∈  ℙ ) | 
						
							| 44 |  | prmnn | ⊢ ( 𝑃  ∈  ℙ  →  𝑃  ∈  ℕ ) | 
						
							| 45 | 43 44 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∈  ℕ ) | 
						
							| 46 |  | nnm1nn0 | ⊢ ( 𝑃  ∈  ℕ  →  ( 𝑃  −  1 )  ∈  ℕ0 ) | 
						
							| 47 | 45 46 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃  −  1 )  ∈  ℕ0 ) | 
						
							| 48 | 47 | nn0red | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃  −  1 )  ∈  ℝ ) | 
						
							| 49 | 45 | nnrpd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∈  ℝ+ ) | 
						
							| 50 | 47 | nn0ge0d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  0  ≤  ( 𝑃  −  1 ) ) | 
						
							| 51 | 45 | nnred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∈  ℝ ) | 
						
							| 52 | 51 | ltm1d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃  −  1 )  <  𝑃 ) | 
						
							| 53 |  | modid | ⊢ ( ( ( ( 𝑃  −  1 )  ∈  ℝ  ∧  𝑃  ∈  ℝ+ )  ∧  ( 0  ≤  ( 𝑃  −  1 )  ∧  ( 𝑃  −  1 )  <  𝑃 ) )  →  ( ( 𝑃  −  1 )  mod  𝑃 )  =  ( 𝑃  −  1 ) ) | 
						
							| 54 | 48 49 50 52 53 | syl22anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑃  −  1 )  mod  𝑃 )  =  ( 𝑃  −  1 ) ) | 
						
							| 55 | 54 | oveq1d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑃  −  1 )  mod  𝑃 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 56 |  | simp2r | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑛  ∈  ( 0 ... 𝑁 ) ) | 
						
							| 57 | 56 | elfzelzd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑛  ∈  ℤ ) | 
						
							| 58 |  | zsqcl2 | ⊢ ( 𝑛  ∈  ℤ  →  ( 𝑛 ↑ 2 )  ∈  ℕ0 ) | 
						
							| 59 | 57 58 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑛 ↑ 2 )  ∈  ℕ0 ) | 
						
							| 60 | 59 | nn0red | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑛 ↑ 2 )  ∈  ℝ ) | 
						
							| 61 |  | modlt | ⊢ ( ( ( 𝑛 ↑ 2 )  ∈  ℝ  ∧  𝑃  ∈  ℝ+ )  →  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  <  𝑃 ) | 
						
							| 62 | 60 49 61 | syl2anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  <  𝑃 ) | 
						
							| 63 |  | zsqcl | ⊢ ( 𝑛  ∈  ℤ  →  ( 𝑛 ↑ 2 )  ∈  ℤ ) | 
						
							| 64 | 57 63 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑛 ↑ 2 )  ∈  ℤ ) | 
						
							| 65 | 64 45 | zmodcld | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∈  ℕ0 ) | 
						
							| 66 | 65 | nn0zd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∈  ℤ ) | 
						
							| 67 |  | prmz | ⊢ ( 𝑃  ∈  ℙ  →  𝑃  ∈  ℤ ) | 
						
							| 68 | 43 67 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∈  ℤ ) | 
						
							| 69 |  | zltlem1 | ⊢ ( ( ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ∈  ℤ  ∧  𝑃  ∈  ℤ )  →  ( ( ( 𝑛 ↑ 2 )  mod  𝑃 )  <  𝑃  ↔  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ≤  ( 𝑃  −  1 ) ) ) | 
						
							| 70 | 66 68 69 | syl2anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑛 ↑ 2 )  mod  𝑃 )  <  𝑃  ↔  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ≤  ( 𝑃  −  1 ) ) ) | 
						
							| 71 | 62 70 | mpbid | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ≤  ( 𝑃  −  1 ) ) | 
						
							| 72 | 71 54 | breqtrrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ≤  ( ( 𝑃  −  1 )  mod  𝑃 ) ) | 
						
							| 73 |  | modsubdir | ⊢ ( ( ( 𝑃  −  1 )  ∈  ℝ  ∧  ( 𝑛 ↑ 2 )  ∈  ℝ  ∧  𝑃  ∈  ℝ+ )  →  ( ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ≤  ( ( 𝑃  −  1 )  mod  𝑃 )  ↔  ( ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) )  mod  𝑃 )  =  ( ( ( 𝑃  −  1 )  mod  𝑃 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) ) | 
						
							| 74 | 48 60 49 73 | syl3anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑛 ↑ 2 )  mod  𝑃 )  ≤  ( ( 𝑃  −  1 )  mod  𝑃 )  ↔  ( ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) )  mod  𝑃 )  =  ( ( ( 𝑃  −  1 )  mod  𝑃 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) ) | 
						
							| 75 | 72 74 | mpbid | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) )  mod  𝑃 )  =  ( ( ( 𝑃  −  1 )  mod  𝑃 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 76 |  | simp3 | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) ) | 
						
							| 77 | 55 75 76 | 3eqtr4rd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) )  mod  𝑃 ) ) | 
						
							| 78 |  | simp2l | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑚  ∈  ( 0 ... 𝑁 ) ) | 
						
							| 79 | 78 | elfzelzd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑚  ∈  ℤ ) | 
						
							| 80 |  | zsqcl | ⊢ ( 𝑚  ∈  ℤ  →  ( 𝑚 ↑ 2 )  ∈  ℤ ) | 
						
							| 81 | 79 80 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑚 ↑ 2 )  ∈  ℤ ) | 
						
							| 82 | 47 | nn0zd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃  −  1 )  ∈  ℤ ) | 
						
							| 83 | 82 64 | zsubcld | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) )  ∈  ℤ ) | 
						
							| 84 |  | moddvds | ⊢ ( ( 𝑃  ∈  ℕ  ∧  ( 𝑚 ↑ 2 )  ∈  ℤ  ∧  ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) )  ∈  ℤ )  →  ( ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) )  mod  𝑃 )  ↔  𝑃  ∥  ( ( 𝑚 ↑ 2 )  −  ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) ) ) ) ) | 
						
							| 85 | 45 81 83 84 | syl3anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) )  mod  𝑃 )  ↔  𝑃  ∥  ( ( 𝑚 ↑ 2 )  −  ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) ) ) ) ) | 
						
							| 86 | 77 85 | mpbid | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∥  ( ( 𝑚 ↑ 2 )  −  ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) ) ) ) | 
						
							| 87 |  | zsqcl2 | ⊢ ( 𝑚  ∈  ℤ  →  ( 𝑚 ↑ 2 )  ∈  ℕ0 ) | 
						
							| 88 | 79 87 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑚 ↑ 2 )  ∈  ℕ0 ) | 
						
							| 89 | 88 | nn0cnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑚 ↑ 2 )  ∈  ℂ ) | 
						
							| 90 | 47 | nn0cnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃  −  1 )  ∈  ℂ ) | 
						
							| 91 | 59 | nn0cnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑛 ↑ 2 )  ∈  ℂ ) | 
						
							| 92 | 89 90 91 | subsub3d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  −  ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) ) )  =  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  −  ( 𝑃  −  1 ) ) ) | 
						
							| 93 | 88 59 | nn0addcld | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  ∈  ℕ0 ) | 
						
							| 94 | 93 | nn0cnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  ∈  ℂ ) | 
						
							| 95 | 45 | nncnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∈  ℂ ) | 
						
							| 96 |  | 1cnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  1  ∈  ℂ ) | 
						
							| 97 | 94 95 96 | subsub3d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  −  ( 𝑃  −  1 ) )  =  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  −  𝑃 ) ) | 
						
							| 98 | 92 97 | eqtrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  −  ( ( 𝑃  −  1 )  −  ( 𝑛 ↑ 2 ) ) )  =  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  −  𝑃 ) ) | 
						
							| 99 | 86 98 | breqtrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∥  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  −  𝑃 ) ) | 
						
							| 100 |  | nn0p1nn | ⊢ ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  ∈  ℕ0  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℕ ) | 
						
							| 101 | 93 100 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℕ ) | 
						
							| 102 | 101 | nnzd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℤ ) | 
						
							| 103 |  | dvdssubr | ⊢ ( ( 𝑃  ∈  ℤ  ∧  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℤ )  →  ( 𝑃  ∥  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ↔  𝑃  ∥  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  −  𝑃 ) ) ) | 
						
							| 104 | 68 102 103 | syl2anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃  ∥  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ↔  𝑃  ∥  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  −  𝑃 ) ) ) | 
						
							| 105 | 99 104 | mpbird | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ∥  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 ) ) | 
						
							| 106 | 45 | nnne0d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  ≠  0 ) | 
						
							| 107 |  | dvdsval2 | ⊢ ( ( 𝑃  ∈  ℤ  ∧  𝑃  ≠  0  ∧  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℤ )  →  ( 𝑃  ∥  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ↔  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℤ ) ) | 
						
							| 108 | 68 106 102 107 | syl3anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃  ∥  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ↔  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℤ ) ) | 
						
							| 109 | 105 108 | mpbid | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℤ ) | 
						
							| 110 |  | nnrp | ⊢ ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℕ  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℝ+ ) | 
						
							| 111 |  | nnrp | ⊢ ( 𝑃  ∈  ℕ  →  𝑃  ∈  ℝ+ ) | 
						
							| 112 |  | rpdivcl | ⊢ ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℝ+  ∧  𝑃  ∈  ℝ+ )  →  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℝ+ ) | 
						
							| 113 | 110 111 112 | syl2an | ⊢ ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℕ  ∧  𝑃  ∈  ℕ )  →  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℝ+ ) | 
						
							| 114 | 101 45 113 | syl2anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℝ+ ) | 
						
							| 115 | 114 | rpgt0d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  0  <  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 ) ) | 
						
							| 116 |  | elnnz | ⊢ ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℕ  ↔  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℤ  ∧  0  <  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 ) ) ) | 
						
							| 117 | 109 115 116 | sylanbrc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℕ ) | 
						
							| 118 | 117 | nnge1d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  1  ≤  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 ) ) | 
						
							| 119 | 93 | nn0red | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  ∈  ℝ ) | 
						
							| 120 |  | 2nn | ⊢ 2  ∈  ℕ | 
						
							| 121 | 2 | 3ad2ant1 | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑁  ∈  ℕ ) | 
						
							| 122 |  | nnmulcl | ⊢ ( ( 2  ∈  ℕ  ∧  𝑁  ∈  ℕ )  →  ( 2  ·  𝑁 )  ∈  ℕ ) | 
						
							| 123 | 120 121 122 | sylancr | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  𝑁 )  ∈  ℕ ) | 
						
							| 124 | 123 | nnred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  𝑁 )  ∈  ℝ ) | 
						
							| 125 | 124 | resqcld | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 2  ·  𝑁 ) ↑ 2 )  ∈  ℝ ) | 
						
							| 126 |  | nnmulcl | ⊢ ( ( 2  ∈  ℕ  ∧  ( 2  ·  𝑁 )  ∈  ℕ )  →  ( 2  ·  ( 2  ·  𝑁 ) )  ∈  ℕ ) | 
						
							| 127 | 120 123 126 | sylancr | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  ( 2  ·  𝑁 ) )  ∈  ℕ ) | 
						
							| 128 | 127 | nnred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  ( 2  ·  𝑁 ) )  ∈  ℝ ) | 
						
							| 129 | 125 128 | readdcld | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 2  ·  𝑁 ) ↑ 2 )  +  ( 2  ·  ( 2  ·  𝑁 ) ) )  ∈  ℝ ) | 
						
							| 130 |  | 1red | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  1  ∈  ℝ ) | 
						
							| 131 | 121 | nnsqcld | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑁 ↑ 2 )  ∈  ℕ ) | 
						
							| 132 |  | nnmulcl | ⊢ ( ( 2  ∈  ℕ  ∧  ( 𝑁 ↑ 2 )  ∈  ℕ )  →  ( 2  ·  ( 𝑁 ↑ 2 ) )  ∈  ℕ ) | 
						
							| 133 | 120 131 132 | sylancr | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  ( 𝑁 ↑ 2 ) )  ∈  ℕ ) | 
						
							| 134 | 133 | nnred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  ( 𝑁 ↑ 2 ) )  ∈  ℝ ) | 
						
							| 135 | 88 | nn0red | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑚 ↑ 2 )  ∈  ℝ ) | 
						
							| 136 | 131 | nnred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑁 ↑ 2 )  ∈  ℝ ) | 
						
							| 137 | 79 | zred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑚  ∈  ℝ ) | 
						
							| 138 |  | elfzle1 | ⊢ ( 𝑚  ∈  ( 0 ... 𝑁 )  →  0  ≤  𝑚 ) | 
						
							| 139 | 78 138 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  0  ≤  𝑚 ) | 
						
							| 140 | 121 | nnred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑁  ∈  ℝ ) | 
						
							| 141 |  | elfzle2 | ⊢ ( 𝑚  ∈  ( 0 ... 𝑁 )  →  𝑚  ≤  𝑁 ) | 
						
							| 142 | 78 141 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑚  ≤  𝑁 ) | 
						
							| 143 |  | le2sq2 | ⊢ ( ( ( 𝑚  ∈  ℝ  ∧  0  ≤  𝑚 )  ∧  ( 𝑁  ∈  ℝ  ∧  𝑚  ≤  𝑁 ) )  →  ( 𝑚 ↑ 2 )  ≤  ( 𝑁 ↑ 2 ) ) | 
						
							| 144 | 137 139 140 142 143 | syl22anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑚 ↑ 2 )  ≤  ( 𝑁 ↑ 2 ) ) | 
						
							| 145 | 57 | zred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑛  ∈  ℝ ) | 
						
							| 146 |  | elfzle1 | ⊢ ( 𝑛  ∈  ( 0 ... 𝑁 )  →  0  ≤  𝑛 ) | 
						
							| 147 | 56 146 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  0  ≤  𝑛 ) | 
						
							| 148 |  | elfzle2 | ⊢ ( 𝑛  ∈  ( 0 ... 𝑁 )  →  𝑛  ≤  𝑁 ) | 
						
							| 149 | 56 148 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑛  ≤  𝑁 ) | 
						
							| 150 |  | le2sq2 | ⊢ ( ( ( 𝑛  ∈  ℝ  ∧  0  ≤  𝑛 )  ∧  ( 𝑁  ∈  ℝ  ∧  𝑛  ≤  𝑁 ) )  →  ( 𝑛 ↑ 2 )  ≤  ( 𝑁 ↑ 2 ) ) | 
						
							| 151 | 145 147 140 149 150 | syl22anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑛 ↑ 2 )  ≤  ( 𝑁 ↑ 2 ) ) | 
						
							| 152 | 135 60 136 136 144 151 | le2addd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  ≤  ( ( 𝑁 ↑ 2 )  +  ( 𝑁 ↑ 2 ) ) ) | 
						
							| 153 | 131 | nncnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑁 ↑ 2 )  ∈  ℂ ) | 
						
							| 154 | 153 | 2timesd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  ( 𝑁 ↑ 2 ) )  =  ( ( 𝑁 ↑ 2 )  +  ( 𝑁 ↑ 2 ) ) ) | 
						
							| 155 | 152 154 | breqtrrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  ≤  ( 2  ·  ( 𝑁 ↑ 2 ) ) ) | 
						
							| 156 |  | 2lt4 | ⊢ 2  <  4 | 
						
							| 157 |  | 2re | ⊢ 2  ∈  ℝ | 
						
							| 158 | 157 | a1i | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  2  ∈  ℝ ) | 
						
							| 159 |  | 4re | ⊢ 4  ∈  ℝ | 
						
							| 160 | 159 | a1i | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  4  ∈  ℝ ) | 
						
							| 161 | 131 | nngt0d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  0  <  ( 𝑁 ↑ 2 ) ) | 
						
							| 162 |  | ltmul1 | ⊢ ( ( 2  ∈  ℝ  ∧  4  ∈  ℝ  ∧  ( ( 𝑁 ↑ 2 )  ∈  ℝ  ∧  0  <  ( 𝑁 ↑ 2 ) ) )  →  ( 2  <  4  ↔  ( 2  ·  ( 𝑁 ↑ 2 ) )  <  ( 4  ·  ( 𝑁 ↑ 2 ) ) ) ) | 
						
							| 163 | 158 160 136 161 162 | syl112anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  <  4  ↔  ( 2  ·  ( 𝑁 ↑ 2 ) )  <  ( 4  ·  ( 𝑁 ↑ 2 ) ) ) ) | 
						
							| 164 | 156 163 | mpbii | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  ( 𝑁 ↑ 2 ) )  <  ( 4  ·  ( 𝑁 ↑ 2 ) ) ) | 
						
							| 165 |  | 2cn | ⊢ 2  ∈  ℂ | 
						
							| 166 | 121 | nncnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑁  ∈  ℂ ) | 
						
							| 167 |  | sqmul | ⊢ ( ( 2  ∈  ℂ  ∧  𝑁  ∈  ℂ )  →  ( ( 2  ·  𝑁 ) ↑ 2 )  =  ( ( 2 ↑ 2 )  ·  ( 𝑁 ↑ 2 ) ) ) | 
						
							| 168 | 165 166 167 | sylancr | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 2  ·  𝑁 ) ↑ 2 )  =  ( ( 2 ↑ 2 )  ·  ( 𝑁 ↑ 2 ) ) ) | 
						
							| 169 |  | sq2 | ⊢ ( 2 ↑ 2 )  =  4 | 
						
							| 170 | 169 | oveq1i | ⊢ ( ( 2 ↑ 2 )  ·  ( 𝑁 ↑ 2 ) )  =  ( 4  ·  ( 𝑁 ↑ 2 ) ) | 
						
							| 171 | 168 170 | eqtrdi | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 2  ·  𝑁 ) ↑ 2 )  =  ( 4  ·  ( 𝑁 ↑ 2 ) ) ) | 
						
							| 172 | 164 171 | breqtrrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  ( 𝑁 ↑ 2 ) )  <  ( ( 2  ·  𝑁 ) ↑ 2 ) ) | 
						
							| 173 | 119 134 125 155 172 | lelttrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  <  ( ( 2  ·  𝑁 ) ↑ 2 ) ) | 
						
							| 174 | 127 | nnrpd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  ( 2  ·  𝑁 ) )  ∈  ℝ+ ) | 
						
							| 175 | 125 174 | ltaddrpd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 2  ·  𝑁 ) ↑ 2 )  <  ( ( ( 2  ·  𝑁 ) ↑ 2 )  +  ( 2  ·  ( 2  ·  𝑁 ) ) ) ) | 
						
							| 176 | 119 125 129 173 175 | lttrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  <  ( ( ( 2  ·  𝑁 ) ↑ 2 )  +  ( 2  ·  ( 2  ·  𝑁 ) ) ) ) | 
						
							| 177 | 119 129 130 176 | ltadd1dd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  <  ( ( ( ( 2  ·  𝑁 ) ↑ 2 )  +  ( 2  ·  ( 2  ·  𝑁 ) ) )  +  1 ) ) | 
						
							| 178 | 3 | 3ad2ant1 | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  𝑃  =  ( ( 2  ·  𝑁 )  +  1 ) ) | 
						
							| 179 | 178 | oveq1d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃 ↑ 2 )  =  ( ( ( 2  ·  𝑁 )  +  1 ) ↑ 2 ) ) | 
						
							| 180 | 95 | sqvald | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃 ↑ 2 )  =  ( 𝑃  ·  𝑃 ) ) | 
						
							| 181 | 123 | nncnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 2  ·  𝑁 )  ∈  ℂ ) | 
						
							| 182 |  | binom21 | ⊢ ( ( 2  ·  𝑁 )  ∈  ℂ  →  ( ( ( 2  ·  𝑁 )  +  1 ) ↑ 2 )  =  ( ( ( ( 2  ·  𝑁 ) ↑ 2 )  +  ( 2  ·  ( 2  ·  𝑁 ) ) )  +  1 ) ) | 
						
							| 183 | 181 182 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 2  ·  𝑁 )  +  1 ) ↑ 2 )  =  ( ( ( ( 2  ·  𝑁 ) ↑ 2 )  +  ( 2  ·  ( 2  ·  𝑁 ) ) )  +  1 ) ) | 
						
							| 184 | 179 180 183 | 3eqtr3d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑃  ·  𝑃 )  =  ( ( ( ( 2  ·  𝑁 ) ↑ 2 )  +  ( 2  ·  ( 2  ·  𝑁 ) ) )  +  1 ) ) | 
						
							| 185 | 177 184 | breqtrrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  <  ( 𝑃  ·  𝑃 ) ) | 
						
							| 186 | 101 | nnred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℝ ) | 
						
							| 187 | 45 | nngt0d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  0  <  𝑃 ) | 
						
							| 188 |  | ltdivmul | ⊢ ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℝ  ∧  𝑃  ∈  ℝ  ∧  ( 𝑃  ∈  ℝ  ∧  0  <  𝑃 ) )  →  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  <  𝑃  ↔  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  <  ( 𝑃  ·  𝑃 ) ) ) | 
						
							| 189 | 186 51 51 187 188 | syl112anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  <  𝑃  ↔  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  <  ( 𝑃  ·  𝑃 ) ) ) | 
						
							| 190 | 185 189 | mpbird | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  <  𝑃 ) | 
						
							| 191 |  | 1z | ⊢ 1  ∈  ℤ | 
						
							| 192 |  | elfzm11 | ⊢ ( ( 1  ∈  ℤ  ∧  𝑃  ∈  ℤ )  →  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ( 1 ... ( 𝑃  −  1 ) )  ↔  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℤ  ∧  1  ≤  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∧  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  <  𝑃 ) ) ) | 
						
							| 193 | 191 68 192 | sylancr | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ( 1 ... ( 𝑃  −  1 ) )  ↔  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ℤ  ∧  1  ≤  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∧  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  <  𝑃 ) ) ) | 
						
							| 194 | 109 118 190 193 | mpbir3and | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ( 1 ... ( 𝑃  −  1 ) ) ) | 
						
							| 195 |  | gzreim | ⊢ ( ( 𝑚  ∈  ℤ  ∧  𝑛  ∈  ℤ )  →  ( 𝑚  +  ( i  ·  𝑛 ) )  ∈  ℤ[i] ) | 
						
							| 196 | 79 57 195 | syl2anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑚  +  ( i  ·  𝑛 ) )  ∈  ℤ[i] ) | 
						
							| 197 |  | gzcn | ⊢ ( ( 𝑚  +  ( i  ·  𝑛 ) )  ∈  ℤ[i]  →  ( 𝑚  +  ( i  ·  𝑛 ) )  ∈  ℂ ) | 
						
							| 198 | 196 197 | syl | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( 𝑚  +  ( i  ·  𝑛 ) )  ∈  ℂ ) | 
						
							| 199 | 198 | absvalsq2d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  =  ( ( ( ℜ ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  +  ( ( ℑ ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 ) ) ) | 
						
							| 200 | 137 145 | crred | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ℜ ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) )  =  𝑚 ) | 
						
							| 201 | 200 | oveq1d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ℜ ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  =  ( 𝑚 ↑ 2 ) ) | 
						
							| 202 | 137 145 | crimd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ℑ ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) )  =  𝑛 ) | 
						
							| 203 | 202 | oveq1d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ℑ ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  =  ( 𝑛 ↑ 2 ) ) | 
						
							| 204 | 201 203 | oveq12d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ℜ ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  +  ( ( ℑ ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 ) )  =  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) ) ) | 
						
							| 205 | 199 204 | eqtrd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  =  ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) ) ) | 
						
							| 206 | 205 | oveq1d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  +  1 )  =  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 ) ) | 
						
							| 207 | 101 | nncnd | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  ∈  ℂ ) | 
						
							| 208 | 207 95 106 | divcan1d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ·  𝑃 )  =  ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 ) ) | 
						
							| 209 | 206 208 | eqtr4d | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ( ( ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  +  1 )  =  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ·  𝑃 ) ) | 
						
							| 210 |  | oveq1 | ⊢ ( 𝑘  =  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  →  ( 𝑘  ·  𝑃 )  =  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ·  𝑃 ) ) | 
						
							| 211 | 210 | eqeq2d | ⊢ ( 𝑘  =  ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  →  ( ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 )  ↔  ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ·  𝑃 ) ) ) | 
						
							| 212 |  | fveq2 | ⊢ ( 𝑢  =  ( 𝑚  +  ( i  ·  𝑛 ) )  →  ( abs ‘ 𝑢 )  =  ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ) | 
						
							| 213 | 212 | oveq1d | ⊢ ( 𝑢  =  ( 𝑚  +  ( i  ·  𝑛 ) )  →  ( ( abs ‘ 𝑢 ) ↑ 2 )  =  ( ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 ) ) | 
						
							| 214 | 213 | oveq1d | ⊢ ( 𝑢  =  ( 𝑚  +  ( i  ·  𝑛 ) )  →  ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( ( ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  +  1 ) ) | 
						
							| 215 | 214 | eqeq1d | ⊢ ( 𝑢  =  ( 𝑚  +  ( i  ·  𝑛 ) )  →  ( ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ·  𝑃 )  ↔  ( ( ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  +  1 )  =  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ·  𝑃 ) ) ) | 
						
							| 216 | 211 215 | rspc2ev | ⊢ ( ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ∈  ( 1 ... ( 𝑃  −  1 ) )  ∧  ( 𝑚  +  ( i  ·  𝑛 ) )  ∈  ℤ[i]  ∧  ( ( ( abs ‘ ( 𝑚  +  ( i  ·  𝑛 ) ) ) ↑ 2 )  +  1 )  =  ( ( ( ( ( 𝑚 ↑ 2 )  +  ( 𝑛 ↑ 2 ) )  +  1 )  /  𝑃 )  ·  𝑃 ) )  →  ∃ 𝑘  ∈  ( 1 ... ( 𝑃  −  1 ) ) ∃ 𝑢  ∈  ℤ[i] ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 ) ) | 
						
							| 217 | 194 196 209 216 | syl3anc | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) )  ∧  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ∃ 𝑘  ∈  ( 1 ... ( 𝑃  −  1 ) ) ∃ 𝑢  ∈  ℤ[i] ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 ) ) | 
						
							| 218 | 217 | 3expia | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) ) )  →  ( ( ( 𝑚 ↑ 2 )  mod  𝑃 )  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) )  →  ∃ 𝑘  ∈  ( 1 ... ( 𝑃  −  1 ) ) ∃ 𝑢  ∈  ℤ[i] ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 ) ) ) | 
						
							| 219 | 42 218 | syl5 | ⊢ ( ( 𝜑  ∧  ( 𝑚  ∈  ( 0 ... 𝑁 )  ∧  𝑛  ∈  ( 0 ... 𝑁 ) ) )  →  ( ( 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ∃ 𝑘  ∈  ( 1 ... ( 𝑃  −  1 ) ) ∃ 𝑢  ∈  ℤ[i] ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 ) ) ) | 
						
							| 220 | 219 | rexlimdvva | ⊢ ( 𝜑  →  ( ∃ 𝑚  ∈  ( 0 ... 𝑁 ) ∃ 𝑛  ∈  ( 0 ... 𝑁 ) ( 𝑗  =  ( ( 𝑚 ↑ 2 )  mod  𝑃 )  ∧  𝑗  =  ( ( 𝑃  −  1 )  −  ( ( 𝑛 ↑ 2 )  mod  𝑃 ) ) )  →  ∃ 𝑘  ∈  ( 1 ... ( 𝑃  −  1 ) ) ∃ 𝑢  ∈  ℤ[i] ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 ) ) ) | 
						
							| 221 | 41 220 | biimtrid | ⊢ ( 𝜑  →  ( 𝑗  ∈  ( 𝐴  ∩  ran  𝐹 )  →  ∃ 𝑘  ∈  ( 1 ... ( 𝑃  −  1 ) ) ∃ 𝑢  ∈  ℤ[i] ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 ) ) ) | 
						
							| 222 | 221 | exlimdv | ⊢ ( 𝜑  →  ( ∃ 𝑗 𝑗  ∈  ( 𝐴  ∩  ran  𝐹 )  →  ∃ 𝑘  ∈  ( 1 ... ( 𝑃  −  1 ) ) ∃ 𝑢  ∈  ℤ[i] ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 ) ) ) | 
						
							| 223 | 9 222 | mpd | ⊢ ( 𝜑  →  ∃ 𝑘  ∈  ( 1 ... ( 𝑃  −  1 ) ) ∃ 𝑢  ∈  ℤ[i] ( ( ( abs ‘ 𝑢 ) ↑ 2 )  +  1 )  =  ( 𝑘  ·  𝑃 ) ) |