| ⊦ ¬ a < max(x + x0) → sort(x + a ' + x0) = sort(x + x0) + a ' |
∀ a, x0. ¬ a < max(x1 + x0) → sort(x1 + a ' + x0) = sort(x1 + x0) + a ' ⊦ ¬ a < max((a0 + x1) + x0) → sort((a0 + x1) + a ' + x0) = sort((a0 + x1) + x0) + a '
Used simplifier rules: max-ins-max-last-sort: ⊦ ¬ a < max(x0) → ins≤(a, sort(x0)) = sort(x0) + a ';%list freely generated by [], +;;%Nil: ⊦ [] + x = x; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%rec: ⊦ sort(a ' + x) = ins≤(a, sort(x)); from specification olist-sort%app-01: ⊦ x + y = x + z ↔ y = z; from specification list