| Step | Hyp | Ref | Expression | 
						
							| 1 |  | pm2mpval.p |  |-  P = ( Poly1 ` R ) | 
						
							| 2 |  | pm2mpval.c |  |-  C = ( N Mat P ) | 
						
							| 3 |  | pm2mpval.b |  |-  B = ( Base ` C ) | 
						
							| 4 |  | pm2mpval.m |  |-  .* = ( .s ` Q ) | 
						
							| 5 |  | pm2mpval.e |  |-  .^ = ( .g ` ( mulGrp ` Q ) ) | 
						
							| 6 |  | pm2mpval.x |  |-  X = ( var1 ` A ) | 
						
							| 7 |  | pm2mpval.a |  |-  A = ( N Mat R ) | 
						
							| 8 |  | pm2mpval.q |  |-  Q = ( Poly1 ` A ) | 
						
							| 9 |  | pm2mpval.t |  |-  T = ( N pMatToMatPoly R ) | 
						
							| 10 |  | df-pm2mp |  |-  pMatToMatPoly = ( n e. Fin , r e. _V |-> ( m e. ( Base ` ( n Mat ( Poly1 ` r ) ) ) |-> [_ ( n Mat r ) / a ]_ [_ ( Poly1 ` a ) / q ]_ ( q gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) ) ) ) ) | 
						
							| 11 | 10 | a1i |  |-  ( ( N e. Fin /\ R e. V ) -> pMatToMatPoly = ( n e. Fin , r e. _V |-> ( m e. ( Base ` ( n Mat ( Poly1 ` r ) ) ) |-> [_ ( n Mat r ) / a ]_ [_ ( Poly1 ` a ) / q ]_ ( q gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) ) ) ) ) ) | 
						
							| 12 |  | simpl |  |-  ( ( n = N /\ r = R ) -> n = N ) | 
						
							| 13 |  | fveq2 |  |-  ( r = R -> ( Poly1 ` r ) = ( Poly1 ` R ) ) | 
						
							| 14 | 13 | adantl |  |-  ( ( n = N /\ r = R ) -> ( Poly1 ` r ) = ( Poly1 ` R ) ) | 
						
							| 15 | 12 14 | oveq12d |  |-  ( ( n = N /\ r = R ) -> ( n Mat ( Poly1 ` r ) ) = ( N Mat ( Poly1 ` R ) ) ) | 
						
							| 16 | 15 | fveq2d |  |-  ( ( n = N /\ r = R ) -> ( Base ` ( n Mat ( Poly1 ` r ) ) ) = ( Base ` ( N Mat ( Poly1 ` R ) ) ) ) | 
						
							| 17 | 1 | oveq2i |  |-  ( N Mat P ) = ( N Mat ( Poly1 ` R ) ) | 
						
							| 18 | 2 17 | eqtri |  |-  C = ( N Mat ( Poly1 ` R ) ) | 
						
							| 19 | 18 | fveq2i |  |-  ( Base ` C ) = ( Base ` ( N Mat ( Poly1 ` R ) ) ) | 
						
							| 20 | 3 19 | eqtri |  |-  B = ( Base ` ( N Mat ( Poly1 ` R ) ) ) | 
						
							| 21 | 16 20 | eqtr4di |  |-  ( ( n = N /\ r = R ) -> ( Base ` ( n Mat ( Poly1 ` r ) ) ) = B ) | 
						
							| 22 | 21 | adantl |  |-  ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> ( Base ` ( n Mat ( Poly1 ` r ) ) ) = B ) | 
						
							| 23 |  | ovex |  |-  ( n Mat r ) e. _V | 
						
							| 24 |  | fvexd |  |-  ( a = ( n Mat r ) -> ( Poly1 ` a ) e. _V ) | 
						
							| 25 |  | simpr |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> q = ( Poly1 ` a ) ) | 
						
							| 26 |  | fveq2 |  |-  ( a = ( n Mat r ) -> ( Poly1 ` a ) = ( Poly1 ` ( n Mat r ) ) ) | 
						
							| 27 | 26 | adantr |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( Poly1 ` a ) = ( Poly1 ` ( n Mat r ) ) ) | 
						
							| 28 | 25 27 | eqtrd |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> q = ( Poly1 ` ( n Mat r ) ) ) | 
						
							| 29 | 28 | fveq2d |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( .s ` q ) = ( .s ` ( Poly1 ` ( n Mat r ) ) ) ) | 
						
							| 30 |  | eqidd |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( m decompPMat k ) = ( m decompPMat k ) ) | 
						
							| 31 | 28 | fveq2d |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( mulGrp ` q ) = ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) | 
						
							| 32 | 31 | fveq2d |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( .g ` ( mulGrp ` q ) ) = ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ) | 
						
							| 33 |  | eqidd |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> k = k ) | 
						
							| 34 |  | fveq2 |  |-  ( a = ( n Mat r ) -> ( var1 ` a ) = ( var1 ` ( n Mat r ) ) ) | 
						
							| 35 | 34 | adantr |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( var1 ` a ) = ( var1 ` ( n Mat r ) ) ) | 
						
							| 36 | 32 33 35 | oveq123d |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) = ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) | 
						
							| 37 | 29 30 36 | oveq123d |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) = ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) ) | 
						
							| 38 | 37 | mpteq2dv |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) ) = ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) ) ) | 
						
							| 39 | 28 38 | oveq12d |  |-  ( ( a = ( n Mat r ) /\ q = ( Poly1 ` a ) ) -> ( q gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) ) ) = ( ( Poly1 ` ( n Mat r ) ) gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) ) ) ) | 
						
							| 40 | 24 39 | csbied |  |-  ( a = ( n Mat r ) -> [_ ( Poly1 ` a ) / q ]_ ( q gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) ) ) = ( ( Poly1 ` ( n Mat r ) ) gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) ) ) ) | 
						
							| 41 | 23 40 | csbie |  |-  [_ ( n Mat r ) / a ]_ [_ ( Poly1 ` a ) / q ]_ ( q gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) ) ) = ( ( Poly1 ` ( n Mat r ) ) gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) ) ) | 
						
							| 42 |  | oveq12 |  |-  ( ( n = N /\ r = R ) -> ( n Mat r ) = ( N Mat R ) ) | 
						
							| 43 | 42 | fveq2d |  |-  ( ( n = N /\ r = R ) -> ( Poly1 ` ( n Mat r ) ) = ( Poly1 ` ( N Mat R ) ) ) | 
						
							| 44 | 7 | fveq2i |  |-  ( Poly1 ` A ) = ( Poly1 ` ( N Mat R ) ) | 
						
							| 45 | 8 44 | eqtri |  |-  Q = ( Poly1 ` ( N Mat R ) ) | 
						
							| 46 | 43 45 | eqtr4di |  |-  ( ( n = N /\ r = R ) -> ( Poly1 ` ( n Mat r ) ) = Q ) | 
						
							| 47 | 43 | fveq2d |  |-  ( ( n = N /\ r = R ) -> ( .s ` ( Poly1 ` ( n Mat r ) ) ) = ( .s ` ( Poly1 ` ( N Mat R ) ) ) ) | 
						
							| 48 | 45 | fveq2i |  |-  ( .s ` Q ) = ( .s ` ( Poly1 ` ( N Mat R ) ) ) | 
						
							| 49 | 4 48 | eqtri |  |-  .* = ( .s ` ( Poly1 ` ( N Mat R ) ) ) | 
						
							| 50 | 47 49 | eqtr4di |  |-  ( ( n = N /\ r = R ) -> ( .s ` ( Poly1 ` ( n Mat r ) ) ) = .* ) | 
						
							| 51 |  | eqidd |  |-  ( ( n = N /\ r = R ) -> ( m decompPMat k ) = ( m decompPMat k ) ) | 
						
							| 52 | 43 | fveq2d |  |-  ( ( n = N /\ r = R ) -> ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) = ( mulGrp ` ( Poly1 ` ( N Mat R ) ) ) ) | 
						
							| 53 | 52 | fveq2d |  |-  ( ( n = N /\ r = R ) -> ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) = ( .g ` ( mulGrp ` ( Poly1 ` ( N Mat R ) ) ) ) ) | 
						
							| 54 | 45 | fveq2i |  |-  ( mulGrp ` Q ) = ( mulGrp ` ( Poly1 ` ( N Mat R ) ) ) | 
						
							| 55 | 54 | fveq2i |  |-  ( .g ` ( mulGrp ` Q ) ) = ( .g ` ( mulGrp ` ( Poly1 ` ( N Mat R ) ) ) ) | 
						
							| 56 | 5 55 | eqtri |  |-  .^ = ( .g ` ( mulGrp ` ( Poly1 ` ( N Mat R ) ) ) ) | 
						
							| 57 | 53 56 | eqtr4di |  |-  ( ( n = N /\ r = R ) -> ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) = .^ ) | 
						
							| 58 |  | eqidd |  |-  ( ( n = N /\ r = R ) -> k = k ) | 
						
							| 59 | 42 | fveq2d |  |-  ( ( n = N /\ r = R ) -> ( var1 ` ( n Mat r ) ) = ( var1 ` ( N Mat R ) ) ) | 
						
							| 60 | 7 | fveq2i |  |-  ( var1 ` A ) = ( var1 ` ( N Mat R ) ) | 
						
							| 61 | 6 60 | eqtri |  |-  X = ( var1 ` ( N Mat R ) ) | 
						
							| 62 | 59 61 | eqtr4di |  |-  ( ( n = N /\ r = R ) -> ( var1 ` ( n Mat r ) ) = X ) | 
						
							| 63 | 57 58 62 | oveq123d |  |-  ( ( n = N /\ r = R ) -> ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) = ( k .^ X ) ) | 
						
							| 64 | 50 51 63 | oveq123d |  |-  ( ( n = N /\ r = R ) -> ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) = ( ( m decompPMat k ) .* ( k .^ X ) ) ) | 
						
							| 65 | 64 | mpteq2dv |  |-  ( ( n = N /\ r = R ) -> ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) ) = ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) | 
						
							| 66 | 46 65 | oveq12d |  |-  ( ( n = N /\ r = R ) -> ( ( Poly1 ` ( n Mat r ) ) gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) ) ) = ( Q gsum ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) ) | 
						
							| 67 | 66 | adantl |  |-  ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> ( ( Poly1 ` ( n Mat r ) ) gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` ( Poly1 ` ( n Mat r ) ) ) ( k ( .g ` ( mulGrp ` ( Poly1 ` ( n Mat r ) ) ) ) ( var1 ` ( n Mat r ) ) ) ) ) ) = ( Q gsum ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) ) | 
						
							| 68 | 41 67 | eqtrid |  |-  ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> [_ ( n Mat r ) / a ]_ [_ ( Poly1 ` a ) / q ]_ ( q gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) ) ) = ( Q gsum ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) ) | 
						
							| 69 | 22 68 | mpteq12dv |  |-  ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> ( m e. ( Base ` ( n Mat ( Poly1 ` r ) ) ) |-> [_ ( n Mat r ) / a ]_ [_ ( Poly1 ` a ) / q ]_ ( q gsum ( k e. NN0 |-> ( ( m decompPMat k ) ( .s ` q ) ( k ( .g ` ( mulGrp ` q ) ) ( var1 ` a ) ) ) ) ) ) = ( m e. B |-> ( Q gsum ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) ) ) | 
						
							| 70 |  | simpl |  |-  ( ( N e. Fin /\ R e. V ) -> N e. Fin ) | 
						
							| 71 |  | elex |  |-  ( R e. V -> R e. _V ) | 
						
							| 72 | 71 | adantl |  |-  ( ( N e. Fin /\ R e. V ) -> R e. _V ) | 
						
							| 73 | 3 | fvexi |  |-  B e. _V | 
						
							| 74 | 73 | mptex |  |-  ( m e. B |-> ( Q gsum ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) ) e. _V | 
						
							| 75 | 74 | a1i |  |-  ( ( N e. Fin /\ R e. V ) -> ( m e. B |-> ( Q gsum ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) ) e. _V ) | 
						
							| 76 | 11 69 70 72 75 | ovmpod |  |-  ( ( N e. Fin /\ R e. V ) -> ( N pMatToMatPoly R ) = ( m e. B |-> ( Q gsum ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) ) ) | 
						
							| 77 | 9 76 | eqtrid |  |-  ( ( N e. Fin /\ R e. V ) -> T = ( m e. B |-> ( Q gsum ( k e. NN0 |-> ( ( m decompPMat k ) .* ( k .^ X ) ) ) ) ) ) |