| Step | Hyp | Ref
| Expression |
| 1 | | znf1o.y |
. . . . . . 7
ℤ/nℤ   |
| 2 | 1 | zncrng 14277 |
. . . . . 6

  |
| 3 | | crngring 13640 |
. . . . . 6

  |
| 4 | | eqid 2196 |
. . . . . . 7
 RHom   RHom   |
| 5 | 4 | zrhrhm 14255 |
. . . . . 6

 RHom  ℤring RingHom    |
| 6 | | zringbas 14228 |
. . . . . . 7
  ℤring |
| 7 | | znf1o.b |
. . . . . . 7
     |
| 8 | 6, 7 | rhmf 13795 |
. . . . . 6
  RHom  ℤring RingHom   RHom        |
| 9 | 2, 3, 5, 8 | 4syl 18 |
. . . . 5

 RHom        |
| 10 | | znf1o.w |
. . . . . . . 8
     ..^   |
| 11 | | simpr 110 |
. . . . . . . . 9
 
   |
| 12 | 11 | iftrued 3569 |
. . . . . . . 8
 
      ..^    |
| 13 | 10, 12 | eqtrid 2241 |
. . . . . . 7
 
   |
| 14 | | ssid 3204 |
. . . . . . 7
 |
| 15 | 13, 14 | eqsstrdi 3236 |
. . . . . 6
 
   |
| 16 | | simpr 110 |
. . . . . . . . 9
 

  |
| 17 | 16 | iffalsed 3572 |
. . . . . . . 8
 

 
 
 ..^   ..^   |
| 18 | 10, 17 | eqtrid 2241 |
. . . . . . 7
 

 ..^   |
| 19 | | elfzoelz 10239 |
. . . . . . . 8
  ..^
  |
| 20 | 19 | ssriv 3188 |
. . . . . . 7
 ..^  |
| 21 | 18, 20 | eqsstrdi 3236 |
. . . . . 6
 

  |
| 22 | | nn0z 9363 |
. . . . . . . 8

  |
| 23 | | 0z 9354 |
. . . . . . . 8
 |
| 24 | | zdceq 9418 |
. . . . . . . 8
 
 DECID   |
| 25 | 22, 23, 24 | sylancl 413 |
. . . . . . 7

DECID
  |
| 26 | | exmiddc 837 |
. . . . . . 7
DECID

   |
| 27 | 25, 26 | syl 14 |
. . . . . 6


   |
| 28 | 15, 21, 27 | mpjaodan 799 |
. . . . 5

  |
| 29 | 9, 28 | fssresd 5437 |
. . . 4

  RHom         |
| 30 | | znf1o.f |
. . . . 5
  RHom    |
| 31 | 30 | feq1i 5403 |
. . . 4
    
  RHom         |
| 32 | 29, 31 | sylibr 134 |
. . 3

      |
| 33 | 30 | fveq1i 5562 |
. . . . . . . 8
       RHom       |
| 34 | | fvres 5585 |
. . . . . . . . 9
    RHom        RHom       |
| 35 | 34 | ad2antrl 490 |
. . . . . . . 8
  
     RHom        RHom       |
| 36 | 33, 35 | eqtrid 2241 |
. . . . . . 7
  
        RHom       |
| 37 | 30 | fveq1i 5562 |
. . . . . . . 8
       RHom       |
| 38 | | fvres 5585 |
. . . . . . . . 9
    RHom        RHom       |
| 39 | 38 | ad2antll 491 |
. . . . . . . 8
  
     RHom        RHom       |
| 40 | 37, 39 | eqtrid 2241 |
. . . . . . 7
  
        RHom       |
| 41 | 36, 40 | eqeq12d 2211 |
. . . . . 6
  
          
  RHom       RHom        |
| 42 | | simpl 109 |
. . . . . . 7
  
    |
| 43 | 28 | adantr 276 |
. . . . . . . 8
  
    |
| 44 | | simprl 529 |
. . . . . . . 8
  
    |
| 45 | 43, 44 | sseldd 3185 |
. . . . . . 7
  
    |
| 46 | | simprr 531 |
. . . . . . . 8
  
    |
| 47 | 43, 46 | sseldd 3185 |
. . . . . . 7
  
    |
| 48 | 1, 4 | zndvds 14281 |
. . . . . . 7
 
    RHom       RHom    
     |
| 49 | 42, 45, 47, 48 | syl3anc 1249 |
. . . . . 6
  
     RHom       RHom    
     |
| 50 | | elnn0 9268 |
. . . . . . 7

    |
| 51 | | simpl 109 |
. . . . . . . . . 10
  
    |
| 52 | 51 | nnnn0d 9319 |
. . . . . . . . . . . 12
  
    |
| 53 | 52, 28 | syl 14 |
. . . . . . . . . . 11
  
    |
| 54 | | simprl 529 |
. . . . . . . . . . 11
  
    |
| 55 | 53, 54 | sseldd 3185 |
. . . . . . . . . 10
  
    |
| 56 | | simprr 531 |
. . . . . . . . . . 11
  
    |
| 57 | 53, 56 | sseldd 3185 |
. . . . . . . . . 10
  
    |
| 58 | | moddvds 11981 |
. . . . . . . . . 10
 
     
     |
| 59 | 51, 55, 57, 58 | syl3anc 1249 |
. . . . . . . . 9
  
      
     |
| 60 | | zq 9717 |
. . . . . . . . . . . 12
   |
| 61 | 55, 60 | syl 14 |
. . . . . . . . . . 11
  
    |
| 62 | | nnq 9724 |
. . . . . . . . . . . 12
   |
| 63 | 62 | adantr 276 |
. . . . . . . . . . 11
  
    |
| 64 | | nnne0 9035 |
. . . . . . . . . . . . . . . 16
   |
| 65 | | ifnefalse 3573 |
. . . . . . . . . . . . . . . 16
  
   ..^   ..^   |
| 66 | 64, 65 | syl 14 |
. . . . . . . . . . . . . . 15
  
   ..^   ..^   |
| 67 | 10, 66 | eqtrid 2241 |
. . . . . . . . . . . . . 14
  ..^   |
| 68 | 67 | adantr 276 |
. . . . . . . . . . . . 13
  
   ..^   |
| 69 | 54, 68 | eleqtrd 2275 |
. . . . . . . . . . . 12
  
   ..^   |
| 70 | | elfzole1 10248 |
. . . . . . . . . . . 12
  ..^
  |
| 71 | 69, 70 | syl 14 |
. . . . . . . . . . 11
  
    |
| 72 | | elfzolt2 10249 |
. . . . . . . . . . . 12
  ..^
  |
| 73 | 69, 72 | syl 14 |
. . . . . . . . . . 11
  
    |
| 74 | | modqid 10458 |
. . . . . . . . . . 11
       
   |
| 75 | 61, 63, 71, 73, 74 | syl22anc 1250 |
. . . . . . . . . 10
  
  
   |
| 76 | | zq 9717 |
. . . . . . . . . . . 12
   |
| 77 | 57, 76 | syl 14 |
. . . . . . . . . . 11
  
    |
| 78 | 56, 68 | eleqtrd 2275 |
. . . . . . . . . . . 12
  
   ..^   |
| 79 | | elfzole1 10248 |
. . . . . . . . . . . 12
  ..^
  |
| 80 | 78, 79 | syl 14 |
. . . . . . . . . . 11
  
    |
| 81 | | elfzolt2 10249 |
. . . . . . . . . . . 12
  ..^
  |
| 82 | 78, 81 | syl 14 |
. . . . . . . . . . 11
  
    |
| 83 | | modqid 10458 |
. . . . . . . . . . 11
    
  
   |
| 84 | 77, 63, 80, 82, 83 | syl22anc 1250 |
. . . . . . . . . 10
  
  
   |
| 85 | 75, 84 | eqeq12d 2211 |
. . . . . . . . 9
  
      
   |
| 86 | 59, 85 | bitr3d 190 |
. . . . . . . 8
  
    
   |
| 87 | | simpl 109 |
. . . . . . . . . 10
  
    |
| 88 | 87 | breq1d 4044 |
. . . . . . . . 9
  
    

    |
| 89 | | id 19 |
. . . . . . . . . . . . 13
   |
| 90 | | 0nn0 9281 |
. . . . . . . . . . . . 13
 |
| 91 | 89, 90 | eqeltrdi 2287 |
. . . . . . . . . . . 12
   |
| 92 | 91, 45 | sylan 283 |
. . . . . . . . . . 11
  
    |
| 93 | 91, 47 | sylan 283 |
. . . . . . . . . . 11
  
    |
| 94 | 92, 93 | zsubcld 9470 |
. . . . . . . . . 10
  
      |
| 95 | | 0dvds 11993 |
. . . . . . . . . 10
   
 
     |
| 96 | 94, 95 | syl 14 |
. . . . . . . . 9
  
  
 
     |
| 97 | 92 | zcnd 9466 |
. . . . . . . . . 10
  
    |
| 98 | 93 | zcnd 9466 |
. . . . . . . . . 10
  
    |
| 99 | 97, 98 | subeq0ad 8364 |
. . . . . . . . 9
  
        |
| 100 | 88, 96, 99 | 3bitrd 214 |
. . . . . . . 8
  
    
   |
| 101 | 86, 100 | jaoian 796 |
. . . . . . 7
  


        |
| 102 | 50, 101 | sylanb 284 |
. . . . . 6
  
    
   |
| 103 | 41, 49, 102 | 3bitrd 214 |
. . . . 5
  
          
   |
| 104 | 103 | biimpd 144 |
. . . 4
  
          
   |
| 105 | 104 | ralrimivva 2579 |
. . 3



            |
| 106 | | dff13 5818 |
. . 3
    
     

        
    |
| 107 | 32, 105, 106 | sylanbrc 417 |
. 2

      |
| 108 | | zmodfzo 10456 |
. . . . . . . . . . . 12
 
    ..^   |
| 109 | 108 | ancoms 268 |
. . . . . . . . . . 11
 
    ..^   |
| 110 | 67 | adantr 276 |
. . . . . . . . . . 11
 
  ..^   |
| 111 | 109, 110 | eleqtrrd 2276 |
. . . . . . . . . 10
 
     |
| 112 | | zq 9717 |
. . . . . . . . . . . . . . 15
   |
| 113 | 112 | adantl 277 |
. . . . . . . . . . . . . 14
 
   |
| 114 | 62 | adantr 276 |
. . . . . . . . . . . . . 14
 
   |
| 115 | | nngt0 9032 |
. . . . . . . . . . . . . . 15
   |
| 116 | 115 | adantr 276 |
. . . . . . . . . . . . . 14
 
   |
| 117 | | modqabs2 10467 |
. . . . . . . . . . . . . 14
 
   
     |
| 118 | 113, 114,
116, 117 | syl3anc 1249 |
. . . . . . . . . . . . 13
 
         |
| 119 | | simpl 109 |
. . . . . . . . . . . . . 14
 
   |
| 120 | 20, 109 | sselid 3182 |
. . . . . . . . . . . . . 14
 
     |
| 121 | | simpr 110 |
. . . . . . . . . . . . . 14
 
   |
| 122 | | moddvds 11981 |
. . . . . . . . . . . . . 14
   
       
 
     |
| 123 | 119, 120,
121, 122 | syl3anc 1249 |
. . . . . . . . . . . . 13
 
       
 
     |
| 124 | 118, 123 | mpbid 147 |
. . . . . . . . . . . 12
 
       |
| 125 | | nnnn0 9273 |
. . . . . . . . . . . . . 14
   |
| 126 | 125 | adantr 276 |
. . . . . . . . . . . . 13
 
   |
| 127 | 1, 4 | zndvds 14281 |
. . . . . . . . . . . . 13
   
    RHom    
    RHom    
       |
| 128 | 126, 120,
121, 127 | syl3anc 1249 |
. . . . . . . . . . . 12
 
    RHom    
    RHom    
       |
| 129 | 124, 128 | mpbird 167 |
. . . . . . . . . . 11
 
   RHom    
    RHom       |
| 130 | 129 | eqcomd 2202 |
. . . . . . . . . 10
 
   RHom       RHom         |
| 131 | | fveq2 5561 |
. . . . . . . . . . 11
     RHom       RHom    
    |
| 132 | 131 | rspceeqv 2886 |
. . . . . . . . . 10
      RHom       RHom        
  RHom       RHom       |
| 133 | 111, 130,
132 | syl2anc 411 |
. . . . . . . . 9
 
    RHom       RHom       |
| 134 | | iftrue 3567 |
. . . . . . . . . . . . 13
  
   ..^    |
| 135 | 134 | eleq2d 2266 |
. . . . . . . . . . . 12
       ..^ 
   |
| 136 | 135 | biimpar 297 |
. . . . . . . . . . 11
    
   ..^    |
| 137 | 136, 10 | eleqtrrdi 2290 |
. . . . . . . . . 10
     |
| 138 | | eqidd 2197 |
. . . . . . . . . 10
     RHom       RHom       |
| 139 | | fveq2 5561 |
. . . . . . . . . . 11
   RHom       RHom       |
| 140 | 139 | rspceeqv 2886 |
. . . . . . . . . 10
    RHom       RHom      
  RHom       RHom       |
| 141 | 137, 138,
140 | syl2anc 411 |
. . . . . . . . 9
      RHom       RHom       |
| 142 | 133, 141 | jaoian 796 |
. . . . . . . 8
  



  RHom       RHom       |
| 143 | 50, 142 | sylanb 284 |
. . . . . . 7
 
    RHom       RHom       |
| 144 | 37, 38 | eqtrid 2241 |
. . . . . . . . 9
       RHom       |
| 145 | 144 | eqeq2d 2208 |
. . . . . . . 8
    RHom        
  RHom       RHom        |
| 146 | 145 | rexbiia 2512 |
. . . . . . 7
    RHom        

  RHom       RHom       |
| 147 | 143, 146 | sylibr 134 |
. . . . . 6
 
    RHom           |
| 148 | 147 | ralrimiva 2570 |
. . . . 5

    RHom           |
| 149 | 1, 7, 4 | znzrhfo 14280 |
. . . . . 6

 RHom        |
| 150 | | fofn 5485 |
. . . . . 6
  RHom     
 RHom    |
| 151 | | eqeq1 2203 |
. . . . . . . 8
   RHom    
    
  RHom            |
| 152 | 151 | rexbidv 2498 |
. . . . . . 7
   RHom    
 
   

  RHom            |
| 153 | 152 | ralrn 5703 |
. . . . . 6
  RHom 
 
 RHom   
    
   RHom            |
| 154 | 149, 150,
153 | 3syl 17 |
. . . . 5

 
 RHom   
    
   RHom            |
| 155 | 148, 154 | mpbird 167 |
. . . 4

  RHom   
      |
| 156 | | forn 5486 |
. . . . 5
  RHom     
 RHom    |
| 157 | 149, 156 | syl 14 |
. . . 4

 RHom    |
| 158 | 155, 157 | raleqtrdv 2701 |
. . 3



      |
| 159 | | dffo3 5712 |
. . 3
    
     

       |
| 160 | 32, 158, 159 | sylanbrc 417 |
. 2

      |
| 161 | | df-f1o 5266 |
. 2
         
       |
| 162 | 107, 160,
161 | sylanbrc 417 |
1

      |