| max(x0) < a0, (max(x0) < a0 ⊃ a0;max(x0)) < a, ∀ a. max(x0) < a → ins≤(a, x0).last = a ⊦ ins≤(a, a0 ' + x0).last = a, x0 = [] |
max(x0) < a0, a0 < a, max(x0) < a, ∀ a. max(x0) < a → ins≤(a, x0).last = a ⊦ x0 = [], (a0 ' + ins≤(a, x0)).last = a
Used simplifier rules: transitivity: ⊦ a < b ∧ b < c → a < c; (forward) from specification oelem%a: ⊦ (x + y) + z = x + y + z; from specification list%c: ⊦ a + x = a ' + x; from specification list%ins-n: ⊦ b < a → ins≤(a, b ' + x) = b + ins≤(a, x); from specification olist