| Step | Hyp | Ref | Expression | 
						
							| 1 |  | cpmidgsum.a |  |-  A = ( N Mat R ) | 
						
							| 2 |  | cpmidgsum.b |  |-  B = ( Base ` A ) | 
						
							| 3 |  | cpmidgsum.p |  |-  P = ( Poly1 ` R ) | 
						
							| 4 |  | cpmidgsum.y |  |-  Y = ( N Mat P ) | 
						
							| 5 |  | cpmidgsum.x |  |-  X = ( var1 ` R ) | 
						
							| 6 |  | cpmidgsum.e |  |-  .^ = ( .g ` ( mulGrp ` P ) ) | 
						
							| 7 |  | cpmidgsum.m |  |-  .x. = ( .s ` Y ) | 
						
							| 8 |  | cpmidgsum.1 |  |-  .1. = ( 1r ` Y ) | 
						
							| 9 |  | cpmidgsum.u |  |-  U = ( algSc ` P ) | 
						
							| 10 |  | cpmidgsum.c |  |-  C = ( N CharPlyMat R ) | 
						
							| 11 |  | cpmidgsum.k |  |-  K = ( C ` M ) | 
						
							| 12 |  | cpmidgsum.h |  |-  H = ( K .x. .1. ) | 
						
							| 13 |  | cpmidgsumm2pm.o |  |-  O = ( 1r ` A ) | 
						
							| 14 |  | cpmidgsumm2pm.m |  |-  .* = ( .s ` A ) | 
						
							| 15 |  | cpmidgsumm2pm.t |  |-  T = ( N matToPolyMat R ) | 
						
							| 16 |  | cpmidpmat.g |  |-  G = ( k e. NN0 |-> ( ( ( coe1 ` K ) ` k ) .* O ) ) | 
						
							| 17 |  | simpl1 |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ k e. NN0 ) -> N e. Fin ) | 
						
							| 18 |  | crngring |  |-  ( R e. CRing -> R e. Ring ) | 
						
							| 19 | 18 | 3ad2ant2 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> R e. Ring ) | 
						
							| 20 | 19 | adantr |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ k e. NN0 ) -> R e. Ring ) | 
						
							| 21 |  | eqid |  |-  ( Base ` P ) = ( Base ` P ) | 
						
							| 22 | 10 1 2 3 21 | chpmatply1 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( C ` M ) e. ( Base ` P ) ) | 
						
							| 23 | 11 22 | eqeltrid |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> K e. ( Base ` P ) ) | 
						
							| 24 |  | eqid |  |-  ( coe1 ` K ) = ( coe1 ` K ) | 
						
							| 25 |  | eqid |  |-  ( Base ` R ) = ( Base ` R ) | 
						
							| 26 | 24 21 3 25 | coe1fvalcl |  |-  ( ( K e. ( Base ` P ) /\ k e. NN0 ) -> ( ( coe1 ` K ) ` k ) e. ( Base ` R ) ) | 
						
							| 27 | 23 26 | sylan |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ k e. NN0 ) -> ( ( coe1 ` K ) ` k ) e. ( Base ` R ) ) | 
						
							| 28 | 18 | anim2i |  |-  ( ( N e. Fin /\ R e. CRing ) -> ( N e. Fin /\ R e. Ring ) ) | 
						
							| 29 | 1 | matring |  |-  ( ( N e. Fin /\ R e. Ring ) -> A e. Ring ) | 
						
							| 30 | 2 13 | ringidcl |  |-  ( A e. Ring -> O e. B ) | 
						
							| 31 | 28 29 30 | 3syl |  |-  ( ( N e. Fin /\ R e. CRing ) -> O e. B ) | 
						
							| 32 | 31 | 3adant3 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> O e. B ) | 
						
							| 33 | 32 | adantr |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ k e. NN0 ) -> O e. B ) | 
						
							| 34 | 25 1 2 14 | matvscl |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( ( ( coe1 ` K ) ` k ) e. ( Base ` R ) /\ O e. B ) ) -> ( ( ( coe1 ` K ) ` k ) .* O ) e. B ) | 
						
							| 35 | 17 20 27 33 34 | syl22anc |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ k e. NN0 ) -> ( ( ( coe1 ` K ) ` k ) .* O ) e. B ) | 
						
							| 36 | 35 16 | fmptd |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> G : NN0 --> B ) | 
						
							| 37 | 2 | fvexi |  |-  B e. _V | 
						
							| 38 |  | nn0ex |  |-  NN0 e. _V | 
						
							| 39 | 37 38 | pm3.2i |  |-  ( B e. _V /\ NN0 e. _V ) | 
						
							| 40 |  | elmapg |  |-  ( ( B e. _V /\ NN0 e. _V ) -> ( G e. ( B ^m NN0 ) <-> G : NN0 --> B ) ) | 
						
							| 41 | 39 40 | mp1i |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( G e. ( B ^m NN0 ) <-> G : NN0 --> B ) ) | 
						
							| 42 | 36 41 | mpbird |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> G e. ( B ^m NN0 ) ) |