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 forall_vals_inject_restrictD' j vals1 vals2 X
(Inj : Forall2 (val_inject (restrict j X)) vals1 vals2) :
Forall2 (val_inject j) vals1 vals2
/\ (forall b : block, getBlocks vals1 b = true -> X b = true).