<?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="1">
<org.eventb.core.poIdentifier name="MAX_CASH" org.eventb.core.type="ℤ"/>
<org.eventb.core.poIdentifier name="MIN_CASH" org.eventb.core.type="ℤ"/>
<org.eventb.core.poPredicate name="MIN_CASI" org.eventb.core.predicate="MIN_CASH∈ℕ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1_CO.buc|org.eventb.core.contextFile#ATM_TD_1_CO|org.eventb.core.axiom#internal_element1"/>
<org.eventb.core.poPredicate name="MIN_CASJ" org.eventb.core.predicate="MAX_CASH∈ℕ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1_CO.buc|org.eventb.core.contextFile#ATM_TD_1_CO|org.eventb.core.axiom#internal_element2"/>
<org.eventb.core.poPredicate name="MIN_CASK" org.eventb.core.predicate="MAX_CASH&gt;MIN_CASH" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1_CO.buc|org.eventb.core.contextFile#ATM_TD_1_CO|org.eventb.core.axiom#internal_element3"/>
<org.eventb.core.poIdentifier name="ACCOUNT" org.eventb.core.type="ℙ(ACCOUNT)"/>
<org.eventb.core.poIdentifier name="ATM" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="CARD" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ABSHYP" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|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="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="transferFailA" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="transferOkA" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="validCard" org.eventb.core.type="ℙ(CARD)"/>
<org.eventb.core.poPredicate name="transferFailB" org.eventb.core.predicate="bal∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.invariant#__COKMDqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="transferFailC" org.eventb.core.predicate="cardAcct∈CARD ⇸ ACCOUNT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.invariant#_RPaLwD24EeCAYsu3bd3gpA"/>
<org.eventb.core.poPredicate name="transferFailD" org.eventb.core.predicate="cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.invariant#_RPaLwT24EeCAYsu3bd3gpA"/>
<org.eventb.core.poPredicate name="transferFailE" org.eventb.core.predicate="validCard⊆CARD" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.invariant#_RPaLwj24EeCAYsu3bd3gpA"/>
<org.eventb.core.poPredicate name="transferFailF" org.eventb.core.predicate="∀c⦂CARD·c∈validCard⇒c∈ran(cardInAtm)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.invariant#__CQmeDqkEeCEXI9UeGRwry"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="INITIALISATION/BalTransfer_1.inv10/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailB"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×CARD))∈ATM ⇸ CARD" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element3"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element1"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element3"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poSequent#INITIALISATION\/BalTransfer_1.inv10\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD2"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/Deposit_1.inv2/INV" org.eventb.core.accurate="true" org.eventb.core.poDesc="Invariant  establishment" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailB"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="ATM × {0}∈ATM → ℕ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element4"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element1"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element4"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poSequent#INITIALISATION\/Deposit_1.inv2\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTtransferFailB" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="transferOkA'" 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="transferFailA'" 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="validCard'" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPtransferFailB" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTIDENTtransferFailB" org.eventb.core.poStamp="1"/>
<org.eventb.core.poSequent name="transferOK/BalTransfer_1.transferOK.grd12/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="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailCdest_ae"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtm)∧cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element1"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element1"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailCdest_ae"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="transferOK/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="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailC"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="dest_ac∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ∧src_ac∈dom(bal)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.action#__COxRjqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.action#__COxRjqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailC"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTtransferFailC" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poIdentifier name="transferOkA'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="am" org.eventb.core.type="ℤ"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="dest_ac" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.poIdentifier name="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="EVTHYPtransferFailCdest_ae" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTIDENTtransferFailC" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COKNjqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COxQDqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COxRjqkEeCEXI9UeGRwry"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="c ↦ src_ac∈cardAcct" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COxRjqkEeCEXI9UeGRwrz"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COxQTqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COxQjqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COxQzqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COxRDqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="am≤bal(src_ac)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.guard#__COxRTqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="a∈dom(cardInAtm)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element2"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPtransferFailC" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailCdest_ae" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="c=cardInAtm(a)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element1"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="transferFails/BalTransfer_1.transferFails.grd12/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="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailD'"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtm)∧cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element1"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element1"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailD'"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="transferFails/BalTransfer_1.transferFails.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="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailD)"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="src_ac∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element3"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element3"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailD)"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTtransferFailD" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|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="transferFailA'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
<org.eventb.core.poIdentifier name="dest_ac" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.poIdentifier name="src_ac" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.poIdentifier name="c" org.eventb.core.type="CARD"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPtransferFailD'" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTIDENTtransferFailD" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈dom(cardInAtm)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element2"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPtransferFailD)" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailD'" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="c=cardInAtm(a)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element1"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element7"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPtransferFailD" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailD)" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="am&gt;bal(src_ac)∨c ↦ src_ac∉cardAcct" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element3"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element4"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element5"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element6"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element8"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element9"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element10"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="Deposit/Deposit_1.Deposit.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="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailEacg"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtm)∧cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4|org.eventb.core.guard#internal_element1"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4|org.eventb.core.guard#internal_element1"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailEacg"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="Deposit/Deposit_1.inv2/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="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailE"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="atmCash{a ↦ atmCash(a)+am}∈ATM → ℕ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element4"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element4"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poSequent#Deposit\/Deposit_1.inv2\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="Deposit/act1/WD" org.eventb.core.accurate="true" org.eventb.core.poDesc="Well-definedness of action" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicateSet name="SEQHYP" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailE"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.action#__CPYVjqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.action#__CPYVjqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailE"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="Deposit/Deposit_1.Deposit.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="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailE"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(atmCash)∧atmCash∈ATM ⇸ ℤ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4|org.eventb.core.action#internal_element1"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4|org.eventb.core.action#internal_element1"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTALLHYPtransferFailE"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTtransferFailE" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|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="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="EVTHYPtransferFailEacg" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTIDENTtransferFailE" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.guard#__CPYUzqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.guard#__CPYVDqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.guard#__CPYVTqkEeCEXI9UeGRwrw"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.guard#__CPYVjqkEeCEXI9UeGRwry"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.guard#__CPYVjqkEeCEXI9UeGRwrz"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4|org.eventb.core.guard#internal_element4"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="a∈dom(atmCash)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4|org.eventb.core.guard#internal_element2"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="a∈dom(cardInAtm)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4|org.eventb.core.guard#internal_element3"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPtransferFailE" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#EVTHYPtransferFailEacg" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="cardInAtm(a)=c" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.event#internal_element4|org.eventb.core.guard#internal_element1"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/ATMintegralRefined/ATM_TD_1.bpo|org.eventb.core.poFile#ATM_TD_1|org.eventb.core.poPredicateSet#ABSHYP" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="transferOkA∈ℙ(ATM)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element1"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="transferFailA∈ℙ(ATM)" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element2"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element3"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="atmCash∈ATM → ℕ" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.invariant#internal_element4"/>
</org.eventb.core.poPredicateSet>
</org.eventb.core.poFile>
