| ¬ # int2bits(j0) ≤ 8, j0 < 0, i0 < 0, i0 * 256 + j0 ≤ ~256, ~128 ≤ j0, i0 * 256 + j0 < 0, ~128 < j0 ⊦ 8 = # fillsgn(8, int2bits(j0)), b2i(i2b(bits2int(lastn(8, int2bits(i0 - 1) + fillsgn(8, int2bits(j0)))))) = j0, ~256 ≠ i0 * 256 + j0 ∧ lastn(8, int2bits(i0 - 1) + fillsgn(8, int2bits(j0))).first |
8 < # int2bits(j0), ~128 < j0, i0 * 256 + j0 < 0, ~128 ≤ j0, i0 * 256 + j0 ≤ ~256, i0 < 0, j0 < 0 ⊦ b2i(i2b(bits2int(lastn(8, int2bits(i0 - 1) + fillsgn(8, int2bits(j0)))))) = j0, 8 = # fillsgn(8, int2bits(j0)), ~256 ≠ i0 * 256 + j0 ∧ lastn(8, int2bits(i0 - 1) + fillsgn(8, int2bits(j0))).first
Used simplifier rules: int2bits-not-empty: ⊦ int2bits(j) ≠ []; from specification int2bits%l: ⊦ # bits = 0 ↔ bits = []; from specification list-data[bitlista]%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%add-c: ⊦ i + j = j + i; from specification int-basic2%commutativity: ⊦ i * j = j * i; from specification int-mult