| y ≠ [] ∧ y.first < a, a0 ' + ins≤(a, x0) = y.first + ins≤(a, y.rest), a0 < a, a0 ∈ y.first + ins≤(a, y.rest), ∀ a, y. ins≤(a, x0) = ins≤(a, y) → x0 = y ⊦ a0 ' + x0 = y |
ins≤(a, x0) = ins≤(a, y.rest), y.first < a, ∀ a, y. ins≤(a, x0) = ins≤(a, y) → x0 = y ⊦ y = [], y.first ' + x0 = y
Used simplifier rules: lel: ⊦ a < b ∧ a = c → c < b; (forward) from specification oelem%in-rec: ⊦ a ∈ b ' + x ↔ ¬ ¬(a = b ∨ a ∈ x); from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%c-06: ⊦ a ' + x = b ' + y ↔ a = b ∧ x = y; from specification list%c: ⊦ a + x = a ' + x; from specification list