| ordered≤(a2 ' + y), ∀ a1. ordered≤((a2 ' + y) -1l a1) ⊦ a = a0, a2 < a0, ordered≤(a0 ' + ((a2 ' + y) -1l a)) |
⊦ x ≠ [] ∧ x.tail ≠ [] → (ordered≤(x) ↔ ¬ x.tail.head < x.head ∧ ordered≤(x.tail))
ordered≤(a2 ' + y), ∀ a1. ordered≤((a2 ' + y) -1l a1) ⊦ a0 ' + ((a2 ' + y) -1l a) = [], (a0 ' + ((a2 ' + y) -1l a)).tail = [], a = a0, a2 < a0, ¬ (a0 ' + ((a2 ' + y) -1l a)).tail.head < (a0 ' + ((a2 ' + y) -1l a)).head ∧ ordered≤((a0 ' + ((a2 ' + y) -1l a)).tail)
Used simplifier rules: le-o: ⊦ ordered≤(a ');% ⊦ a ' + x ≠ []; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ (a ' + x).tail = x; (s)% ⊦ x + [] = x; (s) Used terms: a0 ' + ((a2 ' + y) -1l a)