| n < n2 + n1, n2 ≤ m0 ⊦ (# splice(ar0, n0, ar1, n1, m0) ≤ n ⊃ zero;splice(ar0, n0, ar1, n1, m0)[n]) = (# splice(ar0, n0, ar1, n1, n2) ≤ n ⊃ zero;splice(ar0, n0, ar1, n1, n2)[n]), m0 = 0 |
⊦ m ≠ 0 → # splice(ar0, n0, ar1, n1, m) = max(# ar1, n1 + m)
n2 = 0, n < n2 + n1, n2 ≤ m0 ⊦ (# splice(ar0, n0, ar1, n1, m0) ≤ n ⊃ zero;splice(ar0, n0, ar1, n1, m0)[n]) = (# splice(ar0, n0, ar1, n1, n2) ≤ n ⊃ zero;splice(ar0, n0, ar1, n1, n2)[n]), m0 = 0
n < n2 + n1, n2 ≤ m0 ⊦ (# splice(ar0, n0, ar1, n1, m0) ≤ n ⊃ zero;splice(ar0, n0, ar1, n1, m0)[n]) = (max(# ar1, n1 + n2) ≤ n ⊃ zero;splice(ar0, n0, ar1, n1, n2)[n]), m0 = 0, n2 = 0
Used terms: n2, n1, ar1, n0, ar0