| mon<(⌜nl0⌝ + ⌜m '⌝ ), np(# nl0), ∀ nl1, np. # nl1 < #(nl0 + m ') → mon<(⌜nl1⌝ ) → mon<(rem(⌜nl1⌝ , np)) ⊦ mon<(rem(⌜nl0⌝ , np) + []) |
mon<(⌜nl0⌝ + ⌜m '⌝ ), np(# nl0), ∀ nl1, np. # nl1 < #(nl0 + m ') → mon<(⌜nl1⌝ ) → mon<(rem(⌜nl1⌝ , np)) ⊦ mon<(rem(⌜nl0⌝ , np))
Used simplifier rules: append-assoc: ⊦ (nσ + nσ0) + nσ1 = nσ + nσ0 + nσ1; from specification stream[natstream]% ⊦ nσ + [] = nσ; (s)