(*in extern_incr steps, sm_inject_separated_intern_MYB is not needed/trivial, since locBlocksSrc mu b = locBlocksSrc mu' b and locBlocksTgt mu b = locBlocksTgt mu' b*)
Definition sm_valid (mu : SM_Injection) (m1 m2: mem) :=
(forall b1, DOM mu b1 -> Mem.valid_block m1 b1)
/\ (forall b2, RNG mu b2 -> Mem.valid_block m2 b2).

Lemma intern_separated_incr_fwd2:
forall mu0 mu mu' m10 m20 m1 m2,
intern_incr mu mu' ->
sm_inject_separated mu mu' m1 m2 ->
intern_incr mu0 mu ->
mem_forward m10 m1 ->
sm_inject_separated mu0 mu m10 m20 ->
mem_forward m20 m2 ->
SM_wd mu' ->
sm_inject_separated mu0 mu' m10 m20.