<?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="/Transfer/BalTransfer_0.bcm" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.refinesMachine#_bLwPQBNqEeCky5OpqeHuBQ"/>
<org.eventb.core.scSeesContext name="(" org.eventb.core.scTarget="/Transfer/BalTransfer_CO1.bcc" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.seesContext#_bLwPQRNqEeCky5OpqeHuBQ"/>
<org.eventb.core.scInternalContext name="BalTransfer_CO">
<org.eventb.core.scCarrierSet name="ACCOUNT" org.eventb.core.source="/Transfer/BalTransfer_CO.buc|org.eventb.core.contextFile#BalTransfer_CO|org.eventb.core.carrierSet#'" org.eventb.core.type="ℙ(ACCOUNT)"/>
<org.eventb.core.scCarrierSet name="CARD" org.eventb.core.source="/Transfer/BalTransfer_CO.buc|org.eventb.core.contextFile#BalTransfer_CO|org.eventb.core.carrierSet#(" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInternalContext name="BalTransfer_CO1">
<org.eventb.core.scExtendsContext name="'" org.eventb.core.scTarget="/Transfer/BalTransfer_CO.bcc|org.eventb.core.scContextFile#BalTransfer_CO" org.eventb.core.source="/Transfer/BalTransfer_CO1.buc|org.eventb.core.contextFile#BalTransfer_CO1|org.eventb.core.extendsContext#_UU894OwKEd-V6twkc9HfSw"/>
<org.eventb.core.scCarrierSet name="ATM" org.eventb.core.source="/Transfer/BalTransfer_CO1.buc|org.eventb.core.contextFile#BalTransfer_CO1|org.eventb.core.carrierSet#_UU894ewKEd-V6twkc9HfSw" org.eventb.core.type="ℙ(ATM)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInvariant name="BalTransfer_CP" org.eventb.core.label="typing_bal" 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.theorem="true"/>
<org.eventb.core.scInvariant name="BalTransfer_CQ" org.eventb.core.label="typing_validCard" 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.theorem="true"/>
<org.eventb.core.scInvariant name="BalTransfer_CR" org.eventb.core.label="typing_cardAcct" 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.theorem="true"/>
<org.eventb.core.scInvariant name="BalTransfer_CS" org.eventb.core.label="IntegralATM_0_inv1" 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.theorem="false"/>
<org.eventb.core.scInvariant name="BalTransfer_CT" org.eventb.core.label="IntegralATM_0_inv2" 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.theorem="false"/>
<org.eventb.core.scInvariant name="BalTransfer_CU" org.eventb.core.label="IntegralATM_0_inv4" 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.theorem="false"/>
<org.eventb.core.scInvariant name="BalTransfer_CO2" org.eventb.core.label="inv9" 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.theorem="false"/>
<org.eventb.core.scInvariant name="BalTransfer_CO3" org.eventb.core.label="inv10" 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.theorem="false"/>
<org.eventb.core.scInvariant name="BalTransfer_CO4" org.eventb.core.label="inv11" 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.theorem="false"/>
<org.eventb.core.scInvariant name="BalTransfer_CO5" org.eventb.core.label="inv12" 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.theorem="false"/>
<org.eventb.core.scVariable name="bal" org.eventb.core.abstract="true" org.eventb.core.concrete="true" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.variable#'" 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="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.variable#)" org.eventb.core.type="ℙ(CARD×ACCOUNT)"/>
<org.eventb.core.scVariable name="cardInAtm" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.variable#_eHjV0uwJEd-V6twkc9HfSx" 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="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.variable#_btYp4g0NEeCDh_sKUTn4vw" 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="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.variable#_FREeUAY9EeC9GJs-VyssYw" 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="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.variable#(" org.eventb.core.type="ℙ(CARD)"/>
<org.eventb.core.scEvent name="BalTransfer_CO6" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="INITIALISATION" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#'">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/Transfer/BalTransfer_0.bcm|org.eventb.core.scMachineFile#BalTransfer_0|org.eventb.core.scEvent#BalTransfer_CV" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#'"/>
<org.eventb.core.scAction name="'" org.eventb.core.assignment="bal ≔ ∅ ⦂ ℙ(ACCOUNT×ℤ)" org.eventb.core.label="act1" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#0|org.eventb.core.action#'"/>
<org.eventb.core.scAction name="(" org.eventb.core.assignment="cardAcct ≔ ∅ ⦂ ℙ(CARD×ACCOUNT)" org.eventb.core.label="act2" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#0|org.eventb.core.action#("/>
<org.eventb.core.scAction name=")" org.eventb.core.assignment="validCard ≔ ∅ ⦂ ℙ(CARD)" org.eventb.core.label="act4" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#0|org.eventb.core.action#)"/>
<org.eventb.core.scAction name="*" org.eventb.core.assignment="transferOkA ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="act5" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#'|org.eventb.core.action#_FRIvwAY9EeC9GJs-VyssYw"/>
<org.eventb.core.scAction name="+" org.eventb.core.assignment="transferFailA ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="act6" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#'|org.eventb.core.action#_ZZUNYRFeEeCibs8Q1rasEA"/>
<org.eventb.core.scAction name="," org.eventb.core.assignment="cardInAtm ≔ ∅ ⦂ ℙ(ATM×CARD)" org.eventb.core.label="act7" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#'|org.eventb.core.action#_ZZUNYRFeEeCibs8Q1rasEB"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="BalTransfer_CO7" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="true" org.eventb.core.label="TransferOK" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/Transfer/BalTransfer_0.bcm|org.eventb.core.scMachineFile#BalTransfer_0|org.eventb.core.scEvent#BalTransfer_CW" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ|org.eventb.core.refinesEvent#_bLxdYBNqEeCky5OpqeHuBQ"/>
<org.eventb.core.scGuard name="'" org.eventb.core.label="grd1" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="grd2" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="grd3" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="grd4" 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.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="grd5" 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.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="grd6" 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.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="grd7" 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.theorem="false"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="grd8" 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.theorem="false"/>
<org.eventb.core.scGuard name="/" org.eventb.core.label="grd9" 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.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="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.action#4"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.parameter#)" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.parameter#*" org.eventb.core.type="CARD"/>
<org.eventb.core.scParameter name="dest_ac" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.parameter#(" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="src_ac" org.eventb.core.source="/Transfer/BalTransfer_0.bum|org.eventb.core.machineFile#BalTransfer_0|org.eventb.core.event#1|org.eventb.core.parameter#'" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scGuard name="dest_ae" org.eventb.core.label="grd10" 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.theorem="false"/>
<org.eventb.core.scGuard name="dest_af" org.eventb.core.label="grd11" 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.theorem="false"/>
<org.eventb.core.scGuard name="dest_ag" org.eventb.core.label="grd12" 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.theorem="false"/>
<org.eventb.core.scParameter name="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.parameter#_s57vlOwKEd-V6twkc9HfSw" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="dest_ah" org.eventb.core.assignment="transferOkA ≔ transferOkA∪{a}" org.eventb.core.label="act2" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_-x4foYUfEd-Yw_1iUmuWTQ|org.eventb.core.action#_eHjV0OwJEd-V6twkc9HfSw"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="BalTransfer_CO8" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="TransferFails" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw">
<org.eventb.core.scGuard name="'" org.eventb.core.label="grd1" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="grd2" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="grd3" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="grd5" 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.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="grd6" 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.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="grd7" 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.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="grd8" 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.theorem="false"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="grd9" 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.theorem="false"/>
<org.eventb.core.scGuard name="/" org.eventb.core.label="grd10" 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.theorem="false"/>
<org.eventb.core.scGuard name="0" org.eventb.core.label="grd11" 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.theorem="false"/>
<org.eventb.core.scGuard name="1" org.eventb.core.label="grd12" 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.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.parameter#_s6E5gewKEd-V6twkc9HfSw" org.eventb.core.type="ATM"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.parameter#_eHjV1uwJEd-V6twkc9HfSw" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.parameter#_s6E5guwKEd-V6twkc9HfSx" org.eventb.core.type="CARD"/>
<org.eventb.core.scParameter name="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.parameter#_eHjV1ewJEd-V6twkc9HfSw" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="src_ac" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.parameter#_eHjV1OwJEd-V6twkc9HfSw" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scAction name="dest_ad" org.eventb.core.assignment="transferFailA ≔ transferFailA∪{a}" org.eventb.core.label="act2" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfSw|org.eventb.core.action#_btrk0A0NEeCDh_sKUTn4vw"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="BalTransfer_CO9" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="Deposit" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2">
<org.eventb.core.scRefinesEvent name="'" org.eventb.core.scTarget="/Transfer/BalTransfer_0.bcm|org.eventb.core.scMachineFile#BalTransfer_0|org.eventb.core.scEvent#BalTransfer_CX" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.refinesEvent#0"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="grd1" 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.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="grd2" 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.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="grd3" 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.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="grd4" 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.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="grd5" 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.theorem="false"/>
<org.eventb.core.scParameter name="acc" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.parameter#1" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.parameter#2" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.parameter#3" org.eventb.core.type="CARD"/>
<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="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#2|org.eventb.core.action#9"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="BalTransfer_CO:" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="FinishTransfer" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfS{">
<org.eventb.core.scGuard name="'" org.eventb.core.label="grd1" 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.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="grd2" 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.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfS{|org.eventb.core.parameter#'" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="b" org.eventb.core.assignment="transferOkA ≔ transferOkA ∖ {a}" org.eventb.core.label="act1" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfS{|org.eventb.core.action#*"/>
<org.eventb.core.scAction name="c" org.eventb.core.assignment="transferFailA ≔ transferFailA ∖ {a}" org.eventb.core.label="act2" org.eventb.core.source="/Transfer/BalTransfer_1.bum|org.eventb.core.machineFile#BalTransfer_1|org.eventb.core.event#_eHjV0uwJEd-V6twkc9HfS{|org.eventb.core.action#+"/>
</org.eventb.core.scEvent>
</org.eventb.core.scMachineFile>
