| m < n ⊦ fill(mkarray(n), a, 0, n)[m] = a, n = 0 |
⊦ n < # ar → fill(ar, a, m0, m1)[n] = (m0 ≤ n ∧ n < m0 + m1 ⊃ a;ar[n])
Used simplifier rules: lez: ⊦ 0 ≤ m; from specification nat%add-base: ⊦ n + 0 = n; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%Size-mkarray: ⊦ # mkarray(n) = n; from specification array%lels: ⊦ ¬ m < n ↔ n ≤ m; from specification nat%ls-le-simp: ⊦ m < n → (n ≤ m ↔ false); from specification nat Used terms: m, n, 0, a, mkarray(n)