| sort(x1 + max(x1 + x0) ' + x0) = sort(x1 + x0) + max(x1 + x0) ', max(x1 + x0) < max(sort(x1 + x0) + max(x1 + x0) '), ordered≤(sort(x1 + x0) + max(x1 + x0) ') ⊦ x1 + x0 = [], ins≤(max(x1 + x0), sort(x1 + x0) + max(x1 + x0) ') = (sort(x1 + x0) + max(x1 + x0) ') + max(x1 + x0) ' |
⊦ x ≠ [] ∧ ordered≤(x) → max(x) = x.last
Used simplifier rules: ⊦ x + a ' ≠ []; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ (x + a ').last = a; (s)% ⊦ ¬ a < a; (s) Used terms: sort(x1 + x0) + max(x1 + x0) '