Metamath Proof Explorer


Theorem 2sqnn0

Description: All primes of the form 4 k + 1 are sums of squares of two nonnegative integers. (Contributed by AV, 3-Jun-2023)

Ref Expression
Assertion 2sqnn0 ⊢ P ∈ ℙ ∧ P mod 4 = 1 → ∃ x ∈ ℕ 0 ∃ y ∈ ℕ 0 P = x 2 + y 2

Proof

Step Hyp Ref Expression
1 2sq ⊢ P ∈ ℙ ∧ P mod 4 = 1 → ∃ a ∈ ℤ ∃ b ∈ ℤ P = a 2 + b 2
2 oveq1 ⊢ x = if 0 ≤ a a − a → x 2 = if 0 ≤ a a − a 2
3 2 oveq1d ⊢ x = if 0 ≤ a a − a → x 2 + y 2 = if 0 ≤ a a − a 2 + y 2
4 3 eqeq2d ⊢ x = if 0 ≤ a a − a → P = x 2 + y 2 ↔ P = if 0 ≤ a a − a 2 + y 2
5 oveq1 ⊢ y = if 0 ≤ b b − b → y 2 = if 0 ≤ b b − b 2
6 5 oveq2d ⊢ y = if 0 ≤ b b − b → if 0 ≤ a a − a 2 + y 2 = if 0 ≤ a a − a 2 + if 0 ≤ b b − b 2
7 6 eqeq2d ⊢ y = if 0 ≤ b b − b → P = if 0 ≤ a a − a 2 + y 2 ↔ P = if 0 ≤ a a − a 2 + if 0 ≤ b b − b 2
8 elnn0z ⊢ a ∈ ℕ 0 ↔ a ∈ ℤ ∧ 0 ≤ a
9 8 biimpri ⊢ a ∈ ℤ ∧ 0 ≤ a → a ∈ ℕ 0
10 elznn0 ⊢ a ∈ ℤ ↔ a ∈ ℝ ∧ a ∈ ℕ 0 ∨ − a ∈ ℕ 0
11 nn0ge0 ⊢ a ∈ ℕ 0 → 0 ≤ a
12 11 pm2.24d ⊢ a ∈ ℕ 0 → ¬ 0 ≤ a → − a ∈ ℕ 0
13 12 a1i ⊢ a ∈ ℝ → a ∈ ℕ 0 → ¬ 0 ≤ a → − a ∈ ℕ 0
14 ax1w ⊢ a ∈ ℝ → − a ∈ ℕ 0 → ¬ 0 ≤ a → − a ∈ ℕ 0
15 13 14 jaod ⊢ a ∈ ℝ → a ∈ ℕ 0 ∨ − a ∈ ℕ 0 → ¬ 0 ≤ a → − a ∈ ℕ 0
16 15 imp ⊢ a ∈ ℝ ∧ a ∈ ℕ 0 ∨ − a ∈ ℕ 0 → ¬ 0 ≤ a → − a ∈ ℕ 0
17 10 16 sylbi ⊢ a ∈ ℤ → ¬ 0 ≤ a → − a ∈ ℕ 0
18 17 imp ⊢ a ∈ ℤ ∧ ¬ 0 ≤ a → − a ∈ ℕ 0
19 9 18 ifclda ⊢ a ∈ ℤ → if 0 ≤ a a − a ∈ ℕ 0
20 19 adantr ⊢ a ∈ ℤ ∧ b ∈ ℤ → if 0 ≤ a a − a ∈ ℕ 0
21 20 adantr ⊢ a ∈ ℤ ∧ b ∈ ℤ ∧ P = a 2 + b 2 → if 0 ≤ a a − a ∈ ℕ 0
22 elnn0z ⊢ b ∈ ℕ 0 ↔ b ∈ ℤ ∧ 0 ≤ b
23 22 biimpri ⊢ b ∈ ℤ ∧ 0 ≤ b → b ∈ ℕ 0
24 elznn0 ⊢ b ∈ ℤ ↔ b ∈ ℝ ∧ b ∈ ℕ 0 ∨ − b ∈ ℕ 0
25 nn0ge0 ⊢ b ∈ ℕ 0 → 0 ≤ b
26 25 pm2.24d ⊢ b ∈ ℕ 0 → ¬ 0 ≤ b → − b ∈ ℕ 0
27 26 a1i ⊢ b ∈ ℝ → b ∈ ℕ 0 → ¬ 0 ≤ b → − b ∈ ℕ 0
28 ax1w ⊢ b ∈ ℝ → − b ∈ ℕ 0 → ¬ 0 ≤ b → − b ∈ ℕ 0
29 27 28 jaod ⊢ b ∈ ℝ → b ∈ ℕ 0 ∨ − b ∈ ℕ 0 → ¬ 0 ≤ b → − b ∈ ℕ 0
30 29 imp ⊢ b ∈ ℝ ∧ b ∈ ℕ 0 ∨ − b ∈ ℕ 0 → ¬ 0 ≤ b → − b ∈ ℕ 0
31 24 30 sylbi ⊢ b ∈ ℤ → ¬ 0 ≤ b → − b ∈ ℕ 0
32 31 imp ⊢ b ∈ ℤ ∧ ¬ 0 ≤ b → − b ∈ ℕ 0
33 23 32 ifclda ⊢ b ∈ ℤ → if 0 ≤ b b − b ∈ ℕ 0
34 33 ad2antlr ⊢ a ∈ ℤ ∧ b ∈ ℤ ∧ P = a 2 + b 2 → if 0 ≤ b b − b ∈ ℕ 0
35 elznn0nn ⊢ a ∈ ℤ ↔ a ∈ ℕ 0 ∨ a ∈ ℝ ∧ − a ∈ ℕ
36 11 iftrued ⊢ a ∈ ℕ 0 → if 0 ≤ a a − a = a
37 36 eqcomd ⊢ a ∈ ℕ 0 → a = if 0 ≤ a a − a
38 37 oveq1d ⊢ a ∈ ℕ 0 → a 2 = if 0 ≤ a a − a 2
39 elnnz ⊢ − a ∈ ℕ ↔ − a ∈ ℤ ∧ 0 < − a
40 lt0neg1 ⊢ a ∈ ℝ → a < 0 ↔ 0 < − a
41 id ⊢ a ∈ ℝ → a ∈ ℝ
42 0red ⊢ a ∈ ℝ → 0 ∈ ℝ
43 41 42 ltnled ⊢ a ∈ ℝ → a < 0 ↔ ¬ 0 ≤ a
44 43 biimpd ⊢ a ∈ ℝ → a < 0 → ¬ 0 ≤ a
45 40 44 sylbird ⊢ a ∈ ℝ → 0 < − a → ¬ 0 ≤ a
46 45 com12 ⊢ 0 < − a → a ∈ ℝ → ¬ 0 ≤ a
47 39 46 simplbiim ⊢ − a ∈ ℕ → a ∈ ℝ → ¬ 0 ≤ a
48 47 impcom ⊢ a ∈ ℝ ∧ − a ∈ ℕ → ¬ 0 ≤ a
49 48 iffalsed ⊢ a ∈ ℝ ∧ − a ∈ ℕ → if 0 ≤ a a − a = − a
50 49 oveq1d ⊢ a ∈ ℝ ∧ − a ∈ ℕ → if 0 ≤ a a − a 2 = − a 2
51 recn ⊢ a ∈ ℝ → a ∈ ℂ
52 51 sqnegd ⊢ a ∈ ℝ → − a 2 = a 2
53 52 adantr ⊢ a ∈ ℝ ∧ − a ∈ ℕ → − a 2 = a 2
54 50 53 eqtr2d ⊢ a ∈ ℝ ∧ − a ∈ ℕ → a 2 = if 0 ≤ a a − a 2
55 38 54 jaoi ⊢ a ∈ ℕ 0 ∨ a ∈ ℝ ∧ − a ∈ ℕ → a 2 = if 0 ≤ a a − a 2
56 35 55 sylbi ⊢ a ∈ ℤ → a 2 = if 0 ≤ a a − a 2
57 elznn0nn ⊢ b ∈ ℤ ↔ b ∈ ℕ 0 ∨ b ∈ ℝ ∧ − b ∈ ℕ
58 25 iftrued ⊢ b ∈ ℕ 0 → if 0 ≤ b b − b = b
59 58 eqcomd ⊢ b ∈ ℕ 0 → b = if 0 ≤ b b − b
60 59 oveq1d ⊢ b ∈ ℕ 0 → b 2 = if 0 ≤ b b − b 2
61 elnnz ⊢ − b ∈ ℕ ↔ − b ∈ ℤ ∧ 0 < − b
62 lt0neg1 ⊢ b ∈ ℝ → b < 0 ↔ 0 < − b
63 id ⊢ b ∈ ℝ → b ∈ ℝ
64 0red ⊢ b ∈ ℝ → 0 ∈ ℝ
65 63 64 ltnled ⊢ b ∈ ℝ → b < 0 ↔ ¬ 0 ≤ b
66 65 biimpd ⊢ b ∈ ℝ → b < 0 → ¬ 0 ≤ b
67 62 66 sylbird ⊢ b ∈ ℝ → 0 < − b → ¬ 0 ≤ b
68 67 com12 ⊢ 0 < − b → b ∈ ℝ → ¬ 0 ≤ b
69 61 68 simplbiim ⊢ − b ∈ ℕ → b ∈ ℝ → ¬ 0 ≤ b
70 69 impcom ⊢ b ∈ ℝ ∧ − b ∈ ℕ → ¬ 0 ≤ b
71 70 iffalsed ⊢ b ∈ ℝ ∧ − b ∈ ℕ → if 0 ≤ b b − b = − b
72 71 oveq1d ⊢ b ∈ ℝ ∧ − b ∈ ℕ → if 0 ≤ b b − b 2 = − b 2
73 recn ⊢ b ∈ ℝ → b ∈ ℂ
74 73 sqnegd ⊢ b ∈ ℝ → − b 2 = b 2
75 74 adantr ⊢ b ∈ ℝ ∧ − b ∈ ℕ → − b 2 = b 2
76 72 75 eqtr2d ⊢ b ∈ ℝ ∧ − b ∈ ℕ → b 2 = if 0 ≤ b b − b 2
77 60 76 jaoi ⊢ b ∈ ℕ 0 ∨ b ∈ ℝ ∧ − b ∈ ℕ → b 2 = if 0 ≤ b b − b 2
78 57 77 sylbi ⊢ b ∈ ℤ → b 2 = if 0 ≤ b b − b 2
79 56 78 oveqan12d ⊢ a ∈ ℤ ∧ b ∈ ℤ → a 2 + b 2 = if 0 ≤ a a − a 2 + if 0 ≤ b b − b 2
80 79 eqeq2d ⊢ a ∈ ℤ ∧ b ∈ ℤ → P = a 2 + b 2 ↔ P = if 0 ≤ a a − a 2 + if 0 ≤ b b − b 2
81 80 biimpd ⊢ a ∈ ℤ ∧ b ∈ ℤ → P = a 2 + b 2 → P = if 0 ≤ a a − a 2 + if 0 ≤ b b − b 2
82 81 imp ⊢ a ∈ ℤ ∧ b ∈ ℤ ∧ P = a 2 + b 2 → P = if 0 ≤ a a − a 2 + if 0 ≤ b b − b 2
83 4 7 21 34 82 2rspcedvdw ⊢ a ∈ ℤ ∧ b ∈ ℤ ∧ P = a 2 + b 2 → ∃ x ∈ ℕ 0 ∃ y ∈ ℕ 0 P = x 2 + y 2
84 83 ex ⊢ a ∈ ℤ ∧ b ∈ ℤ → P = a 2 + b 2 → ∃ x ∈ ℕ 0 ∃ y ∈ ℕ 0 P = x 2 + y 2
85 84 rexlimivv ⊢ ∃ a ∈ ℤ ∃ b ∈ ℤ P = a 2 + b 2 → ∃ x ∈ ℕ 0 ∃ y ∈ ℕ 0 P = x 2 + y 2
86 1 85 syl ⊢ P ∈ ℙ ∧ P mod 4 = 1 → ∃ x ∈ ℕ 0 ∃ y ∈ ℕ 0 P = x 2 + y 2