| i→n(j) < # int2bytes(i), 0 ≤ i ⊦ j = 0, bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))) = bytes2int(firstn(# int2bytes(i), mklist(i2b(0), i→n(j)) + int2bytes(i))) |
⊦ # bytes ≤ n → firstn(n, bytes + bytes0) = bytes + firstn(n - # bytes, bytes0)
# mklist(i2b(0), i→n(j)) ≤ # int2bytes(i), i→n(j) < # int2bytes(i), 0 ≤ i ⊦ j = 0, bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))) = bytes2int(mklist(i2b(0), i→n(j)) + firstn(# int2bytes(i) - # mklist(i2b(0), i→n(j)), int2bytes(i)))
Used simplifier rules: ⊦ # mklist(by, n) = n;% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m < n → ¬ n < m; Used terms: int2bytes(i), mklist(i2b(0), i→n(j)), # int2bytes(i)