30.01.2013 Views

Logical Analysis and Verification of Cryptographic Protocols - Loria

Logical Analysis and Verification of Cryptographic Protocols - Loria

Logical Analysis and Verification of Cryptographic Protocols - Loria

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.4. DECIDABILITY RESULTS 103<br />

Apply rule. The application <strong>of</strong> Apply on C ′ outputs C” = (E1σ⊲x1σ, . . . , Ei−1σ⊲<br />

xi−1σ, (Eiσ ⊲ yσ)y∈lx, Ei+1σ ⊲ ti+1σ, . . . , Enσ ⊲ tnσ) with σ = mgu(r ? =∅<br />

ti, (uk<br />

?<br />

=∅ lk)1≤k≤m), uk ∈ Ei \ X , <strong>and</strong> lx, l1, . . . , lm → r ∈ LI”. Ej ⊆ Ej+1 implies<br />

Ejσ ⊆ Ej+1σ. Let j ≤ i, we have that V ar(Ej) ⊆ V ar({x1, . . . , xj−1})<br />

<strong>and</strong> hence, V ar(Ejσ) ⊆ V ar({x1σ, . . . , xj−1σ}). Let j > i, <strong>and</strong> let us<br />

prove that V ar(Ejσ) ⊆ V ar({x1σ, . . . , xi−1σ}∪{yσ} ∪{ti+1σ, . . . , tj−1σ}).<br />

y∈lx<br />

We have that V ar(Ejσ) ⊆ V ar({x1σ, . . . , xi−1σ, tiσ, ti+1σ, . . . , tj−1σ}), <strong>and</strong><br />

V ar(tiσ) = V ar(rσ) ⊆ V ar(lxσ) ∪ V ar({l1σ, . . . , lmσ}) ⊆ V ar(lxσ) ∪<br />

V ar(Eiσ) ⊆ V ar(lxσ) ∪ V ar({x1σ, . . . , xi−1σ}). We conclude that<br />

V ar(Ejσ) ⊆ V ar({x1σ, . . . , xi−1σ} ∪ {yσ} ∪ {ti+1σ, . . . , tj−1σ}), <strong>and</strong><br />

y∈lx<br />

hence, the application <strong>of</strong> Apply rule on C ′ outputs a modified constraint<br />

system.<br />

�<br />

We prove below (Lemma 36 <strong>and</strong> Lemma 37) that the simplification <strong>of</strong> the<br />

modified constraint system C ′ using rules from Figure 4.2 terminates in the case<br />

<strong>of</strong> I”DSKS <strong>and</strong> I”DEO.<br />

Lemma 36 Let C = (E1 ⊲ t1, . . . , En ⊲ tn) be a modified I-constraint system. The<br />

application <strong>of</strong> transformation rules <strong>of</strong> the algorithm on C using L”DSKS rules terminates.<br />

PROOF.<br />

Let nbv(C) be the number <strong>of</strong> variables in C, <strong>and</strong> M(C) denotes the multiset<br />

<strong>of</strong> the right-h<strong>and</strong> side <strong>of</strong> deduction constraints in C. Let us prove that after<br />

any application <strong>of</strong> a transformation rule on a modified I-constraint system<br />

C = (Cα, E ⊲ t) (where Cα is in solved form), either nbv(C) decreases strictly, or<br />

the identity substitution is applied on C during the transformation <strong>and</strong> M(C)<br />

strictly decreases.<br />

The first point will ensure that after some point in a sequence <strong>of</strong> transformations<br />

the number <strong>of</strong> variables will be stable, <strong>and</strong> thus from this point on M(C)<br />

will strictly decrease. The fact that no more unification will be applied <strong>and</strong> that<br />

the extension <strong>of</strong> the subterm ordering on multisets is well-founded will then<br />

imply that there is only a finite sequence <strong>of</strong> different modified I-constraint systems,<br />

<strong>and</strong> thereby the termination <strong>of</strong> the constraint solving algorithm.<br />

This fact is obvious if the Unif rule is applied, since it amounts to the unification<br />

<strong>of</strong> two subterms <strong>of</strong> C. It is then well-known that if the two subterms<br />

are not syntactically equal, the number <strong>of</strong> variables in their most general unifier<br />

is strictly less than the union <strong>of</strong> their variables, which is included in V ar(C).<br />

If they are syntactically equal, then no substitution is applied, <strong>and</strong> thus denoting<br />

C ′ the result <strong>of</strong> the transformation, we have M(C) = M(C ′ ) ∪ {t}, <strong>and</strong> thus<br />

M(C ′ ) < M(C).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!