| Step | Hyp | Ref | Expression | 
						
							| 1 |  | pm2mpmhm.p |  |-  P = ( Poly1 ` R ) | 
						
							| 2 |  | pm2mpmhm.c |  |-  C = ( N Mat P ) | 
						
							| 3 |  | pm2mpmhm.a |  |-  A = ( N Mat R ) | 
						
							| 4 |  | pm2mpmhm.q |  |-  Q = ( Poly1 ` A ) | 
						
							| 5 |  | pm2mpmhm.t |  |-  T = ( N pMatToMatPoly R ) | 
						
							| 6 | 1 2 | pmatring |  |-  ( ( N e. Fin /\ R e. Ring ) -> C e. Ring ) | 
						
							| 7 |  | eqid |  |-  ( mulGrp ` C ) = ( mulGrp ` C ) | 
						
							| 8 | 7 | ringmgp |  |-  ( C e. Ring -> ( mulGrp ` C ) e. Mnd ) | 
						
							| 9 | 6 8 | syl |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( mulGrp ` C ) e. Mnd ) | 
						
							| 10 | 3 | matring |  |-  ( ( N e. Fin /\ R e. Ring ) -> A e. Ring ) | 
						
							| 11 | 4 | ply1ring |  |-  ( A e. Ring -> Q e. Ring ) | 
						
							| 12 |  | eqid |  |-  ( mulGrp ` Q ) = ( mulGrp ` Q ) | 
						
							| 13 | 12 | ringmgp |  |-  ( Q e. Ring -> ( mulGrp ` Q ) e. Mnd ) | 
						
							| 14 | 10 11 13 | 3syl |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( mulGrp ` Q ) e. Mnd ) | 
						
							| 15 |  | eqid |  |-  ( Base ` C ) = ( Base ` C ) | 
						
							| 16 | 7 15 | mgpbas |  |-  ( Base ` C ) = ( Base ` ( mulGrp ` C ) ) | 
						
							| 17 | 16 | eqcomi |  |-  ( Base ` ( mulGrp ` C ) ) = ( Base ` C ) | 
						
							| 18 |  | eqid |  |-  ( .s ` Q ) = ( .s ` Q ) | 
						
							| 19 |  | eqid |  |-  ( .g ` ( mulGrp ` Q ) ) = ( .g ` ( mulGrp ` Q ) ) | 
						
							| 20 |  | eqid |  |-  ( var1 ` A ) = ( var1 ` A ) | 
						
							| 21 |  | eqid |  |-  ( Base ` Q ) = ( Base ` Q ) | 
						
							| 22 | 12 21 | mgpbas |  |-  ( Base ` Q ) = ( Base ` ( mulGrp ` Q ) ) | 
						
							| 23 | 22 | eqcomi |  |-  ( Base ` ( mulGrp ` Q ) ) = ( Base ` Q ) | 
						
							| 24 | 1 2 17 18 19 20 3 4 5 23 | pm2mpf |  |-  ( ( N e. Fin /\ R e. Ring ) -> T : ( Base ` ( mulGrp ` C ) ) --> ( Base ` ( mulGrp ` Q ) ) ) | 
						
							| 25 | 1 2 3 4 5 17 | pm2mpmhmlem2 |  |-  ( ( N e. Fin /\ R e. Ring ) -> A. x e. ( Base ` ( mulGrp ` C ) ) A. y e. ( Base ` ( mulGrp ` C ) ) ( T ` ( x ( .r ` C ) y ) ) = ( ( T ` x ) ( .r ` Q ) ( T ` y ) ) ) | 
						
							| 26 | 1 2 15 18 19 20 3 4 5 | idpm2idmp |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( T ` ( 1r ` C ) ) = ( 1r ` Q ) ) | 
						
							| 27 | 24 25 26 | 3jca |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( T : ( Base ` ( mulGrp ` C ) ) --> ( Base ` ( mulGrp ` Q ) ) /\ A. x e. ( Base ` ( mulGrp ` C ) ) A. y e. ( Base ` ( mulGrp ` C ) ) ( T ` ( x ( .r ` C ) y ) ) = ( ( T ` x ) ( .r ` Q ) ( T ` y ) ) /\ ( T ` ( 1r ` C ) ) = ( 1r ` Q ) ) ) | 
						
							| 28 |  | eqid |  |-  ( Base ` ( mulGrp ` C ) ) = ( Base ` ( mulGrp ` C ) ) | 
						
							| 29 |  | eqid |  |-  ( Base ` ( mulGrp ` Q ) ) = ( Base ` ( mulGrp ` Q ) ) | 
						
							| 30 |  | eqid |  |-  ( .r ` C ) = ( .r ` C ) | 
						
							| 31 | 7 30 | mgpplusg |  |-  ( .r ` C ) = ( +g ` ( mulGrp ` C ) ) | 
						
							| 32 |  | eqid |  |-  ( .r ` Q ) = ( .r ` Q ) | 
						
							| 33 | 12 32 | mgpplusg |  |-  ( .r ` Q ) = ( +g ` ( mulGrp ` Q ) ) | 
						
							| 34 |  | eqid |  |-  ( 1r ` C ) = ( 1r ` C ) | 
						
							| 35 | 7 34 | ringidval |  |-  ( 1r ` C ) = ( 0g ` ( mulGrp ` C ) ) | 
						
							| 36 |  | eqid |  |-  ( 1r ` Q ) = ( 1r ` Q ) | 
						
							| 37 | 12 36 | ringidval |  |-  ( 1r ` Q ) = ( 0g ` ( mulGrp ` Q ) ) | 
						
							| 38 | 28 29 31 33 35 37 | ismhm |  |-  ( T e. ( ( mulGrp ` C ) MndHom ( mulGrp ` Q ) ) <-> ( ( ( mulGrp ` C ) e. Mnd /\ ( mulGrp ` Q ) e. Mnd ) /\ ( T : ( Base ` ( mulGrp ` C ) ) --> ( Base ` ( mulGrp ` Q ) ) /\ A. x e. ( Base ` ( mulGrp ` C ) ) A. y e. ( Base ` ( mulGrp ` C ) ) ( T ` ( x ( .r ` C ) y ) ) = ( ( T ` x ) ( .r ` Q ) ( T ` y ) ) /\ ( T ` ( 1r ` C ) ) = ( 1r ` Q ) ) ) ) | 
						
							| 39 | 9 14 27 38 | syl21anbrc |  |-  ( ( N e. Fin /\ R e. Ring ) -> T e. ( ( mulGrp ` C ) MndHom ( mulGrp ` Q ) ) ) |