Metamath Proof Explorer < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >  ablfac1b Structured version   Visualization version   GIF version

Theorem ablfac1b 18292
 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.)
Hypotheses
Ref Expression
ablfac1.b 𝐵 = (Base‘𝐺)
ablfac1.o 𝑂 = (od‘𝐺)
ablfac1.s 𝑆 = (𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))})
ablfac1.g (𝜑𝐺 ∈ Abel)
ablfac1.f (𝜑𝐵 ∈ Fin)
ablfac1.1 (𝜑𝐴 ⊆ ℙ)
Assertion
Ref Expression
ablfac1b (𝜑𝐺dom DProd 𝑆)
Distinct variable groups:   𝑥,𝑝,𝐵   𝜑,𝑝,𝑥   𝐴,𝑝,𝑥   𝑂,𝑝,𝑥   𝐺,𝑝,𝑥
Allowed substitution hints:   𝑆(𝑥,𝑝)

Proof of Theorem ablfac1b
Dummy variables 𝑎 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2610 . 2 (Cntz‘𝐺) = (Cntz‘𝐺)
2 eqid 2610 . 2 (0g𝐺) = (0g𝐺)
3 eqid 2610 . 2 (mrCls‘(SubGrp‘𝐺)) = (mrCls‘(SubGrp‘𝐺))
4 ablfac1.g . . 3 (𝜑𝐺 ∈ Abel)
5 ablgrp 18021 . . 3 (𝐺 ∈ Abel → 𝐺 ∈ Grp)
64, 5syl 17 . 2 (𝜑𝐺 ∈ Grp)
7 ablfac1.1 . . 3 (𝜑𝐴 ⊆ ℙ)
8 nnex 10903 . . . . 5 ℕ ∈ V
9 prmnn 15226 . . . . . 6 (𝑝 ∈ ℙ → 𝑝 ∈ ℕ)
109ssriv 3572 . . . . 5 ℙ ⊆ ℕ
118, 10ssexi 4731 . . . 4 ℙ ∈ V
1211ssex 4730 . . 3 (𝐴 ⊆ ℙ → 𝐴 ∈ V)
137, 12syl 17 . 2 (𝜑𝐴 ∈ V)
144adantr 480 . . . 4 ((𝜑𝑝𝐴) → 𝐺 ∈ Abel)
157sselda 3568 . . . . . . 7 ((𝜑𝑝𝐴) → 𝑝 ∈ ℙ)
1615, 9syl 17 . . . . . 6 ((𝜑𝑝𝐴) → 𝑝 ∈ ℕ)
17 ablfac1.b . . . . . . . . . . 11 𝐵 = (Base‘𝐺)
1817grpbn0 17274 . . . . . . . . . 10 (𝐺 ∈ Grp → 𝐵 ≠ ∅)
196, 18syl 17 . . . . . . . . 9 (𝜑𝐵 ≠ ∅)
20 ablfac1.f . . . . . . . . . 10 (𝜑𝐵 ∈ Fin)
21 hashnncl 13018 . . . . . . . . . 10 (𝐵 ∈ Fin → ((#‘𝐵) ∈ ℕ ↔ 𝐵 ≠ ∅))
2220, 21syl 17 . . . . . . . . 9 (𝜑 → ((#‘𝐵) ∈ ℕ ↔ 𝐵 ≠ ∅))
2319, 22mpbird 246 . . . . . . . 8 (𝜑 → (#‘𝐵) ∈ ℕ)
2423adantr 480 . . . . . . 7 ((𝜑𝑝𝐴) → (#‘𝐵) ∈ ℕ)
2515, 24pccld 15393 . . . . . 6 ((𝜑𝑝𝐴) → (𝑝 pCnt (#‘𝐵)) ∈ ℕ0)
2616, 25nnexpcld 12892 . . . . 5 ((𝜑𝑝𝐴) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℕ)
2726nnzd 11357 . . . 4 ((𝜑𝑝𝐴) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ)
28 ablfac1.o . . . . 5 𝑂 = (od‘𝐺)
2928, 17oddvdssubg 18081 . . . 4 ((𝐺 ∈ Abel ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ (SubGrp‘𝐺))
3014, 27, 29syl2anc 691 . . 3 ((𝜑𝑝𝐴) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ (SubGrp‘𝐺))
31 ablfac1.s . . 3 𝑆 = (𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))})
3230, 31fmptd 6292 . 2 (𝜑𝑆:𝐴⟶(SubGrp‘𝐺))
334adantr 480 . . 3 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → 𝐺 ∈ Abel)
3432adantr 480 . . . 4 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → 𝑆:𝐴⟶(SubGrp‘𝐺))
35 simpr1 1060 . . . 4 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → 𝑎𝐴)
3634, 35ffvelrnd 6268 . . 3 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → (𝑆𝑎) ∈ (SubGrp‘𝐺))
37 simpr2 1061 . . . 4 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → 𝑏𝐴)
3834, 37ffvelrnd 6268 . . 3 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → (𝑆𝑏) ∈ (SubGrp‘𝐺))
391, 33, 36, 38ablcntzd 18083 . 2 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → (𝑆𝑎) ⊆ ((Cntz‘𝐺)‘(𝑆𝑏)))
40 id 22 . . . . . . . . . 10 (𝑝 = 𝑎𝑝 = 𝑎)
41 oveq1 6556 . . . . . . . . . 10 (𝑝 = 𝑎 → (𝑝 pCnt (#‘𝐵)) = (𝑎 pCnt (#‘𝐵)))
4240, 41oveq12d 6567 . . . . . . . . 9 (𝑝 = 𝑎 → (𝑝↑(𝑝 pCnt (#‘𝐵))) = (𝑎↑(𝑎 pCnt (#‘𝐵))))
4342breq2d 4595 . . . . . . . 8 (𝑝 = 𝑎 → ((𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵))) ↔ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))))
4443rabbidv 3164 . . . . . . 7 (𝑝 = 𝑎 → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
45 fvex 6113 . . . . . . . . 9 (Base‘𝐺) ∈ V
4617, 45eqeltri 2684 . . . . . . . 8 𝐵 ∈ V
4746rabex 4740 . . . . . . 7 {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ V
4844, 31, 47fvmpt3i 6196 . . . . . 6 (𝑎𝐴 → (𝑆𝑎) = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
4948adantl 481 . . . . 5 ((𝜑𝑎𝐴) → (𝑆𝑎) = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
50 eqimss 3620 . . . . 5 ((𝑆𝑎) = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} → (𝑆𝑎) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
5149, 50syl 17 . . . 4 ((𝜑𝑎𝐴) → (𝑆𝑎) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
524adantr 480 . . . . . 6 ((𝜑𝑎𝐴) → 𝐺 ∈ Abel)
53 eqid 2610 . . . . . . 7 (Base‘𝐺) = (Base‘𝐺)
5453subgacs 17452 . . . . . 6 (𝐺 ∈ Grp → (SubGrp‘𝐺) ∈ (ACS‘(Base‘𝐺)))
55 acsmre 16136 . . . . . 6 ((SubGrp‘𝐺) ∈ (ACS‘(Base‘𝐺)) → (SubGrp‘𝐺) ∈ (Moore‘(Base‘𝐺)))
5652, 5, 54, 554syl 19 . . . . 5 ((𝜑𝑎𝐴) → (SubGrp‘𝐺) ∈ (Moore‘(Base‘𝐺)))
57 df-ima 5051 . . . . . . 7 (𝑆 “ (𝐴 ∖ {𝑎})) = ran (𝑆 ↾ (𝐴 ∖ {𝑎}))
587sselda 3568 . . . . . . . . . . . . . . . . 17 ((𝜑𝑎𝐴) → 𝑎 ∈ ℙ)
5958ad2antrr 758 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑎 ∈ ℙ)
6023ad3antrrr 762 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (#‘𝐵) ∈ ℕ)
61 pcdvds 15406 . . . . . . . . . . . . . . . 16 ((𝑎 ∈ ℙ ∧ (#‘𝐵) ∈ ℕ) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∥ (#‘𝐵))
6259, 60, 61syl2anc 691 . . . . . . . . . . . . . . 15 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∥ (#‘𝐵))
637ad3antrrr 762 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝐴 ⊆ ℙ)
64 eldifi 3694 . . . . . . . . . . . . . . . . . 18 (𝑝 ∈ (𝐴 ∖ {𝑎}) → 𝑝𝐴)
6564ad2antlr 759 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝𝐴)
6663, 65sseldd 3569 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝 ∈ ℙ)
67 pcdvds 15406 . . . . . . . . . . . . . . . 16 ((𝑝 ∈ ℙ ∧ (#‘𝐵) ∈ ℕ) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ (#‘𝐵))
6866, 60, 67syl2anc 691 . . . . . . . . . . . . . . 15 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ (#‘𝐵))
69 eqid 2610 . . . . . . . . . . . . . . . . . . . . 21 (𝑎↑(𝑎 pCnt (#‘𝐵))) = (𝑎↑(𝑎 pCnt (#‘𝐵)))
70 eqid 2610 . . . . . . . . . . . . . . . . . . . . 21 ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) = ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))
7117, 28, 31, 4, 20, 7, 69, 70ablfac1lem 18290 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑎𝐴) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℕ ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℕ) ∧ ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) = 1 ∧ (#‘𝐵) = ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))))))
7271simp1d 1066 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑎𝐴) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℕ ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℕ))
7372simpld 474 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑎𝐴) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℕ)
7473ad2antrr 758 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℕ)
7574nnzd 11357 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℤ)
7666, 9syl 17 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝 ∈ ℕ)
7766, 60pccld 15393 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝 pCnt (#‘𝐵)) ∈ ℕ0)
7876, 77nnexpcld 12892 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℕ)
7978nnzd 11357 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ)
8060nnzd 11357 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (#‘𝐵) ∈ ℤ)
81 eldifsni 4261 . . . . . . . . . . . . . . . . . . . 20 (𝑝 ∈ (𝐴 ∖ {𝑎}) → 𝑝𝑎)
8281ad2antlr 759 . . . . . . . . . . . . . . . . . . 19 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝𝑎)
8382necomd 2837 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑎𝑝)
84 prmrp 15262 . . . . . . . . . . . . . . . . . . 19 ((𝑎 ∈ ℙ ∧ 𝑝 ∈ ℙ) → ((𝑎 gcd 𝑝) = 1 ↔ 𝑎𝑝))
8559, 66, 84syl2anc 691 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎 gcd 𝑝) = 1 ↔ 𝑎𝑝))
8683, 85mpbird 246 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎 gcd 𝑝) = 1)
87 prmz 15227 . . . . . . . . . . . . . . . . . . 19 (𝑎 ∈ ℙ → 𝑎 ∈ ℤ)
8859, 87syl 17 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑎 ∈ ℤ)
89 prmz 15227 . . . . . . . . . . . . . . . . . . 19 (𝑝 ∈ ℙ → 𝑝 ∈ ℤ)
9066, 89syl 17 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝 ∈ ℤ)
9159, 60pccld 15393 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎 pCnt (#‘𝐵)) ∈ ℕ0)
92 rpexp12i 15272 . . . . . . . . . . . . . . . . . 18 ((𝑎 ∈ ℤ ∧ 𝑝 ∈ ℤ ∧ ((𝑎 pCnt (#‘𝐵)) ∈ ℕ0 ∧ (𝑝 pCnt (#‘𝐵)) ∈ ℕ0)) → ((𝑎 gcd 𝑝) = 1 → ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd (𝑝↑(𝑝 pCnt (#‘𝐵)))) = 1))
9388, 90, 91, 77, 92syl112anc 1322 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎 gcd 𝑝) = 1 → ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd (𝑝↑(𝑝 pCnt (#‘𝐵)))) = 1))
9486, 93mpd 15 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd (𝑝↑(𝑝 pCnt (#‘𝐵)))) = 1)
95 coprmdvds2 15206 . . . . . . . . . . . . . . . 16 ((((𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℤ ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ ∧ (#‘𝐵) ∈ ℤ) ∧ ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd (𝑝↑(𝑝 pCnt (#‘𝐵)))) = 1) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) ∥ (#‘𝐵) ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ (#‘𝐵)) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ (#‘𝐵)))
9675, 79, 80, 94, 95syl31anc 1321 . . . . . . . . . . . . . . 15 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) ∥ (#‘𝐵) ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ (#‘𝐵)) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ (#‘𝐵)))
9762, 68, 96mp2and 711 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ (#‘𝐵))
9871simp3d 1068 . . . . . . . . . . . . . . 15 ((𝜑𝑎𝐴) → (#‘𝐵) = ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
9998ad2antrr 758 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (#‘𝐵) = ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
10097, 99breqtrd 4609 . . . . . . . . . . . . 13 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
10172simprd 478 . . . . . . . . . . . . . . . 16 ((𝜑𝑎𝐴) → ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℕ)
102101ad2antrr 758 . . . . . . . . . . . . . . 15 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℕ)
103102nnzd 11357 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ)
10474nnne0d 10942 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ≠ 0)
105 dvdscmulr 14848 . . . . . . . . . . . . . 14 (((𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ ∧ ((𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℤ ∧ (𝑎↑(𝑎 pCnt (#‘𝐵))) ≠ 0)) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) ↔ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
10679, 103, 75, 104, 105syl112anc 1322 . . . . . . . . . . . . 13 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) ↔ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
107100, 106mpbid 221 . . . . . . . . . . . 12 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))))
10817, 28odcl 17778 . . . . . . . . . . . . . . 15 (𝑥𝐵 → (𝑂𝑥) ∈ ℕ0)
109108adantl 481 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑂𝑥) ∈ ℕ0)
110109nn0zd 11356 . . . . . . . . . . . . 13 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑂𝑥) ∈ ℤ)
111 dvdstr 14856 . . . . . . . . . . . . 13 (((𝑂𝑥) ∈ ℤ ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ) → (((𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) → (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
112110, 79, 103, 111syl3anc 1318 . . . . . . . . . . . 12 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (((𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) → (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
113107, 112mpan2d 706 . . . . . . . . . . 11 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵))) → (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
114113ss2rabdv 3646 . . . . . . . . . 10 (((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
11547elpw 4114 . . . . . . . . . 10 ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ↔ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
116114, 115sylibr 223 . . . . . . . . 9 (((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
11731reseq1i 5313 . . . . . . . . . 10 (𝑆 ↾ (𝐴 ∖ {𝑎})) = ((𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))}) ↾ (𝐴 ∖ {𝑎}))
118 difss 3699 . . . . . . . . . . 11 (𝐴 ∖ {𝑎}) ⊆ 𝐴
119 resmpt 5369 . . . . . . . . . . 11 ((𝐴 ∖ {𝑎}) ⊆ 𝐴 → ((𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))}) ↾ (𝐴 ∖ {𝑎})) = (𝑝 ∈ (𝐴 ∖ {𝑎}) ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))}))
120118, 119ax-mp 5 . . . . . . . . . 10 ((𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))}) ↾ (𝐴 ∖ {𝑎})) = (𝑝 ∈ (𝐴 ∖ {𝑎}) ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))})
121117, 120eqtri 2632 . . . . . . . . 9 (𝑆 ↾ (𝐴 ∖ {𝑎})) = (𝑝 ∈ (𝐴 ∖ {𝑎}) ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))})
122116, 121fmptd 6292 . . . . . . . 8 ((𝜑𝑎𝐴) → (𝑆 ↾ (𝐴 ∖ {𝑎})):(𝐴 ∖ {𝑎})⟶𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
123 frn 5966 . . . . . . . 8 ((𝑆 ↾ (𝐴 ∖ {𝑎})):(𝐴 ∖ {𝑎})⟶𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} → ran (𝑆 ↾ (𝐴 ∖ {𝑎})) ⊆ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
124122, 123syl 17 . . . . . . 7 ((𝜑𝑎𝐴) → ran (𝑆 ↾ (𝐴 ∖ {𝑎})) ⊆ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
12557, 124syl5eqss 3612 . . . . . 6 ((𝜑𝑎𝐴) → (𝑆 “ (𝐴 ∖ {𝑎})) ⊆ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
126 sspwuni 4547 . . . . . 6 ((𝑆 “ (𝐴 ∖ {𝑎})) ⊆ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ↔ (𝑆 “ (𝐴 ∖ {𝑎})) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
127125, 126sylib 207 . . . . 5 ((𝜑𝑎𝐴) → (𝑆 “ (𝐴 ∖ {𝑎})) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
128101nnzd 11357 . . . . . 6 ((𝜑𝑎𝐴) → ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ)
12928, 17oddvdssubg 18081 . . . . . 6 ((𝐺 ∈ Abel ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ∈ (SubGrp‘𝐺))
13052, 128, 129syl2anc 691 . . . . 5 ((𝜑𝑎𝐴) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ∈ (SubGrp‘𝐺))
1313mrcsscl 16103 . . . . 5 (((SubGrp‘𝐺) ∈ (Moore‘(Base‘𝐺)) ∧ (𝑆 “ (𝐴 ∖ {𝑎})) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ∧ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ∈ (SubGrp‘𝐺)) → ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎}))) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
13256, 127, 130, 131syl3anc 1318 . . . 4 ((𝜑𝑎𝐴) → ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎}))) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
133 ss2in 3802 . . . 4 (((𝑆𝑎) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∧ ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎}))) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}) → ((𝑆𝑎) ∩ ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎})))) ⊆ ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∩ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}))
13451, 132, 133syl2anc 691 . . 3 ((𝜑𝑎𝐴) → ((𝑆𝑎) ∩ ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎})))) ⊆ ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∩ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}))
135 eqid 2610 . . . . 5 {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))}
136 eqid 2610 . . . . 5 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} = {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}
13771simp2d 1067 . . . . 5 ((𝜑𝑎𝐴) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) = 1)
138 eqid 2610 . . . . 5 (LSSum‘𝐺) = (LSSum‘𝐺)
13917, 28, 135, 136, 52, 73, 101, 137, 98, 2, 138ablfacrp 18288 . . . 4 ((𝜑𝑎𝐴) → (({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∩ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}) = {(0g𝐺)} ∧ ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} (LSSum‘𝐺){𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}) = 𝐵))
140139simpld 474 . . 3 ((𝜑𝑎𝐴) → ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∩ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}) = {(0g𝐺)})
141134, 140sseqtrd 3604 . 2 ((𝜑𝑎𝐴) → ((𝑆𝑎) ∩ ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎})))) ⊆ {(0g𝐺)})
1421, 2, 3, 6, 13, 32, 39, 141dmdprdd 18221 1 (𝜑𝐺dom DProd 𝑆)
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 195   ∧ wa 383   ∧ w3a 1031   = wceq 1475   ∈ wcel 1977   ≠ wne 2780  {crab 2900  Vcvv 3173   ∖ cdif 3537   ∩ cin 3539   ⊆ wss 3540  ∅c0 3874  𝒫 cpw 4108  {csn 4125  ∪ cuni 4372   class class class wbr 4583   ↦ cmpt 4643  dom cdm 5038  ran crn 5039   ↾ cres 5040   “ cima 5041  ⟶wf 5800  ‘cfv 5804  (class class class)co 6549  Fincfn 7841  0cc0 9815  1c1 9816   · cmul 9820   / cdiv 10563  ℕcn 10897  ℕ0cn0 11169  ℤcz 11254  ↑cexp 12722  #chash 12979   ∥ cdvds 14821   gcd cgcd 15054  ℙcprime 15223   pCnt cpc 15379  Basecbs 15695  0gc0g 15923  Moorecmre 16065  mrClscmrc 16066  ACScacs 16068  Grpcgrp 17245  SubGrpcsubg 17411  Cntzccntz 17571  odcod 17767  LSSumclsm 17872  Abelcabl 18017   DProd cdprd 18215 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-inf2 8421  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892  ax-pre-sup 9893 This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-fal 1481  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-iin 4458  df-disj 4554  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-se 4998  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-isom 5813  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-2o 7448  df-oadd 7451  df-omul 7452  df-er 7629  df-ec 7631  df-qs 7635  df-map 7746  df-ixp 7795  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-sup 8231  df-inf 8232  df-oi 8298  df-card 8648  df-acn 8651  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-div 10564  df-nn 10898  df-2 10956  df-3 10957  df-n0 11170  df-z 11255  df-uz 11564  df-q 11665  df-rp 11709  df-fz 12198  df-fzo 12335  df-fl 12455  df-mod 12531  df-seq 12664  df-exp 12723  df-hash 12980  df-cj 13687  df-re 13688  df-im 13689  df-sqrt 13823  df-abs 13824  df-clim 14067  df-sum 14265  df-dvds 14822  df-gcd 15055  df-prm 15224  df-pc 15380  df-ndx 15698  df-slot 15699  df-base 15700  df-sets 15701  df-ress 15702  df-plusg 15781  df-0g 15925  df-mre 16069  df-mrc 16070  df-acs 16072  df-mgm 17065  df-sgrp 17107  df-mnd 17118  df-submnd 17159  df-grp 17248  df-minusg 17249  df-sbg 17250  df-mulg 17364  df-subg 17414  df-eqg 17416  df-cntz 17573  df-od 17771  df-lsm 17874  df-cmn 18018  df-abl 18019  df-dprd 18217 This theorem is referenced by:  ablfac1c  18293  ablfac1eu  18295  ablfaclem2  18308  ablfaclem3  18309
 Copyright terms: Public domain W3C validator