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