| # int2bits(j % 2 ^ i) = i→n(i) + 1, j % 2 ^ i < 0, 2 ^ (i - 1) + j < 0, j < 2 ^ (i - 1), 0 < i, j < 0, 0 ≤ 2 ^ (i - 1) + j % 2 ^ i, j < j % 2 ^ i, j + 2 ^ i ≤ 0, j + 2 ^ i < i, j % 2 ^ i < ~1 ⊦ j % 2 ^ i = 0, i = 1, j = ~1 |
⊦ j < 0 ∧ 1 < n → (# int2bits(j) = n ↔ ~(2 ^ (n→i(n) - 1)) ≤ j ∧ j < ~(2 ^ (n→i(n) - 2)))
Used simplifier rules: ⊦ # boolvar ' = 0 +1;% ⊦ int2bits(0) = false ';% ⊦ i % 1 = 0;% ⊦ 1 = m + 1 ↔ m = 0;% ⊦ i < j → ¬ j < i;% ⊦ i ≠ j → (i ≤ j ↔ i < j);% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1);% ⊦ m + 1 ≠ 0;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ m + n = 1 ↔ m = 0 ∧ n = 1 ∨ n = 0 ∧ m = 1;% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ n→i(m + n) = n→i(m) + n→i(n);% ⊦ 0 < i → n→i(i→n(i)) = i;% ⊦ (* i) + i0 - (* j) = (i - j) + i0;% ⊦ i + 0 = i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ ~ i ≤ j ↔ 0 ≤ i + j;%i < 0 ⊦ (* i) + j = j - ~ i;% ⊦ i < ~ j ↔ i + j < 0;% ⊦ i ≤ j → (¬ ¬ j < i ↔ false); Used terms: i→n(i) + 1, j % 2 ^ i