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.

2.1. PRELIMINARIES 31<br />

Figure 2.4 Unification algorithm based on the finite variant property<br />

Input:<br />

An arbitrary equational theory H having the<br />

�<br />

finite variant property, <strong>and</strong> a Hunification<br />

system U =<br />

.<br />

�<br />

s1 ? =H t1, . . . , sn ? =H tn<br />

Step 1:<br />

Compute the term M = g(s1, t1, . . . , sn, tn) where g is a new function symbol not<br />

appearing in F playing the role <strong>of</strong> cartesian product.<br />

Step 2:<br />

Compute the set <strong>of</strong> variant substitutions Σ(M).<br />

Output:<br />

• “U is H-unifiable” if there is a substitution θ ∈ Σ(M) <strong>and</strong> a substitution τ<br />

such that (sjθ)↓τ = (tjθ)↓τ for every j ∈ {1, . . . , n};<br />

• “U is not H-unifiable” otherwise.<br />

Finite variant property <strong>and</strong> unification<br />

We introduce in this section a general H-unification procedure, where H is an<br />

arbitrary equational theory having the finite variant property. This algorithm is<br />

given in Figure 2.4.<br />

It is easy to see that the finite variant property reduces the H-unifiability<br />

problem to the syntactic unifiability problem. We show next the correctness<br />

<strong>and</strong> completeness <strong>of</strong> this unification procedure.<br />

Lemma 1 Let H be an equational theory having the finite variant property, <strong>and</strong> let s<br />

<strong>and</strong> t be two terms. Let M = g(s, t) where g is a new function symbol playing the role<br />

<strong>of</strong> cartesian product. If there exists a variant substitution θ <strong>of</strong> M <strong>and</strong> a substitution<br />

τ such that (sθ)↓τ = (tθ)↓τ then s <strong>and</strong> t are H-unifiable <strong>and</strong> σ = θτ is one <strong>of</strong> their<br />

possible H-unifiers.<br />

PROOF.<br />

Let s, t be two terms such that (sθ)↓τ = (tθ)↓τ where θ is a variant substitution<br />

<strong>of</strong> g(s, t) <strong>and</strong> τ an arbitrary substitution. (sθ)↓τ = (tθ)↓τ implies<br />

(sθ)↓τ =H (tθ)↓τ. Let σ = θτ, we have (sσ)↓ = (sθτ)↓ = ((sθ)↓τ)↓ <strong>and</strong> similarly,<br />

(tσ)↓ = ((tθ)↓τ)↓. Since (sθ)↓τ =H (tθ)↓τ, we conclude that ((sθ)↓τ)↓ =<br />

((tθ)↓τ)↓ <strong>and</strong> hence (sσ)↓ = (tσ)↓ which implies that σ is an H-unifier <strong>of</strong> s <strong>and</strong><br />

t. �<br />

Lemma 2 Let H be an equational theory having the finite variant property, <strong>and</strong> let s<br />

<strong>and</strong> t be two terms. Let M = g(s, t) where g is a new function symbol playing the

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

Saved successfully!

Ooh no, something went wrong!