Metamath Proof Explorer


Theorem ablfac1c

Description: The factors of ablfac1b cover the entire group. (Contributed by Mario Carneiro, 21-Apr-2016)

Ref Expression
Hypotheses ablfac1.b 𝐵 = ( Base ‘ 𝐺 )
ablfac1.o 𝑂 = ( od ‘ 𝐺 )
ablfac1.s 𝑆 = ( 𝑝𝐴 ↦ { 𝑥𝐵 ∣ ( 𝑂𝑥 ) ∥ ( 𝑝 ↑ ( 𝑝 pCnt ( ♯ ‘ 𝐵 ) ) ) } )
ablfac1.g ( 𝜑𝐺 ∈ Abel )
ablfac1.f ( 𝜑𝐵 ∈ Fin )
ablfac1.1 ( 𝜑𝐴 ⊆ ℙ )
ablfac1c.d 𝐷 = { 𝑤 ∈ ℙ ∣ 𝑤 ∥ ( ♯ ‘ 𝐵 ) }
ablfac1.2 ( 𝜑𝐷𝐴 )
Assertion ablfac1c ( 𝜑 → ( 𝐺 DProd 𝑆 ) = 𝐵 )

Proof

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 ablfac1c.d 𝐷 = { 𝑤 ∈ ℙ ∣ 𝑤 ∥ ( ♯ ‘ 𝐵 ) }
8 ablfac1.2 ( 𝜑𝐷𝐴 )
9 1 dprdssv ( 𝐺 DProd 𝑆 ) ⊆ 𝐵
10 9 a1i ( 𝜑 → ( 𝐺 DProd 𝑆 ) ⊆ 𝐵 )
11 ssfi ( ( 𝐵 ∈ Fin ∧ ( 𝐺 DProd 𝑆 ) ⊆ 𝐵 ) → ( 𝐺 DProd 𝑆 ) ∈ Fin )
12 5 9 11 sylancl ( 𝜑 → ( 𝐺 DProd 𝑆 ) ∈ Fin )
13 hashcl ( ( 𝐺 DProd 𝑆 ) ∈ Fin → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℕ0 )
14 12 13 syl ( 𝜑 → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℕ0 )
15 hashcl ( 𝐵 ∈ Fin → ( ♯ ‘ 𝐵 ) ∈ ℕ0 )
16 5 15 syl ( 𝜑 → ( ♯ ‘ 𝐵 ) ∈ ℕ0 )
17 1 2 3 4 5 6 ablfac1b ( 𝜑𝐺 dom DProd 𝑆 )
18 dprdsubg ( 𝐺 dom DProd 𝑆 → ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) )
19 17 18 syl ( 𝜑 → ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) )
20 1 lagsubg ( ( ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) ∧ 𝐵 ∈ Fin ) → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∥ ( ♯ ‘ 𝐵 ) )
21 19 5 20 syl2anc ( 𝜑 → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∥ ( ♯ ‘ 𝐵 ) )
22 breq1 ( 𝑤 = 𝑞 → ( 𝑤 ∥ ( ♯ ‘ 𝐵 ) ↔ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) )
23 22 7 elrab2 ( 𝑞𝐷 ↔ ( 𝑞 ∈ ℙ ∧ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) )
24 8 sseld ( 𝜑 → ( 𝑞𝐷𝑞𝐴 ) )
25 23 24 syl5bir ( 𝜑 → ( ( 𝑞 ∈ ℙ ∧ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) → 𝑞𝐴 ) )
26 25 impl ( ( ( 𝜑𝑞 ∈ ℙ ) ∧ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) → 𝑞𝐴 )
27 1 2 3 4 5 6 ablfac1a ( ( 𝜑𝑞𝐴 ) → ( ♯ ‘ ( 𝑆𝑞 ) ) = ( 𝑞 ↑ ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ) )
28 1 fvexi 𝐵 ∈ V
29 28 rabex { 𝑥𝐵 ∣ ( 𝑂𝑥 ) ∥ ( 𝑝 ↑ ( 𝑝 pCnt ( ♯ ‘ 𝐵 ) ) ) } ∈ V
30 29 3 dmmpti dom 𝑆 = 𝐴
31 30 a1i ( 𝜑 → dom 𝑆 = 𝐴 )
32 17 31 dprdf2 ( 𝜑𝑆 : 𝐴 ⟶ ( SubGrp ‘ 𝐺 ) )
33 32 ffvelrnda ( ( 𝜑𝑞𝐴 ) → ( 𝑆𝑞 ) ∈ ( SubGrp ‘ 𝐺 ) )
34 17 adantr ( ( 𝜑𝑞𝐴 ) → 𝐺 dom DProd 𝑆 )
35 30 a1i ( ( 𝜑𝑞𝐴 ) → dom 𝑆 = 𝐴 )
36 simpr ( ( 𝜑𝑞𝐴 ) → 𝑞𝐴 )
37 34 35 36 dprdub ( ( 𝜑𝑞𝐴 ) → ( 𝑆𝑞 ) ⊆ ( 𝐺 DProd 𝑆 ) )
38 19 adantr ( ( 𝜑𝑞𝐴 ) → ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) )
39 eqid ( 𝐺s ( 𝐺 DProd 𝑆 ) ) = ( 𝐺s ( 𝐺 DProd 𝑆 ) )
40 39 subsubg ( ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) → ( ( 𝑆𝑞 ) ∈ ( SubGrp ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) ↔ ( ( 𝑆𝑞 ) ∈ ( SubGrp ‘ 𝐺 ) ∧ ( 𝑆𝑞 ) ⊆ ( 𝐺 DProd 𝑆 ) ) ) )
41 38 40 syl ( ( 𝜑𝑞𝐴 ) → ( ( 𝑆𝑞 ) ∈ ( SubGrp ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) ↔ ( ( 𝑆𝑞 ) ∈ ( SubGrp ‘ 𝐺 ) ∧ ( 𝑆𝑞 ) ⊆ ( 𝐺 DProd 𝑆 ) ) ) )
42 33 37 41 mpbir2and ( ( 𝜑𝑞𝐴 ) → ( 𝑆𝑞 ) ∈ ( SubGrp ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) )
43 39 subgbas ( ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) → ( 𝐺 DProd 𝑆 ) = ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) )
44 38 43 syl ( ( 𝜑𝑞𝐴 ) → ( 𝐺 DProd 𝑆 ) = ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) )
45 12 adantr ( ( 𝜑𝑞𝐴 ) → ( 𝐺 DProd 𝑆 ) ∈ Fin )
46 44 45 eqeltrrd ( ( 𝜑𝑞𝐴 ) → ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) ∈ Fin )
47 eqid ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) = ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) )
48 47 lagsubg ( ( ( 𝑆𝑞 ) ∈ ( SubGrp ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) ∧ ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) ∈ Fin ) → ( ♯ ‘ ( 𝑆𝑞 ) ) ∥ ( ♯ ‘ ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) ) )
49 42 46 48 syl2anc ( ( 𝜑𝑞𝐴 ) → ( ♯ ‘ ( 𝑆𝑞 ) ) ∥ ( ♯ ‘ ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) ) )
50 44 fveq2d ( ( 𝜑𝑞𝐴 ) → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) = ( ♯ ‘ ( Base ‘ ( 𝐺s ( 𝐺 DProd 𝑆 ) ) ) ) )
51 49 50 breqtrrd ( ( 𝜑𝑞𝐴 ) → ( ♯ ‘ ( 𝑆𝑞 ) ) ∥ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) )
52 27 51 eqbrtrrd ( ( 𝜑𝑞𝐴 ) → ( 𝑞 ↑ ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ) ∥ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) )
53 6 sselda ( ( 𝜑𝑞𝐴 ) → 𝑞 ∈ ℙ )
54 14 nn0zd ( 𝜑 → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℤ )
55 54 adantr ( ( 𝜑𝑞𝐴 ) → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℤ )
56 simpr ( ( 𝜑𝑞 ∈ ℙ ) → 𝑞 ∈ ℙ )
57 ablgrp ( 𝐺 ∈ Abel → 𝐺 ∈ Grp )
58 1 grpbn0 ( 𝐺 ∈ Grp → 𝐵 ≠ ∅ )
59 4 57 58 3syl ( 𝜑𝐵 ≠ ∅ )
60 hashnncl ( 𝐵 ∈ Fin → ( ( ♯ ‘ 𝐵 ) ∈ ℕ ↔ 𝐵 ≠ ∅ ) )
61 5 60 syl ( 𝜑 → ( ( ♯ ‘ 𝐵 ) ∈ ℕ ↔ 𝐵 ≠ ∅ ) )
62 59 61 mpbird ( 𝜑 → ( ♯ ‘ 𝐵 ) ∈ ℕ )
63 62 adantr ( ( 𝜑𝑞 ∈ ℙ ) → ( ♯ ‘ 𝐵 ) ∈ ℕ )
64 56 63 pccld ( ( 𝜑𝑞 ∈ ℙ ) → ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ∈ ℕ0 )
65 53 64 syldan ( ( 𝜑𝑞𝐴 ) → ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ∈ ℕ0 )
66 pcdvdsb ( ( 𝑞 ∈ ℙ ∧ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℤ ∧ ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ∈ ℕ0 ) → ( ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) ↔ ( 𝑞 ↑ ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ) ∥ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
67 53 55 65 66 syl3anc ( ( 𝜑𝑞𝐴 ) → ( ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) ↔ ( 𝑞 ↑ ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ) ∥ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
68 52 67 mpbird ( ( 𝜑𝑞𝐴 ) → ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
69 68 adantlr ( ( ( 𝜑𝑞 ∈ ℙ ) ∧ 𝑞𝐴 ) → ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
70 26 69 syldan ( ( ( 𝜑𝑞 ∈ ℙ ) ∧ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) → ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
71 pceq0 ( ( 𝑞 ∈ ℙ ∧ ( ♯ ‘ 𝐵 ) ∈ ℕ ) → ( ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) = 0 ↔ ¬ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) )
72 56 63 71 syl2anc ( ( 𝜑𝑞 ∈ ℙ ) → ( ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) = 0 ↔ ¬ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) )
73 72 biimpar ( ( ( 𝜑𝑞 ∈ ℙ ) ∧ ¬ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) → ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) = 0 )
74 eqid ( 0g𝐺 ) = ( 0g𝐺 )
75 74 subg0cl ( ( 𝐺 DProd 𝑆 ) ∈ ( SubGrp ‘ 𝐺 ) → ( 0g𝐺 ) ∈ ( 𝐺 DProd 𝑆 ) )
76 ne0i ( ( 0g𝐺 ) ∈ ( 𝐺 DProd 𝑆 ) → ( 𝐺 DProd 𝑆 ) ≠ ∅ )
77 19 75 76 3syl ( 𝜑 → ( 𝐺 DProd 𝑆 ) ≠ ∅ )
78 hashnncl ( ( 𝐺 DProd 𝑆 ) ∈ Fin → ( ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℕ ↔ ( 𝐺 DProd 𝑆 ) ≠ ∅ ) )
79 12 78 syl ( 𝜑 → ( ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℕ ↔ ( 𝐺 DProd 𝑆 ) ≠ ∅ ) )
80 77 79 mpbird ( 𝜑 → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℕ )
81 80 adantr ( ( 𝜑𝑞 ∈ ℙ ) → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℕ )
82 56 81 pccld ( ( 𝜑𝑞 ∈ ℙ ) → ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) ∈ ℕ0 )
83 82 nn0ge0d ( ( 𝜑𝑞 ∈ ℙ ) → 0 ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
84 83 adantr ( ( ( 𝜑𝑞 ∈ ℙ ) ∧ ¬ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) → 0 ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
85 73 84 eqbrtrd ( ( ( 𝜑𝑞 ∈ ℙ ) ∧ ¬ 𝑞 ∥ ( ♯ ‘ 𝐵 ) ) → ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
86 70 85 pm2.61dan ( ( 𝜑𝑞 ∈ ℙ ) → ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
87 86 ralrimiva ( 𝜑 → ∀ 𝑞 ∈ ℙ ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) )
88 16 nn0zd ( 𝜑 → ( ♯ ‘ 𝐵 ) ∈ ℤ )
89 pc2dvds ( ( ( ♯ ‘ 𝐵 ) ∈ ℤ ∧ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℤ ) → ( ( ♯ ‘ 𝐵 ) ∥ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ↔ ∀ 𝑞 ∈ ℙ ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) ) )
90 88 54 89 syl2anc ( 𝜑 → ( ( ♯ ‘ 𝐵 ) ∥ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ↔ ∀ 𝑞 ∈ ℙ ( 𝑞 pCnt ( ♯ ‘ 𝐵 ) ) ≤ ( 𝑞 pCnt ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) ) )
91 87 90 mpbird ( 𝜑 → ( ♯ ‘ 𝐵 ) ∥ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) )
92 dvdseq ( ( ( ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∈ ℕ0 ∧ ( ♯ ‘ 𝐵 ) ∈ ℕ0 ) ∧ ( ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ∥ ( ♯ ‘ 𝐵 ) ∧ ( ♯ ‘ 𝐵 ) ∥ ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) ) ) → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) = ( ♯ ‘ 𝐵 ) )
93 14 16 21 91 92 syl22anc ( 𝜑 → ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) = ( ♯ ‘ 𝐵 ) )
94 hashen ( ( ( 𝐺 DProd 𝑆 ) ∈ Fin ∧ 𝐵 ∈ Fin ) → ( ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) = ( ♯ ‘ 𝐵 ) ↔ ( 𝐺 DProd 𝑆 ) ≈ 𝐵 ) )
95 12 5 94 syl2anc ( 𝜑 → ( ( ♯ ‘ ( 𝐺 DProd 𝑆 ) ) = ( ♯ ‘ 𝐵 ) ↔ ( 𝐺 DProd 𝑆 ) ≈ 𝐵 ) )
96 93 95 mpbid ( 𝜑 → ( 𝐺 DProd 𝑆 ) ≈ 𝐵 )
97 fisseneq ( ( 𝐵 ∈ Fin ∧ ( 𝐺 DProd 𝑆 ) ⊆ 𝐵 ∧ ( 𝐺 DProd 𝑆 ) ≈ 𝐵 ) → ( 𝐺 DProd 𝑆 ) = 𝐵 )
98 5 10 96 97 syl3anc ( 𝜑 → ( 𝐺 DProd 𝑆 ) = 𝐵 )