| Step | Hyp | Ref
| Expression |
| 1 | | elfzoelz 12470 |
. . . . . 6
  ..^  
  |
| 2 | | crth.1 |
. . . . . 6
 ..^    |
| 3 | 1, 2 | eleq2s 2719 |
. . . . 5
   |
| 4 | | simpr 477 |
. . . . . . . 8
 

  |
| 5 | | crth.4 |
. . . . . . . . . 10
  
    |
| 6 | 5 | simp1d 1073 |
. . . . . . . . 9
   |
| 7 | 6 | adantr 481 |
. . . . . . . 8
 

  |
| 8 | | zmodfzo 12693 |
. . . . . . . 8
 
    ..^   |
| 9 | 4, 7, 8 | syl2anc 693 |
. . . . . . 7
 

   ..^   |
| 10 | 5 | simp2d 1074 |
. . . . . . . . 9
   |
| 11 | 10 | adantr 481 |
. . . . . . . 8
 

  |
| 12 | | zmodfzo 12693 |
. . . . . . . 8
 
    ..^   |
| 13 | 4, 11, 12 | syl2anc 693 |
. . . . . . 7
 

   ..^   |
| 14 | | opelxpi 5148 |
. . . . . . 7
     ..^ 
  ..^ 
         ..^  ..^    |
| 15 | 9, 13, 14 | syl2anc 693 |
. . . . . 6
 

 
    
  ..^  ..^    |
| 16 | | crth.2 |
. . . . . 6
  ..^  ..^   |
| 17 | 15, 16 | syl6eleqr 2712 |
. . . . 5
 

 
    
  |
| 18 | 3, 17 | sylan2 491 |
. . . 4
 
  
    
  |
| 19 | | crth.3 |
. . . 4
          |
| 20 | 18, 19 | fmptd 6385 |
. . 3
       |
| 21 | | oveq1 6657 |
. . . . . . . . . 10
 
     |
| 22 | | oveq1 6657 |
. . . . . . . . . 10
 
     |
| 23 | 21, 22 | opeq12d 4410 |
. . . . . . . . 9
  
    
         |
| 24 | | opex 4932 |
. . . . . . . . 9
 
      |
| 25 | 23, 19, 24 | fvmpt 6282 |
. . . . . . . 8
              |
| 26 | 25 | ad2antrl 764 |
. . . . . . 7
 

       
       |
| 27 | | oveq1 6657 |
. . . . . . . . . 10
 
     |
| 28 | | oveq1 6657 |
. . . . . . . . . 10
 
     |
| 29 | 27, 28 | opeq12d 4410 |
. . . . . . . . 9
  
    
         |
| 30 | | opex 4932 |
. . . . . . . . 9
 
      |
| 31 | 29, 19, 30 | fvmpt 6282 |
. . . . . . . 8
              |
| 32 | 31 | ad2antll 765 |
. . . . . . 7
 

       
       |
| 33 | 26, 32 | eqeq12d 2637 |
. . . . . 6
 

                            |
| 34 | | ovex 6678 |
. . . . . . 7
   |
| 35 | | ovex 6678 |
. . . . . . 7
   |
| 36 | 34, 35 | opth 4945 |
. . . . . 6
                           |
| 37 | 33, 36 | syl6bb 276 |
. . . . 5
 

                        |
| 38 | 6 | adantr 481 |
. . . . . . . 8
 

 
  |
| 39 | 38 | nnzd 11481 |
. . . . . . 7
 

 
  |
| 40 | 10 | adantr 481 |
. . . . . . . 8
 

 
  |
| 41 | 40 | nnzd 11481 |
. . . . . . 7
 

 
  |
| 42 | | simprl 794 |
. . . . . . . . . 10
 

    |
| 43 | 42, 2 | syl6eleq 2711 |
. . . . . . . . 9
 

   ..^     |
| 44 | | elfzoelz 12470 |
. . . . . . . . 9
  ..^  
  |
| 45 | 43, 44 | syl 17 |
. . . . . . . 8
 

    |
| 46 | | simprr 796 |
. . . . . . . . . 10
 

    |
| 47 | 46, 2 | syl6eleq 2711 |
. . . . . . . . 9
 

   ..^     |
| 48 | | elfzoelz 12470 |
. . . . . . . . 9
  ..^  
  |
| 49 | 47, 48 | syl 17 |
. . . . . . . 8
 

    |
| 50 | 45, 49 | zsubcld 11487 |
. . . . . . 7
 

      |
| 51 | 5 | simp3d 1075 |
. . . . . . . 8
     |
| 52 | 51 | adantr 481 |
. . . . . . 7
 

      |
| 53 | | coprmdvds2 15368 |
. . . . . . 7
                
      |
| 54 | 39, 41, 50, 52, 53 | syl31anc 1329 |
. . . . . 6
 

     
  
       |
| 55 | | moddvds 14991 |
. . . . . . . 8
 
     
     |
| 56 | 38, 45, 49, 55 | syl3anc 1326 |
. . . . . . 7
 

      
     |
| 57 | | moddvds 14991 |
. . . . . . . 8
 
     
     |
| 58 | 40, 45, 49, 57 | syl3anc 1326 |
. . . . . . 7
 

      
     |
| 59 | 56, 58 | anbi12d 747 |
. . . . . 6
 

       
       
      |
| 60 | 45 | zred 11482 |
. . . . . . . . 9
 

    |
| 61 | 38, 40 | nnmulcld 11068 |
. . . . . . . . . 10
 

      |
| 62 | 61 | nnrpd 11870 |
. . . . . . . . 9
 

      |
| 63 | | elfzole1 12478 |
. . . . . . . . . 10
  ..^  
  |
| 64 | 43, 63 | syl 17 |
. . . . . . . . 9
 

 
  |
| 65 | | elfzolt2 12479 |
. . . . . . . . . 10
  ..^  
    |
| 66 | 43, 65 | syl 17 |
. . . . . . . . 9
 

 
    |
| 67 | | modid 12695 |
. . . . . . . . 9
      
   
      |
| 68 | 60, 62, 64, 66, 67 | syl22anc 1327 |
. . . . . . . 8
 

   
    |
| 69 | 49 | zred 11482 |
. . . . . . . . 9
 

    |
| 70 | | elfzole1 12478 |
. . . . . . . . . 10
  ..^  
  |
| 71 | 47, 70 | syl 17 |
. . . . . . . . 9
 

 
  |
| 72 | | elfzolt2 12479 |
. . . . . . . . . 10
  ..^  
    |
| 73 | 47, 72 | syl 17 |
. . . . . . . . 9
 

 
    |
| 74 | | modid 12695 |
. . . . . . . . 9
      
   
      |
| 75 | 69, 62, 71, 73, 74 | syl22anc 1327 |
. . . . . . . 8
 

   
    |
| 76 | 68, 75 | eqeq12d 2637 |
. . . . . . 7
 

              |
| 77 | | moddvds 14991 |
. . . . . . . 8
   
   
     
       |
| 78 | 61, 45, 49, 77 | syl3anc 1326 |
. . . . . . 7
 

            
     |
| 79 | 76, 78 | bitr3d 270 |
. . . . . 6
 

    
     |
| 80 | 54, 59, 79 | 3imtr4d 283 |
. . . . 5
 

       
    
   |
| 81 | 37, 80 | sylbid 230 |
. . . 4
 

              |
| 82 | 81 | ralrimivva 2971 |
. . 3
  
            |
| 83 | | dff13 6512 |
. . 3
    
     

             |
| 84 | 20, 82, 83 | sylanbrc 698 |
. 2
       |
| 85 | | nnnn0 11299 |
. . . . . 6
   |
| 86 | | nnnn0 11299 |
. . . . . 6
   |
| 87 | | nn0mulcl 11329 |
. . . . . . . . 9
 
     |
| 88 | | hashfzo0 13217 |
. . . . . . . . 9
  
    ..^        |
| 89 | 87, 88 | syl 17 |
. . . . . . . 8
 
     ..^        |
| 90 | | fzofi 12773 |
. . . . . . . . . 10
 ..^  |
| 91 | | fzofi 12773 |
. . . . . . . . . 10
 ..^  |
| 92 | | hashxp 13221 |
. . . . . . . . . 10
   ..^  ..^       ..^  ..^        ..^      ..^     |
| 93 | 90, 91, 92 | mp2an 708 |
. . . . . . . . 9
     ..^  ..^        ..^      ..^    |
| 94 | | hashfzo0 13217 |
. . . . . . . . . 10

    ..^    |
| 95 | | hashfzo0 13217 |
. . . . . . . . . 10

    ..^    |
| 96 | 94, 95 | oveqan12d 6669 |
. . . . . . . . 9
 
      ..^      ..^       |
| 97 | 93, 96 | syl5eq 2668 |
. . . . . . . 8
 
      ..^  ..^       |
| 98 | 89, 97 | eqtr4d 2659 |
. . . . . . 7
 
     ..^         ..^  ..^     |
| 99 | | fzofi 12773 |
. . . . . . . 8
 ..^    |
| 100 | | xpfi 8231 |
. . . . . . . . 9
   ..^  ..^    ..^  ..^    |
| 101 | 90, 91, 100 | mp2an 708 |
. . . . . . . 8
  ..^  ..^   |
| 102 | | hashen 13135 |
. . . . . . . 8
   ..^     ..^  ..^        ..^         ..^  ..^    ..^     ..^  ..^     |
| 103 | 99, 101, 102 | mp2an 708 |
. . . . . . 7
     ..^
        ..^  ..^  
 ..^     ..^  ..^    |
| 104 | 98, 103 | sylib 208 |
. . . . . 6
 
  ..^     ..^  ..^    |
| 105 | 85, 86, 104 | syl2an 494 |
. . . . 5
 
  ..^     ..^  ..^    |
| 106 | 6, 10, 105 | syl2anc 693 |
. . . 4
  ..^     ..^  ..^    |
| 107 | 106, 2, 16 | 3brtr4g 4687 |
. . 3
   |
| 108 | 16, 101 | eqeltri 2697 |
. . 3
 |
| 109 | | f1finf1o 8187 |
. . 3
 
             |
| 110 | 107, 108,
109 | sylancl 694 |
. 2
             |
| 111 | 84, 110 | mpbid 222 |
1
       |