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