(*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 inject_separated_intern_incr_fwd:
forall mu mu' m1 m2 mu'' m2'
(SEP: sm_inject_separated mu mu' m1 m2)
(SEP': sm_inject_separated mu' mu'' m1 m2')
(INC: intern_incr mu mu') (INC': intern_incr mu' mu'')
(FWD: mem_forward m2 m2')
(WD': SM_wd mu') (WD'': SM_wd mu''),
sm_inject_separated mu mu'' m1 m2.