Step
*
1
1
1
1
1
1
1
of Lemma
signature-release-lemma
.....assertion..... 
1. ses : SES
2. ActionsDisjoint
3. NoncesCiphersAndKeysDisjoint
4. PropertyF
5. PropertyO
6. ses-ordering'(ses)
7. PropertyN
8. PropertyV
9. PropertyR
10. PropertyD
11. PropertyS
12. PropertyK
13. bss : Basic1 List
14. Legal(bss)
15. UniqueSignatures(bss)
16. A : Id
17. Honest(A)
18. Protocol1(bss) A
19. es : EO+(Info)
20. thr : {thr:Act List| ∀i:ℕ||thr|| - 1. (thr[i] <loc thr[i + 1])} 
21. (thr is one of bss at A)
22. loc(thr)= A
23. i : ℕ||thr||
24. j : ℕi
25. ↑thr[j] ∈b Sign
26. ∀k:{j + 1..i-}. (¬↑thr[k] ∈b Send)
27. loc(thr[j]) = A ∈ Id
28. loc(thr[i]) = A ∈ Id
29. e : E@i
30. ∀e1:E
      ((e1 < e)
      
⇒ Action(e1)
      
⇒ e1 has* signature(thr[j])
      
⇒ (((¬(loc(e1) = A ∈ Id)) 
⇒ (thr[i] < e1)) ∧ ((e1 <loc thr[i]) 
⇒ (e1 ∈ thr ∧ (¬↑e1 ∈b Send)))))
31. Action(e)@i
32. e has* signature(thr[j])@i
33. e2 : E(Sign)
34. Sign(e2) = Sign(thr[j]) ∈ (SecurityData × Id × Atom1)
35. e2 ≤loc e  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < e) ∧ snd has* signature(thr[j])))
⊢ e2 = thr[j] ∈ E
BY
{ Assert ⌈noncelike-signatures(ses;es;thr)⌉⋅ }
1
.....assertion..... 
1. ses : SES
2. ActionsDisjoint
3. NoncesCiphersAndKeysDisjoint
4. PropertyF
5. PropertyO
6. ses-ordering'(ses)
7. PropertyN
8. PropertyV
9. PropertyR
10. PropertyD
11. PropertyS
12. PropertyK
13. bss : Basic1 List
14. Legal(bss)
15. UniqueSignatures(bss)
16. A : Id
17. Honest(A)
18. Protocol1(bss) A
19. es : EO+(Info)
20. thr : {thr:Act List| ∀i:ℕ||thr|| - 1. (thr[i] <loc thr[i + 1])} 
21. (thr is one of bss at A)
22. loc(thr)= A
23. i : ℕ||thr||
24. j : ℕi
25. ↑thr[j] ∈b Sign
26. ∀k:{j + 1..i-}. (¬↑thr[k] ∈b Send)
27. loc(thr[j]) = A ∈ Id
28. loc(thr[i]) = A ∈ Id
29. e : E@i
30. ∀e1:E
      ((e1 < e)
      
⇒ Action(e1)
      
⇒ e1 has* signature(thr[j])
      
⇒ (((¬(loc(e1) = A ∈ Id)) 
⇒ (thr[i] < e1)) ∧ ((e1 <loc thr[i]) 
⇒ (e1 ∈ thr ∧ (¬↑e1 ∈b Send)))))
31. Action(e)@i
32. e has* signature(thr[j])@i
33. e2 : E(Sign)
34. Sign(e2) = Sign(thr[j]) ∈ (SecurityData × Id × Atom1)
35. e2 ≤loc e  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < e) ∧ snd has* signature(thr[j])))
⊢ noncelike-signatures(ses;es;thr)
2
1. ses : SES
2. ActionsDisjoint
3. NoncesCiphersAndKeysDisjoint
4. PropertyF
5. PropertyO
6. ses-ordering'(ses)
7. PropertyN
8. PropertyV
9. PropertyR
10. PropertyD
11. PropertyS
12. PropertyK
13. bss : Basic1 List
14. Legal(bss)
15. UniqueSignatures(bss)
16. A : Id
17. Honest(A)
18. Protocol1(bss) A
19. es : EO+(Info)
20. thr : {thr:Act List| ∀i:ℕ||thr|| - 1. (thr[i] <loc thr[i + 1])} 
21. (thr is one of bss at A)
22. loc(thr)= A
23. i : ℕ||thr||
24. j : ℕi
25. ↑thr[j] ∈b Sign
26. ∀k:{j + 1..i-}. (¬↑thr[k] ∈b Send)
27. loc(thr[j]) = A ∈ Id
28. loc(thr[i]) = A ∈ Id
29. e : E@i
30. ∀e1:E
      ((e1 < e)
      
⇒ Action(e1)
      
⇒ e1 has* signature(thr[j])
      
⇒ (((¬(loc(e1) = A ∈ Id)) 
⇒ (thr[i] < e1)) ∧ ((e1 <loc thr[i]) 
⇒ (e1 ∈ thr ∧ (¬↑e1 ∈b Send)))))
31. Action(e)@i
32. e has* signature(thr[j])@i
33. e2 : E(Sign)
34. Sign(e2) = Sign(thr[j]) ∈ (SecurityData × Id × Atom1)
35. e2 ≤loc e  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < e) ∧ snd has* signature(thr[j])))
36. noncelike-signatures(ses;es;thr)
⊢ e2 = thr[j] ∈ E
Latex:
Latex:
.....assertion..... 
1.  ses  :  SES
2.  ActionsDisjoint
3.  NoncesCiphersAndKeysDisjoint
4.  PropertyF
5.  PropertyO
6.  ses-ordering'(ses)
7.  PropertyN
8.  PropertyV
9.  PropertyR
10.  PropertyD
11.  PropertyS
12.  PropertyK
13.  bss  :  Basic1  List
14.  Legal(bss)
15.  UniqueSignatures(bss)
16.  A  :  Id
17.  Honest(A)
18.  Protocol1(bss)  A
19.  es  :  EO+(Info)
20.  thr  :  \{thr:Act  List|  \mforall{}i:\mBbbN{}||thr||  -  1.  (thr[i]  <loc  thr[i  +  1])\} 
21.  (thr  is  one  of  bss  at  A)
22.  loc(thr)=  A
23.  i  :  \mBbbN{}||thr||
24.  j  :  \mBbbN{}i
25.  \muparrow{}thr[j]  \mmember{}\msubb{}  Sign
26.  \mforall{}k:\{j  +  1..i\msupminus{}\}.  (\mneg{}\muparrow{}thr[k]  \mmember{}\msubb{}  Send)
27.  loc(thr[j])  =  A
28.  loc(thr[i])  =  A
29.  e  :  E@i
30.  \mforall{}e1:E
            ((e1  <  e)
            {}\mRightarrow{}  Action(e1)
            {}\mRightarrow{}  e1  has*  signature(thr[j])
            {}\mRightarrow{}  (((\mneg{}(loc(e1)  =  A))  {}\mRightarrow{}  (thr[i]  <  e1))  \mwedge{}  ((e1  <loc  thr[i])  {}\mRightarrow{}  (e1  \mmember{}  thr  \mwedge{}  (\mneg{}\muparrow{}e1  \mmember{}\msubb{}  Send)))))
31.  Action(e)@i
32.  e  has*  signature(thr[j])@i
33.  e2  :  E(Sign)
34.  Sign(e2)  =  Sign(thr[j])
35.  e2  \mleq{}loc  e    \mvee{}  (\mexists{}snd:E(Send).  ((e2  <loc  snd)  \mwedge{}  (snd  <  e)  \mwedge{}  snd  has*  signature(thr[j])))
\mvdash{}  e2  =  thr[j]
By
Latex:
Assert  \mkleeneopen{}noncelike-signatures(ses;es;thr)\mkleeneclose{}\mcdot{}
Home
Index