| i < 0 ⊦ band(j, 31) = 0, (i + 1) * 2 ^ abs(band(j, 31)) = i * 2 ^ band(j, 31) + 1 + bits2uint(mklist(true, i→n(band(j, 31)))) |
⊦ ¬ false ∈ bits ∧ bits ≠ [] → bits2uint(bits) = 2 ^ n→i(# bits) - 1
¬ false ∈ mklist(true, i→n(band(j, 31))) ∧ mklist(true, i→n(band(j, 31))) ≠ [], i < 0 ⊦ band(j, 31) = 0, (i + 1) * 2 ^ abs(band(j, 31)) = i * 2 ^ band(j, 31) + 1 + (2 ^ n→i(# mklist(true, i→n(band(j, 31)))) - 1)
Used simplifier rules: ⊦ ¬ false ∈ mklist(true, n);% ⊦ mklist(boolvar, m) = [] ↔ m = 0;% ⊦ i→n(i) = 0 ↔ i = 0; Used terms: mklist(true, i→n(band(j, 31)))