Definition replace_locals (mu:SM_Injection) pSrc' pTgt': SM_Injection :=
  match mu with
    Build_SM_Injection locBSrc locBTgt pSrc pTgt local extBSrc extBTgt fSrc fTgt extern =>
    Build_SM_Injection locBSrc locBTgt pSrc' pTgt' local extBSrc extBTgt fSrc fTgt extern
  end.

Lemma replace_locals_sharedTgt: forall (mu : SM_Injection) (pubSrc' pubTgt' : block -> bool), sharedTgt (replace_locals mu pubSrc' pubTgt') = (fun b : block => frgnBlocksTgt mu b || pubTgt' b).