| i→n(j) < # int2bytes(i), 0 ≤ i ⊦ bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))) = bytes2int(firstn(# int2bytes(i), fillsgn(i→n(j) + # int2bytes(i), int2bytes(i)))), j = 0 |
⊦ # bytes < n ∧ 0 ≤ bytes2int(bytes) → fillsgn(n, bytes) = mklist(i2b(0), n - # bytes) + bytes
# int2bytes(i) < i→n(j) + # int2bytes(i) ∧ 0 ≤ bytes2int(int2bytes(i)), i→n(j) < # int2bytes(i), 0 ≤ i ⊦ bytes2int(firstn(# int2bytes(i) - i→n(j), int2bytes(i))) = bytes2int(firstn(# int2bytes(i), mklist(i2b(0), i→n(j) + # int2bytes(i) - # int2bytes(i)) + int2bytes(i))), j = 0
Used simplifier rules: int2int: ⊦ bytes2int(int2bytes(i)) = i;% ⊦ ¬ m < n ↔ n ≤ m;% ⊦ m + m0 ≤ m ↔ m0 = 0;% ⊦ i→n(i) = 0 ↔ i = 0;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i ≤ j → (¬ ¬ j < i ↔ false); Used terms: int2bytes(i), i→n(j) + # int2bytes(i)