fact: Definition interMemProp : forall (Ar1 Ar2 Ar3 : rArray vM) (War1 : wellFormedArray Ar1) (War2 : wellFormedArray Ar2) (War3 : wellFormedArray Ar3) (L1 L2 : list rZ), OlistRz L1 -> OlistRz L2 -> forall S1 S2 S3 : State, rArrayState Ar1 S1 -> rArrayState Ar2 S2 -> rArrayState Ar3 S3 -> inclState S3 S1 -> inclState S3 S2 -> (forall e : rNat, ~ InRz (rZPlus e) L1 -> rArrayGet _ Ar1 e = rArrayGet _ Ar3 e) -> (forall e : rNat, ~ InRz (rZPlus e) L2 -> rArrayGet _ Ar2 e = rArrayGet _ Ar3 e) -> match interMem Ar1 Ar2 Ar3 L1 L2 with | (Ar4, L3) => wellFormedArray Ar4 /\ rArrayState Ar4 (interState S1 S2) /\ (forall e : rNat, ~ InRz (rZPlus e) L3 -> rArrayGet _ Ar4 e = rArrayGet _ Ar3 e) /\ OlistRz L3 end.
imports: Stalmarck(rZ) Stalmarck(OrderedListEq) Stalmarck(LetP) Coq(Relation_Definitions) Stalmarck(state) Stalmarck(restrictState) Stalmarck(ltState)