| 0 < i, ∀ j0, i. i→n(j0) < i→n(1) → 0 ≤ j0 ∧ 0 ≤ j0 ∧ 0 ≤ i → bits2int(bitsand(false ' + mklist(true, i→n(i)), uint2bits(j0))) = j0 % 2 ^ i ⊦ i = 0, bits2int(bitsand((false ' + mklist(true, i→n(i))).butlast, false ') + (false ' + mklist(true, i→n(i))).last ') = 1 % 2 ^ i |
⊦ m ≠ 0 → ((bits + mklist(boolvar, m)).last ↔ boolvar)
i→n(i) ≠ 0, 0 < i, ∀ j0, i. i→n(j0) < i→n(1) → 0 ≤ j0 ∧ 0 ≤ j0 ∧ 0 ≤ i → bits2int(bitsand(false ' + mklist(true, i→n(i)), uint2bits(j0))) = j0 % 2 ^ i ⊦ i = 0, bits2int(bitsand((false ' + mklist(true, i→n(i))).butlast, false ') + true ') = 1 % 2 ^ i
Used simplifier rules: ⊦ i→n(i) = 0 ↔ i = 0; Used terms: i→n(i), true, false '