| ordered<(a0 ' + y), a < a0, m ≤ # y, (a0 ' + y)[m] < a0, ∀ m0, n0. m0 < n0 ∧ ¬ # y < n0 → (a0 ' + y)[m0] < (a0 ' + y)[n0] ⊦ a < (a0 ' + y)[m] |
m = m1 +1, ordered<(a0 ' + y), a < a0, m ≤ # y, (a0 ' + y)[m] < a0, ∀ m0, n0. m0 < n0 ∧ ¬ # y < n0 → (a0 ' + y)[m0] < (a0 ' + y)[n0] ⊦ a < (a0 ' + y)[m]
Used simplifier rules: nat freely generated by 0, +1;;%lez: ⊦ 0 ≤ m; from specification nat%get-zero-01: ⊦ (a ' + x)[0] = a; from specification list-del%a: ⊦ (x + y) + z = x + y + z; from specification list%irreflexivity: ⊦ ¬ a < a; from specification oelem