This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A group operation is associative. (Contributed by NM, 10-Oct-2006) (New usage is discouraged.)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | grpfo.1 | |- X = ran G |
|
| Assertion | grpoass | |- ( ( G e. GrpOp /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( A G B ) G C ) = ( A G ( B G C ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | grpfo.1 | |- X = ran G |
|
| 2 | 1 | isgrpo | |- ( G e. GrpOp -> ( G e. GrpOp <-> ( G : ( X X. X ) --> X /\ A. x e. X A. y e. X A. z e. X ( ( x G y ) G z ) = ( x G ( y G z ) ) /\ E. u e. X A. x e. X ( ( u G x ) = x /\ E. y e. X ( y G x ) = u ) ) ) ) |
| 3 | 2 | ibi | |- ( G e. GrpOp -> ( G : ( X X. X ) --> X /\ A. x e. X A. y e. X A. z e. X ( ( x G y ) G z ) = ( x G ( y G z ) ) /\ E. u e. X A. x e. X ( ( u G x ) = x /\ E. y e. X ( y G x ) = u ) ) ) |
| 4 | 3 | simp2d | |- ( G e. GrpOp -> A. x e. X A. y e. X A. z e. X ( ( x G y ) G z ) = ( x G ( y G z ) ) ) |
| 5 | oveq1 | |- ( x = A -> ( x G y ) = ( A G y ) ) |
|
| 6 | 5 | oveq1d | |- ( x = A -> ( ( x G y ) G z ) = ( ( A G y ) G z ) ) |
| 7 | oveq1 | |- ( x = A -> ( x G ( y G z ) ) = ( A G ( y G z ) ) ) |
|
| 8 | 6 7 | eqeq12d | |- ( x = A -> ( ( ( x G y ) G z ) = ( x G ( y G z ) ) <-> ( ( A G y ) G z ) = ( A G ( y G z ) ) ) ) |
| 9 | oveq2 | |- ( y = B -> ( A G y ) = ( A G B ) ) |
|
| 10 | 9 | oveq1d | |- ( y = B -> ( ( A G y ) G z ) = ( ( A G B ) G z ) ) |
| 11 | oveq1 | |- ( y = B -> ( y G z ) = ( B G z ) ) |
|
| 12 | 11 | oveq2d | |- ( y = B -> ( A G ( y G z ) ) = ( A G ( B G z ) ) ) |
| 13 | 10 12 | eqeq12d | |- ( y = B -> ( ( ( A G y ) G z ) = ( A G ( y G z ) ) <-> ( ( A G B ) G z ) = ( A G ( B G z ) ) ) ) |
| 14 | oveq2 | |- ( z = C -> ( ( A G B ) G z ) = ( ( A G B ) G C ) ) |
|
| 15 | oveq2 | |- ( z = C -> ( B G z ) = ( B G C ) ) |
|
| 16 | 15 | oveq2d | |- ( z = C -> ( A G ( B G z ) ) = ( A G ( B G C ) ) ) |
| 17 | 14 16 | eqeq12d | |- ( z = C -> ( ( ( A G B ) G z ) = ( A G ( B G z ) ) <-> ( ( A G B ) G C ) = ( A G ( B G C ) ) ) ) |
| 18 | 8 13 17 | rspc3v | |- ( ( A e. X /\ B e. X /\ C e. X ) -> ( A. x e. X A. y e. X A. z e. X ( ( x G y ) G z ) = ( x G ( y G z ) ) -> ( ( A G B ) G C ) = ( A G ( B G C ) ) ) ) |
| 19 | 4 18 | mpan9 | |- ( ( G e. GrpOp /\ ( A e. X /\ B e. X /\ C e. X ) ) -> ( ( A G B ) G C ) = ( A G ( B G C ) ) ) |