| m0 + 1 < n, ∀ n, a. m0 < n → mklist(a, n)[m0] = a ⊦ mklist(a, n)[m0 + 1] = a |
⊦ x ≠ [] → x[n + 1] = x.rest[n]
mklist(a, n) ≠ [], m0 + 1 < n, ∀ n, a. m0 < n → mklist(a, n)[m0] = a ⊦ mklist(a, n).rest[m0] = a
Used simplifier rules: mk-empty: ⊦ mklist(a, m) = [] ↔ m = 0; from specification list-last%f: ⊦ m < n → n ≠ 0; from specification nat-basic1 Used terms: m0, mklist(a, n)