| 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 |
⊦ n ≠ 0 ∧ bytes ≠ [] → firstn(n, bytes).first = bytes.first
Used simplifier rules: int2bytes-empty: ⊦ int2bytes(i) ≠ [];%int2bytes-empty: ⊦ int2bytes(i) ≠ [];%bytes2int-first-gez: ⊦ 0 ≤ b2i(int2bytes(i).first) ↔ 0 ≤ i;% ⊦ n < m → m - n ≠ 0;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false); Used terms: int2bytes(i), # int2bytes(i) - i→n(j)