| # int2bits(j0) = 17, 0 < i0, j0 < 65536, 32767 < i0 * 65536 + j0, 32767 < j0, 0 ≤ j0, 0 ≤ i0, 0 < i0 * 65536 + j0, 0 < j0 ⊦ 16 = # fillsgn(17, int2bits(j0)).rest, j0 = s2i(i2s(bits2int(lastn(16, int2bits(i0) + fillsgn(17, int2bits(j0)).rest)))) + 65536 |
⊦ bits ≠ [] → # bits.rest = (# bits)-1
fillsgn(17, int2bits(j0)) ≠ [], # int2bits(j0) = 17, 0 < i0, j0 < 65536, 32767 < i0 * 65536 + j0, 32767 < j0, 0 ≤ j0, 0 ≤ i0, 0 < i0 * 65536 + j0, 0 < j0 ⊦ 16 = (# fillsgn(17, int2bits(j0)))-1, j0 = s2i(i2s(bits2int(lastn(16, int2bits(i0) + fillsgn(17, int2bits(j0)).rest)))) + 65536
Used simplifier rules: fill-empty: ⊦ fillsgn(n, bits) = [] ↔ bits = [] ∧ n = 0; from specification bitopsaux%int2bits-not-empty: ⊦ int2bits(j) ≠ []; from specification int2bits Used terms: fillsgn(17, int2bits(j0))