| Step | Hyp | Ref | Expression | 
						
							| 1 |  | simpl |  | 
						
							| 2 |  | 2nn |  | 
						
							| 3 | 2 | a1i |  | 
						
							| 4 |  | simpr |  | 
						
							| 5 | 3 4 | nnexpcld |  | 
						
							| 6 | 1 5 | zmodcld |  | 
						
							| 7 | 6 | nn0zd |  | 
						
							| 8 | 7 | znegcld |  | 
						
							| 9 |  | sadadd |  | 
						
							| 10 | 8 1 9 | syl2anc |  | 
						
							| 11 |  | sadadd |  | 
						
							| 12 | 8 7 11 | syl2anc |  | 
						
							| 13 | 8 | zcnd |  | 
						
							| 14 | 7 | zcnd |  | 
						
							| 15 | 13 14 | addcomd |  | 
						
							| 16 | 14 | negidd |  | 
						
							| 17 | 15 16 | eqtrd |  | 
						
							| 18 | 17 | fveq2d |  | 
						
							| 19 |  | 0bits |  | 
						
							| 20 | 18 19 | eqtrdi |  | 
						
							| 21 | 12 20 | eqtrd |  | 
						
							| 22 | 21 | oveq1d |  | 
						
							| 23 |  | bitsss |  | 
						
							| 24 |  | bitsss |  | 
						
							| 25 |  | inss1 |  | 
						
							| 26 |  | bitsss |  | 
						
							| 27 | 26 | a1i |  | 
						
							| 28 | 25 27 | sstrid |  | 
						
							| 29 |  | sadass |  | 
						
							| 30 | 23 24 28 29 | mp3an12i |  | 
						
							| 31 |  | bitsmod |  | 
						
							| 32 | 31 | oveq1d |  | 
						
							| 33 |  | inss1 |  | 
						
							| 34 | 33 27 | sstrid |  | 
						
							| 35 |  | fzouzdisj |  | 
						
							| 36 | 35 | ineq2i |  | 
						
							| 37 |  | inindi |  | 
						
							| 38 |  | in0 |  | 
						
							| 39 | 36 37 38 | 3eqtr3i |  | 
						
							| 40 | 39 | a1i |  | 
						
							| 41 | 34 28 40 | saddisj |  | 
						
							| 42 |  | indi |  | 
						
							| 43 | 41 42 | eqtr4di |  | 
						
							| 44 |  | nn0uz |  | 
						
							| 45 | 4 44 | eleqtrdi |  | 
						
							| 46 |  | fzouzsplit |  | 
						
							| 47 | 45 46 | syl |  | 
						
							| 48 | 44 47 | eqtrid |  | 
						
							| 49 | 26 48 | sseqtrid |  | 
						
							| 50 |  | dfss2 |  | 
						
							| 51 | 49 50 | sylib |  | 
						
							| 52 | 43 51 | eqtrd |  | 
						
							| 53 | 32 52 | eqtrd |  | 
						
							| 54 | 53 | oveq2d |  | 
						
							| 55 | 30 54 | eqtrd |  | 
						
							| 56 |  | sadid2 |  | 
						
							| 57 | 28 56 | syl |  | 
						
							| 58 | 22 55 57 | 3eqtr3d |  | 
						
							| 59 | 1 | zcnd |  | 
						
							| 60 | 13 59 | addcomd |  | 
						
							| 61 | 59 14 | negsubd |  | 
						
							| 62 | 59 14 | subcld |  | 
						
							| 63 | 5 | nncnd |  | 
						
							| 64 | 5 | nnne0d |  | 
						
							| 65 | 62 63 64 | divcan1d |  | 
						
							| 66 | 1 | zred |  | 
						
							| 67 | 5 | nnrpd |  | 
						
							| 68 |  | moddiffl |  | 
						
							| 69 | 66 67 68 | syl2anc |  | 
						
							| 70 | 69 | oveq1d |  | 
						
							| 71 | 61 65 70 | 3eqtr2d |  | 
						
							| 72 | 60 71 | eqtrd |  | 
						
							| 73 | 72 | fveq2d |  | 
						
							| 74 | 10 58 73 | 3eqtr3d |  |