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