| boolvar, int2bits(j0) = boolvar ' + bits, 0 ≤ j0 + 2 ^ i, 2 ^ (i - 1) + j0 < 0, 0 < i, j0 < 0, boolvar ∈ int2bits(j0) ⊦ sgn(bits) = sgn(false ' + fillsgn(i→n(i), bits)), ¬ fillsgn(i→n(i), bits).first ∧ (i ≠ 0 ∨ bits ≠ []) |
int2bits(j0) = true ' + bits, j0 < 0, 0 < i, 2 ^ (i - 1) + j0 < 0, 0 ≤ j0 + 2 ^ i ⊦ j0 = 0, sgn(bits) = sgn(false ' + fillsgn(i→n(i), bits)), ¬ fillsgn(i→n(i), bits).first ∧ (i ≠ 0 ∨ bits ≠ [])
Used simplifier rules: int2bits-truein: ⊦ true ∈ int2bits(j) ↔ j ≠ 0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar ' + bits = bits0 → boolvar ∈ bits0; (forward)