| int2bits(i) = (false ' + bits1) + boolvar ', false ∈ bits1, false ∈ int2bits(i), 0 < i, 2 < i ⊦ i = 0, bits1 = [], bits1.first, (sgn((false ' + bits1) + (¬ boolvar)')[1 + # bits1] ↔ ¬ boolvar) ∧ sgn((false ' + bits1) + (¬ boolvar)')[1 + # bits1, boolvar] = int2bits(i) |
bits1 = boolvar0 + bits, int2bits(i) = (false ' + bits1) + boolvar ', false ∈ bits1, false ∈ int2bits(i), 0 < i, 2 < i ⊦ i = 0, bits1 = [], boolvar0, (sgn((false ' + bits1) + (¬ boolvar)')[1 + # bits1] ↔ ¬ boolvar) ∧ sgn((false ' + bits1) + (¬ boolvar)')[1 + # bits1, boolvar] = int2bits(i)
Used simplifier rules: ⊦ bits ≠ [] → ( (boolvar ↔ bits.first) ∧ bits0 = bits.rest ↔ bits = boolvar + bits0); (elim) Used terms: bits1, boolvar0, bits