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