| max(x1 + x0) < a, sort(x1 + a ' + x0) = sort(x1 + x0) + a ', max(x1 + x0) < max(sort(x1 + x0) + a '), ordered≤(sort(x1 + x0) + a '), a < max(sort(x1 + x0) + a ') ⊦ x1 + x0 = [], ins≤(a, sort(x1 + x0) + a ') = (sort(x1 + x0) + a ') + a ', a < max(x1 + x0) |
sort(x1 + a ' + x0) = sort(x1 + x0) + a ', max(x1 + x0) < a, max(x1 + x0) < max(sort(x1 + x0) + a '), ordered≤(sort(x1 + x0) + a '), a < max(sort(x1 + x0) + a ') ⊦ x1 + x0 = [], ins≤(a, sort(x1 + x0) + a ') = (sort(x1 + x0) + a ') + a '
Used simplifier rules: ls-le: ⊦ a < b → (¬ b < a ↔ true); from specification oelem