<?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.scSeesContext name="'" org.eventb.core.scTarget="/ATMproduct_TD/Bank_TD_CO.bcc" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.seesContext#sees1"/>
<org.eventb.core.scInternalContext name="Bank_TD_CO">
<org.eventb.core.scCarrierSet name="ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD_CO.buc|org.eventb.core.contextFile#Bank_TD_CO|org.eventb.core.carrierSet#internal_element2" org.eventb.core.type="ℙ(ACCOUNT)"/>
<org.eventb.core.scCarrierSet name="ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD_CO.buc|org.eventb.core.contextFile#Bank_TD_CO|org.eventb.core.carrierSet#internal_element1" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scCarrierSet name="CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD_CO.buc|org.eventb.core.contextFile#Bank_TD_CO|org.eventb.core.carrierSet#internal_element3" org.eventb.core.type="ℙ(CARD)"/>
</org.eventb.core.scInternalContext>
<org.eventb.core.scInvariant name="Bank_TD_CP" org.eventb.core.label="mBank_T.typing_recvReqTransfer" org.eventb.core.predicate="recvReqTransfer∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CQ" org.eventb.core.label="mBank_T.typing_transferOk" org.eventb.core.predicate="transferOk∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CR" org.eventb.core.label="mBank_T.typing_transferFail" org.eventb.core.predicate="transferFail∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element3" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CS" org.eventb.core.label="mBank_T.BalTransfer_0_IntegralATM_0_inv1" org.eventb.core.predicate="bal∈ACCOUNT ⇸ ℕ" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element4" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CT" org.eventb.core.label="mBank_T.BalTransfer_0_IntegralATM_0_inv2" org.eventb.core.predicate="cardAcct∈CARD ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element5" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CU" org.eventb.core.label="mBank_T.BalTransfer_4_inv23" org.eventb.core.predicate="srcAccB∈ATM ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element6" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CV" org.eventb.core.label="mBank_T.BalTransfer_4_inv24" org.eventb.core.predicate="destAccB∈ATM ⇸ ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element7" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CW" org.eventb.core.label="mBank_T.BalTransfer_4_inv5" org.eventb.core.predicate="cardInAtmB∈ATM ⇸ CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element8" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CX" org.eventb.core.label="mBank_T.BalTransfer_4_inv6" org.eventb.core.predicate="trAmountB∈ATM ⇸ ℕ1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element9" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CY" org.eventb.core.label="mBank_D.typing_recvReqDep" org.eventb.core.predicate="recvReqDep∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element10" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_CZ" org.eventb.core.label="mBank_D.typing_processedDep" org.eventb.core.predicate="processedDep∈ℙ(ATM)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element11" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_C[" org.eventb.core.label="mBank_D.Deposit_1_inv2" org.eventb.core.predicate="atmCash∈ATM → ℕ" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element12" org.eventb.core.theorem="false"/>
<org.eventb.core.scInvariant name="Bank_TD_C\" org.eventb.core.label="mBank_D.Deposit_4_inv5" org.eventb.core.predicate="atmDepAmB∈ATM ⇸ ℕ" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.invariant#internal_element13" 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="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element10" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.scVariable name="atmDepAmB" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element12" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.scVariable name="bal" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element1" org.eventb.core.type="ℙ(ACCOUNT×ℤ)"/>
<org.eventb.core.scVariable name="cardAcct" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element2" org.eventb.core.type="ℙ(CARD×ACCOUNT)"/>
<org.eventb.core.scVariable name="cardInAtmB" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element6" org.eventb.core.type="ℙ(ATM×CARD)"/>
<org.eventb.core.scVariable name="destAccB" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element8" org.eventb.core.type="ℙ(ATM×ACCOUNT)"/>
<org.eventb.core.scVariable name="processedDep" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element11" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scVariable name="recvReqDep" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element13" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scVariable name="recvReqTransfer" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element9" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scVariable name="srcAccB" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element7" org.eventb.core.type="ℙ(ATM×ACCOUNT)"/>
<org.eventb.core.scVariable name="trAmountB" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element5" org.eventb.core.type="ℙ(ATM×ℤ)"/>
<org.eventb.core.scVariable name="transferFail" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element4" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scVariable name="transferOk" org.eventb.core.abstract="false" org.eventb.core.concrete="true" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.variable#internal_element3" org.eventb.core.type="ℙ(ATM)"/>
<org.eventb.core.scEvent name="recvReqTransfes" 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/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1">
<org.eventb.core.scAction name="'" org.eventb.core.assignment="atmDepAmB ≔ ∅ ⦂ ℙ(ATM×ℤ)" org.eventb.core.label="mBank_D.INITIALISATION.act27" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="(" org.eventb.core.assignment="processedDep ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="mBank_D.INITIALISATION.act15" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element2"/>
<org.eventb.core.scAction name=")" org.eventb.core.assignment="trAmountB ≔ ∅ ⦂ ℙ(ATM×ℤ)" org.eventb.core.label="mBank_T.INITIALISATION.act32" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element3"/>
<org.eventb.core.scAction name="*" org.eventb.core.assignment="srcAccB ≔ ∅ ⦂ ℙ(ATM×ACCOUNT)" org.eventb.core.label="mBank_T.INITIALISATION.act42" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element4"/>
<org.eventb.core.scAction name="+" org.eventb.core.assignment="destAccB ≔ ∅ ⦂ ℙ(ATM×ACCOUNT)" org.eventb.core.label="mBank_T.INITIALISATION.act43" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element5"/>
<org.eventb.core.scAction name="," org.eventb.core.assignment="cardInAtmB ≔ ∅ ⦂ ℙ(ATM×CARD)" org.eventb.core.label="mBank_T.INITIALISATION.act31" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element6"/>
<org.eventb.core.scAction name="-" org.eventb.core.assignment="transferFail ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="mBank_T.INITIALISATION.act15" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element7"/>
<org.eventb.core.scAction name="." org.eventb.core.assignment="atmCash ≔ ATM × {0}" org.eventb.core.label="mBank_D.INITIALISATION.act4" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element8"/>
<org.eventb.core.scAction name="/" org.eventb.core.assignment="transferOk ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="mBank_T.INITIALISATION.act14" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element9"/>
<org.eventb.core.scAction name="0" org.eventb.core.assignment="recvReqTransfer ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="mBank_T.INITIALISATION.act28" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element10"/>
<org.eventb.core.scAction name="1" org.eventb.core.assignment="bal ≔ ∅ ⦂ ℙ(ACCOUNT×ℤ)" org.eventb.core.label="mBank_T.INITIALISATION.act1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element11"/>
<org.eventb.core.scAction name="2" org.eventb.core.assignment="cardAcct ≔ ∅ ⦂ ℙ(CARD×ACCOUNT)" org.eventb.core.label="mBank_T.INITIALISATION.act2" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element12"/>
<org.eventb.core.scAction name="3" org.eventb.core.assignment="recvReqDep ≔ ∅ ⦂ ℙ(ATM)" org.eventb.core.label="mBank_D.INITIALISATION.act18" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element1|org.eventb.core.action#internal_element13"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfet" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="RecvReqTransfer" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_T.RecvReqTransfer.typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_T.RecvReqTransfer.typing_src_ac" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="mBank_T.RecvReqTransfer.typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element3" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="mBank_T.RecvReqTransfer.typing_dest_ac" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element4" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="mBank_T.RecvReqTransfer.typing_am" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.guard#internal_element5" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ATM"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.parameter#internal_element2" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.parameter#internal_element3" org.eventb.core.type="CARD"/>
<org.eventb.core.scParameter name="dest_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.parameter#internal_element5" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="src_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.parameter#internal_element4" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scAction name="dest_ad" org.eventb.core.assignment="destAccB ≔ destAccB{a ↦ dest_ac}" org.eventb.core.label="mBank_T.RecvReqTransfer.act10" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="dest_ae" org.eventb.core.assignment="recvReqTransfer ≔ recvReqTransfer∪{a}" org.eventb.core.label="mBank_T.RecvReqTransfer.act4" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.action#internal_element2"/>
<org.eventb.core.scAction name="dest_af" org.eventb.core.assignment="trAmountB ≔ trAmountB{a ↦ am}" org.eventb.core.label="mBank_T.RecvReqTransfer.act6" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.action#internal_element3"/>
<org.eventb.core.scAction name="dest_ag" org.eventb.core.assignment="srcAccB ≔ srcAccB{a ↦ src_ac}" org.eventb.core.label="mBank_T.RecvReqTransfer.act9" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.action#internal_element4"/>
<org.eventb.core.scAction name="dest_ah" org.eventb.core.assignment="cardInAtmB ≔ cardInAtmB{a ↦ c}" org.eventb.core.label="mBank_T.RecvReqTransfer.act8" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element2|org.eventb.core.action#internal_element5"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfeu" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="TransferOK" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_T.TransferOK.typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.grd2" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.grd5" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.grd4" org.eventb.core.predicate="c ↦ src_ac∈cardAcct" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.grd7" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.grd6" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.grd9" org.eventb.core.predicate="am&lt;bal(src_ac)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.grd8" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="mBank_T.TransferOK.grd13" org.eventb.core.predicate="a∈dom(trAmountB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element10" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="1" org.eventb.core.label="mBank_T.TransferOK.grd20" org.eventb.core.predicate="a∈dom(srcAccB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element15" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="2" org.eventb.core.label="mBank_T.TransferOK.grd14" org.eventb.core.predicate="src_ac=srcAccB(a)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element11" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="3" org.eventb.core.label="mBank_T.TransferOK.grd24" org.eventb.core.predicate="a∈recvReqTransfer" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element12" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="4" org.eventb.core.label="mBank_T.TransferOK.grd21" org.eventb.core.predicate="a∈dom(destAccB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element17" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="5" org.eventb.core.label="mBank_T.TransferOK.grd15" org.eventb.core.predicate="dest_ac=destAccB(a)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element13" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="6" org.eventb.core.label="mBank_T.TransferOK.grd16" org.eventb.core.predicate="am=trAmountB(a)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element14" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="7" org.eventb.core.label="mBank_T.TransferOK.grd11" org.eventb.core.predicate="a∈dom(cardInAtmB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element16" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="8" org.eventb.core.label="mBank_T.TransferOK.grd1" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element18" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="9" org.eventb.core.label="mBank_T.TransferOK.grd12" org.eventb.core.predicate="c=cardInAtmB(a)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element19" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=":" org.eventb.core.label="mBank_T.TransferOK.typing_am" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.guard#internal_element20" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|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="bal ≔ bal{dest_ac ↦ bal(dest_ac)+am,src_ac ↦ bal(src_ac) − am}" org.eventb.core.label="mBank_T.TransferOK.act1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="dest_ae" org.eventb.core.assignment="transferOk ≔ transferOk∪{a}" org.eventb.core.label="mBank_T.TransferOK.act5" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.action#internal_element2"/>
<org.eventb.core.scAction name="dest_af" org.eventb.core.assignment="recvReqTransfer ≔ recvReqTransfer ∖ {a}" org.eventb.core.label="mBank_T.TransferOK.act6" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element3|org.eventb.core.action#internal_element3"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfev" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="SendRespTransferOk" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_T.SendRespTransferOk.grd2" org.eventb.core.predicate="a∈transferOk" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_T.SendRespTransferOk.typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="b" org.eventb.core.assignment="trAmountB ≔ {a} ⩤ trAmountB" org.eventb.core.label="mBank_T.SendRespTransferOk.act9" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="c" org.eventb.core.assignment="transferOk ≔ transferOk ∖ {a}" org.eventb.core.label="mBank_T.SendRespTransferOk.act2" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4|org.eventb.core.action#internal_element2"/>
<org.eventb.core.scAction name="d" org.eventb.core.assignment="cardInAtmB ≔ {a} ⩤ cardInAtmB" org.eventb.core.label="mBank_T.SendRespTransferOk.act11" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4|org.eventb.core.action#internal_element3"/>
<org.eventb.core.scAction name="e" org.eventb.core.assignment="srcAccB ≔ {a} ⩤ srcAccB" org.eventb.core.label="mBank_T.SendRespTransferOk.act12" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4|org.eventb.core.action#internal_element4"/>
<org.eventb.core.scAction name="f" org.eventb.core.assignment="destAccB ≔ {a} ⩤ destAccB" org.eventb.core.label="mBank_T.SendRespTransferOk.act13" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element4|org.eventb.core.action#internal_element5"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfew" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="TransferFails" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_T.TransferFails.typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_T.TransferFails.grd7" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element3" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="mBank_T.TransferFails.grd8" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element4" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="mBank_T.TransferFails.typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element5" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="mBank_T.TransferFails.grd5" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element6" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="mBank_T.TransferFails.grd6" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element7" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="mBank_T.TransferFails.grd9" org.eventb.core.predicate="am&gt;bal(src_ac)∨c ↦ src_ac∉cardAcct" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="mBank_T.TransferFails.grd11" org.eventb.core.predicate="a∈dom(cardInAtmB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element8" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="/" org.eventb.core.label="mBank_T.TransferFails.grd21" org.eventb.core.predicate="a∈dom(destAccB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element9" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="0" org.eventb.core.label="mBank_T.TransferFails.grd12" org.eventb.core.predicate="c=cardInAtmB(a)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element10" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="1" org.eventb.core.label="mBank_T.TransferFails.grd13" org.eventb.core.predicate="a∈dom(trAmountB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element11" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="2" org.eventb.core.label="mBank_T.TransferFails.grd22" org.eventb.core.predicate="a∈recvReqTransfer" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element12" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="3" org.eventb.core.label="mBank_T.TransferFails.grd20" org.eventb.core.predicate="a∈dom(srcAccB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element13" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="4" org.eventb.core.label="mBank_T.TransferFails.grd2" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element14" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="5" org.eventb.core.label="mBank_T.TransferFails.grd1" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element15" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="6" org.eventb.core.label="mBank_T.TransferFails.typing_am" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element16" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="7" org.eventb.core.label="mBank_T.TransferFails.grd14" org.eventb.core.predicate="src_ac=srcAccB(a)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element17" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="8" org.eventb.core.label="mBank_T.TransferFails.grd15" org.eventb.core.predicate="dest_ac=destAccB(a)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element18" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="9" org.eventb.core.label="mBank_T.TransferFails.grd16" org.eventb.core.predicate="am=trAmountB(a)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.guard#internal_element19" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.parameter#internal_element5" org.eventb.core.type="ATM"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.parameter#internal_element3" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.parameter#internal_element4" org.eventb.core.type="CARD"/>
<org.eventb.core.scParameter name="dest_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.parameter#internal_element2" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="src_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scAction name="dest_ad" org.eventb.core.assignment="transferFail ≔ transferFail∪{a}" org.eventb.core.label="mBank_T.TransferFails.act2" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="dest_ae" org.eventb.core.assignment="recvReqTransfer ≔ recvReqTransfer ∖ {a}" org.eventb.core.label="mBank_T.TransferFails.act3" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element5|org.eventb.core.action#internal_element2"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfex" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="SendRespTransferFail" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_T.SendRespTransferFail.grd2" org.eventb.core.predicate="a∈transferFail" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_T.SendRespTransferFail.typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="b" org.eventb.core.assignment="trAmountB ≔ {a} ⩤ trAmountB" org.eventb.core.label="mBank_T.SendRespTransferFail.act9" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="c" org.eventb.core.assignment="destAccB ≔ {a} ⩤ destAccB" org.eventb.core.label="mBank_T.SendRespTransferFail.act13" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6|org.eventb.core.action#internal_element2"/>
<org.eventb.core.scAction name="d" org.eventb.core.assignment="srcAccB ≔ {a} ⩤ srcAccB" org.eventb.core.label="mBank_T.SendRespTransferFail.act12" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6|org.eventb.core.action#internal_element3"/>
<org.eventb.core.scAction name="e" org.eventb.core.assignment="cardInAtmB ≔ {a} ⩤ cardInAtmB" org.eventb.core.label="mBank_T.SendRespTransferFail.act11" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6|org.eventb.core.action#internal_element4"/>
<org.eventb.core.scAction name="f" org.eventb.core.assignment="transferFail ≔ transferFail ∖ {a}" org.eventb.core.label="mBank_T.SendRespTransferFail.act2" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element6|org.eventb.core.action#internal_element5"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfey" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="Deposit" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_T.Deposit.grd5" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_T.Deposit.typing_am" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="mBank_T.Deposit.typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.guard#internal_element3" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="mBank_T.Deposit.grd1" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.guard#internal_element4" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="mBank_T.Deposit.grd2" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.guard#internal_element5" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="mBank_T.Deposit.grd3" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.guard#internal_element6" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="acc" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.parameter#internal_element2" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.parameter#internal_element3" 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="mBank_T.Deposit.act1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element7|org.eventb.core.action#internal_element1"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfez" 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/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_D.recvReqDeposit.typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_D.recvReqDeposit.typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="mBank_D.recvReqDeposit.typing_am" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.guard#internal_element3" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ATM"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.parameter#internal_element2" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.parameter#internal_element3" org.eventb.core.type="CARD"/>
<org.eventb.core.scAction name="an" org.eventb.core.assignment="atmDepAmB ≔ atmDepAmB{a ↦ am}" org.eventb.core.label="mBank_D.recvReqDeposit.act5" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="ao" org.eventb.core.assignment="cardInAtmB ≔ cardInAtmB{a ↦ c}" org.eventb.core.label="mBank_D.recvReqDeposit.act6" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.action#internal_element2"/>
<org.eventb.core.scAction name="ap" org.eventb.core.assignment="recvReqDep ≔ recvReqDep∪{a}" org.eventb.core.label="mBank_D.recvReqDeposit.act1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element8|org.eventb.core.action#internal_element3"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfe{" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="depositB" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_D.depositB.grd13" org.eventb.core.predicate="a∈recvReqDep" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_D.depositB.grd1" org.eventb.core.predicate="acc∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="mBank_D.depositB.grd11" org.eventb.core.predicate="a∈dom(atmDepAmB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element13" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="mBank_D.depositB.grd12" org.eventb.core.predicate="atmDepAmB(a)=am" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element3" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="mBank_D.depositB.grd2" org.eventb.core.predicate="acc∈dom(bal)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element4" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="mBank_D.depositB.grd3" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element5" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="mBank_D.depositB.typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element6" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="mBank_D.depositB.grd5" org.eventb.core.predicate="c ↦ acc∈cardAcct" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element7" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="/" org.eventb.core.label="mBank_D.depositB.grd6" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element8" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="0" org.eventb.core.label="mBank_D.depositB.grd7" org.eventb.core.predicate="a∈dom(atmCash)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element9" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="1" org.eventb.core.label="mBank_D.depositB.grd8" org.eventb.core.predicate="a∈dom(cardInAtmB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element10" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="2" org.eventb.core.label="mBank_D.depositB.grd9" org.eventb.core.predicate="cardInAtmB(a)=c" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element11" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="3" org.eventb.core.label="mBank_D.depositB.typing_am" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.guard#internal_element12" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.parameter#internal_element4" org.eventb.core.type="ATM"/>
<org.eventb.core.scParameter name="acc" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.parameter#internal_element2" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.parameter#internal_element3" org.eventb.core.type="CARD"/>
<org.eventb.core.scAction name="acd" org.eventb.core.assignment="atmCash ≔ atmCash{a ↦ atmCash(a)+am}" org.eventb.core.label="mBank_D.depositB.act2" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="ace" org.eventb.core.assignment="bal ≔ bal{acc ↦ bal(acc)+am}" org.eventb.core.label="mBank_D.depositB.act1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.action#internal_element2"/>
<org.eventb.core.scAction name="acf" org.eventb.core.assignment="processedDep ≔ processedDep∪{a}" org.eventb.core.label="mBank_D.depositB.act5" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element9|org.eventb.core.action#internal_element3"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfe|" 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/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_D.sendRespDeposit.typing_a" org.eventb.core.predicate="a∈ATM" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_D.sendRespDeposit.grd6" org.eventb.core.predicate="a∈recvReqDep" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="mBank_D.sendRespDeposit.grd1" org.eventb.core.predicate="a∈processedDep" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.guard#internal_element3" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="mBank_D.sendRespDeposit.grd2" org.eventb.core.predicate="a∈dom(cardInAtmB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.guard#internal_element4" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="mBank_D.sendRespDeposit.grd4" org.eventb.core.predicate="a∈dom(atmDepAmB)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.guard#internal_element5" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="a" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ATM"/>
<org.eventb.core.scAction name="b" org.eventb.core.assignment="atmDepAmB ≔ {a} ⩤ atmDepAmB" org.eventb.core.label="mBank_D.sendRespDeposit.act8" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.action#internal_element1"/>
<org.eventb.core.scAction name="c" org.eventb.core.assignment="cardInAtmB ≔ {a} ⩤ cardInAtmB" org.eventb.core.label="mBank_D.sendRespDeposit.act9" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.action#internal_element2"/>
<org.eventb.core.scAction name="d" org.eventb.core.assignment="processedDep ≔ processedDep ∖ {a}" org.eventb.core.label="mBank_D.sendRespDeposit.act2" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.action#internal_element3"/>
<org.eventb.core.scAction name="e" org.eventb.core.assignment="recvReqDep ≔ recvReqDep ∖ {a}" org.eventb.core.label="mBank_D.sendRespDeposit.act10" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element10|org.eventb.core.action#internal_element4"/>
</org.eventb.core.scEvent>
<org.eventb.core.scEvent name="recvReqTransfe}" org.eventb.core.accurate="true" org.eventb.core.convergence="0" org.eventb.core.extended="false" org.eventb.core.label="Transfer" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11">
<org.eventb.core.scGuard name="'" org.eventb.core.label="mBank_D.Transfer.grd7" org.eventb.core.predicate="dest_ac∈dom(bal)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element1" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="(" org.eventb.core.label="mBank_D.Transfer.typing_am" org.eventb.core.predicate="am∈ℤ" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element2" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name=")" org.eventb.core.label="mBank_D.Transfer.grd6" org.eventb.core.predicate="src_ac∈dom(bal)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element3" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="*" org.eventb.core.label="mBank_D.Transfer.grd9" org.eventb.core.predicate="am&lt;bal(src_ac)" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element4" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="+" org.eventb.core.label="mBank_D.Transfer.typing_c" org.eventb.core.predicate="c∈CARD" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element5" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="," org.eventb.core.label="mBank_D.Transfer.grd8" org.eventb.core.predicate="src_ac≠dest_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element6" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="-" org.eventb.core.label="mBank_D.Transfer.grd1" org.eventb.core.predicate="src_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element7" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="." org.eventb.core.label="mBank_D.Transfer.grd4" org.eventb.core.predicate="c ↦ src_ac∈cardAcct" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element8" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="/" org.eventb.core.label="mBank_D.Transfer.grd5" org.eventb.core.predicate="am∈ℕ1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element9" org.eventb.core.theorem="false"/>
<org.eventb.core.scGuard name="0" org.eventb.core.label="mBank_D.Transfer.grd2" org.eventb.core.predicate="dest_ac∈ACCOUNT" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.guard#internal_element10" org.eventb.core.theorem="false"/>
<org.eventb.core.scParameter name="am" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.parameter#internal_element3" org.eventb.core.type="ℤ"/>
<org.eventb.core.scParameter name="c" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.parameter#internal_element4" org.eventb.core.type="CARD"/>
<org.eventb.core.scParameter name="dest_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.parameter#internal_element2" org.eventb.core.type="ACCOUNT"/>
<org.eventb.core.scParameter name="src_ac" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.parameter#internal_element1" org.eventb.core.type="ACCOUNT"/>
<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="mBank_D.Transfer.act1" org.eventb.core.source="/ATMproduct_TD/Bank_TD.bum|org.eventb.core.machineFile#Bank_TD|org.eventb.core.event#internal_element11|org.eventb.core.action#internal_element1"/>
</org.eventb.core.scEvent>
</org.eventb.core.scMachineFile>
