| m0 ≤ # ar1, m0 + n ≤ # ar1 ⊦ copy(copy(ar0, n0, ar1, 0, # ar1), n, ar2, n2, m0) = copy(ar0, n0 + n, ar2, n2, m0) |
⊦ ar1 = ar2 ↔ # ar1 = # ar2 ∧ (∀ n. n < # ar1 → ar1[n] = ar2[n])
m0 ≤ # ar1, m0 + n ≤ # ar1 ⊦ # copy(copy(ar0, n0, ar1, 0, # ar1), n, ar2, n2, m0) = # copy(ar0, n0 + n, ar2, n2, m0) ∧ (∀ n1. n1 < # copy(copy(ar0, n0, ar1, 0, # ar1), n, ar2, n2, m0) → copy(copy(ar0, n0, ar1, 0, # ar1), n, ar2, n2, m0)[n1] = copy(ar0, n0 + n, ar2, n2, m0)[n1])
Used terms: copy(ar0, n0 + n, ar2, n2, m0), copy(copy(ar0, n0, ar1, 0, # ar1), n, ar2, n2, m0)