Metamath Proof Explorer


Theorem rngoass

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

Ref Expression
Hypotheses ringi.1
|- G = ( 1st ` R )
ringi.2
|- H = ( 2nd ` R )
ringi.3
|- X = ran G
Assertion rngoass
|- ( ( R e. RingOps /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( A H B ) H C ) = ( A H ( B H C ) ) )

Proof

Step Hyp Ref Expression
1 ringi.1
 |-  G = ( 1st ` R )
2 ringi.2
 |-  H = ( 2nd ` R )
3 ringi.3
 |-  X = ran G
4 1 2 3 rngoi
 |-  ( R e. RingOps -> ( ( G e. AbelOp /\ H : ( X X. X ) --> X ) /\ ( A. x e. X A. y e. X A. z e. X ( ( ( x H y ) H z ) = ( x H ( y H z ) ) /\ ( x H ( y G z ) ) = ( ( x H y ) G ( x H z ) ) /\ ( ( x G y ) H z ) = ( ( x H z ) G ( y H z ) ) ) /\ E. x e. X A. y e. X ( ( x H y ) = y /\ ( y H x ) = y ) ) ) )
5 4 simprd
 |-  ( R e. RingOps -> ( A. x e. X A. y e. X A. z e. X ( ( ( x H y ) H z ) = ( x H ( y H z ) ) /\ ( x H ( y G z ) ) = ( ( x H y ) G ( x H z ) ) /\ ( ( x G y ) H z ) = ( ( x H z ) G ( y H z ) ) ) /\ E. x e. X A. y e. X ( ( x H y ) = y /\ ( y H x ) = y ) ) )
6 5 simpld
 |-  ( R e. RingOps -> A. x e. X A. y e. X A. z e. X ( ( ( x H y ) H z ) = ( x H ( y H z ) ) /\ ( x H ( y G z ) ) = ( ( x H y ) G ( x H z ) ) /\ ( ( x G y ) H z ) = ( ( x H z ) G ( y H z ) ) ) )
7 simp1
 |-  ( ( ( ( x H y ) H z ) = ( x H ( y H z ) ) /\ ( x H ( y G z ) ) = ( ( x H y ) G ( x H z ) ) /\ ( ( x G y ) H z ) = ( ( x H z ) G ( y H z ) ) ) -> ( ( x H y ) H z ) = ( x H ( y H z ) ) )
8 7 ralimi
 |-  ( A. z e. X ( ( ( x H y ) H z ) = ( x H ( y H z ) ) /\ ( x H ( y G z ) ) = ( ( x H y ) G ( x H z ) ) /\ ( ( x G y ) H z ) = ( ( x H z ) G ( y H z ) ) ) -> A. z e. X ( ( x H y ) H z ) = ( x H ( y H z ) ) )
9 8 2ralimi
 |-  ( A. x e. X A. y e. X A. z e. X ( ( ( x H y ) H z ) = ( x H ( y H z ) ) /\ ( x H ( y G z ) ) = ( ( x H y ) G ( x H z ) ) /\ ( ( x G y ) H z ) = ( ( x H z ) G ( y H z ) ) ) -> A. x e. X A. y e. X A. z e. X ( ( x H y ) H z ) = ( x H ( y H z ) ) )
10 6 9 syl
 |-  ( R e. RingOps -> A. x e. X A. y e. X A. z e. X ( ( x H y ) H z ) = ( x H ( y H z ) ) )
11 oveq1
 |-  ( x = A -> ( x H y ) = ( A H y ) )
12 11 oveq1d
 |-  ( x = A -> ( ( x H y ) H z ) = ( ( A H y ) H z ) )
13 oveq1
 |-  ( x = A -> ( x H ( y H z ) ) = ( A H ( y H z ) ) )
14 12 13 eqeq12d
 |-  ( x = A -> ( ( ( x H y ) H z ) = ( x H ( y H z ) ) <-> ( ( A H y ) H z ) = ( A H ( y H z ) ) ) )
15 oveq2
 |-  ( y = B -> ( A H y ) = ( A H B ) )
16 15 oveq1d
 |-  ( y = B -> ( ( A H y ) H z ) = ( ( A H B ) H z ) )
17 oveq1
 |-  ( y = B -> ( y H z ) = ( B H z ) )
18 17 oveq2d
 |-  ( y = B -> ( A H ( y H z ) ) = ( A H ( B H z ) ) )
19 16 18 eqeq12d
 |-  ( y = B -> ( ( ( A H y ) H z ) = ( A H ( y H z ) ) <-> ( ( A H B ) H z ) = ( A H ( B H z ) ) ) )
20 oveq2
 |-  ( z = C -> ( ( A H B ) H z ) = ( ( A H B ) H C ) )
21 oveq2
 |-  ( z = C -> ( B H z ) = ( B H C ) )
22 21 oveq2d
 |-  ( z = C -> ( A H ( B H z ) ) = ( A H ( B H C ) ) )
23 20 22 eqeq12d
 |-  ( z = C -> ( ( ( A H B ) H z ) = ( A H ( B H z ) ) <-> ( ( A H B ) H C ) = ( A H ( B H C ) ) ) )
24 14 19 23 rspc3v
 |-  ( ( A e. X /\ B e. X /\ C e. X ) -> ( A. x e. X A. y e. X A. z e. X ( ( x H y ) H z ) = ( x H ( y H z ) ) -> ( ( A H B ) H C ) = ( A H ( B H C ) ) ) )
25 10 24 mpan9
 |-  ( ( R e. RingOps /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( A H B ) H C ) = ( A H ( B H C ) ) )