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