| i→n(i) ≤ # int2bits(j), i < i0, 0 < i, 0 < i0, 1 < i0, i ≤ i0 ⊦ i0 = 0, i = 0, bits2int(lastn(i→n(i), fillsgn(i→n(i0), int2bits(j)))) = bits2int(lastn(i→n(i), int2bits(j))) |
⊦ # bits ≤ n ∧ bits ≠ [] → fillsgn(n, bits) = mklist(bits.first, n - # bits) + bits
¬(# int2bits(j) ≤ i→n(i0) ∧ int2bits(j) ≠ []), i→n(i) ≤ # int2bits(j), i < i0, 0 < i, 0 < i0, 1 < i0, i ≤ i0 ⊦ i0 = 0, i = 0, bits2int(lastn(i→n(i), fillsgn(i→n(i0), int2bits(j)))) = bits2int(lastn(i→n(i), int2bits(j)))
Used simplifier rules: ⊦ int2bits(j).first ↔ j < 0;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ n ≤ # bits → lastn(n, bits0 + bits) = lastn(n, bits);% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ int2bits(j) ≠ []; Used terms: int2bits(j), i→n(i0)