| 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 |
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], m0 = 0, n2 = 0
Used simplifier rules: ⊦ ¬ max(n, m) < m; (s)%c: ⊦ m + n = n + m; from specification nat-basic%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat