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