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.
22 CHAPTER 2. PROTOCOL ANALYSIS USING CONSTRAINT SOLVING<br />
• if t ∈ X ∪ C or p = ɛ <strong>and</strong> t|p = t;<br />
• if t = f(t1, . . . , tn) <strong>and</strong> p = i.p ′ with 1 ≤ i ≤ n then t|p = ti|p ′.<br />
Given a term t, <strong>and</strong> a position p ∈ P os(t), we denote by t[p ← s] the term<br />
obtained from t by replacing the subterm at position p by s.<br />
2.1.4 Substitutions<br />
A substitution σ is a partial function from variables X to terms T (F, X ), such<br />
that its domain is finite. We define the support <strong>of</strong> a substitution σ, written Supp(σ)<br />
as follows: Supp(σ) = {x|σ(x) �= x}, is a finite set. The substitution σ with<br />
Supp(σ) = ∅ is called the empty substitution or the identity substitution. The substitution<br />
σ with Supp(σ) = {x1, . . . , xn} <strong>and</strong> σ(xi) = ti for 1 ≤ i ≤ n, can also<br />
be written as σ = {x1 ↦→ t1, . . . , xn ↦→ tn}. The range <strong>of</strong> σ, denoted by Ran(σ), is<br />
defined by the set Ran(σ) = {σ(x) such that x ∈ Supp(σ)}. The substitution σ<br />
with Supp(σ) = ∅ is called the identity substitution. We denote by V ar(σ) the set<br />
V ar(Ran(σ)). A substitution σ is said to be ground if V ar(σ) = ∅, that is Ran(σ)<br />
is a set <strong>of</strong> ground terms. A substitution σ instantiates a variable x if x ∈ Supp(σ),<br />
<strong>and</strong> σ is said to be grounding x if x ∈ Supp(σ) <strong>and</strong> σ(x) is a ground term.<br />
The application <strong>of</strong> a substitution σ to a term t is denoted σ(t) <strong>and</strong> is equal<br />
to the term t where all variables x have been replaced by the term σ(x). More<br />
formally, in order to apply a substitution σ to terms, we extend σ homomorphically<br />
on terms by the rule σ(f(t1, . . . , tn)) = f(σ(t1), . . . , σ(tn)). Let E be a set <strong>of</strong><br />
terms, E ⊆ T (F, X ), we denote σ(E) = {σ(t) such that t ∈ E}.<br />
From now on, we mean by xσ the application <strong>of</strong> σ to x, i.e. xσ = σ(x). In<br />
similar way, if t (respectively E) is a term (respectively a set <strong>of</strong> terms), we will<br />
write tσ (respectively Eσ) instead <strong>of</strong> σ(t) (respectively σ(E)).<br />
A renaming ρ is an injective substitution such that Ran(ρ) ⊆ X .<br />
The composition σθ <strong>of</strong> two substitutions σ <strong>and</strong> θ is defined as x(σθ) = (xσ)θ =<br />
xσθ. A substitution θ is an extension <strong>of</strong> a substitution σ if Supp(σ) ⊆ Supp(θ), <strong>and</strong><br />
xσ = xθ for all x ∈ Supp(σ). A substitution σ is a restriction <strong>of</strong> a substitution θ if<br />
θ is an extension <strong>of</strong> σ. A substitution σ is cyclic if there exists x1, . . . , xn, xn+1 ∈<br />
Supp(σ) with n ≥ 1 such that xi+1 ∈ V ar(xiσ) for all 1 ≤ i ≤ n, with xn+1 =<br />
x1. A substitution σ is idempotent if σ = σσ. We remark that a idempotent<br />
substitutions are acyclic, <strong>and</strong> as we consider substitutions with finite domain,<br />
the converse also holds. In this document, we will only consider idempotent<br />
substitutions.<br />
2.1.5 Equational theories <strong>and</strong> rewriting systems<br />
Given a binary relation → over a set <strong>of</strong> terms S. The relations → + , → ∗ are respectively<br />
the transitive <strong>and</strong> reflexive-transitive closure <strong>of</strong> →. The relation → is<br />
said to be: