Definition mkinitial_SM (mu: SM_Injection) frgnS frgnT :=
match mu with
Build_SM_Injection locBSrc locBTgt pSrc pTgt local extBSrc extBTgt fSrc fTgt extern =>
Build_SM_Injection (fun b => false) (fun b => false) (fun b => false) (fun b => false) (fun b => None)
(DomSrc mu) (DomTgt mu) frgnS frgnT (as_inj mu)
end.

Lemma vals_def_inject_getBlock j b2: forall vals1 vals2
(INJ: Val.inject_list j vals1 vals2)
(DEF : vals_def vals1 = true)
(GB: getBlocks vals2 b2 = true),
exists b1 d, j b1 = Some(b2,d) /\ getBlocks vals1 b1 = true.