| 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 |  | fvexd |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( 0g ` A ) e. _V ) | 
						
							| 18 |  | ovexd |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ k e. NN0 ) -> ( ( ( coe1 ` K ) ` k ) .* O ) e. _V ) | 
						
							| 19 |  | fveq2 |  |-  ( k = l -> ( ( coe1 ` K ) ` k ) = ( ( coe1 ` K ) ` l ) ) | 
						
							| 20 | 19 | oveq1d |  |-  ( k = l -> ( ( ( coe1 ` K ) ` k ) .* O ) = ( ( ( coe1 ` K ) ` l ) .* O ) ) | 
						
							| 21 |  | fvexd |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( 0g ` R ) e. _V ) | 
						
							| 22 |  | eqid |  |-  ( Base ` P ) = ( Base ` P ) | 
						
							| 23 | 10 1 2 3 22 | chpmatply1 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( C ` M ) e. ( Base ` P ) ) | 
						
							| 24 | 11 23 | eqeltrid |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> K e. ( Base ` P ) ) | 
						
							| 25 |  | eqid |  |-  ( coe1 ` K ) = ( coe1 ` K ) | 
						
							| 26 |  | eqid |  |-  ( Base ` R ) = ( Base ` R ) | 
						
							| 27 | 25 22 3 26 | coe1fvalcl |  |-  ( ( K e. ( Base ` P ) /\ n e. NN0 ) -> ( ( coe1 ` K ) ` n ) e. ( Base ` R ) ) | 
						
							| 28 | 24 27 | sylan |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> ( ( coe1 ` K ) ` n ) e. ( Base ` R ) ) | 
						
							| 29 |  | crngring |  |-  ( R e. CRing -> R e. Ring ) | 
						
							| 30 | 29 | 3ad2ant2 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> R e. Ring ) | 
						
							| 31 |  | eqid |  |-  ( 0g ` R ) = ( 0g ` R ) | 
						
							| 32 | 3 22 31 | mptcoe1fsupp |  |-  ( ( R e. Ring /\ K e. ( Base ` P ) ) -> ( n e. NN0 |-> ( ( coe1 ` K ) ` n ) ) finSupp ( 0g ` R ) ) | 
						
							| 33 | 30 24 32 | syl2anc |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( n e. NN0 |-> ( ( coe1 ` K ) ` n ) ) finSupp ( 0g ` R ) ) | 
						
							| 34 | 21 28 33 | mptnn0fsuppr |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> E. s e. NN0 A. l e. NN0 ( s < l -> [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) ) | 
						
							| 35 |  | csbfv |  |-  [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( ( coe1 ` K ) ` l ) | 
						
							| 36 | 35 | a1i |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) -> [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( ( coe1 ` K ) ` l ) ) | 
						
							| 37 | 36 | eqeq1d |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) -> ( [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) <-> ( ( coe1 ` K ) ` l ) = ( 0g ` R ) ) ) | 
						
							| 38 | 37 | biimpa |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) /\ [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> ( ( coe1 ` K ) ` l ) = ( 0g ` R ) ) | 
						
							| 39 | 1 | matsca2 |  |-  ( ( N e. Fin /\ R e. CRing ) -> R = ( Scalar ` A ) ) | 
						
							| 40 | 39 | 3adant3 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> R = ( Scalar ` A ) ) | 
						
							| 41 | 40 | ad2antrr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) /\ [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> R = ( Scalar ` A ) ) | 
						
							| 42 | 41 | fveq2d |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) /\ [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> ( 0g ` R ) = ( 0g ` ( Scalar ` A ) ) ) | 
						
							| 43 | 38 42 | eqtrd |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) /\ [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> ( ( coe1 ` K ) ` l ) = ( 0g ` ( Scalar ` A ) ) ) | 
						
							| 44 | 43 | oveq1d |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) /\ [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> ( ( ( coe1 ` K ) ` l ) .* O ) = ( ( 0g ` ( Scalar ` A ) ) .* O ) ) | 
						
							| 45 | 1 | matlmod |  |-  ( ( N e. Fin /\ R e. Ring ) -> A e. LMod ) | 
						
							| 46 | 29 45 | sylan2 |  |-  ( ( N e. Fin /\ R e. CRing ) -> A e. LMod ) | 
						
							| 47 | 46 | 3adant3 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> A e. LMod ) | 
						
							| 48 | 1 | matring |  |-  ( ( N e. Fin /\ R e. Ring ) -> A e. Ring ) | 
						
							| 49 | 29 48 | sylan2 |  |-  ( ( N e. Fin /\ R e. CRing ) -> A e. Ring ) | 
						
							| 50 | 2 13 | ringidcl |  |-  ( A e. Ring -> O e. B ) | 
						
							| 51 | 49 50 | syl |  |-  ( ( N e. Fin /\ R e. CRing ) -> O e. B ) | 
						
							| 52 | 51 | 3adant3 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> O e. B ) | 
						
							| 53 |  | eqid |  |-  ( Scalar ` A ) = ( Scalar ` A ) | 
						
							| 54 |  | eqid |  |-  ( 0g ` ( Scalar ` A ) ) = ( 0g ` ( Scalar ` A ) ) | 
						
							| 55 |  | eqid |  |-  ( 0g ` A ) = ( 0g ` A ) | 
						
							| 56 | 2 53 14 54 55 | lmod0vs |  |-  ( ( A e. LMod /\ O e. B ) -> ( ( 0g ` ( Scalar ` A ) ) .* O ) = ( 0g ` A ) ) | 
						
							| 57 | 47 52 56 | syl2anc |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( ( 0g ` ( Scalar ` A ) ) .* O ) = ( 0g ` A ) ) | 
						
							| 58 | 57 | ad2antrr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) /\ [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> ( ( 0g ` ( Scalar ` A ) ) .* O ) = ( 0g ` A ) ) | 
						
							| 59 | 44 58 | eqtrd |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) /\ [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> ( ( ( coe1 ` K ) ` l ) .* O ) = ( 0g ` A ) ) | 
						
							| 60 | 59 | ex |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) -> ( [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) -> ( ( ( coe1 ` K ) ` l ) .* O ) = ( 0g ` A ) ) ) | 
						
							| 61 | 60 | imim2d |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ l e. NN0 ) -> ( ( s < l -> [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> ( s < l -> ( ( ( coe1 ` K ) ` l ) .* O ) = ( 0g ` A ) ) ) ) | 
						
							| 62 | 61 | ralimdva |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( A. l e. NN0 ( s < l -> [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> A. l e. NN0 ( s < l -> ( ( ( coe1 ` K ) ` l ) .* O ) = ( 0g ` A ) ) ) ) | 
						
							| 63 | 62 | reximdv |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( E. s e. NN0 A. l e. NN0 ( s < l -> [_ l / n ]_ ( ( coe1 ` K ) ` n ) = ( 0g ` R ) ) -> E. s e. NN0 A. l e. NN0 ( s < l -> ( ( ( coe1 ` K ) ` l ) .* O ) = ( 0g ` A ) ) ) ) | 
						
							| 64 | 34 63 | mpd |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> E. s e. NN0 A. l e. NN0 ( s < l -> ( ( ( coe1 ` K ) ` l ) .* O ) = ( 0g ` A ) ) ) | 
						
							| 65 | 17 18 20 64 | mptnn0fsuppd |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( k e. NN0 |-> ( ( ( coe1 ` K ) ` k ) .* O ) ) finSupp ( 0g ` A ) ) | 
						
							| 66 | 16 65 | eqbrtrid |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> G finSupp ( 0g ` A ) ) |