| int2bits(i) = bits + boolvar ', bits.first ↔ ¬ (bits.rest + (¬ boolvar)').first, 2 < i, 0 < i ⊦ # bits = 1, i = 0, bits = [], (bits + (¬ boolvar)')[# bits, boolvar] = int2bits(i) |
⊦ n = # bits → (bits + boolvar ')[n, boolvar0] = bits + boolvar0 '
Used terms: boolvar, # bits, ¬ boolvar, bits