| # int2bits((i - 1) / 2) + 1 < #(mklist(true, i→n(j)) + int2bits((i - 1) / 2) + int2bits(i % 2)), i < ~1, i < 0 ⊦ j = 0, bits2int(firstn(# int2bits((i - 1) / 2) + 1, (mklist(true, i→n(j)) + int2bits((i - 1) / 2) + int2bits(i % 2)).butlast)) = bits2int(firstn(# int2bits((i - 1) / 2), mklist(true, i→n(abs(j) - 1)) + int2bits((i - 1) / 2))) |
i < ~1, i < 0 ⊦ j = 0, bits2int(firstn(# int2bits((i - 1) / 2) + 1, (mklist(true, i→n(j)) + int2bits((i - 1) / 2) + int2bits(i % 2)).butlast)) = bits2int(firstn(# int2bits((i - 1) / 2), mklist(true, i→n(abs(j) - 1)) + int2bits((i - 1) / 2))), i→n(j) + # int2bits(i % 2) = 0
Used simplifier rules: ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ int2bits(j) ≠ [];% ⊦ # bits = 0 ↔ bits = [];% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ m + n = 1 ↔ m = 0 ∧ n = 1 ∨ n = 0 ∧ m = 1;% ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1);% ⊦ m + n < m + n0 ↔ n < n0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # mklist(boolvar, n) = n;% ⊦ #(bits + bits0) = # bits + # bits0;