This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
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 ‘ 𝑋 ) ) ) ) |
| 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 ‘ 𝑋 ) ) ) ) |