| a < (a0 ' + x).last, max(a0 ' + x) < (a0 ' + x).last, ordered≤(a0 ' + x), ∀ a1. a1 < x.last ∧ max(x) < x.last → x = [] ∨ a1 < max(x) ⊦ a < max(a0 ' + x) |
max(a0 ' + x) < (a0 ' + x).last, a < (a0 ' + x).last, ordered≤(a0 ' + x), ∀ a1. a1 < x.last ∧ max(x) < x.last → x = [] ∨ a1 < max(x) ⊦ x = [], a < max(a0 ' + x)
Used simplifier rules: max-base: ⊦ max(a ') = a;% ⊦ x + [] = x; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ ordered≤(a '); (s)% ⊦ a '.last = a; (s)% ⊦ ¬ a < a; (s) Used formulas: x = []