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