| 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 ) ) ) ) ) ) |