<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="CTXHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="ACCOUNT" org.eventb.core.type="ℙ(ACCOUNT)"/>
<org.eventb.core.poIdentifier name="ATM" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="CARD" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="cardInAtm" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.poIdentifier name="destAcc" org.eventb.core.type="ℙ(ATM×ACCOUNT)"/>
<org.eventb.core.poIdentifier name="recvRespTransferFail" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="recvRespTransferOk" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="srcAcc" org.eventb.core.type="ℙ(ATM×ACCOUNT)"/>
<org.eventb.core.poIdentifier name="trAmount" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="trans" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="transOkAtm" org.eventb.core.type="ℙ(ATM×BOOL)"/>
<org.eventb.core.poIdentifier name="validCard" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="INITIALISATION/BalTransfer_1_inv10/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFaim"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×CARD))∈ATM ⇸ CARD" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#:"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#:"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#INITIALISATION\/BalTransfer_1_inv10\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD10"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/BalTransfer_2_inv8/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFaim"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×ℤ))∈ATM ⇸ ℕ1" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#;"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#;"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#INITIALISATION\/BalTransfer_2_inv8\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD11"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/BalTransfer_2_inv11/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFaim"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×BOOL))∈ATM ⇸ BOOL" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#="/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#="/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#INITIALISATION\/BalTransfer_2_inv11\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD12"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/BalTransfer_2_inv12/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFaim"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×ACCOUNT))∈ATM ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#&gt;"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#&gt;"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#INITIALISATION\/BalTransfer_2_inv12\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/BalTransfer_2_inv13/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFaim"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×ACCOUNT))∈ATM ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#?"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#?"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#INITIALISATION\/BalTransfer_2_inv13\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD14"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/BalTransfer_2_inv17/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFaim"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c⦂CARD·c∈ran(∅ ⦂ ℙ(ATM×CARD))⇒c∈(∅ ⦂ ℙ(CARD))" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#@"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#@"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#INITIALISATION\/BalTransfer_2_inv17\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD15"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTrecvRespTransferFaim" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="recvRespTransferOk'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="srcAcc'" org.eventb.core.type="ℙ(ATM×ACCOUNT)"/>
<org.eventb.core.poIdentifier name="trAmount'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="recvRespTransferFail'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="trans'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="cardInAtm'" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.poIdentifier name="transOkAtm'" org.eventb.core.type="ℙ(ATM×BOOL)"/>
<org.eventb.core.poIdentifier name="destAcc'" org.eventb.core.type="ℙ(ATM×ACCOUNT)"/>
<org.eventb.core.poIdentifier name="validCard'" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPrecvRespTransferFaim" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTIDENTrecvRespTransferFaim" org.eventb.core.poStamp="0"/>
<org.eventb.core.poSequent name="SendReqTransfer/BalTransfer_2_inv8/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFain"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="trAmount{a ↦ am}∈ATM ⇸ ℕ1" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#;"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#;"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#SendReqTransfer\/BalTransfer_2_inv8\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD11"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="SendReqTransfer/BalTransfer_2_inv12/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFain"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="srcAcc{a ↦ src_ac}∈ATM ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#&gt;"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#&gt;"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#SendReqTransfer\/BalTransfer_2_inv12\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="SendReqTransfer/BalTransfer_2_inv13/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFain"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="destAcc{a ↦ dest_ac}∈ATM ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#?"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#?"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#SendReqTransfer\/BalTransfer_2_inv13\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD14"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTrecvRespTransferFain" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="am" org.eventb.core.type="ℤ"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="dest_ac" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.poIdentifier name="srcAcc'" org.eventb.core.type="ℙ(ATM×ACCOUNT)"/>
<org.eventb.core.poIdentifier name="trAmount'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="src_ac" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="CARD"/>
<org.eventb.core.poIdentifier name="trans'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="destAcc'" org.eventb.core.type="ℙ(ATM×ACCOUNT)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPrecvRespTransferFain" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTIDENTrecvRespTransferFain" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#8"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#9"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#-"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#."/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#\/"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#0"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="a ↦ c∈cardInAtm" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#1"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#2"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="a∉trans" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#B|org.eventb.core.guard#3"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTIDENTrecvRespTransferFaio" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="recvRespTransferOk'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPrecvRespTransferFaio" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTIDENTrecvRespTransferFaio" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#C|org.eventb.core.guard#*"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTIDENTrecvRespTransferFaip" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="recvRespTransferFail'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPrecvRespTransferFaip" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTIDENTrecvRespTransferFaip" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#D|org.eventb.core.guard#*"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="TransferOKAtm/BalTransfer_2_inv11/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFaiq"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="transOkAtm{a ↦ TRUE}∈ATM ⇸ BOOL" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#="/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#E"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#="/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#TransferOKAtm\/BalTransfer_2_inv11\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD12"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTrecvRespTransferFaiq" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="recvRespTransferOk'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="trans'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="transOkAtm'" org.eventb.core.type="ℙ(ATM×BOOL)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPrecvRespTransferFaiq" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTIDENTrecvRespTransferFaiq" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#E|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="a∈recvRespTransferOk" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#E|org.eventb.core.guard#("/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="TransferFailsAtm/BalTransfer_2_inv11/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTALLHYPrecvRespTransferFair"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="transOkAtm{a ↦ FALSE}∈ATM ⇸ BOOL" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#="/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#F"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#="/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poSequent#TransferFailsAtm\/BalTransfer_2_inv11\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD12"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTrecvRespTransferFair" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="recvRespTransferFail'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="trans'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="transOkAtm'" org.eventb.core.type="ℙ(ATM×BOOL)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPrecvRespTransferFair" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTIDENTrecvRespTransferFair" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#F|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="a∈recvRespTransferFail" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#F|org.eventb.core.guard#("/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTIDENTrecvRespTransferFais" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poIdentifier name="acc" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.poIdentifier name="am" org.eventb.core.type="ℤ"/>
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="CARD"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPrecvRespTransferFais" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#EVTIDENTrecvRespTransferFais" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#G|org.eventb.core.guard#."/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#G|org.eventb.core.guard#\/"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#G|org.eventb.core.guard#*"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#G|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.event#G|org.eventb.core.guard#-"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/ATMproduct_TD/mATM_T.bpo|org.eventb.core.poFile#mATM_T|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="0">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="cardInAtm∈ℙ(ATM × CARD)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#0"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="trans∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#1"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="trAmount∈ℙ(ATM × ℤ)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#2"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="recvRespTransferOk∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#3"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="transOkAtm∈ℙ(ATM × BOOL)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#4"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="recvRespTransferFail∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#5"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="destAcc∈ℙ(ATM × ACCOUNT)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#6"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="validCard∈ℙ(CARD)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#7"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="srcAcc∈ℙ(ATM × ACCOUNT)" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#8"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="validCard⊆CARD" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#9"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#:"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="trAmount∈ATM ⇸ ℕ1" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#;"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="transOkAtm∈ATM ⇸ BOOL" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#="/>
<org.eventb.core.poPredicate name="PRD13" org.eventb.core.predicate="srcAcc∈ATM ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#&gt;"/>
<org.eventb.core.poPredicate name="PRD14" org.eventb.core.predicate="destAcc∈ATM ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#?"/>
<org.eventb.core.poPredicate name="PRD15" org.eventb.core.predicate="∀c⦂CARD·c∈ran(cardInAtm)⇒c∈validCard" org.eventb.core.source="/ATMproduct_TD/mATM_T.bum|org.eventb.core.machineFile#mATM_T|org.eventb.core.invariant#@"/>
</org.eventb.core.poPredicateSet>
</org.eventb.core.poFile>
