| ordered≤(a0 ' + y), ordered≤(a ' + x1), ∀ x. ordered≤(x) ∧ (x1 ≠ [] ∧ x ≠ [] → ¬ x.head < x1.last) → ordered≤(x1 + x) ⊦ a0 < (a ' + x1).last, ordered≤(a ' + x1 + a0 ' + y) |
ordered≤(a ' + x1), ordered≤(a0 ' + y), ∀ x. ordered≤(x) ∧ (x1 ≠ [] ∧ x ≠ [] → ¬ x.head < x1.last) → ordered≤(x1 + x) ⊦ x1 = [], a0 < (a ' + x1).last, ordered≤(a ' + x1 + a0 ' + y)
Used simplifier rules: le-o: ⊦ ordered≤(a ');%le-r: ⊦ ordered≤(a ' + b ' + x) ↔ ¬ b < a ∧ ordered≤(b + x);% ⊦ x + [] = x; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ [] + x = x; (s)% ⊦ a '.last = a; (s)% ⊦ a + x = a ' + x; (s) Used formulas: x1 = []