<?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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poStamp="1">
<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="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.invariant#*"/>
<org.eventb.core.poPredicate name="transferFailC" org.eventb.core.predicate="validCard∈ℙ(CARD)" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.invariant#+"/>
<org.eventb.core.poPredicate name="transferFailD" org.eventb.core.predicate="cardAcct∈ℙ(CARD × ACCOUNT)" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.invariant#,"/>
<org.eventb.core.poPredicate name="transferFailE" org.eventb.core.predicate="bal∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.invariant#-"/>
<org.eventb.core.poPredicate name="transferFailF" org.eventb.core.predicate="cardAcct∈CARD ⇸ ACCOUNT" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.invariant#."/>
<org.eventb.core.poPredicate name="transferFailG" org.eventb.core.predicate="validCard⊆CARD" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.invariant#\/"/>
</org.eventb.core.poPredicateSet>
<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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO6"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM×CARD))∈ATM ⇸ CARD" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSy"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#0"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSy"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poSequent#INITIALISATION\/inv11\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD2"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="INITIALISATION/inv12/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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO6"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(∅ ⦂ ℙ(ATM))∩(∅ ⦂ ℙ(ATM))=(∅ ⦂ ℙ(ATM))" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#0"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#'"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#CTXHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poSequent#INITIALISATION\/inv12\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTBalTransfer_CO6" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_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="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="EVTALLHYPBalTransfer_CO6" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTIDENTBalTransfer_CO6" org.eventb.core.poStamp="1"/>
<org.eventb.core.poSequent name="TransferOK/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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO7dest_ae"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtm)∧cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ|org.eventb.core.guard#_s6E5gOwKEd-V6twkc9HfSy"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ|org.eventb.core.guard#_s6E5gOwKEd-V6twkc9HfSy"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO7dest_ae"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="TransferOK/inv12/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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO7"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(transferOkA∪{a})∩transferFailA=(∅ ⦂ ℙ(ATM))" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="ABSTRACT" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="CONCRETE" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ"/>
<org.eventb.core.poSource name="SEQHYT" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poSequent#TransferOK\/inv12\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYV" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO7"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="dest_ac∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ∧src_ac∈dom(bal)" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.action#4"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.action#4"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO7"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTBalTransfer_CO7" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_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="EVTHYPBalTransfer_CO7dest_ae" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTIDENTBalTransfer_CO7" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#+"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#,"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#-"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="c ↦ src_ac∈cardAcct" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#."/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#\/"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#0"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#1"/>
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#2"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="am≤bal(src_ac)" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.guard#3"/>
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="a∈dom(cardInAtm)" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ|org.eventb.core.guard#_s6E5gOwKEd-V6twkc9HfSx"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPBalTransfer_CO7" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO7dest_ae" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="c=cardInAtm(a)" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ|org.eventb.core.guard#_s6E5gOwKEd-V6twkc9HfSy"/>
<org.eventb.core.poPredicate name="PRD11" org.eventb.core.predicate="a∉transferOkA∪transferFailA" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ|org.eventb.core.guard#_s6E5gOwKEd-V6twkc9HfSz"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO8-"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="src_ac∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_eHjV2-wJEd-V6twkc9HfSw"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_eHjV2-wJEd-V6twkc9HfSw"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO8-"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="TransferFails/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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO8\/"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="a∈dom(cardInAtm)∧cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_s6E5guwKEd-V6twkc9HfS~"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_s6E5guwKEd-V6twkc9HfS~"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO8\/"/>
</org.eventb.core.poSequent>
<org.eventb.core.poSequent name="TransferFails/inv12/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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO8"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="transferOkA∩(transferFailA∪{a})=(∅ ⦂ ℙ(ATM))" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poSequent#TransferFails\/inv12\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTBalTransfer_CO8" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_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="EVTHYPBalTransfer_CO8-" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTIDENTBalTransfer_CO8" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_eHjV2OwJEd-V6twkc9HfSw"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_eHjV2ewJEd-V6twkc9HfSw"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_s6E5guwKEd-V6twkc9HfSy"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_eHjV2uwJEd-V6twkc9HfSw"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_s6E5guwKEd-V6twkc9HfS{"/>
<org.eventb.core.poPredicate name="PRD5" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_s6E5guwKEd-V6twkc9HfS\|"/>
<org.eventb.core.poPredicate name="PRD6" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_eHjV3OwJEd-V6twkc9HfSw"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTHYPBalTransfer_CO8/" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO8-" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD7" org.eventb.core.predicate="am&gt;bal(src_ac)∨c ↦ src_ac∉cardAcct" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_eHjV2-wJEd-V6twkc9HfSw"/>
<org.eventb.core.poPredicate name="PRD8" org.eventb.core.predicate="a∈dom(cardInAtm)" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_s6E5guwKEd-V6twkc9HfS}"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPBalTransfer_CO8" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTHYPBalTransfer_CO8\/" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD9" org.eventb.core.predicate="c=cardInAtm(a)" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_s6E5guwKEd-V6twkc9HfS~"/>
<org.eventb.core.poPredicate name="PRD10" org.eventb.core.predicate="a∉transferOkA∪transferFailA" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.guard#_s6E5guwKEd-V6twkc9HfT'"/>
</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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO9"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="acc∈dom(bal)∧bal∈ACCOUNT ⇸ ℤ" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.action#9"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.action#9"/>
<org.eventb.core.poSelHint name="SEQHYS" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO9"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTBalTransfer_CO9" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_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="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="EVTALLHYPBalTransfer_CO9" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTIDENTBalTransfer_CO9" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.guard#4"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.guard#5"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.guard#6"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="c∈validCard" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.guard#7"/>
<org.eventb.core.poPredicate name="PRD4" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.guard#8"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poSequent name="FinishTransfer/inv12/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="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTALLHYPBalTransfer_CO:"/>
<org.eventb.core.poPredicate name="SEQHYQ" org.eventb.core.predicate="(transferOkA ∖ {a})∩(transferFailA ∖ {a})=(∅ ⦂ ℙ(ATM))" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
<org.eventb.core.poSource name="SEQHYR" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfS{"/>
<org.eventb.core.poSource name="SEQHYS" org.eventb.core.poRole="DEFAULT" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
<org.eventb.core.poSelHint name="SEQHYT" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP" org.eventb.core.poSelHintSnd="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poSequent#FinishTransfer\/inv12\/INV|org.eventb.core.poPredicateSet#SEQHYP"/>
<org.eventb.core.poSelHint name="SEQHYU" org.eventb.core.poSelHintFst="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#ALLHYP|org.eventb.core.poPredicate#PRD3"/>
</org.eventb.core.poSequent>
<org.eventb.core.poPredicateSet name="EVTIDENTBalTransfer_CO:" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_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="transferFailA'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.poIdentifier name="a" org.eventb.core.type="ATM"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="EVTALLHYPBalTransfer_CO:" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_1|org.eventb.core.poPredicateSet#EVTIDENTBalTransfer_CO:" org.eventb.core.poStamp="1">
<org.eventb.core.poPredicate name="PRD0" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfS{|org.eventb.core.guard#("/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="a∈transferOkA∪transferFailA" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfS{|org.eventb.core.guard#)"/>
</org.eventb.core.poPredicateSet>
<org.eventb.core.poPredicateSet name="ALLHYP" org.eventb.core.parentSet="/Transfer/BalTransfer_1.bpo|org.eventb.core.poFile#BalTransfer_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="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_FRFscAY9EeC9GJs-VyssYw"/>
<org.eventb.core.poPredicate name="PRD1" org.eventb.core.predicate="transferFailA∈ℙ(ATM)" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_btYp4w0NEeCDh_sKUTn4vw"/>
<org.eventb.core.poPredicate name="PRD2" org.eventb.core.predicate="cardInAtm∈ATM ⇸ CARD" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSy"/>
<org.eventb.core.poPredicate name="PRD3" org.eventb.core.predicate="transferOkA∩transferFailA=(∅ ⦂ ℙ(ATM))" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.invariant#_eHjV0uwJEd-V6twkc9HfSz"/>
</org.eventb.core.poPredicateSet>
</org.eventb.core.poFile>
