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

Theorem ablfac1b 18515
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 2651 . 2 (Cntz‘𝐺) = (Cntz‘𝐺)
2 eqid 2651 . 2 (0g𝐺) = (0g𝐺)
3 eqid 2651 . 2 (mrCls‘(SubGrp‘𝐺)) = (mrCls‘(SubGrp‘𝐺))
4 ablfac1.g . . 3 (𝜑𝐺 ∈ Abel)
5 ablgrp 18244 . . 3 (𝐺 ∈ Abel → 𝐺 ∈ Grp)
64, 5syl 17 . 2 (𝜑𝐺 ∈ Grp)
7 ablfac1.1 . . 3 (𝜑𝐴 ⊆ ℙ)
8 nnex 11064 . . . . 5 ℕ ∈ V
9 prmnn 15435 . . . . . 6 (𝑝 ∈ ℙ → 𝑝 ∈ ℕ)
109ssriv 3640 . . . . 5 ℙ ⊆ ℕ
118, 10ssexi 4836 . . . 4 ℙ ∈ V
1211ssex 4835 . . 3 (𝐴 ⊆ ℙ → 𝐴 ∈ V)
137, 12syl 17 . 2 (𝜑𝐴 ∈ V)
144adantr 480 . . . 4 ((𝜑𝑝𝐴) → 𝐺 ∈ Abel)
157sselda 3636 . . . . . . 7 ((𝜑𝑝𝐴) → 𝑝 ∈ ℙ)
1615, 9syl 17 . . . . . 6 ((𝜑𝑝𝐴) → 𝑝 ∈ ℕ)
17 ablfac1.b . . . . . . . . . . 11 𝐵 = (Base‘𝐺)
1817grpbn0 17498 . . . . . . . . . 10 (𝐺 ∈ Grp → 𝐵 ≠ ∅)
196, 18syl 17 . . . . . . . . 9 (𝜑𝐵 ≠ ∅)
20 ablfac1.f . . . . . . . . . 10 (𝜑𝐵 ∈ Fin)
21 hashnncl 13195 . . . . . . . . . 10 (𝐵 ∈ Fin → ((#‘𝐵) ∈ ℕ ↔ 𝐵 ≠ ∅))
2220, 21syl 17 . . . . . . . . 9 (𝜑 → ((#‘𝐵) ∈ ℕ ↔ 𝐵 ≠ ∅))
2319, 22mpbird 247 . . . . . . . 8 (𝜑 → (#‘𝐵) ∈ ℕ)
2423adantr 480 . . . . . . 7 ((𝜑𝑝𝐴) → (#‘𝐵) ∈ ℕ)
2515, 24pccld 15602 . . . . . 6 ((𝜑𝑝𝐴) → (𝑝 pCnt (#‘𝐵)) ∈ ℕ0)
2616, 25nnexpcld 13070 . . . . 5 ((𝜑𝑝𝐴) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℕ)
2726nnzd 11519 . . . 4 ((𝜑𝑝𝐴) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ)
28 ablfac1.o . . . . 5 𝑂 = (od‘𝐺)
2928, 17oddvdssubg 18304 . . . 4 ((𝐺 ∈ Abel ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ (SubGrp‘𝐺))
3014, 27, 29syl2anc 694 . . 3 ((𝜑𝑝𝐴) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ (SubGrp‘𝐺))
31 ablfac1.s . . 3 𝑆 = (𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))})
3230, 31fmptd 6425 . 2 (𝜑𝑆:𝐴⟶(SubGrp‘𝐺))
334adantr 480 . . 3 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → 𝐺 ∈ Abel)
3432adantr 480 . . . 4 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → 𝑆:𝐴⟶(SubGrp‘𝐺))
35 simpr1 1087 . . . 4 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → 𝑎𝐴)
3634, 35ffvelrnd 6400 . . 3 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → (𝑆𝑎) ∈ (SubGrp‘𝐺))
37 simpr2 1088 . . . 4 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → 𝑏𝐴)
3834, 37ffvelrnd 6400 . . 3 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → (𝑆𝑏) ∈ (SubGrp‘𝐺))
391, 33, 36, 38ablcntzd 18306 . 2 ((𝜑 ∧ (𝑎𝐴𝑏𝐴𝑎𝑏)) → (𝑆𝑎) ⊆ ((Cntz‘𝐺)‘(𝑆𝑏)))
40 id 22 . . . . . . . . . 10 (𝑝 = 𝑎𝑝 = 𝑎)
41 oveq1 6697 . . . . . . . . . 10 (𝑝 = 𝑎 → (𝑝 pCnt (#‘𝐵)) = (𝑎 pCnt (#‘𝐵)))
4240, 41oveq12d 6708 . . . . . . . . 9 (𝑝 = 𝑎 → (𝑝↑(𝑝 pCnt (#‘𝐵))) = (𝑎↑(𝑎 pCnt (#‘𝐵))))
4342breq2d 4697 . . . . . . . 8 (𝑝 = 𝑎 → ((𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵))) ↔ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))))
4443rabbidv 3220 . . . . . . 7 (𝑝 = 𝑎 → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
45 fvex 6239 . . . . . . . . 9 (Base‘𝐺) ∈ V
4617, 45eqeltri 2726 . . . . . . . 8 𝐵 ∈ V
4746rabex 4845 . . . . . . 7 {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ V
4844, 31, 47fvmpt3i 6326 . . . . . 6 (𝑎𝐴 → (𝑆𝑎) = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
4948adantl 481 . . . . 5 ((𝜑𝑎𝐴) → (𝑆𝑎) = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
50 eqimss 3690 . . . . 5 ((𝑆𝑎) = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} → (𝑆𝑎) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
5149, 50syl 17 . . . 4 ((𝜑𝑎𝐴) → (𝑆𝑎) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))})
524adantr 480 . . . . . 6 ((𝜑𝑎𝐴) → 𝐺 ∈ Abel)
53 eqid 2651 . . . . . . 7 (Base‘𝐺) = (Base‘𝐺)
5453subgacs 17676 . . . . . 6 (𝐺 ∈ Grp → (SubGrp‘𝐺) ∈ (ACS‘(Base‘𝐺)))
55 acsmre 16360 . . . . . 6 ((SubGrp‘𝐺) ∈ (ACS‘(Base‘𝐺)) → (SubGrp‘𝐺) ∈ (Moore‘(Base‘𝐺)))
5652, 5, 54, 554syl 19 . . . . 5 ((𝜑𝑎𝐴) → (SubGrp‘𝐺) ∈ (Moore‘(Base‘𝐺)))
57 df-ima 5156 . . . . . . 7 (𝑆 “ (𝐴 ∖ {𝑎})) = ran (𝑆 ↾ (𝐴 ∖ {𝑎}))
587sselda 3636 . . . . . . . . . . . . . . . . 17 ((𝜑𝑎𝐴) → 𝑎 ∈ ℙ)
5958ad2antrr 762 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑎 ∈ ℙ)
6023ad3antrrr 766 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (#‘𝐵) ∈ ℕ)
61 pcdvds 15615 . . . . . . . . . . . . . . . 16 ((𝑎 ∈ ℙ ∧ (#‘𝐵) ∈ ℕ) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∥ (#‘𝐵))
6259, 60, 61syl2anc 694 . . . . . . . . . . . . . . 15 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∥ (#‘𝐵))
637ad3antrrr 766 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝐴 ⊆ ℙ)
64 eldifi 3765 . . . . . . . . . . . . . . . . . 18 (𝑝 ∈ (𝐴 ∖ {𝑎}) → 𝑝𝐴)
6564ad2antlr 763 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝𝐴)
6663, 65sseldd 3637 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝 ∈ ℙ)
67 pcdvds 15615 . . . . . . . . . . . . . . . 16 ((𝑝 ∈ ℙ ∧ (#‘𝐵) ∈ ℕ) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ (#‘𝐵))
6866, 60, 67syl2anc 694 . . . . . . . . . . . . . . 15 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ (#‘𝐵))
69 eqid 2651 . . . . . . . . . . . . . . . . . . . . 21 (𝑎↑(𝑎 pCnt (#‘𝐵))) = (𝑎↑(𝑎 pCnt (#‘𝐵)))
70 eqid 2651 . . . . . . . . . . . . . . . . . . . . 21 ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) = ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))
7117, 28, 31, 4, 20, 7, 69, 70ablfac1lem 18513 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑎𝐴) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℕ ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℕ) ∧ ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) = 1 ∧ (#‘𝐵) = ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))))))
7271simp1d 1093 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑎𝐴) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℕ ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℕ))
7372simpld 474 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑎𝐴) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℕ)
7473ad2antrr 762 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℕ)
7574nnzd 11519 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℤ)
7666, 9syl 17 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝 ∈ ℕ)
7766, 60pccld 15602 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝 pCnt (#‘𝐵)) ∈ ℕ0)
7876, 77nnexpcld 13070 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℕ)
7978nnzd 11519 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ)
8060nnzd 11519 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (#‘𝐵) ∈ ℤ)
81 eldifsni 4353 . . . . . . . . . . . . . . . . . . . 20 (𝑝 ∈ (𝐴 ∖ {𝑎}) → 𝑝𝑎)
8281ad2antlr 763 . . . . . . . . . . . . . . . . . . 19 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝𝑎)
8382necomd 2878 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑎𝑝)
84 prmrp 15471 . . . . . . . . . . . . . . . . . . 19 ((𝑎 ∈ ℙ ∧ 𝑝 ∈ ℙ) → ((𝑎 gcd 𝑝) = 1 ↔ 𝑎𝑝))
8559, 66, 84syl2anc 694 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎 gcd 𝑝) = 1 ↔ 𝑎𝑝))
8683, 85mpbird 247 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎 gcd 𝑝) = 1)
87 prmz 15436 . . . . . . . . . . . . . . . . . . 19 (𝑎 ∈ ℙ → 𝑎 ∈ ℤ)
8859, 87syl 17 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑎 ∈ ℤ)
89 prmz 15436 . . . . . . . . . . . . . . . . . . 19 (𝑝 ∈ ℙ → 𝑝 ∈ ℤ)
9066, 89syl 17 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → 𝑝 ∈ ℤ)
9159, 60pccld 15602 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎 pCnt (#‘𝐵)) ∈ ℕ0)
92 rpexp12i 15481 . . . . . . . . . . . . . . . . . 18 ((𝑎 ∈ ℤ ∧ 𝑝 ∈ ℤ ∧ ((𝑎 pCnt (#‘𝐵)) ∈ ℕ0 ∧ (𝑝 pCnt (#‘𝐵)) ∈ ℕ0)) → ((𝑎 gcd 𝑝) = 1 → ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd (𝑝↑(𝑝 pCnt (#‘𝐵)))) = 1))
9388, 90, 91, 77, 92syl112anc 1370 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎 gcd 𝑝) = 1 → ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd (𝑝↑(𝑝 pCnt (#‘𝐵)))) = 1))
9486, 93mpd 15 . . . . . . . . . . . . . . . 16 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd (𝑝↑(𝑝 pCnt (#‘𝐵)))) = 1)
95 coprmdvds2 15415 . . . . . . . . . . . . . . . 16 ((((𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℤ ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ ∧ (#‘𝐵) ∈ ℤ) ∧ ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd (𝑝↑(𝑝 pCnt (#‘𝐵)))) = 1) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) ∥ (#‘𝐵) ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ (#‘𝐵)) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ (#‘𝐵)))
9675, 79, 80, 94, 95syl31anc 1369 . . . . . . . . . . . . . . 15 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) ∥ (#‘𝐵) ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ (#‘𝐵)) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ (#‘𝐵)))
9762, 68, 96mp2and 715 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ (#‘𝐵))
9871simp3d 1095 . . . . . . . . . . . . . . 15 ((𝜑𝑎𝐴) → (#‘𝐵) = ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
9998ad2antrr 762 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (#‘𝐵) = ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
10097, 99breqtrd 4711 . . . . . . . . . . . . 13 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
10172simprd 478 . . . . . . . . . . . . . . . 16 ((𝜑𝑎𝐴) → ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℕ)
102101ad2antrr 762 . . . . . . . . . . . . . . 15 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℕ)
103102nnzd 11519 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ)
10474nnne0d 11103 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑎↑(𝑎 pCnt (#‘𝐵))) ≠ 0)
105 dvdscmulr 15057 . . . . . . . . . . . . . 14 (((𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ ∧ ((𝑎↑(𝑎 pCnt (#‘𝐵))) ∈ ℤ ∧ (𝑎↑(𝑎 pCnt (#‘𝐵))) ≠ 0)) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) ↔ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
10679, 103, 75, 104, 105syl112anc 1370 . . . . . . . . . . . . 13 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (((𝑎↑(𝑎 pCnt (#‘𝐵))) · (𝑝↑(𝑝 pCnt (#‘𝐵)))) ∥ ((𝑎↑(𝑎 pCnt (#‘𝐵))) · ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) ↔ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
107100, 106mpbid 222 . . . . . . . . . . . 12 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))))
10817, 28odcl 18001 . . . . . . . . . . . . . . 15 (𝑥𝐵 → (𝑂𝑥) ∈ ℕ0)
109108adantl 481 . . . . . . . . . . . . . 14 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑂𝑥) ∈ ℕ0)
110109nn0zd 11518 . . . . . . . . . . . . 13 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (𝑂𝑥) ∈ ℤ)
111 dvdstr 15065 . . . . . . . . . . . . 13 (((𝑂𝑥) ∈ ℤ ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∈ ℤ ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ) → (((𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) → (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
112110, 79, 103, 111syl3anc 1366 . . . . . . . . . . . 12 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → (((𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∧ (𝑝↑(𝑝 pCnt (#‘𝐵))) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) → (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
113107, 112mpan2d 710 . . . . . . . . . . 11 ((((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) ∧ 𝑥𝐵) → ((𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵))) → (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))))
114113ss2rabdv 3716 . . . . . . . . . 10 (((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
11547elpw 4197 . . . . . . . . . 10 ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ↔ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
116114, 115sylibr 224 . . . . . . . . 9 (((𝜑𝑎𝐴) ∧ 𝑝 ∈ (𝐴 ∖ {𝑎})) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))} ∈ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
11731reseq1i 5424 . . . . . . . . . 10 (𝑆 ↾ (𝐴 ∖ {𝑎})) = ((𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))}) ↾ (𝐴 ∖ {𝑎}))
118 difss 3770 . . . . . . . . . . 11 (𝐴 ∖ {𝑎}) ⊆ 𝐴
119 resmpt 5484 . . . . . . . . . . 11 ((𝐴 ∖ {𝑎}) ⊆ 𝐴 → ((𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))}) ↾ (𝐴 ∖ {𝑎})) = (𝑝 ∈ (𝐴 ∖ {𝑎}) ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))}))
120118, 119ax-mp 5 . . . . . . . . . 10 ((𝑝𝐴 ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))}) ↾ (𝐴 ∖ {𝑎})) = (𝑝 ∈ (𝐴 ∖ {𝑎}) ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))})
121117, 120eqtri 2673 . . . . . . . . 9 (𝑆 ↾ (𝐴 ∖ {𝑎})) = (𝑝 ∈ (𝐴 ∖ {𝑎}) ↦ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑝↑(𝑝 pCnt (#‘𝐵)))})
122116, 121fmptd 6425 . . . . . . . 8 ((𝜑𝑎𝐴) → (𝑆 ↾ (𝐴 ∖ {𝑎})):(𝐴 ∖ {𝑎})⟶𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
123 frn 6091 . . . . . . . 8 ((𝑆 ↾ (𝐴 ∖ {𝑎})):(𝐴 ∖ {𝑎})⟶𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} → ran (𝑆 ↾ (𝐴 ∖ {𝑎})) ⊆ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
124122, 123syl 17 . . . . . . 7 ((𝜑𝑎𝐴) → ran (𝑆 ↾ (𝐴 ∖ {𝑎})) ⊆ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
12557, 124syl5eqss 3682 . . . . . 6 ((𝜑𝑎𝐴) → (𝑆 “ (𝐴 ∖ {𝑎})) ⊆ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
126 sspwuni 4643 . . . . . 6 ((𝑆 “ (𝐴 ∖ {𝑎})) ⊆ 𝒫 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ↔ (𝑆 “ (𝐴 ∖ {𝑎})) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
127125, 126sylib 208 . . . . 5 ((𝜑𝑎𝐴) → (𝑆 “ (𝐴 ∖ {𝑎})) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
128101nnzd 11519 . . . . . 6 ((𝜑𝑎𝐴) → ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ)
12928, 17oddvdssubg 18304 . . . . . 6 ((𝐺 ∈ Abel ∧ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵)))) ∈ ℤ) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ∈ (SubGrp‘𝐺))
13052, 128, 129syl2anc 694 . . . . 5 ((𝜑𝑎𝐴) → {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ∈ (SubGrp‘𝐺))
1313mrcsscl 16327 . . . . 5 (((SubGrp‘𝐺) ∈ (Moore‘(Base‘𝐺)) ∧ (𝑆 “ (𝐴 ∖ {𝑎})) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ∧ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} ∈ (SubGrp‘𝐺)) → ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎}))) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
13256, 127, 130, 131syl3anc 1366 . . . 4 ((𝜑𝑎𝐴) → ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎}))) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))})
133 ss2in 3873 . . . 4 (((𝑆𝑎) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∧ ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎}))) ⊆ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}) → ((𝑆𝑎) ∩ ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎})))) ⊆ ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∩ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}))
13451, 132, 133syl2anc 694 . . 3 ((𝜑𝑎𝐴) → ((𝑆𝑎) ∩ ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎})))) ⊆ ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∩ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}))
135 eqid 2651 . . . . 5 {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} = {𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))}
136 eqid 2651 . . . . 5 {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))} = {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}
13771simp2d 1094 . . . . 5 ((𝜑𝑎𝐴) → ((𝑎↑(𝑎 pCnt (#‘𝐵))) gcd ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))) = 1)
138 eqid 2651 . . . . 5 (LSSum‘𝐺) = (LSSum‘𝐺)
13917, 28, 135, 136, 52, 73, 101, 137, 98, 2, 138ablfacrp 18511 . . . 4 ((𝜑𝑎𝐴) → (({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∩ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}) = {(0g𝐺)} ∧ ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} (LSSum‘𝐺){𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}) = 𝐵))
140139simpld 474 . . 3 ((𝜑𝑎𝐴) → ({𝑥𝐵 ∣ (𝑂𝑥) ∥ (𝑎↑(𝑎 pCnt (#‘𝐵)))} ∩ {𝑥𝐵 ∣ (𝑂𝑥) ∥ ((#‘𝐵) / (𝑎↑(𝑎 pCnt (#‘𝐵))))}) = {(0g𝐺)})
141134, 140sseqtrd 3674 . 2 ((𝜑𝑎𝐴) → ((𝑆𝑎) ∩ ((mrCls‘(SubGrp‘𝐺))‘ (𝑆 “ (𝐴 ∖ {𝑎})))) ⊆ {(0g𝐺)})
1421, 2, 3, 6, 13, 32, 39, 141dmdprdd 18444 1 (𝜑𝐺dom DProd 𝑆)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 383  w3a 1054   = wceq 1523  wcel 2030  wne 2823  {crab 2945  Vcvv 3231  cdif 3604  cin 3606  wss 3607  c0 3948  𝒫 cpw 4191  {csn 4210   cuni 4468   class class class wbr 4685  cmpt 4762  dom cdm 5143  ran crn 5144  cres 5145  cima 5146  wf 5922  cfv 5926  (class class class)co 6690  Fincfn 7997  0cc0 9974  1c1 9975   · cmul 9979   / cdiv 10722  cn 11058  0cn0 11330  cz 11415  cexp 12900  #chash 13157  cdvds 15027   gcd cgcd 15263  cprime 15432   pCnt cpc 15588  Basecbs 15904  0gc0g 16147  Moorecmre 16289  mrClscmrc 16290  ACScacs 16292  Grpcgrp 17469  SubGrpcsubg 17635  Cntzccntz 17794  odcod 17990  LSSumclsm 18095  Abelcabl 18240   DProd cdprd 18438
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1762  ax-4 1777  ax-5 1879  ax-6 1945  ax-7 1981  ax-8 2032  ax-9 2039  ax-10 2059  ax-11 2074  ax-12 2087  ax-13 2282  ax-ext 2631  ax-rep 4804  ax-sep 4814  ax-nul 4822  ax-pow 4873  ax-pr 4936  ax-un 6991  ax-inf2 8576  ax-cnex 10030  ax-resscn 10031  ax-1cn 10032  ax-icn 10033  ax-addcl 10034  ax-addrcl 10035  ax-mulcl 10036  ax-mulrcl 10037  ax-mulcom 10038  ax-addass 10039  ax-mulass 10040  ax-distr 10041  ax-i2m1 10042  ax-1ne0 10043  ax-1rid 10044  ax-rnegex 10045  ax-rrecex 10046  ax-cnre 10047  ax-pre-lttri 10048  ax-pre-lttrn 10049  ax-pre-ltadd 10050  ax-pre-mulgt0 10051  ax-pre-sup 10052
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1055  df-3an 1056  df-tru 1526  df-fal 1529  df-ex 1745  df-nf 1750  df-sb 1938  df-eu 2502  df-mo 2503  df-clab 2638  df-cleq 2644  df-clel 2647  df-nfc 2782  df-ne 2824  df-nel 2927  df-ral 2946  df-rex 2947  df-reu 2948  df-rmo 2949  df-rab 2950  df-v 3233  df-sbc 3469  df-csb 3567  df-dif 3610  df-un 3612  df-in 3614  df-ss 3621  df-pss 3623  df-nul 3949  df-if 4120  df-pw 4193  df-sn 4211  df-pr 4213  df-tp 4215  df-op 4217  df-uni 4469  df-int 4508  df-iun 4554  df-iin 4555  df-disj 4653  df-br 4686  df-opab 4746  df-mpt 4763  df-tr 4786  df-id 5053  df-eprel 5058  df-po 5064  df-so 5065  df-fr 5102  df-se 5103  df-we 5104  df-xp 5149  df-rel 5150  df-cnv 5151  df-co 5152  df-dm 5153  df-rn 5154  df-res 5155  df-ima 5156  df-pred 5718  df-ord 5764  df-on 5765  df-lim 5766  df-suc 5767  df-iota 5889  df-fun 5928  df-fn 5929  df-f 5930  df-f1 5931  df-fo 5932  df-f1o 5933  df-fv 5934  df-isom 5935  df-riota 6651  df-ov 6693  df-oprab 6694  df-mpt2 6695  df-om 7108  df-1st 7210  df-2nd 7211  df-wrecs 7452  df-recs 7513  df-rdg 7551  df-1o 7605  df-2o 7606  df-oadd 7609  df-omul 7610  df-er 7787  df-ec 7789  df-qs 7793  df-map 7901  df-ixp 7951  df-en 7998  df-dom 7999  df-sdom 8000  df-fin 8001  df-sup 8389  df-inf 8390  df-oi 8456  df-card 8803  df-acn 8806  df-pnf 10114  df-mnf 10115  df-xr 10116  df-ltxr 10117  df-le 10118  df-sub 10306  df-neg 10307  df-div 10723  df-nn 11059  df-2 11117  df-3 11118  df-n0 11331  df-z 11416  df-uz 11726  df-q 11827  df-rp 11871  df-fz 12365  df-fzo 12505  df-fl 12633  df-mod 12709  df-seq 12842  df-exp 12901  df-hash 13158  df-cj 13883  df-re 13884  df-im 13885  df-sqrt 14019  df-abs 14020  df-clim 14263  df-sum 14461  df-dvds 15028  df-gcd 15264  df-prm 15433  df-pc 15589  df-ndx 15907  df-slot 15908  df-base 15910  df-sets 15911  df-ress 15912  df-plusg 16001  df-0g 16149  df-mre 16293  df-mrc 16294  df-acs 16296  df-mgm 17289  df-sgrp 17331  df-mnd 17342  df-submnd 17383  df-grp 17472  df-minusg 17473  df-sbg 17474  df-mulg 17588  df-subg 17638  df-eqg 17640  df-cntz 17796  df-od 17994  df-lsm 18097  df-cmn 18241  df-abl 18242  df-dprd 18440
This theorem is referenced by:  ablfac1c  18516  ablfac1eu  18518  ablfaclem2  18531  ablfaclem3  18532
  Copyright terms: Public domain W3C validator