Step * 2 2 1 1 2 of Lemma ses-is-protocol-actions-fresh


1. SES@i'
2. ActionsDisjoint@i'
3. pas ProtocolAction List@i
4. es EO+(Info)@i'
5. thr {thr:Act List| ∀i:ℕ||thr|| 1. (thr[i] <loc thr[i 1])} @i
6. Id@i
7. ||thr|| ||pas|| ∈ ℤ@i
8. ∀i:ℕ||pas||. pas[i](thr[i])@i
9. SecurityData ─→ (Atom1?)@i
10. : ℕ||thr||@i
11. ↑thr[i] ∈b Sign@i
12. (fst(snd(snd(pas[i])))) A ∈ Id
13. : ℕi
14. (fst(pas[j])) "new" ∈ Atom
15. ↑isl(f (fst(snd(pas[i]))))
16. outl(f (fst(snd(pas[i])))) (snd(pas[j])) ∈ Atom1
17. ∀k:{j 1..i-}
      (((fst(pas[k])) "sign" ∈ Atom)
       (↑isl(f (fst(snd(pas[k])))))
       (outl(f (fst(snd(pas[k])))) (snd(pas[j])) ∈ Atom1)))
18. signer(thr[i]) A ∈ Id
19. (↑thr[j] ∈b New) ∧ (New(thr[j]) (snd(pas[j])) ∈ Atom1)
⊢ (↑isl(f signed(thr[i])))
∧ (outl(f signed(thr[i])) New(thr[j]) ∈ Atom1)
∧ (∀k:{j 1..i-}. ((↑thr[k] ∈b Sign)  (↑isl(f signed(thr[k])))  (outl(f signed(thr[k])) New(thr[j]) ∈ Atom1))))
BY
((Assert pas[i](thr[i]) BY Auto⋅THEN (FLemma `ses-sign-is-protocol-action` [-1] THENA Auto))⋅ }

1
1. SES@i'
2. ActionsDisjoint@i'
3. pas ProtocolAction List@i
4. es EO+(Info)@i'
5. thr {thr:Act List| ∀i:ℕ||thr|| 1. (thr[i] <loc thr[i 1])} @i
6. Id@i
7. ||thr|| ||pas|| ∈ ℤ@i
8. ∀i:ℕ||pas||. pas[i](thr[i])@i
9. SecurityData ─→ (Atom1?)@i
10. : ℕ||thr||@i
11. ↑thr[i] ∈b Sign@i
12. (fst(snd(snd(pas[i])))) A ∈ Id
13. : ℕi
14. (fst(pas[j])) "new" ∈ Atom
15. ↑isl(f (fst(snd(pas[i]))))
16. outl(f (fst(snd(pas[i])))) (snd(pas[j])) ∈ Atom1
17. ∀k:{j 1..i-}
      (((fst(pas[k])) "sign" ∈ Atom)
       (↑isl(f (fst(snd(pas[k])))))
       (outl(f (fst(snd(pas[k])))) (snd(pas[j])) ∈ Atom1)))
18. signer(thr[i]) A ∈ Id
19. (↑thr[j] ∈b New) ∧ (New(thr[j]) (snd(pas[j])) ∈ Atom1)
20. pas[i](thr[i])
21. ((fst(pas[i])) "sign" ∈ Atom) ∧ ((snd(pas[i])) Sign(thr[i]) ∈ (SecurityData × Id × Atom1))
⊢ (↑isl(f signed(thr[i])))
∧ (outl(f signed(thr[i])) New(thr[j]) ∈ Atom1)
∧ (∀k:{j 1..i-}. ((↑thr[k] ∈b Sign)  (↑isl(f signed(thr[k])))  (outl(f signed(thr[k])) New(thr[j]) ∈ Atom1))))


Latex:



Latex:

1.  s  :  SES@i'
2.  ActionsDisjoint@i'
3.  pas  :  ProtocolAction  List@i
4.  es  :  EO+(Info)@i'
5.  thr  :  \{thr:Act  List|  \mforall{}i:\mBbbN{}||thr||  -  1.  (thr[i]  <loc  thr[i  +  1])\}  @i
6.  A  :  Id@i
7.  ||thr||  =  ||pas||@i
8.  \mforall{}i:\mBbbN{}||pas||.  pas[i](thr[i])@i
9.  f  :  SecurityData  {}\mrightarrow{}  (Atom1?)@i
10.  i  :  \mBbbN{}||thr||@i
11.  \muparrow{}thr[i]  \mmember{}\msubb{}  Sign@i
12.  (fst(snd(snd(pas[i]))))  =  A
13.  j  :  \mBbbN{}i
14.  (fst(pas[j]))  =  "new"
15.  \muparrow{}isl(f  (fst(snd(pas[i]))))
16.  outl(f  (fst(snd(pas[i]))))  =  (snd(pas[j]))
17.  \mforall{}k:\{j  +  1..i\msupminus{}\}
            (((fst(pas[k]))  =  "sign")
            {}\mRightarrow{}  (\muparrow{}isl(f  (fst(snd(pas[k])))))
            {}\mRightarrow{}  (\mneg{}(outl(f  (fst(snd(pas[k]))))  =  (snd(pas[j])))))
18.  signer(thr[i])  =  A
19.  (\muparrow{}thr[j]  \mmember{}\msubb{}  New)  \mwedge{}  (New(thr[j])  =  (snd(pas[j])))
\mvdash{}  (\muparrow{}isl(f  signed(thr[i])))
\mwedge{}  (outl(f  signed(thr[i]))  =  New(thr[j]))
\mwedge{}  (\mforall{}k:\{j  +  1..i\msupminus{}\}
          ((\muparrow{}thr[k]  \mmember{}\msubb{}  Sign)  {}\mRightarrow{}  (\muparrow{}isl(f  signed(thr[k])))  {}\mRightarrow{}  (\mneg{}(outl(f  signed(thr[k]))  =  New(thr[j])))))


By


Latex:
((Assert  pas[i](thr[i])  BY  Auto\mcdot{})  THEN  (FLemma  `ses-sign-is-protocol-action`  [-1]  THENA  Auto))\mcdot{}




Home Index