| ¬(b2i(firstn(# int2bytes(i) - i→n(j), int2bytes(i)).first) < 0 ∧ firstn(# int2bytes(i) - i→n(j), int2bytes(i)) ≠ []), i→n(j) < # int2bytes(i), i < 0 ⊦ j = 0, bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))) = bytes2int(mklist(i2b(~1), i→n(j)) + firstn(# int2bytes(i) - i→n(j), int2bytes(i))) |
0 ≤ b2i(firstn(# int2bytes(i) - i→n(j), int2bytes(i)).first), i < 0, i→n(j) < # int2bytes(i) ⊦ bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))) = bytes2int(mklist(i2b(~1), i→n(j)) + firstn(# int2bytes(i) - i→n(j), int2bytes(i))), j = 0
Used simplifier rules: ⊦ i < 0 ∧ 0 ≤ j → i < j;% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ n < m → m - n ≠ 0;% ⊦ firstn(n, bytes) = [] ↔ n = 0;% ⊦ ¬ i < j ↔ j ≤ i;