Metamath Proof Explorer


Theorem tngngp2

Description: A norm turns a group into a normed group iff the generated metric is in fact a metric. (Contributed by Mario Carneiro, 4-Oct-2015)

Ref Expression
Hypotheses tngngp2.t ⊢ 𝑇 = ( 𝐺 toNrmGrp 𝑁 )
tngngp2.x ⊢ 𝑋 = ( Base ‘ 𝐺 )
tngngp2.d ⊢ 𝐷 = ( dist ‘ 𝑇 )
Assertion tngngp2 ( 𝑁 : 𝑋 ⟶ ℝ → ( 𝑇 ∈ NrmGrp ↔ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) )

Proof

Step Hyp Ref Expression
1 tngngp2.t ⊢ 𝑇 = ( 𝐺 toNrmGrp 𝑁 )
2 tngngp2.x ⊢ 𝑋 = ( Base ‘ 𝐺 )
3 tngngp2.d ⊢ 𝐷 = ( dist ‘ 𝑇 )
4 ngpgrp ⊢ ( 𝑇 ∈ NrmGrp → 𝑇 ∈ Grp )
5 2 fvexi ⊢ 𝑋 ∈ V
6 reex ⊢ ℝ ∈ V
7 fex2 ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑋 ∈ V ∧ ℝ ∈ V ) → 𝑁 ∈ V )
8 5 6 7 mp3an23 ⊢ ( 𝑁 : 𝑋 ⟶ ℝ → 𝑁 ∈ V )
9 2 a1i ⊢ ( 𝑁 ∈ V → 𝑋 = ( Base ‘ 𝐺 ) )
10 1 2 tngbas ⊢ ( 𝑁 ∈ V → 𝑋 = ( Base ‘ 𝑇 ) )
11 eqid ⊢ ( +g ‘ 𝐺 ) = ( +g ‘ 𝐺 )
12 1 11 tngplusg ⊢ ( 𝑁 ∈ V → ( +g ‘ 𝐺 ) = ( +g ‘ 𝑇 ) )
13 12 oveqdr ⊢ ( ( 𝑁 ∈ V ∧ ( 𝑥 ∈ 𝑋 ∧ 𝑦 ∈ 𝑋 ) ) → ( 𝑥 ( +g ‘ 𝐺 ) 𝑦 ) = ( 𝑥 ( +g ‘ 𝑇 ) 𝑦 ) )
14 9 10 13 grppropd ⊢ ( 𝑁 ∈ V → ( 𝐺 ∈ Grp ↔ 𝑇 ∈ Grp ) )
15 8 14 syl ⊢ ( 𝑁 : 𝑋 ⟶ ℝ → ( 𝐺 ∈ Grp ↔ 𝑇 ∈ Grp ) )
16 4 15 imbitrrid ⊢ ( 𝑁 : 𝑋 ⟶ ℝ → ( 𝑇 ∈ NrmGrp → 𝐺 ∈ Grp ) )
17 16 imp ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → 𝐺 ∈ Grp )
18 ngpms ⊢ ( 𝑇 ∈ NrmGrp → 𝑇 ∈ MetSp )
19 18 adantl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → 𝑇 ∈ MetSp )
20 eqid ⊢ ( Base ‘ 𝑇 ) = ( Base ‘ 𝑇 )
21 20 3 msmet2 ⊢ ( 𝑇 ∈ MetSp → ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) ∈ ( Met ‘ ( Base ‘ 𝑇 ) ) )
22 19 21 syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) ∈ ( Met ‘ ( Base ‘ 𝑇 ) ) )
23 eqid ⊢ ( -g ‘ 𝐺 ) = ( -g ‘ 𝐺 )
24 2 23 grpsubf ⊢ ( 𝐺 ∈ Grp → ( -g ‘ 𝐺 ) : ( 𝑋 × 𝑋 ) ⟶ 𝑋 )
25 17 24 syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( -g ‘ 𝐺 ) : ( 𝑋 × 𝑋 ) ⟶ 𝑋 )
26 fco ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( -g ‘ 𝐺 ) : ( 𝑋 × 𝑋 ) ⟶ 𝑋 ) → ( 𝑁 ∘ ( -g ‘ 𝐺 ) ) : ( 𝑋 × 𝑋 ) ⟶ ℝ )
27 25 26 syldan ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( 𝑁 ∘ ( -g ‘ 𝐺 ) ) : ( 𝑋 × 𝑋 ) ⟶ ℝ )
28 8 adantr ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → 𝑁 ∈ V )
29 1 23 tngds ⊢ ( 𝑁 ∈ V → ( 𝑁 ∘ ( -g ‘ 𝐺 ) ) = ( dist ‘ 𝑇 ) )
30 28 29 syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( 𝑁 ∘ ( -g ‘ 𝐺 ) ) = ( dist ‘ 𝑇 ) )
31 3 30 eqtr4id ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → 𝐷 = ( 𝑁 ∘ ( -g ‘ 𝐺 ) ) )
32 31 feq1d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ ↔ ( 𝑁 ∘ ( -g ‘ 𝐺 ) ) : ( 𝑋 × 𝑋 ) ⟶ ℝ ) )
33 27 32 mpbird ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ )
34 ffn ⊢ ( 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ → 𝐷 Fn ( 𝑋 × 𝑋 ) )
35 fnresdm ⊢ ( 𝐷 Fn ( 𝑋 × 𝑋 ) → ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) = 𝐷 )
36 33 34 35 3syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) = 𝐷 )
37 28 10 syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → 𝑋 = ( Base ‘ 𝑇 ) )
38 37 sqxpeqd ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( 𝑋 × 𝑋 ) = ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) )
39 38 reseq2d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( 𝐷 ↾ ( 𝑋 × 𝑋 ) ) = ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) )
40 36 39 eqtr3d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → 𝐷 = ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) )
41 37 fveq2d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( Met ‘ 𝑋 ) = ( Met ‘ ( Base ‘ 𝑇 ) ) )
42 22 40 41 3eltr4d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → 𝐷 ∈ ( Met ‘ 𝑋 ) )
43 17 42 jca ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝑇 ∈ NrmGrp ) → ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) )
44 15 biimpa ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ 𝐺 ∈ Grp ) → 𝑇 ∈ Grp )
45 44 adantrr ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝑇 ∈ Grp )
46 simprr ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝐷 ∈ ( Met ‘ 𝑋 ) )
47 8 adantr ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝑁 ∈ V )
48 47 10 syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝑋 = ( Base ‘ 𝑇 ) )
49 48 fveq2d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( Met ‘ 𝑋 ) = ( Met ‘ ( Base ‘ 𝑇 ) ) )
50 46 49 eleqtrd ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝐷 ∈ ( Met ‘ ( Base ‘ 𝑇 ) ) )
51 metf ⊢ ( 𝐷 ∈ ( Met ‘ ( Base ‘ 𝑇 ) ) → 𝐷 : ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ⟶ ℝ )
52 ffn ⊢ ( 𝐷 : ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ⟶ ℝ → 𝐷 Fn ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) )
53 fnresdm ⊢ ( 𝐷 Fn ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) → ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) = 𝐷 )
54 50 51 52 53 4syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) = 𝐷 )
55 54 50 eqeltrd ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) ∈ ( Met ‘ ( Base ‘ 𝑇 ) ) )
56 54 fveq2d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( MetOpen ‘ ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) ) = ( MetOpen ‘ 𝐷 ) )
57 simprl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝐺 ∈ Grp )
58 eqid ⊢ ( MetOpen ‘ 𝐷 ) = ( MetOpen ‘ 𝐷 )
59 1 3 58 tngtopn ⊢ ( ( 𝐺 ∈ Grp ∧ 𝑁 ∈ V ) → ( MetOpen ‘ 𝐷 ) = ( TopOpen ‘ 𝑇 ) )
60 57 47 59 syl2anc ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( MetOpen ‘ 𝐷 ) = ( TopOpen ‘ 𝑇 ) )
61 56 60 eqtr2d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( TopOpen ‘ 𝑇 ) = ( MetOpen ‘ ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) ) )
62 eqid ⊢ ( TopOpen ‘ 𝑇 ) = ( TopOpen ‘ 𝑇 )
63 3 reseq1i ⊢ ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) = ( ( dist ‘ 𝑇 ) ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) )
64 62 20 63 isms2 ⊢ ( 𝑇 ∈ MetSp ↔ ( ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) ∈ ( Met ‘ ( Base ‘ 𝑇 ) ) ∧ ( TopOpen ‘ 𝑇 ) = ( MetOpen ‘ ( 𝐷 ↾ ( ( Base ‘ 𝑇 ) × ( Base ‘ 𝑇 ) ) ) ) ) )
65 55 61 64 sylanbrc ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝑇 ∈ MetSp )
66 simpl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝑁 : 𝑋 ⟶ ℝ )
67 1 2 6 tngnm ⊢ ( ( 𝐺 ∈ Grp ∧ 𝑁 : 𝑋 ⟶ ℝ ) → 𝑁 = ( norm ‘ 𝑇 ) )
68 57 66 67 syl2anc ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝑁 = ( norm ‘ 𝑇 ) )
69 9 10 eqtr3d ⊢ ( 𝑁 ∈ V → ( Base ‘ 𝐺 ) = ( Base ‘ 𝑇 ) )
70 69 12 grpsubpropd ⊢ ( 𝑁 ∈ V → ( -g ‘ 𝐺 ) = ( -g ‘ 𝑇 ) )
71 47 70 syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( -g ‘ 𝐺 ) = ( -g ‘ 𝑇 ) )
72 68 71 coeq12d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( 𝑁 ∘ ( -g ‘ 𝐺 ) ) = ( ( norm ‘ 𝑇 ) ∘ ( -g ‘ 𝑇 ) ) )
73 47 29 syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( 𝑁 ∘ ( -g ‘ 𝐺 ) ) = ( dist ‘ 𝑇 ) )
74 72 73 eqtr3d ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( ( norm ‘ 𝑇 ) ∘ ( -g ‘ 𝑇 ) ) = ( dist ‘ 𝑇 ) )
75 eqimss ⊢ ( ( ( norm ‘ 𝑇 ) ∘ ( -g ‘ 𝑇 ) ) = ( dist ‘ 𝑇 ) → ( ( norm ‘ 𝑇 ) ∘ ( -g ‘ 𝑇 ) ) ⊆ ( dist ‘ 𝑇 ) )
76 74 75 syl ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → ( ( norm ‘ 𝑇 ) ∘ ( -g ‘ 𝑇 ) ) ⊆ ( dist ‘ 𝑇 ) )
77 eqid ⊢ ( norm ‘ 𝑇 ) = ( norm ‘ 𝑇 )
78 eqid ⊢ ( -g ‘ 𝑇 ) = ( -g ‘ 𝑇 )
79 eqid ⊢ ( dist ‘ 𝑇 ) = ( dist ‘ 𝑇 )
80 77 78 79 isngp ⊢ ( 𝑇 ∈ NrmGrp ↔ ( 𝑇 ∈ Grp ∧ 𝑇 ∈ MetSp ∧ ( ( norm ‘ 𝑇 ) ∘ ( -g ‘ 𝑇 ) ) ⊆ ( dist ‘ 𝑇 ) ) )
81 45 65 76 80 syl3anbrc ⊢ ( ( 𝑁 : 𝑋 ⟶ ℝ ∧ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) → 𝑇 ∈ NrmGrp )
82 43 81 impbida ⊢ ( 𝑁 : 𝑋 ⟶ ℝ → ( 𝑇 ∈ NrmGrp ↔ ( 𝐺 ∈ Grp ∧ 𝐷 ∈ ( Met ‘ 𝑋 ) ) ) )