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