| ⌜n⌝ + ⌜1⌝ = # rem(⌜nl0⌝ , np), mon<(⌜nl0⌝ + ⌜m '⌝ ), m ≤ rem(⌜nl0⌝ , np)[n], ∀ n0. n0 < n → rem(⌜nl0⌝ , np)[n0] < rem(⌜nl0⌝ , np)[n0 + 1], ∀ nl1, np. # nl1 < #(nl0 + m ') → mon<(⌜nl1⌝ ) → mon<(rem(⌜nl1⌝ , np)) ⊦ np(# nl0) |
⊦ ⌜m⌝ < # rem(⌜nl⌝ , np) → (∃ m0. m0 < # nl ∧ nl[m0] = rem(⌜nl⌝ , np)[m] ∧ ¬ np(m0))
⌜n⌝ < # rem(⌜nl0⌝ , np) → (∃ m0. m0 < # nl0 ∧ nl0[m0] = rem(⌜nl0⌝ , np)[n] ∧ ¬ np(m0)), ⌜n⌝ + ⌜1⌝ = # rem(⌜nl0⌝ , np), mon<(⌜nl0⌝ + ⌜m '⌝ ), m ≤ rem(⌜nl0⌝ , np)[n], ∀ n0. n0 < n → rem(⌜nl0⌝ , np)[n0] < rem(⌜nl0⌝ , np)[n0 + 1], ∀ nl1, np. # nl1 < #(nl0 + m ') → mon<(⌜nl1⌝ ) → mon<(rem(⌜nl1⌝ , np)) ⊦ np(# nl0)
Used terms: n, nl0, np