Section memstepN.
Context {C:Type} (M:@MemSem C).
induction n; intros; inv H.
apply mem_step_refl.
destruct H0 as [m'' [CS CSN]]. eapply mem_step_trans.
eapply corestep_mem; eassumption.
eapply IHn; eassumption.
Qed.
destruct H as [n H]. eapply corestepN_mem; eassumption. Qed.
destruct H as [n H]. eapply corestepN_mem; eassumption. Qed.

Lemma memsem_preservesN P (HP: memstep_preserve P)
n c m c' m' (H: corestepN M n c m c' m'): P m m'.