| ¬ max(x1 + x0) < a, max(x1 + x0) < max(a ' + x1), (∃ x0. max(x1 + x0) < max(x1)) → x1 = [] ⊦ x1 + x0 = [] |
a < max(a ' + x1), max(x1 + x0) < max(a ' + x1) ⊦ x1 + x0 = [], x1 = [], max(x1 + x0) < a, ∃ x0. max(x1 + x0) < max(x1)
Used simplifier rules: max-base: ⊦ max(a ') = a;%irreflexivity: ⊦ ¬ a < a; from specification oelem%app: ⊦ x + [] = x; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%Nil: ⊦ [] + x = x; from specification list%nll: ⊦ ¬ b < a ∧ b < c → a < c; (forward) from specification oelem