| ordered<(a0 ' + x0), ∀ a1. ordered<(x0 -1l a1) ⊦ a = a0, ordered<(a0 ' + (x0 -1l a)) |
⊦ x ≠ [] ∧ x.rest ≠ [] → (ordered<(x) ↔ x.first < x.rest.first ∧ ordered<(x.rest))
a0 ' + (x0 -1l a) ≠ [] ∧ (a0 ' + (x0 -1l a)).rest ≠ [], ordered<(a0 ' + x0), ∀ a1. ordered<(x0 -1l a1) ⊦ a = a0, (a0 ' + (x0 -1l a)).first < (a0 ' + (x0 -1l a)).rest.first ∧ ordered<((a0 ' + (x0 -1l a)).rest)
Used simplifier rules: ls-o: ⊦ ordered<(a ');%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%app: ⊦ x + [] = x; from specification list Used terms: a0 ' + (x0 -1l a)