| 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 ⊦ mklist(true, i→n(i)) = [], i = 0, bits2int(bitsand((false ' + mklist(true, i→n(i))).butlast, false ') + (false ' + mklist(true, i→n(i))).last ') = 1 % 2 ^ i |
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
Used simplifier rules: ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ mklist(boolvar, m) = [] ↔ m = 0;