| # bits ≤ n + 1, 2 ^ n→i(n) + bits2int(bits) < 0 ⊦ bits = [] |
bits ≠ [] ⊦ ~(2 ^ n→i(# bits - 1)) ≤ bits2int(bits) ∧ bits2int(bits) < 2 ^ n→i(# bits - 1)
Used simplifier rules: ⊦ ~ i ≤ j ↔ 0 ≤ i + j;% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ i + j < i + i0 ↔ j < i0;% ⊦ 0 ≤ n→i(n);%0 ≤ j ⊦ 2 ^ j < 2 ^ j0 ↔ j < j0;% ⊦ n→i(m) < n→i(n) ↔ m < n;% ⊦ # bits = 0 ↔ bits = [];% ⊦ m < 1 ↔ m = 0;% ⊦ ¬ m ≤ n ↔ n < m;%n0 ≤ n ⊦ m < n - n0 ↔ m + n0 < n;% ⊦ m + n = n + m;% ⊦ m ≤ n → (n < m ↔ false);% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i; Used terms: bits