Metamath Proof Explorer


Theorem nrgdsdi

Description: Distribute a distance calculation. (Contributed by Mario Carneiro, 5-Oct-2015)

Ref Expression
Hypotheses nmmul.x
|- X = ( Base ` R )
nmmul.n
|- N = ( norm ` R )
nmmul.t
|- .x. = ( .r ` R )
nrgdsdi.d
|- D = ( dist ` R )
Assertion nrgdsdi
|- ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( N ` A ) x. ( B D C ) ) = ( ( A .x. B ) D ( A .x. C ) ) )

Proof

Step Hyp Ref Expression
1 nmmul.x
 |-  X = ( Base ` R )
2 nmmul.n
 |-  N = ( norm ` R )
3 nmmul.t
 |-  .x. = ( .r ` R )
4 nrgdsdi.d
 |-  D = ( dist ` R )
5 simpl
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> R e. NrmRing )
6 simpr1
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> A e. X )
7 nrgring
 |-  ( R e. NrmRing -> R e. Ring )
8 7 adantr
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> R e. Ring )
9 ringgrp
 |-  ( R e. Ring -> R e. Grp )
10 8 9 syl
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> R e. Grp )
11 simpr2
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> B e. X )
12 simpr3
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> C e. X )
13 eqid
 |-  ( -g ` R ) = ( -g ` R )
14 1 13 grpsubcl
 |-  ( ( R e. Grp /\ B e. X /\ C e. X ) -> ( B ( -g ` R ) C ) e. X )
15 10 11 12 14 syl3anc
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( B ( -g ` R ) C ) e. X )
16 1 2 3 nmmul
 |-  ( ( R e. NrmRing /\ A e. X /\ ( B ( -g ` R ) C ) e. X ) -> ( N ` ( A .x. ( B ( -g ` R ) C ) ) ) = ( ( N ` A ) x. ( N ` ( B ( -g ` R ) C ) ) ) )
17 5 6 15 16 syl3anc
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( N ` ( A .x. ( B ( -g ` R ) C ) ) ) = ( ( N ` A ) x. ( N ` ( B ( -g ` R ) C ) ) ) )
18 1 3 13 8 6 11 12 ringsubdi
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( A .x. ( B ( -g ` R ) C ) ) = ( ( A .x. B ) ( -g ` R ) ( A .x. C ) ) )
19 18 fveq2d
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( N ` ( A .x. ( B ( -g ` R ) C ) ) ) = ( N ` ( ( A .x. B ) ( -g ` R ) ( A .x. C ) ) ) )
20 17 19 eqtr3d
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( N ` A ) x. ( N ` ( B ( -g ` R ) C ) ) ) = ( N ` ( ( A .x. B ) ( -g ` R ) ( A .x. C ) ) ) )
21 nrgngp
 |-  ( R e. NrmRing -> R e. NrmGrp )
22 21 adantr
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> R e. NrmGrp )
23 2 1 13 4 ngpds
 |-  ( ( R e. NrmGrp /\ B e. X /\ C e. X ) -> ( B D C ) = ( N ` ( B ( -g ` R ) C ) ) )
24 22 11 12 23 syl3anc
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( B D C ) = ( N ` ( B ( -g ` R ) C ) ) )
25 24 oveq2d
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( N ` A ) x. ( B D C ) ) = ( ( N ` A ) x. ( N ` ( B ( -g ` R ) C ) ) ) )
26 1 3 ringcl
 |-  ( ( R e. Ring /\ A e. X /\ B e. X ) -> ( A .x. B ) e. X )
27 8 6 11 26 syl3anc
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( A .x. B ) e. X )
28 1 3 ringcl
 |-  ( ( R e. Ring /\ A e. X /\ C e. X ) -> ( A .x. C ) e. X )
29 8 6 12 28 syl3anc
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( A .x. C ) e. X )
30 2 1 13 4 ngpds
 |-  ( ( R e. NrmGrp /\ ( A .x. B ) e. X /\ ( A .x. C ) e. X ) -> ( ( A .x. B ) D ( A .x. C ) ) = ( N ` ( ( A .x. B ) ( -g ` R ) ( A .x. C ) ) ) )
31 22 27 29 30 syl3anc
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( A .x. B ) D ( A .x. C ) ) = ( N ` ( ( A .x. B ) ( -g ` R ) ( A .x. C ) ) ) )
32 20 25 31 3eqtr4d
 |-  ( ( R e. NrmRing /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( N ` A ) x. ( B D C ) ) = ( ( A .x. B ) D ( A .x. C ) ) )