| ¬(ordered≤(sort(x0)) ∧ ordered≤(a ') ∧ (sort(x0) ≠ [] ∧ a ' ≠ [] → ¬ a '.first < sort(x0).last)), max(sort(x0)) = max(x0), max(x0) < a ⊦ x0 = [], max(sort(x0) + a ') = a, ordered≤(sort(x0) + a ') |
max(sort(x0)) = max(x0), max(x0) < a, a < sort(x0).last, max(x0) < sort(x0).last ⊦ x0 = [], max(sort(x0) + a ') = a, ordered≤(sort(x0) + a ')
Used simplifier rules: lel: ⊦ a < b ∧ a = c → c < b; (forward) from specification oelem%transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification oelem%first: ⊦ a '.first = a; from specification list%e: ⊦ a ' ≠ []; from specification list%emptyp: ⊦ sort(x) = [] ↔ x = []; from specification olist-sort%le-o: ⊦ ordered≤(a '); from specification olist%Ordered: ⊦ ordered≤(sort(x)); from specification olist-sort