| 0 < i, j < 0, 0 < j + 2 ^ (i - 1) ⊦ fillsgn(i→n(i) + 1, int2bits(j)).rest = fillsgn(i→n(i), int2bits(j)) |
⊦ bits ≠ [] ∧ # bits < n → fillsgn(n, bits) = bits.first ' + fillsgn(n -1, bits)
¬(int2bits(j) ≠ [] ∧ # int2bits(j) < i→n(i) + 1), 0 < i, j < 0, 0 < j + 2 ^ (i - 1) ⊦ fillsgn(i→n(i) + 1, int2bits(j)).rest = fillsgn(i→n(i), int2bits(j))
Used simplifier rules: int2bits-first-01: ⊦ j < 0 → int2bits(j).first;%int2bits-not-empty: ⊦ int2bits(j) ≠ [];% ⊦ (m + 1)-1 = m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ (boolvar ' + bits).rest = bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1; Used terms: int2bits(j), i→n(i) + 1