Proof of Theorem gausslemma2d
Step | Hyp | Ref
| Expression |
1 | | gausslemma2d.p |
. . 3
⊢ (𝜑 → 𝑃 ∈ (ℙ ∖
{2})) |
2 | | gausslemma2d.h |
. . 3
⊢ 𝐻 = ((𝑃 − 1) / 2) |
3 | | gausslemma2d.r |
. . 3
⊢ 𝑅 = (𝑥 ∈ (1...𝐻) ↦ if((𝑥 · 2) < (𝑃 / 2), (𝑥 · 2), (𝑃 − (𝑥 · 2)))) |
4 | | gausslemma2d.m |
. . 3
⊢ 𝑀 = (⌊‘(𝑃 / 4)) |
5 | | gausslemma2d.n |
. . 3
⊢ 𝑁 = (𝐻 − 𝑀) |
6 | 1, 2, 3, 4, 5 | gausslemma2dlem7 27435 |
. 2
⊢ (𝜑 → (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1) |
7 | | eldifi 4154 |
. . . . . 6
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
ℙ) |
8 | | prmnn 16721 |
. . . . . . . 8
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
9 | 8 | nnred 12308 |
. . . . . . 7
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℝ) |
10 | | prmgt1 16744 |
. . . . . . 7
⊢ (𝑃 ∈ ℙ → 1 <
𝑃) |
11 | 9, 10 | jca 511 |
. . . . . 6
⊢ (𝑃 ∈ ℙ → (𝑃 ∈ ℝ ∧ 1 <
𝑃)) |
12 | | 1mod 13954 |
. . . . . 6
⊢ ((𝑃 ∈ ℝ ∧ 1 <
𝑃) → (1 mod 𝑃) = 1) |
13 | 1, 7, 11, 12 | 4syl 19 |
. . . . 5
⊢ (𝜑 → (1 mod 𝑃) = 1) |
14 | 13 | eqcomd 2746 |
. . . 4
⊢ (𝜑 → 1 = (1 mod 𝑃)) |
15 | 14 | eqeq2d 2751 |
. . 3
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1 ↔ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃))) |
16 | | neg1z 12679 |
. . . . . . . . . . 11
⊢ -1 ∈
ℤ |
17 | 1, 4, 2, 5 | gausslemma2dlem0h 27425 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
18 | | zexpcl 14127 |
. . . . . . . . . . 11
⊢ ((-1
∈ ℤ ∧ 𝑁
∈ ℕ0) → (-1↑𝑁) ∈ ℤ) |
19 | 16, 17, 18 | sylancr 586 |
. . . . . . . . . 10
⊢ (𝜑 → (-1↑𝑁) ∈ ℤ) |
20 | | 2nn 12366 |
. . . . . . . . . . . . 13
⊢ 2 ∈
ℕ |
21 | 20 | a1i 11 |
. . . . . . . . . . . 12
⊢ (𝜑 → 2 ∈
ℕ) |
22 | 1, 2 | gausslemma2dlem0b 27419 |
. . . . . . . . . . . . 13
⊢ (𝜑 → 𝐻 ∈ ℕ) |
23 | 22 | nnnn0d 12613 |
. . . . . . . . . . . 12
⊢ (𝜑 → 𝐻 ∈
ℕ0) |
24 | 21, 23 | nnexpcld 14294 |
. . . . . . . . . . 11
⊢ (𝜑 → (2↑𝐻) ∈ ℕ) |
25 | 24 | nnzd 12666 |
. . . . . . . . . 10
⊢ (𝜑 → (2↑𝐻) ∈ ℤ) |
26 | 19, 25 | zmulcld 12753 |
. . . . . . . . 9
⊢ (𝜑 → ((-1↑𝑁) · (2↑𝐻)) ∈
ℤ) |
27 | 26 | zred 12747 |
. . . . . . . 8
⊢ (𝜑 → ((-1↑𝑁) · (2↑𝐻)) ∈
ℝ) |
28 | | 1red 11291 |
. . . . . . . 8
⊢ (𝜑 → 1 ∈
ℝ) |
29 | 27, 28 | jca 511 |
. . . . . . 7
⊢ (𝜑 → (((-1↑𝑁) · (2↑𝐻)) ∈ ℝ ∧ 1 ∈
ℝ)) |
30 | 29 | adantr 480 |
. . . . . 6
⊢ ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → (((-1↑𝑁) · (2↑𝐻)) ∈ ℝ ∧ 1 ∈
ℝ)) |
31 | 1 | gausslemma2dlem0a 27418 |
. . . . . . . . 9
⊢ (𝜑 → 𝑃 ∈ ℕ) |
32 | 31 | nnrpd 13097 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∈
ℝ+) |
33 | 19, 32 | jca 511 |
. . . . . . 7
⊢ (𝜑 → ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈
ℝ+)) |
34 | 33 | adantr 480 |
. . . . . 6
⊢ ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈
ℝ+)) |
35 | | simpr 484 |
. . . . . 6
⊢ ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) |
36 | | modmul1 13975 |
. . . . . 6
⊢
(((((-1↑𝑁)
· (2↑𝐻)) ∈
ℝ ∧ 1 ∈ ℝ) ∧ ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈ ℝ+) ∧
(((-1↑𝑁) ·
(2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃)) |
37 | 30, 34, 35, 36 | syl3anc 1371 |
. . . . 5
⊢ ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃)) |
38 | 37 | ex 412 |
. . . 4
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃))) |
39 | 19 | zcnd 12748 |
. . . . . . . . 9
⊢ (𝜑 → (-1↑𝑁) ∈ ℂ) |
40 | 24 | nncnd 12309 |
. . . . . . . . 9
⊢ (𝜑 → (2↑𝐻) ∈ ℂ) |
41 | 39, 40, 39 | mul32d 11500 |
. . . . . . . 8
⊢ (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) = (((-1↑𝑁) · (-1↑𝑁)) · (2↑𝐻))) |
42 | 17 | nn0cnd 12615 |
. . . . . . . . . . . . 13
⊢ (𝜑 → 𝑁 ∈ ℂ) |
43 | 42 | 2timesd 12536 |
. . . . . . . . . . . 12
⊢ (𝜑 → (2 · 𝑁) = (𝑁 + 𝑁)) |
44 | 43 | eqcomd 2746 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝑁 + 𝑁) = (2 · 𝑁)) |
45 | 44 | oveq2d 7464 |
. . . . . . . . . 10
⊢ (𝜑 → (-1↑(𝑁 + 𝑁)) = (-1↑(2 · 𝑁))) |
46 | | neg1cn 12407 |
. . . . . . . . . . . 12
⊢ -1 ∈
ℂ |
47 | 46 | a1i 11 |
. . . . . . . . . . 11
⊢ (𝜑 → -1 ∈
ℂ) |
48 | 47, 17, 17 | expaddd 14198 |
. . . . . . . . . 10
⊢ (𝜑 → (-1↑(𝑁 + 𝑁)) = ((-1↑𝑁) · (-1↑𝑁))) |
49 | 17 | nn0zd 12665 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑁 ∈ ℤ) |
50 | | m1expeven 14160 |
. . . . . . . . . . 11
⊢ (𝑁 ∈ ℤ →
(-1↑(2 · 𝑁)) =
1) |
51 | 49, 50 | syl 17 |
. . . . . . . . . 10
⊢ (𝜑 → (-1↑(2 · 𝑁)) = 1) |
52 | 45, 48, 51 | 3eqtr3d 2788 |
. . . . . . . . 9
⊢ (𝜑 → ((-1↑𝑁) · (-1↑𝑁)) = 1) |
53 | 52 | oveq1d 7463 |
. . . . . . . 8
⊢ (𝜑 → (((-1↑𝑁) · (-1↑𝑁)) · (2↑𝐻)) = (1 · (2↑𝐻))) |
54 | 40 | mullidd 11308 |
. . . . . . . 8
⊢ (𝜑 → (1 · (2↑𝐻)) = (2↑𝐻)) |
55 | 41, 53, 54 | 3eqtrd 2784 |
. . . . . . 7
⊢ (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) = (2↑𝐻)) |
56 | 55 | oveq1d 7463 |
. . . . . 6
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((2↑𝐻) mod 𝑃)) |
57 | 39 | mullidd 11308 |
. . . . . . 7
⊢ (𝜑 → (1 · (-1↑𝑁)) = (-1↑𝑁)) |
58 | 57 | oveq1d 7463 |
. . . . . 6
⊢ (𝜑 → ((1 ·
(-1↑𝑁)) mod 𝑃) = ((-1↑𝑁) mod 𝑃)) |
59 | 56, 58 | eqeq12d 2756 |
. . . . 5
⊢ (𝜑 → (((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃) ↔ ((2↑𝐻) mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
60 | 2 | oveq2i 7459 |
. . . . . . . 8
⊢
(2↑𝐻) =
(2↑((𝑃 − 1) /
2)) |
61 | 60 | oveq1i 7458 |
. . . . . . 7
⊢
((2↑𝐻) mod
𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃) |
62 | 61 | eqeq1i 2745 |
. . . . . 6
⊢
(((2↑𝐻) mod
𝑃) = ((-1↑𝑁) mod 𝑃) ↔ ((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃)) |
63 | | 2z 12675 |
. . . . . . . . . 10
⊢ 2 ∈
ℤ |
64 | | lgsvalmod 27378 |
. . . . . . . . . 10
⊢ ((2
∈ ℤ ∧ 𝑃
∈ (ℙ ∖ {2})) → ((2 /L 𝑃) mod 𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃)) |
65 | 63, 1, 64 | sylancr 586 |
. . . . . . . . 9
⊢ (𝜑 → ((2 /L
𝑃) mod 𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃)) |
66 | 65 | eqcomd 2746 |
. . . . . . . 8
⊢ (𝜑 → ((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((2 /L
𝑃) mod 𝑃)) |
67 | 66 | eqeq1d 2742 |
. . . . . . 7
⊢ (𝜑 → (((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ ((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
68 | 1, 4, 2, 5 | gausslemma2dlem0i 27426 |
. . . . . . 7
⊢ (𝜑 → (((2 /L
𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
69 | 67, 68 | sylbid 240 |
. . . . . 6
⊢ (𝜑 → (((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
70 | 62, 69 | biimtrid 242 |
. . . . 5
⊢ (𝜑 → (((2↑𝐻) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
71 | 59, 70 | sylbid 240 |
. . . 4
⊢ (𝜑 → (((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
72 | 38, 71 | syld 47 |
. . 3
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
73 | 15, 72 | sylbid 240 |
. 2
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1 → (2 /L 𝑃) = (-1↑𝑁))) |
74 | 6, 73 | mpd 15 |
1
⊢ (𝜑 → (2 /L
𝑃) = (-1↑𝑁)) |