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

Theorem pi1coghm 24808
Description: The mapping 𝐺 between fundamental groups is a group homomorphism. (Contributed by Mario Carneiro, 10-Aug-2015.) (Revised by Mario Carneiro, 23-Dec-2016.)
Hypotheses
Ref Expression
pi1co.p 𝑃 = (𝐽 Ο€1 𝐴)
pi1co.q 𝑄 = (𝐾 Ο€1 𝐡)
pi1co.v 𝑉 = (Baseβ€˜π‘ƒ)
pi1co.g 𝐺 = ran (𝑔 ∈ βˆͺ 𝑉 ↦ ⟨[𝑔]( ≃phβ€˜π½), [(𝐹 ∘ 𝑔)]( ≃phβ€˜πΎ)⟩)
pi1co.j (πœ‘ β†’ 𝐽 ∈ (TopOnβ€˜π‘‹))
pi1co.f (πœ‘ β†’ 𝐹 ∈ (𝐽 Cn 𝐾))
pi1co.a (πœ‘ β†’ 𝐴 ∈ 𝑋)
pi1co.b (πœ‘ β†’ (πΉβ€˜π΄) = 𝐡)
Assertion
Ref Expression
pi1coghm (πœ‘ β†’ 𝐺 ∈ (𝑃 GrpHom 𝑄))
Distinct variable groups:   𝐴,𝑔   𝑔,𝐹   𝑔,𝐽   πœ‘,𝑔   𝑔,𝐾   𝑃,𝑔   𝑄,𝑔   𝑔,𝑉
Allowed substitution hints:   𝐡(𝑔)   𝐺(𝑔)   𝑋(𝑔)

Proof of Theorem pi1coghm
Dummy variables β„Ž 𝑓 𝑧 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 pi1co.j . . 3 (πœ‘ β†’ 𝐽 ∈ (TopOnβ€˜π‘‹))
2 pi1co.a . . 3 (πœ‘ β†’ 𝐴 ∈ 𝑋)
3 pi1co.p . . . 4 𝑃 = (𝐽 Ο€1 𝐴)
43pi1grp 24797 . . 3 ((𝐽 ∈ (TopOnβ€˜π‘‹) ∧ 𝐴 ∈ 𝑋) β†’ 𝑃 ∈ Grp)
51, 2, 4syl2anc 582 . 2 (πœ‘ β†’ 𝑃 ∈ Grp)
6 pi1co.f . . . . 5 (πœ‘ β†’ 𝐹 ∈ (𝐽 Cn 𝐾))
7 cntop2 22965 . . . . 5 (𝐹 ∈ (𝐽 Cn 𝐾) β†’ 𝐾 ∈ Top)
86, 7syl 17 . . . 4 (πœ‘ β†’ 𝐾 ∈ Top)
9 toptopon2 22640 . . . 4 (𝐾 ∈ Top ↔ 𝐾 ∈ (TopOnβ€˜βˆͺ 𝐾))
108, 9sylib 217 . . 3 (πœ‘ β†’ 𝐾 ∈ (TopOnβ€˜βˆͺ 𝐾))
11 pi1co.b . . . 4 (πœ‘ β†’ (πΉβ€˜π΄) = 𝐡)
12 cnf2 22973 . . . . . 6 ((𝐽 ∈ (TopOnβ€˜π‘‹) ∧ 𝐾 ∈ (TopOnβ€˜βˆͺ 𝐾) ∧ 𝐹 ∈ (𝐽 Cn 𝐾)) β†’ 𝐹:π‘‹βŸΆβˆͺ 𝐾)
131, 10, 6, 12syl3anc 1369 . . . . 5 (πœ‘ β†’ 𝐹:π‘‹βŸΆβˆͺ 𝐾)
1413, 2ffvelcdmd 7086 . . . 4 (πœ‘ β†’ (πΉβ€˜π΄) ∈ βˆͺ 𝐾)
1511, 14eqeltrrd 2832 . . 3 (πœ‘ β†’ 𝐡 ∈ βˆͺ 𝐾)
16 pi1co.q . . . 4 𝑄 = (𝐾 Ο€1 𝐡)
1716pi1grp 24797 . . 3 ((𝐾 ∈ (TopOnβ€˜βˆͺ 𝐾) ∧ 𝐡 ∈ βˆͺ 𝐾) β†’ 𝑄 ∈ Grp)
1810, 15, 17syl2anc 582 . 2 (πœ‘ β†’ 𝑄 ∈ Grp)
19 pi1co.v . . . 4 𝑉 = (Baseβ€˜π‘ƒ)
20 pi1co.g . . . 4 𝐺 = ran (𝑔 ∈ βˆͺ 𝑉 ↦ ⟨[𝑔]( ≃phβ€˜π½), [(𝐹 ∘ 𝑔)]( ≃phβ€˜πΎ)⟩)
213, 16, 19, 20, 1, 6, 2, 11pi1cof 24806 . . 3 (πœ‘ β†’ 𝐺:π‘‰βŸΆ(Baseβ€˜π‘„))
2219a1i 11 . . . . . . . 8 (πœ‘ β†’ 𝑉 = (Baseβ€˜π‘ƒ))
233, 1, 2, 22pi1bas2 24788 . . . . . . 7 (πœ‘ β†’ 𝑉 = (βˆͺ 𝑉 / ( ≃phβ€˜π½)))
2423eleq2d 2817 . . . . . 6 (πœ‘ β†’ (𝑦 ∈ 𝑉 ↔ 𝑦 ∈ (βˆͺ 𝑉 / ( ≃phβ€˜π½))))
2524biimpa 475 . . . . 5 ((πœ‘ ∧ 𝑦 ∈ 𝑉) β†’ 𝑦 ∈ (βˆͺ 𝑉 / ( ≃phβ€˜π½)))
26 eqid 2730 . . . . . 6 (βˆͺ 𝑉 / ( ≃phβ€˜π½)) = (βˆͺ 𝑉 / ( ≃phβ€˜π½))
27 fvoveq1 7434 . . . . . . . 8 ([𝑓]( ≃phβ€˜π½) = 𝑦 β†’ (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = (πΊβ€˜(𝑦(+gβ€˜π‘ƒ)𝑧)))
28 fveq2 6890 . . . . . . . . 9 ([𝑓]( ≃phβ€˜π½) = 𝑦 β†’ (πΊβ€˜[𝑓]( ≃phβ€˜π½)) = (πΊβ€˜π‘¦))
2928oveq1d 7426 . . . . . . . 8 ([𝑓]( ≃phβ€˜π½) = 𝑦 β†’ ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§)) = ((πΊβ€˜π‘¦)(+gβ€˜π‘„)(πΊβ€˜π‘§)))
3027, 29eqeq12d 2746 . . . . . . 7 ([𝑓]( ≃phβ€˜π½) = 𝑦 β†’ ((πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§)) ↔ (πΊβ€˜(𝑦(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜π‘¦)(+gβ€˜π‘„)(πΊβ€˜π‘§))))
3130ralbidv 3175 . . . . . 6 ([𝑓]( ≃phβ€˜π½) = 𝑦 β†’ (βˆ€π‘§ ∈ 𝑉 (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§)) ↔ βˆ€π‘§ ∈ 𝑉 (πΊβ€˜(𝑦(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜π‘¦)(+gβ€˜π‘„)(πΊβ€˜π‘§))))
32 oveq2 7419 . . . . . . . . . . 11 ([β„Ž]( ≃phβ€˜π½) = 𝑧 β†’ ([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)[β„Ž]( ≃phβ€˜π½)) = ([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧))
3332fveq2d 6894 . . . . . . . . . 10 ([β„Ž]( ≃phβ€˜π½) = 𝑧 β†’ (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)[β„Ž]( ≃phβ€˜π½))) = (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)))
34 fveq2 6890 . . . . . . . . . . 11 ([β„Ž]( ≃phβ€˜π½) = 𝑧 β†’ (πΊβ€˜[β„Ž]( ≃phβ€˜π½)) = (πΊβ€˜π‘§))
3534oveq2d 7427 . . . . . . . . . 10 ([β„Ž]( ≃phβ€˜π½) = 𝑧 β†’ ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜[β„Ž]( ≃phβ€˜π½))) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§)))
3633, 35eqeq12d 2746 . . . . . . . . 9 ([β„Ž]( ≃phβ€˜π½) = 𝑧 β†’ ((πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)[β„Ž]( ≃phβ€˜π½))) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜[β„Ž]( ≃phβ€˜π½))) ↔ (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§))))
373, 1, 2, 22pi1eluni 24789 . . . . . . . . . . . . . . . 16 (πœ‘ β†’ (𝑓 ∈ βˆͺ 𝑉 ↔ (𝑓 ∈ (II Cn 𝐽) ∧ (π‘“β€˜0) = 𝐴 ∧ (π‘“β€˜1) = 𝐴)))
3837biimpa 475 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (𝑓 ∈ (II Cn 𝐽) ∧ (π‘“β€˜0) = 𝐴 ∧ (π‘“β€˜1) = 𝐴))
3938simp1d 1140 . . . . . . . . . . . . . 14 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝑓 ∈ (II Cn 𝐽))
4039adantr 479 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ 𝑓 ∈ (II Cn 𝐽))
411adantr 479 . . . . . . . . . . . . . . . 16 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝐽 ∈ (TopOnβ€˜π‘‹))
422adantr 479 . . . . . . . . . . . . . . . 16 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝐴 ∈ 𝑋)
4319a1i 11 . . . . . . . . . . . . . . . 16 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝑉 = (Baseβ€˜π‘ƒ))
443, 41, 42, 43pi1eluni 24789 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (β„Ž ∈ βˆͺ 𝑉 ↔ (β„Ž ∈ (II Cn 𝐽) ∧ (β„Žβ€˜0) = 𝐴 ∧ (β„Žβ€˜1) = 𝐴)))
4544biimpa 475 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (β„Ž ∈ (II Cn 𝐽) ∧ (β„Žβ€˜0) = 𝐴 ∧ (β„Žβ€˜1) = 𝐴))
4645simp1d 1140 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ β„Ž ∈ (II Cn 𝐽))
4738simp3d 1142 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (π‘“β€˜1) = 𝐴)
4847adantr 479 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (π‘“β€˜1) = 𝐴)
4945simp2d 1141 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (β„Žβ€˜0) = 𝐴)
5048, 49eqtr4d 2773 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (π‘“β€˜1) = (β„Žβ€˜0))
516ad2antrr 722 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ 𝐹 ∈ (𝐽 Cn 𝐾))
5240, 46, 50, 51copco 24765 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (𝐹 ∘ (𝑓(*π‘β€˜π½)β„Ž)) = ((𝐹 ∘ 𝑓)(*π‘β€˜πΎ)(𝐹 ∘ β„Ž)))
5352eceq1d 8744 . . . . . . . . . . 11 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ [(𝐹 ∘ (𝑓(*π‘β€˜π½)β„Ž))]( ≃phβ€˜πΎ) = [((𝐹 ∘ 𝑓)(*π‘β€˜πΎ)(𝐹 ∘ β„Ž))]( ≃phβ€˜πΎ))
5440, 46, 50pcocn 24764 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (𝑓(*π‘β€˜π½)β„Ž) ∈ (II Cn 𝐽))
5540, 46pco0 24761 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝑓(*π‘β€˜π½)β„Ž)β€˜0) = (π‘“β€˜0))
5638simp2d 1141 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (π‘“β€˜0) = 𝐴)
5756adantr 479 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (π‘“β€˜0) = 𝐴)
5855, 57eqtrd 2770 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝑓(*π‘β€˜π½)β„Ž)β€˜0) = 𝐴)
5940, 46pco1 24762 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝑓(*π‘β€˜π½)β„Ž)β€˜1) = (β„Žβ€˜1))
6045simp3d 1142 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (β„Žβ€˜1) = 𝐴)
6159, 60eqtrd 2770 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝑓(*π‘β€˜π½)β„Ž)β€˜1) = 𝐴)
621ad2antrr 722 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ 𝐽 ∈ (TopOnβ€˜π‘‹))
632ad2antrr 722 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ 𝐴 ∈ 𝑋)
6419a1i 11 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ 𝑉 = (Baseβ€˜π‘ƒ))
653, 62, 63, 64pi1eluni 24789 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝑓(*π‘β€˜π½)β„Ž) ∈ βˆͺ 𝑉 ↔ ((𝑓(*π‘β€˜π½)β„Ž) ∈ (II Cn 𝐽) ∧ ((𝑓(*π‘β€˜π½)β„Ž)β€˜0) = 𝐴 ∧ ((𝑓(*π‘β€˜π½)β„Ž)β€˜1) = 𝐴)))
6654, 58, 61, 65mpbir3and 1340 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (𝑓(*π‘β€˜π½)β„Ž) ∈ βˆͺ 𝑉)
673, 16, 19, 20, 1, 6, 2, 11pi1coval 24807 . . . . . . . . . . . . 13 ((πœ‘ ∧ (𝑓(*π‘β€˜π½)β„Ž) ∈ βˆͺ 𝑉) β†’ (πΊβ€˜[(𝑓(*π‘β€˜π½)β„Ž)]( ≃phβ€˜π½)) = [(𝐹 ∘ (𝑓(*π‘β€˜π½)β„Ž))]( ≃phβ€˜πΎ))
6867adantlr 711 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ (𝑓(*π‘β€˜π½)β„Ž) ∈ βˆͺ 𝑉) β†’ (πΊβ€˜[(𝑓(*π‘β€˜π½)β„Ž)]( ≃phβ€˜π½)) = [(𝐹 ∘ (𝑓(*π‘β€˜π½)β„Ž))]( ≃phβ€˜πΎ))
6966, 68syldan 589 . . . . . . . . . . 11 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΊβ€˜[(𝑓(*π‘β€˜π½)β„Ž)]( ≃phβ€˜π½)) = [(𝐹 ∘ (𝑓(*π‘β€˜π½)β„Ž))]( ≃phβ€˜πΎ))
70 eqid 2730 . . . . . . . . . . . 12 (Baseβ€˜π‘„) = (Baseβ€˜π‘„)
7110ad2antrr 722 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ 𝐾 ∈ (TopOnβ€˜βˆͺ 𝐾))
7215ad2antrr 722 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ 𝐡 ∈ βˆͺ 𝐾)
73 eqid 2730 . . . . . . . . . . . 12 (+gβ€˜π‘„) = (+gβ€˜π‘„)
746adantr 479 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝐹 ∈ (𝐽 Cn 𝐾))
75 cnco 22990 . . . . . . . . . . . . . . 15 ((𝑓 ∈ (II Cn 𝐽) ∧ 𝐹 ∈ (𝐽 Cn 𝐾)) β†’ (𝐹 ∘ 𝑓) ∈ (II Cn 𝐾))
7639, 74, 75syl2anc 582 . . . . . . . . . . . . . 14 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (𝐹 ∘ 𝑓) ∈ (II Cn 𝐾))
77 iitopon 24619 . . . . . . . . . . . . . . . . 17 II ∈ (TopOnβ€˜(0[,]1))
78 cnf2 22973 . . . . . . . . . . . . . . . . 17 ((II ∈ (TopOnβ€˜(0[,]1)) ∧ 𝐽 ∈ (TopOnβ€˜π‘‹) ∧ 𝑓 ∈ (II Cn 𝐽)) β†’ 𝑓:(0[,]1)βŸΆπ‘‹)
7977, 41, 39, 78mp3an2i 1464 . . . . . . . . . . . . . . . 16 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝑓:(0[,]1)βŸΆπ‘‹)
80 0elunit 13450 . . . . . . . . . . . . . . . 16 0 ∈ (0[,]1)
81 fvco3 6989 . . . . . . . . . . . . . . . 16 ((𝑓:(0[,]1)βŸΆπ‘‹ ∧ 0 ∈ (0[,]1)) β†’ ((𝐹 ∘ 𝑓)β€˜0) = (πΉβ€˜(π‘“β€˜0)))
8279, 80, 81sylancl 584 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ 𝑓)β€˜0) = (πΉβ€˜(π‘“β€˜0)))
8356fveq2d 6894 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (πΉβ€˜(π‘“β€˜0)) = (πΉβ€˜π΄))
8411adantr 479 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (πΉβ€˜π΄) = 𝐡)
8582, 83, 843eqtrd 2774 . . . . . . . . . . . . . 14 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ 𝑓)β€˜0) = 𝐡)
86 1elunit 13451 . . . . . . . . . . . . . . . 16 1 ∈ (0[,]1)
87 fvco3 6989 . . . . . . . . . . . . . . . 16 ((𝑓:(0[,]1)βŸΆπ‘‹ ∧ 1 ∈ (0[,]1)) β†’ ((𝐹 ∘ 𝑓)β€˜1) = (πΉβ€˜(π‘“β€˜1)))
8879, 86, 87sylancl 584 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ 𝑓)β€˜1) = (πΉβ€˜(π‘“β€˜1)))
8947fveq2d 6894 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (πΉβ€˜(π‘“β€˜1)) = (πΉβ€˜π΄))
9088, 89, 843eqtrd 2774 . . . . . . . . . . . . . 14 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ 𝑓)β€˜1) = 𝐡)
9110adantr 479 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝐾 ∈ (TopOnβ€˜βˆͺ 𝐾))
9215adantr 479 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝐡 ∈ βˆͺ 𝐾)
93 eqidd 2731 . . . . . . . . . . . . . . 15 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (Baseβ€˜π‘„) = (Baseβ€˜π‘„))
9416, 91, 92, 93pi1eluni 24789 . . . . . . . . . . . . . 14 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ 𝑓) ∈ βˆͺ (Baseβ€˜π‘„) ↔ ((𝐹 ∘ 𝑓) ∈ (II Cn 𝐾) ∧ ((𝐹 ∘ 𝑓)β€˜0) = 𝐡 ∧ ((𝐹 ∘ 𝑓)β€˜1) = 𝐡)))
9576, 85, 90, 94mpbir3and 1340 . . . . . . . . . . . . 13 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (𝐹 ∘ 𝑓) ∈ βˆͺ (Baseβ€˜π‘„))
9695adantr 479 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (𝐹 ∘ 𝑓) ∈ βˆͺ (Baseβ€˜π‘„))
97 cnco 22990 . . . . . . . . . . . . . 14 ((β„Ž ∈ (II Cn 𝐽) ∧ 𝐹 ∈ (𝐽 Cn 𝐾)) β†’ (𝐹 ∘ β„Ž) ∈ (II Cn 𝐾))
9846, 51, 97syl2anc 582 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (𝐹 ∘ β„Ž) ∈ (II Cn 𝐾))
99 cnf2 22973 . . . . . . . . . . . . . . . 16 ((II ∈ (TopOnβ€˜(0[,]1)) ∧ 𝐽 ∈ (TopOnβ€˜π‘‹) ∧ β„Ž ∈ (II Cn 𝐽)) β†’ β„Ž:(0[,]1)βŸΆπ‘‹)
10077, 62, 46, 99mp3an2i 1464 . . . . . . . . . . . . . . 15 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ β„Ž:(0[,]1)βŸΆπ‘‹)
101 fvco3 6989 . . . . . . . . . . . . . . 15 ((β„Ž:(0[,]1)βŸΆπ‘‹ ∧ 0 ∈ (0[,]1)) β†’ ((𝐹 ∘ β„Ž)β€˜0) = (πΉβ€˜(β„Žβ€˜0)))
102100, 80, 101sylancl 584 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ β„Ž)β€˜0) = (πΉβ€˜(β„Žβ€˜0)))
10349fveq2d 6894 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΉβ€˜(β„Žβ€˜0)) = (πΉβ€˜π΄))
10411ad2antrr 722 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΉβ€˜π΄) = 𝐡)
105102, 103, 1043eqtrd 2774 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ β„Ž)β€˜0) = 𝐡)
106 fvco3 6989 . . . . . . . . . . . . . . 15 ((β„Ž:(0[,]1)βŸΆπ‘‹ ∧ 1 ∈ (0[,]1)) β†’ ((𝐹 ∘ β„Ž)β€˜1) = (πΉβ€˜(β„Žβ€˜1)))
107100, 86, 106sylancl 584 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ β„Ž)β€˜1) = (πΉβ€˜(β„Žβ€˜1)))
10860fveq2d 6894 . . . . . . . . . . . . . 14 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΉβ€˜(β„Žβ€˜1)) = (πΉβ€˜π΄))
109107, 108, 1043eqtrd 2774 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ β„Ž)β€˜1) = 𝐡)
110 eqidd 2731 . . . . . . . . . . . . . . 15 (πœ‘ β†’ (Baseβ€˜π‘„) = (Baseβ€˜π‘„))
11116, 10, 15, 110pi1eluni 24789 . . . . . . . . . . . . . 14 (πœ‘ β†’ ((𝐹 ∘ β„Ž) ∈ βˆͺ (Baseβ€˜π‘„) ↔ ((𝐹 ∘ β„Ž) ∈ (II Cn 𝐾) ∧ ((𝐹 ∘ β„Ž)β€˜0) = 𝐡 ∧ ((𝐹 ∘ β„Ž)β€˜1) = 𝐡)))
112111ad2antrr 722 . . . . . . . . . . . . 13 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((𝐹 ∘ β„Ž) ∈ βˆͺ (Baseβ€˜π‘„) ↔ ((𝐹 ∘ β„Ž) ∈ (II Cn 𝐾) ∧ ((𝐹 ∘ β„Ž)β€˜0) = 𝐡 ∧ ((𝐹 ∘ β„Ž)β€˜1) = 𝐡)))
11398, 105, 109, 112mpbir3and 1340 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (𝐹 ∘ β„Ž) ∈ βˆͺ (Baseβ€˜π‘„))
11416, 70, 71, 72, 73, 96, 113pi1addval 24795 . . . . . . . . . . 11 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ([(𝐹 ∘ 𝑓)]( ≃phβ€˜πΎ)(+gβ€˜π‘„)[(𝐹 ∘ β„Ž)]( ≃phβ€˜πΎ)) = [((𝐹 ∘ 𝑓)(*π‘β€˜πΎ)(𝐹 ∘ β„Ž))]( ≃phβ€˜πΎ))
11553, 69, 1143eqtr4d 2780 . . . . . . . . . 10 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΊβ€˜[(𝑓(*π‘β€˜π½)β„Ž)]( ≃phβ€˜π½)) = ([(𝐹 ∘ 𝑓)]( ≃phβ€˜πΎ)(+gβ€˜π‘„)[(𝐹 ∘ β„Ž)]( ≃phβ€˜πΎ)))
116 eqid 2730 . . . . . . . . . . . 12 (+gβ€˜π‘ƒ) = (+gβ€˜π‘ƒ)
117 simplr 765 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ 𝑓 ∈ βˆͺ 𝑉)
118 simpr 483 . . . . . . . . . . . 12 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ β„Ž ∈ βˆͺ 𝑉)
1193, 19, 62, 63, 116, 117, 118pi1addval 24795 . . . . . . . . . . 11 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)[β„Ž]( ≃phβ€˜π½)) = [(𝑓(*π‘β€˜π½)β„Ž)]( ≃phβ€˜π½))
120119fveq2d 6894 . . . . . . . . . 10 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)[β„Ž]( ≃phβ€˜π½))) = (πΊβ€˜[(𝑓(*π‘β€˜π½)β„Ž)]( ≃phβ€˜π½)))
1213, 16, 19, 20, 1, 6, 2, 11pi1coval 24807 . . . . . . . . . . . 12 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (πΊβ€˜[𝑓]( ≃phβ€˜π½)) = [(𝐹 ∘ 𝑓)]( ≃phβ€˜πΎ))
122121adantr 479 . . . . . . . . . . 11 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΊβ€˜[𝑓]( ≃phβ€˜π½)) = [(𝐹 ∘ 𝑓)]( ≃phβ€˜πΎ))
1233, 16, 19, 20, 1, 6, 2, 11pi1coval 24807 . . . . . . . . . . . 12 ((πœ‘ ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΊβ€˜[β„Ž]( ≃phβ€˜π½)) = [(𝐹 ∘ β„Ž)]( ≃phβ€˜πΎ))
124123adantlr 711 . . . . . . . . . . 11 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΊβ€˜[β„Ž]( ≃phβ€˜π½)) = [(𝐹 ∘ β„Ž)]( ≃phβ€˜πΎ))
125122, 124oveq12d 7429 . . . . . . . . . 10 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜[β„Ž]( ≃phβ€˜π½))) = ([(𝐹 ∘ 𝑓)]( ≃phβ€˜πΎ)(+gβ€˜π‘„)[(𝐹 ∘ β„Ž)]( ≃phβ€˜πΎ)))
126115, 120, 1253eqtr4d 2780 . . . . . . . . 9 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ β„Ž ∈ βˆͺ 𝑉) β†’ (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)[β„Ž]( ≃phβ€˜π½))) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜[β„Ž]( ≃phβ€˜π½))))
12726, 36, 126ectocld 8780 . . . . . . . 8 (((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) ∧ 𝑧 ∈ (βˆͺ 𝑉 / ( ≃phβ€˜π½))) β†’ (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§)))
128127ralrimiva 3144 . . . . . . 7 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ βˆ€π‘§ ∈ (βˆͺ 𝑉 / ( ≃phβ€˜π½))(πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§)))
12923adantr 479 . . . . . . . 8 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ 𝑉 = (βˆͺ 𝑉 / ( ≃phβ€˜π½)))
130129raleqdv 3323 . . . . . . 7 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ (βˆ€π‘§ ∈ 𝑉 (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§)) ↔ βˆ€π‘§ ∈ (βˆͺ 𝑉 / ( ≃phβ€˜π½))(πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§))))
131128, 130mpbird 256 . . . . . 6 ((πœ‘ ∧ 𝑓 ∈ βˆͺ 𝑉) β†’ βˆ€π‘§ ∈ 𝑉 (πΊβ€˜([𝑓]( ≃phβ€˜π½)(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜[𝑓]( ≃phβ€˜π½))(+gβ€˜π‘„)(πΊβ€˜π‘§)))
13226, 31, 131ectocld 8780 . . . . 5 ((πœ‘ ∧ 𝑦 ∈ (βˆͺ 𝑉 / ( ≃phβ€˜π½))) β†’ βˆ€π‘§ ∈ 𝑉 (πΊβ€˜(𝑦(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜π‘¦)(+gβ€˜π‘„)(πΊβ€˜π‘§)))
13325, 132syldan 589 . . . 4 ((πœ‘ ∧ 𝑦 ∈ 𝑉) β†’ βˆ€π‘§ ∈ 𝑉 (πΊβ€˜(𝑦(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜π‘¦)(+gβ€˜π‘„)(πΊβ€˜π‘§)))
134133ralrimiva 3144 . . 3 (πœ‘ β†’ βˆ€π‘¦ ∈ 𝑉 βˆ€π‘§ ∈ 𝑉 (πΊβ€˜(𝑦(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜π‘¦)(+gβ€˜π‘„)(πΊβ€˜π‘§)))
13521, 134jca 510 . 2 (πœ‘ β†’ (𝐺:π‘‰βŸΆ(Baseβ€˜π‘„) ∧ βˆ€π‘¦ ∈ 𝑉 βˆ€π‘§ ∈ 𝑉 (πΊβ€˜(𝑦(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜π‘¦)(+gβ€˜π‘„)(πΊβ€˜π‘§))))
13619, 70, 116, 73isghm 19130 . 2 (𝐺 ∈ (𝑃 GrpHom 𝑄) ↔ ((𝑃 ∈ Grp ∧ 𝑄 ∈ Grp) ∧ (𝐺:π‘‰βŸΆ(Baseβ€˜π‘„) ∧ βˆ€π‘¦ ∈ 𝑉 βˆ€π‘§ ∈ 𝑉 (πΊβ€˜(𝑦(+gβ€˜π‘ƒ)𝑧)) = ((πΊβ€˜π‘¦)(+gβ€˜π‘„)(πΊβ€˜π‘§)))))
1375, 18, 135, 136syl21anbrc 1342 1 (πœ‘ β†’ 𝐺 ∈ (𝑃 GrpHom 𝑄))
Colors of variables: wff setvar class
Syntax hints:   β†’ wi 4   ↔ wb 205   ∧ wa 394   ∧ w3a 1085   = wceq 1539   ∈ wcel 2104  βˆ€wral 3059  βŸ¨cop 4633  βˆͺ cuni 4907   ↦ cmpt 5230  ran crn 5676   ∘ ccom 5679  βŸΆwf 6538  β€˜cfv 6542  (class class class)co 7411  [cec 8703   / cqs 8704  0cc0 11112  1c1 11113  [,]cicc 13331  Basecbs 17148  +gcplusg 17201  Grpcgrp 18855   GrpHom cghm 19127  Topctop 22615  TopOnctopon 22632   Cn ccn 22948  IIcii 24615   ≃phcphtpc 24715  *𝑝cpco 24747   Ο€1 cpi1 24750
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1911  ax-6 1969  ax-7 2009  ax-8 2106  ax-9 2114  ax-10 2135  ax-11 2152  ax-12 2169  ax-ext 2701  ax-rep 5284  ax-sep 5298  ax-nul 5305  ax-pow 5362  ax-pr 5426  ax-un 7727  ax-cnex 11168  ax-resscn 11169  ax-1cn 11170  ax-icn 11171  ax-addcl 11172  ax-addrcl 11173  ax-mulcl 11174  ax-mulrcl 11175  ax-mulcom 11176  ax-addass 11177  ax-mulass 11178  ax-distr 11179  ax-i2m1 11180  ax-1ne0 11181  ax-1rid 11182  ax-rnegex 11183  ax-rrecex 11184  ax-cnre 11185  ax-pre-lttri 11186  ax-pre-lttrn 11187  ax-pre-ltadd 11188  ax-pre-mulgt0 11189  ax-pre-sup 11190  ax-addf 11191
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 844  df-3or 1086  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2532  df-eu 2561  df-clab 2708  df-cleq 2722  df-clel 2808  df-nfc 2883  df-ne 2939  df-nel 3045  df-ral 3060  df-rex 3069  df-rmo 3374  df-reu 3375  df-rab 3431  df-v 3474  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3966  df-nul 4322  df-if 4528  df-pw 4603  df-sn 4628  df-pr 4630  df-tp 4632  df-op 4634  df-uni 4908  df-int 4950  df-iun 4998  df-iin 4999  df-br 5148  df-opab 5210  df-mpt 5231  df-tr 5265  df-id 5573  df-eprel 5579  df-po 5587  df-so 5588  df-fr 5630  df-se 5631  df-we 5632  df-xp 5681  df-rel 5682  df-cnv 5683  df-co 5684  df-dm 5685  df-rn 5686  df-res 5687  df-ima 5688  df-pred 6299  df-ord 6366  df-on 6367  df-lim 6368  df-suc 6369  df-iota 6494  df-fun 6544  df-fn 6545  df-f 6546  df-f1 6547  df-fo 6548  df-f1o 6549  df-fv 6550  df-isom 6551  df-riota 7367  df-ov 7414  df-oprab 7415  df-mpo 7416  df-of 7672  df-om 7858  df-1st 7977  df-2nd 7978  df-supp 8149  df-frecs 8268  df-wrecs 8299  df-recs 8373  df-rdg 8412  df-1o 8468  df-2o 8469  df-er 8705  df-ec 8707  df-qs 8711  df-map 8824  df-ixp 8894  df-en 8942  df-dom 8943  df-sdom 8944  df-fin 8945  df-fsupp 9364  df-fi 9408  df-sup 9439  df-inf 9440  df-oi 9507  df-card 9936  df-pnf 11254  df-mnf 11255  df-xr 11256  df-ltxr 11257  df-le 11258  df-sub 11450  df-neg 11451  df-div 11876  df-nn 12217  df-2 12279  df-3 12280  df-4 12281  df-5 12282  df-6 12283  df-7 12284  df-8 12285  df-9 12286  df-n0 12477  df-z 12563  df-dec 12682  df-uz 12827  df-q 12937  df-rp 12979  df-xneg 13096  df-xadd 13097  df-xmul 13098  df-ioo 13332  df-icc 13335  df-fz 13489  df-fzo 13632  df-seq 13971  df-exp 14032  df-hash 14295  df-cj 15050  df-re 15051  df-im 15052  df-sqrt 15186  df-abs 15187  df-struct 17084  df-sets 17101  df-slot 17119  df-ndx 17131  df-base 17149  df-ress 17178  df-plusg 17214  df-mulr 17215  df-starv 17216  df-sca 17217  df-vsca 17218  df-ip 17219  df-tset 17220  df-ple 17221  df-ds 17223  df-unif 17224  df-hom 17225  df-cco 17226  df-rest 17372  df-topn 17373  df-0g 17391  df-gsum 17392  df-topgen 17393  df-pt 17394  df-prds 17397  df-xrs 17452  df-qtop 17457  df-imas 17458  df-qus 17459  df-xps 17460  df-mre 17534  df-mrc 17535  df-acs 17537  df-mgm 18565  df-sgrp 18644  df-mnd 18660  df-submnd 18706  df-grp 18858  df-mulg 18987  df-ghm 19128  df-cntz 19222  df-cmn 19691  df-psmet 21136  df-xmet 21137  df-met 21138  df-bl 21139  df-mopn 21140  df-cnfld 21145  df-top 22616  df-topon 22633  df-topsp 22655  df-bases 22669  df-cld 22743  df-cn 22951  df-cnp 22952  df-tx 23286  df-hmeo 23479  df-xms 24046  df-ms 24047  df-tms 24048  df-ii 24617  df-htpy 24716  df-phtpy 24717  df-phtpc 24738  df-pco 24752  df-om1 24753  df-pi1 24755
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator