| x0 = a2 + y, a < a0, ordered≤(x0), ∀ a1, b0. ins≤(a1, x0 -1l b0) = ins≤(a1, x0) -1l b0 ∨ a1 = b0 ⊦ a = a0, ins≤(a, x0) = a ' + x0, x0 = [], a2 < a0 |
ordered≤(a2 ' + y), a < a0, ∀ a1, b. ins≤(a1, (a2 ' + y) -1l b) = ins≤(a1, a2 ' + y) -1l b ∨ a1 = b ⊦ ins≤(a, a2 ' + y) = a ' + a2 ' + y, a = a0, a2 < a0
Used simplifier rules: cons-02: ⊦ ordered≤(a ' + x) → ordered≤(x);%app-01: ⊦ ordered≤(x + y) → ordered≤(y);%e-01: ⊦ a ' + x ≠ []; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%c: ⊦ a + x = a ' + x; from specification list