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