| #(boolvar ' + bits0) % 8 = 0 ∧ boolvar ' + bits0 ≠ [], (# bits0 + 1) % 8 = 0, 7 < # bits0 ⊦ 0 ≤ bits2int(boolvar ' + bits0) ↔ ¬ boolvar, bits0 = [] |
bits2uint((false ' + bitsinvert(bits0))+1) = 0, (1 + # bits0) % 8 = 0, 7 < # bits0 ⊦ bits0 = []
Used simplifier rules: ⊦ boolvar ' + bits ≠ [];% ⊦ ¬ bits2uint(bits) < 0;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ bits2int(false ' + bits) = bits2uint(bits);% ⊦ bits2uint(bits) ≤ 0 ↔ bits2uint(bits) = 0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + 0 = i;% ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ bitsinvert(true ' + bits) = false + bitsinvert(bits);% ⊦ boolvar + bits = boolvar ' + bits;% ⊦ bits2int(true ' + bits) = ~ bits2uint(bitsinvert(true + bits) +1);% ⊦ m + n = n + m;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;