| max(a0 ' + y) = (a0 ' + y).last, (a0 ' + y).last < a, ordered≤(a0 ' + y) ⊦ a = (a0 ' + y).last, a0 < a |
Used simplifier rules: max-base: ⊦ max(a ') = a;%max-rec: ⊦ x ≠ [] → max(a ' + x) = (max(x) < a ⊃ a;max(x));%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ x ≠ [] → (a ' + x).last = x.last; (s)%lel: ⊦ a < b ∧ a = c → c < b; (forward) from specification oelem%transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification oelem%nll: ⊦ ¬ b < a ∧ b < c → a < c; (forward) from specification oelem% ⊦ ¬ a < a; (s)%nnn: ⊦ ¬ c < b ∧ ¬ a < c → ¬ a < b; (forward) from specification oelem% ⊦ x + [] = x; (s)% ⊦ a '.last = a; (s) Used formulas: y = []