| ⊦ m = 0, # splice(ar0, n0, ar1, n1, m) = max(# ar1, n1 + m) |
⊦ n1 + m ≤ # ar1 ∧ m ≠ 0 → splice(ar0, n0, ar1, n1, m) = copy(ar0, n0, ar1, n1, m)
[Concretesimprules((Csimpnamedseq(splice-resize,,, ⊦ # ar1 < n1 + m ∧ m ≠ 0 → splice(ar0, n0, ar1, n1, m) = copy (ar0, n0, resize(ar1, n1 + m), n1, m)) Csimpnamedseq(resize-len,,, ⊦ # resize(ar, n) = n) Csimpnamedseq(array-copy,,size-copy, ⊦ # copy(ar, m, ar0, m0, n) = # ar0) Csimpnamedseq(min-max,,max-second-le, ⊦ m ≤ n → max(n, m) = n) Csimpnamedseq(nat,,lels-01, ⊦ ¬ m ≤ n ↔ n < m) Csimpnamedseq(nat-basic2,,a, ⊦ (m + n0) + n1 = m + n0 + n1) Csimpnamedseq(nat-basic2,,c, ⊦ m + n = n + m) Csimpnamedseq(min-max,,max-first-ls, ⊦ n < m → max(n, m) = m) Csimpnamedseq(nat-basic2,,eq-01, ⊦ m + n = m + n0 ↔ n = n0))), Extraterms((mn1ar1n0ar0))]