<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scMachineFile org.eventb.core.accurate="true" org.eventb.core.configuration="org.eventb.core.fwd">
<org.eventb.core.scRefinesMachine name="'" org.eventb.core.scTarget="/ATMintegralRefined/ATM_TD_0.bcm" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.refinesMachine#internal_element1"/>
<org.eventb.core.scSeesContext name="(" org.eventb.core.scTarget="/ATMintegralRefined/ATM_TD_1_CO.bcc" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.seesContext#sees1"/>
<org.eventb.core.scInternalContext name="ATM_TD_1_CO">
<org.eventb.core.scAxiom name="'" org.eventb.core.label="Deposit_CO1.MIN_CASH.type" 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.theorem="false"/>
<org.eventb.core.scAxiom name="(" org.eventb.core.label="Deposit_CO1.MAX_CASH.type" 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.theorem="false"/>
<org.eventb.core.scAxiom name=")" org.eventb.core.label="Deposit_CO1.Axiom1" 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.theorem="false"/>
<org.eventb.core.scConstant name="MAX_CASH" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1_CO.buc|org.eventb.core.contextFile#ATM_TD_1_CO|org.eventb.core.constant#internal_element2" org.eventb.core.type="ℤ"/>
<org.eventb.core.scConstant name="MIN_CASH" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1_CO.buc|org.eventb.core.contextFile#ATM_TD_1_CO|org.eventb.core.constant#internal_element1" org.eventb.core.type="ℤ"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scSeesContext name="CSEES0" org.eventb.core.scTarget="/ATMintegralRefined/ATM_CO.bcc" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.seesContext#_RPZksD24EeCAYsu3bd3gpA"/>
<org.eventb.core.scInternalContext name="ATM_CO">
<org.eventb.core.scCarrierSet name="ACCOUNT" org.eventb.core.source="/ATMintegralRefined/ATM_CO.buc|org.eventb.core.contextFile#ATM_CO|org.eventb.core.carrierSet#_SrAPADqiEeCEXI9UeGRwrw" org.eventb.core.type="ℙ(ACCOUNT)"/>
<org.eventb.core.scCarrierSet name="ATM" org.eventb.core.source="/ATMintegralRefined/ATM_CO.buc|org.eventb.core.contextFile#ATM_CO|org.eventb.core.carrierSet#_ol_YAT21EeCAYsu3bd3gpA" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scCarrierSet name="CARD" org.eventb.core.source="/ATMintegralRefined/ATM_CO.buc|org.eventb.core.contextFile#ATM_CO|org.eventb.core.carrierSet#_ol_YAD21EeCAYsu3bd3gpA" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInvariant name="ATM_CP" org.eventb.core.label="inv1" 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.theorem="false"/>
<org.eventb.core.scInvariant name="ATM_CQ" org.eventb.core.label="inv2" 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.theorem="false"/>
<org.eventb.core.scInvariant name="ATM_CR" org.eventb.core.label="inv3" 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.theorem="false"/>
<org.eventb.core.scInvariant name="ATM_CS" org.eventb.core.label="inv4" 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.theorem="false"/>
<org.eventb.core.scInvariant name="ATM_CT" org.eventb.core.label="inv5" 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.theorem="false"/>
<org.eventb.core.scInvariant name="ATM_TD_1_CP" org.eventb.core.label="BalTransfer_1.inv9" 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.theorem="false"/>
<org.eventb.core.scInvariant name="ATM_TD_1_CQ" org.eventb.core.label="BalTransfer_1.in10" 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.theorem="false"/>
<org.eventb.core.scInvariant name="ATM_TD_1_CR" org.eventb.core.label="BalTransfer_1.inv10" 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.theorem="false"/>
<org.eventb.core.scInvariant name="ATM_TD_1_CS" org.eventb.core.label="Deposit_1.inv2" 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.theorem="false"/>
<org.eventb.core.scVariable name="atmCash" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.variable#internal_element7" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.scVariable name="bal" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.variable#internal_element1" org.eventb.core.type="ℙ(ACCOUNT×ℤ)"/>
<org.eventb.core.scVariable name="cardAcct" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.variable#internal_element3" org.eventb.core.type="ℙ(CARD×ACCOUNT)"/>
<org.eventb.core.scVariable name="cardInAtm" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.variable#internal_element6" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.scVariable name="transferFailA" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.variable#internal_element5" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scVariable name="transferOkA" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.variable#internal_element4" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scVariable name="validCard" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/ATMintegralRefined/ATM_TD_1.bum|org.eventb.core.machineFile#ATM_TD_1|org.eventb.core.variable#internal_element2" org.eventb.core.type="ℙ(CARD)"/>
<org.eventb.core.scEvent name="transferFailB" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="INITIALISATION" 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.scRefinesEvent name="'" org.eventb.core.scTarget="/ATMintegralRefined/ATM_TD_0.bcm|org.eventb.core.scMachineFile#ATM_TD_0|org.eventb.core.scEvent#validCare" 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.scAction name="(" org.eventb.core.assignment="bal ≔ ∅ ⦂ ℙ(ACCOUNT×ℤ)" org.eventb.core.label="act1" 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.action#__COKMTqkEeCEXI9UeGRwrw"/>
<org.eventb.core.scAction name=")" org.eventb.core.assignment="cardAcct ≔ ∅ ⦂ ℙ(CARD×ACCOUNT)" org.eventb.core.label="act2" 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.action#_RPaLxD24EeCAYsu3bd3gpA"/>
<org.eventb.core.scAction name="*" org.eventb.core.assignment="validCard ≔ ∅ ⦂ ℙ(CARD)" org.eventb.core.label="act4" 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.action#_RPay0j24EeCAYsu3bd3gpA"/>
<org.eventb.core.scAction name="+" org.eventb.core.assignment="transferFailA ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="BalTransfer_1.INITIALISATION.act6" 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.action#internal_element1"/>
<org.eventb.core.scAction name="," org.eventb.core.assignment="transferOkA ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="BalTransfer_1.INITIALISATION.act5" 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.action#internal_element2"/>
<org.eventb.core.scAction name="-" org.eventb.core.assignment="atmCash ≔ ATM × {0}" org.eventb.core.label="Deposit_1.INITIALISATION.act6" 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.action#internal_element3"/>
<org.eventb.core.scAction name="." org.eventb.core.assignment="cardInAtm ≔ ∅ ⦂ ℙ(ATM×CARD)" org.eventb.core.label="BalTransfer_1.INITIALISATION.act7" 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.action#internal_element4"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="transferFailC" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="transferOK" 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.scRefinesEvent name="'" org.eventb.core.scTarget="/ATMintegralRefined/ATM_TD_0.bcm|org.eventb.core.scMachineFile#ATM_TD_0|org.eventb.core.scEvent#validCarf" 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.refinesEvent#internal_element1"/>
<org.eventb.core.scGuard name="'" org.eventb.core.label="grd1" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="grd2" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="grd3" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="grd4" 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.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="grd5" 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.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="grd6" 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.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="grd7" 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.theorem="false"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="grd8" 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.theorem="false"/>
<org.eventb.core.scGuard name="/" org.eventb.core.label="grd9" 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.theorem="false"/>
<org.eventb.core.scAction name="dest_ad" org.eventb.core.assignment="bal ≔ bal{dest_ac ↦ bal(dest_ac)+am,src_ac ↦ bal(src_ac) − am}" org.eventb.core.label="act1" 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.scParameter name="am" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.parameter#__COKNTqkEeCEXI9UeGRwrw" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__COKMjqkEeCEXI9UeGRwrw|org.eventb.core.parameter#__COxRjqkEeCEXI9UeGRwrx" org.eventb.core.type="CARD"/>
<org.eventb.core.scParameter name="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.parameter#__COKNDqkEeCEXI9UeGRwrw" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="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.parameter#__COKMzqkEeCEXI9UeGRwrw" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scGuard name="dest_ae" org.eventb.core.label="BalTransfer_1.transferOK.grd11" 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.theorem="false"/>
<org.eventb.core.scGuard name="dest_af" org.eventb.core.label="BalTransfer_1.transferOK.grd12" 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.theorem="false"/>
<org.eventb.core.scParameter name="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.parameter#internal_element1" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="dest_ag" org.eventb.core.assignment="transferOkA ≔ transferOkA∪{a}" org.eventb.core.label="BalTransfer_1.transferOK.act2" 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.action#internal_element1"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="transferFailD" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="transferFails" 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.scGuard name="'" org.eventb.core.label="BalTransfer_1.transferFails.grd11" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="BalTransfer_1.transferFails.grd12" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="BalTransfer_1.transferFails.grd6" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="BalTransfer_1.transferFails.grd9" 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.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="BalTransfer_1.transferFails.grd7" 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.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="BalTransfer_1.transferFails.grd8" 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.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="BalTransfer_1.transferFails.grd5" 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.theorem="false"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="BalTransfer_1.transferFails.grd3" 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.theorem="false"/>
<org.eventb.core.scGuard name="/" org.eventb.core.label="BalTransfer_1.transferFails.grd1" 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.theorem="false"/>
<org.eventb.core.scGuard name="0" org.eventb.core.label="BalTransfer_1.transferFails.grd2" 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.theorem="false"/>
<org.eventb.core.scParameter name="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.parameter#internal_element5" org.eventb.core.type="ATM"/>
<org.eventb.core.scParameter name="am" 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.parameter#internal_element3" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" 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.parameter#internal_element4" org.eventb.core.type="CARD"/>
<org.eventb.core.scParameter name="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.parameter#internal_element2" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="src_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.parameter#internal_element1" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scAction name="dest_ad" org.eventb.core.assignment="transferFailA ≔ transferFailA∪{a}" org.eventb.core.label="BalTransfer_1.transferFails.act2" 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.action#internal_element1"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="transferFailE" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="Deposit" 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.scRefinesEvent name="'" org.eventb.core.scTarget="/ATMintegralRefined/ATM_TD_0.bcm|org.eventb.core.scMachineFile#ATM_TD_0|org.eventb.core.scEvent#validCarg" 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.refinesEvent#internal_element1"/>
<org.eventb.core.scGuard name="'" org.eventb.core.label="grd1" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="grd2" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="grd3" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="grd4" 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.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="grd5" 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.theorem="false"/>
<org.eventb.core.scAction name="acd" org.eventb.core.assignment="bal ≔ bal{acc ↦ bal(acc)+am}" org.eventb.core.label="act1" 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.scParameter name="acc" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.parameter#__CPYUTqkEeCEXI9UeGRwrw" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.parameter#__CPYUjqkEeCEXI9UeGRwrw" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMintegralRefined/ATM_TD_0.bum|org.eventb.core.machineFile#ATM_TD_0|org.eventb.core.event#__CPYUDqkEeCEXI9UeGRwrw|org.eventb.core.parameter#__CPYVjqkEeCEXI9UeGRwrx" org.eventb.core.type="CARD"/>
<org.eventb.core.scGuard name="ace" org.eventb.core.label="Deposit_1.Deposit.grd6" 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.theorem="false"/>
<org.eventb.core.scGuard name="acf" org.eventb.core.label="Deposit_1.Deposit.grd7" 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.theorem="false"/>
<org.eventb.core.scGuard name="acg" org.eventb.core.label="Deposit_1.Deposit.grd8" 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.theorem="false"/>
<org.eventb.core.scGuard name="ach" org.eventb.core.label="Deposit_1.Deposit.grd9" 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.theorem="false"/>
<org.eventb.core.scParameter name="a" 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.parameter#internal_element1" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="aci" org.eventb.core.assignment="atmCash ≔ atmCash{a ↦ atmCash(a)+am}" org.eventb.core.label="Deposit_1.Deposit.act2" 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.scEvent>
</org.eventb.core.scMachineFile>
