Step * 1 3 1 1 1 2 of Lemma ses-ordering-ordering'


1. SES@i'
2. PropertyO@i'
3. ActionsDisjoint@i'
4. es EO+(Info)@i'
5. : ℕ
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. 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. E
14. 0 < m
15. e' ->>^m 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)
22. ¬(m 1 ∈ ℤ)
⊢ ∃e3:E(Encrypt)
   ((Encrypt(e3) Encrypt(e1) ∈ (SecurityData × Key × Atom1))
   ∧ (e3 ≤loc e2  ∨ (∃snd:E(Send). ((e3 <loc snd) ∧ (snd < e2) ∧ snd has* cipherText(e1)))))
BY
((InstHyp [⌈1⌉;⌈e2⌉6⋅ THEN Auto)
   THEN InstHyp [⌈e1⌉;⌈e'⌉(-1)⋅
   THEN Auto
   THEN Using [`x',⌈z⌉(BLemma `ses-info-flow-exp_functionality`)⋅
   THEN Auto)⋅ }


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)))
21.  same-action(z;e2)
22.  \mneg{}(m  =  1)
\mvdash{}  \mexists{}e3:E(Encrypt)
      ((Encrypt(e3)  =  Encrypt(e1))
      \mwedge{}  (e3  \mleq{}loc  e2    \mvee{}  (\mexists{}snd:E(Send).  ((e3  <loc  snd)  \mwedge{}  (snd  <  e2)  \mwedge{}  snd  has*  cipherText(e1)))))


By


Latex:
((InstHyp  [\mkleeneopen{}m  -  1\mkleeneclose{};\mkleeneopen{}e2\mkleeneclose{}]  6\mcdot{}  THEN  Auto)
  THEN  InstHyp  [\mkleeneopen{}e1\mkleeneclose{};\mkleeneopen{}e'\mkleeneclose{}]  (-1)\mcdot{}
  THEN  Auto
  THEN  Using  [`x',\mkleeneopen{}z\mkleeneclose{}]  (BLemma  `ses-info-flow-exp\_functionality`)\mcdot{}
  THEN  Auto)\mcdot{}




Home Index