| x0 -1l a = a2 ' + y, a2 ∈ x0 -1l a, ordered<(a0 ' + x0), a2 ∈ x0, ordered<(x0 -1l a) ⊦ x0 -1l a = [], a = a0, a0 < a2 |
⊦ x ≠ [] ∧ x.rest ≠ [] → (ordered<(x) ↔ x.first < x.rest.first ∧ ordered<(x.rest))
a0 ' + x0 ≠ [] ∧ (a0 ' + x0).rest ≠ [], x0 -1l a = a2 ' + y, a2 ∈ x0 -1l a, (a0 ' + x0).first < (a0 ' + x0).rest.first ∧ ordered<((a0 ' + x0).rest), a2 ∈ x0, ordered<(x0 -1l a) ⊦ x0 -1l a = [], a = a0, a0 < a2
Used simplifier rules: e-01: ⊦ a ' + x ≠ []; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%c-07: ⊦ (a ' + x).rest = x; from specification list%del1-e: ⊦ [] -1l a = []; from specification list-del%app-02-ant: ⊦ ¬ x + y ≠ [] ↔ x = [] ∧ y = []; from specification list%e: ⊦ a ' ≠ []; from specification list Used terms: a0 ' + x0