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