| bytes2int(bytes0) = b2i(by), bytes0 = bytes0.first ', ∀ bytes0, bytes1. # bytes1 < 1 → # bytes0 = # bytes1 ∧ bytes2int(bytes0) = bytes2int(bytes1) → bytes0 = bytes1 ⊦ bytes0 = by ' |
Used simplifier rules: bytes2int-one: ⊦ bytes2int(by ') = b2i(by);% ⊦ by ' ≠ [];% ⊦ by + bytes = by ' + bytes;% ⊦ by ' = by0 ' + bytes ↔ by = by0 ∧ bytes = [];% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ by ' + bytes ≠ [];% ⊦ bytes + [] = bytes;% ⊦ b2i(byi) = b2i(byj) ↔ byi = byj;%⊦ bytes ≠ [] → (by = bytes.first ∧ bytes0 = bytes.rest ↔ bytes = by + bytes0); (elim) Used terms: bytes0, by0, bytes