| # ar1 = # ar0 ∧ (∀ n0. n0 < # ar1 → ar1[n0] = ar0[n, ar1[n]][n0]) ⊦ # ar0 = # ar1 ∧ (∀ m. m < # ar0 ∧ m ≠ n → ar0[m] = ar1[m]) |
# ar1 = # ar0, m < # ar0, ∀ n0. n0 < # ar0 → ar1[n0] = ar0[n, ar1[n]][n0] ⊦ # ar0 = 0, m = n, ar0[m] = ar1[m]
Used simplifier rules: lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1