Step
*
1
1
of Lemma
ses-is-protocol-actions-fresh
1. s : 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. A : Id@i
7. ||thr|| = ||pas|| ∈ ℤ@i
8. ∀i:ℕ||pas||. pas[i](thr[i])@i
9. f : SecurityData ─→ (Atom1?)@i
10. i : ℕ||thr||@i
11. ↑thr[i] ∈b Sign@i
12. pas[i](thr[i])
⊢ (fst(pas[i])) = "sign" ∈ Atom
BY
{ ((MoveToConcl (-1) THEN GenConclAtAddr [2;2;1]) THEN D -2 THEN RepUR ``ses-is-protocol-action`` 0) }
1
1. s : 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. A : Id@i
7. ||thr|| = ||pas|| ∈ ℤ@i
8. ∀i:ℕ||pas||. pas[i](thr[i])@i
9. f : SecurityData ─→ (Atom1?)@i
10. i : ℕ||thr||@i
11. ↑thr[i] ∈b Sign@i
12. n : Atom@i
13. v1 : if n =a "new" then Atom1
if n =a "send" then SecurityData
if n =a "rcv" then SecurityData
if n =a "encrypt" then SecurityData × Key × Atom1
if n =a "decrypt" then SecurityData × Key × Atom1
if n =a "sign" then SecurityData × Id × Atom1
if n =a "verify" then SecurityData × Id × Atom1
else Top
fi @i
14. pas[i] = <n, v1> ∈ ProtocolAction@i
⊢ if n =a "new" then (↑thr[i] ∈b New) ∧ (New(thr[i]) = v1 ∈ Atom1)
if n =a "send" then (↑thr[i] ∈b Send) ∧ (Send(thr[i]) = v1 ∈ SecurityData)
if n =a "rcv" then (↑thr[i] ∈b Rcv) ∧ (Rcv(thr[i]) = v1 ∈ SecurityData)
if n =a "encrypt" then (↑thr[i] ∈b Encrypt) ∧ (Encrypt(thr[i]) = v1 ∈ (SecurityData × Key × Atom1))
if n =a "decrypt" then (↑thr[i] ∈b Decrypt) ∧ (Decrypt(thr[i]) = v1 ∈ (SecurityData × Key × Atom1))
if n =a "sign" then (↑thr[i] ∈b Sign) ∧ (Sign(thr[i]) = v1 ∈ (SecurityData × Id × Atom1))
if n =a "verify" then (↑thr[i] ∈b Verify) ∧ (Verify(thr[i]) = v1 ∈ (SecurityData × Id × Atom1))
else False
fi 
⇒ (n = "sign" ∈ Atom)
Latex:
Latex:
1.  s  :  SES@i'
2.  ActionsDisjoint@i'
3.  pas  :  ProtocolAction  List@i
4.  es  :  EO+(Info)@i'
5.  thr  :  \{thr:Act  List|  \mforall{}i:\mBbbN{}||thr||  -  1.  (thr[i]  <loc  thr[i  +  1])\}  @i
6.  A  :  Id@i
7.  ||thr||  =  ||pas||@i
8.  \mforall{}i:\mBbbN{}||pas||.  pas[i](thr[i])@i
9.  f  :  SecurityData  {}\mrightarrow{}  (Atom1?)@i
10.  i  :  \mBbbN{}||thr||@i
11.  \muparrow{}thr[i]  \mmember{}\msubb{}  Sign@i
12.  pas[i](thr[i])
\mvdash{}  (fst(pas[i]))  =  "sign"
By
Latex:
((MoveToConcl  (-1)  THEN  GenConclAtAddr  [2;2;1])  THEN  D  -2  THEN  RepUR  ``ses-is-protocol-action``  0)
Home
Index