| n < m, n < # ar ⊦ fill(ar, a, 0, m)[n] = a, m = 0, # ar = 0 |
∀ n, ar, a. n < m0 ∧ n < # ar → fill(ar, a, 0, m0)[n] = a ∨ m0 = 0 ∨ # ar = 0, n < m0 +1, n < # ar ⊦ fill(ar, a, 0, m0 +1)[n] = a, m0 +1 = 0, # ar = 0
Used simplifier rules: nat freely generated by 0, +1;;