| m0 = n0 + # ar0, # ar0 ≤ m0 ⊦ copy(ar, m, ar0 + ar1, m0, m1) = ar0 + copy(ar, m, ar1, n0, m1) |
⊦ copy(ar, m, ar0 + ar1, n0 + # ar0, m1) = ar0 + copy(ar, m, ar1, n0, m1)
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m ≤ m + n; (s)