| sort(x1 + a ' + x0) = sort(x1 + x0) + a ' ⊦ x1 + x0 = [], a0 = a, ins≤(a0, sort(x1 + x0) + a ') = ins≤(a0, sort(x1 + x0)) + a ', a < (max(x1 + x0) < a0 ⊃ a0;max(x1 + x0)), a < max(x1 + x0) |
sort(x1 + a ' + x0) = sort(x1 + x0) + a ', a0 < a ⊦ x1 + x0 = [], a0 = a, ins≤(a0, sort(x1 + x0) + a ') = ins≤(a0, sort(x1 + x0)) + a ', a < max(x1 + x0)
Used simplifier rules: ⊦ a ≠ b → (a < b ↔ ¬ b < a); (ss)% ⊦ x + y = x + z ↔ y = z; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ ¬ a0 < a → ins≤(a, x + a0 ') = ins≤(a, x) + a0 '; (s)%nnn: ⊦ ¬ c < b ∧ ¬ a < c → ¬ a < b; (forward) from specification oelem