| n < n2 + n1, n < # ar1, n2 ≤ m0, n1 + n2 ≤ # ar1 ⊦ splice(ar0, n0, ar1, n1, m0)[n] = (n < n1 ⊃ ar1[n];ar0[n + n0 - n1]), m0 = 0, n2 = 0 |
⊦ n1 + m ≤ # ar1 ∧ m ≠ 0 → splice(ar0, n0, ar1, n1, m) = copy(ar0, n0, ar1, n1, m)
n < # ar1, n < n2 + n1, n1 + n2 ≤ # ar1, n2 ≤ m0 ⊦ splice(ar0, n0, ar1, n1, m0)[n] = (n < n1 ⊃ ar1[n];ar0[n + n0 - n1]), m0 = 0, n2 = 0, n1 + m0 ≤ # ar1 ∧ m0 ≠ 0
n < # ar1, n < n2 + n1, n1 + n2 ≤ # ar1, n2 ≤ m0, n1 + m0 ≤ # ar1 ⊦ copy(ar0, n0, ar1, n1, m0)[n] = (n < n1 ⊃ ar1[n];ar0[n + n0 - n1]), m0 = 0, n2 = 0
Used terms: m0, n1, ar1, n0, ar0