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