| Step | Hyp | Ref | Expression | 
						
							| 1 |  | ngprcan.x |  |-  X = ( Base ` G ) | 
						
							| 2 |  | ngprcan.p |  |-  .+ = ( +g ` G ) | 
						
							| 3 |  | ngprcan.d |  |-  D = ( dist ` G ) | 
						
							| 4 |  | ngpgrp |  |-  ( G e. NrmGrp -> G e. Grp ) | 
						
							| 5 |  | ngpms |  |-  ( G e. NrmGrp -> G e. MetSp ) | 
						
							| 6 | 1 2 3 | ngprcan |  |-  ( ( G e. NrmGrp /\ ( x e. X /\ y e. X /\ z e. X ) ) -> ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) ) | 
						
							| 7 | 6 | ralrimivvva |  |-  ( G e. NrmGrp -> A. x e. X A. y e. X A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) ) | 
						
							| 8 | 4 5 7 | 3jca |  |-  ( G e. NrmGrp -> ( G e. Grp /\ G e. MetSp /\ A. x e. X A. y e. X A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) ) ) | 
						
							| 9 |  | simp1 |  |-  ( ( G e. Grp /\ G e. MetSp /\ A. x e. X A. y e. X A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) ) -> G e. Grp ) | 
						
							| 10 |  | simp2 |  |-  ( ( G e. Grp /\ G e. MetSp /\ A. x e. X A. y e. X A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) ) -> G e. MetSp ) | 
						
							| 11 |  | eqid |  |-  ( invg ` G ) = ( invg ` G ) | 
						
							| 12 | 1 11 | grpinvcl |  |-  ( ( G e. Grp /\ y e. X ) -> ( ( invg ` G ) ` y ) e. X ) | 
						
							| 13 | 12 | ad2ant2rl |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( ( invg ` G ) ` y ) e. X ) | 
						
							| 14 |  | eqcom |  |-  ( ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) <-> ( x D y ) = ( ( x .+ z ) D ( y .+ z ) ) ) | 
						
							| 15 |  | oveq2 |  |-  ( z = ( ( invg ` G ) ` y ) -> ( x .+ z ) = ( x .+ ( ( invg ` G ) ` y ) ) ) | 
						
							| 16 |  | oveq2 |  |-  ( z = ( ( invg ` G ) ` y ) -> ( y .+ z ) = ( y .+ ( ( invg ` G ) ` y ) ) ) | 
						
							| 17 | 15 16 | oveq12d |  |-  ( z = ( ( invg ` G ) ` y ) -> ( ( x .+ z ) D ( y .+ z ) ) = ( ( x .+ ( ( invg ` G ) ` y ) ) D ( y .+ ( ( invg ` G ) ` y ) ) ) ) | 
						
							| 18 | 17 | eqeq2d |  |-  ( z = ( ( invg ` G ) ` y ) -> ( ( x D y ) = ( ( x .+ z ) D ( y .+ z ) ) <-> ( x D y ) = ( ( x .+ ( ( invg ` G ) ` y ) ) D ( y .+ ( ( invg ` G ) ` y ) ) ) ) ) | 
						
							| 19 | 14 18 | bitrid |  |-  ( z = ( ( invg ` G ) ` y ) -> ( ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) <-> ( x D y ) = ( ( x .+ ( ( invg ` G ) ` y ) ) D ( y .+ ( ( invg ` G ) ` y ) ) ) ) ) | 
						
							| 20 | 19 | rspcv |  |-  ( ( ( invg ` G ) ` y ) e. X -> ( A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) -> ( x D y ) = ( ( x .+ ( ( invg ` G ) ` y ) ) D ( y .+ ( ( invg ` G ) ` y ) ) ) ) ) | 
						
							| 21 | 13 20 | syl |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) -> ( x D y ) = ( ( x .+ ( ( invg ` G ) ` y ) ) D ( y .+ ( ( invg ` G ) ` y ) ) ) ) ) | 
						
							| 22 |  | eqid |  |-  ( -g ` G ) = ( -g ` G ) | 
						
							| 23 | 1 2 11 22 | grpsubval |  |-  ( ( x e. X /\ y e. X ) -> ( x ( -g ` G ) y ) = ( x .+ ( ( invg ` G ) ` y ) ) ) | 
						
							| 24 | 23 | adantl |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( x ( -g ` G ) y ) = ( x .+ ( ( invg ` G ) ` y ) ) ) | 
						
							| 25 | 24 | eqcomd |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( x .+ ( ( invg ` G ) ` y ) ) = ( x ( -g ` G ) y ) ) | 
						
							| 26 |  | eqid |  |-  ( 0g ` G ) = ( 0g ` G ) | 
						
							| 27 | 1 2 26 11 | grprinv |  |-  ( ( G e. Grp /\ y e. X ) -> ( y .+ ( ( invg ` G ) ` y ) ) = ( 0g ` G ) ) | 
						
							| 28 | 27 | ad2ant2rl |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( y .+ ( ( invg ` G ) ` y ) ) = ( 0g ` G ) ) | 
						
							| 29 | 25 28 | oveq12d |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( ( x .+ ( ( invg ` G ) ` y ) ) D ( y .+ ( ( invg ` G ) ` y ) ) ) = ( ( x ( -g ` G ) y ) D ( 0g ` G ) ) ) | 
						
							| 30 | 1 22 | grpsubcl |  |-  ( ( G e. Grp /\ x e. X /\ y e. X ) -> ( x ( -g ` G ) y ) e. X ) | 
						
							| 31 | 30 | 3expb |  |-  ( ( G e. Grp /\ ( x e. X /\ y e. X ) ) -> ( x ( -g ` G ) y ) e. X ) | 
						
							| 32 | 31 | adantlr |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( x ( -g ` G ) y ) e. X ) | 
						
							| 33 |  | eqid |  |-  ( norm ` G ) = ( norm ` G ) | 
						
							| 34 | 33 1 26 3 | nmval |  |-  ( ( x ( -g ` G ) y ) e. X -> ( ( norm ` G ) ` ( x ( -g ` G ) y ) ) = ( ( x ( -g ` G ) y ) D ( 0g ` G ) ) ) | 
						
							| 35 | 32 34 | syl |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( ( norm ` G ) ` ( x ( -g ` G ) y ) ) = ( ( x ( -g ` G ) y ) D ( 0g ` G ) ) ) | 
						
							| 36 | 29 35 | eqtr4d |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( ( x .+ ( ( invg ` G ) ` y ) ) D ( y .+ ( ( invg ` G ) ` y ) ) ) = ( ( norm ` G ) ` ( x ( -g ` G ) y ) ) ) | 
						
							| 37 | 36 | eqeq2d |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( ( x D y ) = ( ( x .+ ( ( invg ` G ) ` y ) ) D ( y .+ ( ( invg ` G ) ` y ) ) ) <-> ( x D y ) = ( ( norm ` G ) ` ( x ( -g ` G ) y ) ) ) ) | 
						
							| 38 | 21 37 | sylibd |  |-  ( ( ( G e. Grp /\ G e. MetSp ) /\ ( x e. X /\ y e. X ) ) -> ( A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) -> ( x D y ) = ( ( norm ` G ) ` ( x ( -g ` G ) y ) ) ) ) | 
						
							| 39 | 38 | ralimdvva |  |-  ( ( G e. Grp /\ G e. MetSp ) -> ( A. x e. X A. y e. X A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) -> A. x e. X A. y e. X ( x D y ) = ( ( norm ` G ) ` ( x ( -g ` G ) y ) ) ) ) | 
						
							| 40 | 39 | 3impia |  |-  ( ( G e. Grp /\ G e. MetSp /\ A. x e. X A. y e. X A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) ) -> A. x e. X A. y e. X ( x D y ) = ( ( norm ` G ) ` ( x ( -g ` G ) y ) ) ) | 
						
							| 41 | 33 22 3 1 | isngp3 |  |-  ( G e. NrmGrp <-> ( G e. Grp /\ G e. MetSp /\ A. x e. X A. y e. X ( x D y ) = ( ( norm ` G ) ` ( x ( -g ` G ) y ) ) ) ) | 
						
							| 42 | 9 10 40 41 | syl3anbrc |  |-  ( ( G e. Grp /\ G e. MetSp /\ A. x e. X A. y e. X A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) ) -> G e. NrmGrp ) | 
						
							| 43 | 8 42 | impbii |  |-  ( G e. NrmGrp <-> ( G e. Grp /\ G e. MetSp /\ A. x e. X A. y e. X A. z e. X ( ( x .+ z ) D ( y .+ z ) ) = ( x D y ) ) ) |