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 25098 |
. 2
⊢ (𝜑 → (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1) |
| 7 | | eldifi 3732 |
. . . . . . 7
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
ℙ) |
| 8 | | prmnn 15388 |
. . . . . . . . 9
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
| 9 | 8 | nnred 11035 |
. . . . . . . 8
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℝ) |
| 10 | | prmgt1 15409 |
. . . . . . . 8
⊢ (𝑃 ∈ ℙ → 1 <
𝑃) |
| 11 | 9, 10 | jca 554 |
. . . . . . 7
⊢ (𝑃 ∈ ℙ → (𝑃 ∈ ℝ ∧ 1 <
𝑃)) |
| 12 | 1, 7, 11 | 3syl 18 |
. . . . . 6
⊢ (𝜑 → (𝑃 ∈ ℝ ∧ 1 < 𝑃)) |
| 13 | | 1mod 12702 |
. . . . . 6
⊢ ((𝑃 ∈ ℝ ∧ 1 <
𝑃) → (1 mod 𝑃) = 1) |
| 14 | 12, 13 | syl 17 |
. . . . 5
⊢ (𝜑 → (1 mod 𝑃) = 1) |
| 15 | 14 | eqcomd 2628 |
. . . 4
⊢ (𝜑 → 1 = (1 mod 𝑃)) |
| 16 | 15 | eqeq2d 2632 |
. . 3
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1 ↔ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃))) |
| 17 | | neg1z 11413 |
. . . . . . . . . . 11
⊢ -1 ∈
ℤ |
| 18 | 1, 4, 2, 5 | gausslemma2dlem0h 25088 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
| 19 | | zexpcl 12875 |
. . . . . . . . . . 11
⊢ ((-1
∈ ℤ ∧ 𝑁
∈ ℕ0) → (-1↑𝑁) ∈ ℤ) |
| 20 | 17, 18, 19 | sylancr 695 |
. . . . . . . . . 10
⊢ (𝜑 → (-1↑𝑁) ∈ ℤ) |
| 21 | | 2nn 11185 |
. . . . . . . . . . . . 13
⊢ 2 ∈
ℕ |
| 22 | 21 | a1i 11 |
. . . . . . . . . . . 12
⊢ (𝜑 → 2 ∈
ℕ) |
| 23 | 1, 2 | gausslemma2dlem0b 25082 |
. . . . . . . . . . . . 13
⊢ (𝜑 → 𝐻 ∈ ℕ) |
| 24 | 23 | nnnn0d 11351 |
. . . . . . . . . . . 12
⊢ (𝜑 → 𝐻 ∈
ℕ0) |
| 25 | 22, 24 | nnexpcld 13030 |
. . . . . . . . . . 11
⊢ (𝜑 → (2↑𝐻) ∈ ℕ) |
| 26 | 25 | nnzd 11481 |
. . . . . . . . . 10
⊢ (𝜑 → (2↑𝐻) ∈ ℤ) |
| 27 | 20, 26 | zmulcld 11488 |
. . . . . . . . 9
⊢ (𝜑 → ((-1↑𝑁) · (2↑𝐻)) ∈
ℤ) |
| 28 | 27 | zred 11482 |
. . . . . . . 8
⊢ (𝜑 → ((-1↑𝑁) · (2↑𝐻)) ∈
ℝ) |
| 29 | | 1red 10055 |
. . . . . . . 8
⊢ (𝜑 → 1 ∈
ℝ) |
| 30 | 28, 29 | jca 554 |
. . . . . . 7
⊢ (𝜑 → (((-1↑𝑁) · (2↑𝐻)) ∈ ℝ ∧ 1 ∈
ℝ)) |
| 31 | 30 | adantr 481 |
. . . . . 6
⊢ ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → (((-1↑𝑁) · (2↑𝐻)) ∈ ℝ ∧ 1 ∈
ℝ)) |
| 32 | 1 | gausslemma2dlem0a 25081 |
. . . . . . . . 9
⊢ (𝜑 → 𝑃 ∈ ℕ) |
| 33 | 32 | nnrpd 11870 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∈
ℝ+) |
| 34 | 20, 33 | jca 554 |
. . . . . . 7
⊢ (𝜑 → ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈
ℝ+)) |
| 35 | 34 | adantr 481 |
. . . . . 6
⊢ ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈
ℝ+)) |
| 36 | | simpr 477 |
. . . . . 6
⊢ ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) |
| 37 | | modmul1 12723 |
. . . . . 6
⊢
(((((-1↑𝑁)
· (2↑𝐻)) ∈
ℝ ∧ 1 ∈ ℝ) ∧ ((-1↑𝑁) ∈ ℤ ∧ 𝑃 ∈ ℝ+) ∧
(((-1↑𝑁) ·
(2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃)) |
| 38 | 31, 35, 36, 37 | syl3anc 1326 |
. . . . 5
⊢ ((𝜑 ∧ (((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃)) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃)) |
| 39 | 38 | ex 450 |
. . . 4
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃) → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃))) |
| 40 | 20 | zcnd 11483 |
. . . . . . . . 9
⊢ (𝜑 → (-1↑𝑁) ∈ ℂ) |
| 41 | 25 | nncnd 11036 |
. . . . . . . . 9
⊢ (𝜑 → (2↑𝐻) ∈ ℂ) |
| 42 | 40, 41, 40 | mul32d 10246 |
. . . . . . . 8
⊢ (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) = (((-1↑𝑁) · (-1↑𝑁)) · (2↑𝐻))) |
| 43 | 18 | nn0cnd 11353 |
. . . . . . . . . . . . 13
⊢ (𝜑 → 𝑁 ∈ ℂ) |
| 44 | 43 | 2timesd 11275 |
. . . . . . . . . . . 12
⊢ (𝜑 → (2 · 𝑁) = (𝑁 + 𝑁)) |
| 45 | 44 | eqcomd 2628 |
. . . . . . . . . . 11
⊢ (𝜑 → (𝑁 + 𝑁) = (2 · 𝑁)) |
| 46 | 45 | oveq2d 6666 |
. . . . . . . . . 10
⊢ (𝜑 → (-1↑(𝑁 + 𝑁)) = (-1↑(2 · 𝑁))) |
| 47 | | neg1cn 11124 |
. . . . . . . . . . . 12
⊢ -1 ∈
ℂ |
| 48 | 47 | a1i 11 |
. . . . . . . . . . 11
⊢ (𝜑 → -1 ∈
ℂ) |
| 49 | 48, 18, 18 | expaddd 13010 |
. . . . . . . . . 10
⊢ (𝜑 → (-1↑(𝑁 + 𝑁)) = ((-1↑𝑁) · (-1↑𝑁))) |
| 50 | 18 | nn0zd 11480 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑁 ∈ ℤ) |
| 51 | | m1expeven 12907 |
. . . . . . . . . . 11
⊢ (𝑁 ∈ ℤ →
(-1↑(2 · 𝑁)) =
1) |
| 52 | 50, 51 | syl 17 |
. . . . . . . . . 10
⊢ (𝜑 → (-1↑(2 · 𝑁)) = 1) |
| 53 | 46, 49, 52 | 3eqtr3d 2664 |
. . . . . . . . 9
⊢ (𝜑 → ((-1↑𝑁) · (-1↑𝑁)) = 1) |
| 54 | 53 | oveq1d 6665 |
. . . . . . . 8
⊢ (𝜑 → (((-1↑𝑁) · (-1↑𝑁)) · (2↑𝐻)) = (1 · (2↑𝐻))) |
| 55 | 41 | mulid2d 10058 |
. . . . . . . 8
⊢ (𝜑 → (1 · (2↑𝐻)) = (2↑𝐻)) |
| 56 | 42, 54, 55 | 3eqtrd 2660 |
. . . . . . 7
⊢ (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) = (2↑𝐻)) |
| 57 | 56 | oveq1d 6665 |
. . . . . 6
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((2↑𝐻) mod 𝑃)) |
| 58 | 40 | mulid2d 10058 |
. . . . . . 7
⊢ (𝜑 → (1 · (-1↑𝑁)) = (-1↑𝑁)) |
| 59 | 58 | oveq1d 6665 |
. . . . . 6
⊢ (𝜑 → ((1 ·
(-1↑𝑁)) mod 𝑃) = ((-1↑𝑁) mod 𝑃)) |
| 60 | 57, 59 | eqeq12d 2637 |
. . . . 5
⊢ (𝜑 → (((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃) ↔ ((2↑𝐻) mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
| 61 | 2 | oveq2i 6661 |
. . . . . . . 8
⊢
(2↑𝐻) =
(2↑((𝑃 − 1) /
2)) |
| 62 | 61 | oveq1i 6660 |
. . . . . . 7
⊢
((2↑𝐻) mod
𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃) |
| 63 | 62 | eqeq1i 2627 |
. . . . . 6
⊢
(((2↑𝐻) mod
𝑃) = ((-1↑𝑁) mod 𝑃) ↔ ((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃)) |
| 64 | | 2z 11409 |
. . . . . . . . . 10
⊢ 2 ∈
ℤ |
| 65 | | lgsvalmod 25041 |
. . . . . . . . . 10
⊢ ((2
∈ ℤ ∧ 𝑃
∈ (ℙ ∖ {2})) → ((2 /L 𝑃) mod 𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃)) |
| 66 | 64, 1, 65 | sylancr 695 |
. . . . . . . . 9
⊢ (𝜑 → ((2 /L
𝑃) mod 𝑃) = ((2↑((𝑃 − 1) / 2)) mod 𝑃)) |
| 67 | 66 | eqcomd 2628 |
. . . . . . . 8
⊢ (𝜑 → ((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((2 /L
𝑃) mod 𝑃)) |
| 68 | 67 | eqeq1d 2624 |
. . . . . . 7
⊢ (𝜑 → (((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ ((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
| 69 | 1, 4, 2, 5 | gausslemma2dlem0i 25089 |
. . . . . . 7
⊢ (𝜑 → (((2 /L
𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
| 70 | 68, 69 | sylbid 230 |
. . . . . 6
⊢ (𝜑 → (((2↑((𝑃 − 1) / 2)) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
| 71 | 63, 70 | syl5bi 232 |
. . . . 5
⊢ (𝜑 → (((2↑𝐻) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
| 72 | 60, 71 | sylbid 230 |
. . . 4
⊢ (𝜑 → (((((-1↑𝑁) · (2↑𝐻)) · (-1↑𝑁)) mod 𝑃) = ((1 · (-1↑𝑁)) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
| 73 | 39, 72 | syld 47 |
. . 3
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = (1 mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |
| 74 | 16, 73 | sylbid 230 |
. 2
⊢ (𝜑 → ((((-1↑𝑁) · (2↑𝐻)) mod 𝑃) = 1 → (2 /L 𝑃) = (-1↑𝑁))) |
| 75 | 6, 74 | mpd 15 |
1
⊢ (𝜑 → (2 /L
𝑃) = (-1↑𝑁)) |