Proof of Theorem gausslemma2dlem0i
| Step | Hyp | Ref
| Expression |
| 1 | | 2z 12649 |
. . 3
⊢ 2 ∈
ℤ |
| 2 | | gausslemma2dlem0.p |
. . . 4
⊢ (𝜑 → 𝑃 ∈ (ℙ ∖
{2})) |
| 3 | | id 22 |
. . . . . 6
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈ (ℙ
∖ {2})) |
| 4 | 3 | gausslemma2dlem0a 27400 |
. . . . 5
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
ℕ) |
| 5 | 4 | nnzd 12640 |
. . . 4
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
ℤ) |
| 6 | 2, 5 | syl 17 |
. . 3
⊢ (𝜑 → 𝑃 ∈ ℤ) |
| 7 | | lgscl1 27364 |
. . 3
⊢ ((2
∈ ℤ ∧ 𝑃
∈ ℤ) → (2 /L 𝑃) ∈ {-1, 0, 1}) |
| 8 | 1, 6, 7 | sylancr 587 |
. 2
⊢ (𝜑 → (2 /L
𝑃) ∈ {-1, 0,
1}) |
| 9 | | ovex 7464 |
. . . 4
⊢ (2
/L 𝑃)
∈ V |
| 10 | 9 | eltp 4689 |
. . 3
⊢ ((2
/L 𝑃)
∈ {-1, 0, 1} ↔ ((2 /L 𝑃) = -1 ∨ (2 /L 𝑃) = 0 ∨ (2
/L 𝑃) =
1)) |
| 11 | | gausslemma2dlem0.m |
. . . . . . . . 9
⊢ 𝑀 = (⌊‘(𝑃 / 4)) |
| 12 | | gausslemma2dlem0.h |
. . . . . . . . 9
⊢ 𝐻 = ((𝑃 − 1) / 2) |
| 13 | | gausslemma2dlem0.n |
. . . . . . . . 9
⊢ 𝑁 = (𝐻 − 𝑀) |
| 14 | 2, 11, 12, 13 | gausslemma2dlem0h 27407 |
. . . . . . . 8
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
| 15 | 14 | nn0zd 12639 |
. . . . . . 7
⊢ (𝜑 → 𝑁 ∈ ℤ) |
| 16 | | m1expcl2 14126 |
. . . . . . 7
⊢ (𝑁 ∈ ℤ →
(-1↑𝑁) ∈ {-1,
1}) |
| 17 | 15, 16 | syl 17 |
. . . . . 6
⊢ (𝜑 → (-1↑𝑁) ∈ {-1, 1}) |
| 18 | | ovex 7464 |
. . . . . . . 8
⊢
(-1↑𝑁) ∈
V |
| 19 | 18 | elpr 4650 |
. . . . . . 7
⊢
((-1↑𝑁) ∈
{-1, 1} ↔ ((-1↑𝑁)
= -1 ∨ (-1↑𝑁) =
1)) |
| 20 | | eqcom 2744 |
. . . . . . . . . 10
⊢
((-1↑𝑁) = -1
↔ -1 = (-1↑𝑁)) |
| 21 | 20 | biimpi 216 |
. . . . . . . . 9
⊢
((-1↑𝑁) = -1
→ -1 = (-1↑𝑁)) |
| 22 | 21 | 2a1d 26 |
. . . . . . . 8
⊢
((-1↑𝑁) = -1
→ (𝜑 → ((-1 mod
𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
| 23 | | eldifi 4131 |
. . . . . . . . . . . 12
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
ℙ) |
| 24 | | prmnn 16711 |
. . . . . . . . . . . . . 14
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) |
| 25 | 24 | nnred 12281 |
. . . . . . . . . . . . 13
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℝ) |
| 26 | | prmgt1 16734 |
. . . . . . . . . . . . 13
⊢ (𝑃 ∈ ℙ → 1 <
𝑃) |
| 27 | 25, 26 | jca 511 |
. . . . . . . . . . . 12
⊢ (𝑃 ∈ ℙ → (𝑃 ∈ ℝ ∧ 1 <
𝑃)) |
| 28 | | 1mod 13943 |
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℝ ∧ 1 <
𝑃) → (1 mod 𝑃) = 1) |
| 29 | 2, 23, 27, 28 | 4syl 19 |
. . . . . . . . . . 11
⊢ (𝜑 → (1 mod 𝑃) = 1) |
| 30 | 29 | eqeq2d 2748 |
. . . . . . . . . 10
⊢ (𝜑 → ((-1 mod 𝑃) = (1 mod 𝑃) ↔ (-1 mod 𝑃) = 1)) |
| 31 | | oddprmge3 16737 |
. . . . . . . . . . 11
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
(ℤ≥‘3)) |
| 32 | | m1modge3gt1 13959 |
. . . . . . . . . . . 12
⊢ (𝑃 ∈
(ℤ≥‘3) → 1 < (-1 mod 𝑃)) |
| 33 | | breq2 5147 |
. . . . . . . . . . . . 13
⊢ ((-1 mod
𝑃) = 1 → (1 < (-1
mod 𝑃) ↔ 1 <
1)) |
| 34 | | 1re 11261 |
. . . . . . . . . . . . . . 15
⊢ 1 ∈
ℝ |
| 35 | 34 | ltnri 11370 |
. . . . . . . . . . . . . 14
⊢ ¬ 1
< 1 |
| 36 | 35 | pm2.21i 119 |
. . . . . . . . . . . . 13
⊢ (1 < 1
→ -1 = 1) |
| 37 | 33, 36 | biimtrdi 253 |
. . . . . . . . . . . 12
⊢ ((-1 mod
𝑃) = 1 → (1 < (-1
mod 𝑃) → -1 =
1)) |
| 38 | 32, 37 | syl5com 31 |
. . . . . . . . . . 11
⊢ (𝑃 ∈
(ℤ≥‘3) → ((-1 mod 𝑃) = 1 → -1 = 1)) |
| 39 | 2, 31, 38 | 3syl 18 |
. . . . . . . . . 10
⊢ (𝜑 → ((-1 mod 𝑃) = 1 → -1 = 1)) |
| 40 | 30, 39 | sylbid 240 |
. . . . . . . . 9
⊢ (𝜑 → ((-1 mod 𝑃) = (1 mod 𝑃) → -1 = 1)) |
| 41 | | oveq1 7438 |
. . . . . . . . . . 11
⊢
((-1↑𝑁) = 1
→ ((-1↑𝑁) mod
𝑃) = (1 mod 𝑃)) |
| 42 | 41 | eqeq2d 2748 |
. . . . . . . . . 10
⊢
((-1↑𝑁) = 1
→ ((-1 mod 𝑃) =
((-1↑𝑁) mod 𝑃) ↔ (-1 mod 𝑃) = (1 mod 𝑃))) |
| 43 | | eqeq2 2749 |
. . . . . . . . . 10
⊢
((-1↑𝑁) = 1
→ (-1 = (-1↑𝑁)
↔ -1 = 1)) |
| 44 | 42, 43 | imbi12d 344 |
. . . . . . . . 9
⊢
((-1↑𝑁) = 1
→ (((-1 mod 𝑃) =
((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)) ↔ ((-1 mod 𝑃) = (1 mod 𝑃) → -1 = 1))) |
| 45 | 40, 44 | imbitrrid 246 |
. . . . . . . 8
⊢
((-1↑𝑁) = 1
→ (𝜑 → ((-1 mod
𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
| 46 | 22, 45 | jaoi 858 |
. . . . . . 7
⊢
(((-1↑𝑁) = -1
∨ (-1↑𝑁) = 1)
→ (𝜑 → ((-1 mod
𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
| 47 | 19, 46 | sylbi 217 |
. . . . . 6
⊢
((-1↑𝑁) ∈
{-1, 1} → (𝜑 → ((-1
mod 𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
| 48 | 17, 47 | mpcom 38 |
. . . . 5
⊢ (𝜑 → ((-1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁))) |
| 49 | | oveq1 7438 |
. . . . . . 7
⊢ ((2
/L 𝑃) =
-1 → ((2 /L 𝑃) mod 𝑃) = (-1 mod 𝑃)) |
| 50 | 49 | eqeq1d 2739 |
. . . . . 6
⊢ ((2
/L 𝑃) =
-1 → (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ (-1 mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
| 51 | | eqeq1 2741 |
. . . . . 6
⊢ ((2
/L 𝑃) =
-1 → ((2 /L 𝑃) = (-1↑𝑁) ↔ -1 = (-1↑𝑁))) |
| 52 | 50, 51 | imbi12d 344 |
. . . . 5
⊢ ((2
/L 𝑃) =
-1 → ((((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)) ↔ ((-1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
| 53 | 48, 52 | imbitrrid 246 |
. . . 4
⊢ ((2
/L 𝑃) =
-1 → (𝜑 → (((2
/L 𝑃) mod
𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
| 54 | 2 | gausslemma2dlem0a 27400 |
. . . . . . . . 9
⊢ (𝜑 → 𝑃 ∈ ℕ) |
| 55 | 54 | nnrpd 13075 |
. . . . . . . 8
⊢ (𝜑 → 𝑃 ∈
ℝ+) |
| 56 | | 0mod 13942 |
. . . . . . . 8
⊢ (𝑃 ∈ ℝ+
→ (0 mod 𝑃) =
0) |
| 57 | 55, 56 | syl 17 |
. . . . . . 7
⊢ (𝜑 → (0 mod 𝑃) = 0) |
| 58 | 57 | eqeq1d 2739 |
. . . . . 6
⊢ (𝜑 → ((0 mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ 0 = ((-1↑𝑁) mod 𝑃))) |
| 59 | | oveq1 7438 |
. . . . . . . . . . . . 13
⊢
((-1↑𝑁) = -1
→ ((-1↑𝑁) mod
𝑃) = (-1 mod 𝑃)) |
| 60 | 59 | eqeq2d 2748 |
. . . . . . . . . . . 12
⊢
((-1↑𝑁) = -1
→ (0 = ((-1↑𝑁)
mod 𝑃) ↔ 0 = (-1 mod
𝑃))) |
| 61 | 60 | adantr 480 |
. . . . . . . . . . 11
⊢
(((-1↑𝑁) = -1
∧ 𝜑) → (0 =
((-1↑𝑁) mod 𝑃) ↔ 0 = (-1 mod 𝑃))) |
| 62 | | negmod0 13918 |
. . . . . . . . . . . . . . 15
⊢ ((1
∈ ℝ ∧ 𝑃
∈ ℝ+) → ((1 mod 𝑃) = 0 ↔ (-1 mod 𝑃) = 0)) |
| 63 | | eqcom 2744 |
. . . . . . . . . . . . . . 15
⊢ ((-1 mod
𝑃) = 0 ↔ 0 = (-1 mod
𝑃)) |
| 64 | 62, 63 | bitrdi 287 |
. . . . . . . . . . . . . 14
⊢ ((1
∈ ℝ ∧ 𝑃
∈ ℝ+) → ((1 mod 𝑃) = 0 ↔ 0 = (-1 mod 𝑃))) |
| 65 | 34, 55, 64 | sylancr 587 |
. . . . . . . . . . . . 13
⊢ (𝜑 → ((1 mod 𝑃) = 0 ↔ 0 = (-1 mod 𝑃))) |
| 66 | 29 | eqeq1d 2739 |
. . . . . . . . . . . . . 14
⊢ (𝜑 → ((1 mod 𝑃) = 0 ↔ 1 = 0)) |
| 67 | | ax-1ne0 11224 |
. . . . . . . . . . . . . . 15
⊢ 1 ≠
0 |
| 68 | | eqneqall 2951 |
. . . . . . . . . . . . . . 15
⊢ (1 = 0
→ (1 ≠ 0 → 0 = (-1↑𝑁))) |
| 69 | 67, 68 | mpi 20 |
. . . . . . . . . . . . . 14
⊢ (1 = 0
→ 0 = (-1↑𝑁)) |
| 70 | 66, 69 | biimtrdi 253 |
. . . . . . . . . . . . 13
⊢ (𝜑 → ((1 mod 𝑃) = 0 → 0 = (-1↑𝑁))) |
| 71 | 65, 70 | sylbird 260 |
. . . . . . . . . . . 12
⊢ (𝜑 → (0 = (-1 mod 𝑃) → 0 = (-1↑𝑁))) |
| 72 | 71 | adantl 481 |
. . . . . . . . . . 11
⊢
(((-1↑𝑁) = -1
∧ 𝜑) → (0 = (-1 mod
𝑃) → 0 =
(-1↑𝑁))) |
| 73 | 61, 72 | sylbid 240 |
. . . . . . . . . 10
⊢
(((-1↑𝑁) = -1
∧ 𝜑) → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁))) |
| 74 | 73 | ex 412 |
. . . . . . . . 9
⊢
((-1↑𝑁) = -1
→ (𝜑 → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
| 75 | 41 | eqeq2d 2748 |
. . . . . . . . . . . 12
⊢
((-1↑𝑁) = 1
→ (0 = ((-1↑𝑁)
mod 𝑃) ↔ 0 = (1 mod
𝑃))) |
| 76 | 75 | adantr 480 |
. . . . . . . . . . 11
⊢
(((-1↑𝑁) = 1
∧ 𝜑) → (0 =
((-1↑𝑁) mod 𝑃) ↔ 0 = (1 mod 𝑃))) |
| 77 | | eqcom 2744 |
. . . . . . . . . . . . . 14
⊢ (0 = (1
mod 𝑃) ↔ (1 mod 𝑃) = 0) |
| 78 | 77, 66 | bitrid 283 |
. . . . . . . . . . . . 13
⊢ (𝜑 → (0 = (1 mod 𝑃) ↔ 1 =
0)) |
| 79 | 78, 69 | biimtrdi 253 |
. . . . . . . . . . . 12
⊢ (𝜑 → (0 = (1 mod 𝑃) → 0 = (-1↑𝑁))) |
| 80 | 79 | adantl 481 |
. . . . . . . . . . 11
⊢
(((-1↑𝑁) = 1
∧ 𝜑) → (0 = (1 mod
𝑃) → 0 =
(-1↑𝑁))) |
| 81 | 76, 80 | sylbid 240 |
. . . . . . . . . 10
⊢
(((-1↑𝑁) = 1
∧ 𝜑) → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁))) |
| 82 | 81 | ex 412 |
. . . . . . . . 9
⊢
((-1↑𝑁) = 1
→ (𝜑 → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
| 83 | 74, 82 | jaoi 858 |
. . . . . . . 8
⊢
(((-1↑𝑁) = -1
∨ (-1↑𝑁) = 1)
→ (𝜑 → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
| 84 | 19, 83 | sylbi 217 |
. . . . . . 7
⊢
((-1↑𝑁) ∈
{-1, 1} → (𝜑 → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
| 85 | 17, 84 | mpcom 38 |
. . . . . 6
⊢ (𝜑 → (0 = ((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁))) |
| 86 | 58, 85 | sylbid 240 |
. . . . 5
⊢ (𝜑 → ((0 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁))) |
| 87 | | oveq1 7438 |
. . . . . . 7
⊢ ((2
/L 𝑃) = 0
→ ((2 /L 𝑃) mod 𝑃) = (0 mod 𝑃)) |
| 88 | 87 | eqeq1d 2739 |
. . . . . 6
⊢ ((2
/L 𝑃) = 0
→ (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ (0 mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
| 89 | | eqeq1 2741 |
. . . . . 6
⊢ ((2
/L 𝑃) = 0
→ ((2 /L 𝑃) = (-1↑𝑁) ↔ 0 = (-1↑𝑁))) |
| 90 | 88, 89 | imbi12d 344 |
. . . . 5
⊢ ((2
/L 𝑃) = 0
→ ((((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)) ↔ ((0 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
| 91 | 86, 90 | imbitrrid 246 |
. . . 4
⊢ ((2
/L 𝑃) = 0
→ (𝜑 → (((2
/L 𝑃) mod
𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
| 92 | 29 | eqeq1d 2739 |
. . . . . 6
⊢ (𝜑 → ((1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ 1 = ((-1↑𝑁) mod 𝑃))) |
| 93 | | eqcom 2744 |
. . . . . . . . . . 11
⊢ (1 = (-1
mod 𝑃) ↔ (-1 mod 𝑃) = 1) |
| 94 | | eqcom 2744 |
. . . . . . . . . . 11
⊢ (1 = -1
↔ -1 = 1) |
| 95 | 39, 93, 94 | 3imtr4g 296 |
. . . . . . . . . 10
⊢ (𝜑 → (1 = (-1 mod 𝑃) → 1 =
-1)) |
| 96 | 59 | eqeq2d 2748 |
. . . . . . . . . . 11
⊢
((-1↑𝑁) = -1
→ (1 = ((-1↑𝑁)
mod 𝑃) ↔ 1 = (-1 mod
𝑃))) |
| 97 | | eqeq2 2749 |
. . . . . . . . . . 11
⊢
((-1↑𝑁) = -1
→ (1 = (-1↑𝑁)
↔ 1 = -1)) |
| 98 | 96, 97 | imbi12d 344 |
. . . . . . . . . 10
⊢
((-1↑𝑁) = -1
→ ((1 = ((-1↑𝑁)
mod 𝑃) → 1 =
(-1↑𝑁)) ↔ (1 =
(-1 mod 𝑃) → 1 =
-1))) |
| 99 | 95, 98 | imbitrrid 246 |
. . . . . . . . 9
⊢
((-1↑𝑁) = -1
→ (𝜑 → (1 =
((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
| 100 | | eqcom 2744 |
. . . . . . . . . . 11
⊢
((-1↑𝑁) = 1
↔ 1 = (-1↑𝑁)) |
| 101 | 100 | biimpi 216 |
. . . . . . . . . 10
⊢
((-1↑𝑁) = 1
→ 1 = (-1↑𝑁)) |
| 102 | 101 | 2a1d 26 |
. . . . . . . . 9
⊢
((-1↑𝑁) = 1
→ (𝜑 → (1 =
((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
| 103 | 99, 102 | jaoi 858 |
. . . . . . . 8
⊢
(((-1↑𝑁) = -1
∨ (-1↑𝑁) = 1)
→ (𝜑 → (1 =
((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
| 104 | 19, 103 | sylbi 217 |
. . . . . . 7
⊢
((-1↑𝑁) ∈
{-1, 1} → (𝜑 → (1 =
((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
| 105 | 17, 104 | mpcom 38 |
. . . . . 6
⊢ (𝜑 → (1 = ((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁))) |
| 106 | 92, 105 | sylbid 240 |
. . . . 5
⊢ (𝜑 → ((1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁))) |
| 107 | | oveq1 7438 |
. . . . . . 7
⊢ ((2
/L 𝑃) = 1
→ ((2 /L 𝑃) mod 𝑃) = (1 mod 𝑃)) |
| 108 | 107 | eqeq1d 2739 |
. . . . . 6
⊢ ((2
/L 𝑃) = 1
→ (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ (1 mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
| 109 | | eqeq1 2741 |
. . . . . 6
⊢ ((2
/L 𝑃) = 1
→ ((2 /L 𝑃) = (-1↑𝑁) ↔ 1 = (-1↑𝑁))) |
| 110 | 108, 109 | imbi12d 344 |
. . . . 5
⊢ ((2
/L 𝑃) = 1
→ ((((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)) ↔ ((1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
| 111 | 106, 110 | imbitrrid 246 |
. . . 4
⊢ ((2
/L 𝑃) = 1
→ (𝜑 → (((2
/L 𝑃) mod
𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
| 112 | 53, 91, 111 | 3jaoi 1430 |
. . 3
⊢ (((2
/L 𝑃) =
-1 ∨ (2 /L 𝑃) = 0 ∨ (2 /L 𝑃) = 1) → (𝜑 → (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
| 113 | 10, 112 | sylbi 217 |
. 2
⊢ ((2
/L 𝑃)
∈ {-1, 0, 1} → (𝜑
→ (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
| 114 | 8, 113 | mpcom 38 |
1
⊢ (𝜑 → (((2 /L
𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |