<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.poFile org.eventb.core.poStamp="1">
<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="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="atmCash" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="atmWDAmB" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="bal" org.eventb.core.type="ℙ(ACCOUNT×ℤ)"/>
<org.eventb.core.poIdentifier name="cardAcct" org.eventb.core.type="ℙ(CARD×ACCOUNT)"/>
<org.eventb.core.poIdentifier name="cardInAtmB" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.poIdentifier name="recvReqWD" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="withdrawFail" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="withdrawOk" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="INITIALISATION/Withdraw_0_IntegralATM_0_inv1/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_f"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ACCOUNT×ℤ))∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#&gt;"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#INITIALISATION\/Withdraw_0_IntegralATM_0_inv1\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/Withdraw_0_IntegralATM_0_inv2/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_f"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(CARD×ACCOUNT))∈CARD ⇸ ACCOUNT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#8"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#&gt;"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#8"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#INITIALISATION\/Withdraw_0_IntegralATM_0_inv2\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD9"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/Withdraw_1_inv3/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_f"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ATM × {0}∈ATM → ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#9"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#&gt;"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#9"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#INITIALISATION\/Withdraw_1_inv3\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD10"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/Withdraw_4_inv3/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_f"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×CARD))∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#&gt;"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#INITIALISATION\/Withdraw_4_inv3\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD12"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/Withdraw_4_inv5/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_f"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×ℤ))∈ATM ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#&gt;"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#INITIALISATION\/Withdraw_4_inv5\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTContext_mBANK_f" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="cardInAtmB'" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.poIdentifier name="withdrawFail'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="cardAcct'" org.eventb.core.type="ℙ(CARD×ACCOUNT)"/>
<org.eventb.core.poIdentifier name="atmCash'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="withdrawOk'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="atmWDAmB'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="recvReqWD'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="bal'" org.eventb.core.type="ℙ(ACCOUNT×ℤ)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPContext_mBANK_f" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTIDENTContext_mBANK_f" org.eventb.core.poStamp="1"/>
<org.eventb.core.poSequent name="RecvReqWD/Withdraw_4_inv3/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_g"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="cardInAtmB{a ↦ c}∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#?"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#RecvReqWD\/Withdraw_4_inv3\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD12"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="RecvReqWD/Withdraw_4_inv5/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_g"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="atmWDAmB{a ↦ am}∈ATM ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#?"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#RecvReqWD\/Withdraw_4_inv5\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTContext_mBANK_g" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="cardInAtmB'" org.eventb.core.type="ℙ(ATM×CARD)"/>
<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="atmWDAmB'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="CARD"/>
<org.eventb.core.poIdentifier name="recvReqWD'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPContext_mBANK_g" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTIDENTContext_mBANK_g" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#?|org.eventb.core.guard#1"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#?|org.eventb.core.guard#2"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#?|org.eventb.core.guard#3"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="withdrawOK/grd4/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h+"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#."/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#."/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h+"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/grd6/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h-"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCash)∧atmCash∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#0"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#0"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h-"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/grd9/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h\/"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmWDAmB)∧atmWDAmB∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#2"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#2"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h\/"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/grd16/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h1"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtmB)∧cardInAtmB∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#4"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#4"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h1"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/Withdraw_0_IntegralATM_0_inv1/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_h"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="bal{acc ↦ bal(acc) − am}∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#withdrawOK\/Withdraw_0_IntegralATM_0_inv1\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/Withdraw_1_inv3/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_h"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="atmCash{a ↦ atmCash(a) − am}∈ATM → ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#9"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#9"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#withdrawOK\/Withdraw_1_inv3\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD10"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/act1/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of action" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_h"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.action#9"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.action#9"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_h"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/act2/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of action" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_h"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCash)∧atmCash∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.action#:"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.action#:"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_h"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTContext_mBANK_h" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<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="atmCash'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="withdrawOk'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="CARD"/>
<org.eventb.core.poIdentifier name="bal'" org.eventb.core.type="ℙ(ACCOUNT×ℤ)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_h+" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTIDENTContext_mBANK_h" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#="/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#&gt;"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#+"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#-"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_h-" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h+" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="bal(acc)≥am" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#."/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#\/"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_h/" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h-" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="atmCash(a)≥am" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#0"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="a∈dom(atmWDAmB)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#1"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_h1" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h\/" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="am=atmWDAmB(a)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#2"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="a∈dom(cardInAtmB)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#3"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPContext_mBANK_h" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_h1" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="c=cardInAtmB(a)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#4"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#5"/>
<org.eventb.core.poPredicate name="PRD13" org.eventb.core.predicate="a∉withdrawOk" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#6"/>
<org.eventb.core.poPredicate name="PRD14" org.eventb.core.predicate="a∈recvReqWD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#7"/>
<org.eventb.core.poPredicate name="PRD15" org.eventb.core.predicate="a∈recvReqWD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#@|org.eventb.core.guard#8"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="SendRespWDok/Withdraw_4_inv3/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_i"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="{a} ⩤ cardInAtmB∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#SendRespWDok\/Withdraw_4_inv3\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD12"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="SendRespWDok/Withdraw_4_inv5/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_i"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="{a} ⩤ atmWDAmB∈ATM ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#A"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#SendRespWDok\/Withdraw_4_inv5\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTContext_mBANK_i" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="cardInAtmB'" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="withdrawOk'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="atmWDAmB'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="recvReqWD'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPContext_mBANK_i" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTIDENTContext_mBANK_i" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#A|org.eventb.core.guard#."/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="a∈withdrawOk" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#A|org.eventb.core.guard#("/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="a∈recvReqWD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#A|org.eventb.core.guard#)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="withdrawFail/grd4/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j+"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#."/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#."/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j+"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawFail/grd8/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j."/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCash)∧atmCash∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#1"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#1"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j."/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawFail/grd11/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j0"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmWDAmB)∧atmWDAmB∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#3"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#3"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j0"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawFail/grd13/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j3"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtmB)∧cardInAtmB∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#6"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#6"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTContext_mBANK_j" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="withdrawFail'" org.eventb.core.type="ℙ(ATM)"/>
<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="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="CARD"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_j+" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTIDENTContext_mBANK_j" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|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="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#9"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#+"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#-"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_j." org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j+" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="am&gt;bal(acc)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#."/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#\/"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#0"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_j0" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j." org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="am≤atmCash(a)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#1"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="a∈dom(atmWDAmB)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#2"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_j3" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j0" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="am=atmWDAmB(a)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#3"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="a∈recvReqWD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#4"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="a∈dom(cardInAtmB)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#5"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPContext_mBANK_j" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_j3" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD13" org.eventb.core.predicate="cardInAtmB(a)=c" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#B|org.eventb.core.guard#6"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="SendRespWDfail/Withdraw_4_inv3/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_k"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="{a} ⩤ cardInAtmB∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#C"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#SendRespWDfail\/Withdraw_4_inv3\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD12"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="SendRespWDfail/Withdraw_4_inv5/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_k"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="{a} ⩤ atmWDAmB∈ATM ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#C"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#SendRespWDfail\/Withdraw_4_inv5\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTContext_mBANK_k" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="cardInAtmB'" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.poIdentifier name="withdrawFail'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="atmWDAmB'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="recvReqWD'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPContext_mBANK_k" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTIDENTContext_mBANK_k" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#C|org.eventb.core.guard#0"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="a∈withdrawFail" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#C|org.eventb.core.guard#("/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="a∈recvReqWD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#C|org.eventb.core.guard#)"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="a∈dom(cardInAtmB)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#C|org.eventb.core.guard#*"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="a∈dom(atmWDAmB)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#C|org.eventb.core.guard#+"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="Deposit/Withdraw_0_IntegralATM_0_inv1/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_l"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="bal{acc ↦ bal(acc)+am}∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#Deposit\/Withdraw_0_IntegralATM_0_inv1\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="Deposit/act1/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of action" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_l"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D|org.eventb.core.action#\/"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D|org.eventb.core.action#\/"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_l"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTContext_mBANK_l" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<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.poIdentifier name="bal'" org.eventb.core.type="ℙ(ACCOUNT×ℤ)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPContext_mBANK_l" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTIDENTContext_mBANK_l" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D|org.eventb.core.guard#0"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D|org.eventb.core.guard#1"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D|org.eventb.core.guard#*"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D|org.eventb.core.guard#+"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#D|org.eventb.core.guard#."/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="Transfer/grd9/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of Guard" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_m\/"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="src_ac∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#3"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#3"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_m\/"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="Transfer/Withdraw_0_IntegralATM_0_inv1/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  preservation" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_m"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="bal{dest_ac ↦ bal(dest_ac)+am,src_ac ↦ bal(src_ac) − am}∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poSequent#Transfer\/Withdraw_0_IntegralATM_0_inv1\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="Transfer/act1/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of action" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_m"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="dest_ac∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ∧src_ac∈dom(bal)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.action#4"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.action#4"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTALLHYPContext_mBANK_m"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTContext_mBANK_m" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="am" org.eventb.core.type="ℤ"/>
<org.eventb.core.poIdentifier name="dest_ac" org.eventb.core.type="ACCOUNT"/>
<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="bal'" org.eventb.core.type="ℙ(ACCOUNT×ℤ)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPContext_mBANK_m/" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTIDENTContext_mBANK_m" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#5"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#6"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#+"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="c ↦ src_ac∈cardAcct" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#."/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#\/"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#0"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#1"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#2"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPContext_mBANK_m" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#EVTHYPContext_mBANK_m\/" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="am&lt;bal(src_ac)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.event#E|org.eventb.core.guard#3"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/Withdraw/mBANK_W.bpo|org.eventb.core.poFile#mBANK_W|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="recvReqWD∈ℙ(ATM)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#\/"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="bal∈ℙ(ACCOUNT × ℤ)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#0"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="cardInAtmB∈ℙ(ATM × CARD)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#1"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="withdrawOk∈ℙ(ATM)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#2"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="withdrawFail∈ℙ(ATM)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#3"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="atmCash∈ℙ(ATM × ℤ)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#4"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="atmWDAmB∈ℙ(ATM × ℤ)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#5"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="cardAcct∈ℙ(CARD × ACCOUNT)" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#6"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="bal∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#7"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="cardAcct∈CARD ⇸ ACCOUNT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#8"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="atmCash∈ATM → ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#9"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="cardAcct∈CARD ↔ ACCOUNT" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#:"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="cardInAtmB∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#;"/>
<org.eventb.core.poPredicate name="PRD13" org.eventb.core.predicate="atmWDAmB∈ATM ⇸ ℕ" org.eventb.core.source="/Withdraw/mBANK_W.bum|org.eventb.core.machineFile#mBANK_W|org.eventb.core.invariant#="/>
</org.eventb.core.poPredicateSet>
</org.eventb.core.poFile>
