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