| 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 ' |
⊦ x ≠ [] ∧ ordered≤(x) → max(x) = x.last
Used simplifier rules: e-02: ⊦ x + a ' ≠ []; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%last-def: ⊦ (x + a ').last = a; from specification list-last%irreflexivity: ⊦ ¬ a < a; from specification oelem Used terms: sort(x1 + x0) + a '