| bits ≠ [] ↔ (∃ n. bits = mklist(bits.first, n) + sgn(bits) ∧ bits ≠ []) ⊦ bits2int(sgn(bits)) = bits2int(bits) |
bits = mklist(bits.first, n) + sgn(bits) ⊦ bits2int(sgn(bits)) = bits2int(bits), bits = []
Used simplifier rules: ⊦ mklist(boolvar, m) = [] ↔ m = 0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + [] = bits;% ⊦ sgn([]) = [];