| ordered≤(x0), ordered≤(x), x ≠ [] ∧ x0 ≠ [] → ¬ x0.head < x.last ⊦ ordered≤(x + x0) |
ordered≤(a + x1), ordered≤(x0), a + x1 ≠ [] ∧ x0 ≠ [] → ¬ x0.head < (a + x1).last, ∀ x0. ordered≤(x0) ∧ ordered≤(x1) ∧ (x1 ≠ [] ∧ x0 ≠ [] → ¬ x0.head < x1.last) → ordered≤(x1 + x0) ⊦ ordered≤((a + x1) + x0)
Used simplifier rules: le-e: ⊦ ordered≤([]);%list freely generated by [], +;;% ⊦ [] + x = x; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list