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