Step
*
1
2
of Lemma
ses-signature-unique
1. s : SES
2. es : EO+(Info)
3. a : E(Sign)@i
4. ∀a1:E(Sign)
     ((a1 < a)
     
⇒ (∀b:E(Sign). ((signature(a1) = signature(b) ∈ Atom1) 
⇒ (Sign(a1) = Sign(b) ∈ (SecurityData × Id × Atom1)))))
5. b : E(Sign)@i
6. signature(a) = signature(b) ∈ Atom1@i
7. ∀n:E(New). ∀e:E.  ((e has New(n)) 
⇒ (n ≤loc e  ∨ (∃snd:E(Send). ((n <loc snd) ∧ (snd < e) ∧ snd has* New(n)))))
8. ∀e1:E(Sign). ∀b:E.
     ((b has signature(e1))
     
⇒ (∃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)))))))
9. ∀e1:E(Encrypt). ∀b:E.
     ((b has cipherText(e1))
     
⇒ (∃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)))))))
10. ∃e2:E(Sign)
     ((Sign(e2) = Sign(b) ∈ (SecurityData × Id × Atom1))
     ∧ (e2 ≤loc a  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < a) ∧ snd has* signature(b)))))
⊢ Sign(a) = Sign(b) ∈ (SecurityData × Id × Atom1)
BY
{ (ExRepD THEN (Assert e2 c≤ a BY ((D -1 THEN ExRepD) THEN Auto))) }
1
1. s : SES
2. es : EO+(Info)
3. a : E(Sign)@i
4. ∀a1:E(Sign)
     ((a1 < a)
     
⇒ (∀b:E(Sign). ((signature(a1) = signature(b) ∈ Atom1) 
⇒ (Sign(a1) = Sign(b) ∈ (SecurityData × Id × Atom1)))))
5. b : E(Sign)@i
6. signature(a) = signature(b) ∈ Atom1@i
7. ∀n:E(New). ∀e:E.  ((e has New(n)) 
⇒ (n ≤loc e  ∨ (∃snd:E(Send). ((n <loc snd) ∧ (snd < e) ∧ snd has* New(n)))))
8. ∀e1:E(Sign). ∀b:E.
     ((b has signature(e1))
     
⇒ (∃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)))))))
9. ∀e1:E(Encrypt). ∀b:E.
     ((b has cipherText(e1))
     
⇒ (∃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)))))))
10. e2 : E(Sign)
11. Sign(e2) = Sign(b) ∈ (SecurityData × Id × Atom1)
12. e2 ≤loc a  ∨ (∃snd:E(Send). ((e2 <loc snd) ∧ (snd < a) ∧ snd has* signature(b)))
13. e2 c≤ a
⊢ Sign(a) = Sign(b) ∈ (SecurityData × Id × Atom1)
Latex:
Latex:
1.  s  :  SES
2.  es  :  EO+(Info)
3.  a  :  E(Sign)@i
4.  \mforall{}a1:E(Sign).  ((a1  <  a)  {}\mRightarrow{}  (\mforall{}b:E(Sign).  ((signature(a1)  =  signature(b))  {}\mRightarrow{}  (Sign(a1)  =  Sign(b)))))
5.  b  :  E(Sign)@i
6.  signature(a)  =  signature(b)@i
7.  \mforall{}n:E(New).  \mforall{}e:E.
          ((e  has  New(n))  {}\mRightarrow{}  (n  \mleq{}loc  e    \mvee{}  (\mexists{}snd:E(Send).  ((n  <loc  snd)  \mwedge{}  (snd  <  e)  \mwedge{}  snd  has*  New(n)))))
8.  \mforall{}e1:E(Sign).  \mforall{}b:E.
          ((b  has  signature(e1))
          {}\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)))))))
9.  \mforall{}e1:E(Encrypt).  \mforall{}b:E.
          ((b  has  cipherText(e1))
          {}\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)))))))
10.  \mexists{}e2:E(Sign)
          ((Sign(e2)  =  Sign(b))
          \mwedge{}  (e2  \mleq{}loc  a    \mvee{}  (\mexists{}snd:E(Send).  ((e2  <loc  snd)  \mwedge{}  (snd  <  a)  \mwedge{}  snd  has*  signature(b)))))
\mvdash{}  Sign(a)  =  Sign(b)
By
Latex:
(ExRepD  THEN  (Assert  e2  c\mleq{}  a  BY  ((D  -1  THEN  ExRepD)  THEN  Auto)))
Home
Index