<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../../../unit.xsl"?>
<KIVSPEC name="SCINV"><SPECBODY>enrich <a href="../../../specs/SC-mapping/export/unit.xml">SC-mapping</a> with
   
   predicates 
      SCINV : (name → nat) × (name → PayDetailsSet) × (name → message) × (name → nat) × messageset × (name → nat) × (name → PayDetailsSet) × 
              (name → status) × (name → nat) × (name → PayDetails) × messageset;
      state-EQ : (name → nat) × (name → PayDetailsSet) × (name → message) × (name → nat) × messageset × (name → nat) × (name → PayDetailsSet) × 
                 (name → status) × (name → nat) × (name → PayDetails) × messageset;
   
   axioms 
      SCINV-def
      : ⊦ 
          SCINV(balance0, exLog0, soutbox0, nextSeqNo0, ether0, balance, exLog, state, nextSeqNo, pdAuth, ether)
        ↔ state-EQ(balance0, exLog0, soutbox0, nextSeqNo0, ether0, balance, exLog, state, nextSeqNo, pdAuth, ether)
      ;
      state-EQ-def
      : ⊦ 
          state-EQ(balance0, exLog0, soutbox0, nextSeqNo0, ether0, balance, exLog, state, nextSeqNo, pdAuth, ether)
        ↔ (∀ na. 
              authentic(na)
            →   balance0(na) = balance(na) ∧ exLog0(na) = exLog(na) ∧ outbox-state-EQ(soutbox0, state, pdAuth) ∧ nextSeqNo0(na) = nextSeqNo(na)
              ∧ ether0 = ether)
      ;
   
end enrich</SPECBODY></KIVSPEC>
