<?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="CARD" org.eventb.core.type="ℙ(CARD)"/>
<org.eventb.core.poIdentifier name="ATM" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|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="atmCashA" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="atmWDAm" 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="cardInAtm" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.poIdentifier name="reqWD" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="respWDfail" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="respWDok" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="trans" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="validCard" org.eventb.core.type="ℙ(CARD)"/>
<org.eventb.core.poIdentifier name="withdrawFail" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="withdrawFailA" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="withdrawFailMsg" org.eventb.core.type="ℙ(ATM×BOOL)"/>
<org.eventb.core.poIdentifier name="withdrawOk" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="withdrawOkA" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="withdrawOkMsg" org.eventb.core.type="ℙ(ATM×BOOL)"/>
<org.eventb.core.poPredicate name="withdrawFailMsh" org.eventb.core.predicate="bal∈ℙ(ACCOUNT × ℤ)" org.eventb.core.source="/Withdraw/Withdraw_0.bum|org.eventb.core.machineFile#Withdraw_0|org.eventb.core.invariant#*"/>
<org.eventb.core.poPredicate name="withdrawFailMsi" org.eventb.core.predicate="validCard∈ℙ(CARD)" org.eventb.core.source="/Withdraw/Withdraw_0.bum|org.eventb.core.machineFile#Withdraw_0|org.eventb.core.invariant#+"/>
<org.eventb.core.poPredicate name="withdrawFailMsj" org.eventb.core.predicate="cardAcct∈ℙ(CARD × ACCOUNT)" org.eventb.core.source="/Withdraw/Withdraw_0.bum|org.eventb.core.machineFile#Withdraw_0|org.eventb.core.invariant#,"/>
<org.eventb.core.poPredicate name="withdrawFailMsk" org.eventb.core.predicate="bal∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/Withdraw/Withdraw_0.bum|org.eventb.core.machineFile#Withdraw_0|org.eventb.core.invariant#-"/>
<org.eventb.core.poPredicate name="withdrawFailMsl" org.eventb.core.predicate="cardAcct∈CARD ⇸ ACCOUNT" org.eventb.core.source="/Withdraw/Withdraw_0.bum|org.eventb.core.machineFile#Withdraw_0|org.eventb.core.invariant#."/>
<org.eventb.core.poPredicate name="withdrawFailMsm" org.eventb.core.predicate="validCard⊆CARD" org.eventb.core.source="/Withdraw/Withdraw_0.bum|org.eventb.core.machineFile#Withdraw_0|org.eventb.core.invariant#\/"/>
<org.eventb.core.poPredicate name="withdrawFailMsn" org.eventb.core.predicate="atmCash∈ATM → ℕ" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.invariant#_Oi3SglOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="withdrawFailMso" org.eventb.core.predicate="withdrawOkA∈ℙ(ATM)" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.invariant#_Oi2rdFOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="withdrawFailMsp" org.eventb.core.predicate="withdrawFailA∈ℙ(ATM)" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.invariant#_Oi3SgVOcEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="INITIALISATION/inv9/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×ℤ))∈ATM ⇸ ℕ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjPjJVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjPjJVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv9\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv11/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ATM × {0}∈ATM → ℕ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKMVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKMVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv11\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv13/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×BOOL))∈ATM ⇸ BOOL" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKM1OnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKM1OnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv13\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD5"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv14/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×BOOL))∈ATM ⇸ BOOL" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKNFOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKNFOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv14\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD6"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv17/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM))⊆(∅ ⦂ ℙ(ATM))" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYIfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYIfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv17\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv18/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM))⊆(∅ ⦂ ℙ(ATM))" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYYfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYYfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv18\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD9"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv21/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×CARD))∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxj"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxj"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv21\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD11"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv22/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="∀c⦂CARD·c∈ran(∅ ⦂ ℙ(ATM×CARD))⇒c∈(∅ ⦂ ℙ(CARD))" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxk"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxk"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv22\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD12"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv23/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsh"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="partition(∅ ⦂ ℙ(ATM),∅ ⦂ ℙ(ATM),∅ ⦂ ℙ(ATM),∅ ⦂ ℙ(ATM))" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#INITIALISATION\/inv23\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsh" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="respWDfail'" org.eventb.core.type="ℙ(ATM)"/>
<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="atmCashA'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="withdrawOk'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="withdrawFailMsg'" org.eventb.core.type="ℙ(ATM×BOOL)"/>
<org.eventb.core.poIdentifier name="withdrawOkMsg'" org.eventb.core.type="ℙ(ATM×BOOL)"/>
<org.eventb.core.poIdentifier name="withdrawOkA'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="respWDok'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="withdrawFailA'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="trans'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="atmWDAm'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="cardInAtm'" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.poIdentifier name="bal'" org.eventb.core.type="ℙ(ACCOUNT×ℤ)"/>
<org.eventb.core.poIdentifier name="reqWD'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="validCard'" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPwithdrawFailMsh" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsh" org.eventb.core.poStamp="1"/>
<org.eventb.core.poSequent name="reqWithdraw/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsi+"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCashA)∧atmCashA∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j9WNVOhEeCu5ZBiYa8OYh"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j9WNVOhEeCu5ZBiYa8OYh"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsi+"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="reqWithdraw/inv9/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsi"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="atmWDAm{a ↦ am}∈ATM ⇸ ℕ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjPjJVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjPjJVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#reqWithdraw\/inv9\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="reqWithdraw/inv23/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsi"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="partition(trans∪{a},reqWD∪{a},respWDok,respWDfail)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#reqWithdraw\/inv23\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsi" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|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="a" org.eventb.core.type="ATM"/>
<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="atmWDAm'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="reqWD'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPwithdrawFailMsi+" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsi" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j9WNVOhEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j99QFOhEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j99QVOhEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j99QlOhEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="a ↦ c∈cardInAtm" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j99Q1OhEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPwithdrawFailMsi" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsi+" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="am≤atmCashA(a)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j9WNVOhEeCu5ZBiYa8OYh"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="a∉trans" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_1j9WMFOhEeCu5ZBiYa8OYg|org.eventb.core.guard#_1j99RFOhEeCu5ZBiYa8OYg"/>
</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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj*"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi5HsFOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi5HsFOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj*"/>
</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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj,"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCash)∧atmCash∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_antvAFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_antvAFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj,"/>
</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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj\/"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmWDAm)∧atmWDAm∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anuWEFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anuWEFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj\/"/>
</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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj1"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtm)∧cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9G00YfxEeCsjdVPpjFWxh"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9G00YfxEeCsjdVPpjFWxh"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj1"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/inv17/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsj"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="withdrawOk∪{a}⊆withdrawOkA∪{a}" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYIfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYIfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawOK\/inv17\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/grd4/GRD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Guard strengthening (split)" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsj"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="am≤bal(acc)" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi5HsFOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi5HsFOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawOK\/grd4\/GRD|org.eventb.core.poPredicateSet#SEQHYP"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/grd5/GRD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Guard strengthening (split)" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsj"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_eV4I1oEeCql_Cw8lZNHT"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_eV4I1oEeCql_Cw8lZNHT"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawOK\/grd5\/GRD|org.eventb.core.poPredicateSet#SEQHYP"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOK/grd8/GRD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Guard strengthening (split)" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsj"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="am≤atmCash(a)" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_antvAFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_antvAFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawOK\/grd8\/GRD|org.eventb.core.poPredicateSet#SEQHYP"/>
</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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsj"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.action#_Oi6V0VOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.action#_Oi6V0VOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsj"/>
</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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsj"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCash)∧atmCash∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.action#_Oi6V0lOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.action#_Oi6V0lOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsj"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsj" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|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="withdrawOkA'" 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="EVTHYPwithdrawFailMsj*" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsj" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi4go1OcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi4gpFOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi4gpVOcEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPwithdrawFailMsj," org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj*" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="bal(acc)≥am" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi5HsFOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi5HsVOcEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPwithdrawFailMsj/" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj," org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="atmCash(a)≥am" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_antvAFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="a∈reqWD" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_antvAVOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="a∈dom(atmWDAm)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_antvAlOdEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPwithdrawFailMsj1" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj\/" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="am=atmWDAm(a)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anuWEFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="a∈dom(cardInAtm)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9G00YfxEeCsjdVPpjFWxi"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPwithdrawFailMsj" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsj1" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="c=cardInAtm(a)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9G00YfxEeCsjdVPpjFWxh"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9G00YfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="a∉withdrawOk" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi35kVOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_MjVpwFOnEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="respWDok/inv17/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsk"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="withdrawOk ∖ {a}⊆withdrawOkA" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYIfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjWQ0FOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYIfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#respWDok\/inv17\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD8"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="respWDok/inv23/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsk"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="partition(trans,reqWD ∖ {a},respWDok∪{a},respWDfail)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjWQ0FOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#respWDok\/inv23\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsk" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<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="respWDok'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="reqWD'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPwithdrawFailMsk" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsk" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈withdrawOk" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjWQ0FOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_MjWQ0lOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="a∈reqWD" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjWQ0FOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_MjWQ01OnEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl-"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCash)∧atmCash∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkNFOdEeCu5ZBiYa8OYh"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkNFOdEeCu5ZBiYa8OYh"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl-"/>
</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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl0"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmWDAm)∧atmWDAm∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkMVOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkMVOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl0"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawFail/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl3"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtm)∧cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9J4IYfxEeCsjdVPpjFWxi"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9J4IYfxEeCsjdVPpjFWxi"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawFail/inv18/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsl"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="withdrawFail∪{a}⊆withdrawFailA∪{a}" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYYfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYYfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawFail\/inv18\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD9"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawFail/grd5/GRD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Guard strengthening (split)" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsl"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkNFOdEeCu5ZBiYa8OYj"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Withdraw/Withdraw_1.bum|org.eventb.core.machineFile#Withdraw_1|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkNFOdEeCu5ZBiYa8OYj"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawFail\/grd5\/GRD|org.eventb.core.poPredicateSet#SEQHYP"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsl" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|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.poIdentifier name="withdrawFailA'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPwithdrawFailMsl-" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsl" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_Oi7j8VOcEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#internal1"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkMlOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="am&gt;bal(acc)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#internal2"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkNFOdEeCu5ZBiYa8OYi"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#internal3"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPwithdrawFailMsl0" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl-" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="am≤atmCash(a)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkNFOdEeCu5ZBiYa8OYh"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="a∈reqWD" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkMFOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="a∈dom(atmWDAm)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anu9IFOdEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPwithdrawFailMsl3" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl0" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="am=atmWDAm(a)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_anvkMVOdEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9J4IYfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="a∈dom(cardInAtm)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9J4IYfxEeCsjdVPpjFWxh"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPwithdrawFailMsl" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsl3" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="c=cardInAtm(a)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_Oi684FOcEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9J4IYfxEeCsjdVPpjFWxi"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="respWDfail/inv18/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsm"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="withdrawFail ∖ {a}⊆withdrawFailA" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYYfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYGAVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYYfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#respWDfail\/inv18\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD9"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="respWDfail/inv23/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsm"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="partition(trans,reqWD ∖ {a},respWDok,respWDfail∪{a})" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYGAVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#respWDfail\/inv23\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsm" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="respWDfail'" org.eventb.core.type="ℙ(ATM)"/>
<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="reqWD'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPwithdrawFailMsm" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsm" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈withdrawFail" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYGAVOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_MjYGA1OnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="a∈reqWD" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYGAVOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_MjYGBFOnEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="withdrawOKAtm/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsn)"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCashA)∧atmCashA∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9MUYIfxEeCsjdVPpjFWxi"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9MUYIfxEeCsjdVPpjFWxi"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsn)"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOKAtm/inv11/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsn"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="atmCashA{a ↦ atmCashA(a) − am}∈ATM → ℕ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKMVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKMVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawOKAtm\/inv11\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD4"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOKAtm/inv13/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsn"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="withdrawOkMsg{a ↦ TRUE}∈ATM ⇸ BOOL" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKM1OnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKM1OnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawOKAtm\/inv13\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD5"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOKAtm/inv23/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsn"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="partition(trans ∖ {a},reqWD,respWDok ∖ {a},respWDfail)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawOKAtm\/inv23\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawOKAtm/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsn"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCashA)∧atmCashA∈ATM ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg|org.eventb.core.action#_MjYtFVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg|org.eventb.core.action#_MjYtFVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsn"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsn" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|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="atmCashA'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="withdrawOkMsg'" org.eventb.core.type="ℙ(ATM×BOOL)"/>
<org.eventb.core.poIdentifier name="respWDok'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="trans'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPwithdrawFailMsn)" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsn" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈dom(atmCashA)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9LGRIfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="a∈respWDok" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9LtUofxEeCsjdVPpjFWxg"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9MUYIfxEeCsjdVPpjFWxh"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPwithdrawFailMsn" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTHYPwithdrawFailMsn)" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="am≤atmCashA(a)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtElOnEeCu5ZBiYa8OYg|org.eventb.core.guard#_z9MUYIfxEeCsjdVPpjFWxi"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="withdrawFailsAtm/inv14/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMso"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="withdrawFailMsg{a ↦ TRUE}∈ATM ⇸ BOOL" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKNFOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtF1OnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKNFOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawFailsAtm\/inv14\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD6"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="withdrawFailsAtm/inv23/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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMso"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="partition(trans ∖ {a},reqWD,respWDok,respWDfail ∖ {a})" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtF1OnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poSequent#withdrawFailsAtm\/inv23\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD13"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMso" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="respWDfail'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="withdrawFailMsg'" org.eventb.core.type="ℙ(ATM×BOOL)"/>
<org.eventb.core.poIdentifier name="trans'" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPwithdrawFailMso" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMso" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈respWDfail" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_MjYtF1OnEeCu5ZBiYa8OYg|org.eventb.core.guard#_MjZUIVOnEeCu5ZBiYa8OYg"/>
</org.eventb.core.poPredicateSet>
<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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsp"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_mdc1ObEeCu5ZBiYa8OYg|org.eventb.core.action#_h_fkAI1oEeCql_Cw8lZNHZ"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_mdc1ObEeCu5ZBiYa8OYg|org.eventb.core.action#_h_fkAI1oEeCql_Cw8lZNHZ"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsp"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsp" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|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="EVTALLHYPwithdrawFailMsp" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsp" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_mdc1ObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_fkAI1oEeCql_Cw8lZNHU"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_mdc1ObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_fkAI1oEeCql_Cw8lZNHV"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_mdc1ObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_fkAI1oEeCql_Cw8lZNHW"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_mdc1ObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_fkAI1oEeCql_Cw8lZNHX"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_mdc1ObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_fkAI1oEeCql_Cw8lZNHY"/>
</org.eventb.core.poPredicateSet>
<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/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsq"/>
<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/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.action#_h_gLEI1oEeCql_Cw8lZNH_"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.action#_h_gLEI1oEeCql_Cw8lZNH_"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTALLHYPwithdrawFailMsq"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTwithdrawFailMsq" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|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="EVTALLHYPwithdrawFailMsq" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#EVTIDENTwithdrawFailMsq" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNHV"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNHW"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNHX"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="c ↦ src_ac∈cardAcct" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNHY"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNHZ"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNH["/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNH\\"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNH]"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="am&lt;bal(src_ac)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.event#_T_nrklObEeCu5ZBiYa8OYg|org.eventb.core.guard#_h_gLEI1oEeCql_Cw8lZNH^"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/Withdraw/Withdraw_2.bpo|org.eventb.core.poFile#Withdraw_2|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="reqWD∈ℙ(ATM)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjPjIFOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="respWDok∈ℙ(ATM)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjPjIVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="respWDfail∈ℙ(ATM)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjPjIlOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="atmWDAm∈ATM ⇸ ℕ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjPjJVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="atmCashA∈ATM → ℕ" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKMVOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="withdrawOkMsg∈ATM ⇸ BOOL" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKM1OnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="withdrawFailMsg∈ATM ⇸ BOOL" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_MjQKNFOnEeCu5ZBiYa8OYg"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="cardAcct∈CARD ↔ ACCOUNT" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_Cq_u0FOrEeCp_sWDnLAT7w"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="withdrawOk⊆withdrawOkA" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYIfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="withdrawFail⊆withdrawFailA" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYYfxEeCsjdVPpjFWxg"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="trans∈ℙ(ATM)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxi"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxj"/>
<org.eventb.core.poPredicate name="PRD12" org.eventb.core.predicate="∀c⦂CARD·c∈ran(cardInAtm)⇒c∈validCard" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxk"/>
<org.eventb.core.poPredicate name="PRD13" org.eventb.core.predicate="partition(trans,reqWD,respWDok,respWDfail)" org.eventb.core.source="/Withdraw/Withdraw_2.bum|org.eventb.core.machineFile#Withdraw_2|org.eventb.core.invariant#_z9CjYofxEeCsjdVPpjFWxl"/>
</org.eventb.core.poPredicateSet>
</org.eventb.core.poFile>
