| ∀ boolvar. ∃ n. boolvar ' + bits = mklist(boolvar, n) + sgn(boolvar ' + bits) ⊦ boolvar ↔ boolvar0, ∃ n. boolvar0 ' + boolvar ' + bits = mklist(boolvar0, n) + sgn(boolvar0 ' + boolvar ' + bits) |
Used simplifier rules: sgn-base-02: ⊦ sgn(false ' + true ' + bits) = false ' + true ' + bits;%sgn-base-01: ⊦ sgn(true ' + false ' + bits) = true ' + false ' + bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ mklist(boolvar, n) + boolvar ' = boolvar ' + mklist(boolvar, n);% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1;% ⊦ bits + bits0 = bits1 + bits0 ↔ bits = bits1;% ⊦ bits = bits0 + bits ↔ bits0 = [];% ⊦ mklist(boolvar, m) = [] ↔ m = 0;