Metamath Proof Explorer


Theorem ablfac1b

Description: Any abelian group is the direct product of factors of prime power order (with the exact order further matching the prime factorization of the group order). (Contributed by Mario Carneiro, 21-Apr-2016)

Ref Expression
Hypotheses ablfac1.b ⊢ B = Base G
ablfac1.o ⊢ O = od ⁡ G
ablfac1.s ⊢ S = p ∈ A ⟼ x ∈ B | O ⁡ x ∥ p p pCnt B
ablfac1.g ⊢ φ → G ∈ Abel
ablfac1.f ⊢ φ → B ∈ Fin
ablfac1.1 ⊢ φ → A ⊆ ℙ
Assertion ablfac1b ⊢ φ → G dom ⁡ DProd S

Proof

Step Hyp Ref Expression
1 ablfac1.b ⊢ B = Base G
2 ablfac1.o ⊢ O = od ⁡ G
3 ablfac1.s ⊢ S = p ∈ A ⟼ x ∈ B | O ⁡ x ∥ p p pCnt B
4 ablfac1.g ⊢ φ → G ∈ Abel
5 ablfac1.f ⊢ φ → B ∈ Fin
6 ablfac1.1 ⊢ φ → A ⊆ ℙ
7 eqid ⊢ Cntz ⁡ G = Cntz ⁡ G
8 eqid ⊢ 0 G = 0 G
9 eqid ⊢ mrCls ⁡ SubGrp ⁡ G = mrCls ⁡ SubGrp ⁡ G
10 ablgrp ⊢ G ∈ Abel → G ∈ Grp
11 4 10 syl ⊢ φ → G ∈ Grp
12 prmex ⊢ ℙ ∈ V
13 12 ssex ⊢ A ⊆ ℙ → A ∈ V
14 6 13 syl ⊢ φ → A ∈ V
15 4 adantr ⊢ φ ∧ p ∈ A → G ∈ Abel
16 6 sselda ⊢ φ ∧ p ∈ A → p ∈ ℙ
17 prmnn ⊢ p ∈ ℙ → p ∈ ℕ
18 16 17 syl ⊢ φ ∧ p ∈ A → p ∈ ℕ
19 1 grpbn0 ⊢ G ∈ Grp → B ≠ ∅
20 11 19 syl ⊢ φ → B ≠ ∅
21 hashnncl ⊢ B ∈ Fin → B ∈ ℕ ↔ B ≠ ∅
22 5 21 syl ⊢ φ → B ∈ ℕ ↔ B ≠ ∅
23 20 22 mpbird ⊢ φ → B ∈ ℕ
24 23 adantr ⊢ φ ∧ p ∈ A → B ∈ ℕ
25 16 24 pccld ⊢ φ ∧ p ∈ A → p pCnt B ∈ ℕ 0
26 18 25 nnexpcld ⊢ φ ∧ p ∈ A → p p pCnt B ∈ ℕ
27 26 nnzd ⊢ φ ∧ p ∈ A → p p pCnt B ∈ ℤ
28 2 1 oddvdssubg ⊢ G ∈ Abel ∧ p p pCnt B ∈ ℤ → x ∈ B | O ⁡ x ∥ p p pCnt B ∈ SubGrp ⁡ G
29 15 27 28 syl2anc ⊢ φ ∧ p ∈ A → x ∈ B | O ⁡ x ∥ p p pCnt B ∈ SubGrp ⁡ G
30 29 3 fmptd ⊢ φ → S : A ⟶ SubGrp ⁡ G
31 4 adantr ⊢ φ ∧ a ∈ A ∧ b ∈ A ∧ a ≠ b → G ∈ Abel
32 30 adantr ⊢ φ ∧ a ∈ A ∧ b ∈ A ∧ a ≠ b → S : A ⟶ SubGrp ⁡ G
33 simpr1 ⊢ φ ∧ a ∈ A ∧ b ∈ A ∧ a ≠ b → a ∈ A
34 32 33 ffvelcdmd ⊢ φ ∧ a ∈ A ∧ b ∈ A ∧ a ≠ b → S ⁡ a ∈ SubGrp ⁡ G
35 simpr2 ⊢ φ ∧ a ∈ A ∧ b ∈ A ∧ a ≠ b → b ∈ A
36 32 35 ffvelcdmd ⊢ φ ∧ a ∈ A ∧ b ∈ A ∧ a ≠ b → S ⁡ b ∈ SubGrp ⁡ G
37 7 31 34 36 ablcntzd ⊢ φ ∧ a ∈ A ∧ b ∈ A ∧ a ≠ b → S ⁡ a ⊆ Cntz ⁡ G ⁡ S ⁡ b
38 id ⊢ p = a → p = a
39 oveq1 ⊢ p = a → p pCnt B = a pCnt B
40 38 39 oveq12d ⊢ p = a → p p pCnt B = a a pCnt B
41 40 breq2d ⊢ p = a → O ⁡ x ∥ p p pCnt B ↔ O ⁡ x ∥ a a pCnt B
42 41 rabbidv ⊢ p = a → x ∈ B | O ⁡ x ∥ p p pCnt B = x ∈ B | O ⁡ x ∥ a a pCnt B
43 1 fvexi ⊢ B ∈ V
44 43 rabex ⊢ x ∈ B | O ⁡ x ∥ p p pCnt B ∈ V
45 42 3 44 fvmpt3i ⊢ a ∈ A → S ⁡ a = x ∈ B | O ⁡ x ∥ a a pCnt B
46 45 adantl ⊢ φ ∧ a ∈ A → S ⁡ a = x ∈ B | O ⁡ x ∥ a a pCnt B
47 eqimss ⊢ S ⁡ a = x ∈ B | O ⁡ x ∥ a a pCnt B → S ⁡ a ⊆ x ∈ B | O ⁡ x ∥ a a pCnt B
48 46 47 syl ⊢ φ ∧ a ∈ A → S ⁡ a ⊆ x ∈ B | O ⁡ x ∥ a a pCnt B
49 4 adantr ⊢ φ ∧ a ∈ A → G ∈ Abel
50 eqid ⊢ Base G = Base G
51 50 subgacs ⊢ G ∈ Grp → SubGrp ⁡ G ∈ ACS ⁡ Base G
52 acsmre ⊢ SubGrp ⁡ G ∈ ACS ⁡ Base G → SubGrp ⁡ G ∈ Moore ⁡ Base G
53 49 10 51 52 4syl ⊢ φ ∧ a ∈ A → SubGrp ⁡ G ∈ Moore ⁡ Base G
54 df-ima ⊢ S A ∖ a = ran ⁡ S ↾ A ∖ a
55 6 sselda ⊢ φ ∧ a ∈ A → a ∈ ℙ
56 55 ad2antrr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a ∈ ℙ
57 23 ad3antrrr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → B ∈ ℕ
58 pcdvds ⊢ a ∈ ℙ ∧ B ∈ ℕ → a a pCnt B ∥ B
59 56 57 58 syl2anc ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B ∥ B
60 6 ad3antrrr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → A ⊆ ℙ
61 eldifi ⊢ p ∈ A ∖ a → p ∈ A
62 61 ad2antlr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p ∈ A
63 60 62 sseldd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p ∈ ℙ
64 pcdvds ⊢ p ∈ ℙ ∧ B ∈ ℕ → p p pCnt B ∥ B
65 63 57 64 syl2anc ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p p pCnt B ∥ B
66 eqid ⊢ a a pCnt B = a a pCnt B
67 eqid ⊢ B a a pCnt B = B a a pCnt B
68 1 2 3 4 5 6 66 67 ablfac1lem ⊢ φ ∧ a ∈ A → a a pCnt B ∈ ℕ ∧ B a a pCnt B ∈ ℕ ∧ a a pCnt B gcd B a a pCnt B = 1 ∧ B = a a pCnt B ⁢ B a a pCnt B
69 68 simp1d ⊢ φ ∧ a ∈ A → a a pCnt B ∈ ℕ ∧ B a a pCnt B ∈ ℕ
70 69 simpld ⊢ φ ∧ a ∈ A → a a pCnt B ∈ ℕ
71 70 ad2antrr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B ∈ ℕ
72 71 nnzd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B ∈ ℤ
73 63 17 syl ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p ∈ ℕ
74 63 57 pccld ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p pCnt B ∈ ℕ 0
75 73 74 nnexpcld ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p p pCnt B ∈ ℕ
76 75 nnzd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p p pCnt B ∈ ℤ
77 57 nnzd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → B ∈ ℤ
78 eldifsni ⊢ p ∈ A ∖ a → p ≠ a
79 78 ad2antlr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p ≠ a
80 79 necomd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a ≠ p
81 prmrp ⊢ a ∈ ℙ ∧ p ∈ ℙ → a gcd p = 1 ↔ a ≠ p
82 56 63 81 syl2anc ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a gcd p = 1 ↔ a ≠ p
83 80 82 mpbird ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a gcd p = 1
84 prmz ⊢ a ∈ ℙ → a ∈ ℤ
85 56 84 syl ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a ∈ ℤ
86 prmz ⊢ p ∈ ℙ → p ∈ ℤ
87 63 86 syl ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p ∈ ℤ
88 56 57 pccld ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a pCnt B ∈ ℕ 0
89 rpexp12i ⊢ a ∈ ℤ ∧ p ∈ ℤ ∧ a pCnt B ∈ ℕ 0 ∧ p pCnt B ∈ ℕ 0 → a gcd p = 1 → a a pCnt B gcd p p pCnt B = 1
90 85 87 88 74 89 syl112anc ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a gcd p = 1 → a a pCnt B gcd p p pCnt B = 1
91 83 90 mpd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B gcd p p pCnt B = 1
92 coprmdvds2 ⊢ a a pCnt B ∈ ℤ ∧ p p pCnt B ∈ ℤ ∧ B ∈ ℤ ∧ a a pCnt B gcd p p pCnt B = 1 → a a pCnt B ∥ B ∧ p p pCnt B ∥ B → a a pCnt B ⁢ p p pCnt B ∥ B
93 72 76 77 91 92 syl31anc ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B ∥ B ∧ p p pCnt B ∥ B → a a pCnt B ⁢ p p pCnt B ∥ B
94 59 65 93 mp2and ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B ⁢ p p pCnt B ∥ B
95 68 simp3d ⊢ φ ∧ a ∈ A → B = a a pCnt B ⁢ B a a pCnt B
96 95 ad2antrr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → B = a a pCnt B ⁢ B a a pCnt B
97 94 96 breqtrd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B ⁢ p p pCnt B ∥ a a pCnt B ⁢ B a a pCnt B
98 69 simprd ⊢ φ ∧ a ∈ A → B a a pCnt B ∈ ℕ
99 98 ad2antrr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → B a a pCnt B ∈ ℕ
100 99 nnzd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → B a a pCnt B ∈ ℤ
101 71 nnne0d ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B ≠ 0
102 dvdscmulr ⊢ p p pCnt B ∈ ℤ ∧ B a a pCnt B ∈ ℤ ∧ a a pCnt B ∈ ℤ ∧ a a pCnt B ≠ 0 → a a pCnt B ⁢ p p pCnt B ∥ a a pCnt B ⁢ B a a pCnt B ↔ p p pCnt B ∥ B a a pCnt B
103 76 100 72 101 102 syl112anc ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → a a pCnt B ⁢ p p pCnt B ∥ a a pCnt B ⁢ B a a pCnt B ↔ p p pCnt B ∥ B a a pCnt B
104 97 103 mpbid ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → p p pCnt B ∥ B a a pCnt B
105 1 2 odcl ⊢ x ∈ B → O ⁡ x ∈ ℕ 0
106 105 adantl ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → O ⁡ x ∈ ℕ 0
107 106 nn0zd ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → O ⁡ x ∈ ℤ
108 dvdstr ⊢ O ⁡ x ∈ ℤ ∧ p p pCnt B ∈ ℤ ∧ B a a pCnt B ∈ ℤ → O ⁡ x ∥ p p pCnt B ∧ p p pCnt B ∥ B a a pCnt B → O ⁡ x ∥ B a a pCnt B
109 107 76 100 108 syl3anc ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → O ⁡ x ∥ p p pCnt B ∧ p p pCnt B ∥ B a a pCnt B → O ⁡ x ∥ B a a pCnt B
110 104 109 mpan2d ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a ∧ x ∈ B → O ⁡ x ∥ p p pCnt B → O ⁡ x ∥ B a a pCnt B
111 110 ss2rabdv ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a → x ∈ B | O ⁡ x ∥ p p pCnt B ⊆ x ∈ B | O ⁡ x ∥ B a a pCnt B
112 44 elpw ⊢ x ∈ B | O ⁡ x ∥ p p pCnt B ∈ 𝒫 x ∈ B | O ⁡ x ∥ B a a pCnt B ↔ x ∈ B | O ⁡ x ∥ p p pCnt B ⊆ x ∈ B | O ⁡ x ∥ B a a pCnt B
113 111 112 sylibr ⊢ φ ∧ a ∈ A ∧ p ∈ A ∖ a → x ∈ B | O ⁡ x ∥ p p pCnt B ∈ 𝒫 x ∈ B | O ⁡ x ∥ B a a pCnt B
114 3 reseq1i ⊢ S ↾ A ∖ a = p ∈ A ⟼ x ∈ B | O ⁡ x ∥ p p pCnt B ↾ A ∖ a
115 difss ⊢ A ∖ a ⊆ A
116 resmpt ⊢ A ∖ a ⊆ A → p ∈ A ⟼ x ∈ B | O ⁡ x ∥ p p pCnt B ↾ A ∖ a = p ∈ A ∖ a ⟼ x ∈ B | O ⁡ x ∥ p p pCnt B
117 115 116 ax-mp ⊢ p ∈ A ⟼ x ∈ B | O ⁡ x ∥ p p pCnt B ↾ A ∖ a = p ∈ A ∖ a ⟼ x ∈ B | O ⁡ x ∥ p p pCnt B
118 114 117 eqtri ⊢ S ↾ A ∖ a = p ∈ A ∖ a ⟼ x ∈ B | O ⁡ x ∥ p p pCnt B
119 113 118 fmptd ⊢ φ ∧ a ∈ A → S ↾ A ∖ a : A ∖ a ⟶ 𝒫 x ∈ B | O ⁡ x ∥ B a a pCnt B
120 119 frnd ⊢ φ ∧ a ∈ A → ran ⁡ S ↾ A ∖ a ⊆ 𝒫 x ∈ B | O ⁡ x ∥ B a a pCnt B
121 54 120 eqsstrid ⊢ φ ∧ a ∈ A → S A ∖ a ⊆ 𝒫 x ∈ B | O ⁡ x ∥ B a a pCnt B
122 sspwuni ⊢ S A ∖ a ⊆ 𝒫 x ∈ B | O ⁡ x ∥ B a a pCnt B ↔ ⋃ S A ∖ a ⊆ x ∈ B | O ⁡ x ∥ B a a pCnt B
123 121 122 sylib ⊢ φ ∧ a ∈ A → ⋃ S A ∖ a ⊆ x ∈ B | O ⁡ x ∥ B a a pCnt B
124 98 nnzd ⊢ φ ∧ a ∈ A → B a a pCnt B ∈ ℤ
125 2 1 oddvdssubg ⊢ G ∈ Abel ∧ B a a pCnt B ∈ ℤ → x ∈ B | O ⁡ x ∥ B a a pCnt B ∈ SubGrp ⁡ G
126 49 124 125 syl2anc ⊢ φ ∧ a ∈ A → x ∈ B | O ⁡ x ∥ B a a pCnt B ∈ SubGrp ⁡ G
127 9 mrcsscl ⊢ SubGrp ⁡ G ∈ Moore ⁡ Base G ∧ ⋃ S A ∖ a ⊆ x ∈ B | O ⁡ x ∥ B a a pCnt B ∧ x ∈ B | O ⁡ x ∥ B a a pCnt B ∈ SubGrp ⁡ G → mrCls ⁡ SubGrp ⁡ G ⁡ ⋃ S A ∖ a ⊆ x ∈ B | O ⁡ x ∥ B a a pCnt B
128 53 123 126 127 syl3anc ⊢ φ ∧ a ∈ A → mrCls ⁡ SubGrp ⁡ G ⁡ ⋃ S A ∖ a ⊆ x ∈ B | O ⁡ x ∥ B a a pCnt B
129 ss2in ⊢ S ⁡ a ⊆ x ∈ B | O ⁡ x ∥ a a pCnt B ∧ mrCls ⁡ SubGrp ⁡ G ⁡ ⋃ S A ∖ a ⊆ x ∈ B | O ⁡ x ∥ B a a pCnt B → S ⁡ a ∩ mrCls ⁡ SubGrp ⁡ G ⁡ ⋃ S A ∖ a ⊆ x ∈ B | O ⁡ x ∥ a a pCnt B ∩ x ∈ B | O ⁡ x ∥ B a a pCnt B
130 48 128 129 syl2anc ⊢ φ ∧ a ∈ A → S ⁡ a ∩ mrCls ⁡ SubGrp ⁡ G ⁡ ⋃ S A ∖ a ⊆ x ∈ B | O ⁡ x ∥ a a pCnt B ∩ x ∈ B | O ⁡ x ∥ B a a pCnt B
131 eqid ⊢ x ∈ B | O ⁡ x ∥ a a pCnt B = x ∈ B | O ⁡ x ∥ a a pCnt B
132 eqid ⊢ x ∈ B | O ⁡ x ∥ B a a pCnt B = x ∈ B | O ⁡ x ∥ B a a pCnt B
133 68 simp2d ⊢ φ ∧ a ∈ A → a a pCnt B gcd B a a pCnt B = 1
134 eqid ⊢ LSSum ⁡ G = LSSum ⁡ G
135 1 2 131 132 49 70 98 133 95 8 134 ablfacrp ⊢ φ ∧ a ∈ A → x ∈ B | O ⁡ x ∥ a a pCnt B ∩ x ∈ B | O ⁡ x ∥ B a a pCnt B = 0 G ∧ x ∈ B | O ⁡ x ∥ a a pCnt B LSSum ⁡ G x ∈ B | O ⁡ x ∥ B a a pCnt B = B
136 135 simpld ⊢ φ ∧ a ∈ A → x ∈ B | O ⁡ x ∥ a a pCnt B ∩ x ∈ B | O ⁡ x ∥ B a a pCnt B = 0 G
137 130 136 sseqtrd ⊢ φ ∧ a ∈ A → S ⁡ a ∩ mrCls ⁡ SubGrp ⁡ G ⁡ ⋃ S A ∖ a ⊆ 0 G
138 7 8 9 11 14 30 37 137 dmdprdd ⊢ φ → G dom ⁡ DProd S