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