| ¬ n1 + m0 < # ar, n1 < # ar1, n1 < n0, m0 + n0 ≤ m, m + n ≤ # ar, n0 ≤ # ar1, n ≤ # ar0 ⊦ copy(ar0, 0, ar, m, n)[n1 + m0] = ar[n1 + m0] |
n1 < # ar1, n1 < n0, m0 + n0 ≤ m, m + n ≤ # ar, n0 ≤ # ar1, n ≤ # ar0, # ar ≤ n1 + m0, m + n ≤ n1 + m0 ⊦ copy(ar0, 0, ar, m, n)[n1 + m0] = ar[n1 + m0]
Used simplifier rules: let: ⊦ n ≤ n0 ∧ n0 ≤ n1 → n ≤ n1; (forward) from specification nat%lels: ⊦ ¬ m < n ↔ n ≤ m; from specification nat