| Step | Hyp | Ref
| Expression |
| 1 | | reumodprminv 15509 |
. . . 4
   ..^ 
    
         |
| 2 | | reurex 3160 |
. . . 4
           
     
         |
| 3 | | prmz 15389 |
. . . . . . . . . . 11

  |
| 4 | 3 | 3ad2ant1 1082 |
. . . . . . . . . 10
   ..^  ..^    |
| 5 | 4 | adantl 482 |
. . . . . . . . 9
              
 ..^  ..^  
  |
| 6 | | elfzelz 12342 |
. . . . . . . . . . 11
         |
| 7 | 6 | adantr 481 |
. . . . . . . . . 10
               |
| 8 | | elfzoelz 12470 |
. . . . . . . . . . 11
  ..^
  |
| 9 | 8 | 3ad2ant3 1084 |
. . . . . . . . . 10
   ..^  ..^    |
| 10 | | zmulcl 11426 |
. . . . . . . . . 10
 
     |
| 11 | 7, 9, 10 | syl2an 494 |
. . . . . . . . 9
              
 ..^  ..^  
    |
| 12 | 5, 11 | zsubcld 11487 |
. . . . . . . 8
              
 ..^  ..^  
      |
| 13 | | prmnn 15388 |
. . . . . . . . . 10

  |
| 14 | 13 | 3ad2ant1 1082 |
. . . . . . . . 9
   ..^  ..^    |
| 15 | 14 | adantl 482 |
. . . . . . . 8
              
 ..^  ..^  
  |
| 16 | | zmodfzo 12693 |
. . . . . . . 8
     
        ..^   |
| 17 | 12, 15, 16 | syl2anc 693 |
. . . . . . 7
              
 ..^  ..^  
 
     ..^   |
| 18 | 8 | zred 11482 |
. . . . . . . . . . 11
  ..^
  |
| 19 | 18 | 3ad2ant3 1084 |
. . . . . . . . . 10
   ..^  ..^    |
| 20 | 19 | adantl 482 |
. . . . . . . . 9
              
 ..^  ..^  
  |
| 21 | 13 | nnred 11035 |
. . . . . . . . . . . 12

  |
| 22 | 21 | 3ad2ant1 1082 |
. . . . . . . . . . 11
   ..^  ..^    |
| 23 | 22 | adantl 482 |
. . . . . . . . . 10
              
 ..^  ..^  
  |
| 24 | 6 | zred 11482 |
. . . . . . . . . . . 12
         |
| 25 | 24 | adantr 481 |
. . . . . . . . . . 11
               |
| 26 | | remulcl 10021 |
. . . . . . . . . . 11
 
     |
| 27 | 25, 19, 26 | syl2an 494 |
. . . . . . . . . 10
              
 ..^  ..^  
    |
| 28 | 23, 27 | resubcld 10458 |
. . . . . . . . 9
              
 ..^  ..^  
      |
| 29 | | elfzoelz 12470 |
. . . . . . . . . . 11
  ..^
  |
| 30 | 29 | 3ad2ant2 1083 |
. . . . . . . . . 10
   ..^  ..^    |
| 31 | 30 | adantl 482 |
. . . . . . . . 9
              
 ..^  ..^  
  |
| 32 | 13 | nnrpd 11870 |
. . . . . . . . . . 11

  |
| 33 | 32 | 3ad2ant1 1082 |
. . . . . . . . . 10
   ..^  ..^    |
| 34 | 33 | adantl 482 |
. . . . . . . . 9
              
 ..^  ..^  
  |
| 35 | | modaddmulmod 12737 |
. . . . . . . . 9
      

                         |
| 36 | 20, 28, 31, 34, 35 | syl31anc 1329 |
. . . . . . . 8
              
 ..^  ..^  
                        |
| 37 | 13 | nncnd 11036 |
. . . . . . . . . . . . 13

  |
| 38 | 37 | 3ad2ant1 1082 |
. . . . . . . . . . . 12
   ..^  ..^    |
| 39 | 38 | adantl 482 |
. . . . . . . . . . 11
              
 ..^  ..^  
  |
| 40 | 6 | zcnd 11483 |
. . . . . . . . . . . . 13
         |
| 41 | 40 | adantr 481 |
. . . . . . . . . . . 12
               |
| 42 | 8 | zcnd 11483 |
. . . . . . . . . . . . 13
  ..^
  |
| 43 | 42 | 3ad2ant3 1084 |
. . . . . . . . . . . 12
   ..^  ..^    |
| 44 | | mulcl 10020 |
. . . . . . . . . . . 12
 
     |
| 45 | 41, 43, 44 | syl2an 494 |
. . . . . . . . . . 11
              
 ..^  ..^  
    |
| 46 | 29 | zcnd 11483 |
. . . . . . . . . . . . 13
  ..^
  |
| 47 | 46 | 3ad2ant2 1083 |
. . . . . . . . . . . 12
   ..^  ..^    |
| 48 | 47 | adantl 482 |
. . . . . . . . . . 11
              
 ..^  ..^  
  |
| 49 | 39, 45, 48 | subdird 10487 |
. . . . . . . . . 10
              
 ..^  ..^  
 
              |
| 50 | 49 | oveq2d 6666 |
. . . . . . . . 9
              
 ..^  ..^  
                    |
| 51 | 50 | oveq1d 6665 |
. . . . . . . 8
              
 ..^  ..^  
                        |
| 52 | | mulcom 10022 |
. . . . . . . . . . . . . . . . . . 19
 
       |
| 53 | 37, 46, 52 | syl2an 494 |
. . . . . . . . . . . . . . . . . 18
   ..^ 
      |
| 54 | 53 | oveq1d 6665 |
. . . . . . . . . . . . . . . . 17
   ..^ 
 
    
   |
| 55 | | mulmod0 12676 |
. . . . . . . . . . . . . . . . . 18
 
       |
| 56 | 29, 32, 55 | syl2anr 495 |
. . . . . . . . . . . . . . . . 17
   ..^ 
 
    |
| 57 | 54, 56 | eqtrd 2656 |
. . . . . . . . . . . . . . . 16
   ..^ 
 
    |
| 58 | 57 | 3adant3 1081 |
. . . . . . . . . . . . . . 15
   ..^  ..^        |
| 59 | 58 | adantl 482 |
. . . . . . . . . . . . . 14
              
 ..^  ..^  
 
    |
| 60 | 41 | adantr 481 |
. . . . . . . . . . . . . . . . 17
              
 ..^  ..^  
  |
| 61 | 43 | adantl 482 |
. . . . . . . . . . . . . . . . 17
              
 ..^  ..^  
  |
| 62 | 60, 61, 48 | mul32d 10246 |
. . . . . . . . . . . . . . . 16
              
 ..^  ..^  
          |
| 63 | 62 | oveq1d 6665 |
. . . . . . . . . . . . . . 15
              
 ..^  ..^  
              |
| 64 | 29 | zred 11482 |
. . . . . . . . . . . . . . . . . 18
  ..^
  |
| 65 | 64 | 3ad2ant2 1083 |
. . . . . . . . . . . . . . . . 17
   ..^  ..^    |
| 66 | | remulcl 10021 |
. . . . . . . . . . . . . . . . 17
 
     |
| 67 | 25, 65, 66 | syl2an 494 |
. . . . . . . . . . . . . . . 16
              
 ..^  ..^  
    |
| 68 | 9 | adantl 482 |
. . . . . . . . . . . . . . . 16
              
 ..^  ..^  
  |
| 69 | | modmulmod 12735 |
. . . . . . . . . . . . . . . 16
   
       
         |
| 70 | 67, 68, 34, 69 | syl3anc 1326 |
. . . . . . . . . . . . . . 15
              
 ..^  ..^  
                |
| 71 | 63, 70 | eqtr4d 2659 |
. . . . . . . . . . . . . 14
              
 ..^  ..^  
                |
| 72 | 59, 71 | oveq12d 6668 |
. . . . . . . . . . . . 13
              
 ..^  ..^  
   
               
    |
| 73 | 72 | oveq1d 6665 |
. . . . . . . . . . . 12
              
 ..^  ..^  
                            |
| 74 | | remulcl 10021 |
. . . . . . . . . . . . . . . 16
 
     |
| 75 | 21, 64, 74 | syl2an 494 |
. . . . . . . . . . . . . . 15
   ..^ 
    |
| 76 | 75 | 3adant3 1081 |
. . . . . . . . . . . . . 14
   ..^  ..^      |
| 77 | 76 | adantl 482 |
. . . . . . . . . . . . 13
              
 ..^  ..^  
    |
| 78 | 65 | adantl 482 |
. . . . . . . . . . . . . 14
              
 ..^  ..^  
  |
| 79 | 27, 78 | remulcld 10070 |
. . . . . . . . . . . . 13
              
 ..^  ..^  
      |
| 80 | | modsubmodmod 12729 |
. . . . . . . . . . . . 13
       
                           |
| 81 | 77, 79, 34, 80 | syl3anc 1326 |
. . . . . . . . . . . 12
              
 ..^  ..^  
                          |
| 82 | | mulcom 10022 |
. . . . . . . . . . . . . . . . . . . . . . 23
 
       |
| 83 | 47, 40, 82 | syl2anr 495 |
. . . . . . . . . . . . . . . . . . . . . 22
        
 ..^  ..^   
     |
| 84 | 83 | oveq1d 6665 |
. . . . . . . . . . . . . . . . . . . . 21
        
 ..^  ..^     
       |
| 85 | 84 | eqeq1d 2624 |
. . . . . . . . . . . . . . . . . . . 20
        
 ..^  ..^          
    |
| 86 | 85 | biimpd 219 |
. . . . . . . . . . . . . . . . . . 19
        
 ..^  ..^               |
| 87 | 86 | impancom 456 |
. . . . . . . . . . . . . . . . . 18
              
 ..^  ..^         |
| 88 | 87 | imp 445 |
. . . . . . . . . . . . . . . . 17
              
 ..^  ..^  
      |
| 89 | 88 | oveq1d 6665 |
. . . . . . . . . . . . . . . 16
              
 ..^  ..^  
   
      |
| 90 | 89 | oveq1d 6665 |
. . . . . . . . . . . . . . 15
              
 ..^  ..^  
              |
| 91 | 90 | oveq2d 6666 |
. . . . . . . . . . . . . 14
              
 ..^  ..^  
     
            |
| 92 | 91 | oveq1d 6665 |
. . . . . . . . . . . . 13
              
 ..^  ..^  
                      |
| 93 | 61 | mulid2d 10058 |
. . . . . . . . . . . . . . . . 17
              
 ..^  ..^  
    |
| 94 | 93 | oveq1d 6665 |
. . . . . . . . . . . . . . . 16
              
 ..^  ..^  
        |
| 95 | 32, 18 | anim12ci 591 |
. . . . . . . . . . . . . . . . . . . 20
   ..^ 
    |
| 96 | | elfzo2 12473 |
. . . . . . . . . . . . . . . . . . . . . 22
  ..^     
   |
| 97 | | eluz2 11693 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
         |
| 98 | | 0red 10041 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
   |
| 99 | | 1red 10055 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
   |
| 100 | | zre 11381 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
   |
| 101 | 98, 99, 100 | 3jca 1242 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
 
   |
| 102 | 101 | adantr 481 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
   
   |
| 103 | | 0le1 10551 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
 |
| 104 | 103 | a1i 11 |
. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
   |
| 105 | 104 | anim1i 592 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
   
   |
| 106 | | letr 10131 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
 
  
    |
| 107 | 102, 105,
106 | sylc 65 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
  
  |
| 108 | 107 | 3adant1 1079 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
 
   |
| 109 | 97, 108 | sylbi 207 |
. . . . . . . . . . . . . . . . . . . . . . . 24
    
  |
| 110 | 109 | 3ad2ant1 1082 |
. . . . . . . . . . . . . . . . . . . . . . 23
         |
| 111 | | simp3 1063 |
. . . . . . . . . . . . . . . . . . . . . . 23
         |
| 112 | 110, 111 | jca 554 |
. . . . . . . . . . . . . . . . . . . . . 22
       
   |
| 113 | 96, 112 | sylbi 207 |
. . . . . . . . . . . . . . . . . . . . 21
  ..^
    |
| 114 | 113 | adantl 482 |
. . . . . . . . . . . . . . . . . . . 20
   ..^ 
    |
| 115 | 95, 114 | jca 554 |
. . . . . . . . . . . . . . . . . . 19
   ..^ 
 
 
    |
| 116 | 115 | 3adant2 1080 |
. . . . . . . . . . . . . . . . . 18
   ..^  ..^     
    |
| 117 | 116 | adantl 482 |
. . . . . . . . . . . . . . . . 17
              
 ..^  ..^  
 
 
    |
| 118 | | modid 12695 |
. . . . . . . . . . . . . . . . 17
    
 
    |
| 119 | 117, 118 | syl 17 |
. . . . . . . . . . . . . . . 16
              
 ..^  ..^  
    |
| 120 | 94, 119 | eqtrd 2656 |
. . . . . . . . . . . . . . 15
              
 ..^  ..^  
      |
| 121 | 120 | oveq2d 6666 |
. . . . . . . . . . . . . 14
              
 ..^  ..^  
          |
| 122 | 121 | oveq1d 6665 |
. . . . . . . . . . . . 13
              
 ..^  ..^  
              |
| 123 | 92, 122 | eqtrd 2656 |
. . . . . . . . . . . 12
              
 ..^  ..^  
                  |
| 124 | 73, 81, 123 | 3eqtr3d 2664 |
. . . . . . . . . . 11
              
 ..^  ..^  
                |
| 125 | 124 | oveq2d 6666 |
. . . . . . . . . 10
              
 ..^  ..^  
               
    |
| 126 | 125 | oveq1d 6665 |
. . . . . . . . 9
              
 ..^  ..^  
                        |
| 127 | 77, 79 | resubcld 10458 |
. . . . . . . . . 10
              
 ..^  ..^  
 
        |
| 128 | | modadd2mod 12720 |
. . . . . . . . . 10
         
                             |
| 129 | 127, 20, 34, 128 | syl3anc 1326 |
. . . . . . . . 9
              
 ..^  ..^  
                            |
| 130 | | 0red 10041 |
. . . . . . . . . . . . . . . 16
  ..^
  |
| 131 | 130, 18 | resubcld 10458 |
. . . . . . . . . . . . . . 15
  ..^
    |
| 132 | 131 | adantl 482 |
. . . . . . . . . . . . . 14
   ..^ 
    |
| 133 | 18 | adantl 482 |
. . . . . . . . . . . . . 14
   ..^ 
  |
| 134 | 32 | adantr 481 |
. . . . . . . . . . . . . 14
   ..^ 
  |
| 135 | 132, 133,
134 | 3jca 1242 |
. . . . . . . . . . . . 13
   ..^ 
      |
| 136 | 135 | 3adant2 1080 |
. . . . . . . . . . . 12
   ..^  ..^        |
| 137 | 136 | adantl 482 |
. . . . . . . . . . 11
              
 ..^  ..^  
      |
| 138 | | modadd2mod 12720 |
. . . . . . . . . . 11
   
     
 
         |
| 139 | 137, 138 | syl 17 |
. . . . . . . . . 10
              
 ..^  ..^  
                |
| 140 | | 0cnd 10033 |
. . . . . . . . . . . . . 14
  ..^
  |
| 141 | 42, 140 | pncan3d 10395 |
. . . . . . . . . . . . 13
  ..^
      |
| 142 | 141 | 3ad2ant3 1084 |
. . . . . . . . . . . 12
   ..^  ..^        |
| 143 | 142 | adantl 482 |
. . . . . . . . . . 11
              
 ..^  ..^  
      |
| 144 | 143 | oveq1d 6665 |
. . . . . . . . . 10
              
 ..^  ..^  
          |
| 145 | | 0mod 12701 |
. . . . . . . . . . . . 13

    |
| 146 | 32, 145 | syl 17 |
. . . . . . . . . . . 12

    |
| 147 | 146 | 3ad2ant1 1082 |
. . . . . . . . . . 11
   ..^  ..^      |
| 148 | 147 | adantl 482 |
. . . . . . . . . 10
              
 ..^  ..^  
    |
| 149 | 139, 144,
148 | 3eqtrd 2660 |
. . . . . . . . 9
              
 ..^  ..^  
          |
| 150 | 126, 129,
149 | 3eqtr3d 2664 |
. . . . . . . 8
              
 ..^  ..^  
              |
| 151 | 36, 51, 150 | 3eqtrd 2660 |
. . . . . . 7
              
 ..^  ..^  
              |
| 152 | | oveq1 6657 |
. . . . . . . . . . 11
                   |
| 153 | 152 | oveq2d 6666 |
. . . . . . . . . 10
                       |
| 154 | 153 | oveq1d 6665 |
. . . . . . . . 9
                           |
| 155 | 154 | eqeq1d 2624 |
. . . . . . . 8
                             |
| 156 | 155 | rspcev 3309 |
. . . . . . 7
         ..^              
 ..^          |
| 157 | 17, 151, 156 | syl2anc 693 |
. . . . . 6
              
 ..^  ..^  
  ..^          |
| 158 | 157 | ex 450 |
. . . . 5
              
 ..^  ..^    ..^           |
| 159 | 158 | rexlimiva 3028 |
. . . 4
           
    ..^  ..^ 
  ..^           |
| 160 | 1, 2, 159 | 3syl 18 |
. . 3
   ..^ 
 
 ..^  ..^    ..^           |
| 161 | 160 | 3adant3 1081 |
. 2
   ..^  ..^   
 ..^  ..^    ..^           |
| 162 | 161 | pm2.43i 52 |
1
   ..^  ..^    ..^          |