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 ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝑁 ‘ 𝐴 ) · ( 𝐵 𝐷 𝐶 ) ) = ( ( 𝐴 · 𝐵 ) 𝐷 ( 𝐴 · 𝐶 ) ) )