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