| range=(ar, m, ar0, m0, m1) ⊦ m0 + m1 ≤ # ar0 ∧ m + m1 ≤ # ar ∧ (n < m1 → ar0[m0 + n] = ar[m + n]) |
⊦ range=(ar0, n0, ar1, n1, m) ↔ n0 + m ≤ # ar0 ∧ n1 + m ≤ # ar1 ∧ (∀ n. n < m → ar0[n0 + n] = ar1[n1 + n])
m + m1 ≤ # ar, m0 + m1 ≤ # ar0, ∀ n. n < m1 → ar[m + n] = ar0[m0 + n] ⊦ m0 + m1 ≤ # ar0 ∧ m + m1 ≤ # ar ∧ (n < m1 → ar0[m0 + n] = ar[m + n])
Used terms: m1, m0, ar0, m, ar