Step |
Hyp |
Ref |
Expression |
1 |
|
fincygsubgodd.1 |
⊢ 𝐵 = ( Base ‘ 𝐺 ) |
2 |
|
fincygsubgodd.2 |
⊢ · = ( .g ‘ 𝐺 ) |
3 |
|
fincygsubgodd.3 |
⊢ 𝐷 = ( ( ♯ ‘ 𝐵 ) / 𝐶 ) |
4 |
|
fincygsubgodd.4 |
⊢ 𝐹 = ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝐴 ) ) |
5 |
|
fincygsubgodd.5 |
⊢ 𝐻 = ( 𝑛 ∈ ℤ ↦ ( 𝑛 · ( 𝐶 · 𝐴 ) ) ) |
6 |
|
fincygsubgodd.6 |
⊢ ( 𝜑 → 𝐺 ∈ Grp ) |
7 |
|
fincygsubgodd.7 |
⊢ ( 𝜑 → 𝐴 ∈ 𝐵 ) |
8 |
|
fincygsubgodd.8 |
⊢ ( 𝜑 → ran 𝐹 = 𝐵 ) |
9 |
|
fincygsubgodd.9 |
⊢ ( 𝜑 → 𝐶 ∥ ( ♯ ‘ 𝐵 ) ) |
10 |
|
fincygsubgodd.10 |
⊢ ( 𝜑 → 𝐵 ∈ Fin ) |
11 |
|
fincygsubgodd.11 |
⊢ ( 𝜑 → 𝐶 ∈ ℕ ) |
12 |
|
eqid |
⊢ ( od ‘ 𝐺 ) = ( od ‘ 𝐺 ) |
13 |
4
|
rneqi |
⊢ ran 𝐹 = ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝐴 ) ) |
14 |
8 13
|
eqtr3di |
⊢ ( 𝜑 → 𝐵 = ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · 𝐴 ) ) ) |
15 |
1 2 12 6 7 14
|
cycsubggenodd |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) = if ( 𝐵 ∈ Fin , ( ♯ ‘ 𝐵 ) , 0 ) ) |
16 |
10
|
iftrued |
⊢ ( 𝜑 → if ( 𝐵 ∈ Fin , ( ♯ ‘ 𝐵 ) , 0 ) = ( ♯ ‘ 𝐵 ) ) |
17 |
15 16
|
eqtrd |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) = ( ♯ ‘ 𝐵 ) ) |
18 |
17
|
oveq1d |
⊢ ( 𝜑 → ( ( ( od ‘ 𝐺 ) ‘ 𝐴 ) / 𝐶 ) = ( ( ♯ ‘ 𝐵 ) / 𝐶 ) ) |
19 |
11
|
nnzd |
⊢ ( 𝜑 → 𝐶 ∈ ℤ ) |
20 |
1 12 2
|
odmulg |
⊢ ( ( 𝐺 ∈ Grp ∧ 𝐴 ∈ 𝐵 ∧ 𝐶 ∈ ℤ ) → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) = ( ( 𝐶 gcd ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ) · ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) ) |
21 |
6 7 19 20
|
syl3anc |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) = ( ( 𝐶 gcd ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ) · ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) ) |
22 |
1 12
|
odcl |
⊢ ( 𝐴 ∈ 𝐵 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ∈ ℕ0 ) |
23 |
|
nn0z |
⊢ ( ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ∈ ℕ0 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ∈ ℤ ) |
24 |
7 22 23
|
3syl |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ∈ ℤ ) |
25 |
9 17
|
breqtrrd |
⊢ ( 𝜑 → 𝐶 ∥ ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ) |
26 |
11 24 25
|
dvdsgcdidd |
⊢ ( 𝜑 → ( 𝐶 gcd ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ) = 𝐶 ) |
27 |
26
|
oveq1d |
⊢ ( 𝜑 → ( ( 𝐶 gcd ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ) · ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) = ( 𝐶 · ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) ) |
28 |
21 27
|
eqtrd |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) = ( 𝐶 · ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) ) |
29 |
1 12 7
|
odcld |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ∈ ℕ0 ) |
30 |
29
|
nn0cnd |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ 𝐴 ) ∈ ℂ ) |
31 |
1 2 6 19 7
|
mulgcld |
⊢ ( 𝜑 → ( 𝐶 · 𝐴 ) ∈ 𝐵 ) |
32 |
1 12 31
|
odcld |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ∈ ℕ0 ) |
33 |
32
|
nn0cnd |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ∈ ℂ ) |
34 |
19
|
zcnd |
⊢ ( 𝜑 → 𝐶 ∈ ℂ ) |
35 |
11
|
nnne0d |
⊢ ( 𝜑 → 𝐶 ≠ 0 ) |
36 |
30 33 34 35
|
divmul2d |
⊢ ( 𝜑 → ( ( ( ( od ‘ 𝐺 ) ‘ 𝐴 ) / 𝐶 ) = ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ↔ ( ( od ‘ 𝐺 ) ‘ 𝐴 ) = ( 𝐶 · ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) ) ) |
37 |
28 36
|
mpbird |
⊢ ( 𝜑 → ( ( ( od ‘ 𝐺 ) ‘ 𝐴 ) / 𝐶 ) = ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) |
38 |
18 37
|
eqtr3d |
⊢ ( 𝜑 → ( ( ♯ ‘ 𝐵 ) / 𝐶 ) = ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) |
39 |
3 38
|
eqtrid |
⊢ ( 𝜑 → 𝐷 = ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) ) |
40 |
5
|
rneqi |
⊢ ran 𝐻 = ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · ( 𝐶 · 𝐴 ) ) ) |
41 |
40
|
a1i |
⊢ ( 𝜑 → ran 𝐻 = ran ( 𝑛 ∈ ℤ ↦ ( 𝑛 · ( 𝐶 · 𝐴 ) ) ) ) |
42 |
1 2 12 6 31 41
|
cycsubggenodd |
⊢ ( 𝜑 → ( ( od ‘ 𝐺 ) ‘ ( 𝐶 · 𝐴 ) ) = if ( ran 𝐻 ∈ Fin , ( ♯ ‘ ran 𝐻 ) , 0 ) ) |
43 |
39 42
|
eqtrd |
⊢ ( 𝜑 → 𝐷 = if ( ran 𝐻 ∈ Fin , ( ♯ ‘ ran 𝐻 ) , 0 ) ) |
44 |
|
iffalse |
⊢ ( ¬ ran 𝐻 ∈ Fin → if ( ran 𝐻 ∈ Fin , ( ♯ ‘ ran 𝐻 ) , 0 ) = 0 ) |
45 |
43 44
|
sylan9eq |
⊢ ( ( 𝜑 ∧ ¬ ran 𝐻 ∈ Fin ) → 𝐷 = 0 ) |
46 |
3
|
a1i |
⊢ ( 𝜑 → 𝐷 = ( ( ♯ ‘ 𝐵 ) / 𝐶 ) ) |
47 |
|
hashcl |
⊢ ( 𝐵 ∈ Fin → ( ♯ ‘ 𝐵 ) ∈ ℕ0 ) |
48 |
|
nn0cn |
⊢ ( ( ♯ ‘ 𝐵 ) ∈ ℕ0 → ( ♯ ‘ 𝐵 ) ∈ ℂ ) |
49 |
10 47 48
|
3syl |
⊢ ( 𝜑 → ( ♯ ‘ 𝐵 ) ∈ ℂ ) |
50 |
7 10
|
hashelne0d |
⊢ ( 𝜑 → ¬ ( ♯ ‘ 𝐵 ) = 0 ) |
51 |
50
|
neqned |
⊢ ( 𝜑 → ( ♯ ‘ 𝐵 ) ≠ 0 ) |
52 |
49 34 51 35
|
divne0d |
⊢ ( 𝜑 → ( ( ♯ ‘ 𝐵 ) / 𝐶 ) ≠ 0 ) |
53 |
46 52
|
eqnetrd |
⊢ ( 𝜑 → 𝐷 ≠ 0 ) |
54 |
53
|
neneqd |
⊢ ( 𝜑 → ¬ 𝐷 = 0 ) |
55 |
54
|
adantr |
⊢ ( ( 𝜑 ∧ ¬ ran 𝐻 ∈ Fin ) → ¬ 𝐷 = 0 ) |
56 |
45 55
|
condan |
⊢ ( 𝜑 → ran 𝐻 ∈ Fin ) |
57 |
56
|
iftrued |
⊢ ( 𝜑 → if ( ran 𝐻 ∈ Fin , ( ♯ ‘ ran 𝐻 ) , 0 ) = ( ♯ ‘ ran 𝐻 ) ) |
58 |
39 42 57
|
3eqtrrd |
⊢ ( 𝜑 → ( ♯ ‘ ran 𝐻 ) = 𝐷 ) |