MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  pm2mpval Structured version   Visualization version   Unicode version

Theorem pm2mpval 20600
Description: Value of the transformation of a polynomial matrix into a polynomial over matrices. (Contributed by AV, 5-Dec-2019.)
Hypotheses
Ref Expression
pm2mpval.p  |-  P  =  (Poly1 `  R )
pm2mpval.c  |-  C  =  ( N Mat  P )
pm2mpval.b  |-  B  =  ( Base `  C
)
pm2mpval.m  |-  .*  =  ( .s `  Q )
pm2mpval.e  |-  .^  =  (.g
`  (mulGrp `  Q )
)
pm2mpval.x  |-  X  =  (var1 `  A )
pm2mpval.a  |-  A  =  ( N Mat  R )
pm2mpval.q  |-  Q  =  (Poly1 `  A )
pm2mpval.t  |-  T  =  ( N pMatToMatPoly  R )
Assertion
Ref Expression
pm2mpval  |-  ( ( N  e.  Fin  /\  R  e.  V )  ->  T  =  ( m  e.  B  |->  ( Q 
gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) ) )
Distinct variable groups:    B, m    k, N, m    R, k, m    m, V
Allowed substitution hints:    A( k, m)    B( k)    C( k, m)    P( k, m)    Q( k, m)    T( k, m)    .^ ( k, m)    .* ( k, m)    V( k)    X( k, m)

Proof of Theorem pm2mpval
Dummy variables  n  r  a  q are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 pm2mpval.t . 2  |-  T  =  ( N pMatToMatPoly  R )
2 df-pm2mp 20598 . . . 4  |- pMatToMatPoly  =  (
n  e.  Fin , 
r  e.  _V  |->  ( m  e.  ( Base `  ( n Mat  (Poly1 `  r
) ) )  |->  [_ ( n Mat  r )  /  a ]_ [_ (Poly1 `  a )  /  q ]_ ( q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  q
) ( k (.g `  (mulGrp `  q )
) (var1 `  a ) ) ) ) ) ) )
32a1i 11 . . 3  |-  ( ( 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  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s
`  q ) ( k (.g `  (mulGrp `  q
) ) (var1 `  a
) ) ) ) ) ) ) )
4 simpl 473 . . . . . . . 8  |-  ( ( n  =  N  /\  r  =  R )  ->  n  =  N )
5 fveq2 6191 . . . . . . . . 9  |-  ( r  =  R  ->  (Poly1 `  r )  =  (Poly1 `  R ) )
65adantl 482 . . . . . . . 8  |-  ( ( n  =  N  /\  r  =  R )  ->  (Poly1 `  r )  =  (Poly1 `  R ) )
74, 6oveq12d 6668 . . . . . . 7  |-  ( ( n  =  N  /\  r  =  R )  ->  ( n Mat  (Poly1 `  r
) )  =  ( N Mat  (Poly1 `  R ) ) )
87fveq2d 6195 . . . . . 6  |-  ( ( n  =  N  /\  r  =  R )  ->  ( Base `  (
n Mat  (Poly1 `  r ) ) )  =  ( Base `  ( N Mat  (Poly1 `  R
) ) ) )
9 pm2mpval.b . . . . . . 7  |-  B  =  ( Base `  C
)
10 pm2mpval.c . . . . . . . . 9  |-  C  =  ( N Mat  P )
11 pm2mpval.p . . . . . . . . . 10  |-  P  =  (Poly1 `  R )
1211oveq2i 6661 . . . . . . . . 9  |-  ( N Mat 
P )  =  ( N Mat  (Poly1 `  R ) )
1310, 12eqtri 2644 . . . . . . . 8  |-  C  =  ( N Mat  (Poly1 `  R
) )
1413fveq2i 6194 . . . . . . 7  |-  ( Base `  C )  =  (
Base `  ( N Mat  (Poly1 `  R ) ) )
159, 14eqtri 2644 . . . . . 6  |-  B  =  ( Base `  ( N Mat  (Poly1 `  R ) ) )
168, 15syl6eqr 2674 . . . . 5  |-  ( ( n  =  N  /\  r  =  R )  ->  ( Base `  (
n Mat  (Poly1 `  r ) ) )  =  B )
1716adantl 482 . . . 4  |-  ( ( ( N  e.  Fin  /\  R  e.  V )  /\  ( n  =  N  /\  r  =  R ) )  -> 
( Base `  ( n Mat  (Poly1 `  r ) ) )  =  B )
18 ovex 6678 . . . . . 6  |-  ( n Mat  r )  e.  _V
19 fvexd 6203 . . . . . . 7  |-  ( a  =  ( n Mat  r
)  ->  (Poly1 `  a
)  e.  _V )
20 simpr 477 . . . . . . . . 9  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  q  =  (Poly1 `  a ) )
21 fveq2 6191 . . . . . . . . . 10  |-  ( a  =  ( n Mat  r
)  ->  (Poly1 `  a
)  =  (Poly1 `  (
n Mat  r ) ) )
2221adantr 481 . . . . . . . . 9  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  (Poly1 `  a )  =  (Poly1 `  ( n Mat  r
) ) )
2320, 22eqtrd 2656 . . . . . . . 8  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  q  =  (Poly1 `  ( n Mat  r ) ) )
2423fveq2d 6195 . . . . . . . . . 10  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  ( .s `  q )  =  ( .s `  (Poly1 `  (
n Mat  r ) ) ) )
25 eqidd 2623 . . . . . . . . . 10  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  ( m decompPMat  k )  =  ( m decompPMat  k ) )
2623fveq2d 6195 . . . . . . . . . . . 12  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  (mulGrp `  q )  =  (mulGrp `  (Poly1 `  (
n Mat  r ) ) ) )
2726fveq2d 6195 . . . . . . . . . . 11  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  (.g `  (mulGrp `  q
) )  =  (.g `  (mulGrp `  (Poly1 `  (
n Mat  r ) ) ) ) )
28 eqidd 2623 . . . . . . . . . . 11  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  k  =  k )
29 fveq2 6191 . . . . . . . . . . . 12  |-  ( a  =  ( n Mat  r
)  ->  (var1 `  a
)  =  (var1 `  (
n Mat  r ) ) )
3029adantr 481 . . . . . . . . . . 11  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  (var1 `  a )  =  (var1 `  ( n Mat  r
) ) )
3127, 28, 30oveq123d 6671 . . . . . . . . . 10  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  ( k (.g `  (mulGrp `  q )
) (var1 `  a ) )  =  ( k (.g `  (mulGrp `  (Poly1 `  (
n Mat  r ) ) ) ) (var1 `  (
n Mat  r ) ) ) )
3224, 25, 31oveq123d 6671 . . . . . . . . 9  |-  ( ( 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 ) ) ) ) )
3332mpteq2dv 4745 . . . . . . . 8  |-  ( ( 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 ) ) ) ) ) )
3423, 33oveq12d 6668 . . . . . . 7  |-  ( ( a  =  ( n Mat  r )  /\  q  =  (Poly1 `  a ) )  ->  ( q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s
`  q ) ( k (.g `  (mulGrp `  q
) ) (var1 `  a
) ) ) ) )  =  ( (Poly1 `  ( n Mat  r ) )  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  (Poly1 `  ( n Mat  r )
) ) ( k (.g `  (mulGrp `  (Poly1 `  ( n Mat  r )
) ) ) (var1 `  ( n Mat  r ) ) ) ) ) ) )
3519, 34csbied 3560 . . . . . 6  |-  ( a  =  ( n Mat  r
)  ->  [_ (Poly1 `  a
)  /  q ]_ ( q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  q
) ( k (.g `  (mulGrp `  q )
) (var1 `  a ) ) ) ) )  =  ( (Poly1 `  ( n Mat  r
) )  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  (Poly1 `  ( n Mat  r )
) ) ( k (.g `  (mulGrp `  (Poly1 `  ( n Mat  r )
) ) ) (var1 `  ( n Mat  r ) ) ) ) ) ) )
3618, 35csbie 3559 . . . . 5  |-  [_ (
n Mat  r )  / 
a ]_ [_ (Poly1 `  a
)  /  q ]_ ( q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  q
) ( k (.g `  (mulGrp `  q )
) (var1 `  a ) ) ) ) )  =  ( (Poly1 `  ( n Mat  r
) )  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  (Poly1 `  ( n Mat  r )
) ) ( k (.g `  (mulGrp `  (Poly1 `  ( n Mat  r )
) ) ) (var1 `  ( n Mat  r ) ) ) ) ) )
37 oveq12 6659 . . . . . . . . 9  |-  ( ( n  =  N  /\  r  =  R )  ->  ( n Mat  r )  =  ( N Mat  R
) )
3837fveq2d 6195 . . . . . . . 8  |-  ( ( n  =  N  /\  r  =  R )  ->  (Poly1 `  ( n Mat  r
) )  =  (Poly1 `  ( N Mat  R ) ) )
39 pm2mpval.q . . . . . . . . 9  |-  Q  =  (Poly1 `  A )
40 pm2mpval.a . . . . . . . . . 10  |-  A  =  ( N Mat  R )
4140fveq2i 6194 . . . . . . . . 9  |-  (Poly1 `  A
)  =  (Poly1 `  ( N Mat  R ) )
4239, 41eqtri 2644 . . . . . . . 8  |-  Q  =  (Poly1 `  ( N Mat  R
) )
4338, 42syl6eqr 2674 . . . . . . 7  |-  ( ( n  =  N  /\  r  =  R )  ->  (Poly1 `  ( n Mat  r
) )  =  Q )
4438fveq2d 6195 . . . . . . . . . 10  |-  ( ( n  =  N  /\  r  =  R )  ->  ( .s `  (Poly1 `  ( n Mat  r )
) )  =  ( .s `  (Poly1 `  ( N Mat  R ) ) ) )
45 pm2mpval.m . . . . . . . . . . 11  |-  .*  =  ( .s `  Q )
4642fveq2i 6194 . . . . . . . . . . 11  |-  ( .s
`  Q )  =  ( .s `  (Poly1 `  ( N Mat  R )
) )
4745, 46eqtri 2644 . . . . . . . . . 10  |-  .*  =  ( .s `  (Poly1 `  ( N Mat  R ) ) )
4844, 47syl6eqr 2674 . . . . . . . . 9  |-  ( ( n  =  N  /\  r  =  R )  ->  ( .s `  (Poly1 `  ( n Mat  r )
) )  =  .*  )
49 eqidd 2623 . . . . . . . . 9  |-  ( ( n  =  N  /\  r  =  R )  ->  ( m decompPMat  k )  =  ( m decompPMat  k ) )
5038fveq2d 6195 . . . . . . . . . . . 12  |-  ( ( n  =  N  /\  r  =  R )  ->  (mulGrp `  (Poly1 `  (
n Mat  r ) ) )  =  (mulGrp `  (Poly1 `  ( N Mat  R ) ) ) )
5150fveq2d 6195 . . . . . . . . . . 11  |-  ( ( n  =  N  /\  r  =  R )  ->  (.g `  (mulGrp `  (Poly1 `  ( n Mat  r )
) ) )  =  (.g `  (mulGrp `  (Poly1 `  ( N Mat  R )
) ) ) )
52 pm2mpval.e . . . . . . . . . . . 12  |-  .^  =  (.g
`  (mulGrp `  Q )
)
5342fveq2i 6194 . . . . . . . . . . . . 13  |-  (mulGrp `  Q )  =  (mulGrp `  (Poly1 `  ( N Mat  R
) ) )
5453fveq2i 6194 . . . . . . . . . . . 12  |-  (.g `  (mulGrp `  Q ) )  =  (.g `  (mulGrp `  (Poly1 `  ( N Mat  R )
) ) )
5552, 54eqtri 2644 . . . . . . . . . . 11  |-  .^  =  (.g
`  (mulGrp `  (Poly1 `  ( N Mat  R ) ) ) )
5651, 55syl6eqr 2674 . . . . . . . . . 10  |-  ( ( n  =  N  /\  r  =  R )  ->  (.g `  (mulGrp `  (Poly1 `  ( n Mat  r )
) ) )  = 
.^  )
57 eqidd 2623 . . . . . . . . . 10  |-  ( ( n  =  N  /\  r  =  R )  ->  k  =  k )
5837fveq2d 6195 . . . . . . . . . . 11  |-  ( ( n  =  N  /\  r  =  R )  ->  (var1 `  ( n Mat  r
) )  =  (var1 `  ( N Mat  R ) ) )
59 pm2mpval.x . . . . . . . . . . . 12  |-  X  =  (var1 `  A )
6040fveq2i 6194 . . . . . . . . . . . 12  |-  (var1 `  A
)  =  (var1 `  ( N Mat  R ) )
6159, 60eqtri 2644 . . . . . . . . . . 11  |-  X  =  (var1 `  ( N Mat  R
) )
6258, 61syl6eqr 2674 . . . . . . . . . 10  |-  ( ( n  =  N  /\  r  =  R )  ->  (var1 `  ( n Mat  r
) )  =  X )
6356, 57, 62oveq123d 6671 . . . . . . . . 9  |-  ( ( n  =  N  /\  r  =  R )  ->  ( k (.g `  (mulGrp `  (Poly1 `  ( n Mat  r
) ) ) ) (var1 `  ( n Mat  r
) ) )  =  ( k  .^  X
) )
6448, 49, 63oveq123d 6671 . . . . . . . 8  |-  ( ( 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 ) ) )
6564mpteq2dv 4745 . . . . . . 7  |-  ( ( 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 )
) ) )
6643, 65oveq12d 6668 . . . . . 6  |-  ( ( n  =  N  /\  r  =  R )  ->  ( (Poly1 `  ( n Mat  r
) )  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  (Poly1 `  ( n Mat  r )
) ) ( k (.g `  (mulGrp `  (Poly1 `  ( n Mat  r )
) ) ) (var1 `  ( n Mat  r ) ) ) ) ) )  =  ( Q 
gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) )
6766adantl 482 . . . . 5  |-  ( ( ( N  e.  Fin  /\  R  e.  V )  /\  ( n  =  N  /\  r  =  R ) )  -> 
( (Poly1 `  ( n Mat  r
) )  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  (Poly1 `  ( n Mat  r )
) ) ( k (.g `  (mulGrp `  (Poly1 `  ( n Mat  r )
) ) ) (var1 `  ( n Mat  r ) ) ) ) ) )  =  ( Q 
gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) )
6836, 67syl5eq 2668 . . . 4  |-  ( ( ( N  e.  Fin  /\  R  e.  V )  /\  ( n  =  N  /\  r  =  R ) )  ->  [_ ( n Mat  r )  /  a ]_ [_ (Poly1 `  a )  /  q ]_ ( q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s `  q
) ( k (.g `  (mulGrp `  q )
) (var1 `  a ) ) ) ) )  =  ( Q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) )
6917, 68mpteq12dv 4733 . . 3  |-  ( ( ( 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  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k ) ( .s
`  q ) ( k (.g `  (mulGrp `  q
) ) (var1 `  a
) ) ) ) ) )  =  ( m  e.  B  |->  ( Q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) ) )
70 simpl 473 . . 3  |-  ( ( N  e.  Fin  /\  R  e.  V )  ->  N  e.  Fin )
71 elex 3212 . . . 4  |-  ( R  e.  V  ->  R  e.  _V )
7271adantl 482 . . 3  |-  ( ( N  e.  Fin  /\  R  e.  V )  ->  R  e.  _V )
73 fvex 6201 . . . . . 6  |-  ( Base `  C )  e.  _V
749, 73eqeltri 2697 . . . . 5  |-  B  e. 
_V
7574mptex 6486 . . . 4  |-  ( m  e.  B  |->  ( Q 
gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) )  e.  _V
7675a1i 11 . . 3  |-  ( ( N  e.  Fin  /\  R  e.  V )  ->  ( m  e.  B  |->  ( Q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) )  e.  _V )
773, 69, 70, 72, 76ovmpt2d 6788 . 2  |-  ( ( N  e.  Fin  /\  R  e.  V )  ->  ( N pMatToMatPoly  R )  =  ( m  e.  B  |->  ( Q  gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) ) )
781, 77syl5eq 2668 1  |-  ( ( N  e.  Fin  /\  R  e.  V )  ->  T  =  ( m  e.  B  |->  ( Q 
gsumg  ( k  e.  NN0  |->  ( ( m decompPMat  k )  .*  ( k  .^  X ) ) ) ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 384    = wceq 1483    e. wcel 1990   _Vcvv 3200   [_csb 3533    |-> cmpt 4729   ` cfv 5888  (class class class)co 6650    |-> cmpt2 6652   Fincfn 7955   NN0cn0 11292   Basecbs 15857   .scvsca 15945    gsumg cgsu 16101  .gcmg 17540  mulGrpcmgp 18489  var1cv1 19546  Poly1cpl1 19547   Mat cmat 20213   decompPMat cdecpmat 20567   pMatToMatPoly cpm2mp 20597
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pr 4906
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-ral 2917  df-rex 2918  df-reu 2919  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-nul 3916  df-if 4087  df-sn 4178  df-pr 4180  df-op 4184  df-uni 4437  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-id 5024  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-pm2mp 20598
This theorem is referenced by:  pm2mpfval  20601  pm2mpf  20603
  Copyright terms: Public domain W3C validator