| 0 ≤ j + 2 ^ (n→i(# int2bits(j)) - 2), j < 0 ⊦ # int2bits(j) = 1 |
⊦ i < ~1 ∧ 0 ≤ j → (0 ≤ 2 ^ j + i ↔ # int2bits(i) ≤ i→n(j) + 1)
j < ~1 ∧ 0 ≤ n→i(# int2bits(j)) - 2, # int2bits(j) ≤ i→n(n→i(# int2bits(j)) - 2) + 1, j < 0 ⊦ # int2bits(j) = 1
Used simplifier rules: int2bits-not-empty: ⊦ int2bits(j) ≠ [];%int2bits-mone-02: ⊦ int2bits(~1) = true ';%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%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%twols-01: ⊦ m ≠ 1 → (m < 2 ↔ m = 0); from specification nat-basic1%l: ⊦ # bits = 0 ↔ bits = []; from specification list-data[bitlista]%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%mone-08: ⊦ i < 0 → (~1 ≤ i ↔ i = ~1); from specification int-abs%len-02: ⊦ # boolvar ' = 0 +1; from specification list[bitlista]%add-c: ⊦ i + j = j + i; from specification int-basic2 Used terms: j, n→i(# int2bits(j)) - 2