| Step | Hyp | Ref
| Expression |
| 1 | | id 22 |
. . 3
  g    coe1           g 
 
                   g 
  coe1     
     g                        |
| 2 | | simp1 1061 |
. . . . . 6
 
   |
| 3 | 2 | ad2antrr 762 |
. . . . 5
   


      
  |
| 4 | | crngring 18558 |
. . . . . . 7

  |
| 5 | 4 | 3ad2ant2 1083 |
. . . . . 6
 
   |
| 6 | 5 | ad2antrr 762 |
. . . . 5
   


      
  |
| 7 | | chcoeffeq.b |
. . . . . 6
     |
| 8 | | eqid 2622 |
. . . . . 6
         |
| 9 | | chcoeffeq.a |
. . . . . . . . . . 11
 Mat   |
| 10 | 9 | matring 20249 |
. . . . . . . . . 10
 

  |
| 11 | 4, 10 | sylan2 491 |
. . . . . . . . 9
 

  |
| 12 | | ringcmn 18581 |
. . . . . . . . 9

CMnd |
| 13 | 11, 12 | syl 17 |
. . . . . . . 8
 

CMnd |
| 14 | 13 | 3adant3 1081 |
. . . . . . 7
 
 CMnd |
| 15 | 14 | ad2antrr 762 |
. . . . . 6
   


      
CMnd |
| 16 | | nn0ex 11298 |
. . . . . . 7
 |
| 17 | 16 | a1i 11 |
. . . . . 6
   


      
  |
| 18 | 3, 6, 10 | syl2anc 693 |
. . . . . . . . 9
   


      
  |
| 19 | 18 | adantr 481 |
. . . . . . . 8
    
            |
| 20 | 2, 5, 10 | syl2anc 693 |
. . . . . . . . . . 11
 
   |
| 21 | | eqid 2622 |
. . . . . . . . . . . 12
mulGrp  mulGrp   |
| 22 | 21 | ringmgp 18553 |
. . . . . . . . . . 11

mulGrp    |
| 23 | 20, 22 | syl 17 |
. . . . . . . . . 10
 
 mulGrp    |
| 24 | 23 | ad3antrrr 766 |
. . . . . . . . 9
    
          mulGrp    |
| 25 | | simpr 477 |
. . . . . . . . 9
    
            |
| 26 | | simpll3 1102 |
. . . . . . . . . 10
   


      
  |
| 27 | 26 | adantr 481 |
. . . . . . . . 9
    
            |
| 28 | 21, 7 | mgpbas 18495 |
. . . . . . . . . 10
   mulGrp    |
| 29 | | cayhamlem.e1 |
. . . . . . . . . 10
.g mulGrp    |
| 30 | 28, 29 | mulgnn0cl 17558 |
. . . . . . . . 9
  mulGrp 
 
   |
| 31 | 24, 25, 27, 30 | syl3anc 1326 |
. . . . . . . 8
    
          
   |
| 32 | | eqid 2622 |
. . . . . . . . . . . 12
 ConstPolyMat   ConstPolyMat   |
| 33 | | chcoeffeq.u |
. . . . . . . . . . . 12

cPolyMatToMat   |
| 34 | 9, 7, 32, 33 | cpm2mf 20557 |
. . . . . . . . . . 11
 
    ConstPolyMat      |
| 35 | 2, 5, 34 | syl2anc 693 |
. . . . . . . . . 10
 
    ConstPolyMat      |
| 36 | 35 | ad3antrrr 766 |
. . . . . . . . 9
    
             ConstPolyMat      |
| 37 | | simplr 792 |
. . . . . . . . . . 11
   


      
  |
| 38 | | simpr 477 |
. . . . . . . . . . 11
   


      

       |
| 39 | | chcoeffeq.p |
. . . . . . . . . . . 12
Poly1   |
| 40 | | chcoeffeq.y |
. . . . . . . . . . . 12
 Mat   |
| 41 | | chcoeffeq.r |
. . . . . . . . . . . 12
     |
| 42 | | chcoeffeq.s |
. . . . . . . . . . . 12
     |
| 43 | | chcoeffeq.0 |
. . . . . . . . . . . 12
     |
| 44 | | chcoeffeq.t |
. . . . . . . . . . . 12

matToPolyMat   |
| 45 | | chcoeffeq.g |
. . . . . . . . . . . 12
                     
                                                |
| 46 | 9, 7, 39, 40, 41, 42, 43, 44, 45, 32 | chfacfisfcpmat 20660 |
. . . . . . . . . . 11
    
             ConstPolyMat    |
| 47 | 3, 6, 26, 37, 38, 46 | syl32anc 1334 |
. . . . . . . . . 10
   


      
    
ConstPolyMat    |
| 48 | 47 | ffvelrnda 6359 |
. . . . . . . . 9
    
              
ConstPolyMat    |
| 49 | 36, 48 | ffvelrnd 6360 |
. . . . . . . 8
    
                    |
| 50 | | eqid 2622 |
. . . . . . . . 9
         |
| 51 | 7, 50 | ringcl 18561 |
. . . . . . . 8
  

                             |
| 52 | 19, 31, 49, 51 | syl3anc 1326 |
. . . . . . 7
    
                              |
| 53 | | eqid 2622 |
. . . . . . 7

 
                                      |
| 54 | 52, 53 | fmptd 6385 |
. . . . . 6
   


      
                          |
| 55 | | fvexd 6203 |
. . . . . . 7
   


      
      |
| 56 | | ovexd 6680 |
. . . . . . 7
    
                              |
| 57 | 9, 7, 39, 40, 41, 42, 43, 44, 45 | chfacffsupp 20661 |
. . . . . . . . 9
    
       
finSupp       |
| 58 | 57 | anassrs 680 |
. . . . . . . 8
   


      
finSupp       |
| 59 | | ovex 6678 |
. . . . . . . . . . . . 13
 ConstPolyMat   |
| 60 | 59, 16 | pm3.2i 471 |
. . . . . . . . . . . 12
  ConstPolyMat 
  |
| 61 | | elmapg 7870 |
. . . . . . . . . . . 12
  
ConstPolyMat 
    ConstPolyMat  
    
ConstPolyMat     |
| 62 | 60, 61 | mp1i 13 |
. . . . . . . . . . 11
   


      
   ConstPolyMat  
    
ConstPolyMat     |
| 63 | 47, 62 | mpbird 247 |
. . . . . . . . . 10
   


      
  ConstPolyMat     |
| 64 | | fvex 6201 |
. . . . . . . . . 10
     |
| 65 | | fsuppmapnn0ub 12795 |
. . . . . . . . . 10
    ConstPolyMat         finSupp     
 
            |
| 66 | 63, 64, 65 | sylancl 694 |
. . . . . . . . 9
   


      
 finSupp       
            |
| 67 | | csbov12g 6689 |
. . . . . . . . . . . . . . . . 17

  ![]_ ]_](_urbrack.gif)  
                   ![]_ ]_](_urbrack.gif)           ![]_ ]_](_urbrack.gif)            |
| 68 | | csbov1g 6690 |
. . . . . . . . . . . . . . . . . . 19

  ![]_ ]_](_urbrack.gif)      ![]_ ]_](_urbrack.gif)    |
| 69 | | csbvarg 4003 |
. . . . . . . . . . . . . . . . . . . 20

  ![]_ ]_](_urbrack.gif)   |
| 70 | 69 | oveq1d 6665 |
. . . . . . . . . . . . . . . . . . 19

   ![]_ ]_](_urbrack.gif)  
   |
| 71 | 68, 70 | eqtrd 2656 |
. . . . . . . . . . . . . . . . . 18

  ![]_ ]_](_urbrack.gif)       |
| 72 | | csbfv2g 6232 |
. . . . . . . . . . . . . . . . . . 19

  ![]_ ]_](_urbrack.gif)              ![]_ ]_](_urbrack.gif)        |
| 73 | | csbfv 6233 |
. . . . . . . . . . . . . . . . . . . . 21
  ![]_ ]_](_urbrack.gif)          |
| 74 | 73 | a1i 11 |
. . . . . . . . . . . . . . . . . . . 20

  ![]_ ]_](_urbrack.gif)           |
| 75 | 74 | fveq2d 6195 |
. . . . . . . . . . . . . . . . . . 19

     ![]_ ]_](_urbrack.gif)                |
| 76 | 72, 75 | eqtrd 2656 |
. . . . . . . . . . . . . . . . . 18

  ![]_ ]_](_urbrack.gif)                   |
| 77 | 71, 76 | oveq12d 6668 |
. . . . . . . . . . . . . . . . 17

   ![]_ ]_](_urbrack.gif) 
         ![]_ ]_](_urbrack.gif)                              |
| 78 | 67, 77 | eqtrd 2656 |
. . . . . . . . . . . . . . . 16

  ![]_ ]_](_urbrack.gif)  
                                    |
| 79 | 78 | ad2antlr 763 |
. . . . . . . . . . . . . . 15
     
                   
 ![]_ ]_](_urbrack.gif)                    
                  |
| 80 | | fveq2 6191 |
. . . . . . . . . . . . . . . . 17
                           |
| 81 | 2, 5 | jca 554 |
. . . . . . . . . . . . . . . . . . . 20
 
 
   |
| 82 | 81 | adantr 481 |
. . . . . . . . . . . . . . . . . . 19
     
   |
| 83 | | eqid 2622 |
. . . . . . . . . . . . . . . . . . . 20
         |
| 84 | 9, 33, 39, 40, 8, 83 | m2cpminv0 20566 |
. . . . . . . . . . . . . . . . . . 19
 
               |
| 85 | 82, 84 | syl 17 |
. . . . . . . . . . . . . . . . . 18
                   |
| 86 | 85 | ad2antrr 762 |
. . . . . . . . . . . . . . . . 17
    
                        |
| 87 | 80, 86 | sylan9eqr 2678 |
. . . . . . . . . . . . . . . 16
     
                                 |
| 88 | 87 | oveq2d 6666 |
. . . . . . . . . . . . . . 15
     
                                      
              |
| 89 | 18 | adantr 481 |
. . . . . . . . . . . . . . . . . 18
    
            |
| 90 | 23 | ad3antrrr 766 |
. . . . . . . . . . . . . . . . . . 19
    
          mulGrp    |
| 91 | | simpr 477 |
. . . . . . . . . . . . . . . . . . 19
    
            |
| 92 | 26 | adantr 481 |
. . . . . . . . . . . . . . . . . . 19
    
            |
| 93 | 28, 29 | mulgnn0cl 17558 |
. . . . . . . . . . . . . . . . . . 19
  mulGrp 
 
   |
| 94 | 90, 91, 92, 93 | syl3anc 1326 |
. . . . . . . . . . . . . . . . . 18
    
          
   |
| 95 | 89, 94 | jca 554 |
. . . . . . . . . . . . . . . . 17
    
          

    |
| 96 | 95 | adantr 481 |
. . . . . . . . . . . . . . . 16
     
                         |
| 97 | 7, 50, 8 | ringrz 18588 |
. . . . . . . . . . . . . . . 16
  
                      |
| 98 | 96, 97 | syl 17 |
. . . . . . . . . . . . . . 15
     
                                       |
| 99 | 79, 88, 98 | 3eqtrd 2660 |
. . . . . . . . . . . . . 14
     
                   
 ![]_ ]_](_urbrack.gif)                         |
| 100 | 99 | ex 450 |
. . . . . . . . . . . . 13
    
                   
 ![]_ ]_](_urbrack.gif)                          |
| 101 | 100 | adantlr 751 |
. . . . . . . . . . . 12
     
                    
 ![]_ ]_](_urbrack.gif)                          |
| 102 | 101 | imim2d 57 |
. . . . . . . . . . 11
     
                      
  ![]_ ]_](_urbrack.gif)                           |
| 103 | 102 | ralimdva 2962 |
. . . . . . . . . 10
    
           

          

 ![]_ ]_](_urbrack.gif)                           |
| 104 | 103 | reximdva 3017 |
. . . . . . . . 9
   


      
 
 
        
  
  ![]_ ]_](_urbrack.gif)                           |
| 105 | 66, 104 | syld 47 |
. . . . . . . 8
   


      
 finSupp       
  ![]_ ]_](_urbrack.gif)                           |
| 106 | 58, 105 | mpd 15 |
. . . . . . 7
   


      
  
  ![]_ ]_](_urbrack.gif)                          |
| 107 | 55, 56, 106 | mptnn0fsupp 12797 |
. . . . . 6
   


      
                    finSupp       |
| 108 | 7, 8, 15, 17, 54, 107 | gsumcl 18316 |
. . . . 5
   


      
 g   
                    |
| 109 | 33, 9, 7, 44 | m2cpminvid 20558 |
. . . . 5
 
 g                              g                         g 
                      |
| 110 | 3, 6, 108, 109 | syl3anc 1326 |
. . . 4
   


      
       g                         g 
                      |
| 111 | 39, 40 | pmatring 20498 |
. . . . . . . . . 10
 

  |
| 112 | 2, 5, 111 | syl2anc 693 |
. . . . . . . . 9
 
   |
| 113 | | ringmnd 18556 |
. . . . . . . . 9

  |
| 114 | 112, 113 | syl 17 |
. . . . . . . 8
 
   |
| 115 | 114 | ad2antrr 762 |
. . . . . . 7
   


      
  |
| 116 | | chcoeffeq.w |
. . . . . . . . . 10
     |
| 117 | 44, 9, 7, 39, 40, 116 | mat2pmatghm 20535 |
. . . . . . . . 9
 

    |
| 118 | 3, 6, 117 | syl2anc 693 |
. . . . . . . 8
   


      

   |
| 119 | | ghmmhm 17670 |
. . . . . . . 8
  

MndHom    |
| 120 | 118, 119 | syl 17 |
. . . . . . 7
   


      

MndHom    |
| 121 | 20 | ad3antrrr 766 |
. . . . . . . 8
    
            |
| 122 | 4, 34 | sylan2 491 |
. . . . . . . . . . 11
 
    ConstPolyMat      |
| 123 | 122 | 3adant3 1081 |
. . . . . . . . . 10
 
    ConstPolyMat      |
| 124 | 123 | ad3antrrr 766 |
. . . . . . . . 9
    
             ConstPolyMat      |
| 125 | 124, 48 | ffvelrnd 6360 |
. . . . . . . 8
    
                    |
| 126 | 121, 31, 125, 51 | syl3anc 1326 |
. . . . . . 7
    
                              |
| 127 | 7, 8, 15, 115, 17, 120, 126, 107 | gsummptmhm 18340 |
. . . . . 6
   


      
 g                              g 
 
                     |
| 128 | 44, 9, 7, 39, 40, 116 | mat2pmatrhm 20539 |
. . . . . . . . . . . 12
 

 RingHom    |
| 129 | 128 | 3adant3 1081 |
. . . . . . . . . . 11
 
  RingHom
   |
| 130 | 129 | ad3antrrr 766 |
. . . . . . . . . 10
    
           RingHom
   |
| 131 | 7, 50, 41 | rhmmul 18727 |
. . . . . . . . . 10
   RingHom  

             
                     
 
               |
| 132 | 130, 31, 125, 131 | syl3anc 1326 |
. . . . . . . . 9
    
              
                     
 
               |
| 133 | 44, 9, 7, 39, 40, 116 | mat2pmatmhm 20538 |
. . . . . . . . . . . . 13
 

 mulGrp  MndHom mulGrp     |
| 134 | 133 | 3adant3 1081 |
. . . . . . . . . . . 12
 
  mulGrp  MndHom mulGrp     |
| 135 | 134 | ad3antrrr 766 |
. . . . . . . . . . 11
    
           mulGrp  MndHom mulGrp     |
| 136 | | cayhamlem.e2 |
. . . . . . . . . . . 12
.g mulGrp    |
| 137 | 28, 29, 136 | mhmmulg 17583 |
. . . . . . . . . . 11
   mulGrp  MndHom mulGrp  
                 |
| 138 | 135, 25, 27, 137 | syl3anc 1326 |
. . . . . . . . . 10
    
                          |
| 139 | 2 | ad3antrrr 766 |
. . . . . . . . . . 11
    
            |
| 140 | 5 | ad3antrrr 766 |
. . . . . . . . . . 11
    
            |
| 141 | 32, 33, 44 | m2cpminvid2 20560 |
. . . . . . . . . . 11
 
    
ConstPolyMat                     |
| 142 | 139, 140,
48, 141 | syl3anc 1326 |
. . . . . . . . . 10
    
                            |
| 143 | 138, 142 | oveq12d 6668 |
. . . . . . . . 9
    
              
 
                             |
| 144 | 132, 143 | eqtrd 2656 |
. . . . . . . 8
    
              
                                 |
| 145 | 144 | mpteq2dva 4744 |
. . . . . . 7
   


      
                                          |
| 146 | 145 | oveq2d 6666 |
. . . . . 6
   


      
 g                           g 
                  |
| 147 | 127, 146 | eqtr3d 2658 |
. . . . 5
   


      
    g                        g 
                  |
| 148 | 147 | fveq2d 6195 |
. . . 4
   


      
       g                            g 
                   |
| 149 | 110, 148 | eqtr3d 2658 |
. . 3
   


      
 g   
                     
g                     |
| 150 | 1, 149 | sylan9eqr 2678 |
. 2
    
          g 
  coe1           g 
 
                  
 g    coe1     
        g                     |
| 151 | | chcoeffeq.c |
. . 3
 CharPlyMat
  |
| 152 | | chcoeffeq.k |
. . 3
     |
| 153 | | chcoeffeq.1 |
. . 3
     |
| 154 | | chcoeffeq.m |
. . 3
     |
| 155 | 9, 7, 39, 40, 41, 42, 43, 44, 151, 152, 45, 116, 153, 154, 33, 29, 50 | cayhamlem3 20692 |
. 2
 
           g    coe1           g 
 
                    |
| 156 | 150, 155 | reximddv2 3020 |
1
 
           g    coe1             
g                     |