(** Starting from a well-defined state, an internal execution retains the well-definedeness for any injection that corresponds to the domain of the new memory. *)

Lemma internal_step_wd:
forall tp m tp' m' i (cnti: containsThread tp i) f fg
(Hcomp: mem_compatible tp m)
(Hmem_wd: valid_mem m)
(Hdomain: domain_memren f m)
(Htp_wd: tp_wd f tp)
(Hge_wd: ge_wd fg the_ge)
(Hfg_incr: ren_domain_incr fg f)
(Hstep: internal_step cnti Hcomp tp' m'),
valid_mem m' /\
(exists f' : memren, ren_domain_incr f f' /\ domain_memren f' m') /\
(forall f' : memren, domain_memren f' m' -> tp_wd f' tp').