| ordered≤((a ' + x1).tail), x ⊒ a ' + x1, ∀ x0. x0 ⊒ x1 → ordered≤(x0) ⊦ a ' + x1 = [], (a ' + x1).tail = [], (a ' + x1).tail.head < (a ' + x1).head, ordered≤(x) |
ordered≤(x1), x ⊒ a ' + x1, ∀ x0. x0 ⊒ x1 → ordered≤(x0) ⊦ x1 = [], x1.head < a, ordered≤(x)
Used simplifier rules: ⊦ (a ' + x).head = a; (s)% ⊦ a ' + x ≠ []; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ (a ' + x).tail = x; (s)