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.
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