Proof of Theorem bitsres
| Step | Hyp | Ref
| Expression |
| 1 | | simpl 473 |
. . . . . 6
 

  |
| 2 | | 2nn 11185 |
. . . . . . . 8
 |
| 3 | 2 | a1i 11 |
. . . . . . 7
 
   |
| 4 | | simpr 477 |
. . . . . . 7
 

  |
| 5 | 3, 4 | nnexpcld 13030 |
. . . . . 6
 
       |
| 6 | 1, 5 | zmodcld 12691 |
. . . . 5
 
         |
| 7 | 6 | nn0zd 11480 |
. . . 4
 
         |
| 8 | 7 | znegcld 11484 |
. . 3
 
          |
| 9 | | sadadd 15189 |
. . 3
           bits         sadd bits   bits             |
| 10 | 8, 1, 9 | syl2anc 693 |
. 2
 
  bits         sadd bits   bits             |
| 11 | | sadadd 15189 |
. . . . . 6
                 bits         sadd bits 
       bits                   |
| 12 | 8, 7, 11 | syl2anc 693 |
. . . . 5
 
  bits         sadd bits         bits                   |
| 13 | 8 | zcnd 11483 |
. . . . . . . . 9
 
          |
| 14 | 7 | zcnd 11483 |
. . . . . . . . 9
 
         |
| 15 | 13, 14 | addcomd 10238 |
. . . . . . . 8
 
                                 |
| 16 | 14 | negidd 10382 |
. . . . . . . 8
 
         
        |
| 17 | 15, 16 | eqtrd 2656 |
. . . . . . 7
 
                  |
| 18 | 17 | fveq2d 6195 |
. . . . . 6
 
 bits                 bits    |
| 19 | | 0bits 15161 |
. . . . . 6
bits   |
| 20 | 18, 19 | syl6eq 2672 |
. . . . 5
 
 bits                   |
| 21 | 12, 20 | eqtrd 2656 |
. . . 4
 
  bits         sadd bits           |
| 22 | 21 | oveq1d 6665 |
. . 3
 
   bits         sadd bits 
       sadd  bits         sadd  bits          |
| 23 | | bitsss 15148 |
. . . . 5
bits          |
| 24 | | bitsss 15148 |
. . . . 5
bits 
     
 |
| 25 | | inss1 3833 |
. . . . . 6
 bits       bits   |
| 26 | | bitsss 15148 |
. . . . . . 7
bits   |
| 27 | 26 | a1i 11 |
. . . . . 6
 
 bits    |
| 28 | 25, 27 | syl5ss 3614 |
. . . . 5
 
  bits 
       |
| 29 | | sadass 15193 |
. . . . 5
  bits        
bits         bits      
   bits         sadd bits 
       sadd  bits         bits         sadd  bits        sadd  bits           |
| 30 | 23, 24, 28, 29 | mp3an12i 1428 |
. . . 4
 
   bits         sadd bits 
       sadd  bits         bits         sadd  bits        sadd  bits           |
| 31 | | bitsmod 15158 |
. . . . . . 7
 
 bits         bits 
 ..^    |
| 32 | 31 | oveq1d 6665 |
. . . . . 6
 
  bits        sadd  bits 
        bits   ..^  sadd  bits 
        |
| 33 | | inss1 3833 |
. . . . . . . . . 10
 bits   ..^  bits   |
| 34 | 33, 27 | syl5ss 3614 |
. . . . . . . . 9
 
  bits 
 ..^    |
| 35 | | fzouzdisj 12504 |
. . . . . . . . . . . 12
  ..^       |
| 36 | 35 | ineq2i 3811 |
. . . . . . . . . . 11
 bits    ..^        bits 
  |
| 37 | | inindi 3830 |
. . . . . . . . . . 11
 bits    ..^         bits   ..^   bits         |
| 38 | | in0 3968 |
. . . . . . . . . . 11
 bits    |
| 39 | 36, 37, 38 | 3eqtr3i 2652 |
. . . . . . . . . 10
  bits   ..^   bits         |
| 40 | 39 | a1i 11 |
. . . . . . . . 9
 
   bits   ..^   bits          |
| 41 | 34, 28, 40 | saddisj 15187 |
. . . . . . . 8
 
   bits   ..^  sadd  bits 
        bits   ..^   bits          |
| 42 | | indi 3873 |
. . . . . . . 8
 bits    ..^         bits   ..^   bits         |
| 43 | 41, 42 | syl6eqr 2674 |
. . . . . . 7
 
   bits   ..^  sadd  bits 
       bits    ..^         |
| 44 | | nn0uz 11722 |
. . . . . . . . . 10
     |
| 45 | 4, 44 | syl6eleq 2711 |
. . . . . . . . . . 11
 

      |
| 46 | | fzouzsplit 12503 |
. . . . . . . . . . 11
    
      ..^        |
| 47 | 45, 46 | syl 17 |
. . . . . . . . . 10
 
       ..^        |
| 48 | 44, 47 | syl5eq 2668 |
. . . . . . . . 9
 
   ..^        |
| 49 | 26, 48 | syl5sseq 3653 |
. . . . . . . 8
 
 bits    ..^        |
| 50 | | df-ss 3588 |
. . . . . . . 8
 bits    ..^     
 bits    ..^       bits    |
| 51 | 49, 50 | sylib 208 |
. . . . . . 7
 
  bits 
  ..^       bits    |
| 52 | 43, 51 | eqtrd 2656 |
. . . . . 6
 
   bits   ..^  sadd  bits 
      bits    |
| 53 | 32, 52 | eqtrd 2656 |
. . . . 5
 
  bits        sadd  bits 
      bits    |
| 54 | 53 | oveq2d 6666 |
. . . 4
 
  bits         sadd  bits        sadd  bits 
        bits         sadd bits     |
| 55 | 30, 54 | eqtrd 2656 |
. . 3
 
   bits         sadd bits 
       sadd  bits         bits         sadd bits     |
| 56 | | sadid2 15191 |
. . . 4
  bits      
 sadd  bits         bits         |
| 57 | 28, 56 | syl 17 |
. . 3
 
  sadd  bits         bits         |
| 58 | 22, 55, 57 | 3eqtr3d 2664 |
. 2
 
  bits         sadd bits    bits         |
| 59 | 1 | zcnd 11483 |
. . . . 5
 

  |
| 60 | 13, 59 | addcomd 10238 |
. . . 4
 
                     |
| 61 | 59, 14 | negsubd 10398 |
. . . . 5
 
   
                |
| 62 | 59, 14 | subcld 10392 |
. . . . . 6
 
           |
| 63 | 5 | nncnd 11036 |
. . . . . 6
 
       |
| 64 | 5 | nnne0d 11065 |
. . . . . 6
 
       |
| 65 | 62, 63, 64 | divcan1d 10802 |
. . . . 5
 
                               |
| 66 | 1 | zred 11482 |
. . . . . . 7
 

  |
| 67 | 5 | nnrpd 11870 |
. . . . . . 7
 
       |
| 68 | | moddiffl 12681 |
. . . . . . 7
         
              
        |
| 69 | 66, 67, 68 | syl2anc 693 |
. . . . . 6
 
   
              
        |
| 70 | 69 | oveq1d 6665 |
. . . . 5
 
                                       |
| 71 | 61, 65, 70 | 3eqtr2d 2662 |
. . . 4
 
   
                        |
| 72 | 60, 71 | eqtrd 2656 |
. . 3
 
                            |
| 73 | 72 | fveq2d 6195 |
. 2
 
 bits           bits                    |
| 74 | 10, 58, 73 | 3eqtr3d 2664 |
1
 
  bits 
     bits                    |