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.

150 CHAPTER 6. ON THE GROUND ENTAILMENT PROBLEMS<br />

S with succedent A. Leaves are ground instances <strong>of</strong> positive unit clauses in S.<br />

A direct pro<strong>of</strong> <strong>of</strong> a ground clause A1, . . . , An → B from S is a direct pro<strong>of</strong> <strong>of</strong> B<br />

from S ∪ {A1, . . . , An}.<br />

A term t occurs in either kind <strong>of</strong> pro<strong>of</strong> if t occurs in a clause or in an atom<br />

labelling the pro<strong>of</strong> tree <strong>and</strong> an atom A occurs in either kind <strong>of</strong> pro<strong>of</strong> if A occurs<br />

in a clause labelling the pro<strong>of</strong> tree. If π is a pro<strong>of</strong>, by T erms(π) (respectively<br />

µ(π)) we denote the set <strong>of</strong> terms (respectively set <strong>of</strong> atoms) occurring in π.<br />

An inference system J is said to be complete if the empty clause can be derived<br />

from any unsatisfiable set <strong>of</strong> clauses. An inference system J is said to be<br />

sound if the empty clause can not derived from any satisfiable set <strong>of</strong> clauses. It<br />

is easy to see that S |= C if <strong>and</strong> only if the ∅ clause is derived from S ∪ ¬C for<br />

any complete <strong>and</strong> sound inference system J.<br />

In the rest <strong>of</strong> this chapter, we will be interested only by the refutational<br />

pro<strong>of</strong>s, <strong>and</strong> for simplicity, we will write pro<strong>of</strong>s instead <strong>of</strong> refutational<br />

pro<strong>of</strong>s. In addition, when the inference system is complete <strong>and</strong> sound,<br />

we will abuse the notation <strong>and</strong> use the notation S |= C to mean that there<br />

is a pro<strong>of</strong> <strong>of</strong> S |= C.<br />

6.1.2 Resolution<br />

The resolution is one <strong>of</strong> the most successful methods for automated pro<strong>of</strong><br />

search. It was developed in [176]. We introduce in this section some <strong>of</strong> the<br />

well-known resolution inference strategies. Some <strong>of</strong> these strategies use orderings,<br />

transitive <strong>and</strong> irreflexive binary relations, on atoms <strong>and</strong> terms. We denote<br />

by ≻a the ordering on atoms <strong>and</strong> by ≻t the ordering on terms.<br />

(Binary) Resolution<br />

The (binary) resolution is described by the following two inference rules:<br />

Resolution<br />

Γ → ∆, A A ′ , Γ ′ → ∆ ′<br />

(Γ, Γ ′ → ∆, ∆ ′ )α<br />

where α is the most general unifier <strong>of</strong> A <strong>and</strong> A ′ .<br />

The clause (Γ, Γ ′ → ∆, ∆ ′ )α is called a resolvent <strong>of</strong> the premises or a conclusion<br />

<strong>of</strong> the inference, <strong>and</strong> the atom Aα is called the resolved atom.<br />

F actoring<br />

Γ → ∆, A, A ′<br />

(Γ → ∆, A)α<br />

where α is the most general unifier <strong>of</strong> A <strong>and</strong> A ′ .

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

Saved successfully!

Ooh no, something went wrong!