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