Step
*
1
1
1
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. ↑a ∈b Sign
11. signature(b)#Sign(a):SecurityData × Id × Atom1@i
⊢ False
BY
{ Subst' Sign(a) ~ <signed(a), signer(a), signature(a)> -1⋅ }
1
.....equality..... 
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. ↑a ∈b Sign
11. signature(b)#Sign(a):SecurityData × Id × Atom1@i
⊢ Sign(a) ~ <signed(a), signer(a), signature(a)>
2
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. ↑a ∈b Sign
11. signature(b)#<signed(a), signer(a), signature(a)>:SecurityData × Id × Atom1@i
⊢ False
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.  \muparrow{}a  \mmember{}\msubb{}  Sign
11.  signature(b)\#Sign(a):SecurityData  \mtimes{}  Id  \mtimes{}  Atom1@i
\mvdash{}  False
By
Latex:
Subst'  Sign(a)  \msim{}  <signed(a),  signer(a),  signature(a)>  -1\mcdot{}
Home
Index