| sort(x1 + a ' + x0) = sort(x1 + x0) + a ', max(x1 + x0) < a, max(x1 + x0) < max(sort(x1 + x0) + a '), a < max(sort(x1 + x0) + a '), ordered≤(sort(x1 + x0) + a ') ⊦ x1 + x0 = [], ins≤(a, sort(x1 + x0) + a ') = (sort(x1 + x0) + a ') + a ' |
⊦ 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) + a '