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 PPmod4=1x0y0P=x2+y2

Proof

Step Hyp Ref Expression
1 2sq PPmod4=1abP=a2+b2
2 elnn0z a0a0a
3 2 biimpri a0aa0
4 elznn0 aaa0a0
5 nn0ge0 a00a
6 5 pm2.24d a0¬0aa0
7 6 a1i aa0¬0aa0
8 ax-1 a0¬0aa0
9 8 a1i aa0¬0aa0
10 7 9 jaod aa0a0¬0aa0
11 10 imp aa0a0¬0aa0
12 4 11 sylbi a¬0aa0
13 12 imp a¬0aa0
14 3 13 ifclda aif0aaa0
15 14 adantr abif0aaa0
16 15 adantr abP=a2+b2if0aaa0
17 elnn0z b0b0b
18 17 biimpri b0bb0
19 elznn0 bbb0b0
20 nn0ge0 b00b
21 20 pm2.24d b0¬0bb0
22 21 a1i bb0¬0bb0
23 ax-1 b0¬0bb0
24 23 a1i bb0¬0bb0
25 22 24 jaod bb0b0¬0bb0
26 25 imp bb0b0¬0bb0
27 19 26 sylbi b¬0bb0
28 27 imp b¬0bb0
29 18 28 ifclda bif0bbb0
30 29 adantl abif0bbb0
31 30 adantr abP=a2+b2if0bbb0
32 elznn0nn aa0aa
33 5 iftrued a0if0aaa=a
34 33 eqcomd a0a=if0aaa
35 34 oveq1d a0a2=if0aaa2
36 elnnz aa0<a
37 lt0neg1 aa<00<a
38 id aa
39 0red a0
40 38 39 ltnled aa<0¬0a
41 40 biimpd aa<0¬0a
42 37 41 sylbird a0<a¬0a
43 42 com12 0<aa¬0a
44 36 43 simplbiim aa¬0a
45 44 impcom aa¬0a
46 45 iffalsed aaif0aaa=a
47 46 oveq1d aaif0aaa2=a2
48 recn aa
49 sqneg aa2=a2
50 48 49 syl aa2=a2
51 50 adantr aaa2=a2
52 47 51 eqtr2d aaa2=if0aaa2
53 35 52 jaoi a0aaa2=if0aaa2
54 32 53 sylbi aa2=if0aaa2
55 elznn0nn bb0bb
56 20 iftrued b0if0bbb=b
57 56 eqcomd b0b=if0bbb
58 57 oveq1d b0b2=if0bbb2
59 elnnz bb0<b
60 lt0neg1 bb<00<b
61 id bb
62 0red b0
63 61 62 ltnled bb<0¬0b
64 63 biimpd bb<0¬0b
65 60 64 sylbird b0<b¬0b
66 65 com12 0<bb¬0b
67 59 66 simplbiim bb¬0b
68 67 impcom bb¬0b
69 68 iffalsed bbif0bbb=b
70 69 oveq1d bbif0bbb2=b2
71 recn bb
72 sqneg bb2=b2
73 71 72 syl bb2=b2
74 73 adantr bbb2=b2
75 70 74 eqtr2d bbb2=if0bbb2
76 58 75 jaoi b0bbb2=if0bbb2
77 55 76 sylbi bb2=if0bbb2
78 54 77 oveqan12d aba2+b2=if0aaa2+if0bbb2
79 78 eqeq2d abP=a2+b2P=if0aaa2+if0bbb2
80 79 biimpd abP=a2+b2P=if0aaa2+if0bbb2
81 80 imp abP=a2+b2P=if0aaa2+if0bbb2
82 oveq1 x=if0aaax2=if0aaa2
83 82 oveq1d x=if0aaax2+y2=if0aaa2+y2
84 83 eqeq2d x=if0aaaP=x2+y2P=if0aaa2+y2
85 oveq1 y=if0bbby2=if0bbb2
86 85 oveq2d y=if0bbbif0aaa2+y2=if0aaa2+if0bbb2
87 86 eqeq2d y=if0bbbP=if0aaa2+y2P=if0aaa2+if0bbb2
88 84 87 rspc2ev if0aaa0if0bbb0P=if0aaa2+if0bbb2x0y0P=x2+y2
89 16 31 81 88 syl3anc abP=a2+b2x0y0P=x2+y2
90 89 ex abP=a2+b2x0y0P=x2+y2
91 90 rexlimivv abP=a2+b2x0y0P=x2+y2
92 1 91 syl PPmod4=1x0y0P=x2+y2