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).