| n + m ≤ # ar0 ⊦ # subarray(ar0 + ar1, n, m) = # subarray(ar0, n, m) ∧ (∀ n0. n0 < # subarray(ar0 + ar1, n, m) → subarray(ar0 + ar1, n, m)[n0] = subarray(ar0, n, m)[n0]) |
n0 < m, n + m ≤ # ar0 ⊦ (ar0 + ar1)[n + n0] = ar0[n + n0]
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ n0 < n → subarray(ar, m, n)[n0] = ar[m + n0]; (s)% ⊦ # subarray(ar, m, n) = n; (s)