| Step | Hyp | Ref | Expression | 
						
							| 1 |  | cayleyhamilton.a |  |-  A = ( N Mat R ) | 
						
							| 2 |  | cayleyhamilton.b |  |-  B = ( Base ` A ) | 
						
							| 3 |  | cayleyhamilton.0 |  |-  .0. = ( 0g ` A ) | 
						
							| 4 |  | cayleyhamilton.c |  |-  C = ( N CharPlyMat R ) | 
						
							| 5 |  | cayleyhamilton.k |  |-  K = ( coe1 ` ( C ` M ) ) | 
						
							| 6 |  | cayleyhamilton.m |  |-  .* = ( .s ` A ) | 
						
							| 7 |  | cayleyhamilton.e |  |-  .^ = ( .g ` ( mulGrp ` A ) ) | 
						
							| 8 |  | eqid |  |-  ( Poly1 ` R ) = ( Poly1 ` R ) | 
						
							| 9 |  | eqid |  |-  ( N Mat ( Poly1 ` R ) ) = ( N Mat ( Poly1 ` R ) ) | 
						
							| 10 |  | eqid |  |-  ( .r ` ( N Mat ( Poly1 ` R ) ) ) = ( .r ` ( N Mat ( Poly1 ` R ) ) ) | 
						
							| 11 |  | eqid |  |-  ( -g ` ( N Mat ( Poly1 ` R ) ) ) = ( -g ` ( N Mat ( Poly1 ` R ) ) ) | 
						
							| 12 |  | eqid |  |-  ( 0g ` ( N Mat ( Poly1 ` R ) ) ) = ( 0g ` ( N Mat ( Poly1 ` R ) ) ) | 
						
							| 13 |  | eqid |  |-  ( N matToPolyMat R ) = ( N matToPolyMat R ) | 
						
							| 14 |  | eqid |  |-  ( C ` M ) = ( C ` M ) | 
						
							| 15 |  | eqeq1 |  |-  ( l = n -> ( l = 0 <-> n = 0 ) ) | 
						
							| 16 |  | eqeq1 |  |-  ( l = n -> ( l = ( s + 1 ) <-> n = ( s + 1 ) ) ) | 
						
							| 17 |  | breq2 |  |-  ( l = n -> ( ( s + 1 ) < l <-> ( s + 1 ) < n ) ) | 
						
							| 18 |  | oveq1 |  |-  ( l = n -> ( l - 1 ) = ( n - 1 ) ) | 
						
							| 19 | 18 | fveq2d |  |-  ( l = n -> ( b ` ( l - 1 ) ) = ( b ` ( n - 1 ) ) ) | 
						
							| 20 | 19 | fveq2d |  |-  ( l = n -> ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) = ( ( N matToPolyMat R ) ` ( b ` ( n - 1 ) ) ) ) | 
						
							| 21 |  | fveq2 |  |-  ( l = n -> ( b ` l ) = ( b ` n ) ) | 
						
							| 22 | 21 | fveq2d |  |-  ( l = n -> ( ( N matToPolyMat R ) ` ( b ` l ) ) = ( ( N matToPolyMat R ) ` ( b ` n ) ) ) | 
						
							| 23 | 22 | oveq2d |  |-  ( l = n -> ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) = ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` n ) ) ) ) | 
						
							| 24 | 20 23 | oveq12d |  |-  ( l = n -> ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) = ( ( ( N matToPolyMat R ) ` ( b ` ( n - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` n ) ) ) ) ) | 
						
							| 25 | 17 24 | ifbieq2d |  |-  ( l = n -> if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) = if ( ( s + 1 ) < n , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( n - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` n ) ) ) ) ) ) | 
						
							| 26 | 16 25 | ifbieq2d |  |-  ( l = n -> if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) = if ( n = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < n , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( n - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` n ) ) ) ) ) ) ) | 
						
							| 27 | 15 26 | ifbieq2d |  |-  ( l = n -> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) = if ( n = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( n = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < n , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( n - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` n ) ) ) ) ) ) ) ) | 
						
							| 28 | 27 | cbvmptv |  |-  ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) = ( n e. NN0 |-> if ( n = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( n = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < n , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( n - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` n ) ) ) ) ) ) ) ) | 
						
							| 29 |  | eqid |  |-  ( Base ` ( N Mat ( Poly1 ` R ) ) ) = ( Base ` ( N Mat ( Poly1 ` R ) ) ) | 
						
							| 30 |  | eqid |  |-  ( 1r ` A ) = ( 1r ` A ) | 
						
							| 31 |  | eqid |  |-  ( N cPolyMatToMat R ) = ( N cPolyMatToMat R ) | 
						
							| 32 |  | eqid |  |-  ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) = ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) | 
						
							| 33 | 1 2 8 9 10 11 12 13 4 14 28 29 30 6 31 7 32 | cayhamlem4 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> E. s e. NN E. b e. ( B ^m ( 0 ... s ) ) ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( N cPolyMatToMat R ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) | 
						
							| 34 |  | eqid |  |-  ( N ConstPolyMat R ) = ( N ConstPolyMat R ) | 
						
							| 35 | 31 34 | cpm2mfval |  |-  ( ( N e. Fin /\ R e. CRing ) -> ( N cPolyMatToMat R ) = ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ) | 
						
							| 36 | 35 | eqcomd |  |-  ( ( N e. Fin /\ R e. CRing ) -> ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) = ( N cPolyMatToMat R ) ) | 
						
							| 37 | 36 | 3adant3 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) = ( N cPolyMatToMat R ) ) | 
						
							| 38 | 37 | fveq1d |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) = ( ( N cPolyMatToMat R ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) | 
						
							| 39 | 38 | eqeq2d |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) <-> ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( N cPolyMatToMat R ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) ) | 
						
							| 40 | 39 | 2rexbidv |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( E. s e. NN E. b e. ( B ^m ( 0 ... s ) ) ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) <-> E. s e. NN E. b e. ( B ^m ( 0 ... s ) ) ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( N cPolyMatToMat R ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) ) | 
						
							| 41 | 33 40 | mpbird |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> E. s e. NN E. b e. ( B ^m ( 0 ... s ) ) ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) | 
						
							| 42 | 5 | eqcomi |  |-  ( coe1 ` ( C ` M ) ) = K | 
						
							| 43 | 42 | a1i |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ n e. NN0 ) -> ( coe1 ` ( C ` M ) ) = K ) | 
						
							| 44 | 43 | fveq1d |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ n e. NN0 ) -> ( ( coe1 ` ( C ` M ) ) ` n ) = ( K ` n ) ) | 
						
							| 45 | 44 | oveq1d |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ n e. NN0 ) -> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) = ( ( K ` n ) .* ( n .^ M ) ) ) | 
						
							| 46 | 45 | mpteq2dva |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) = ( n e. NN0 |-> ( ( K ` n ) .* ( n .^ M ) ) ) ) | 
						
							| 47 | 46 | oveq2d |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( A gsum ( n e. NN0 |-> ( ( K ` n ) .* ( n .^ M ) ) ) ) ) | 
						
							| 48 | 47 | eqeq1d |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) <-> ( A gsum ( n e. NN0 |-> ( ( K ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) ) | 
						
							| 49 | 48 | biimpa |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) -> ( A gsum ( n e. NN0 |-> ( ( K ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) | 
						
							| 50 |  | oveq1 |  |-  ( n = j -> ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) = ( j ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ) | 
						
							| 51 |  | fveq2 |  |-  ( n = j -> ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) = ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` j ) ) | 
						
							| 52 | 50 51 | oveq12d |  |-  ( n = j -> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) = ( ( j ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` j ) ) ) | 
						
							| 53 | 52 | cbvmptv |  |-  ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) = ( j e. NN0 |-> ( ( j ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` j ) ) ) | 
						
							| 54 | 53 | oveq2i |  |-  ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) = ( ( N Mat ( Poly1 ` R ) ) gsum ( j e. NN0 |-> ( ( j ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` j ) ) ) ) | 
						
							| 55 | 54 | a1i |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) = ( ( N Mat ( Poly1 ` R ) ) gsum ( j e. NN0 |-> ( ( j ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` j ) ) ) ) ) | 
						
							| 56 | 1 2 8 9 10 11 12 13 28 32 | cayhamlem1 |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( ( N Mat ( Poly1 ` R ) ) gsum ( j e. NN0 |-> ( ( j ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` j ) ) ) ) = ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) | 
						
							| 57 | 55 56 | eqtrd |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) = ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) | 
						
							| 58 |  | fveq2 |  |-  ( ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) = ( 0g ` ( N Mat ( Poly1 ` R ) ) ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) ) | 
						
							| 59 |  | crngring |  |-  ( R e. CRing -> R e. Ring ) | 
						
							| 60 | 59 | anim2i |  |-  ( ( N e. Fin /\ R e. CRing ) -> ( N e. Fin /\ R e. Ring ) ) | 
						
							| 61 | 60 | 3adant3 |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( N e. Fin /\ R e. Ring ) ) | 
						
							| 62 | 31 34 | cpm2mfval |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( N cPolyMatToMat R ) = ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ) | 
						
							| 63 | 62 | eqcomd |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) = ( N cPolyMatToMat R ) ) | 
						
							| 64 | 63 | fveq1d |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) = ( ( N cPolyMatToMat R ) ` ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) ) | 
						
							| 65 |  | eqid |  |-  ( 0g ` A ) = ( 0g ` A ) | 
						
							| 66 | 1 31 8 9 65 12 | m2cpminv0 |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( ( N cPolyMatToMat R ) ` ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) = ( 0g ` A ) ) | 
						
							| 67 | 64 66 | eqtrd |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) = ( 0g ` A ) ) | 
						
							| 68 | 61 67 | syl |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) = ( 0g ` A ) ) | 
						
							| 69 | 68 3 | eqtr4di |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) = .0. ) | 
						
							| 70 | 69 | adantr |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) = .0. ) | 
						
							| 71 | 58 70 | sylan9eqr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) = ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) = .0. ) | 
						
							| 72 | 57 71 | mpdan |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) = .0. ) | 
						
							| 73 | 72 | adantr |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) -> ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) = .0. ) | 
						
							| 74 | 49 73 | eqtrd |  |-  ( ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) /\ ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) ) -> ( A gsum ( n e. NN0 |-> ( ( K ` n ) .* ( n .^ M ) ) ) ) = .0. ) | 
						
							| 75 | 74 | ex |  |-  ( ( ( N e. Fin /\ R e. CRing /\ M e. B ) /\ ( s e. NN /\ b e. ( B ^m ( 0 ... s ) ) ) ) -> ( ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) -> ( A gsum ( n e. NN0 |-> ( ( K ` n ) .* ( n .^ M ) ) ) ) = .0. ) ) | 
						
							| 76 | 75 | rexlimdvva |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( E. s e. NN E. b e. ( B ^m ( 0 ... s ) ) ( A gsum ( n e. NN0 |-> ( ( ( coe1 ` ( C ` M ) ) ` n ) .* ( n .^ M ) ) ) ) = ( ( m e. ( N ConstPolyMat R ) |-> ( x e. N , y e. N |-> ( ( coe1 ` ( x m y ) ) ` 0 ) ) ) ` ( ( N Mat ( Poly1 ` R ) ) gsum ( n e. NN0 |-> ( ( n ( .g ` ( mulGrp ` ( N Mat ( Poly1 ` R ) ) ) ) ( ( N matToPolyMat R ) ` M ) ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( l e. NN0 |-> if ( l = 0 , ( ( 0g ` ( N Mat ( Poly1 ` R ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` 0 ) ) ) ) , if ( l = ( s + 1 ) , ( ( N matToPolyMat R ) ` ( b ` s ) ) , if ( ( s + 1 ) < l , ( 0g ` ( N Mat ( Poly1 ` R ) ) ) , ( ( ( N matToPolyMat R ) ` ( b ` ( l - 1 ) ) ) ( -g ` ( N Mat ( Poly1 ` R ) ) ) ( ( ( N matToPolyMat R ) ` M ) ( .r ` ( N Mat ( Poly1 ` R ) ) ) ( ( N matToPolyMat R ) ` ( b ` l ) ) ) ) ) ) ) ) ` n ) ) ) ) ) -> ( A gsum ( n e. NN0 |-> ( ( K ` n ) .* ( n .^ M ) ) ) ) = .0. ) ) | 
						
							| 77 | 41 76 | mpd |  |-  ( ( N e. Fin /\ R e. CRing /\ M e. B ) -> ( A gsum ( n e. NN0 |-> ( ( K ` n ) .* ( n .^ M ) ) ) ) = .0. ) |