Step | Hyp | Ref
| Expression |
1 | | pm2mpval.t |
. 2

pMatToMatPoly   |
2 | | df-pm2mp 20598 |
. . . 4
pMatToMatPoly
       Mat Poly1      Mat
  ![]_ ]_](_urbrack.gif)  Poly1   ![]_ ]_](_urbrack.gif)  g    decompPMat          .g mulGrp    var1         |
3 | 2 | a1i 11 |
. . 3
 
 pMatToMatPoly  
     Mat Poly1      Mat   ![]_ ]_](_urbrack.gif)  Poly1   ![]_ ]_](_urbrack.gif)  g 
  decompPMat          .g mulGrp    var1          |
4 | | simpl 473 |
. . . . . . . 8
 
   |
5 | | fveq2 6191 |
. . . . . . . . 9
 Poly1  Poly1    |
6 | 5 | adantl 482 |
. . . . . . . 8
 
 Poly1  Poly1    |
7 | 4, 6 | oveq12d 6668 |
. . . . . . 7
 
  Mat Poly1    Mat Poly1     |
8 | 7 | fveq2d 6195 |
. . . . . 6
 
     Mat Poly1        Mat Poly1      |
9 | | pm2mpval.b |
. . . . . . 7
     |
10 | | pm2mpval.c |
. . . . . . . . 9
 Mat   |
11 | | pm2mpval.p |
. . . . . . . . . 10
Poly1   |
12 | 11 | oveq2i 6661 |
. . . . . . . . 9
 Mat   Mat Poly1    |
13 | 10, 12 | eqtri 2644 |
. . . . . . . 8
 Mat Poly1    |
14 | 13 | fveq2i 6194 |
. . . . . . 7
        Mat Poly1     |
15 | 9, 14 | eqtri 2644 |
. . . . . 6
    Mat Poly1     |
16 | 8, 15 | syl6eqr 2674 |
. . . . 5
 
     Mat Poly1      |
17 | 16 | adantl 482 |
. . . 4
           Mat Poly1      |
18 | | ovex 6678 |
. . . . . 6
 Mat   |
19 | | fvexd 6203 |
. . . . . . 7
  Mat 
Poly1    |
20 | | simpr 477 |
. . . . . . . . 9
   Mat  Poly1   Poly1    |
21 | | fveq2 6191 |
. . . . . . . . . 10
  Mat 
Poly1  Poly1  Mat     |
22 | 21 | adantr 481 |
. . . . . . . . 9
   Mat  Poly1   Poly1  Poly1  Mat     |
23 | 20, 22 | eqtrd 2656 |
. . . . . . . 8
   Mat  Poly1   Poly1  Mat     |
24 | 23 | fveq2d 6195 |
. . . . . . . . . 10
   Mat  Poly1          Poly1  Mat      |
25 | | eqidd 2623 |
. . . . . . . . . 10
   Mat  Poly1    decompPMat   decompPMat    |
26 | 23 | fveq2d 6195 |
. . . . . . . . . . . 12
   Mat  Poly1   mulGrp  mulGrp Poly1  Mat      |
27 | 26 | fveq2d 6195 |
. . . . . . . . . . 11
   Mat  Poly1   .g mulGrp   .g mulGrp Poly1  Mat       |
28 | | eqidd 2623 |
. . . . . . . . . . 11
   Mat  Poly1     |
29 | | fveq2 6191 |
. . . . . . . . . . . 12
  Mat 
var1  var1  Mat     |
30 | 29 | adantr 481 |
. . . . . . . . . . 11
   Mat  Poly1   var1  var1  Mat     |
31 | 27, 28, 30 | oveq123d 6671 |
. . . . . . . . . 10
   Mat  Poly1     .g mulGrp    var1     .g mulGrp Poly1  Mat      var1  Mat      |
32 | 24, 25, 31 | oveq123d 6671 |
. . . . . . . . 9
   Mat  Poly1     decompPMat          .g mulGrp    var1      decompPMat      Poly1  Mat
      .g mulGrp Poly1  Mat
     var1  Mat       |
33 | 32 | mpteq2dv 4745 |
. . . . . . . 8
   Mat  Poly1      decompPMat          .g mulGrp    var1        decompPMat      Poly1  Mat       .g mulGrp Poly1  Mat
     var1  Mat        |
34 | 23, 33 | oveq12d 6668 |
. . . . . . 7
   Mat  Poly1    g 
  decompPMat          .g mulGrp    var1       Poly1  Mat   g    decompPMat      Poly1  Mat
      .g mulGrp Poly1  Mat
     var1  Mat         |
35 | 19, 34 | csbied 3560 |
. . . . . 6
  Mat 
 Poly1   ![]_ ]_](_urbrack.gif)  g    decompPMat          .g mulGrp    var1       Poly1  Mat   g    decompPMat      Poly1  Mat
      .g mulGrp Poly1  Mat
     var1  Mat         |
36 | 18, 35 | csbie 3559 |
. . . . 5
  Mat   ![]_ ]_](_urbrack.gif)  Poly1   ![]_ ]_](_urbrack.gif)  g    decompPMat          .g mulGrp    var1       Poly1  Mat   g    decompPMat      Poly1  Mat
      .g mulGrp Poly1  Mat
     var1  Mat        |
37 | | oveq12 6659 |
. . . . . . . . 9
 
  Mat   Mat    |
38 | 37 | fveq2d 6195 |
. . . . . . . 8
 
 Poly1  Mat   Poly1  Mat     |
39 | | pm2mpval.q |
. . . . . . . . 9
Poly1   |
40 | | pm2mpval.a |
. . . . . . . . . 10
 Mat   |
41 | 40 | fveq2i 6194 |
. . . . . . . . 9
Poly1  Poly1  Mat    |
42 | 39, 41 | eqtri 2644 |
. . . . . . . 8
Poly1  Mat    |
43 | 38, 42 | syl6eqr 2674 |
. . . . . . 7
 
 Poly1  Mat     |
44 | 38 | fveq2d 6195 |
. . . . . . . . . 10
 
    Poly1  Mat
      Poly1  Mat      |
45 | | pm2mpval.m |
. . . . . . . . . . 11
     |
46 | 42 | fveq2i 6194 |
. . . . . . . . . . 11
       Poly1 
Mat     |
47 | 45, 46 | eqtri 2644 |
. . . . . . . . . 10
   Poly1  Mat     |
48 | 44, 47 | syl6eqr 2674 |
. . . . . . . . 9
 
    Poly1  Mat
    |
49 | | eqidd 2623 |
. . . . . . . . 9
 
  decompPMat
  decompPMat    |
50 | 38 | fveq2d 6195 |
. . . . . . . . . . . 12
 
 mulGrp Poly1  Mat    mulGrp Poly1  Mat      |
51 | 50 | fveq2d 6195 |
. . . . . . . . . . 11
 
 .g mulGrp Poly1  Mat
    .g mulGrp Poly1 
Mat       |
52 | | pm2mpval.e |
. . . . . . . . . . . 12
.g mulGrp    |
53 | 42 | fveq2i 6194 |
. . . . . . . . . . . . 13
mulGrp  mulGrp Poly1  Mat     |
54 | 53 | fveq2i 6194 |
. . . . . . . . . . . 12
.g mulGrp   .g mulGrp Poly1 
Mat      |
55 | 52, 54 | eqtri 2644 |
. . . . . . . . . . 11
.g mulGrp Poly1  Mat      |
56 | 51, 55 | syl6eqr 2674 |
. . . . . . . . . 10
 
 .g mulGrp Poly1  Mat
     |
57 | | eqidd 2623 |
. . . . . . . . . 10
 
   |
58 | 37 | fveq2d 6195 |
. . . . . . . . . . 11
 
 var1  Mat   var1  Mat     |
59 | | pm2mpval.x |
. . . . . . . . . . . 12
var1   |
60 | 40 | fveq2i 6194 |
. . . . . . . . . . . 12
var1  var1  Mat    |
61 | 59, 60 | eqtri 2644 |
. . . . . . . . . . 11
var1  Mat    |
62 | 58, 61 | syl6eqr 2674 |
. . . . . . . . . 10
 
 var1  Mat     |
63 | 56, 57, 62 | oveq123d 6671 |
. . . . . . . . 9
 
   .g mulGrp Poly1  Mat      var1  Mat        |
64 | 48, 49, 63 | oveq123d 6671 |
. . . . . . . 8
 
   decompPMat      Poly1  Mat
      .g mulGrp Poly1  Mat
     var1  Mat       decompPMat       |
65 | 64 | mpteq2dv 4745 |
. . . . . . 7
 
    decompPMat      Poly1  Mat
      .g mulGrp Poly1  Mat
     var1  Mat         decompPMat  
     |
66 | 43, 65 | oveq12d 6668 |
. . . . . 6
 
  Poly1  Mat   g    decompPMat      Poly1  Mat
      .g mulGrp Poly1  Mat
     var1  Mat        g    decompPMat         |
67 | 66 | adantl 482 |
. . . . 5
        Poly1  Mat   g    decompPMat      Poly1  Mat
      .g mulGrp Poly1  Mat
     var1  Mat        g    decompPMat         |
68 | 36, 67 | syl5eq 2668 |
. . . 4
         Mat   ![]_ ]_](_urbrack.gif)  Poly1   ![]_ ]_](_urbrack.gif)  g    decompPMat          .g mulGrp    var1       g    decompPMat         |
69 | 17, 68 | mpteq12dv 4733 |
. . 3
            Mat Poly1      Mat   ![]_ ]_](_urbrack.gif)  Poly1   ![]_ ]_](_urbrack.gif)  g 
  decompPMat          .g mulGrp    var1         g    decompPMat          |
70 | | simpl 473 |
. . 3
 
   |
71 | | elex 3212 |
. . . 4
   |
72 | 71 | adantl 482 |
. . 3
 
   |
73 | | fvex 6201 |
. . . . . 6
     |
74 | 9, 73 | eqeltri 2697 |
. . . . 5
 |
75 | 74 | mptex 6486 |
. . . 4
  g    decompPMat         |
76 | 75 | a1i 11 |
. . 3
 
   g    decompPMat          |
77 | 3, 69, 70, 72, 76 | ovmpt2d 6788 |
. 2
 
 
pMatToMatPoly    g    decompPMat          |
78 | 1, 77 | syl5eq 2668 |
1
 
   g    decompPMat          |