| (⌜n2⌝ < # nσ ∧ nσ[n2] = n) ∧ (∀ m. ⌜m⌝ < # nσ ∧ nσ[m] = n → ¬ n2 < m), leninv(nσ) = ⌜n1⌝ , nσ[n0] = n + 1, n + 1 < n1, stutf(nσ), 1 + n < n1, n0 ≤ n2, ⌜n0⌝ < # nσ, ∀ m. ⌜m⌝ < # nσ ∧ nσ[m] = n + 1 → ¬ n0 < m ⊦ |
nσ[n0] = nσ[n2] + 1, leninv(nσ) = ⌜n1⌝ , ⌜n0⌝ < # nσ, n0 ≤ n2, stutf(nσ), nσ[n0] < n1, ⌜n2⌝ < # nσ, ∀ m. ⌜m⌝ < # nσ ∧ nσ[m] = nσ[n0] → ¬ n0 < m, ∀ m. ⌜m⌝ < # nσ ∧ nσ[m] = nσ[n2] → ¬ n2 < m ⊦
Used simplifier rules: lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic1%c: ⊦ m + n = n + m; from specification nat-basic2