| i0 < 0 ⊦ b2i(i2b(bits2int(lastn(8, int2bits(i0 * 2 ^ 8))))) = 0, ~256 ≠ i0 * 2 ^ 8 ∧ lastn(8, int2bits(i0 * 2 ^ 8)).first |
0 ≤ i, j ≠ 0 ⊦ int2bits(j * 2 ^ i) = int2bits(j) + mklist(false, i→n(i))
Used simplifier rules: byte: ⊦ b2i(i2b(0)) = 0;%int2bits-zero: ⊦ int2bits(0) = false '; from specification int2bits%mklist-num: n ≠ 0 ⊦ mklist(false, (* n)) = false ' + mklist(false, n -1); from specification bitlista%mk-zero: ⊦ mklist(boolvar, 0) = []; from specification list-last[bitlista]%app: ⊦ bits + [] = bits; from specification list[bitlista]%a: ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1; from specification list[bitlista]%num-lastN: 0 < n ⊦ lastn((* n), bits + boolvar ') = lastn(n -1, bits) + boolvar '; from specification list-del[bitlista]%lastn-one: ⊦ lastn(1, bits) = bits.last '; from specification list-del[bitlista]%last-def: ⊦ (bits + boolvar ').last ↔ boolvar; from specification list-last[bitlista]%bits2int-pos: ⊦ bits2int(false ' + bits) = bits2uint(bits); from specification int2bits%bits2uint-zero: ⊦ bits2uint(bits + false ') = bits2uint(bits) * 2; from specification int2bits%bits2uint-one-02: ⊦ bits2uint(false ') = 0; from specification int2bits%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult Used terms: 8, i0