| # uint2bits(j / 2) = i→n(i) + 1, 0 ≤ 2 ^ (i + 1), 0 < 2 ^ (i + 1), 0 < j, j < 2 ^ (i + 1), 2 ^ i ≤ j, 0 ≤ i, 1 < 2 ^ (i + 1), ∀ j0, i. i→n(j0) < i→n(j) → 0 ≤ i ∧ 2 ^ i ≤ j0 ∧ j0 < 2 ^ (i + 1) → # uint2bits(j0) = i→n(i + 2) ⊦ j = 1, 2 + i→n(i) = i→n(i + 2) |
0 ≤ i, 0 ≤ j ⊦ i→n(i + j) = i→n(i) + i→n(j)
Used simplifier rules: ⊦ i ≤ j → (¬ ¬ j < i ↔ false);% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ m + n = m + n0 ↔ n = n0;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m; Used terms: 2, i