| Step | Hyp | Ref
| Expression |
| 1 | | dchrpt.g |
. . 3
DChr   |
| 2 | | dchrpt.z |
. . 3
ℤ/nℤ   |
| 3 | | dchrpt.b |
. . 3
     |
| 4 | | dchrpt.u |
. . 3
Unit   |
| 5 | | dchrpt.n |
. . 3
   |
| 6 | | dchrpt.d |
. . 3
     |
| 7 | | fveq2 6191 |
. . 3
           |
| 8 | | fveq2 6191 |
. . 3
           |
| 9 | | fveq2 6191 |
. . 3
                           |
| 10 | | fveq2 6191 |
. . 3
                   |
| 11 | | dchrpt.2 |
. . . . . . . . 9
  DProd
  |
| 12 | | zex 11386 |
. . . . . . . . . . . . 13
 |
| 13 | 12 | mptex 6486 |
. . . . . . . . . . . 12
         |
| 14 | 13 | rnex 7100 |
. . . . . . . . . . 11
         |
| 15 | | dchrpt.s |
. . . . . . . . . . 11
           |
| 16 | 14, 15 | dmmpti 6023 |
. . . . . . . . . 10
 |
| 17 | 16 | a1i 11 |
. . . . . . . . 9
   |
| 18 | | dchrpt.p |
. . . . . . . . 9
 dProj  |
| 19 | | dchrpt.i |
. . . . . . . . 9
   |
| 20 | 11, 17, 18, 19 | dpjf 18456 |
. . . . . . . 8
        DProd          |
| 21 | | dchrpt.3 |
. . . . . . . . 9
  DProd    |
| 22 | 21 | feq2d 6031 |
. . . . . . . 8
         DProd                       |
| 23 | 20, 22 | mpbid 222 |
. . . . . . 7
               |
| 24 | 23 | ffvelrnda 6359 |
. . . . . 6
 
               |
| 25 | 19 | adantr 481 |
. . . . . . 7
 
   |
| 26 | | oveq1 6657 |
. . . . . . . . . . 11
 
             |
| 27 | 26 | cbvmptv 4750 |
. . . . . . . . . 10
                 |
| 28 | | fveq2 6191 |
. . . . . . . . . . . 12
           |
| 29 | 28 | oveq2d 6666 |
. . . . . . . . . . 11
 
             |
| 30 | 29 | mpteq2dv 4745 |
. . . . . . . . . 10
                   |
| 31 | 27, 30 | syl5eq 2668 |
. . . . . . . . 9
                   |
| 32 | 31 | rneqd 5353 |
. . . . . . . 8
 

                |
| 33 | 32, 15, 14 | fvmpt3i 6287 |
. . . . . . 7
               |
| 34 | 25, 33 | syl 17 |
. . . . . 6
 
               |
| 35 | 24, 34 | eleqtrd 2703 |
. . . . 5
 
                   |
| 36 | | eqid 2622 |
. . . . . 6
                 |
| 37 | | ovex 6678 |
. . . . . 6
       |
| 38 | 36, 37 | elrnmpti 5376 |
. . . . 5
                
                 |
| 39 | 35, 38 | sylib 208 |
. . . 4
 
                  |
| 40 | | dchrpt.1 |
. . . . . 6
     |
| 41 | | dchrpt.n1 |
. . . . . 6
  |
| 42 | | dchrpt.h |
. . . . . 6
 mulGrp  ↾s   |
| 43 | | dchrpt.m |
. . . . . 6
.g   |
| 44 | | dchrpt.au |
. . . . . 6
   |
| 45 | | dchrpt.w |
. . . . . 6
 Word   |
| 46 | | dchrpt.o |
. . . . . 6
     |
| 47 | | dchrpt.t |
. . . . . 6
               |
| 48 | | dchrpt.4 |
. . . . . 6
          |
| 49 | | dchrpt.5 |
. . . . . 6
    
              
        |
| 50 | 1, 2, 6, 3, 40, 5,
41, 4, 42, 43, 15, 44, 45, 11, 21, 18, 46, 47, 19, 48, 49 | dchrptlem1 24989 |
. . . . 5
                    
          |
| 51 | | neg1cn 11124 |
. . . . . . . . 9
  |
| 52 | | 2re 11090 |
. . . . . . . . . . 11
 |
| 53 | 5 | nnnn0d 11351 |
. . . . . . . . . . . . . 14
   |
| 54 | 2 | zncrng 19893 |
. . . . . . . . . . . . . 14

  |
| 55 | | crngring 18558 |
. . . . . . . . . . . . . 14

  |
| 56 | 53, 54, 55 | 3syl 18 |
. . . . . . . . . . . . 13
   |
| 57 | 4, 42 | unitgrp 18667 |
. . . . . . . . . . . . 13

  |
| 58 | 56, 57 | syl 17 |
. . . . . . . . . . . 12
   |
| 59 | 2, 3 | znfi 19908 |
. . . . . . . . . . . . . 14
   |
| 60 | 5, 59 | syl 17 |
. . . . . . . . . . . . 13
   |
| 61 | 3, 4 | unitss 18660 |
. . . . . . . . . . . . 13
 |
| 62 | | ssfi 8180 |
. . . . . . . . . . . . 13
  
  |
| 63 | 60, 61, 62 | sylancl 694 |
. . . . . . . . . . . 12
   |
| 64 | | wrdf 13310 |
. . . . . . . . . . . . . 14
 Word    ..^         |
| 65 | 45, 64 | syl 17 |
. . . . . . . . . . . . 13
    ..^         |
| 66 | | fdm 6051 |
. . . . . . . . . . . . . . 15
    ..^        ..^       |
| 67 | 65, 66 | syl 17 |
. . . . . . . . . . . . . 14
  ..^       |
| 68 | 19, 67 | eleqtrd 2703 |
. . . . . . . . . . . . 13
  ..^       |
| 69 | 65, 68 | ffvelrnd 6360 |
. . . . . . . . . . . 12
       |
| 70 | 4, 42 | unitgrpbas 18666 |
. . . . . . . . . . . . 13
     |
| 71 | 70, 46 | odcl2 17982 |
. . . . . . . . . . . 12
 
               |
| 72 | 58, 63, 69, 71 | syl3anc 1326 |
. . . . . . . . . . 11
           |
| 73 | | nndivre 11056 |
. . . . . . . . . . 11
                       |
| 74 | 52, 72, 73 | sylancr 695 |
. . . . . . . . . 10
             |
| 75 | 74 | recnd 10068 |
. . . . . . . . 9
             |
| 76 | | cxpcl 24420 |
. . . . . . . . 9
                              |
| 77 | 51, 75, 76 | sylancr 695 |
. . . . . . . 8
                 |
| 78 | 47, 77 | syl5eqel 2705 |
. . . . . . 7
   |
| 79 | 78 | ad2antrr 762 |
. . . . . 6
                    
  |
| 80 | 51 | a1i 11 |
. . . . . . . . 9
    |
| 81 | | neg1ne0 11126 |
. . . . . . . . . 10
  |
| 82 | 81 | a1i 11 |
. . . . . . . . 9
    |
| 83 | 80, 82, 75 | cxpne0d 24459 |
. . . . . . . 8
                 |
| 84 | 47 | neeq1i 2858 |
. . . . . . . 8

  
             |
| 85 | 83, 84 | sylibr 224 |
. . . . . . 7
   |
| 86 | 85 | ad2antrr 762 |
. . . . . 6
                    
  |
| 87 | | simprl 794 |
. . . . . 6
                    
  |
| 88 | 79, 86, 87 | expclzd 13013 |
. . . . 5
                    
      |
| 89 | 50, 88 | eqeltrd 2701 |
. . . 4
                    
      |
| 90 | 39, 89 | rexlimddv 3035 |
. . 3
 
       |
| 91 | | simprl 794 |
. . . . 5
 

 
  |
| 92 | 39 | ralrimiva 2966 |
. . . . . 6
  
                |
| 93 | 92 | adantr 481 |
. . . . 5
 

  

                |
| 94 | | fveq2 6191 |
. . . . . . . 8
                   |
| 95 | 94 | eqeq1d 2624 |
. . . . . . 7
               
                 |
| 96 | 95 | rexbidv 3052 |
. . . . . 6
  
             
                  |
| 97 | 96 | rspcv 3305 |
. . . . 5
  

              
                 |
| 98 | 91, 93, 97 | sylc 65 |
. . . 4
 

  
                |
| 99 | | simprr 796 |
. . . . 5
 

    |
| 100 | | fveq2 6191 |
. . . . . . . . 9
                   |
| 101 | 100 | eqeq1d 2624 |
. . . . . . . 8
               
                 |
| 102 | 101 | rexbidv 3052 |
. . . . . . 7
  
             
                  |
| 103 | | oveq1 6657 |
. . . . . . . . 9
 
             |
| 104 | 103 | eqeq2d 2632 |
. . . . . . . 8
               
                 |
| 105 | 104 | cbvrexv 3172 |
. . . . . . 7
                                 |
| 106 | 102, 105 | syl6bb 276 |
. . . . . 6
  
             
                  |
| 107 | 106 | rspcv 3305 |
. . . . 5
  

              
                 |
| 108 | 99, 93, 107 | sylc 65 |
. . . 4
 

  
                |
| 109 | | reeanv 3107 |
. . . . 5
  
                                                                |
| 110 | 78 | ad2antrr 762 |
. . . . . . . . 9
   
 
 
                                
  |
| 111 | 85 | ad2antrr 762 |
. . . . . . . . 9
   
 
 
                                   |
| 112 | | simprll 802 |
. . . . . . . . 9
   
 
 
                                   |
| 113 | | simprlr 803 |
. . . . . . . . 9
   
 
 
                                   |
| 114 | | expaddz 12904 |
. . . . . . . . 9
                         |
| 115 | 110, 111,
112, 113, 114 | syl22anc 1327 |
. . . . . . . 8
   
 
 
                                                   |
| 116 | | simpll 790 |
. . . . . . . . 9
   
 
 
                                   |
| 117 | 56 | ad2antrr 762 |
. . . . . . . . . 10
   
 
 
                                
  |
| 118 | 91 | adantr 481 |
. . . . . . . . . 10
   
 
 
                                
  |
| 119 | 99 | adantr 481 |
. . . . . . . . . 10
   
 
 
                                   |
| 120 | | eqid 2622 |
. . . . . . . . . . 11
         |
| 121 | 4, 120 | unitmulcl 18664 |
. . . . . . . . . 10
 
           |
| 122 | 117, 118,
119, 121 | syl3anc 1326 |
. . . . . . . . 9
   
 
 
                                           |
| 123 | 112, 113 | zaddcld 11486 |
. . . . . . . . 9
   
 
 
                                     |
| 124 | | simprrl 804 |
. . . . . . . . . . 11
   
 
 
                                                 |
| 125 | | simprrr 805 |
. . . . . . . . . . 11
   
 
 
                                                 |
| 126 | 124, 125 | oveq12d 6668 |
. . . . . . . . . 10
   
 
 
                                                                               |
| 127 | 11, 17, 18, 19 | dpjghm 18462 |
. . . . . . . . . . . . 13
       ↾s  DProd      |
| 128 | 21 | oveq2d 6666 |
. . . . . . . . . . . . . . 15
 
↾s  DProd    ↾s    |
| 129 | | ovex 6678 |
. . . . . . . . . . . . . . . . 17
 mulGrp 
↾s   |
| 130 | 42, 129 | eqeltri 2697 |
. . . . . . . . . . . . . . . 16
 |
| 131 | 70 | ressid 15935 |
. . . . . . . . . . . . . . . 16
  ↾s    |
| 132 | 130, 131 | ax-mp 5 |
. . . . . . . . . . . . . . 15
 ↾s   |
| 133 | 128, 132 | syl6eq 2672 |
. . . . . . . . . . . . . 14
 
↾s  DProd     |
| 134 | 133 | oveq1d 6665 |
. . . . . . . . . . . . 13
   ↾s  DProd        |
| 135 | 127, 134 | eleqtrd 2703 |
. . . . . . . . . . . 12
         |
| 136 | 135 | ad2antrr 762 |
. . . . . . . . . . 11
   
 
 
                                         |
| 137 | | fvex 6201 |
. . . . . . . . . . . . . 14
Unit   |
| 138 | 4, 137 | eqeltri 2697 |
. . . . . . . . . . . . 13
 |
| 139 | | eqid 2622 |
. . . . . . . . . . . . . . 15
mulGrp  mulGrp   |
| 140 | 139, 120 | mgpplusg 18493 |
. . . . . . . . . . . . . 14
      mulGrp    |
| 141 | 42, 140 | ressplusg 15993 |
. . . . . . . . . . . . 13
          |
| 142 | 138, 141 | ax-mp 5 |
. . . . . . . . . . . 12
        |
| 143 | 70, 142, 142 | ghmlin 17665 |
. . . . . . . . . . 11
       
                                           |
| 144 | 136, 118,
119, 143 | syl3anc 1326 |
. . . . . . . . . 10
   
 
 
                                                                           |
| 145 | 58 | ad2antrr 762 |
. . . . . . . . . . 11
   
 
 
                                
  |
| 146 | 69 | ad2antrr 762 |
. . . . . . . . . . 11
   
 
 
                                       |
| 147 | 70, 43, 142 | mulgdir 17573 |
. . . . . . . . . . 11
                                       |
| 148 | 145, 112,
113, 146, 147 | syl13anc 1328 |
. . . . . . . . . 10
   
 
 
                                                               |
| 149 | 126, 144,
148 | 3eqtr4d 2666 |
. . . . . . . . 9
   
 
 
                                                           |
| 150 | 1, 2, 6, 3, 40, 5,
41, 4, 42, 43, 15, 44, 45, 11, 21, 18, 46, 47, 19, 48, 49 | dchrptlem1 24989 |
. . . . . . . . 9
                                        
                    |
| 151 | 116, 122,
123, 149, 150 | syl22anc 1327 |
. . . . . . . 8
   
 
 
                                                     |
| 152 | 1, 2, 6, 3, 40, 5,
41, 4, 42, 43, 15, 44, 45, 11, 21, 18, 46, 47, 19, 48, 49 | dchrptlem1 24989 |
. . . . . . . . . 10
                    
          |
| 153 | 116, 118,
112, 124, 152 | syl22anc 1327 |
. . . . . . . . 9
   
 
 
                                           |
| 154 | 1, 2, 6, 3, 40, 5,
41, 4, 42, 43, 15, 44, 45, 11, 21, 18, 46, 47, 19, 48, 49 | dchrptlem1 24989 |
. . . . . . . . . 10
                    
          |
| 155 | 116, 119,
113, 125, 154 | syl22anc 1327 |
. . . . . . . . 9
   
 
 
                                           |
| 156 | 153, 155 | oveq12d 6668 |
. . . . . . . 8
   
 
 
                                                       |
| 157 | 115, 151,
156 | 3eqtr4d 2666 |
. . . . . . 7
   
 
 
                                                         |
| 158 | 157 | expr 643 |
. . . . . 6
   
 
                  
              
                         |
| 159 | 158 | rexlimdvva 3038 |
. . . . 5
 

                   
              
                         |
| 160 | 109, 159 | syl5bir 233 |
. . . 4
 

                                  
                         |
| 161 | 98, 108, 160 | mp2and 715 |
. . 3
 

                          |
| 162 | | id 22 |
. . . . 5
   |
| 163 | | eqid 2622 |
. . . . . . 7
         |
| 164 | 4, 163 | 1unit 18658 |
. . . . . 6

      |
| 165 | 56, 164 | syl 17 |
. . . . 5
       |
| 166 | | 0zd 11389 |
. . . . 5
   |
| 167 | | eqid 2622 |
. . . . . . . 8
         |
| 168 | 167, 167 | ghmid 17666 |
. . . . . . 7
      
                  |
| 169 | 135, 168 | syl 17 |
. . . . . 6
                   |
| 170 | 4, 42, 163 | unitgrpid 18669 |
. . . . . . . 8

          |
| 171 | 56, 170 | syl 17 |
. . . . . . 7
           |
| 172 | 171 | fveq2d 6195 |
. . . . . 6
                           |
| 173 | 70, 167, 43 | mulg0 17546 |
. . . . . . 7
     
           |
| 174 | 69, 173 | syl 17 |
. . . . . 6
             |
| 175 | 169, 172,
174 | 3eqtr4d 2666 |
. . . . 5
                     |
| 176 | 1, 2, 6, 3, 40, 5,
41, 4, 42, 43, 15, 44, 45, 11, 21, 18, 46, 47, 19, 48, 49 | dchrptlem1 24989 |
. . . . 5
                                           |
| 177 | 162, 165,
166, 175, 176 | syl22anc 1327 |
. . . 4
               |
| 178 | 78 | exp0d 13002 |
. . . 4
       |
| 179 | 177, 178 | eqtrd 2656 |
. . 3
           |
| 180 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
90, 161, 179 | dchrelbasd 24964 |
. 2
              |
| 181 | 61, 44 | sseldi 3601 |
. . . . 5
   |
| 182 | | eleq1 2689 |
. . . . . . 7
 
   |
| 183 | | fveq2 6191 |
. . . . . . 7
           |
| 184 | 182, 183 | ifbieq1d 4109 |
. . . . . 6
                     |
| 185 | | eqid 2622 |
. . . . . 6
                       |
| 186 | | fvex 6201 |
. . . . . . 7
     |
| 187 | | c0ex 10034 |
. . . . . . 7
 |
| 188 | 186, 187 | ifex 4156 |
. . . . . 6
          |
| 189 | 184, 185,
188 | fvmpt3i 6287 |
. . . . 5
                           |
| 190 | 181, 189 | syl 17 |
. . . 4
                           |
| 191 | 44 | iftrued 4094 |
. . . 4
                |
| 192 | 190, 191 | eqtrd 2656 |
. . 3
                      |
| 193 | | fveq2 6191 |
. . . . . . . 8
                   |
| 194 | 193 | eqeq1d 2624 |
. . . . . . 7
               
                 |
| 195 | 194 | rexbidv 3052 |
. . . . . 6
  
             
                  |
| 196 | 195 | rspcv 3305 |
. . . . 5
  

              
                 |
| 197 | 44, 92, 196 | sylc 65 |
. . . 4
                  |
| 198 | 1, 2, 6, 3, 40, 5,
41, 4, 42, 43, 15, 44, 45, 11, 21, 18, 46, 47, 19, 48, 49 | dchrptlem1 24989 |
. . . . . . . 8
                    
          |
| 199 | 47 | oveq1i 6660 |
. . . . . . . 8
       
               |
| 200 | 198, 199 | syl6eq 2672 |
. . . . . . 7
                    
                        |
| 201 | 48 | ad2antrr 762 |
. . . . . . . 8
                    
         |
| 202 | 58 | ad2antrr 762 |
. . . . . . . . . . 11
                    
  |
| 203 | 69 | ad2antrr 762 |
. . . . . . . . . . 11
                    
      |
| 204 | | simprl 794 |
. . . . . . . . . . 11
                    
  |
| 205 | 70, 46, 43, 167 | oddvds 17966 |
. . . . . . . . . . 11
               
             |
| 206 | 202, 203,
204, 205 | syl3anc 1326 |
. . . . . . . . . 10
                    
                      |
| 207 | 72 | ad2antrr 762 |
. . . . . . . . . . 11
                    
          |
| 208 | | root1eq1 24496 |
. . . . . . . . . . 11
         
                   
           |
| 209 | 207, 204,
208 | syl2anc 693 |
. . . . . . . . . 10
                    
                  
           |
| 210 | | simprr 796 |
. . . . . . . . . . 11
                    
                |
| 211 | 40, 171 | syl5eq 2668 |
. . . . . . . . . . . 12
       |
| 212 | 211 | ad2antrr 762 |
. . . . . . . . . . 11
                    
      |
| 213 | 210, 212 | eqeq12d 2637 |
. . . . . . . . . 10
                    
                      |
| 214 | 206, 209,
213 | 3bitr4d 300 |
. . . . . . . . 9
                    
                  
          |
| 215 | 214 | necon3bid 2838 |
. . . . . . . 8
                    
                  
          |
| 216 | 201, 215 | mpbird 247 |
. . . . . . 7
                    
                    |
| 217 | 200, 216 | eqnetrd 2861 |
. . . . . 6
                    
      |
| 218 | 217 | rexlimdvaa 3032 |
. . . . 5
 
  
                     |
| 219 | 44, 218 | mpdan 702 |
. . . 4
                        |
| 220 | 197, 219 | mpd 15 |
. . 3
       |
| 221 | 192, 220 | eqnetrd 2861 |
. 2
                  |
| 222 | | fveq1 6190 |
. . . 4
                                 |
| 223 | 222 | neeq1d 2853 |
. . 3
                                   |
| 224 | 223 | rspcev 3309 |
. 2
                                    |
| 225 | 180, 221,
224 | syl2anc 693 |
1
        |