| Step | Hyp | Ref | Expression | 
						
							| 1 |  | pmatcollpw.p |  |-  P = ( Poly1 ` R ) | 
						
							| 2 |  | pmatcollpw.c |  |-  C = ( N Mat P ) | 
						
							| 3 |  | pmatcollpw.b |  |-  B = ( Base ` C ) | 
						
							| 4 |  | pmatcollpw.m |  |-  .* = ( .s ` C ) | 
						
							| 5 |  | pmatcollpw.e |  |-  .^ = ( .g ` ( mulGrp ` P ) ) | 
						
							| 6 |  | pmatcollpw.x |  |-  X = ( var1 ` R ) | 
						
							| 7 |  | pmatcollpw.t |  |-  T = ( N matToPolyMat R ) | 
						
							| 8 |  | crngring |  |-  ( R e. CRing -> R e. Ring ) | 
						
							| 9 | 8 | 3ad2ant2 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> R e. Ring ) | 
						
							| 10 |  | simp3 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> M e. B ) | 
						
							| 11 |  | eqid |  |-  ( N Mat R ) = ( N Mat R ) | 
						
							| 12 |  | eqid |  |-  ( 0g ` ( N Mat R ) ) = ( 0g ` ( N Mat R ) ) | 
						
							| 13 | 1 2 3 11 12 | decpmataa0 |  |-  ( ( R e. Ring /\ M e. B ) -> E. s e. NN0 A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) | 
						
							| 14 | 9 10 13 | syl2anc |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> E. s e. NN0 A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) | 
						
							| 15 | 1 2 3 4 5 6 7 | pmatcollpw |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> M = ( C gsum ( n e. NN0 |-> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) ) ) ) | 
						
							| 16 | 15 | ad2antrr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) -> M = ( C gsum ( n e. NN0 |-> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) ) ) ) | 
						
							| 17 |  | eqid |  |-  ( 0g ` C ) = ( 0g ` C ) | 
						
							| 18 |  | simp1 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> N e. Fin ) | 
						
							| 19 | 1 2 | pmatring |  |-  ( ( N e. Fin /\ R e. Ring ) -> C e. Ring ) | 
						
							| 20 | 18 9 19 | syl2anc |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> C e. Ring ) | 
						
							| 21 |  | ringcmn |  |-  ( C e. Ring -> C e. CMnd ) | 
						
							| 22 | 20 21 | syl |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> C e. CMnd ) | 
						
							| 23 | 22 | ad2antrr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) -> C e. CMnd ) | 
						
							| 24 | 18 | adantr |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> N e. Fin ) | 
						
							| 25 | 9 | adantr |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> R e. Ring ) | 
						
							| 26 | 1 | ply1ring |  |-  ( R e. Ring -> P e. Ring ) | 
						
							| 27 | 25 26 | syl |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> P e. Ring ) | 
						
							| 28 | 9 | anim1i |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> ( R e. Ring /\ n e. NN0 ) ) | 
						
							| 29 |  | eqid |  |-  ( mulGrp ` P ) = ( mulGrp ` P ) | 
						
							| 30 |  | eqid |  |-  ( Base ` P ) = ( Base ` P ) | 
						
							| 31 | 1 6 29 5 30 | ply1moncl |  |-  ( ( R e. Ring /\ n e. NN0 ) -> ( n .^ X ) e. ( Base ` P ) ) | 
						
							| 32 | 28 31 | syl |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> ( n .^ X ) e. ( Base ` P ) ) | 
						
							| 33 |  | simpl2 |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> R e. CRing ) | 
						
							| 34 | 10 | adantr |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> M e. B ) | 
						
							| 35 |  | simpr |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> n e. NN0 ) | 
						
							| 36 |  | eqid |  |-  ( Base ` ( N Mat R ) ) = ( Base ` ( N Mat R ) ) | 
						
							| 37 | 1 2 3 11 36 | decpmatcl |  |-  ( ( R e. CRing /\ M e. B /\ n e. NN0 ) -> ( M decompPMat n ) e. ( Base ` ( N Mat R ) ) ) | 
						
							| 38 | 33 34 35 37 | syl3anc |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> ( M decompPMat n ) e. ( Base ` ( N Mat R ) ) ) | 
						
							| 39 | 7 11 36 1 2 3 | mat2pmatbas0 |  |-  ( ( N e. Fin /\ R e. Ring /\ ( M decompPMat n ) e. ( Base ` ( N Mat R ) ) ) -> ( T ` ( M decompPMat n ) ) e. B ) | 
						
							| 40 | 24 25 38 39 | syl3anc |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> ( T ` ( M decompPMat n ) ) e. B ) | 
						
							| 41 | 30 2 3 4 | matvscl |  |-  ( ( ( N e. Fin /\ P e. Ring ) /\ ( ( n .^ X ) e. ( Base ` P ) /\ ( T ` ( M decompPMat n ) ) e. B ) ) -> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) e. B ) | 
						
							| 42 | 24 27 32 40 41 | syl22anc |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ n e. NN0 ) -> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) e. B ) | 
						
							| 43 | 42 | ralrimiva |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> A. n e. NN0 ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) e. B ) | 
						
							| 44 | 43 | ad2antrr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) -> A. n e. NN0 ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) e. B ) | 
						
							| 45 |  | simplr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) -> s e. NN0 ) | 
						
							| 46 |  | fveq2 |  |-  ( ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) -> ( T ` ( M decompPMat n ) ) = ( T ` ( 0g ` ( N Mat R ) ) ) ) | 
						
							| 47 | 9 18 | jca |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( R e. Ring /\ N e. Fin ) ) | 
						
							| 48 | 47 | ad2antrr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( R e. Ring /\ N e. Fin ) ) | 
						
							| 49 |  | eqid |  |-  ( 0g ` ( N Mat P ) ) = ( 0g ` ( N Mat P ) ) | 
						
							| 50 | 7 1 12 49 | 0mat2pmat |  |-  ( ( R e. Ring /\ N e. Fin ) -> ( T ` ( 0g ` ( N Mat R ) ) ) = ( 0g ` ( N Mat P ) ) ) | 
						
							| 51 | 48 50 | syl |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( T ` ( 0g ` ( N Mat R ) ) ) = ( 0g ` ( N Mat P ) ) ) | 
						
							| 52 | 46 51 | sylan9eqr |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) /\ ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) -> ( T ` ( M decompPMat n ) ) = ( 0g ` ( N Mat P ) ) ) | 
						
							| 53 | 52 | oveq2d |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) /\ ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) -> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) = ( ( n .^ X ) .* ( 0g ` ( N Mat P ) ) ) ) | 
						
							| 54 | 1 2 | pmatlmod |  |-  ( ( N e. Fin /\ R e. Ring ) -> C e. LMod ) | 
						
							| 55 | 18 9 54 | syl2anc |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> C e. LMod ) | 
						
							| 56 | 55 | ad2antrr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> C e. LMod ) | 
						
							| 57 | 28 | adantlr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( R e. Ring /\ n e. NN0 ) ) | 
						
							| 58 | 57 31 | syl |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( n .^ X ) e. ( Base ` P ) ) | 
						
							| 59 | 1 | ply1crng |  |-  ( R e. CRing -> P e. CRing ) | 
						
							| 60 | 59 | anim2i |  |-  ( ( N e. Fin /\ R e. CRing ) -> ( N e. Fin /\ P e. CRing ) ) | 
						
							| 61 | 60 | 3adant3 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( N e. Fin /\ P e. CRing ) ) | 
						
							| 62 | 2 | matsca2 |  |-  ( ( N e. Fin /\ P e. CRing ) -> P = ( Scalar ` C ) ) | 
						
							| 63 | 61 62 | syl |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> P = ( Scalar ` C ) ) | 
						
							| 64 | 63 | eqcomd |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( Scalar ` C ) = P ) | 
						
							| 65 | 64 | ad2antrr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( Scalar ` C ) = P ) | 
						
							| 66 | 65 | fveq2d |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( Base ` ( Scalar ` C ) ) = ( Base ` P ) ) | 
						
							| 67 | 58 66 | eleqtrrd |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( n .^ X ) e. ( Base ` ( Scalar ` C ) ) ) | 
						
							| 68 | 2 | eqcomi |  |-  ( N Mat P ) = C | 
						
							| 69 | 68 | fveq2i |  |-  ( 0g ` ( N Mat P ) ) = ( 0g ` C ) | 
						
							| 70 | 69 | oveq2i |  |-  ( ( n .^ X ) .* ( 0g ` ( N Mat P ) ) ) = ( ( n .^ X ) .* ( 0g ` C ) ) | 
						
							| 71 |  | eqid |  |-  ( Scalar ` C ) = ( Scalar ` C ) | 
						
							| 72 |  | eqid |  |-  ( Base ` ( Scalar ` C ) ) = ( Base ` ( Scalar ` C ) ) | 
						
							| 73 | 71 4 72 17 | lmodvs0 |  |-  ( ( C e. LMod /\ ( n .^ X ) e. ( Base ` ( Scalar ` C ) ) ) -> ( ( n .^ X ) .* ( 0g ` C ) ) = ( 0g ` C ) ) | 
						
							| 74 | 70 73 | eqtrid |  |-  ( ( C e. LMod /\ ( n .^ X ) e. ( Base ` ( Scalar ` C ) ) ) -> ( ( n .^ X ) .* ( 0g ` ( N Mat P ) ) ) = ( 0g ` C ) ) | 
						
							| 75 | 56 67 74 | syl2anc |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( ( n .^ X ) .* ( 0g ` ( N Mat P ) ) ) = ( 0g ` C ) ) | 
						
							| 76 | 75 | adantr |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) /\ ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) -> ( ( n .^ X ) .* ( 0g ` ( N Mat P ) ) ) = ( 0g ` C ) ) | 
						
							| 77 | 53 76 | eqtrd |  |-  ( ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) /\ ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) -> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) = ( 0g ` C ) ) | 
						
							| 78 | 77 | ex |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) -> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) = ( 0g ` C ) ) ) | 
						
							| 79 | 78 | imim2d |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ n e. NN0 ) -> ( ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) -> ( s < n -> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) = ( 0g ` C ) ) ) ) | 
						
							| 80 | 79 | ralimdva |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) -> ( A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) -> A. n e. NN0 ( s < n -> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) = ( 0g ` C ) ) ) ) | 
						
							| 81 | 80 | imp |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) -> A. n e. NN0 ( s < n -> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) = ( 0g ` C ) ) ) | 
						
							| 82 | 3 17 23 44 45 81 | gsummptnn0fz |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) -> ( C gsum ( n e. NN0 |-> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) ) ) = ( C gsum ( n e. ( 0 ... s ) |-> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) ) ) ) | 
						
							| 83 | 16 82 | eqtrd |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) /\ A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) ) -> M = ( C gsum ( n e. ( 0 ... s ) |-> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) ) ) ) | 
						
							| 84 | 83 | ex |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ s e. NN0 ) -> ( A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) -> M = ( C gsum ( n e. ( 0 ... s ) |-> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) ) ) ) ) | 
						
							| 85 | 84 | reximdva |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( E. s e. NN0 A. n e. NN0 ( s < n -> ( M decompPMat n ) = ( 0g ` ( N Mat R ) ) ) -> E. s e. NN0 M = ( C gsum ( n e. ( 0 ... s ) |-> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) ) ) ) ) | 
						
							| 86 | 14 85 | mpd |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> E. s e. NN0 M = ( C gsum ( n e. ( 0 ... s ) |-> ( ( n .^ X ) .* ( T ` ( M decompPMat n ) ) ) ) ) ) |