| i < 0 ∧ i ≠ ~1, 0 < j, 1 < j, i < 0, n < #(int2bits((i - 1) / 2) + (~1 = i % 2)'), i < ~1 ⊦ bits2int (sublist(0, # fillsgn(n, int2bits((i - 1) / 2) + (~1 = i % 2)'), mklist(false, i→n(j)) + fillsgn(n, int2bits((i - 1) / 2) + (~1 = i % 2)'))) = bits2int(sublist(0, # fillsgn(n, int2bits((i - 1) / 2)), mklist(false, i→n(j - 1)) + fillsgn(n, int2bits((i - 1) / 2)))) |
i < ~1, 0 < j, 1 < j, i < 0, n ≤ # int2bits((i - 1) / 2) ⊦ i = ~1, bits2int(sublist(0, # fillsgn(n, int2bits((i - 1) / 2) + (i % 2 ≠ 0)'), mklist(false, i→n(j)) + fillsgn(n, int2bits((i - 1) / 2) + (i % 2 ≠ 0)'))) = bits2int(sublist(0, # int2bits((i - 1) / 2), mklist(false, i→n(j) - 1) + int2bits((i - 1) / 2)))
Used simplifier rules: ⊦ n ≤ # bits → fillsgn(n, bits) = bits;% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ ¬ m < n ↔ n ≤ m;% ⊦ m < n + 1 ↔ ¬ n < m;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ n -1 = n - 1;% ⊦ 1 < i → i→n(i - 1) = i→n(i) -1;% ⊦ j < 0 → (j % 2 ≠ ~1 ↔ j % 2 = 0);