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