| ¬ n0 ≤ n1, n1 < # ar1, n ≤ # ar0, n0 ≤ # ar1, m + n ≤ # ar, m0 + n0 ≤ m ⊦ copy(ar0, 0, ar, m, n)[n1 + m0] = (n0 ≤ n1 ⊃ ar1[n1];ar[n1 + m0]) |
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]
Used simplifier rules: f: ⊦ m < n → n ≠ 0; from specification nat-basic1%fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat