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