| bytes = by + bytes1, ∀ bytes0. # bytes0 < # bytes → true → bytes0 = [] ∨ fix(# bytes0, int2bytes(bytes2int(bytes0))) = bytes0 ⊦ fix(# bytes, int2bytes(bytes2int(bytes))) = bytes, bytes = [], b2i(by) ≠ 0 ∧ b2i(by) ≠ ~1 |
∀ bytes0. # bytes0 < #(by + bytes1) → true → bytes0 = [] ∨ fix(# bytes0, int2bytes(bytes2int(bytes0))) = bytes0 ⊦ fix(1 + # bytes1, int2bytes(bytes2int(by ' + bytes1))) = by ' + bytes1, b2i(by) ≠ 0 ∧ b2i(by) ≠ ~1
Used simplifier rules: ⊦ by ' + bytes ≠ [];% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ # by ' = 0 +1;% ⊦ #(bytes + bytes0) = # bytes + # bytes0;% ⊦ by + bytes = by ' + bytes;