Metamath Proof Explorer


Theorem rngosubdir

Description: Obsolete theorem, use ringsubdir instead. Ring multiplication distributes over subtraction. (Contributed by Jeff Madsen, 19-Jun-2010) (New usage is discouraged.) (Proof modification is discouraged.)

Ref Expression
Hypotheses ringsubdi.1 ⊢ 𝐺 = ( 1st ‘ 𝑅 )
ringsubdi.2 ⊢ 𝐻 = ( 2nd ‘ 𝑅 )
ringsubdi.3 ⊢ 𝑋 = ran 𝐺
ringsubdi.4 ⊢ 𝐷 = ( /𝑔 ‘ 𝐺 )
Assertion rngosubdir ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐷 𝐵 ) 𝐻 𝐶 ) = ( ( 𝐴 𝐻 𝐶 ) 𝐷 ( 𝐵 𝐻 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 ringsubdi.1 ⊢ 𝐺 = ( 1st ‘ 𝑅 )
2 ringsubdi.2 ⊢ 𝐻 = ( 2nd ‘ 𝑅 )
3 ringsubdi.3 ⊢ 𝑋 = ran 𝐺
4 ringsubdi.4 ⊢ 𝐷 = ( /𝑔 ‘ 𝐺 )
5 eqid ⊢ ( inv ‘ 𝐺 ) = ( inv ‘ 𝐺 )
6 1 3 5 4 rngosub ⊢ ( ( 𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ) → ( 𝐴 𝐷 𝐵 ) = ( 𝐴 𝐺 ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ) )
7 6 3adant3r3 ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( 𝐴 𝐷 𝐵 ) = ( 𝐴 𝐺 ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ) )
8 7 oveq1d ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐷 𝐵 ) 𝐻 𝐶 ) = ( ( 𝐴 𝐺 ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ) 𝐻 𝐶 ) )
9 1 2 3 rngocl ⊢ ( ( 𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) → ( 𝐴 𝐻 𝐶 ) ∈ 𝑋 )
10 9 3adant3r2 ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( 𝐴 𝐻 𝐶 ) ∈ 𝑋 )
11 1 2 3 rngocl ⊢ ( ( 𝑅 ∈ RingOps ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) → ( 𝐵 𝐻 𝐶 ) ∈ 𝑋 )
12 11 3adant3r1 ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( 𝐵 𝐻 𝐶 ) ∈ 𝑋 )
13 10 12 jca ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐻 𝐶 ) ∈ 𝑋 ∧ ( 𝐵 𝐻 𝐶 ) ∈ 𝑋 ) )
14 1 3 5 4 rngosub ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 𝐻 𝐶 ) ∈ 𝑋 ∧ ( 𝐵 𝐻 𝐶 ) ∈ 𝑋 ) → ( ( 𝐴 𝐻 𝐶 ) 𝐷 ( 𝐵 𝐻 𝐶 ) ) = ( ( 𝐴 𝐻 𝐶 ) 𝐺 ( ( inv ‘ 𝐺 ) ‘ ( 𝐵 𝐻 𝐶 ) ) ) )
15 14 3expb ⊢ ( ( 𝑅 ∈ RingOps ∧ ( ( 𝐴 𝐻 𝐶 ) ∈ 𝑋 ∧ ( 𝐵 𝐻 𝐶 ) ∈ 𝑋 ) ) → ( ( 𝐴 𝐻 𝐶 ) 𝐷 ( 𝐵 𝐻 𝐶 ) ) = ( ( 𝐴 𝐻 𝐶 ) 𝐺 ( ( inv ‘ 𝐺 ) ‘ ( 𝐵 𝐻 𝐶 ) ) ) )
16 13 15 syldan ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐻 𝐶 ) 𝐷 ( 𝐵 𝐻 𝐶 ) ) = ( ( 𝐴 𝐻 𝐶 ) 𝐺 ( ( inv ‘ 𝐺 ) ‘ ( 𝐵 𝐻 𝐶 ) ) ) )
17 idd ⊢ ( 𝑅 ∈ RingOps → ( 𝐴 ∈ 𝑋 → 𝐴 ∈ 𝑋 ) )
18 1 3 5 rngonegcl ⊢ ( ( 𝑅 ∈ RingOps ∧ 𝐵 ∈ 𝑋 ) → ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ∈ 𝑋 )
19 18 ex ⊢ ( 𝑅 ∈ RingOps → ( 𝐵 ∈ 𝑋 → ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ∈ 𝑋 ) )
20 idd ⊢ ( 𝑅 ∈ RingOps → ( 𝐶 ∈ 𝑋 → 𝐶 ∈ 𝑋 ) )
21 17 19 20 3anim123d ⊢ ( 𝑅 ∈ RingOps → ( ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) → ( 𝐴 ∈ 𝑋 ∧ ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) )
22 21 imp ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( 𝐴 ∈ 𝑋 ∧ ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) )
23 1 2 3 rngodir ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐺 ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ) 𝐻 𝐶 ) = ( ( 𝐴 𝐻 𝐶 ) 𝐺 ( ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) 𝐻 𝐶 ) ) )
24 22 23 syldan ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐺 ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ) 𝐻 𝐶 ) = ( ( 𝐴 𝐻 𝐶 ) 𝐺 ( ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) 𝐻 𝐶 ) ) )
25 1 2 3 5 rngoneglmul ⊢ ( ( 𝑅 ∈ RingOps ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) → ( ( inv ‘ 𝐺 ) ‘ ( 𝐵 𝐻 𝐶 ) ) = ( ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) 𝐻 𝐶 ) )
26 25 3adant3r1 ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( inv ‘ 𝐺 ) ‘ ( 𝐵 𝐻 𝐶 ) ) = ( ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) 𝐻 𝐶 ) )
27 26 oveq2d ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐻 𝐶 ) 𝐺 ( ( inv ‘ 𝐺 ) ‘ ( 𝐵 𝐻 𝐶 ) ) ) = ( ( 𝐴 𝐻 𝐶 ) 𝐺 ( ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) 𝐻 𝐶 ) ) )
28 24 27 eqtr4d ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐺 ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ) 𝐻 𝐶 ) = ( ( 𝐴 𝐻 𝐶 ) 𝐺 ( ( inv ‘ 𝐺 ) ‘ ( 𝐵 𝐻 𝐶 ) ) ) )
29 16 28 eqtr4d ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐻 𝐶 ) 𝐷 ( 𝐵 𝐻 𝐶 ) ) = ( ( 𝐴 𝐺 ( ( inv ‘ 𝐺 ) ‘ 𝐵 ) ) 𝐻 𝐶 ) )
30 8 29 eqtr4d ⊢ ( ( 𝑅 ∈ RingOps ∧ ( 𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑋 ∧ 𝐶 ∈ 𝑋 ) ) → ( ( 𝐴 𝐷 𝐵 ) 𝐻 𝐶 ) = ( ( 𝐴 𝐻 𝐶 ) 𝐷 ( 𝐵 𝐻 𝐶 ) ) )