<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<org.eventb.core.scMachineFile org.eventb.core.accurate="true" org.eventb.core.configuration="ch.ethz.eventb.decomposition.mchBase">
<org.eventb.core.scSeesContext name="'" org.eventb.core.scTarget="/ATMproduct_TD/Context_mMW_D.bcc" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.seesContext#6"/>
<org.eventb.core.scInternalContext name="Context_mMW_D">
<org.eventb.core.scCarrierSet name="ATM" org.eventb.core.source="/ATMproduct_TD/Context_mMW_D.buc|org.eventb.core.contextFile#Context_mMW_D|org.eventb.core.carrierSet#'" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scCarrierSet name="CARD" org.eventb.core.source="/ATMproduct_TD/Context_mMW_D.buc|org.eventb.core.contextFile#Context_mMW_D|org.eventb.core.carrierSet#(" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInvariant name="Context_mMW_E" org.eventb.core.label="typing_cardInAtmM" org.eventb.core.predicate="cardInAtmM∈ℙ(ATM × CARD)" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.invariant#+" org.eventb.core.theorem="true"/>
<org.eventb.core.scInvariant name="Context_mMW_F" org.eventb.core.label="typing_sendRespDep" org.eventb.core.predicate="sendRespDep∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.invariant#," org.eventb.core.theorem="true"/>
<org.eventb.core.scInvariant name="Context_mMW_G" org.eventb.core.label="typing_sendReqDep" org.eventb.core.predicate="sendReqDep∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.invariant#-" org.eventb.core.theorem="true"/>
<org.eventb.core.scInvariant name="Context_mMW_H" org.eventb.core.label="typing_atmDepAmM" org.eventb.core.predicate="atmDepAmM∈ℙ(ATM × ℤ)" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.invariant#." org.eventb.core.theorem="true"/>
<org.eventb.core.scInvariant name="Context_mMW_I" org.eventb.core.label="Deposit_4_inv4" org.eventb.core.predicate="cardInAtmM∈ATM ⇸ CARD" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.invariant#\/" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Context_mMW_J" org.eventb.core.label="Deposit_4_inv6" org.eventb.core.predicate="atmDepAmM∈ATM ⇸ ℕ" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.invariant#0" org.eventb.core.theorem="false"/>
<org.eventb.core.scVariable ch.ethz.eventb.decomposition.nature="0" name="atmDepAmM" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.variable#'" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.scVariable ch.ethz.eventb.decomposition.nature="0" name="cardInAtmM" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.variable#(" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.scVariable ch.ethz.eventb.decomposition.nature="0" name="sendReqDep" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.variable#)" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scVariable ch.ethz.eventb.decomposition.nature="0" name="sendRespDep" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.variable#*" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scEvent ch.ethz.eventb.decomposition.external="false" name="Context_mMW_K" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="INITIALISATION" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#1">
<org.eventb.core.scAction name="'" org.eventb.core.assignment="sendReqDep ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="act17" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#1|org.eventb.core.action#'"/>
<org.eventb.core.scAction name="(" org.eventb.core.assignment="sendRespDep ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="act19" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#1|org.eventb.core.action#("/>
<org.eventb.core.scAction name=")" org.eventb.core.assignment="cardInAtmM ≔ ∅ ⦂ ℙ(ATM×CARD)" org.eventb.core.label="act26" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#1|org.eventb.core.action#)"/>
<org.eventb.core.scAction name="*" org.eventb.core.assignment="atmDepAmM ≔ ∅ ⦂ ℙ(ATM×ℤ)" org.eventb.core.label="act28" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#1|org.eventb.core.action#*"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent ch.ethz.eventb.decomposition.external="false" name="Context_mMW_L" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="sendReqDeposit" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2">
<org.eventb.core.scGuard name="'" org.eventb.core.label="typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.guard#3" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="typing_am" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.guard#4" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.guard#5" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="grd2" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.guard#*" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.parameter#)" org.eventb.core.type="ATM"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.parameter#(" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.parameter#'" org.eventb.core.type="CARD"/>
<org.eventb.core.scAction name="an" org.eventb.core.assignment="sendReqDep ≔ sendReqDep∪{a}" org.eventb.core.label="act4" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.action#0"/>
<org.eventb.core.scAction name="ao" org.eventb.core.assignment="atmDepAmM ≔ atmDepAmM{a ↦ am}" org.eventb.core.label="act5" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.action#1"/>
<org.eventb.core.scAction name="ap" org.eventb.core.assignment="cardInAtmM ≔ cardInAtmM{a ↦ c}" org.eventb.core.label="act6" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#2|org.eventb.core.action#2"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent ch.ethz.eventb.decomposition.external="false" name="Context_mMW_M" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="recvReqDeposit" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3">
<org.eventb.core.scGuard name="'" org.eventb.core.label="typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.guard#\/" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="typing_am" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.guard#0" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.guard#1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="grd1" org.eventb.core.predicate="a∈sendReqDep" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.guard#*" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="grd2" org.eventb.core.predicate="a ↦ c∈cardInAtmM" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.guard#+" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="grd4" org.eventb.core.predicate="a∈dom(atmDepAmM)" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.guard#," org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="grd5" org.eventb.core.predicate="am=atmDepAmM(a)" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.guard#-" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.parameter#'" org.eventb.core.type="ATM"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.parameter#(" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.parameter#)" org.eventb.core.type="CARD"/>
<org.eventb.core.scAction name="an" org.eventb.core.assignment="sendReqDep ≔ sendReqDep ∖ {a}" org.eventb.core.label="act2" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#3|org.eventb.core.action#."/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent ch.ethz.eventb.decomposition.external="false" name="Context_mMW_N" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="sendRespDeposit" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#4">
<org.eventb.core.scGuard name="'" org.eventb.core.label="typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#4|org.eventb.core.guard#-" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#4|org.eventb.core.parameter#'" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="b" org.eventb.core.assignment="sendRespDep ≔ sendRespDep∪{a}" org.eventb.core.label="act3" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#4|org.eventb.core.action#,"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent ch.ethz.eventb.decomposition.external="false" name="Context_mMW_O" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="recvRespDeposit" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5">
<org.eventb.core.scGuard name="'" org.eventb.core.label="typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5|org.eventb.core.guard#." org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="grd1" org.eventb.core.predicate="a∈sendRespDep" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5|org.eventb.core.guard#(" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="grd2" org.eventb.core.predicate="a∈dom(cardInAtmM)" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5|org.eventb.core.guard#)" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="grd4" org.eventb.core.predicate="a∈dom(atmDepAmM)" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5|org.eventb.core.guard#*" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5|org.eventb.core.parameter#'" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="b" org.eventb.core.assignment="sendRespDep ≔ sendRespDep ∖ {a}" org.eventb.core.label="act5" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5|org.eventb.core.action#+"/>
<org.eventb.core.scAction name="c" org.eventb.core.assignment="atmDepAmM ≔ {a} ⩤ atmDepAmM" org.eventb.core.label="act8" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5|org.eventb.core.action#,"/>
<org.eventb.core.scAction name="d" org.eventb.core.assignment="cardInAtmM ≔ {a} ⩤ cardInAtmM" org.eventb.core.label="act6" org.eventb.core.source="/ATMproduct_TD/mMW_D.bum|org.eventb.core.machineFile#mMW_D|org.eventb.core.event#5|org.eventb.core.action#-"/>
</org.eventb.core.scEvent>
</org.eventb.core.scMachineFile>
