| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | ablfac1.f | . 2
⊢ (𝜑 → 𝐵 ∈ Fin) | 
| 2 |  | ablfac1.b | . . . 4
⊢ 𝐵 = (Base‘𝐺) | 
| 3 | 2 | dprdssv 20037 | . . 3
⊢ (𝐺 DProd 𝑆) ⊆ 𝐵 | 
| 4 | 3 | a1i 11 | . 2
⊢ (𝜑 → (𝐺 DProd 𝑆) ⊆ 𝐵) | 
| 5 |  | ssfi 9214 | . . . . . 6
⊢ ((𝐵 ∈ Fin ∧ (𝐺 DProd 𝑆) ⊆ 𝐵) → (𝐺 DProd 𝑆) ∈ Fin) | 
| 6 | 1, 3, 5 | sylancl 586 | . . . . 5
⊢ (𝜑 → (𝐺 DProd 𝑆) ∈ Fin) | 
| 7 |  | hashcl 14396 | . . . . 5
⊢ ((𝐺 DProd 𝑆) ∈ Fin → (♯‘(𝐺 DProd 𝑆)) ∈
ℕ0) | 
| 8 | 6, 7 | syl 17 | . . . 4
⊢ (𝜑 → (♯‘(𝐺 DProd 𝑆)) ∈
ℕ0) | 
| 9 |  | hashcl 14396 | . . . . 5
⊢ (𝐵 ∈ Fin →
(♯‘𝐵) ∈
ℕ0) | 
| 10 | 1, 9 | syl 17 | . . . 4
⊢ (𝜑 → (♯‘𝐵) ∈
ℕ0) | 
| 11 |  | ablfac1.o | . . . . . . 7
⊢ 𝑂 = (od‘𝐺) | 
| 12 |  | ablfac1.s | . . . . . . 7
⊢ 𝑆 = (𝑝 ∈ 𝐴 ↦ {𝑥 ∈ 𝐵 ∣ (𝑂‘𝑥) ∥ (𝑝↑(𝑝 pCnt (♯‘𝐵)))}) | 
| 13 |  | ablfac1.g | . . . . . . 7
⊢ (𝜑 → 𝐺 ∈ Abel) | 
| 14 |  | ablfac1.1 | . . . . . . 7
⊢ (𝜑 → 𝐴 ⊆ ℙ) | 
| 15 | 2, 11, 12, 13, 1, 14 | ablfac1b 20091 | . . . . . 6
⊢ (𝜑 → 𝐺dom DProd 𝑆) | 
| 16 |  | dprdsubg 20045 | . . . . . 6
⊢ (𝐺dom DProd 𝑆 → (𝐺 DProd 𝑆) ∈ (SubGrp‘𝐺)) | 
| 17 | 15, 16 | syl 17 | . . . . 5
⊢ (𝜑 → (𝐺 DProd 𝑆) ∈ (SubGrp‘𝐺)) | 
| 18 | 2 | lagsubg 19214 | . . . . 5
⊢ (((𝐺 DProd 𝑆) ∈ (SubGrp‘𝐺) ∧ 𝐵 ∈ Fin) → (♯‘(𝐺 DProd 𝑆)) ∥ (♯‘𝐵)) | 
| 19 | 17, 1, 18 | syl2anc 584 | . . . 4
⊢ (𝜑 → (♯‘(𝐺 DProd 𝑆)) ∥ (♯‘𝐵)) | 
| 20 |  | breq1 5145 | . . . . . . . . . . 11
⊢ (𝑤 = 𝑞 → (𝑤 ∥ (♯‘𝐵) ↔ 𝑞 ∥ (♯‘𝐵))) | 
| 21 |  | ablfac1c.d | . . . . . . . . . . 11
⊢ 𝐷 = {𝑤 ∈ ℙ ∣ 𝑤 ∥ (♯‘𝐵)} | 
| 22 | 20, 21 | elrab2 3694 | . . . . . . . . . 10
⊢ (𝑞 ∈ 𝐷 ↔ (𝑞 ∈ ℙ ∧ 𝑞 ∥ (♯‘𝐵))) | 
| 23 |  | ablfac1.2 | . . . . . . . . . . 11
⊢ (𝜑 → 𝐷 ⊆ 𝐴) | 
| 24 | 23 | sseld 3981 | . . . . . . . . . 10
⊢ (𝜑 → (𝑞 ∈ 𝐷 → 𝑞 ∈ 𝐴)) | 
| 25 | 22, 24 | biimtrrid 243 | . . . . . . . . 9
⊢ (𝜑 → ((𝑞 ∈ ℙ ∧ 𝑞 ∥ (♯‘𝐵)) → 𝑞 ∈ 𝐴)) | 
| 26 | 25 | impl 455 | . . . . . . . 8
⊢ (((𝜑 ∧ 𝑞 ∈ ℙ) ∧ 𝑞 ∥ (♯‘𝐵)) → 𝑞 ∈ 𝐴) | 
| 27 | 2, 11, 12, 13, 1, 14 | ablfac1a 20090 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (♯‘(𝑆‘𝑞)) = (𝑞↑(𝑞 pCnt (♯‘𝐵)))) | 
| 28 | 2 | fvexi 6919 | . . . . . . . . . . . . . . . . . . 19
⊢ 𝐵 ∈ V | 
| 29 | 28 | rabex 5338 | . . . . . . . . . . . . . . . . . 18
⊢ {𝑥 ∈ 𝐵 ∣ (𝑂‘𝑥) ∥ (𝑝↑(𝑝 pCnt (♯‘𝐵)))} ∈ V | 
| 30 | 29, 12 | dmmpti 6711 | . . . . . . . . . . . . . . . . 17
⊢ dom 𝑆 = 𝐴 | 
| 31 | 30 | a1i 11 | . . . . . . . . . . . . . . . 16
⊢ (𝜑 → dom 𝑆 = 𝐴) | 
| 32 | 15, 31 | dprdf2 20028 | . . . . . . . . . . . . . . 15
⊢ (𝜑 → 𝑆:𝐴⟶(SubGrp‘𝐺)) | 
| 33 | 32 | ffvelcdmda 7103 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝑆‘𝑞) ∈ (SubGrp‘𝐺)) | 
| 34 | 15 | adantr 480 | . . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → 𝐺dom DProd 𝑆) | 
| 35 | 30 | a1i 11 | . . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → dom 𝑆 = 𝐴) | 
| 36 |  | simpr 484 | . . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → 𝑞 ∈ 𝐴) | 
| 37 | 34, 35, 36 | dprdub 20046 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝑆‘𝑞) ⊆ (𝐺 DProd 𝑆)) | 
| 38 | 17 | adantr 480 | . . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝐺 DProd 𝑆) ∈ (SubGrp‘𝐺)) | 
| 39 |  | eqid 2736 | . . . . . . . . . . . . . . . 16
⊢ (𝐺 ↾s (𝐺 DProd 𝑆)) = (𝐺 ↾s (𝐺 DProd 𝑆)) | 
| 40 | 39 | subsubg 19168 | . . . . . . . . . . . . . . 15
⊢ ((𝐺 DProd 𝑆) ∈ (SubGrp‘𝐺) → ((𝑆‘𝑞) ∈ (SubGrp‘(𝐺 ↾s (𝐺 DProd 𝑆))) ↔ ((𝑆‘𝑞) ∈ (SubGrp‘𝐺) ∧ (𝑆‘𝑞) ⊆ (𝐺 DProd 𝑆)))) | 
| 41 | 38, 40 | syl 17 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → ((𝑆‘𝑞) ∈ (SubGrp‘(𝐺 ↾s (𝐺 DProd 𝑆))) ↔ ((𝑆‘𝑞) ∈ (SubGrp‘𝐺) ∧ (𝑆‘𝑞) ⊆ (𝐺 DProd 𝑆)))) | 
| 42 | 33, 37, 41 | mpbir2and 713 | . . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝑆‘𝑞) ∈ (SubGrp‘(𝐺 ↾s (𝐺 DProd 𝑆)))) | 
| 43 | 39 | subgbas 19149 | . . . . . . . . . . . . . . 15
⊢ ((𝐺 DProd 𝑆) ∈ (SubGrp‘𝐺) → (𝐺 DProd 𝑆) = (Base‘(𝐺 ↾s (𝐺 DProd 𝑆)))) | 
| 44 | 38, 43 | syl 17 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝐺 DProd 𝑆) = (Base‘(𝐺 ↾s (𝐺 DProd 𝑆)))) | 
| 45 | 6 | adantr 480 | . . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝐺 DProd 𝑆) ∈ Fin) | 
| 46 | 44, 45 | eqeltrrd 2841 | . . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (Base‘(𝐺 ↾s (𝐺 DProd 𝑆))) ∈ Fin) | 
| 47 |  | eqid 2736 | . . . . . . . . . . . . . 14
⊢
(Base‘(𝐺
↾s (𝐺
DProd 𝑆))) =
(Base‘(𝐺
↾s (𝐺
DProd 𝑆))) | 
| 48 | 47 | lagsubg 19214 | . . . . . . . . . . . . 13
⊢ (((𝑆‘𝑞) ∈ (SubGrp‘(𝐺 ↾s (𝐺 DProd 𝑆))) ∧ (Base‘(𝐺 ↾s (𝐺 DProd 𝑆))) ∈ Fin) → (♯‘(𝑆‘𝑞)) ∥ (♯‘(Base‘(𝐺 ↾s (𝐺 DProd 𝑆))))) | 
| 49 | 42, 46, 48 | syl2anc 584 | . . . . . . . . . . . 12
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (♯‘(𝑆‘𝑞)) ∥ (♯‘(Base‘(𝐺 ↾s (𝐺 DProd 𝑆))))) | 
| 50 | 44 | fveq2d 6909 | . . . . . . . . . . . 12
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (♯‘(𝐺 DProd 𝑆)) = (♯‘(Base‘(𝐺 ↾s (𝐺 DProd 𝑆))))) | 
| 51 | 49, 50 | breqtrrd 5170 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (♯‘(𝑆‘𝑞)) ∥ (♯‘(𝐺 DProd 𝑆))) | 
| 52 | 27, 51 | eqbrtrrd 5166 | . . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝑞↑(𝑞 pCnt (♯‘𝐵))) ∥ (♯‘(𝐺 DProd 𝑆))) | 
| 53 | 14 | sselda 3982 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → 𝑞 ∈ ℙ) | 
| 54 | 8 | nn0zd 12641 | . . . . . . . . . . . 12
⊢ (𝜑 → (♯‘(𝐺 DProd 𝑆)) ∈ ℤ) | 
| 55 | 54 | adantr 480 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (♯‘(𝐺 DProd 𝑆)) ∈ ℤ) | 
| 56 |  | simpr 484 | . . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑞 ∈ ℙ) → 𝑞 ∈ ℙ) | 
| 57 |  | ablgrp 19804 | . . . . . . . . . . . . . . . 16
⊢ (𝐺 ∈ Abel → 𝐺 ∈ Grp) | 
| 58 | 2 | grpbn0 18985 | . . . . . . . . . . . . . . . 16
⊢ (𝐺 ∈ Grp → 𝐵 ≠ ∅) | 
| 59 | 13, 57, 58 | 3syl 18 | . . . . . . . . . . . . . . 15
⊢ (𝜑 → 𝐵 ≠ ∅) | 
| 60 |  | hashnncl 14406 | . . . . . . . . . . . . . . . 16
⊢ (𝐵 ∈ Fin →
((♯‘𝐵) ∈
ℕ ↔ 𝐵 ≠
∅)) | 
| 61 | 1, 60 | syl 17 | . . . . . . . . . . . . . . 15
⊢ (𝜑 → ((♯‘𝐵) ∈ ℕ ↔ 𝐵 ≠ ∅)) | 
| 62 | 59, 61 | mpbird 257 | . . . . . . . . . . . . . 14
⊢ (𝜑 → (♯‘𝐵) ∈
ℕ) | 
| 63 | 62 | adantr 480 | . . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑞 ∈ ℙ) → (♯‘𝐵) ∈
ℕ) | 
| 64 | 56, 63 | pccld 16889 | . . . . . . . . . . . 12
⊢ ((𝜑 ∧ 𝑞 ∈ ℙ) → (𝑞 pCnt (♯‘𝐵)) ∈
ℕ0) | 
| 65 | 53, 64 | syldan 591 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝑞 pCnt (♯‘𝐵)) ∈
ℕ0) | 
| 66 |  | pcdvdsb 16908 | . . . . . . . . . . 11
⊢ ((𝑞 ∈ ℙ ∧
(♯‘(𝐺 DProd
𝑆)) ∈ ℤ ∧
(𝑞 pCnt
(♯‘𝐵)) ∈
ℕ0) → ((𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆))) ↔ (𝑞↑(𝑞 pCnt (♯‘𝐵))) ∥ (♯‘(𝐺 DProd 𝑆)))) | 
| 67 | 53, 55, 65, 66 | syl3anc 1372 | . . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → ((𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆))) ↔ (𝑞↑(𝑞 pCnt (♯‘𝐵))) ∥ (♯‘(𝐺 DProd 𝑆)))) | 
| 68 | 52, 67 | mpbird 257 | . . . . . . . . 9
⊢ ((𝜑 ∧ 𝑞 ∈ 𝐴) → (𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆)))) | 
| 69 | 68 | adantlr 715 | . . . . . . . 8
⊢ (((𝜑 ∧ 𝑞 ∈ ℙ) ∧ 𝑞 ∈ 𝐴) → (𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆)))) | 
| 70 | 26, 69 | syldan 591 | . . . . . . 7
⊢ (((𝜑 ∧ 𝑞 ∈ ℙ) ∧ 𝑞 ∥ (♯‘𝐵)) → (𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆)))) | 
| 71 |  | pceq0 16910 | . . . . . . . . . 10
⊢ ((𝑞 ∈ ℙ ∧
(♯‘𝐵) ∈
ℕ) → ((𝑞 pCnt
(♯‘𝐵)) = 0
↔ ¬ 𝑞 ∥
(♯‘𝐵))) | 
| 72 | 56, 63, 71 | syl2anc 584 | . . . . . . . . 9
⊢ ((𝜑 ∧ 𝑞 ∈ ℙ) → ((𝑞 pCnt (♯‘𝐵)) = 0 ↔ ¬ 𝑞 ∥ (♯‘𝐵))) | 
| 73 | 72 | biimpar 477 | . . . . . . . 8
⊢ (((𝜑 ∧ 𝑞 ∈ ℙ) ∧ ¬ 𝑞 ∥ (♯‘𝐵)) → (𝑞 pCnt (♯‘𝐵)) = 0) | 
| 74 |  | eqid 2736 | . . . . . . . . . . . . . . 15
⊢
(0g‘𝐺) = (0g‘𝐺) | 
| 75 | 74 | subg0cl 19153 | . . . . . . . . . . . . . 14
⊢ ((𝐺 DProd 𝑆) ∈ (SubGrp‘𝐺) → (0g‘𝐺) ∈ (𝐺 DProd 𝑆)) | 
| 76 |  | ne0i 4340 | . . . . . . . . . . . . . 14
⊢
((0g‘𝐺) ∈ (𝐺 DProd 𝑆) → (𝐺 DProd 𝑆) ≠ ∅) | 
| 77 | 17, 75, 76 | 3syl 18 | . . . . . . . . . . . . 13
⊢ (𝜑 → (𝐺 DProd 𝑆) ≠ ∅) | 
| 78 |  | hashnncl 14406 | . . . . . . . . . . . . . 14
⊢ ((𝐺 DProd 𝑆) ∈ Fin → ((♯‘(𝐺 DProd 𝑆)) ∈ ℕ ↔ (𝐺 DProd 𝑆) ≠ ∅)) | 
| 79 | 6, 78 | syl 17 | . . . . . . . . . . . . 13
⊢ (𝜑 → ((♯‘(𝐺 DProd 𝑆)) ∈ ℕ ↔ (𝐺 DProd 𝑆) ≠ ∅)) | 
| 80 | 77, 79 | mpbird 257 | . . . . . . . . . . . 12
⊢ (𝜑 → (♯‘(𝐺 DProd 𝑆)) ∈ ℕ) | 
| 81 | 80 | adantr 480 | . . . . . . . . . . 11
⊢ ((𝜑 ∧ 𝑞 ∈ ℙ) → (♯‘(𝐺 DProd 𝑆)) ∈ ℕ) | 
| 82 | 56, 81 | pccld 16889 | . . . . . . . . . 10
⊢ ((𝜑 ∧ 𝑞 ∈ ℙ) → (𝑞 pCnt (♯‘(𝐺 DProd 𝑆))) ∈
ℕ0) | 
| 83 | 82 | nn0ge0d 12592 | . . . . . . . . 9
⊢ ((𝜑 ∧ 𝑞 ∈ ℙ) → 0 ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆)))) | 
| 84 | 83 | adantr 480 | . . . . . . . 8
⊢ (((𝜑 ∧ 𝑞 ∈ ℙ) ∧ ¬ 𝑞 ∥ (♯‘𝐵)) → 0 ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆)))) | 
| 85 | 73, 84 | eqbrtrd 5164 | . . . . . . 7
⊢ (((𝜑 ∧ 𝑞 ∈ ℙ) ∧ ¬ 𝑞 ∥ (♯‘𝐵)) → (𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆)))) | 
| 86 | 70, 85 | pm2.61dan 812 | . . . . . 6
⊢ ((𝜑 ∧ 𝑞 ∈ ℙ) → (𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆)))) | 
| 87 | 86 | ralrimiva 3145 | . . . . 5
⊢ (𝜑 → ∀𝑞 ∈ ℙ (𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆)))) | 
| 88 | 10 | nn0zd 12641 | . . . . . 6
⊢ (𝜑 → (♯‘𝐵) ∈
ℤ) | 
| 89 |  | pc2dvds 16918 | . . . . . 6
⊢
(((♯‘𝐵)
∈ ℤ ∧ (♯‘(𝐺 DProd 𝑆)) ∈ ℤ) →
((♯‘𝐵) ∥
(♯‘(𝐺 DProd
𝑆)) ↔ ∀𝑞 ∈ ℙ (𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆))))) | 
| 90 | 88, 54, 89 | syl2anc 584 | . . . . 5
⊢ (𝜑 → ((♯‘𝐵) ∥ (♯‘(𝐺 DProd 𝑆)) ↔ ∀𝑞 ∈ ℙ (𝑞 pCnt (♯‘𝐵)) ≤ (𝑞 pCnt (♯‘(𝐺 DProd 𝑆))))) | 
| 91 | 87, 90 | mpbird 257 | . . . 4
⊢ (𝜑 → (♯‘𝐵) ∥ (♯‘(𝐺 DProd 𝑆))) | 
| 92 |  | dvdseq 16352 | . . . 4
⊢
((((♯‘(𝐺
DProd 𝑆)) ∈
ℕ0 ∧ (♯‘𝐵) ∈ ℕ0) ∧
((♯‘(𝐺 DProd
𝑆)) ∥
(♯‘𝐵) ∧
(♯‘𝐵) ∥
(♯‘(𝐺 DProd
𝑆)))) →
(♯‘(𝐺 DProd
𝑆)) = (♯‘𝐵)) | 
| 93 | 8, 10, 19, 91, 92 | syl22anc 838 | . . 3
⊢ (𝜑 → (♯‘(𝐺 DProd 𝑆)) = (♯‘𝐵)) | 
| 94 |  | hashen 14387 | . . . 4
⊢ (((𝐺 DProd 𝑆) ∈ Fin ∧ 𝐵 ∈ Fin) → ((♯‘(𝐺 DProd 𝑆)) = (♯‘𝐵) ↔ (𝐺 DProd 𝑆) ≈ 𝐵)) | 
| 95 | 6, 1, 94 | syl2anc 584 | . . 3
⊢ (𝜑 → ((♯‘(𝐺 DProd 𝑆)) = (♯‘𝐵) ↔ (𝐺 DProd 𝑆) ≈ 𝐵)) | 
| 96 | 93, 95 | mpbid 232 | . 2
⊢ (𝜑 → (𝐺 DProd 𝑆) ≈ 𝐵) | 
| 97 |  | fisseneq 9294 | . 2
⊢ ((𝐵 ∈ Fin ∧ (𝐺 DProd 𝑆) ⊆ 𝐵 ∧ (𝐺 DProd 𝑆) ≈ 𝐵) → (𝐺 DProd 𝑆) = 𝐵) | 
| 98 | 1, 4, 96, 97 | syl3anc 1372 | 1
⊢ (𝜑 → (𝐺 DProd 𝑆) = 𝐵) |