Step |
Hyp |
Ref |
Expression |
1 |
|
2sq.1 |
⊢ 𝑆 = ran ( 𝑤 ∈ ℤ[i] ↦ ( ( abs ‘ 𝑤 ) ↑ 2 ) ) |
2 |
|
2sqlem7.2 |
⊢ 𝑌 = { 𝑧 ∣ ∃ 𝑥 ∈ ℤ ∃ 𝑦 ∈ ℤ ( ( 𝑥 gcd 𝑦 ) = 1 ∧ 𝑧 = ( ( 𝑥 ↑ 2 ) + ( 𝑦 ↑ 2 ) ) ) } |
3 |
|
2sqlem9.5 |
⊢ ( 𝜑 → ∀ 𝑏 ∈ ( 1 ... ( 𝑀 − 1 ) ) ∀ 𝑎 ∈ 𝑌 ( 𝑏 ∥ 𝑎 → 𝑏 ∈ 𝑆 ) ) |
4 |
|
2sqlem9.7 |
⊢ ( 𝜑 → 𝑀 ∥ 𝑁 ) |
5 |
|
2sqlem8.n |
⊢ ( 𝜑 → 𝑁 ∈ ℕ ) |
6 |
|
2sqlem8.m |
⊢ ( 𝜑 → 𝑀 ∈ ( ℤ≥ ‘ 2 ) ) |
7 |
|
2sqlem8.1 |
⊢ ( 𝜑 → 𝐴 ∈ ℤ ) |
8 |
|
2sqlem8.2 |
⊢ ( 𝜑 → 𝐵 ∈ ℤ ) |
9 |
|
2sqlem8.3 |
⊢ ( 𝜑 → ( 𝐴 gcd 𝐵 ) = 1 ) |
10 |
|
2sqlem8.4 |
⊢ ( 𝜑 → 𝑁 = ( ( 𝐴 ↑ 2 ) + ( 𝐵 ↑ 2 ) ) ) |
11 |
|
2sqlem8.c |
⊢ 𝐶 = ( ( ( 𝐴 + ( 𝑀 / 2 ) ) mod 𝑀 ) − ( 𝑀 / 2 ) ) |
12 |
|
2sqlem8.d |
⊢ 𝐷 = ( ( ( 𝐵 + ( 𝑀 / 2 ) ) mod 𝑀 ) − ( 𝑀 / 2 ) ) |
13 |
|
eluz2b3 |
⊢ ( 𝑀 ∈ ( ℤ≥ ‘ 2 ) ↔ ( 𝑀 ∈ ℕ ∧ 𝑀 ≠ 1 ) ) |
14 |
6 13
|
sylib |
⊢ ( 𝜑 → ( 𝑀 ∈ ℕ ∧ 𝑀 ≠ 1 ) ) |
15 |
14
|
simpld |
⊢ ( 𝜑 → 𝑀 ∈ ℕ ) |
16 |
7 15 11
|
4sqlem5 |
⊢ ( 𝜑 → ( 𝐶 ∈ ℤ ∧ ( ( 𝐴 − 𝐶 ) / 𝑀 ) ∈ ℤ ) ) |
17 |
16
|
simpld |
⊢ ( 𝜑 → 𝐶 ∈ ℤ ) |
18 |
8 15 12
|
4sqlem5 |
⊢ ( 𝜑 → ( 𝐷 ∈ ℤ ∧ ( ( 𝐵 − 𝐷 ) / 𝑀 ) ∈ ℤ ) ) |
19 |
18
|
simpld |
⊢ ( 𝜑 → 𝐷 ∈ ℤ ) |
20 |
14
|
simprd |
⊢ ( 𝜑 → 𝑀 ≠ 1 ) |
21 |
|
simpr |
⊢ ( ( 𝜑 ∧ ( 𝐶 ↑ 2 ) = 0 ) → ( 𝐶 ↑ 2 ) = 0 ) |
22 |
7 15 11 21
|
4sqlem9 |
⊢ ( ( 𝜑 ∧ ( 𝐶 ↑ 2 ) = 0 ) → ( 𝑀 ↑ 2 ) ∥ ( 𝐴 ↑ 2 ) ) |
23 |
22
|
ex |
⊢ ( 𝜑 → ( ( 𝐶 ↑ 2 ) = 0 → ( 𝑀 ↑ 2 ) ∥ ( 𝐴 ↑ 2 ) ) ) |
24 |
|
eluzelz |
⊢ ( 𝑀 ∈ ( ℤ≥ ‘ 2 ) → 𝑀 ∈ ℤ ) |
25 |
6 24
|
syl |
⊢ ( 𝜑 → 𝑀 ∈ ℤ ) |
26 |
|
dvdssq |
⊢ ( ( 𝑀 ∈ ℤ ∧ 𝐴 ∈ ℤ ) → ( 𝑀 ∥ 𝐴 ↔ ( 𝑀 ↑ 2 ) ∥ ( 𝐴 ↑ 2 ) ) ) |
27 |
25 7 26
|
syl2anc |
⊢ ( 𝜑 → ( 𝑀 ∥ 𝐴 ↔ ( 𝑀 ↑ 2 ) ∥ ( 𝐴 ↑ 2 ) ) ) |
28 |
23 27
|
sylibrd |
⊢ ( 𝜑 → ( ( 𝐶 ↑ 2 ) = 0 → 𝑀 ∥ 𝐴 ) ) |
29 |
|
simpr |
⊢ ( ( 𝜑 ∧ ( 𝐷 ↑ 2 ) = 0 ) → ( 𝐷 ↑ 2 ) = 0 ) |
30 |
8 15 12 29
|
4sqlem9 |
⊢ ( ( 𝜑 ∧ ( 𝐷 ↑ 2 ) = 0 ) → ( 𝑀 ↑ 2 ) ∥ ( 𝐵 ↑ 2 ) ) |
31 |
30
|
ex |
⊢ ( 𝜑 → ( ( 𝐷 ↑ 2 ) = 0 → ( 𝑀 ↑ 2 ) ∥ ( 𝐵 ↑ 2 ) ) ) |
32 |
|
dvdssq |
⊢ ( ( 𝑀 ∈ ℤ ∧ 𝐵 ∈ ℤ ) → ( 𝑀 ∥ 𝐵 ↔ ( 𝑀 ↑ 2 ) ∥ ( 𝐵 ↑ 2 ) ) ) |
33 |
25 8 32
|
syl2anc |
⊢ ( 𝜑 → ( 𝑀 ∥ 𝐵 ↔ ( 𝑀 ↑ 2 ) ∥ ( 𝐵 ↑ 2 ) ) ) |
34 |
31 33
|
sylibrd |
⊢ ( 𝜑 → ( ( 𝐷 ↑ 2 ) = 0 → 𝑀 ∥ 𝐵 ) ) |
35 |
|
ax-1ne0 |
⊢ 1 ≠ 0 |
36 |
35
|
a1i |
⊢ ( 𝜑 → 1 ≠ 0 ) |
37 |
9 36
|
eqnetrd |
⊢ ( 𝜑 → ( 𝐴 gcd 𝐵 ) ≠ 0 ) |
38 |
37
|
neneqd |
⊢ ( 𝜑 → ¬ ( 𝐴 gcd 𝐵 ) = 0 ) |
39 |
|
gcdeq0 |
⊢ ( ( 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) → ( ( 𝐴 gcd 𝐵 ) = 0 ↔ ( 𝐴 = 0 ∧ 𝐵 = 0 ) ) ) |
40 |
7 8 39
|
syl2anc |
⊢ ( 𝜑 → ( ( 𝐴 gcd 𝐵 ) = 0 ↔ ( 𝐴 = 0 ∧ 𝐵 = 0 ) ) ) |
41 |
38 40
|
mtbid |
⊢ ( 𝜑 → ¬ ( 𝐴 = 0 ∧ 𝐵 = 0 ) ) |
42 |
|
dvdslegcd |
⊢ ( ( ( 𝑀 ∈ ℤ ∧ 𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ) ∧ ¬ ( 𝐴 = 0 ∧ 𝐵 = 0 ) ) → ( ( 𝑀 ∥ 𝐴 ∧ 𝑀 ∥ 𝐵 ) → 𝑀 ≤ ( 𝐴 gcd 𝐵 ) ) ) |
43 |
25 7 8 41 42
|
syl31anc |
⊢ ( 𝜑 → ( ( 𝑀 ∥ 𝐴 ∧ 𝑀 ∥ 𝐵 ) → 𝑀 ≤ ( 𝐴 gcd 𝐵 ) ) ) |
44 |
28 34 43
|
syl2and |
⊢ ( 𝜑 → ( ( ( 𝐶 ↑ 2 ) = 0 ∧ ( 𝐷 ↑ 2 ) = 0 ) → 𝑀 ≤ ( 𝐴 gcd 𝐵 ) ) ) |
45 |
9
|
breq2d |
⊢ ( 𝜑 → ( 𝑀 ≤ ( 𝐴 gcd 𝐵 ) ↔ 𝑀 ≤ 1 ) ) |
46 |
|
nnle1eq1 |
⊢ ( 𝑀 ∈ ℕ → ( 𝑀 ≤ 1 ↔ 𝑀 = 1 ) ) |
47 |
15 46
|
syl |
⊢ ( 𝜑 → ( 𝑀 ≤ 1 ↔ 𝑀 = 1 ) ) |
48 |
45 47
|
bitrd |
⊢ ( 𝜑 → ( 𝑀 ≤ ( 𝐴 gcd 𝐵 ) ↔ 𝑀 = 1 ) ) |
49 |
44 48
|
sylibd |
⊢ ( 𝜑 → ( ( ( 𝐶 ↑ 2 ) = 0 ∧ ( 𝐷 ↑ 2 ) = 0 ) → 𝑀 = 1 ) ) |
50 |
49
|
necon3ad |
⊢ ( 𝜑 → ( 𝑀 ≠ 1 → ¬ ( ( 𝐶 ↑ 2 ) = 0 ∧ ( 𝐷 ↑ 2 ) = 0 ) ) ) |
51 |
20 50
|
mpd |
⊢ ( 𝜑 → ¬ ( ( 𝐶 ↑ 2 ) = 0 ∧ ( 𝐷 ↑ 2 ) = 0 ) ) |
52 |
17
|
zcnd |
⊢ ( 𝜑 → 𝐶 ∈ ℂ ) |
53 |
|
sqeq0 |
⊢ ( 𝐶 ∈ ℂ → ( ( 𝐶 ↑ 2 ) = 0 ↔ 𝐶 = 0 ) ) |
54 |
52 53
|
syl |
⊢ ( 𝜑 → ( ( 𝐶 ↑ 2 ) = 0 ↔ 𝐶 = 0 ) ) |
55 |
19
|
zcnd |
⊢ ( 𝜑 → 𝐷 ∈ ℂ ) |
56 |
|
sqeq0 |
⊢ ( 𝐷 ∈ ℂ → ( ( 𝐷 ↑ 2 ) = 0 ↔ 𝐷 = 0 ) ) |
57 |
55 56
|
syl |
⊢ ( 𝜑 → ( ( 𝐷 ↑ 2 ) = 0 ↔ 𝐷 = 0 ) ) |
58 |
54 57
|
anbi12d |
⊢ ( 𝜑 → ( ( ( 𝐶 ↑ 2 ) = 0 ∧ ( 𝐷 ↑ 2 ) = 0 ) ↔ ( 𝐶 = 0 ∧ 𝐷 = 0 ) ) ) |
59 |
51 58
|
mtbid |
⊢ ( 𝜑 → ¬ ( 𝐶 = 0 ∧ 𝐷 = 0 ) ) |
60 |
|
gcdn0cl |
⊢ ( ( ( 𝐶 ∈ ℤ ∧ 𝐷 ∈ ℤ ) ∧ ¬ ( 𝐶 = 0 ∧ 𝐷 = 0 ) ) → ( 𝐶 gcd 𝐷 ) ∈ ℕ ) |
61 |
17 19 59 60
|
syl21anc |
⊢ ( 𝜑 → ( 𝐶 gcd 𝐷 ) ∈ ℕ ) |