Definition FLIP mu :=
  match mu with
    Build_SM_Injection locBSrc locBTgt pSrc pTgt local extBSrc extBTgt fSrc fTgt extern =>
    Build_SM_Injection extBSrc extBTgt fSrc fTgt extern locBSrc locBTgt pSrc pTgt local
  end.

Lemma RGSrc_multicoreLICSpaper: forall mu (WDmu: SM_wd mu) Esrc m m' (SrcHyp: forall b ofs, Esrc b ofs = true -> vis mu b = true) (Unch: Mem.unchanged_on (fun b z => Esrc b z = false) m m') nu (WDnu: SM_wd nu) (LB: forall b, locBlocksSrc nu b = true -> locBlocksSrc mu b = true -> False) (X2: forall b1 b2 d, foreign_of mu b1 = Some(b2, d) -> locBlocksSrc nu b1 || locBlocksTgt nu b2 = true -> pub_of nu b1 = Some(b2,d)), Mem.unchanged_on (fun b ofs => locBlocksSrc nu b = true /\ pubBlocksSrc nu b = false) m m'.