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