Metamath Proof Explorer


Theorem mulgass3

Description: An associative property between group multiple and ring multiplication. (Contributed by Mario Carneiro, 14-Jun-2015)

Ref Expression
Hypotheses mulgass3.b 𝐵 = ( Base ‘ 𝑅 )
mulgass3.m · = ( .g𝑅 )
mulgass3.t × = ( .r𝑅 )
Assertion mulgass3 ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → ( 𝑋 × ( 𝑁 · 𝑌 ) ) = ( 𝑁 · ( 𝑋 × 𝑌 ) ) )

Proof

Step Hyp Ref Expression
1 mulgass3.b 𝐵 = ( Base ‘ 𝑅 )
2 mulgass3.m · = ( .g𝑅 )
3 mulgass3.t × = ( .r𝑅 )
4 eqid ( oppr𝑅 ) = ( oppr𝑅 )
5 4 opprring ( 𝑅 ∈ Ring → ( oppr𝑅 ) ∈ Ring )
6 5 adantr ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → ( oppr𝑅 ) ∈ Ring )
7 simpr1 ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → 𝑁 ∈ ℤ )
8 simpr3 ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → 𝑌𝐵 )
9 simpr2 ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → 𝑋𝐵 )
10 4 1 opprbas 𝐵 = ( Base ‘ ( oppr𝑅 ) )
11 eqid ( .g ‘ ( oppr𝑅 ) ) = ( .g ‘ ( oppr𝑅 ) )
12 eqid ( .r ‘ ( oppr𝑅 ) ) = ( .r ‘ ( oppr𝑅 ) )
13 10 11 12 mulgass2 ( ( ( oppr𝑅 ) ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑌𝐵𝑋𝐵 ) ) → ( ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) 𝑌 ) ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) = ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) ( 𝑌 ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) ) )
14 6 7 8 9 13 syl13anc ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → ( ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) 𝑌 ) ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) = ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) ( 𝑌 ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) ) )
15 1 3 4 12 opprmul ( ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) 𝑌 ) ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) = ( 𝑋 × ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) 𝑌 ) )
16 1 3 4 12 opprmul ( 𝑌 ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) = ( 𝑋 × 𝑌 )
17 16 oveq2i ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) ( 𝑌 ( .r ‘ ( oppr𝑅 ) ) 𝑋 ) ) = ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) ( 𝑋 × 𝑌 ) )
18 14 15 17 3eqtr3g ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → ( 𝑋 × ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) 𝑌 ) ) = ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) ( 𝑋 × 𝑌 ) ) )
19 1 a1i ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → 𝐵 = ( Base ‘ 𝑅 ) )
20 10 a1i ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → 𝐵 = ( Base ‘ ( oppr𝑅 ) ) )
21 ssv 𝐵 ⊆ V
22 21 a1i ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → 𝐵 ⊆ V )
23 ovexd ( ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑥 ∈ V ∧ 𝑦 ∈ V ) ) → ( 𝑥 ( +g𝑅 ) 𝑦 ) ∈ V )
24 eqid ( +g𝑅 ) = ( +g𝑅 )
25 4 24 oppradd ( +g𝑅 ) = ( +g ‘ ( oppr𝑅 ) )
26 25 oveqi ( 𝑥 ( +g𝑅 ) 𝑦 ) = ( 𝑥 ( +g ‘ ( oppr𝑅 ) ) 𝑦 )
27 26 a1i ( ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑥 ∈ V ∧ 𝑦 ∈ V ) ) → ( 𝑥 ( +g𝑅 ) 𝑦 ) = ( 𝑥 ( +g ‘ ( oppr𝑅 ) ) 𝑦 ) )
28 2 11 19 20 22 23 27 mulgpropd ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → · = ( .g ‘ ( oppr𝑅 ) ) )
29 28 oveqd ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → ( 𝑁 · 𝑌 ) = ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) 𝑌 ) )
30 29 oveq2d ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → ( 𝑋 × ( 𝑁 · 𝑌 ) ) = ( 𝑋 × ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) 𝑌 ) ) )
31 28 oveqd ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → ( 𝑁 · ( 𝑋 × 𝑌 ) ) = ( 𝑁 ( .g ‘ ( oppr𝑅 ) ) ( 𝑋 × 𝑌 ) ) )
32 18 30 31 3eqtr4d ( ( 𝑅 ∈ Ring ∧ ( 𝑁 ∈ ℤ ∧ 𝑋𝐵𝑌𝐵 ) ) → ( 𝑋 × ( 𝑁 · 𝑌 ) ) = ( 𝑁 · ( 𝑋 × 𝑌 ) ) )