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