| i ≤ i0, 0 < i, 0 < i0 ⊦ bits2int(lastn(i→n(i), fillsgn(i→n(i), sgn(lastn(i→n(i0), fillsgn(i→n(i0), int2bits(j))))))) = cast(i, j) |
⊦ bits ≠ [] → lastn(n, fillsgn(n, sgn(bits))) = lastn(n, fillsgn(n, bits))
lastn(i→n(i0), fillsgn(i→n(i0), int2bits(j))) ≠ [], i ≤ i0, 0 < i, 0 < i0 ⊦ bits2int(lastn(i→n(i), fillsgn(i→n(i), lastn(i→n(i0), fillsgn(i→n(i0), int2bits(j)))))) = cast(i, j)
Used simplifier rules: ⊦ lastn(n, bits) = [] ↔ n = 0;% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ fillsgn(0, bits) = bits;% ⊦ lastn(0, bits) = [];% ⊦ sgn([]) = [];% ⊦ fillsgn(n, []) = mklist(false, n);% ⊦ lastn(n, mklist(boolvar, n)) = mklist(boolvar, n); Used terms: lastn(i→n(i0), fillsgn(i→n(i0), int2bits(j))), i→n(i)