Step
*
1
3
1
1
of Lemma
ses-ordering-ordering'
1. s : SES@i'
2. PropertyO@i'
3. ActionsDisjoint@i'
4. es : EO+(Info)@i'
5. m : ℕ
6. ∀m:ℕm. ∀b:E.
     ((∀n:E(New). ∀e':E.
         (((e' has New(n)) ∧ (e' ->>^m b))
         
⇒ (n ≤loc b  ∨ (∃snd:E(Send). ((n <loc snd) ∧ (snd < b) ∧ snd has* New(n))))))
     ∧ (∀e1:E(Sign). ∀e':E.
          (((e' has signature(e1)) ∧ (e' ->>^m b))
          
⇒ (∃e2:E(Sign)
               ((Sign(e2) = Sign(e1) ∈ (SecurityData × Id × Atom1))
               ∧ (e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* signature(e1))))))))
     ∧ (∀e1:E(Encrypt). ∀e':E.
          (((e' has cipherText(e1)) ∧ (e' ->>^m b))
          
⇒ (∃e2:E(Encrypt)
               ((Encrypt(e2) = Encrypt(e1) ∈ (SecurityData × Key × Atom1))
               ∧ (e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* cipherText(e1)))))))))@i
7. b : E@i
8. ∀n:E(New). ∀e':E.
     (((e' has New(n)) ∧ (e' ->>^m b)) 
⇒ (n ≤loc b  ∨ (∃snd:E(Send). ((n <loc snd) ∧ (snd < b) ∧ snd has* New(n)))))
9. ∀e1:E(Sign). ∀e':E.
     (((e' has signature(e1)) ∧ (e' ->>^m b))
     
⇒ (∃e2:E(Sign)
          ((Sign(e2) = Sign(e1) ∈ (SecurityData × Id × Atom1))
          ∧ (e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* signature(e1)))))))
10. e1 : E(Encrypt)@i
11. e' : E@i
12. (e' has cipherText(e1))@i
13. z : E
14. 0 < m
15. e' ->>^m - 1 z
16. ↑z ∈b Encrypt
17. (b has cipherText(z))
18. e2 : E(Encrypt)
19. Encrypt(e2) = Encrypt(z) ∈ (SecurityData × Key × Atom1)
20. e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* cipherText(z)))
⊢ ∃e2:E(Encrypt)
   ((Encrypt(e2) = Encrypt(e1) ∈ (SecurityData × Key × Atom1))
   ∧ (e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* cipherText(e1)))))
BY
{ (Assert same-action(z;e2) BY
         ((Assert (Encrypt(e2) = Encrypt(z) ∈ (SecurityData × Key × Atom1)) ∧ (↑e2 ∈b Encrypt) BY
                 Auto)
          THEN D (-1)
          THEN Unfold `same-action` 0
          THEN Sel 4 (D 0)
          THEN Auto))⋅ }
1
1. s : SES@i'
2. PropertyO@i'
3. ActionsDisjoint@i'
4. es : EO+(Info)@i'
5. m : ℕ
6. ∀m:ℕm. ∀b:E.
     ((∀n:E(New). ∀e':E.
         (((e' has New(n)) ∧ (e' ->>^m b))
         
⇒ (n ≤loc b  ∨ (∃snd:E(Send). ((n <loc snd) ∧ (snd < b) ∧ snd has* New(n))))))
     ∧ (∀e1:E(Sign). ∀e':E.
          (((e' has signature(e1)) ∧ (e' ->>^m b))
          
⇒ (∃e2:E(Sign)
               ((Sign(e2) = Sign(e1) ∈ (SecurityData × Id × Atom1))
               ∧ (e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* signature(e1))))))))
     ∧ (∀e1:E(Encrypt). ∀e':E.
          (((e' has cipherText(e1)) ∧ (e' ->>^m b))
          
⇒ (∃e2:E(Encrypt)
               ((Encrypt(e2) = Encrypt(e1) ∈ (SecurityData × Key × Atom1))
               ∧ (e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* cipherText(e1)))))))))@i
7. b : E@i
8. ∀n:E(New). ∀e':E.
     (((e' has New(n)) ∧ (e' ->>^m b)) 
⇒ (n ≤loc b  ∨ (∃snd:E(Send). ((n <loc snd) ∧ (snd < b) ∧ snd has* New(n)))))
9. ∀e1:E(Sign). ∀e':E.
     (((e' has signature(e1)) ∧ (e' ->>^m b))
     
⇒ (∃e2:E(Sign)
          ((Sign(e2) = Sign(e1) ∈ (SecurityData × Id × Atom1))
          ∧ (e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* signature(e1)))))))
10. e1 : E(Encrypt)@i
11. e' : E@i
12. (e' has cipherText(e1))@i
13. z : E
14. 0 < m
15. e' ->>^m - 1 z
16. ↑z ∈b Encrypt
17. (b has cipherText(z))
18. e2 : E(Encrypt)
19. Encrypt(e2) = Encrypt(z) ∈ (SecurityData × Key × Atom1)
20. e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* cipherText(z)))
21. same-action(z;e2)
⊢ ∃e2:E(Encrypt)
   ((Encrypt(e2) = Encrypt(e1) ∈ (SecurityData × Key × Atom1))
   ∧ (e2 ≤loc b  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < b) ∧ snd has* cipherText(e1)))))
Latex:
Latex:
1.  s  :  SES@i'
2.  PropertyO@i'
3.  ActionsDisjoint@i'
4.  es  :  EO+(Info)@i'
5.  m  :  \mBbbN{}
6.  \mforall{}m:\mBbbN{}m.  \mforall{}b:E.
          ((\mforall{}n:E(New).  \mforall{}e':E.
                  (((e'  has  New(n))  \mwedge{}  (e'  rel\_exp(E;  ->>  m)  b))
                  {}\mRightarrow{}  (n  \mleq{}loc  b    \mvee{}  (\mexists{}snd:E(Send).  ((n  <loc  snd)  \mwedge{}  (snd  <  b)  \mwedge{}  snd  has*  New(n))))))
          \mwedge{}  (\mforall{}e1:E(Sign).  \mforall{}e':E.
                    (((e'  has  signature(e1))  \mwedge{}  (e'  rel\_exp(E;  ->>  m)  b))
                    {}\mRightarrow{}  (\mexists{}e2:E(Sign)
                              ((Sign(e2)  =  Sign(e1))
                              \mwedge{}  (e2  \mleq{}loc  b 
                                  \mvee{}  (\mexists{}snd:E(Send).  ((e2  <loc  snd)  \mwedge{}  (snd  <  b)  \mwedge{}  snd  has*  signature(e1))))))))
          \mwedge{}  (\mforall{}e1:E(Encrypt).  \mforall{}e':E.
                    (((e'  has  cipherText(e1))  \mwedge{}  (e'  rel\_exp(E;  ->>  m)  b))
                    {}\mRightarrow{}  (\mexists{}e2:E(Encrypt)
                              ((Encrypt(e2)  =  Encrypt(e1))
                              \mwedge{}  (e2  \mleq{}loc  b 
                                  \mvee{}  (\mexists{}snd:E(Send).  ((e2  <loc  snd)  \mwedge{}  (snd  <  b)  \mwedge{}  snd  has*  cipherText(e1)))))))))@i
7.  b  :  E@i
8.  \mforall{}n:E(New).  \mforall{}e':E.
          (((e'  has  New(n))  \mwedge{}  (e'  rel\_exp(E;  ->>  m)  b))
          {}\mRightarrow{}  (n  \mleq{}loc  b    \mvee{}  (\mexists{}snd:E(Send).  ((n  <loc  snd)  \mwedge{}  (snd  <  b)  \mwedge{}  snd  has*  New(n)))))
9.  \mforall{}e1:E(Sign).  \mforall{}e':E.
          (((e'  has  signature(e1))  \mwedge{}  (e'  rel\_exp(E;  ->>  m)  b))
          {}\mRightarrow{}  (\mexists{}e2:E(Sign)
                    ((Sign(e2)  =  Sign(e1))
                    \mwedge{}  (e2  \mleq{}loc  b    \mvee{}  (\mexists{}snd:E(Send).  ((e2  <loc  snd)  \mwedge{}  (snd  <  b)  \mwedge{}  snd  has*  signature(e1)))))))
10.  e1  :  E(Encrypt)@i
11.  e'  :  E@i
12.  (e'  has  cipherText(e1))@i
13.  z  :  E
14.  0  <  m
15.  e'  rel\_exp(E;  ->>  m  -  1)  z
16.  \muparrow{}z  \mmember{}\msubb{}  Encrypt
17.  (b  has  cipherText(z))
18.  e2  :  E(Encrypt)
19.  Encrypt(e2)  =  Encrypt(z)
20.  e2  \mleq{}loc  b    \mvee{}  (\mexists{}snd:E(Send).  ((e2  <loc  snd)  \mwedge{}  (snd  <  b)  \mwedge{}  snd  has*  cipherText(z)))
\mvdash{}  \mexists{}e2:E(Encrypt)
      ((Encrypt(e2)  =  Encrypt(e1))
      \mwedge{}  (e2  \mleq{}loc  b    \mvee{}  (\mexists{}snd:E(Send).  ((e2  <loc  snd)  \mwedge{}  (snd  <  b)  \mwedge{}  snd  has*  cipherText(e1)))))
By
Latex:
(Assert  same-action(z;e2)  BY
              ((Assert  (Encrypt(e2)  =  Encrypt(z))  \mwedge{}  (\muparrow{}e2  \mmember{}\msubb{}  Encrypt)  BY
                              Auto)
                THEN  D  (-1)
                THEN  Unfold  `same-action`  0
                THEN  Sel  4  (D  0)
                THEN  Auto))\mcdot{}
Home
Index