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