| ¬(¬ (boolvar ' + mklist(boolvar, n)).first ∧ boolvar ' + mklist(boolvar, n) ≠ []) ⊦ bits2int(boolvar ' + mklist(boolvar, n)) = bits2int(boolvar ') |
Used simplifier rules: bits2int-neg: ⊦ bits2int(true ' + bits) = ~ bits2uint(bitsinvert(true + bits) +1);%bits2uint-mklist: ⊦ bits2uint(mklist(false, n) + bits) = bits2uint(bits);%bits2uint-one-03: ⊦ bits2uint(true ') = 1;%bits2int-one: ⊦ bits2int(true ') = ~1;% ⊦ (false ' + mklist(false, n))+1 = mklist(false, n) + true ';% ⊦ bitsinvert(mklist(boolvar, n)) = mklist(¬ boolvar, n);% ⊦ bitsinvert(true ' + bits) = false + bitsinvert(bits);% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ mklist(boolvar, m) = [] ↔ m = 0;% ⊦ boolvar ' ≠ [];% ⊦ ¬ bits + bits0 ≠ [] ↔ bits = [] ∧ bits0 = [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ (boolvar ' + bits).first ↔ boolvar;