| Step |
Hyp |
Ref |
Expression |
| 1 |
|
ablfac1.b |
⊢ 𝐵 = ( Base ‘ 𝐺 ) |
| 2 |
|
ablfac1.o |
⊢ 𝑂 = ( od ‘ 𝐺 ) |
| 3 |
|
ablfac1.s |
⊢ 𝑆 = ( 𝑝 ∈ 𝐴 ↦ { 𝑥 ∈ 𝐵 ∣ ( 𝑂 ‘ 𝑥 ) ∥ ( 𝑝 ↑ ( 𝑝 pCnt ( ♯ ‘ 𝐵 ) ) ) } ) |
| 4 |
|
ablfac1.g |
⊢ ( 𝜑 → 𝐺 ∈ Abel ) |
| 5 |
|
ablfac1.f |
⊢ ( 𝜑 → 𝐵 ∈ Fin ) |
| 6 |
|
ablfac1.1 |
⊢ ( 𝜑 → 𝐴 ⊆ ℙ ) |
| 7 |
|
ablfac1.m |
⊢ 𝑀 = ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) |
| 8 |
|
ablfac1.n |
⊢ 𝑁 = ( ( ♯ ‘ 𝐵 ) / 𝑀 ) |
| 9 |
6
|
sselda |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑃 ∈ ℙ ) |
| 10 |
|
prmnn |
⊢ ( 𝑃 ∈ ℙ → 𝑃 ∈ ℕ ) |
| 11 |
9 10
|
syl |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑃 ∈ ℕ ) |
| 12 |
|
ablgrp |
⊢ ( 𝐺 ∈ Abel → 𝐺 ∈ Grp ) |
| 13 |
1
|
grpbn0 |
⊢ ( 𝐺 ∈ Grp → 𝐵 ≠ ∅ ) |
| 14 |
4 12 13
|
3syl |
⊢ ( 𝜑 → 𝐵 ≠ ∅ ) |
| 15 |
|
hashnncl |
⊢ ( 𝐵 ∈ Fin → ( ( ♯ ‘ 𝐵 ) ∈ ℕ ↔ 𝐵 ≠ ∅ ) ) |
| 16 |
5 15
|
syl |
⊢ ( 𝜑 → ( ( ♯ ‘ 𝐵 ) ∈ ℕ ↔ 𝐵 ≠ ∅ ) ) |
| 17 |
14 16
|
mpbird |
⊢ ( 𝜑 → ( ♯ ‘ 𝐵 ) ∈ ℕ ) |
| 18 |
17
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( ♯ ‘ 𝐵 ) ∈ ℕ ) |
| 19 |
9 18
|
pccld |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ∈ ℕ0 ) |
| 20 |
11 19
|
nnexpcld |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) ∈ ℕ ) |
| 21 |
7 20
|
eqeltrid |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑀 ∈ ℕ ) |
| 22 |
|
pcdvds |
⊢ ( ( 𝑃 ∈ ℙ ∧ ( ♯ ‘ 𝐵 ) ∈ ℕ ) → ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) ∥ ( ♯ ‘ 𝐵 ) ) |
| 23 |
9 18 22
|
syl2anc |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) ∥ ( ♯ ‘ 𝐵 ) ) |
| 24 |
7 23
|
eqbrtrid |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑀 ∥ ( ♯ ‘ 𝐵 ) ) |
| 25 |
|
nndivdvds |
⊢ ( ( ( ♯ ‘ 𝐵 ) ∈ ℕ ∧ 𝑀 ∈ ℕ ) → ( 𝑀 ∥ ( ♯ ‘ 𝐵 ) ↔ ( ( ♯ ‘ 𝐵 ) / 𝑀 ) ∈ ℕ ) ) |
| 26 |
18 21 25
|
syl2anc |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( 𝑀 ∥ ( ♯ ‘ 𝐵 ) ↔ ( ( ♯ ‘ 𝐵 ) / 𝑀 ) ∈ ℕ ) ) |
| 27 |
24 26
|
mpbid |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( ( ♯ ‘ 𝐵 ) / 𝑀 ) ∈ ℕ ) |
| 28 |
8 27
|
eqeltrid |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑁 ∈ ℕ ) |
| 29 |
21 28
|
jca |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ) ) |
| 30 |
7
|
oveq1i |
⊢ ( 𝑀 gcd 𝑁 ) = ( ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) gcd 𝑁 ) |
| 31 |
|
pcndvds2 |
⊢ ( ( 𝑃 ∈ ℙ ∧ ( ♯ ‘ 𝐵 ) ∈ ℕ ) → ¬ 𝑃 ∥ ( ( ♯ ‘ 𝐵 ) / ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) ) ) |
| 32 |
9 18 31
|
syl2anc |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ¬ 𝑃 ∥ ( ( ♯ ‘ 𝐵 ) / ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) ) ) |
| 33 |
7
|
oveq2i |
⊢ ( ( ♯ ‘ 𝐵 ) / 𝑀 ) = ( ( ♯ ‘ 𝐵 ) / ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) ) |
| 34 |
8 33
|
eqtri |
⊢ 𝑁 = ( ( ♯ ‘ 𝐵 ) / ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) ) |
| 35 |
34
|
breq2i |
⊢ ( 𝑃 ∥ 𝑁 ↔ 𝑃 ∥ ( ( ♯ ‘ 𝐵 ) / ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) ) ) |
| 36 |
32 35
|
sylnibr |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ¬ 𝑃 ∥ 𝑁 ) |
| 37 |
28
|
nnzd |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑁 ∈ ℤ ) |
| 38 |
|
coprm |
⊢ ( ( 𝑃 ∈ ℙ ∧ 𝑁 ∈ ℤ ) → ( ¬ 𝑃 ∥ 𝑁 ↔ ( 𝑃 gcd 𝑁 ) = 1 ) ) |
| 39 |
9 37 38
|
syl2anc |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( ¬ 𝑃 ∥ 𝑁 ↔ ( 𝑃 gcd 𝑁 ) = 1 ) ) |
| 40 |
36 39
|
mpbid |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( 𝑃 gcd 𝑁 ) = 1 ) |
| 41 |
|
prmz |
⊢ ( 𝑃 ∈ ℙ → 𝑃 ∈ ℤ ) |
| 42 |
9 41
|
syl |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑃 ∈ ℤ ) |
| 43 |
|
rpexp1i |
⊢ ( ( 𝑃 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ∈ ℕ0 ) → ( ( 𝑃 gcd 𝑁 ) = 1 → ( ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) gcd 𝑁 ) = 1 ) ) |
| 44 |
42 37 19 43
|
syl3anc |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( ( 𝑃 gcd 𝑁 ) = 1 → ( ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) gcd 𝑁 ) = 1 ) ) |
| 45 |
40 44
|
mpd |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( ( 𝑃 ↑ ( 𝑃 pCnt ( ♯ ‘ 𝐵 ) ) ) gcd 𝑁 ) = 1 ) |
| 46 |
30 45
|
eqtrid |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( 𝑀 gcd 𝑁 ) = 1 ) |
| 47 |
8
|
oveq2i |
⊢ ( 𝑀 · 𝑁 ) = ( 𝑀 · ( ( ♯ ‘ 𝐵 ) / 𝑀 ) ) |
| 48 |
18
|
nncnd |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( ♯ ‘ 𝐵 ) ∈ ℂ ) |
| 49 |
21
|
nncnd |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑀 ∈ ℂ ) |
| 50 |
21
|
nnne0d |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → 𝑀 ≠ 0 ) |
| 51 |
48 49 50
|
divcan2d |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( 𝑀 · ( ( ♯ ‘ 𝐵 ) / 𝑀 ) ) = ( ♯ ‘ 𝐵 ) ) |
| 52 |
47 51
|
eqtr2id |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( ♯ ‘ 𝐵 ) = ( 𝑀 · 𝑁 ) ) |
| 53 |
29 46 52
|
3jca |
⊢ ( ( 𝜑 ∧ 𝑃 ∈ 𝐴 ) → ( ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ) ∧ ( 𝑀 gcd 𝑁 ) = 1 ∧ ( ♯ ‘ 𝐵 ) = ( 𝑀 · 𝑁 ) ) ) |