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

Theorem pi1xfr 25337
Description: Given a path 𝐹 and its inverse 𝐼 between two basepoints, there is an induced group homomorphism on the fundamental groups. (Contributed by Mario Carneiro, 12-Feb-2015.)
Hypotheses
Ref Expression
pi1xfr.p 𝑃 = (𝐽 π1 (𝐹‘0))
pi1xfr.q 𝑄 = (𝐽 π1 (𝐹‘1))
pi1xfr.b 𝐵 = (Base‘𝑃)
pi1xfr.g 𝐺 = ran (𝑔 𝐵 ↦ ⟨[𝑔]( ≃ph𝐽), [(𝐼(*𝑝𝐽)(𝑔(*𝑝𝐽)𝐹))]( ≃ph𝐽)⟩)
pi1xfr.j (𝜑𝐽 ∈ (TopOn‘𝑋))
pi1xfr.f (𝜑𝐹 ∈ (II Cn 𝐽))
pi1xfr.i 𝐼 = (𝑥 ∈ (0[,]1) ↦ (𝐹‘(1 − 𝑥)))
Assertion
Ref Expression
pi1xfr (𝜑𝐺 ∈ (𝑃 GrpHom 𝑄))
Distinct variable groups:   𝑥,𝑔,𝐵   𝑔,𝐹,𝑥   𝑔,𝐼,𝑥   𝜑,𝑔,𝑥   𝑔,𝐽,𝑥   𝑃,𝑔,𝑥   𝑄,𝑔,𝑥
Allowed substitution hints:   𝐺(𝑥, 𝑔)   𝑋(𝑥, 𝑔)

Proof of Theorem pi1xfr
Dummy variables 𝑓 𝑢 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 pi1xfr.j . . 3 (𝜑𝐽 ∈ (TopOn‘𝑋))
2 iitopon 25161 . . . . 5 II ∈ (TopOn‘(0[,]1))
3 pi1xfr.f . . . . 5 (𝜑𝐹 ∈ (II Cn 𝐽))
4 cnf2 23528 . . . . 5 ((II ∈ (TopOn‘(0[,]1)) ∧ 𝐽 ∈ (TopOn‘𝑋) ∧ 𝐹 ∈ (II Cn 𝐽)) → 𝐹:(0[,]1)⟶𝑋)
52, 1, 3, 4mp3an2i 1495 . . . 4 (𝜑𝐹:(0[,]1)⟶𝑋)
6 0elunit 13569 . . . 4 0 ∈ (0[,]1)
7 ffvelcdm 7069 . . . 4 ((𝐹:(0[,]1)⟶𝑋 ∧ 0 ∈ (0[,]1)) → (𝐹‘0) ∈ 𝑋)
85, 6, 7sylancl 598 . . 3 (𝜑 → (𝐹‘0) ∈ 𝑋)
9 pi1xfr.p . . . 4 𝑃 = (𝐽 π1 (𝐹‘0))
109pi1grp 25332 . . 3 ((𝐽 ∈ (TopOn‘𝑋) ∧ (𝐹‘0) ∈ 𝑋) → 𝑃 ∈ Grp)
111, 8, 10syl2anc 596 . 2 (𝜑𝑃 ∈ Grp)
12 1elunit 13570 . . . 4 1 ∈ (0[,]1)
13 ffvelcdm 7069 . . . 4 ((𝐹:(0[,]1)⟶𝑋 ∧ 1 ∈ (0[,]1)) → (𝐹‘1) ∈ 𝑋)
145, 12, 13sylancl 598 . . 3 (𝜑 → (𝐹‘1) ∈ 𝑋)
15 pi1xfr.q . . . 4 𝑄 = (𝐽 π1 (𝐹‘1))
1615pi1grp 25332 . . 3 ((𝐽 ∈ (TopOn‘𝑋) ∧ (𝐹‘1) ∈ 𝑋) → 𝑄 ∈ Grp)
171, 14, 16syl2anc 596 . 2 (𝜑𝑄 ∈ Grp)
18 pi1xfr.b . . . 4 𝐵 = (Base‘𝑃)
19 pi1xfr.g . . . 4 𝐺 = ran (𝑔 𝐵 ↦ ⟨[𝑔]( ≃ph𝐽), [(𝐼(*𝑝𝐽)(𝑔(*𝑝𝐽)𝐹))]( ≃ph𝐽)⟩)
20 pi1xfr.i . . . . . . 7 𝐼 = (𝑥 ∈ (0[,]1) ↦ (𝐹‘(1 − 𝑥)))
2120pcorevcl 25307 . . . . . 6 (𝐹 ∈ (II Cn 𝐽) → (𝐼 ∈ (II Cn 𝐽) ∧ (𝐼‘0) = (𝐹‘1) ∧ (𝐼‘1) = (𝐹‘0)))
223, 21syl 18 . . . . 5 (𝜑 → (𝐼 ∈ (II Cn 𝐽) ∧ (𝐼‘0) = (𝐹‘1) ∧ (𝐼‘1) = (𝐹‘0)))
2322simp1d 1160 . . . 4 (𝜑𝐼 ∈ (II Cn 𝐽))
2422simp2d 1161 . . . . 5 (𝜑 → (𝐼‘0) = (𝐹‘1))
2524eqcomd 2766 . . . 4 (𝜑 → (𝐹‘1) = (𝐼‘0))
2622simp3d 1162 . . . 4 (𝜑 → (𝐼‘1) = (𝐹‘0))
279, 15, 18, 19, 1, 3, 23, 25, 26pi1xfrf 25335 . . 3 (𝜑𝐺:𝐵⟶(Base‘𝑄))
2818a1i 11 . . . . . . . 8 (𝜑𝐵 = (Base‘𝑃))
299, 1, 8, 28pi1bas2 25323 . . . . . . 7 (𝜑𝐵 = ( 𝐵 / ( ≃ph𝐽)))
3029eleq2d 2846 . . . . . 6 (𝜑 → (𝑦𝐵𝑦 ∈ ( 𝐵 / ( ≃ph𝐽))))
3130biimpa 482 . . . . 5 ((𝜑𝑦𝐵) → 𝑦 ∈ ( 𝐵 / ( ≃ph𝐽)))
32 eqid 2760 . . . . . 6 ( 𝐵 / ( ≃ph𝐽)) = ( 𝐵 / ( ≃ph𝐽))
33 fvoveq1 7431 . . . . . . . 8 ([𝑓]( ≃ph𝐽) = 𝑦 → (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)𝑧)) = (𝐺‘(𝑦(+g𝑃)𝑧)))
34 fveq2 6873 . . . . . . . . 9 ([𝑓]( ≃ph𝐽) = 𝑦 → (𝐺‘[𝑓]( ≃ph𝐽)) = (𝐺𝑦))
3534oveq1d 7423 . . . . . . . 8 ([𝑓]( ≃ph𝐽) = 𝑦 → ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺𝑧)) = ((𝐺𝑦)(+g𝑄)(𝐺𝑧)))
3633, 35eqeq12d 2776 . . . . . . 7 ([𝑓]( ≃ph𝐽) = 𝑦 → ((𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)𝑧)) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺𝑧)) ↔ (𝐺‘(𝑦(+g𝑃)𝑧)) = ((𝐺𝑦)(+g𝑄)(𝐺𝑧))))
3736ralbidv 3185 . . . . . 6 ([𝑓]( ≃ph𝐽) = 𝑦 → (∀𝑧𝐵 (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)𝑧)) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺𝑧)) ↔ ∀𝑧𝐵 (𝐺‘(𝑦(+g𝑃)𝑧)) = ((𝐺𝑦)(+g𝑄)(𝐺𝑧))))
3829eleq2d 2846 . . . . . . . . . 10 (𝜑 → (𝑧𝐵𝑧 ∈ ( 𝐵 / ( ≃ph𝐽))))
3938biimpa 482 . . . . . . . . 9 ((𝜑𝑧𝐵) → 𝑧 ∈ ( 𝐵 / ( ≃ph𝐽)))
4039adantlr 728 . . . . . . . 8 (((𝜑𝑓 𝐵) ∧ 𝑧𝐵) → 𝑧 ∈ ( 𝐵 / ( ≃ph𝐽)))
41 oveq2 7416 . . . . . . . . . . 11 ([]( ≃ph𝐽) = 𝑧 → ([𝑓]( ≃ph𝐽)(+g𝑃)[]( ≃ph𝐽)) = ([𝑓]( ≃ph𝐽)(+g𝑃)𝑧))
4241fveq2d 6877 . . . . . . . . . 10 ([]( ≃ph𝐽) = 𝑧 → (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)[]( ≃ph𝐽))) = (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)𝑧)))
43 fveq2 6873 . . . . . . . . . . 11 ([]( ≃ph𝐽) = 𝑧 → (𝐺‘[]( ≃ph𝐽)) = (𝐺𝑧))
4443oveq2d 7424 . . . . . . . . . 10 ([]( ≃ph𝐽) = 𝑧 → ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺‘[]( ≃ph𝐽))) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺𝑧)))
4542, 44eqeq12d 2776 . . . . . . . . 9 ([]( ≃ph𝐽) = 𝑧 → ((𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)[]( ≃ph𝐽))) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺‘[]( ≃ph𝐽))) ↔ (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)𝑧)) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺𝑧))))
46 phtpcer 25277 . . . . . . . . . . . . . 14 ( ≃ph𝐽) Er (II Cn 𝐽)
4746a1i 11 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → ( ≃ph𝐽) Er (II Cn 𝐽))
489, 1, 8, 28pi1eluni 25324 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (𝑓 𝐵 ↔ (𝑓 ∈ (II Cn 𝐽) ∧ (𝑓‘0) = (𝐹‘0) ∧ (𝑓‘1) = (𝐹‘0))))
4948biimpa 482 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑓 𝐵) → (𝑓 ∈ (II Cn 𝐽) ∧ (𝑓‘0) = (𝐹‘0) ∧ (𝑓‘1) = (𝐹‘0)))
5049simp1d 1160 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑓 𝐵) → 𝑓 ∈ (II Cn 𝐽))
51503adant3 1150 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵 𝐵) → 𝑓 ∈ (II Cn 𝐽))
529, 1, 8, 28pi1eluni 25324 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → ( 𝐵 ↔ ( ∈ (II Cn 𝐽) ∧ (‘0) = (𝐹‘0) ∧ (‘1) = (𝐹‘0))))
5352adantr 486 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑓 𝐵) → ( 𝐵 ↔ ( ∈ (II Cn 𝐽) ∧ (‘0) = (𝐹‘0) ∧ (‘1) = (𝐹‘0))))
5453biimp3a 1498 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑓 𝐵 𝐵) → ( ∈ (II Cn 𝐽) ∧ (‘0) = (𝐹‘0) ∧ (‘1) = (𝐹‘0)))
5554simp1d 1160 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵 𝐵) → ∈ (II Cn 𝐽))
5651, 55pco0 25296 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽))‘0) = (𝑓‘0))
5749simp2d 1161 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵) → (𝑓‘0) = (𝐹‘0))
58573adant3 1150 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵 𝐵) → (𝑓‘0) = (𝐹‘0))
5956, 58eqtrd 2795 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽))‘0) = (𝐹‘0))
6049simp3d 1162 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑓 𝐵) → (𝑓‘1) = (𝐹‘0))
61603adant3 1150 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑓 𝐵 𝐵) → (𝑓‘1) = (𝐹‘0))
6254simp2d 1161 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑓 𝐵 𝐵) → (‘0) = (𝐹‘0))
6361, 62eqtr4d 2798 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵 𝐵) → (𝑓‘1) = (‘0))
6451, 55, 63pcocn 25299 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵 𝐵) → (𝑓(*𝑝𝐽)) ∈ (II Cn 𝐽))
6533ad2ant1 1151 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵 𝐵) → 𝐹 ∈ (II Cn 𝐽))
6664, 65pco0 25296 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵 𝐵) → (((𝑓(*𝑝𝐽))(*𝑝𝐽)𝐹)‘0) = ((𝑓(*𝑝𝐽))‘0))
67263ad2ant1 1151 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵 𝐵) → (𝐼‘1) = (𝐹‘0))
6859, 66, 673eqtr4rd 2806 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → (𝐼‘1) = (((𝑓(*𝑝𝐽))(*𝑝𝐽)𝐹)‘0))
69233ad2ant1 1151 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵 𝐵) → 𝐼 ∈ (II Cn 𝐽))
7047, 69erref 8716 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → 𝐼( ≃ph𝐽)𝐼)
7154simp3d 1162 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵 𝐵) → (‘1) = (𝐹‘0))
72 eqid 2760 . . . . . . . . . . . . . . . . 17 (𝑢 ∈ (0[,]1) ↦ if(𝑢 ≤ (1 / 2), if(𝑢 ≤ (1 / 4), (2 · 𝑢), (𝑢 + (1 / 4))), ((𝑢 / 2) + (1 / 2)))) = (𝑢 ∈ (0[,]1) ↦ if(𝑢 ≤ (1 / 2), if(𝑢 ≤ (1 / 4), (2 · 𝑢), (𝑢 + (1 / 4))), ((𝑢 / 2) + (1 / 2))))
7351, 55, 65, 63, 71, 72pcoass 25306 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽))(*𝑝𝐽)𝐹)( ≃ph𝐽)(𝑓(*𝑝𝐽)((*𝑝𝐽)𝐹)))
7455, 65pco0 25296 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑓 𝐵 𝐵) → (((*𝑝𝐽)𝐹)‘0) = (‘0))
7563, 74eqtr4d 2798 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵 𝐵) → (𝑓‘1) = (((*𝑝𝐽)𝐹)‘0))
7647, 51erref 8716 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵 𝐵) → 𝑓( ≃ph𝐽)𝑓)
7765, 69pco1 25297 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑓 𝐵 𝐵) → ((𝐹(*𝑝𝐽)𝐼)‘1) = (𝐼‘1))
7862, 74, 673eqtr4rd 2806 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑓 𝐵 𝐵) → (𝐼‘1) = (((*𝑝𝐽)𝐹)‘0))
7977, 78eqtrd 2795 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑓 𝐵 𝐵) → ((𝐹(*𝑝𝐽)𝐼)‘1) = (((*𝑝𝐽)𝐹)‘0))
80 eqid 2760 . . . . . . . . . . . . . . . . . . . . . . 23 ((0[,]1) × {(𝐹‘0)}) = ((0[,]1) × {(𝐹‘0)})
8120, 80pcorev2 25310 . . . . . . . . . . . . . . . . . . . . . 22 (𝐹 ∈ (II Cn 𝐽) → (𝐹(*𝑝𝐽)𝐼)( ≃ph𝐽)((0[,]1) × {(𝐹‘0)}))
8265, 81syl 18 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑓 𝐵 𝐵) → (𝐹(*𝑝𝐽)𝐼)( ≃ph𝐽)((0[,]1) × {(𝐹‘0)}))
8355, 65, 71pcocn 25299 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑓 𝐵 𝐵) → ((*𝑝𝐽)𝐹) ∈ (II Cn 𝐽))
8447, 83erref 8716 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑓 𝐵 𝐵) → ((*𝑝𝐽)𝐹)( ≃ph𝐽)((*𝑝𝐽)𝐹))
8579, 82, 84pcohtpy 25302 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑓 𝐵 𝐵) → ((𝐹(*𝑝𝐽)𝐼)(*𝑝𝐽)((*𝑝𝐽)𝐹))( ≃ph𝐽)(((0[,]1) × {(𝐹‘0)})(*𝑝𝐽)((*𝑝𝐽)𝐹)))
8674, 62eqtrd 2795 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑓 𝐵 𝐵) → (((*𝑝𝐽)𝐹)‘0) = (𝐹‘0))
8780pcopt 25304 . . . . . . . . . . . . . . . . . . . . 21 ((((*𝑝𝐽)𝐹) ∈ (II Cn 𝐽) ∧ (((*𝑝𝐽)𝐹)‘0) = (𝐹‘0)) → (((0[,]1) × {(𝐹‘0)})(*𝑝𝐽)((*𝑝𝐽)𝐹))( ≃ph𝐽)((*𝑝𝐽)𝐹))
8883, 86, 87syl2anc 596 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑓 𝐵 𝐵) → (((0[,]1) × {(𝐹‘0)})(*𝑝𝐽)((*𝑝𝐽)𝐹))( ≃ph𝐽)((*𝑝𝐽)𝐹))
8947, 85, 88ertrd 8712 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑓 𝐵 𝐵) → ((𝐹(*𝑝𝐽)𝐼)(*𝑝𝐽)((*𝑝𝐽)𝐹))( ≃ph𝐽)((*𝑝𝐽)𝐹))
90243ad2ant1 1151 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑓 𝐵 𝐵) → (𝐼‘0) = (𝐹‘1))
9190eqcomd 2766 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑓 𝐵 𝐵) → (𝐹‘1) = (𝐼‘0))
9265, 69, 83, 91, 78, 72pcoass 25306 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑓 𝐵 𝐵) → ((𝐹(*𝑝𝐽)𝐼)(*𝑝𝐽)((*𝑝𝐽)𝐹))( ≃ph𝐽)(𝐹(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))))
9347, 89, 92ertr3d 8714 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵 𝐵) → ((*𝑝𝐽)𝐹)( ≃ph𝐽)(𝐹(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))))
9475, 76, 93pcohtpy 25302 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵 𝐵) → (𝑓(*𝑝𝐽)((*𝑝𝐽)𝐹))( ≃ph𝐽)(𝑓(*𝑝𝐽)(𝐹(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)))))
9569, 83, 78pcocn 25299 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵 𝐵) → (𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)) ∈ (II Cn 𝐽))
9669, 83pco0 25296 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))‘0) = (𝐼‘0))
9796, 90eqtrd 2795 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))‘0) = (𝐹‘1))
9897eqcomd 2766 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑓 𝐵 𝐵) → (𝐹‘1) = ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))‘0))
9951, 65, 95, 61, 98, 72pcoass 25306 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽)𝐹)(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)))( ≃ph𝐽)(𝑓(*𝑝𝐽)(𝐹(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)))))
10047, 94, 99ertr4d 8715 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵 𝐵) → (𝑓(*𝑝𝐽)((*𝑝𝐽)𝐹))( ≃ph𝐽)((𝑓(*𝑝𝐽)𝐹)(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))))
10147, 73, 100ertrd 8712 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽))(*𝑝𝐽)𝐹)( ≃ph𝐽)((𝑓(*𝑝𝐽)𝐹)(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))))
10268, 70, 101pcohtpy 25302 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → (𝐼(*𝑝𝐽)((𝑓(*𝑝𝐽))(*𝑝𝐽)𝐹))( ≃ph𝐽)(𝐼(*𝑝𝐽)((𝑓(*𝑝𝐽)𝐹)(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)))))
1033adantr 486 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵) → 𝐹 ∈ (II Cn 𝐽))
10450, 103, 60pcocn 25299 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵) → (𝑓(*𝑝𝐽)𝐹) ∈ (II Cn 𝐽))
1051043adant3 1150 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → (𝑓(*𝑝𝐽)𝐹) ∈ (II Cn 𝐽))
10650, 103pco0 25296 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵) → ((𝑓(*𝑝𝐽)𝐹)‘0) = (𝑓‘0))
10726adantr 486 . . . . . . . . . . . . . . . . 17 ((𝜑𝑓 𝐵) → (𝐼‘1) = (𝐹‘0))
10857, 106, 1073eqtr4rd 2806 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵) → (𝐼‘1) = ((𝑓(*𝑝𝐽)𝐹)‘0))
1091083adant3 1150 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → (𝐼‘1) = ((𝑓(*𝑝𝐽)𝐹)‘0))
11051, 65pco1 25297 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽)𝐹)‘1) = (𝐹‘1))
111110, 97eqtr4d 2798 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽)𝐹)‘1) = ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))‘0))
11269, 105, 95, 109, 111, 72pcoass 25306 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)))( ≃ph𝐽)(𝐼(*𝑝𝐽)((𝑓(*𝑝𝐽)𝐹)(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)))))
11347, 102, 112ertr4d 8715 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → (𝐼(*𝑝𝐽)((𝑓(*𝑝𝐽))(*𝑝𝐽)𝐹))( ≃ph𝐽)((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))))
11447, 113erthi 8752 . . . . . . . . . . . 12 ((𝜑𝑓 𝐵 𝐵) → [(𝐼(*𝑝𝐽)((𝑓(*𝑝𝐽))(*𝑝𝐽)𝐹))]( ≃ph𝐽) = [((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)))]( ≃ph𝐽))
11513ad2ant1 1151 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → 𝐽 ∈ (TopOn‘𝑋))
11651, 55pco1 25297 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽))‘1) = (‘1))
117116, 71eqtrd 2795 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽))‘1) = (𝐹‘0))
1189, 1, 8, 28pi1eluni 25324 . . . . . . . . . . . . . . 15 (𝜑 → ((𝑓(*𝑝𝐽)) ∈ 𝐵 ↔ ((𝑓(*𝑝𝐽)) ∈ (II Cn 𝐽) ∧ ((𝑓(*𝑝𝐽))‘0) = (𝐹‘0) ∧ ((𝑓(*𝑝𝐽))‘1) = (𝐹‘0))))
1191183ad2ant1 1151 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → ((𝑓(*𝑝𝐽)) ∈ 𝐵 ↔ ((𝑓(*𝑝𝐽)) ∈ (II Cn 𝐽) ∧ ((𝑓(*𝑝𝐽))‘0) = (𝐹‘0) ∧ ((𝑓(*𝑝𝐽))‘1) = (𝐹‘0))))
12064, 59, 117, 119mpbir3and 1361 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → (𝑓(*𝑝𝐽)) ∈ 𝐵)
1219, 15, 18, 19, 115, 65, 69, 91, 67, 120pi1xfrval 25336 . . . . . . . . . . . 12 ((𝜑𝑓 𝐵 𝐵) → (𝐺‘[(𝑓(*𝑝𝐽))]( ≃ph𝐽)) = [(𝐼(*𝑝𝐽)((𝑓(*𝑝𝐽))(*𝑝𝐽)𝐹))]( ≃ph𝐽))
122 eqid 2760 . . . . . . . . . . . . 13 (Base‘𝑄) = (Base‘𝑄)
123143ad2ant1 1151 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → (𝐹‘1) ∈ 𝑋)
124 eqid 2760 . . . . . . . . . . . . 13 (+g𝑄) = (+g𝑄)
12523adantr 486 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵) → 𝐼 ∈ (II Cn 𝐽))
126125, 104, 108pcocn 25299 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵) → (𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹)) ∈ (II Cn 𝐽))
1271263adant3 1150 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → (𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹)) ∈ (II Cn 𝐽))
128125, 104pco0 25296 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵) → ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))‘0) = (𝐼‘0))
12924adantr 486 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵) → (𝐼‘0) = (𝐹‘1))
130128, 129eqtrd 2795 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵) → ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))‘0) = (𝐹‘1))
1311303adant3 1150 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))‘0) = (𝐹‘1))
132125, 104pco1 25297 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵) → ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))‘1) = ((𝑓(*𝑝𝐽)𝐹)‘1))
13350, 103pco1 25297 . . . . . . . . . . . . . . . 16 ((𝜑𝑓 𝐵) → ((𝑓(*𝑝𝐽)𝐹)‘1) = (𝐹‘1))
134132, 133eqtrd 2795 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵) → ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))‘1) = (𝐹‘1))
1351343adant3 1150 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))‘1) = (𝐹‘1))
136 eqidd 2761 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → (Base‘𝑄) = (Base‘𝑄))
13715, 115, 123, 136pi1eluni 25324 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹)) ∈ (Base‘𝑄) ↔ ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹)) ∈ (II Cn 𝐽) ∧ ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))‘0) = (𝐹‘1) ∧ ((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))‘1) = (𝐹‘1))))
138127, 131, 135, 137mpbir3and 1361 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → (𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹)) ∈ (Base‘𝑄))
13969, 83pco1 25297 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))‘1) = (((*𝑝𝐽)𝐹)‘1))
14055, 65pco1 25297 . . . . . . . . . . . . . . 15 ((𝜑𝑓 𝐵 𝐵) → (((*𝑝𝐽)𝐹)‘1) = (𝐹‘1))
141139, 140eqtrd 2795 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))‘1) = (𝐹‘1))
14215, 115, 123, 136pi1eluni 25324 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵 𝐵) → ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)) ∈ (Base‘𝑄) ↔ ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)) ∈ (II Cn 𝐽) ∧ ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))‘0) = (𝐹‘1) ∧ ((𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))‘1) = (𝐹‘1))))
14395, 97, 141, 142mpbir3and 1361 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → (𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)) ∈ (Base‘𝑄))
14415, 122, 115, 123, 124, 138, 143pi1addval 25330 . . . . . . . . . . . 12 ((𝜑𝑓 𝐵 𝐵) → ([(𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))]( ≃ph𝐽)(+g𝑄)[(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))]( ≃ph𝐽)) = [((𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))(*𝑝𝐽)(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹)))]( ≃ph𝐽))
145114, 121, 1443eqtr4d 2805 . . . . . . . . . . 11 ((𝜑𝑓 𝐵 𝐵) → (𝐺‘[(𝑓(*𝑝𝐽))]( ≃ph𝐽)) = ([(𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))]( ≃ph𝐽)(+g𝑄)[(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))]( ≃ph𝐽)))
14683ad2ant1 1151 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → (𝐹‘0) ∈ 𝑋)
147 eqid 2760 . . . . . . . . . . . . 13 (+g𝑃) = (+g𝑃)
148 simp2 1155 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → 𝑓 𝐵)
149 simp3 1156 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵 𝐵) → 𝐵)
1509, 18, 115, 146, 147, 148, 149pi1addval 25330 . . . . . . . . . . . 12 ((𝜑𝑓 𝐵 𝐵) → ([𝑓]( ≃ph𝐽)(+g𝑃)[]( ≃ph𝐽)) = [(𝑓(*𝑝𝐽))]( ≃ph𝐽))
151150fveq2d 6877 . . . . . . . . . . 11 ((𝜑𝑓 𝐵 𝐵) → (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)[]( ≃ph𝐽))) = (𝐺‘[(𝑓(*𝑝𝐽))]( ≃ph𝐽)))
1521adantr 486 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵) → 𝐽 ∈ (TopOn‘𝑋))
15325adantr 486 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵) → (𝐹‘1) = (𝐼‘0))
154 simpr 490 . . . . . . . . . . . . . 14 ((𝜑𝑓 𝐵) → 𝑓 𝐵)
1559, 15, 18, 19, 152, 103, 125, 153, 107, 154pi1xfrval 25336 . . . . . . . . . . . . 13 ((𝜑𝑓 𝐵) → (𝐺‘[𝑓]( ≃ph𝐽)) = [(𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))]( ≃ph𝐽))
1561553adant3 1150 . . . . . . . . . . . 12 ((𝜑𝑓 𝐵 𝐵) → (𝐺‘[𝑓]( ≃ph𝐽)) = [(𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))]( ≃ph𝐽))
1579, 15, 18, 19, 115, 65, 69, 91, 67, 149pi1xfrval 25336 . . . . . . . . . . . 12 ((𝜑𝑓 𝐵 𝐵) → (𝐺‘[]( ≃ph𝐽)) = [(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))]( ≃ph𝐽))
158156, 157oveq12d 7426 . . . . . . . . . . 11 ((𝜑𝑓 𝐵 𝐵) → ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺‘[]( ≃ph𝐽))) = ([(𝐼(*𝑝𝐽)(𝑓(*𝑝𝐽)𝐹))]( ≃ph𝐽)(+g𝑄)[(𝐼(*𝑝𝐽)((*𝑝𝐽)𝐹))]( ≃ph𝐽)))
159145, 151, 1583eqtr4d 2805 . . . . . . . . . 10 ((𝜑𝑓 𝐵 𝐵) → (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)[]( ≃ph𝐽))) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺‘[]( ≃ph𝐽))))
1601593expa 1136 . . . . . . . . 9 (((𝜑𝑓 𝐵) ∧ 𝐵) → (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)[]( ≃ph𝐽))) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺‘[]( ≃ph𝐽))))
16132, 45, 160ectocld 8781 . . . . . . . 8 (((𝜑𝑓 𝐵) ∧ 𝑧 ∈ ( 𝐵 / ( ≃ph𝐽))) → (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)𝑧)) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺𝑧)))
16240, 161syldan 603 . . . . . . 7 (((𝜑𝑓 𝐵) ∧ 𝑧𝐵) → (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)𝑧)) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺𝑧)))
163162ralrimiva 3154 . . . . . 6 ((𝜑𝑓 𝐵) → ∀𝑧𝐵 (𝐺‘([𝑓]( ≃ph𝐽)(+g𝑃)𝑧)) = ((𝐺‘[𝑓]( ≃ph𝐽))(+g𝑄)(𝐺𝑧)))
16432, 37, 163ectocld 8781 . . . . 5 ((𝜑𝑦 ∈ ( 𝐵 / ( ≃ph𝐽))) → ∀𝑧𝐵 (𝐺‘(𝑦(+g𝑃)𝑧)) = ((𝐺𝑦)(+g𝑄)(𝐺𝑧)))
16531, 164syldan 603 . . . 4 ((𝜑𝑦𝐵) → ∀𝑧𝐵 (𝐺‘(𝑦(+g𝑃)𝑧)) = ((𝐺𝑦)(+g𝑄)(𝐺𝑧)))
166165ralrimiva 3154 . . 3 (𝜑 → ∀𝑦𝐵𝑧𝐵 (𝐺‘(𝑦(+g𝑃)𝑧)) = ((𝐺𝑦)(+g𝑄)(𝐺𝑧)))
16727, 166jca 521 . 2 (𝜑 → (𝐺:𝐵⟶(Base‘𝑄) ∧ ∀𝑦𝐵𝑧𝐵 (𝐺‘(𝑦(+g𝑃)𝑧)) = ((𝐺𝑦)(+g𝑄)(𝐺𝑧))))
16818, 122, 147, 124isghm 19391 . 2 (𝐺 ∈ (𝑃 GrpHom 𝑄) ↔ ((𝑃 ∈ Grp ∧ 𝑄 ∈ Grp) ∧ (𝐺:𝐵⟶(Base‘𝑄) ∧ ∀𝑦𝐵𝑧𝐵 (𝐺‘(𝑦(+g𝑃)𝑧)) = ((𝐺𝑦)(+g𝑄)(𝐺𝑧)))))
16911, 17, 167, 168syl21anbrc 1363 1 (𝜑𝐺 ∈ (𝑃 GrpHom 𝑄))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103   = wceq 1570  wcel 2145  wral 3076  ifcif 4481  {csn 4583  cop 4589   cuni 4866   class class class wbr 5102  cmpt 5185   × cxp 5645  ran crn 5648  wf 6523  cfv 6527  (class class class)co 7408   Er wer 8692  [cec 8693   / cqs 8694  0cc0 11171  1c1 11172   + caddc 11174   · cmul 11176  cle 11315  cmin 11512   / cdiv 11942  2c2 12366  4c4 12368  [,]cicc 13448  Basecbs 17348  +gcplusg 17389  Grpcgrp 19105   GrpHom cghm 19388  TopOnctopon 23189   Cn ccn 23503  IIcii 25157  phcphtpc 25251  *𝑝cpco 25282   π1 cpi1 25285
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7734  ax-cnex 11227  ax-resscn 11228  ax-1cn 11229  ax-icn 11230  ax-addcl 11231  ax-addrcl 11232  ax-mulcl 11233  ax-mulrcl 11234  ax-mulcom 11235  ax-addass 11236  ax-mulass 11237  ax-distr 11238  ax-i2m1 11239  ax-1ne0 11240  ax-1rid 11241  ax-rnegex 11242  ax-rrecex 11243  ax-cnre 11244  ax-pre-lttri 11245  ax-pre-lttrn 11246  ax-pre-ltadd 11247  ax-pre-mulgt0 11248  ax-pre-sup 11249  ax-addf 11250
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-pss 3918  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-tp 4588  df-op 4590  df-uni 4867  df-int 4907  df-iun 4952  df-iin 4953  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5542  df-eprel 5547  df-po 5555  df-so 5556  df-fr 5600  df-se 5601  df-we 5602  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-res 5659  df-ima 5660  df-pred 6293  df-ord 6354  df-on 6355  df-lim 6356  df-suc 6357  df-iota 6483  df-fun 6529  df-fn 6530  df-f 6531  df-f1 6532  df-fo 6533  df-f1o 6534  df-fv 6535  df-isom 6536  df-riota 7365  df-ov 7411  df-oprab 7412  df-mpo 7413  df-of 7676  df-om 7861  df-1st 7984  df-2nd 7985  df-supp 8156  df-frecs 8277  df-wrecs 8308  df-recs 8357  df-rdg 8396  df-1o 8454  df-2o 8455  df-er 8695  df-ec 8697  df-qs 8701  df-map 8827  df-ixp 8904  df-en 8952  df-dom 8953  df-sdom 8954  df-fin 8955  df-fsupp 9332  df-fi 9381  df-sup 9412  df-inf 9413  df-oi 9482  df-card 9991  df-pnf 11316  df-mnf 11317  df-xr 11318  df-ltxr 11319  df-le 11320  df-sub 11514  df-neg 11515  df-div 11943  df-nn 12305  df-2 12374  df-3 12375  df-4 12376  df-5 12377  df-6 12378  df-7 12379  df-8 12380  df-9 12381  df-n0 12576  df-z 12663  df-dec 12784  df-uz 12935  df-q 13045  df-rp 13090  df-xneg 13210  df-xadd 13211  df-xmul 13212  df-ioo 13449  df-icc 13452  df-fz 13609  df-fzo 13757  df-seq 14113  df-exp 14173  df-hash 14442  df-cj 15233  df-re 15234  df-im 15235  df-sqrt 15369  df-abs 15370  df-struct 17286  df-sets 17303  df-slot 17321  df-ndx 17333  df-base 17349  df-ress 17370  df-plusg 17402  df-mulr 17403  df-starv 17404  df-sca 17405  df-vsca 17406  df-ip 17407  df-tset 17408  df-ple 17409  df-ds 17411  df-unif 17412  df-hom 17413  df-cco 17414  df-rest 17554  df-topn 17555  df-0g 17573  df-gsum 17574  df-topgen 17575  df-pt 17576  df-prds 17579  df-xrs 17635  df-qtop 17640  df-imas 17641  df-qus 17642  df-xps 17643  df-mre 17717  df-mrc 17718  df-acs 17720  df-mgm 18777  df-sgrp 18869  df-mnd 18885  df-submnd 18940  df-grp 19108  df-mulg 19239  df-ghm 19389  df-cntz 19492  df-cmn 19957  df-psmet 21631  df-xmet 21632  df-met 21633  df-bl 21634  df-mopn 21635  df-cnfld 21640  df-top 23173  df-topon 23190  df-topsp 23212  df-bases 23225  df-cld 23298  df-cn 23506  df-cnp 23507  df-tx 23842  df-hmeo 24035  df-xms 24600  df-ms 24601  df-tms 24602  df-ii 25159  df-htpy 25252  df-phtpy 25253  df-phtpc 25274  df-pco 25287  df-om1 25288  df-pi1 25290
This theorem is used by:  pi1xfrcnv  25339  pi1xfrgim  25340
  Copyright terms: Public domain W3C validator