| ¬ # int2bytes(bytes2int(bytes)) ≥ 2, 2 < # fillsgn(# bytes, int2bytes(bytes2int(bytes))), # bytes ≤ # fillsgn(# bytes, int2bytes(bytes2int(bytes))), 2 < # bytes ⊦ fillsgn(2, int2bytes(bytes2int(bytes))) = bytes ↔ int2bytes(bytes2int(bytes)) = bytes, bytes = [], fillsgn(# bytes, int2bytes(bytes2int(bytes))) = [] |
# int2bytes(bytes2int(bytes)) < # bytes, # int2bytes(bytes2int(bytes)) < # fillsgn(# bytes, int2bytes(bytes2int(bytes))), # int2bytes(bytes2int(bytes)) < 2, 2 < # bytes, # bytes ≤ # fillsgn(# bytes, int2bytes(bytes2int(bytes))), 2 < # fillsgn(# bytes, int2bytes(bytes2int(bytes))), # int2bytes(bytes2int(bytes)) + 1 < # bytes, # int2bytes(bytes2int(bytes)) + 1 < # fillsgn(# bytes, int2bytes(bytes2int(bytes))) ⊦ fillsgn(# bytes, int2bytes(bytes2int(bytes))) = [], bytes = [], fillsgn(2, int2bytes(bytes2int(bytes))) = bytes ↔ int2bytes(bytes2int(bytes)) = bytes
Used simplifier rules: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward)% ⊦ m +1 = m + 1;% ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward)% ⊦ m < n → n ≠ 0; (forward)% ⊦ n < n0 ∧ n0 < n1 → n +1 < n1; (forward)% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ n ≥ m ↔ m ≤ n;