Metamath Proof Explorer


Theorem rngodi

Description: Distributive law for the multiplication operation of a ring (left-distributivity). (Contributed by Steve Rodriguez, 9-Sep-2007) (Revised by Mario Carneiro, 21-Dec-2013) (New usage is discouraged.)

Ref Expression
Hypotheses ringi.1 𝐺 = ( 1st𝑅 )
ringi.2 𝐻 = ( 2nd𝑅 )
ringi.3 𝑋 = ran 𝐺
Assertion rngodi ( ( 𝑅 ∈ RingOps ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐴 𝐻 ( 𝐵 𝐺 𝐶 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 ringi.1 𝐺 = ( 1st𝑅 )
2 ringi.2 𝐻 = ( 2nd𝑅 )
3 ringi.3 𝑋 = ran 𝐺
4 1 2 3 rngoi ( 𝑅 ∈ RingOps → ( ( 𝐺 ∈ AbelOp ∧ 𝐻 : ( 𝑋 × 𝑋 ) ⟶ 𝑋 ) ∧ ( ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 ) = ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ∧ ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) ∧ ( ( 𝑥 𝐺 𝑦 ) 𝐻 𝑧 ) = ( ( 𝑥 𝐻 𝑧 ) 𝐺 ( 𝑦 𝐻 𝑧 ) ) ) ∧ ∃ 𝑥𝑋𝑦𝑋 ( ( 𝑥 𝐻 𝑦 ) = 𝑦 ∧ ( 𝑦 𝐻 𝑥 ) = 𝑦 ) ) ) )
5 4 simprd ( 𝑅 ∈ RingOps → ( ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 ) = ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ∧ ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) ∧ ( ( 𝑥 𝐺 𝑦 ) 𝐻 𝑧 ) = ( ( 𝑥 𝐻 𝑧 ) 𝐺 ( 𝑦 𝐻 𝑧 ) ) ) ∧ ∃ 𝑥𝑋𝑦𝑋 ( ( 𝑥 𝐻 𝑦 ) = 𝑦 ∧ ( 𝑦 𝐻 𝑥 ) = 𝑦 ) ) )
6 5 simpld ( 𝑅 ∈ RingOps → ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 ) = ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ∧ ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) ∧ ( ( 𝑥 𝐺 𝑦 ) 𝐻 𝑧 ) = ( ( 𝑥 𝐻 𝑧 ) 𝐺 ( 𝑦 𝐻 𝑧 ) ) ) )
7 simp2 ( ( ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 ) = ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ∧ ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) ∧ ( ( 𝑥 𝐺 𝑦 ) 𝐻 𝑧 ) = ( ( 𝑥 𝐻 𝑧 ) 𝐺 ( 𝑦 𝐻 𝑧 ) ) ) → ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) )
8 7 ralimi ( ∀ 𝑧𝑋 ( ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 ) = ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ∧ ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) ∧ ( ( 𝑥 𝐺 𝑦 ) 𝐻 𝑧 ) = ( ( 𝑥 𝐻 𝑧 ) 𝐺 ( 𝑦 𝐻 𝑧 ) ) ) → ∀ 𝑧𝑋 ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) )
9 8 2ralimi ( ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 ) = ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ∧ ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) ∧ ( ( 𝑥 𝐺 𝑦 ) 𝐻 𝑧 ) = ( ( 𝑥 𝐻 𝑧 ) 𝐺 ( 𝑦 𝐻 𝑧 ) ) ) → ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) )
10 oveq1 ( 𝑥 = 𝐴 → ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( 𝐴 𝐻 ( 𝑦 𝐺 𝑧 ) ) )
11 oveq1 ( 𝑥 = 𝐴 → ( 𝑥 𝐻 𝑦 ) = ( 𝐴 𝐻 𝑦 ) )
12 oveq1 ( 𝑥 = 𝐴 → ( 𝑥 𝐻 𝑧 ) = ( 𝐴 𝐻 𝑧 ) )
13 11 12 oveq12d ( 𝑥 = 𝐴 → ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) = ( ( 𝐴 𝐻 𝑦 ) 𝐺 ( 𝐴 𝐻 𝑧 ) ) )
14 10 13 eqeq12d ( 𝑥 = 𝐴 → ( ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) ↔ ( 𝐴 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝐴 𝐻 𝑦 ) 𝐺 ( 𝐴 𝐻 𝑧 ) ) ) )
15 oveq1 ( 𝑦 = 𝐵 → ( 𝑦 𝐺 𝑧 ) = ( 𝐵 𝐺 𝑧 ) )
16 15 oveq2d ( 𝑦 = 𝐵 → ( 𝐴 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( 𝐴 𝐻 ( 𝐵 𝐺 𝑧 ) ) )
17 oveq2 ( 𝑦 = 𝐵 → ( 𝐴 𝐻 𝑦 ) = ( 𝐴 𝐻 𝐵 ) )
18 17 oveq1d ( 𝑦 = 𝐵 → ( ( 𝐴 𝐻 𝑦 ) 𝐺 ( 𝐴 𝐻 𝑧 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝑧 ) ) )
19 16 18 eqeq12d ( 𝑦 = 𝐵 → ( ( 𝐴 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝐴 𝐻 𝑦 ) 𝐺 ( 𝐴 𝐻 𝑧 ) ) ↔ ( 𝐴 𝐻 ( 𝐵 𝐺 𝑧 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝑧 ) ) ) )
20 oveq2 ( 𝑧 = 𝐶 → ( 𝐵 𝐺 𝑧 ) = ( 𝐵 𝐺 𝐶 ) )
21 20 oveq2d ( 𝑧 = 𝐶 → ( 𝐴 𝐻 ( 𝐵 𝐺 𝑧 ) ) = ( 𝐴 𝐻 ( 𝐵 𝐺 𝐶 ) ) )
22 oveq2 ( 𝑧 = 𝐶 → ( 𝐴 𝐻 𝑧 ) = ( 𝐴 𝐻 𝐶 ) )
23 22 oveq2d ( 𝑧 = 𝐶 → ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝑧 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝐶 ) ) )
24 21 23 eqeq12d ( 𝑧 = 𝐶 → ( ( 𝐴 𝐻 ( 𝐵 𝐺 𝑧 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝑧 ) ) ↔ ( 𝐴 𝐻 ( 𝐵 𝐺 𝐶 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝐶 ) ) ) )
25 14 19 24 rspc3v ( ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) → ( ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) → ( 𝐴 𝐻 ( 𝐵 𝐺 𝐶 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝐶 ) ) ) )
26 9 25 syl5 ( ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) → ( ∀ 𝑥𝑋𝑦𝑋𝑧𝑋 ( ( ( 𝑥 𝐻 𝑦 ) 𝐻 𝑧 ) = ( 𝑥 𝐻 ( 𝑦 𝐻 𝑧 ) ) ∧ ( 𝑥 𝐻 ( 𝑦 𝐺 𝑧 ) ) = ( ( 𝑥 𝐻 𝑦 ) 𝐺 ( 𝑥 𝐻 𝑧 ) ) ∧ ( ( 𝑥 𝐺 𝑦 ) 𝐻 𝑧 ) = ( ( 𝑥 𝐻 𝑧 ) 𝐺 ( 𝑦 𝐻 𝑧 ) ) ) → ( 𝐴 𝐻 ( 𝐵 𝐺 𝐶 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝐶 ) ) ) )
27 6 26 mpan9 ( ( 𝑅 ∈ RingOps ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐴 𝐻 ( 𝐵 𝐺 𝐶 ) ) = ( ( 𝐴 𝐻 𝐵 ) 𝐺 ( 𝐴 𝐻 𝐶 ) ) )