Step * of Lemma ses-is-protocol-actions-legal

s:SES
  (ActionsDisjoint
   (∀pas:ProtocolAction List. ∀es:EO+(Info). ∀thr:Thread. ∀A:Id.
        (pas(thr)  Legal(pas) given Private(A)  Legal(thr)@A)))
BY
(Auto
   THEN All (Unfolds ``ses-is-protocol-actions ses-thread``)
   THEN All (Unfolds ``ses-legal-sequence ses-legal-thread``)
   THEN Auto
   THEN (InstHyp [⌜i⌝(-2)⋅ THENA Auto)
   THEN NthHypEq (-1)
   THEN EqCD
   THEN Auto
   THEN Try ((InstLemma `ses-is-protocol-action-used` [⌜s⌝;⌜pas[i]⌝;⌜es⌝;⌜thr[i]⌝]⋅ THEN Auto)⋅)
   THEN RepeatFor ((EqCD THEN Auto))⋅
   THEN -1) }

1
1. SES@i'
2. ActionsDisjoint@i'
3. pas ProtocolAction List@i
4. es EO+(Info)@i'
5. thr {thr:Act List| ∀i:ℕ||thr|| 1. (thr[i] <loc thr[i 1])} @i
6. Id@i
7. ||thr|| ||pas|| ∈ ℤ@i
8. ∀i:ℕ||pas||. pas[i](thr[i])@i
9. ∀i:ℕ||pas||. pa-used(pas[i]) ⊆ [Private(A) concat(map(λj.pa-useable(pas[j]);[0, i)))]@i
10. : ℕ||thr||@i
11. pa-used(pas[i]) ⊆ [Private(A) concat(map(λj.pa-useable(pas[j]);[0, i)))]
12. UsedAtoms(thr[i]) pa-used(pas[i]) ∈ (Atom1 List)
13. : ℤ@i
14. (0 ≤ j) ∧ j < i@i
⊢ UseableAtoms(thr[j]) pa-useable(pas[j]) ∈ (Atom1 List)


Latex:


Latex:
\mforall{}s:SES
    (ActionsDisjoint
    {}\mRightarrow{}  (\mforall{}pas:ProtocolAction  List.  \mforall{}es:EO+(Info).  \mforall{}thr:Thread.  \mforall{}A:Id.
                (pas(thr)  {}\mRightarrow{}  Legal(pas)  given  Private(A)  {}\mRightarrow{}  Legal(thr)@A)))


By


Latex:
(Auto
  THEN  All  (Unfolds  ``ses-is-protocol-actions  ses-thread``)
  THEN  All  (Unfolds  ``ses-legal-sequence  ses-legal-thread``)
  THEN  Auto
  THEN  (InstHyp  [\mkleeneopen{}i\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)
  THEN  NthHypEq  (-1)
  THEN  EqCD
  THEN  Auto
  THEN  Try  ((InstLemma  `ses-is-protocol-action-used`  [\mkleeneopen{}s\mkleeneclose{};\mkleeneopen{}pas[i]\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}thr[i]\mkleeneclose{}]\mcdot{}  THEN  Auto)\mcdot{})
  THEN  RepeatFor  4  ((EqCD  THEN  Auto))\mcdot{}
  THEN  D  -1)




Home Index