| a0 < a, ∀ a. ordered≤(ins≤(a, x0)) ↔ ordered≤(x0) ⊦ ordered≤(a0 ' + ins≤(a, x0)) ↔ ordered≤(a0 ' + x0) |
⊦ x ≠ [] ∧ x.tail ≠ [] → (ordered≤(x) ↔ ¬ x.tail.head < x.head ∧ ordered≤(x.tail))
a0 < a, ∀ a. ordered≤(ins≤(a, x0)) ↔ ordered≤(x0) ⊦ a0 ' + ins≤(a, x0) = [], (a0 ' + ins≤(a, x0)).tail = [], ¬ (a0 ' + ins≤(a, x0)).tail.head < (a0 ' + ins≤(a, x0)).head ∧ ordered≤((a0 ' + ins≤(a, x0)).tail) ↔ ordered≤(a0 ' + x0)
Used simplifier rules: empty: ⊦ ins≤(a, x) ≠ [];% ⊦ (a ' + x).tail = x; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ x + y = [] ↔ x = [] ∧ y = []; (as)% ⊦ a ' ≠ []; (s) Used terms: a0 ' + ins≤(a, x0)