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.
6.2. DECIDABLE FRAGMENTS OF FIRST ORDER LOGIC 153<br />
If the ordering ≻ is total (respectively, well-founded), so is its multiset extension<br />
[1]. It is easy to see that if the ordering ≻ is total (respectively, wellfounded),<br />
so is its set extension: actually, by definition <strong>of</strong> multisets, a set is a<br />
multiset; since the multiset extension ≻ mul <strong>of</strong> a total (respectively well-founded)<br />
order ≻ is also total (respectively well-founded) [1], we deduce that the set extension<br />
≻ set <strong>of</strong> a total (respectively well-founded) order ≻ is also total (respectively<br />
well-founded).<br />
Clause <strong>and</strong> pro<strong>of</strong> orderings. By an atom ordering (respectively term ordering) we<br />
mean an arbitrary ordering on atoms (respectively on terms). To extend an atom<br />
ordering ≻a to an ordering on clauses, we identify a (positive or negative) literal<br />
A with a set {A}, <strong>and</strong> a clause with the union <strong>of</strong> its literals, or more precisely<br />
with the union <strong>of</strong> sets <strong>of</strong> atoms identifying its literals. For example, the clause<br />
A1, A2 → B is identified with the following union <strong>of</strong> literals ¬A1 ∪ ¬A2 ∪ B, that<br />
is with the following union <strong>of</strong> sets <strong>of</strong> atoms {A1} ∪ {A2} ∪ {B} which is equal to<br />
the set <strong>of</strong> atoms {A1, A2, B}. From now on, we denote by µ(C) the set <strong>of</strong> atoms<br />
representing the clause C, that is the set <strong>of</strong> atoms equal to the union <strong>of</strong> the set <strong>of</strong><br />
atoms identifying its literals. For example µ(A1, A2 → B) = {A1, A2, B}. Then,<br />
for clauses C <strong>and</strong> C ′ , we define C≻cC ′ if <strong>and</strong> only if the set <strong>of</strong> atoms representing<br />
C is strictly bigger than the set <strong>of</strong> atoms representing C ′ for the set extension <strong>of</strong><br />
≻a, that is µ(C)≻a set µ(C ′ ). Clearly, if the ordering ≻a is well-founded <strong>and</strong> total<br />
on ground atoms, so is its extension to ground clauses. We extend the definition<br />
<strong>of</strong> µ from a clause to a set <strong>of</strong> clauses, let S be a set <strong>of</strong> clauses, S = {C1, . . . , Cn},<br />
µ(S) = µ(C1) ∪ . . . ∪ µ(Cn) = ∪ n i=1µ(Ci). By definition <strong>of</strong> pro<strong>of</strong>s, each atom that<br />
appears in a pro<strong>of</strong> belongs to a clause labelling one <strong>of</strong> its leaves. We extend next<br />
the atom ordering to an ordering on pro<strong>of</strong>s. If π is a pro<strong>of</strong>, the set leaves(π)<br />
denotes the set <strong>of</strong> clauses labelling its leaves, <strong>and</strong> µ(π) = µ(leaves(π)). More<br />
precisely µ(π) is the union <strong>of</strong> set <strong>of</strong> atoms identifying clauses labelling its leaves.<br />
For example, let the pro<strong>of</strong> π given as below:<br />
∅→C<br />
C→A,B B→∅<br />
C→A<br />
∅→A<br />
∅<br />
A→B B→∅<br />
A→∅<br />
leaves(π) is equal to the following set <strong>of</strong> clauses {∅ → C; C → A, B; A → B; B →<br />
∅}, <strong>and</strong> µ(π) = {A, B, C}. Let π, π ′ be two pro<strong>of</strong>s, we define π≻pπ ′ if <strong>and</strong> only if<br />
µ(π)≻a set µ(π ′ ).<br />
6.2 Decidable fragments <strong>of</strong> first order logic<br />
It is known that the ground entailment problem for Horn clauses <strong>and</strong> full<br />
clauses sets is undecidable. Here, we mention some obtained decidability results<br />
under some restrictions.