| n < # ar, n ≤ m0, ∀ n, ar, a. n < m0 ∧ n < # ar → fill(ar, a, 0, m0)[n] = a ⊦ fill(ar, a, 0, m0)[m0, a][n] = a |
⊦ m ≠ n → ar[n, a][m] = ar[m]
n < # ar, n ≤ m0, ∀ n, ar, a. n < m0 ∧ n < # ar → fill(ar, a, 0, m0)[n] = a ⊦ fill(ar, a, 0, m0)[n] = a, n = m0
Used simplifier rules: size-fill-h: ⊦ # fill(ar, a, m, n) = # ar;% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s)%m < # ar ⊦ ar[m, a][m] = a; (s) Used terms: n, a, m0, fill(ar, a, 0, m0)