Proof of Theorem gausslemma2dlem0i
Step | Hyp | Ref
| Expression |
1 | | 2z 9331 |
. . . 4
⊢ 2 ∈
ℤ |
2 | | gausslemma2dlem0.p |
. . . . 5
⊢ (𝜑 → 𝑃 ∈ (ℙ ∖
{2})) |
3 | | id 19 |
. . . . . . 7
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈ (ℙ
∖ {2})) |
4 | 3 | gausslemma2dlem0a 15093 |
. . . . . 6
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
ℕ) |
5 | 4 | nnzd 9424 |
. . . . 5
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
ℤ) |
6 | 2, 5 | syl 14 |
. . . 4
⊢ (𝜑 → 𝑃 ∈ ℤ) |
7 | | lgscl1 15067 |
. . . 4
⊢ ((2
∈ ℤ ∧ 𝑃
∈ ℤ) → (2 /L 𝑃) ∈ {-1, 0, 1}) |
8 | 1, 6, 7 | sylancr 414 |
. . 3
⊢ (𝜑 → (2 /L
𝑃) ∈ {-1, 0,
1}) |
9 | | eltpg 3659 |
. . . 4
⊢ ((2
/L 𝑃)
∈ {-1, 0, 1} → ((2 /L 𝑃) ∈ {-1, 0, 1} ↔ ((2
/L 𝑃) =
-1 ∨ (2 /L 𝑃) = 0 ∨ (2 /L 𝑃) = 1))) |
10 | 8, 9 | syl 14 |
. . 3
⊢ (𝜑 → ((2 /L
𝑃) ∈ {-1, 0, 1} ↔
((2 /L 𝑃)
= -1 ∨ (2 /L 𝑃) = 0 ∨ (2 /L 𝑃) = 1))) |
11 | 8, 10 | mpbid 147 |
. 2
⊢ (𝜑 → ((2 /L
𝑃) = -1 ∨ (2
/L 𝑃) = 0
∨ (2 /L 𝑃) = 1)) |
12 | | gausslemma2dlem0.m |
. . . . . . . . 9
⊢ 𝑀 = (⌊‘(𝑃 / 4)) |
13 | | gausslemma2dlem0.h |
. . . . . . . . 9
⊢ 𝐻 = ((𝑃 − 1) / 2) |
14 | | gausslemma2dlem0.n |
. . . . . . . . 9
⊢ 𝑁 = (𝐻 − 𝑀) |
15 | 2, 12, 13, 14 | gausslemma2dlem0h 15100 |
. . . . . . . 8
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
16 | 15 | nn0zd 9423 |
. . . . . . 7
⊢ (𝜑 → 𝑁 ∈ ℤ) |
17 | | m1expcl2 10606 |
. . . . . . 7
⊢ (𝑁 ∈ ℤ →
(-1↑𝑁) ∈ {-1,
1}) |
18 | 16, 17 | syl 14 |
. . . . . 6
⊢ (𝜑 → (-1↑𝑁) ∈ {-1, 1}) |
19 | | elprg 3634 |
. . . . . . 7
⊢
((-1↑𝑁) ∈
{-1, 1} → ((-1↑𝑁)
∈ {-1, 1} ↔ ((-1↑𝑁) = -1 ∨ (-1↑𝑁) = 1))) |
20 | 18, 19 | syl 14 |
. . . . . 6
⊢ (𝜑 → ((-1↑𝑁) ∈ {-1, 1} ↔
((-1↑𝑁) = -1 ∨
(-1↑𝑁) =
1))) |
21 | 18, 20 | mpbid 147 |
. . . . 5
⊢ (𝜑 → ((-1↑𝑁) = -1 ∨ (-1↑𝑁) = 1)) |
22 | | eqcom 2191 |
. . . . . . . 8
⊢
((-1↑𝑁) = -1
↔ -1 = (-1↑𝑁)) |
23 | 22 | biimpi 120 |
. . . . . . 7
⊢
((-1↑𝑁) = -1
→ -1 = (-1↑𝑁)) |
24 | 23 | 2a1d 23 |
. . . . . 6
⊢
((-1↑𝑁) = -1
→ (𝜑 → ((-1 mod
𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
25 | 2 | gausslemma2dlem0a 15093 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑃 ∈ ℕ) |
26 | | nnq 9684 |
. . . . . . . . . . 11
⊢ (𝑃 ∈ ℕ → 𝑃 ∈
ℚ) |
27 | 25, 26 | syl 14 |
. . . . . . . . . 10
⊢ (𝜑 → 𝑃 ∈ ℚ) |
28 | 2 | eldifad 3160 |
. . . . . . . . . . 11
⊢ (𝜑 → 𝑃 ∈ ℙ) |
29 | | prmgt1 12244 |
. . . . . . . . . . 11
⊢ (𝑃 ∈ ℙ → 1 <
𝑃) |
30 | 28, 29 | syl 14 |
. . . . . . . . . 10
⊢ (𝜑 → 1 < 𝑃) |
31 | | q1mod 10413 |
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℚ ∧ 1 <
𝑃) → (1 mod 𝑃) = 1) |
32 | 27, 30, 31 | syl2anc 411 |
. . . . . . . . 9
⊢ (𝜑 → (1 mod 𝑃) = 1) |
33 | 32 | eqeq2d 2201 |
. . . . . . . 8
⊢ (𝜑 → ((-1 mod 𝑃) = (1 mod 𝑃) ↔ (-1 mod 𝑃) = 1)) |
34 | | oddprmge3 12247 |
. . . . . . . . 9
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ 𝑃 ∈
(ℤ≥‘3)) |
35 | | m1modge3gt1 10428 |
. . . . . . . . . 10
⊢ (𝑃 ∈
(ℤ≥‘3) → 1 < (-1 mod 𝑃)) |
36 | | breq2 4029 |
. . . . . . . . . . 11
⊢ ((-1 mod
𝑃) = 1 → (1 < (-1
mod 𝑃) ↔ 1 <
1)) |
37 | | 1re 8004 |
. . . . . . . . . . . . 13
⊢ 1 ∈
ℝ |
38 | 37 | ltnri 8098 |
. . . . . . . . . . . 12
⊢ ¬ 1
< 1 |
39 | 38 | pm2.21i 647 |
. . . . . . . . . . 11
⊢ (1 < 1
→ -1 = 1) |
40 | 36, 39 | biimtrdi 163 |
. . . . . . . . . 10
⊢ ((-1 mod
𝑃) = 1 → (1 < (-1
mod 𝑃) → -1 =
1)) |
41 | 35, 40 | syl5com 29 |
. . . . . . . . 9
⊢ (𝑃 ∈
(ℤ≥‘3) → ((-1 mod 𝑃) = 1 → -1 = 1)) |
42 | 2, 34, 41 | 3syl 17 |
. . . . . . . 8
⊢ (𝜑 → ((-1 mod 𝑃) = 1 → -1 = 1)) |
43 | 33, 42 | sylbid 150 |
. . . . . . 7
⊢ (𝜑 → ((-1 mod 𝑃) = (1 mod 𝑃) → -1 = 1)) |
44 | | oveq1 5913 |
. . . . . . . . 9
⊢
((-1↑𝑁) = 1
→ ((-1↑𝑁) mod
𝑃) = (1 mod 𝑃)) |
45 | 44 | eqeq2d 2201 |
. . . . . . . 8
⊢
((-1↑𝑁) = 1
→ ((-1 mod 𝑃) =
((-1↑𝑁) mod 𝑃) ↔ (-1 mod 𝑃) = (1 mod 𝑃))) |
46 | | eqeq2 2199 |
. . . . . . . 8
⊢
((-1↑𝑁) = 1
→ (-1 = (-1↑𝑁)
↔ -1 = 1)) |
47 | 45, 46 | imbi12d 234 |
. . . . . . 7
⊢
((-1↑𝑁) = 1
→ (((-1 mod 𝑃) =
((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)) ↔ ((-1 mod 𝑃) = (1 mod 𝑃) → -1 = 1))) |
48 | 43, 47 | imbitrrid 156 |
. . . . . 6
⊢
((-1↑𝑁) = 1
→ (𝜑 → ((-1 mod
𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
49 | 24, 48 | jaoi 717 |
. . . . 5
⊢
(((-1↑𝑁) = -1
∨ (-1↑𝑁) = 1)
→ (𝜑 → ((-1 mod
𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
50 | 21, 49 | mpcom 36 |
. . . 4
⊢ (𝜑 → ((-1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁))) |
51 | | oveq1 5913 |
. . . . . 6
⊢ ((2
/L 𝑃) =
-1 → ((2 /L 𝑃) mod 𝑃) = (-1 mod 𝑃)) |
52 | 51 | eqeq1d 2198 |
. . . . 5
⊢ ((2
/L 𝑃) =
-1 → (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ (-1 mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
53 | | eqeq1 2196 |
. . . . 5
⊢ ((2
/L 𝑃) =
-1 → ((2 /L 𝑃) = (-1↑𝑁) ↔ -1 = (-1↑𝑁))) |
54 | 52, 53 | imbi12d 234 |
. . . 4
⊢ ((2
/L 𝑃) =
-1 → ((((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)) ↔ ((-1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → -1 = (-1↑𝑁)))) |
55 | 50, 54 | imbitrrid 156 |
. . 3
⊢ ((2
/L 𝑃) =
-1 → (𝜑 → (((2
/L 𝑃) mod
𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
56 | 25 | nngt0d 9012 |
. . . . . . 7
⊢ (𝜑 → 0 < 𝑃) |
57 | | q0mod 10412 |
. . . . . . 7
⊢ ((𝑃 ∈ ℚ ∧ 0 <
𝑃) → (0 mod 𝑃) = 0) |
58 | 27, 56, 57 | syl2anc 411 |
. . . . . 6
⊢ (𝜑 → (0 mod 𝑃) = 0) |
59 | 58 | eqeq1d 2198 |
. . . . 5
⊢ (𝜑 → ((0 mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ 0 = ((-1↑𝑁) mod 𝑃))) |
60 | | oveq1 5913 |
. . . . . . . . . . 11
⊢
((-1↑𝑁) = -1
→ ((-1↑𝑁) mod
𝑃) = (-1 mod 𝑃)) |
61 | 60 | eqeq2d 2201 |
. . . . . . . . . 10
⊢
((-1↑𝑁) = -1
→ (0 = ((-1↑𝑁)
mod 𝑃) ↔ 0 = (-1 mod
𝑃))) |
62 | 61 | adantr 276 |
. . . . . . . . 9
⊢
(((-1↑𝑁) = -1
∧ 𝜑) → (0 =
((-1↑𝑁) mod 𝑃) ↔ 0 = (-1 mod 𝑃))) |
63 | | 1z 9329 |
. . . . . . . . . . . . . 14
⊢ 1 ∈
ℤ |
64 | | zq 9677 |
. . . . . . . . . . . . . 14
⊢ (1 ∈
ℤ → 1 ∈ ℚ) |
65 | 63, 64 | ax-mp 5 |
. . . . . . . . . . . . 13
⊢ 1 ∈
ℚ |
66 | | negqmod0 10388 |
. . . . . . . . . . . . 13
⊢ ((1
∈ ℚ ∧ 𝑃
∈ ℚ ∧ 0 < 𝑃) → ((1 mod 𝑃) = 0 ↔ (-1 mod 𝑃) = 0)) |
67 | 65, 27, 56, 66 | mp3an2i 1353 |
. . . . . . . . . . . 12
⊢ (𝜑 → ((1 mod 𝑃) = 0 ↔ (-1 mod 𝑃) = 0)) |
68 | | eqcom 2191 |
. . . . . . . . . . . 12
⊢ ((-1 mod
𝑃) = 0 ↔ 0 = (-1 mod
𝑃)) |
69 | 67, 68 | bitrdi 196 |
. . . . . . . . . . 11
⊢ (𝜑 → ((1 mod 𝑃) = 0 ↔ 0 = (-1 mod 𝑃))) |
70 | 32 | eqeq1d 2198 |
. . . . . . . . . . . 12
⊢ (𝜑 → ((1 mod 𝑃) = 0 ↔ 1 = 0)) |
71 | | 1ne0 9036 |
. . . . . . . . . . . . 13
⊢ 1 ≠
0 |
72 | | eqneqall 2370 |
. . . . . . . . . . . . 13
⊢ (1 = 0
→ (1 ≠ 0 → 0 = (-1↑𝑁))) |
73 | 71, 72 | mpi 15 |
. . . . . . . . . . . 12
⊢ (1 = 0
→ 0 = (-1↑𝑁)) |
74 | 70, 73 | biimtrdi 163 |
. . . . . . . . . . 11
⊢ (𝜑 → ((1 mod 𝑃) = 0 → 0 = (-1↑𝑁))) |
75 | 69, 74 | sylbird 170 |
. . . . . . . . . 10
⊢ (𝜑 → (0 = (-1 mod 𝑃) → 0 = (-1↑𝑁))) |
76 | 75 | adantl 277 |
. . . . . . . . 9
⊢
(((-1↑𝑁) = -1
∧ 𝜑) → (0 = (-1 mod
𝑃) → 0 =
(-1↑𝑁))) |
77 | 62, 76 | sylbid 150 |
. . . . . . . 8
⊢
(((-1↑𝑁) = -1
∧ 𝜑) → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁))) |
78 | 77 | ex 115 |
. . . . . . 7
⊢
((-1↑𝑁) = -1
→ (𝜑 → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
79 | 44 | eqeq2d 2201 |
. . . . . . . . . 10
⊢
((-1↑𝑁) = 1
→ (0 = ((-1↑𝑁)
mod 𝑃) ↔ 0 = (1 mod
𝑃))) |
80 | 79 | adantr 276 |
. . . . . . . . 9
⊢
(((-1↑𝑁) = 1
∧ 𝜑) → (0 =
((-1↑𝑁) mod 𝑃) ↔ 0 = (1 mod 𝑃))) |
81 | | eqcom 2191 |
. . . . . . . . . . . 12
⊢ (0 = (1
mod 𝑃) ↔ (1 mod 𝑃) = 0) |
82 | 81, 70 | bitrid 192 |
. . . . . . . . . . 11
⊢ (𝜑 → (0 = (1 mod 𝑃) ↔ 1 =
0)) |
83 | 82, 73 | biimtrdi 163 |
. . . . . . . . . 10
⊢ (𝜑 → (0 = (1 mod 𝑃) → 0 = (-1↑𝑁))) |
84 | 83 | adantl 277 |
. . . . . . . . 9
⊢
(((-1↑𝑁) = 1
∧ 𝜑) → (0 = (1 mod
𝑃) → 0 =
(-1↑𝑁))) |
85 | 80, 84 | sylbid 150 |
. . . . . . . 8
⊢
(((-1↑𝑁) = 1
∧ 𝜑) → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁))) |
86 | 85 | ex 115 |
. . . . . . 7
⊢
((-1↑𝑁) = 1
→ (𝜑 → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
87 | 78, 86 | jaoi 717 |
. . . . . 6
⊢
(((-1↑𝑁) = -1
∨ (-1↑𝑁) = 1)
→ (𝜑 → (0 =
((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
88 | 21, 87 | mpcom 36 |
. . . . 5
⊢ (𝜑 → (0 = ((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁))) |
89 | 59, 88 | sylbid 150 |
. . . 4
⊢ (𝜑 → ((0 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁))) |
90 | | oveq1 5913 |
. . . . . 6
⊢ ((2
/L 𝑃) = 0
→ ((2 /L 𝑃) mod 𝑃) = (0 mod 𝑃)) |
91 | 90 | eqeq1d 2198 |
. . . . 5
⊢ ((2
/L 𝑃) = 0
→ (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ (0 mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
92 | | eqeq1 2196 |
. . . . 5
⊢ ((2
/L 𝑃) = 0
→ ((2 /L 𝑃) = (-1↑𝑁) ↔ 0 = (-1↑𝑁))) |
93 | 91, 92 | imbi12d 234 |
. . . 4
⊢ ((2
/L 𝑃) = 0
→ ((((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)) ↔ ((0 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → 0 = (-1↑𝑁)))) |
94 | 89, 93 | imbitrrid 156 |
. . 3
⊢ ((2
/L 𝑃) = 0
→ (𝜑 → (((2
/L 𝑃) mod
𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
95 | 32 | eqeq1d 2198 |
. . . . 5
⊢ (𝜑 → ((1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ 1 = ((-1↑𝑁) mod 𝑃))) |
96 | | eqcom 2191 |
. . . . . . . . 9
⊢ (1 = (-1
mod 𝑃) ↔ (-1 mod 𝑃) = 1) |
97 | | eqcom 2191 |
. . . . . . . . 9
⊢ (1 = -1
↔ -1 = 1) |
98 | 42, 96, 97 | 3imtr4g 205 |
. . . . . . . 8
⊢ (𝜑 → (1 = (-1 mod 𝑃) → 1 =
-1)) |
99 | 60 | eqeq2d 2201 |
. . . . . . . . 9
⊢
((-1↑𝑁) = -1
→ (1 = ((-1↑𝑁)
mod 𝑃) ↔ 1 = (-1 mod
𝑃))) |
100 | | eqeq2 2199 |
. . . . . . . . 9
⊢
((-1↑𝑁) = -1
→ (1 = (-1↑𝑁)
↔ 1 = -1)) |
101 | 99, 100 | imbi12d 234 |
. . . . . . . 8
⊢
((-1↑𝑁) = -1
→ ((1 = ((-1↑𝑁)
mod 𝑃) → 1 =
(-1↑𝑁)) ↔ (1 =
(-1 mod 𝑃) → 1 =
-1))) |
102 | 98, 101 | imbitrrid 156 |
. . . . . . 7
⊢
((-1↑𝑁) = -1
→ (𝜑 → (1 =
((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
103 | | eqcom 2191 |
. . . . . . . . 9
⊢
((-1↑𝑁) = 1
↔ 1 = (-1↑𝑁)) |
104 | 103 | biimpi 120 |
. . . . . . . 8
⊢
((-1↑𝑁) = 1
→ 1 = (-1↑𝑁)) |
105 | 104 | 2a1d 23 |
. . . . . . 7
⊢
((-1↑𝑁) = 1
→ (𝜑 → (1 =
((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
106 | 102, 105 | jaoi 717 |
. . . . . 6
⊢
(((-1↑𝑁) = -1
∨ (-1↑𝑁) = 1)
→ (𝜑 → (1 =
((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
107 | 21, 106 | mpcom 36 |
. . . . 5
⊢ (𝜑 → (1 = ((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁))) |
108 | 95, 107 | sylbid 150 |
. . . 4
⊢ (𝜑 → ((1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁))) |
109 | | oveq1 5913 |
. . . . . 6
⊢ ((2
/L 𝑃) = 1
→ ((2 /L 𝑃) mod 𝑃) = (1 mod 𝑃)) |
110 | 109 | eqeq1d 2198 |
. . . . 5
⊢ ((2
/L 𝑃) = 1
→ (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) ↔ (1 mod 𝑃) = ((-1↑𝑁) mod 𝑃))) |
111 | | eqeq1 2196 |
. . . . 5
⊢ ((2
/L 𝑃) = 1
→ ((2 /L 𝑃) = (-1↑𝑁) ↔ 1 = (-1↑𝑁))) |
112 | 110, 111 | imbi12d 234 |
. . . 4
⊢ ((2
/L 𝑃) = 1
→ ((((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)) ↔ ((1 mod 𝑃) = ((-1↑𝑁) mod 𝑃) → 1 = (-1↑𝑁)))) |
113 | 108, 112 | imbitrrid 156 |
. . 3
⊢ ((2
/L 𝑃) = 1
→ (𝜑 → (((2
/L 𝑃) mod
𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
114 | 55, 94, 113 | 3jaoi 1314 |
. 2
⊢ (((2
/L 𝑃) =
-1 ∨ (2 /L 𝑃) = 0 ∨ (2 /L 𝑃) = 1) → (𝜑 → (((2 /L 𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁)))) |
115 | 11, 114 | mpcom 36 |
1
⊢ (𝜑 → (((2 /L
𝑃) mod 𝑃) = ((-1↑𝑁) mod 𝑃) → (2 /L 𝑃) = (-1↑𝑁))) |