| 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 ‘ 𝑋 ) ) ) ) |