Logical Analysis and Verification of Cryptographic Protocols - Loria
Logical Analysis and Verification of Cryptographic Protocols - Loria
Logical Analysis and Verification of Cryptographic Protocols - Loria
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
122 CHAPTER 5. SATURATED DEDUCTION SYSTEMS<br />
PROOF.<br />
Let C 0 (respectively C) be a I1- (respectively I2-) constraint system <strong>and</strong><br />
assume that C is obtained from C 0 at then end <strong>of</strong> Step 1. This implies that<br />
C 0 = (E1 ⊢ v1, . . . , En ⊢ vn, U) <strong>and</strong> C = ((E1θ)↓ ⊲ (v1θ)↓, . . . , (Enθ)↓ ⊲ (vnθ)↓)<br />
while θ is a substitution in normal form (the construction <strong>of</strong> θ is shown in Definition<br />
28). Since C is I2-satisfiable there exists a normal substitution σ ′ such<br />
that (viθ)↓σ ′ ∈ (Eiθ)↓σ ′I2<br />
<strong>and</strong> thus (viθσ ′ )↓ ∈ (Eiθσ ′ )↓ I2<br />
, which implies that<br />
(viθσ ′ )↓ ∈ (Eiθσ ′ )↓ I1<br />
(Lemma 41). Let σ = (θσ ′ )↓, we have that (viσ)↓ ∈ (Eiσ)↓ I0<br />
,<br />
<strong>and</strong> by construction <strong>of</strong> θ, we have that θ |=I1 U, <strong>and</strong> hence σ |=I1 U which concludes<br />
the pro<strong>of</strong>. �<br />
Transformation in solved form<br />
In the rest <strong>of</strong> this chapter, we denote by lx, l1, . . . , ln → r a LI2-rule such that<br />
lx is a finite set <strong>of</strong> variables <strong>and</strong> {l1, . . . , ln} is a finite set <strong>of</strong> non-variable terms.<br />
Unless otherwise specified, I2 is the intruder deduction system implicit in all<br />
notations.<br />
In the rest <strong>of</strong> this section, we prove a progress property: If a satisfiable modified<br />
constraint system is not in solved form, then a rule <strong>of</strong> Fig. 5.3 can be applied<br />
on it to yield another satisfiable modified constraint system.<br />
Figure 5.3 System <strong>of</strong> transformation rules.<br />
Unif :<br />
Reduce 1 :<br />
Cα, E ⊲ t, Cβ<br />
(Cα, (E ⊲ y)y∈lx , Cβ)σ<br />
Reduce 2 :<br />
Cα, E ⊲ t, Cβ<br />
(Cα, (E ⊲ y)y∈lx , E ∪ r ⊲ t, C′ β )σ<br />
Cα, E ⊲ t, Cβ<br />
(Cα, Cβ)σ<br />
u ∈ E \ X , t /∈ X ,<br />
σ = mgu(u, t)<br />
lx, l1, . . . , ln → r ∈ LI2 inc �<br />
<strong>and</strong> t<br />
�<br />
/∈ X<br />
e1, . . . , en ∈ E \ X <strong>and</strong> σ = mgu(<br />
ei ? = ∅ li<br />
1≤i≤n , r ? = ∅ t)<br />
lx, l1, . . . , ln → r ∈ LI2 dec <strong>and</strong><br />
�<br />
t /∈ X<br />
e1, . . . , en ∈ E \ X <strong>and</strong> σ = mgu( ei ? �<br />
= ∅ li<br />
1≤i≤n )<br />
C ′ β is obtained from Cβ by<br />
adding r to left h<strong>and</strong> side <strong>of</strong> constraints<br />
Simplification step. Let C = (Cα, E ⊲ t, Cβ) be a modified constraint system<br />
such that Cα in solved form <strong>and</strong> t /∈ X . If we apply Reduce 1 (respectively<br />
Reduce 2) on C using a rule lx, l1, . . . , ln → r such that there is a variable x ∈<br />
lx \V ar({l1, . . . , ln, r}) then the constraint E ⊲x will be in the obtained modified