| 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 | an32s |  |-  ( ( ( R e. Ring /\ X e. B ) /\ x e. B ) -> ( x .x. X ) e. B ) | 
						
							| 9 | 8 | fmpttd |  |-  ( ( R e. Ring /\ X e. B ) -> ( x e. B |-> ( x .x. X ) ) : B --> B ) | 
						
							| 10 |  | df-3an |  |-  ( ( y e. B /\ z e. B /\ X e. B ) <-> ( ( y e. B /\ z e. B ) /\ X e. B ) ) | 
						
							| 11 | 1 3 2 | ringdir |  |-  ( ( R e. Ring /\ ( y e. B /\ z e. B /\ X e. B ) ) -> ( ( y ( +g ` R ) z ) .x. X ) = ( ( y .x. X ) ( +g ` R ) ( z .x. X ) ) ) | 
						
							| 12 | 10 11 | sylan2br |  |-  ( ( R e. Ring /\ ( ( y e. B /\ z e. B ) /\ X e. B ) ) -> ( ( y ( +g ` R ) z ) .x. X ) = ( ( y .x. X ) ( +g ` R ) ( z .x. X ) ) ) | 
						
							| 13 | 12 | anass1rs |  |-  ( ( ( R e. Ring /\ X e. B ) /\ ( y e. B /\ z e. B ) ) -> ( ( y ( +g ` R ) z ) .x. X ) = ( ( y .x. X ) ( +g ` R ) ( z .x. X ) ) ) | 
						
							| 14 | 1 3 | ringacl |  |-  ( ( R e. Ring /\ y e. B /\ z e. B ) -> ( y ( +g ` R ) z ) e. B ) | 
						
							| 15 | 14 | 3expb |  |-  ( ( R e. Ring /\ ( y e. B /\ z e. B ) ) -> ( y ( +g ` R ) z ) e. B ) | 
						
							| 16 | 15 | adantlr |  |-  ( ( ( R e. Ring /\ X e. B ) /\ ( y e. B /\ z e. B ) ) -> ( y ( +g ` R ) z ) e. B ) | 
						
							| 17 |  | oveq1 |  |-  ( x = ( y ( +g ` R ) z ) -> ( x .x. X ) = ( ( y ( +g ` R ) z ) .x. X ) ) | 
						
							| 18 |  | eqid |  |-  ( x e. B |-> ( x .x. X ) ) = ( x e. B |-> ( x .x. X ) ) | 
						
							| 19 |  | ovex |  |-  ( ( y ( +g ` R ) z ) .x. X ) e. _V | 
						
							| 20 | 17 18 19 | fvmpt |  |-  ( ( y ( +g ` R ) z ) e. B -> ( ( x e. B |-> ( x .x. X ) ) ` ( y ( +g ` R ) z ) ) = ( ( y ( +g ` R ) z ) .x. X ) ) | 
						
							| 21 | 16 20 | syl |  |-  ( ( ( R e. Ring /\ X e. B ) /\ ( y e. B /\ z e. B ) ) -> ( ( x e. B |-> ( x .x. X ) ) ` ( y ( +g ` R ) z ) ) = ( ( y ( +g ` R ) z ) .x. X ) ) | 
						
							| 22 |  | oveq1 |  |-  ( x = y -> ( x .x. X ) = ( y .x. X ) ) | 
						
							| 23 |  | ovex |  |-  ( y .x. X ) e. _V | 
						
							| 24 | 22 18 23 | fvmpt |  |-  ( y e. B -> ( ( x e. B |-> ( x .x. X ) ) ` y ) = ( y .x. X ) ) | 
						
							| 25 |  | oveq1 |  |-  ( x = z -> ( x .x. X ) = ( z .x. X ) ) | 
						
							| 26 |  | ovex |  |-  ( z .x. X ) e. _V | 
						
							| 27 | 25 18 26 | fvmpt |  |-  ( z e. B -> ( ( x e. B |-> ( x .x. X ) ) ` z ) = ( z .x. X ) ) | 
						
							| 28 | 24 27 | oveqan12d |  |-  ( ( y e. B /\ z e. B ) -> ( ( ( x e. B |-> ( x .x. X ) ) ` y ) ( +g ` R ) ( ( x e. B |-> ( x .x. X ) ) ` z ) ) = ( ( y .x. X ) ( +g ` R ) ( z .x. X ) ) ) | 
						
							| 29 | 28 | 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 ) ) = ( ( y .x. X ) ( +g ` R ) ( z .x. X ) ) ) | 
						
							| 30 | 13 21 29 | 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 ) ) ) | 
						
							| 31 | 1 1 3 3 5 5 9 30 | isghmd |  |-  ( ( R e. Ring /\ X e. B ) -> ( x e. B |-> ( x .x. X ) ) e. ( R GrpHom R ) ) |