| 0 < i ⊦ m ≤ # int2bits(i) ↔ ¬ i < 2 ^ (n→i(m) - 2) |
⊦ 0 < i ∧ 0 ≤ j → (i < 2 ^ j ↔ # int2bits(i) ≤ i→n(j) + 1)
0 < i ∧ 0 ≤ n→i(m) - 2, 0 < i ⊦ m ≤ # int2bits(i) ↔ ¬ # int2bits(i) ≤ i→n(n→i(m) - 2) + 1
Used simplifier rules: int2bits-not-empty: ⊦ int2bits(j) ≠ [];%sub-le-01: ⊦ i ≤ j - i0 ↔ i + i0 ≤ j; from specification int-abs%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%num-n2i-ls-06: 0 ≤ i ⊦ (* i) ≤ n→i(n) ↔ i→n(i) ≤ n; from specification intnat%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%trans-1: ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; from specification nat-basic1%succ: ⊦ m +1 = m + 1; from specification nat-basic2%l-num-05: n < n0 ⊦ m + (* n) < (* n0) ↔ m < n0 - n; from specification nat%one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%l: ⊦ # bits = 0 ↔ bits = []; from specification list-data[bitlista]%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1%pot2-pos: ⊦ 0 < 2 ^ i ↔ 0 ≤ i; from specification int-pot%ls-le-simp: ⊦ m < n → (n ≤ m ↔ false); from specification nat Used terms: n→i(m) - 2, i