| # int2bits(j) ≤ i→n(i + 1), i→n(i) + 1 < # int2bits(j), 0 < 2 ^ i, i→n(i) < # int2bits(j), j < 2 ^ i, 0 ≤ j ⊦ # int2bits(j) = i→n(i) + 1 |
abs(i) < abs(i + 1), # int2bits(j) ≤ i→n(i + 1), i→n(i) + 1 < # int2bits(j), 0 < 2 ^ i, i→n(i) < # int2bits(j), j < 2 ^ i, 0 ≤ j, i→n(i) + 1 < i→n(i + 1) ⊦ # int2bits(j) = i→n(i) + 1, ~1 = i
Used simplifier rules: ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ m < n → n ≠ 0; (forward)% ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j);% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m < n ∧ n ≤ n0 → m < n0; (forward)