(********************* Lemmas and definitions related to mem_step ********)
apply (mem_step_freelist _ _ nil); trivial.
Qed.
Record memstep_preserve (P:mem -> mem -> Prop) :=
{
preserve_trans: forall m1 m2 m3, P m1 m2 -> P m2 m3 -> P m1 m3;
preserve_mem: forall m m', mem_step m m' -> P m m'
}.
subst; trivial. Qed.

Lemma unch_on_loc_not_writable_trans m1 m2 m3
(Q : Mem.unchanged_on (loc_not_writable m1) m1 m2)
(W : Mem.unchanged_on (loc_not_writable m2) m2 m3)
(F:mem_forward m1 m2):
Mem.unchanged_on (loc_not_writable m1) m1 m3.