| # int2bits(j) = m * 8 + n, 1 + i→n(i) * 8 < m * 8 + n, j < 0, m * 8 + n ≤ i→n(8 * (i + 1) - 1) + 1, 0 ≤ i, 2 ^ (8 * i) ≤ 2 ^ (8 * (i + 1) - 1), j < ~1, i→n(i) * 8 < i→n(8 * (i + 1) - 1), n < 8 ⊦ 8 * (i + 1) = 1, n = 0, m = i→n(i), j + 2 ^ (8 * i) = 0 |
⊦ j < 0 ∧ 1 < n → (# int2bits(j) = n ↔ ~(2 ^ (n→i(n) - 1)) ≤ j ∧ j < ~(2 ^ (n→i(n) - 2)))
j < 0 ∧ 1 < m * 8 + n, ~(2 ^ (n→i(m * 8 + n) - 1)) ≤ j ∧ j < ~(2 ^ (n→i(m * 8 + n) - 2)), 1 + i→n(i) * 8 < m * 8 + n, j < 0, m * 8 + n ≤ i→n(8 * (i + 1) - 1) + 1, 0 ≤ i, 2 ^ (8 * i) ≤ 2 ^ (8 * (i + 1) - 1), j < ~1, i→n(i) * 8 < i→n(8 * (i + 1) - 1), n < 8 ⊦ 8 * (i + 1) = 1, n = 0, m = i→n(i), j + 2 ^ (8 * i) = 0
Used simplifier rules: ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false);% ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1);% ⊦ m + n = 0 ↔ m = 0 ∧ n = 0;%0 ≠ m ⊦ (* m) * n = 0 ↔ n = 0;% ⊦ m0 * m * n = (m0 * m) * n;% ⊦ m * n = n * m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ n ≠ 0 → (m + n = 1 ↔ n = 1 ∧ m = 0);% ⊦ m < n ∧ m = n0 → n0 < n; (forward)% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ i ≠ j → (i ≤ j ↔ i < j);% ⊦ m ≤ m + n;% ⊦ ¬ m + n < m; Used terms: m * 8 + n, j