| # ar0 = # ar1, n0 = n, n0 < # ar1, ∀ m. m < # ar1 → ar1[m] = (n = m ⊃ a;ar0[m]) ⊦ ar1[n0] = ar0[n, a][n0] |
# ar0 = # ar1, n < # ar1, ∀ m. m < # ar1 → ar1[m] = (n = m ⊃ a;ar0[m]) ⊦ ar1[n] = a
Used simplifier rules: cgetput: m < # ar ⊦ ar[m, a][m] = a;%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ m < n → (n ≤ m ↔ false); (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)