| Step | Hyp | Ref | Expression | 
						
							| 1 |  | ringlghm.b |  |-  B = ( Base ` R ) | 
						
							| 2 |  | ringlghm.t |  |-  .x. = ( .r ` R ) | 
						
							| 3 |  | eqid |  |-  ( +g ` R ) = ( +g ` R ) | 
						
							| 4 |  | ringgrp |  |-  ( R e. Ring -> R e. Grp ) | 
						
							| 5 | 4 | adantr |  |-  ( ( R e. Ring /\ X e. B ) -> R e. Grp ) | 
						
							| 6 | 1 2 | ringcl |  |-  ( ( R e. Ring /\ X e. B /\ x e. B ) -> ( X .x. x ) e. B ) | 
						
							| 7 | 6 | 3expa |  |-  ( ( ( R e. Ring /\ X e. B ) /\ x e. B ) -> ( X .x. x ) e. B ) | 
						
							| 8 | 7 | fmpttd |  |-  ( ( R e. Ring /\ X e. B ) -> ( x e. B |-> ( X .x. x ) ) : B --> B ) | 
						
							| 9 |  | 3anass |  |-  ( ( X e. B /\ y e. B /\ z e. B ) <-> ( X e. B /\ ( y e. B /\ z e. B ) ) ) | 
						
							| 10 | 1 3 2 | ringdi |  |-  ( ( R e. Ring /\ ( X e. B /\ y e. B /\ z e. B ) ) -> ( X .x. ( y ( +g ` R ) z ) ) = ( ( X .x. y ) ( +g ` R ) ( X .x. z ) ) ) | 
						
							| 11 | 9 10 | sylan2br |  |-  ( ( R e. Ring /\ ( X e. B /\ ( y e. B /\ z e. B ) ) ) -> ( X .x. ( y ( +g ` R ) z ) ) = ( ( X .x. y ) ( +g ` R ) ( X .x. z ) ) ) | 
						
							| 12 | 11 | anassrs |  |-  ( ( ( R e. Ring /\ X e. B ) /\ ( y e. B /\ z e. B ) ) -> ( X .x. ( y ( +g ` R ) z ) ) = ( ( X .x. y ) ( +g ` R ) ( X .x. z ) ) ) | 
						
							| 13 | 1 3 | ringacl |  |-  ( ( R e. Ring /\ y e. B /\ z e. B ) -> ( y ( +g ` R ) z ) e. B ) | 
						
							| 14 | 13 | 3expb |  |-  ( ( R e. Ring /\ ( y e. B /\ z e. B ) ) -> ( y ( +g ` R ) z ) e. B ) | 
						
							| 15 | 14 | adantlr |  |-  ( ( ( R e. Ring /\ X e. B ) /\ ( y e. B /\ z e. B ) ) -> ( y ( +g ` R ) z ) e. B ) | 
						
							| 16 |  | oveq2 |  |-  ( x = ( y ( +g ` R ) z ) -> ( X .x. x ) = ( X .x. ( y ( +g ` R ) z ) ) ) | 
						
							| 17 |  | eqid |  |-  ( x e. B |-> ( X .x. x ) ) = ( x e. B |-> ( X .x. x ) ) | 
						
							| 18 |  | ovex |  |-  ( X .x. ( y ( +g ` R ) z ) ) e. _V | 
						
							| 19 | 16 17 18 | fvmpt |  |-  ( ( y ( +g ` R ) z ) e. B -> ( ( x e. B |-> ( X .x. x ) ) ` ( y ( +g ` R ) z ) ) = ( X .x. ( y ( +g ` R ) z ) ) ) | 
						
							| 20 | 15 19 | syl |  |-  ( ( ( R e. Ring /\ X e. B ) /\ ( y e. B /\ z e. B ) ) -> ( ( x e. B |-> ( X .x. x ) ) ` ( y ( +g ` R ) z ) ) = ( X .x. ( y ( +g ` R ) z ) ) ) | 
						
							| 21 |  | oveq2 |  |-  ( x = y -> ( X .x. x ) = ( X .x. y ) ) | 
						
							| 22 |  | ovex |  |-  ( X .x. y ) e. _V | 
						
							| 23 | 21 17 22 | fvmpt |  |-  ( y e. B -> ( ( x e. B |-> ( X .x. x ) ) ` y ) = ( X .x. y ) ) | 
						
							| 24 |  | oveq2 |  |-  ( x = z -> ( X .x. x ) = ( X .x. z ) ) | 
						
							| 25 |  | ovex |  |-  ( X .x. z ) e. _V | 
						
							| 26 | 24 17 25 | fvmpt |  |-  ( z e. B -> ( ( x e. B |-> ( X .x. x ) ) ` z ) = ( X .x. z ) ) | 
						
							| 27 | 23 26 | oveqan12d |  |-  ( ( y e. B /\ z e. B ) -> ( ( ( x e. B |-> ( X .x. x ) ) ` y ) ( +g ` R ) ( ( x e. B |-> ( X .x. x ) ) ` z ) ) = ( ( X .x. y ) ( +g ` R ) ( X .x. z ) ) ) | 
						
							| 28 | 27 | adantl |  |-  ( ( ( R e. Ring /\ X e. B ) /\ ( y e. B /\ z e. B ) ) -> ( ( ( x e. B |-> ( X .x. x ) ) ` y ) ( +g ` R ) ( ( x e. B |-> ( X .x. x ) ) ` z ) ) = ( ( X .x. y ) ( +g ` R ) ( X .x. z ) ) ) | 
						
							| 29 | 12 20 28 | 3eqtr4d |  |-  ( ( ( R e. Ring /\ X e. B ) /\ ( y e. B /\ z e. B ) ) -> ( ( x e. B |-> ( X .x. x ) ) ` ( y ( +g ` R ) z ) ) = ( ( ( x e. B |-> ( X .x. x ) ) ` y ) ( +g ` R ) ( ( x e. B |-> ( X .x. x ) ) ` z ) ) ) | 
						
							| 30 | 1 1 3 3 5 5 8 29 | isghmd |  |-  ( ( R e. Ring /\ X e. B ) -> ( x e. B |-> ( X .x. x ) ) e. ( R GrpHom R ) ) |