| m + n1 ≤ n, n ≤ # ar1, n0 + m ≤ # ar0, n1 + m ≤ # ar1, ∀ n. n < m → ar0[n0 + n] = ar1[n1 + n] ⊦ range=(ar0, n0, resize(ar1, n), n1, m) |
n1 + m ≤ # ar1, n0 + m ≤ # ar0, n ≤ # ar1, m + n1 ≤ n, m + n1 ≤ # ar1, ∀ n. n < m → ar0[n0 + n] = ar1[n1 + n] ⊦ range=(ar0, n0, resize(ar1, n), n1, m)
Used simplifier rules: let: ⊦ n ≤ n0 ∧ n0 ≤ n1 → n ≤ n1; (forward) from specification nat