Logical Foundations of Multiset Rewriting
Iliano Cervesato
iliano@itd.nrl.navy.mil
ITT Industries, inc @ NRL Washington, DC
http://www.cs.stanford.edu/~iliano
TACL Seminar, CS Department, Princeton University October 17, 2003
Logical Foundations of Multiset Rewriting Iliano Cervesato - - PowerPoint PPT Presentation
Logical Foundations of Multiset Rewriting Iliano Cervesato iliano@itd.nrl.navy.mil ITT Industries, inc @ NRL Washington, DC http://www.cs.stanford.edu/~iliano TACL Seminar, CS Department, Princeton University October 17, 2003 Outline
iliano@itd.nrl.navy.mil
http://www.cs.stanford.edu/~iliano
TACL Seminar, CS Department, Princeton University October 17, 2003
MSR 3.0 1
MSR 3.0 2
MSR 3.0 3
MSR 3.0 4
(“,” is commutative, associative, with “•” as unit)
MSR 3.0 5
R
→ b)
MSR 3.0 6
Unrestricted context
weakening and contraction
traditional logic
Linear context
exchange only
MSR 3.0 7
Γ; A --> A Γ; Δ, A, B --> C Γ; Δ, A⊗B --> C Γ; Δ1
Γ; Δ1 , Δ2
Γ; Δ
Γ; Δ, 1 --> C Γ; ⋅
Γ, A; Δ, A --> C Γ, A; Δ
Γ; Δ1
, B --> C Γ; Δ1 , Δ2 , A⎯οB --> C Γ; Δ, A --> B Γ; Δ
MSR 3.0 8
MSR 3.0 9
MSR 3.0 10
/ -->
is a commutative monoid
MSR 3.0 11
MSR 3.0 12
MSR 3.0 13
– Turn , into ⊗ – Turn • into 1
MSR 3.0 14
and •
constructors: ⊗ and 1
b R s, a, b
R s
MSR 3.0 15
Γ; Δ
MSR 3.0 16
Γ; Δ, A, B
Γ; Δ, A⊗B
Γ; Δ
Γ; Δ, 1
Γ , A⎯οB; Δ, B
Γ, A⎯οB; A, Δ
Γ, A; Δ, A
Γ, A; Δ
Γ; Δ1
Γ; Δ2 , B
Γ; Δ1 , Δ2 , A⎯οB
+
Γ; A
MSR 3.0 17
logic
MSR 3.0 18
if Σ |- t
MSR 3.0 19
Γ; Δ, [t/x]A -->Σ C Σ |- t Γ; Δ, ∀x.A
C
if Σ |- t
Γ; Δ, A
C Γ; Δ, ∃x.A
C
MSR 3.0 20
MSR 3.0 21
ω ::= a | • | ω, ω | ω → ω
b), a s, b
, s2 , (a → b) s2 , b if s1 * a
Δ1
Δ2 , B
Δ1 , Δ2 , A⎯οB
MSR 3.0 22
() Trivial by reflexivity (⇐) Recursively turn every step
, s2 , (a → b) v.2 s2 , b if s1 *
v.2
a into
, (a → b) *
v.1
a, s2 , (a → b) v.1 s2 , b
MSR 3.0 23
ω ::= a | • | ω, ω | ω → ω | ∀x. ω | ∃x. ω | ! ω
Γ, A; Δ, A
C Γ, A; Δ
C Γ, A; Δ-->Σ C Γ; Δ , !A -->Σ C
MSR 3.0 24
a and b can be used only together a and b can be used independently
MSR 3.0 25
ω ::= … | ω & ω | T
(no left rule) Γ; Δ , Ai
C Γ; Δ , A1 & A2
C
Non-deterministic choice
Absence of any choice
MSR 3.0 26
Γ; Δ , 0 -->Σ C
MSR 3.0 27
Γ; Δ , A
C Γ; Δ , B
C Γ; Δ , A ⊕ B -->Σ C
MSR 3.0 28
Γ; ⊥
MSR 3.0 29
Γ; Δ1 , A
Ψ1 Γ; Δ2 , B
Ψ2 Γ; Δ1 , Δ2 , A ℘ B -->Σ Ψ1 , Ψ2
MSR 3.0 30
Γ; A -->Σ A
MSR 3.0 31
Γ; Δ1
A Γ; Δ2 , A
C Γ; Δ1 , Δ2
Γ; •
A Γ, A; Δ
C Γ; Δ
MSR 3.0 32
MSR 3.0 33
MSR 3.0 34
MSR 3.0 35
A → B: {NA , A}KB B → A: {NA , NB}KA A → B: {NB }KB
MSR 3.0 36
A → B: {NA , A}KB B → A: {NA , NB}KA A → B: {NB }KB
MSR 3.0 37
MSR 3.0 38
MSR 3.0 39
pass control/data to the next rule
n → a1 , n’ n’’, a1 → a2 ,n’’’ …
Relating Strands and Multiset Rewriting for Security Protocols
NS: MSR rules for Alice
πA0(A) → A0(A), πA0(A) A0(A), πA1(B) → ∃NA. A1(A,B,NA), N({NA,A}KB), πA1(B) A1(A,B, NA), N({NA,NB}KA) → A2(A,B,NA,NB) A2(A,B,NA,NB) → A3(A,B,NA,NB), N({NB}KB)
where πA0(A) = Pr(A), PrvK(A,KA
πA1(B) = Pr(B), PubK(B,KB)
Relating Strands and Multiset Rewriting for Security Protocols
NS: Parametric Strand for Alice
Alice (A,B,NA,NB) : NA Fresh, πA (A,B)
where π(A,B) = Pr(A), PrvK(A,KA
Pr(B), PubK(B,KB)
{NA, A}KB {NA, NB}KA {NB}KB
MSR 3.0 40
pass control/data to the next rule
n → a1 , n’ n’’, a1 → a2 ,n’’’ …
Relating Strands and Multiset Rewriting for Security Protocols
NS: MSR rules for Alice
πA0(A) → A0(A), πA0(A) A0(A), πA1(B) → ∃NA. A1(A,B,NA), N({NA,A}KB), πA1(B) A1(A,B, NA), N({NA,NB}KA) → A2(A,B,NA,NB) A2(A,B,NA,NB) → A3(A,B,NA,NB), N({NB}KB)
where πA0(A) = Pr(A), PrvK(A,KA
πA1(B) = Pr(B), PubK(B,KB)
Relating Strands and Multiset Rewriting for Security Protocols
NS: Parametric Strand for Alice
Alice (A,B,NA,NB) : NA Fresh, πA (A,B)
where π(A,B) = Pr(A), PrvK(A,KA
Pr(B), PubK(B,KB)
{NA, A}KB {NA, NB}KA {NB}KB
MSR 3.0 41
MSR 3.0 42
State vs. process distance Other distance
MSR 3
MSR 3.0 43