Metamath Proof Explorer


Theorem nrgdsdi

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

Ref Expression
Hypotheses nmmul.x 𝑋 = ( Base ‘ 𝑅 )
nmmul.n 𝑁 = ( norm ‘ 𝑅 )
nmmul.t · = ( .r𝑅 )
nrgdsdi.d 𝐷 = ( dist ‘ 𝑅 )
Assertion nrgdsdi ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝑁𝐴 ) · ( 𝐵 𝐷 𝐶 ) ) = ( ( 𝐴 · 𝐵 ) 𝐷 ( 𝐴 · 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 nmmul.x 𝑋 = ( Base ‘ 𝑅 )
2 nmmul.n 𝑁 = ( norm ‘ 𝑅 )
3 nmmul.t · = ( .r𝑅 )
4 nrgdsdi.d 𝐷 = ( dist ‘ 𝑅 )
5 simpl ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → 𝑅 ∈ NrmRing )
6 simpr1 ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → 𝐴𝑋 )
7 nrgring ( 𝑅 ∈ NrmRing → 𝑅 ∈ Ring )
8 7 adantr ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → 𝑅 ∈ Ring )
9 ringgrp ( 𝑅 ∈ Ring → 𝑅 ∈ Grp )
10 8 9 syl ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → 𝑅 ∈ Grp )
11 simpr2 ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → 𝐵𝑋 )
12 simpr3 ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → 𝐶𝑋 )
13 eqid ( -g𝑅 ) = ( -g𝑅 )
14 1 13 grpsubcl ( ( 𝑅 ∈ Grp ∧ 𝐵𝑋𝐶𝑋 ) → ( 𝐵 ( -g𝑅 ) 𝐶 ) ∈ 𝑋 )
15 10 11 12 14 syl3anc ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐵 ( -g𝑅 ) 𝐶 ) ∈ 𝑋 )
16 1 2 3 nmmul ( ( 𝑅 ∈ NrmRing ∧ 𝐴𝑋 ∧ ( 𝐵 ( -g𝑅 ) 𝐶 ) ∈ 𝑋 ) → ( 𝑁 ‘ ( 𝐴 · ( 𝐵 ( -g𝑅 ) 𝐶 ) ) ) = ( ( 𝑁𝐴 ) · ( 𝑁 ‘ ( 𝐵 ( -g𝑅 ) 𝐶 ) ) ) )
17 5 6 15 16 syl3anc ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝑁 ‘ ( 𝐴 · ( 𝐵 ( -g𝑅 ) 𝐶 ) ) ) = ( ( 𝑁𝐴 ) · ( 𝑁 ‘ ( 𝐵 ( -g𝑅 ) 𝐶 ) ) ) )
18 1 3 13 8 6 11 12 ringsubdi ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐴 · ( 𝐵 ( -g𝑅 ) 𝐶 ) ) = ( ( 𝐴 · 𝐵 ) ( -g𝑅 ) ( 𝐴 · 𝐶 ) ) )
19 18 fveq2d ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝑁 ‘ ( 𝐴 · ( 𝐵 ( -g𝑅 ) 𝐶 ) ) ) = ( 𝑁 ‘ ( ( 𝐴 · 𝐵 ) ( -g𝑅 ) ( 𝐴 · 𝐶 ) ) ) )
20 17 19 eqtr3d ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝑁𝐴 ) · ( 𝑁 ‘ ( 𝐵 ( -g𝑅 ) 𝐶 ) ) ) = ( 𝑁 ‘ ( ( 𝐴 · 𝐵 ) ( -g𝑅 ) ( 𝐴 · 𝐶 ) ) ) )
21 nrgngp ( 𝑅 ∈ NrmRing → 𝑅 ∈ NrmGrp )
22 21 adantr ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → 𝑅 ∈ NrmGrp )
23 2 1 13 4 ngpds ( ( 𝑅 ∈ NrmGrp ∧ 𝐵𝑋𝐶𝑋 ) → ( 𝐵 𝐷 𝐶 ) = ( 𝑁 ‘ ( 𝐵 ( -g𝑅 ) 𝐶 ) ) )
24 22 11 12 23 syl3anc ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐵 𝐷 𝐶 ) = ( 𝑁 ‘ ( 𝐵 ( -g𝑅 ) 𝐶 ) ) )
25 24 oveq2d ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝑁𝐴 ) · ( 𝐵 𝐷 𝐶 ) ) = ( ( 𝑁𝐴 ) · ( 𝑁 ‘ ( 𝐵 ( -g𝑅 ) 𝐶 ) ) ) )
26 1 3 ringcl ( ( 𝑅 ∈ Ring ∧ 𝐴𝑋𝐵𝑋 ) → ( 𝐴 · 𝐵 ) ∈ 𝑋 )
27 8 6 11 26 syl3anc ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐴 · 𝐵 ) ∈ 𝑋 )
28 1 3 ringcl ( ( 𝑅 ∈ Ring ∧ 𝐴𝑋𝐶𝑋 ) → ( 𝐴 · 𝐶 ) ∈ 𝑋 )
29 8 6 12 28 syl3anc ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐴 · 𝐶 ) ∈ 𝑋 )
30 2 1 13 4 ngpds ( ( 𝑅 ∈ NrmGrp ∧ ( 𝐴 · 𝐵 ) ∈ 𝑋 ∧ ( 𝐴 · 𝐶 ) ∈ 𝑋 ) → ( ( 𝐴 · 𝐵 ) 𝐷 ( 𝐴 · 𝐶 ) ) = ( 𝑁 ‘ ( ( 𝐴 · 𝐵 ) ( -g𝑅 ) ( 𝐴 · 𝐶 ) ) ) )
31 22 27 29 30 syl3anc ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝐴 · 𝐵 ) 𝐷 ( 𝐴 · 𝐶 ) ) = ( 𝑁 ‘ ( ( 𝐴 · 𝐵 ) ( -g𝑅 ) ( 𝐴 · 𝐶 ) ) ) )
32 20 25 31 3eqtr4d ( ( 𝑅 ∈ NrmRing ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝑁𝐴 ) · ( 𝐵 𝐷 𝐶 ) ) = ( ( 𝐴 · 𝐵 ) 𝐷 ( 𝐴 · 𝐶 ) ) )