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

Theorem ngptgp 22250
Description: A normed abelian group is a topological group (with the topology induced by the metric induced by the norm). (Contributed by Mario Carneiro, 4-Oct-2015.)
Assertion
Ref Expression
ngptgp ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → 𝐺 ∈ TopGrp)

Proof of Theorem ngptgp
Dummy variables 𝑢 𝑟 𝑣 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 ngpgrp 22213 . . 3 (𝐺 ∈ NrmGrp → 𝐺 ∈ Grp)
21adantr 480 . 2 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → 𝐺 ∈ Grp)
3 ngpms 22214 . . . 4 (𝐺 ∈ NrmGrp → 𝐺 ∈ MetSp)
43adantr 480 . . 3 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → 𝐺 ∈ MetSp)
5 mstps 22070 . . 3 (𝐺 ∈ MetSp → 𝐺 ∈ TopSp)
64, 5syl 17 . 2 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → 𝐺 ∈ TopSp)
7 eqid 2610 . . . . . 6 (Base‘𝐺) = (Base‘𝐺)
8 eqid 2610 . . . . . 6 (-g𝐺) = (-g𝐺)
97, 8grpsubf 17317 . . . . 5 (𝐺 ∈ Grp → (-g𝐺):((Base‘𝐺) × (Base‘𝐺))⟶(Base‘𝐺))
102, 9syl 17 . . . 4 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → (-g𝐺):((Base‘𝐺) × (Base‘𝐺))⟶(Base‘𝐺))
11 rphalfcl 11734 . . . . . . . 8 (𝑧 ∈ ℝ+ → (𝑧 / 2) ∈ ℝ+)
1211adantl 481 . . . . . . 7 ((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) → (𝑧 / 2) ∈ ℝ+)
13 simplll 794 . . . . . . . . . . . . 13 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel))
1413, 4syl 17 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → 𝐺 ∈ MetSp)
15 simpllr 795 . . . . . . . . . . . . 13 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺)))
1615simpld 474 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → 𝑥 ∈ (Base‘𝐺))
17 simprl 790 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → 𝑢 ∈ (Base‘𝐺))
18 eqid 2610 . . . . . . . . . . . . 13 (dist‘𝐺) = (dist‘𝐺)
197, 18mscl 22076 . . . . . . . . . . . 12 ((𝐺 ∈ MetSp ∧ 𝑥 ∈ (Base‘𝐺) ∧ 𝑢 ∈ (Base‘𝐺)) → (𝑥(dist‘𝐺)𝑢) ∈ ℝ)
2014, 16, 17, 19syl3anc 1318 . . . . . . . . . . 11 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑥(dist‘𝐺)𝑢) ∈ ℝ)
2115simprd 478 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → 𝑦 ∈ (Base‘𝐺))
22 simprr 792 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → 𝑣 ∈ (Base‘𝐺))
237, 18mscl 22076 . . . . . . . . . . . 12 ((𝐺 ∈ MetSp ∧ 𝑦 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺)) → (𝑦(dist‘𝐺)𝑣) ∈ ℝ)
2414, 21, 22, 23syl3anc 1318 . . . . . . . . . . 11 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑦(dist‘𝐺)𝑣) ∈ ℝ)
25 rpre 11715 . . . . . . . . . . . 12 (𝑧 ∈ ℝ+𝑧 ∈ ℝ)
2625ad2antlr 759 . . . . . . . . . . 11 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → 𝑧 ∈ ℝ)
27 lt2halves 11144 . . . . . . . . . . 11 (((𝑥(dist‘𝐺)𝑢) ∈ ℝ ∧ (𝑦(dist‘𝐺)𝑣) ∈ ℝ ∧ 𝑧 ∈ ℝ) → (((𝑥(dist‘𝐺)𝑢) < (𝑧 / 2) ∧ (𝑦(dist‘𝐺)𝑣) < (𝑧 / 2)) → ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) < 𝑧))
2820, 24, 26, 27syl3anc 1318 . . . . . . . . . 10 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((𝑥(dist‘𝐺)𝑢) < (𝑧 / 2) ∧ (𝑦(dist‘𝐺)𝑣) < (𝑧 / 2)) → ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) < 𝑧))
2913, 2syl 17 . . . . . . . . . . . . . 14 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → 𝐺 ∈ Grp)
307, 8grpsubcl 17318 . . . . . . . . . . . . . 14 ((𝐺 ∈ Grp ∧ 𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺)) → (𝑥(-g𝐺)𝑦) ∈ (Base‘𝐺))
3129, 16, 21, 30syl3anc 1318 . . . . . . . . . . . . 13 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑥(-g𝐺)𝑦) ∈ (Base‘𝐺))
327, 8grpsubcl 17318 . . . . . . . . . . . . . 14 ((𝐺 ∈ Grp ∧ 𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺)) → (𝑢(-g𝐺)𝑣) ∈ (Base‘𝐺))
3329, 17, 22, 32syl3anc 1318 . . . . . . . . . . . . 13 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑢(-g𝐺)𝑣) ∈ (Base‘𝐺))
347, 8grpsubcl 17318 . . . . . . . . . . . . . 14 ((𝐺 ∈ Grp ∧ 𝑢 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺)) → (𝑢(-g𝐺)𝑦) ∈ (Base‘𝐺))
3529, 17, 21, 34syl3anc 1318 . . . . . . . . . . . . 13 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑢(-g𝐺)𝑦) ∈ (Base‘𝐺))
367, 18mstri 22084 . . . . . . . . . . . . 13 ((𝐺 ∈ MetSp ∧ ((𝑥(-g𝐺)𝑦) ∈ (Base‘𝐺) ∧ (𝑢(-g𝐺)𝑣) ∈ (Base‘𝐺) ∧ (𝑢(-g𝐺)𝑦) ∈ (Base‘𝐺))) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) ≤ (((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑦)) + ((𝑢(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣))))
3714, 31, 33, 35, 36syl13anc 1320 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) ≤ (((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑦)) + ((𝑢(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣))))
3813simpld 474 . . . . . . . . . . . . . 14 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → 𝐺 ∈ NrmGrp)
397, 8, 18ngpsubcan 22228 . . . . . . . . . . . . . 14 ((𝐺 ∈ NrmGrp ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑢 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑦)) = (𝑥(dist‘𝐺)𝑢))
4038, 16, 17, 21, 39syl13anc 1320 . . . . . . . . . . . . 13 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑦)) = (𝑥(dist‘𝐺)𝑢))
41 eqid 2610 . . . . . . . . . . . . . . . . 17 (+g𝐺) = (+g𝐺)
42 eqid 2610 . . . . . . . . . . . . . . . . 17 (invg𝐺) = (invg𝐺)
437, 41, 42, 8grpsubval 17288 . . . . . . . . . . . . . . . 16 ((𝑢 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺)) → (𝑢(-g𝐺)𝑦) = (𝑢(+g𝐺)((invg𝐺)‘𝑦)))
4417, 21, 43syl2anc 691 . . . . . . . . . . . . . . 15 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑢(-g𝐺)𝑦) = (𝑢(+g𝐺)((invg𝐺)‘𝑦)))
457, 41, 42, 8grpsubval 17288 . . . . . . . . . . . . . . . 16 ((𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺)) → (𝑢(-g𝐺)𝑣) = (𝑢(+g𝐺)((invg𝐺)‘𝑣)))
4645adantl 481 . . . . . . . . . . . . . . 15 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑢(-g𝐺)𝑣) = (𝑢(+g𝐺)((invg𝐺)‘𝑣)))
4744, 46oveq12d 6567 . . . . . . . . . . . . . 14 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑢(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) = ((𝑢(+g𝐺)((invg𝐺)‘𝑦))(dist‘𝐺)(𝑢(+g𝐺)((invg𝐺)‘𝑣))))
487, 42grpinvcl 17290 . . . . . . . . . . . . . . . 16 ((𝐺 ∈ Grp ∧ 𝑦 ∈ (Base‘𝐺)) → ((invg𝐺)‘𝑦) ∈ (Base‘𝐺))
4929, 21, 48syl2anc 691 . . . . . . . . . . . . . . 15 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((invg𝐺)‘𝑦) ∈ (Base‘𝐺))
507, 42grpinvcl 17290 . . . . . . . . . . . . . . . 16 ((𝐺 ∈ Grp ∧ 𝑣 ∈ (Base‘𝐺)) → ((invg𝐺)‘𝑣) ∈ (Base‘𝐺))
5129, 22, 50syl2anc 691 . . . . . . . . . . . . . . 15 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((invg𝐺)‘𝑣) ∈ (Base‘𝐺))
527, 41, 18ngplcan 22225 . . . . . . . . . . . . . . 15 (((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (((invg𝐺)‘𝑦) ∈ (Base‘𝐺) ∧ ((invg𝐺)‘𝑣) ∈ (Base‘𝐺) ∧ 𝑢 ∈ (Base‘𝐺))) → ((𝑢(+g𝐺)((invg𝐺)‘𝑦))(dist‘𝐺)(𝑢(+g𝐺)((invg𝐺)‘𝑣))) = (((invg𝐺)‘𝑦)(dist‘𝐺)((invg𝐺)‘𝑣)))
5313, 49, 51, 17, 52syl13anc 1320 . . . . . . . . . . . . . 14 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑢(+g𝐺)((invg𝐺)‘𝑦))(dist‘𝐺)(𝑢(+g𝐺)((invg𝐺)‘𝑣))) = (((invg𝐺)‘𝑦)(dist‘𝐺)((invg𝐺)‘𝑣)))
547, 42, 18ngpinvds 22227 . . . . . . . . . . . . . . 15 (((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑦 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((invg𝐺)‘𝑦)(dist‘𝐺)((invg𝐺)‘𝑣)) = (𝑦(dist‘𝐺)𝑣))
5513, 21, 22, 54syl12anc 1316 . . . . . . . . . . . . . 14 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((invg𝐺)‘𝑦)(dist‘𝐺)((invg𝐺)‘𝑣)) = (𝑦(dist‘𝐺)𝑣))
5647, 53, 553eqtrd 2648 . . . . . . . . . . . . 13 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑢(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) = (𝑦(dist‘𝐺)𝑣))
5740, 56oveq12d 6567 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑦)) + ((𝑢(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣))) = ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)))
5837, 57breqtrd 4609 . . . . . . . . . . 11 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) ≤ ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)))
597, 18mscl 22076 . . . . . . . . . . . . 13 ((𝐺 ∈ MetSp ∧ (𝑥(-g𝐺)𝑦) ∈ (Base‘𝐺) ∧ (𝑢(-g𝐺)𝑣) ∈ (Base‘𝐺)) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) ∈ ℝ)
6014, 31, 33, 59syl3anc 1318 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) ∈ ℝ)
6120, 24readdcld 9948 . . . . . . . . . . . 12 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) ∈ ℝ)
62 lelttr 10007 . . . . . . . . . . . 12 ((((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) ∈ ℝ ∧ ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) ∈ ℝ ∧ 𝑧 ∈ ℝ) → ((((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) ≤ ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) ∧ ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) < 𝑧) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) < 𝑧))
6360, 61, 26, 62syl3anc 1318 . . . . . . . . . . 11 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) ≤ ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) ∧ ((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) < 𝑧) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) < 𝑧))
6458, 63mpand 707 . . . . . . . . . 10 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((𝑥(dist‘𝐺)𝑢) + (𝑦(dist‘𝐺)𝑣)) < 𝑧 → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) < 𝑧))
6528, 64syld 46 . . . . . . . . 9 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((𝑥(dist‘𝐺)𝑢) < (𝑧 / 2) ∧ (𝑦(dist‘𝐺)𝑣) < (𝑧 / 2)) → ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) < 𝑧))
6616, 17ovresd 6699 . . . . . . . . . . 11 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) = (𝑥(dist‘𝐺)𝑢))
6766breq1d 4593 . . . . . . . . . 10 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2) ↔ (𝑥(dist‘𝐺)𝑢) < (𝑧 / 2)))
6821, 22ovresd 6699 . . . . . . . . . . 11 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) = (𝑦(dist‘𝐺)𝑣))
6968breq1d 4593 . . . . . . . . . 10 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2) ↔ (𝑦(dist‘𝐺)𝑣) < (𝑧 / 2)))
7067, 69anbi12d 743 . . . . . . . . 9 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2) ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2)) ↔ ((𝑥(dist‘𝐺)𝑢) < (𝑧 / 2) ∧ (𝑦(dist‘𝐺)𝑣) < (𝑧 / 2))))
7131, 33ovresd 6699 . . . . . . . . . 10 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) = ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)))
7271breq1d 4593 . . . . . . . . 9 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧 ↔ ((𝑥(-g𝐺)𝑦)(dist‘𝐺)(𝑢(-g𝐺)𝑣)) < 𝑧))
7365, 70, 723imtr4d 282 . . . . . . . 8 (((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) ∧ (𝑢 ∈ (Base‘𝐺) ∧ 𝑣 ∈ (Base‘𝐺))) → (((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2) ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2)) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧))
7473ralrimivva 2954 . . . . . . 7 ((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) → ∀𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2) ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2)) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧))
75 breq2 4587 . . . . . . . . . . 11 (𝑟 = (𝑧 / 2) → ((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ↔ (𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2)))
76 breq2 4587 . . . . . . . . . . 11 (𝑟 = (𝑧 / 2) → ((𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟 ↔ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2)))
7775, 76anbi12d 743 . . . . . . . . . 10 (𝑟 = (𝑧 / 2) → (((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) ↔ ((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2) ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2))))
7877imbi1d 330 . . . . . . . . 9 (𝑟 = (𝑧 / 2) → ((((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧) ↔ (((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2) ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2)) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧)))
79782ralbidv 2972 . . . . . . . 8 (𝑟 = (𝑧 / 2) → (∀𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧) ↔ ∀𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2) ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2)) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧)))
8079rspcev 3282 . . . . . . 7 (((𝑧 / 2) ∈ ℝ+ ∧ ∀𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < (𝑧 / 2) ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < (𝑧 / 2)) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧)) → ∃𝑟 ∈ ℝ+𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧))
8112, 74, 80syl2anc 691 . . . . . 6 ((((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) ∧ 𝑧 ∈ ℝ+) → ∃𝑟 ∈ ℝ+𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧))
8281ralrimiva 2949 . . . . 5 (((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) ∧ (𝑥 ∈ (Base‘𝐺) ∧ 𝑦 ∈ (Base‘𝐺))) → ∀𝑧 ∈ ℝ+𝑟 ∈ ℝ+𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧))
8382ralrimivva 2954 . . . 4 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → ∀𝑥 ∈ (Base‘𝐺)∀𝑦 ∈ (Base‘𝐺)∀𝑧 ∈ ℝ+𝑟 ∈ ℝ+𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧))
84 msxms 22069 . . . . . 6 (𝐺 ∈ MetSp → 𝐺 ∈ ∞MetSp)
85 eqid 2610 . . . . . . 7 ((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))) = ((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))
867, 85xmsxmet 22071 . . . . . 6 (𝐺 ∈ ∞MetSp → ((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))) ∈ (∞Met‘(Base‘𝐺)))
874, 84, 863syl 18 . . . . 5 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → ((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))) ∈ (∞Met‘(Base‘𝐺)))
88 eqid 2610 . . . . . 6 (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))) = (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))
8988, 88, 88txmetcn 22163 . . . . 5 ((((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))) ∈ (∞Met‘(Base‘𝐺)) ∧ ((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))) ∈ (∞Met‘(Base‘𝐺)) ∧ ((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))) ∈ (∞Met‘(Base‘𝐺))) → ((-g𝐺) ∈ (((MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))) ×t (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))) Cn (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))) ↔ ((-g𝐺):((Base‘𝐺) × (Base‘𝐺))⟶(Base‘𝐺) ∧ ∀𝑥 ∈ (Base‘𝐺)∀𝑦 ∈ (Base‘𝐺)∀𝑧 ∈ ℝ+𝑟 ∈ ℝ+𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧))))
9087, 87, 87, 89syl3anc 1318 . . . 4 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → ((-g𝐺) ∈ (((MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))) ×t (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))) Cn (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))) ↔ ((-g𝐺):((Base‘𝐺) × (Base‘𝐺))⟶(Base‘𝐺) ∧ ∀𝑥 ∈ (Base‘𝐺)∀𝑦 ∈ (Base‘𝐺)∀𝑧 ∈ ℝ+𝑟 ∈ ℝ+𝑢 ∈ (Base‘𝐺)∀𝑣 ∈ (Base‘𝐺)(((𝑥((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑢) < 𝑟 ∧ (𝑦((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))𝑣) < 𝑟) → ((𝑥(-g𝐺)𝑦)((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))(𝑢(-g𝐺)𝑣)) < 𝑧))))
9110, 83, 90mpbir2and 959 . . 3 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → (-g𝐺) ∈ (((MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))) ×t (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))) Cn (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))))
92 eqid 2610 . . . . . . 7 (TopOpen‘𝐺) = (TopOpen‘𝐺)
9392, 7, 85mstopn 22067 . . . . . 6 (𝐺 ∈ MetSp → (TopOpen‘𝐺) = (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))))
944, 93syl 17 . . . . 5 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → (TopOpen‘𝐺) = (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))))
9594, 94oveq12d 6567 . . . 4 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → ((TopOpen‘𝐺) ×t (TopOpen‘𝐺)) = ((MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))) ×t (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))))
9695, 94oveq12d 6567 . . 3 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → (((TopOpen‘𝐺) ×t (TopOpen‘𝐺)) Cn (TopOpen‘𝐺)) = (((MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺)))) ×t (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))) Cn (MetOpen‘((dist‘𝐺) ↾ ((Base‘𝐺) × (Base‘𝐺))))))
9791, 96eleqtrrd 2691 . 2 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → (-g𝐺) ∈ (((TopOpen‘𝐺) ×t (TopOpen‘𝐺)) Cn (TopOpen‘𝐺)))
9892, 8istgp2 21705 . 2 (𝐺 ∈ TopGrp ↔ (𝐺 ∈ Grp ∧ 𝐺 ∈ TopSp ∧ (-g𝐺) ∈ (((TopOpen‘𝐺) ×t (TopOpen‘𝐺)) Cn (TopOpen‘𝐺))))
992, 6, 97, 98syl3anbrc 1239 1 ((𝐺 ∈ NrmGrp ∧ 𝐺 ∈ Abel) → 𝐺 ∈ TopGrp)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 195  wa 383   = wceq 1475  wcel 1977  wral 2896  wrex 2897   class class class wbr 4583   × cxp 5036  cres 5040  wf 5800  cfv 5804  (class class class)co 6549  cr 9814   + caddc 9818   < clt 9953  cle 9954   / cdiv 10563  2c2 10947  +crp 11708  Basecbs 15695  +gcplusg 15768  distcds 15777  TopOpenctopn 15905  Grpcgrp 17245  invgcminusg 17246  -gcsg 17247  Abelcabl 18017  ∞Metcxmt 19552  MetOpencmopn 19557  TopSpctps 20519   Cn ccn 20838   ×t ctx 21173  TopGrpctgp 21685  ∞MetSpcxme 21932  MetSpcmt 21933  NrmGrpcngp 22192
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-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-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-of 6795  df-om 6958  df-1st 7059  df-2nd 7060  df-supp 7183  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-2o 7448  df-oadd 7451  df-er 7629  df-map 7746  df-ixp 7795  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-fsupp 8159  df-fi 8200  df-sup 8231  df-inf 8232  df-oi 8298  df-card 8648  df-cda 8873  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-4 10958  df-5 10959  df-6 10960  df-7 10961  df-8 10962  df-9 10963  df-n0 11170  df-z 11255  df-dec 11370  df-uz 11564  df-q 11665  df-rp 11709  df-xneg 11822  df-xadd 11823  df-xmul 11824  df-icc 12053  df-fz 12198  df-fzo 12335  df-seq 12664  df-hash 12980  df-struct 15697  df-ndx 15698  df-slot 15699  df-base 15700  df-sets 15701  df-ress 15702  df-plusg 15781  df-mulr 15782  df-sca 15784  df-vsca 15785  df-ip 15786  df-tset 15787  df-ple 15788  df-ds 15791  df-hom 15793  df-cco 15794  df-rest 15906  df-topn 15907  df-0g 15925  df-gsum 15926  df-topgen 15927  df-pt 15928  df-prds 15931  df-xrs 15985  df-qtop 15990  df-imas 15991  df-xps 15993  df-mre 16069  df-mrc 16070  df-acs 16072  df-plusf 17064  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-cntz 17573  df-cmn 18018  df-abl 18019  df-psmet 19559  df-xmet 19560  df-met 19561  df-bl 19562  df-mopn 19563  df-top 20521  df-bases 20522  df-topon 20523  df-topsp 20524  df-cn 20841  df-cnp 20842  df-tx 21175  df-hmeo 21368  df-tmd 21686  df-tgp 21687  df-xms 21935  df-ms 21936  df-tms 21937  df-nm 22197  df-ngp 22198
This theorem is referenced by:  nrgtgp  22286  nlmtlm  22308
  Copyright terms: Public domain W3C validator