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