Metamath Proof Explorer


Theorem rngoi

Description: The properties of a unital ring. (Contributed by Steve Rodriguez, 8-Sep-2007) (Proof shortened 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 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 ) ) ) )

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 opeq12i
 |-  <. G , H >. = <. ( 1st ` R ) , ( 2nd ` R ) >.
5 relrngo
 |-  Rel RingOps
6 1st2nd
 |-  ( ( Rel RingOps /\ R e. RingOps ) -> R = <. ( 1st ` R ) , ( 2nd ` R ) >. )
7 5 6 mpan
 |-  ( R e. RingOps -> R = <. ( 1st ` R ) , ( 2nd ` R ) >. )
8 4 7 eqtr4id
 |-  ( R e. RingOps -> <. G , H >. = R )
9 id
 |-  ( R e. RingOps -> R e. RingOps )
10 8 9 eqeltrd
 |-  ( R e. RingOps -> <. G , H >. e. RingOps )
11 2 fvexi
 |-  H e. _V
12 3 isrngo
 |-  ( H e. _V -> ( <. G , H >. 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 ) ) ) ) )
13 11 12 ax-mp
 |-  ( <. G , H >. 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 ) ) ) )
14 10 13 sylib
 |-  ( 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 ) ) ) )