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