| n2 < n0 + n1 ⊦ ar[n2 + n] = (copy(ar, n, mkarray(n0), 0, n0) + copy(ar, n + n0, mkarray(n1), 0, n1))[n2] |
⊦ n < # ar0 + # ar1 → (ar0 + ar1)[n] = (n < # ar0 ⊃ ar0[n];ar1[n - # ar0])
n2 < n0 + n1, n2 < # copy(ar, n, mkarray(n0), 0, n0) + # copy(ar, n + n0, mkarray(n1), 0, n1) ⊦ ar[n2 + n] = (n2 < # copy(ar, n, mkarray(n0), 0, n0) ⊃ copy(ar, n, mkarray(n0), 0, n0)[n2] ;copy(ar, n + n0, mkarray(n1), 0, n1)[n2 - # copy(ar, n, mkarray(n0), 0, n0)] )
Used simplifier rules: ⊦ # copy(ar, m, ar0, m0, n) = # ar0; (s)% ⊦ # mkarray(n) = n; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s) Used terms: n2, copy(ar, n + n0, mkarray(n1), 0, n1), copy(ar, n, mkarray(n0), 0, n0)