Вы находитесь на странице: 1из 1

5.3.

SIMPLIFICATION STRATEGIES
Sometimes a set of clauses can be simplified by elimination of certain
clauses or by elimination of certain literals in the clauses. These
simplifications are such that the simplified set of clauses is unsatisfiable if
and only if the original set is unsatisfiable. Thus, employing these
simplification strategies helps to reduce the rate of growth of new clauses.
SIMPLIFICATION

5.3.1.

STRATEGIES

ELIMINATION OF TAUTOLOGIES

Any clause containing a literal and its negation (we call such a clause a
tautology) may be eliminated, since any unsatisfiable set containing a
tautology is still unsatisfiable after removing it, and conversely. Thus,
clauses like P(x) V B(y) V ~B(y) and P(f(A V ~P(f(A
may
be eliminated.
5.3.2. PROCEDURAL ATTACHMENT
Sometimes it is possible and more convenient to evaluate the truth
values of literals than it would be to include these literals, or their
negations, in the base set. Typically, evaluations are performed for
ground instances. For example, if the predicate symbol "E' stands for the
equality relation between numbers, it is a simple matter to evaluate
ground instances such as (7,3) when they occur; whereas we would
probably not want to include in the base set a table containing a large
number of ground instances of (x,y) and ~(x,y).
It is instructive to look more closely at what is meant by "evaluating"
an expression like (7,3). Predicate calculus expressions are linguistic
constructs that denote truth values, elements, functions, or relations in a
domain. Such expressions can be interpreted with reference to a model
which associates linguistic entities with appropriate domain entities. The
end result is that the values Tor F become associated with sentences in
the language.
Given a model, we could use any finite processes for interpretation
with respect to it as a way of deciding truth values of sentences.
Unfortunately, models and interpretation processes are not, in general,
finite. Often, we can use partial models, however. In our equality
example, we can associate with the predicate symbol, E, a computer
program that tests the equality of two numbers within the finite domain
of the program. Let us call this program EQUALS. We say that the
program EQUALS is attached to the predicate symbol E. We can
associate the linguistic symbols 7 and 3 (i.e., numerals) with the computer
data items 7 and 3 (i.e., numbers), respectively. We say that 7 is attached
to 7, and that 3 is attached to 3, and that the computer program and
arguments represented by EQUALS(7,3) are attached to the linguistic
expression (7,3). Now we can run the program to obtain the value F
(false) which in tum induces the value F for (7,3).

RESOLUTION REFUTATION

SYSTEMS

We can also attach procedures to function symbols. For example, an


addition program can be attached to the function symbol plus. In this
manner, we can establish a connection or procedural attachment between
executable computer code and some of the linguistic expressions in our
predicate calculus language. Evaluation of attached procedures can be
thought of as a process of interpretation with respect to a partial model.
When it can be used, procedural attachment reduces the search effort that
would otherwise be req uired to prove theorems.
A literal is evaluated when it is interpreted by running attached
procedures. Typically, not all of the literals in a set of clauses can be
evaluated, but the clause set can nevertheless be simplified by such
evaluations. If a literal in a clause evaluates to T, the entire clause can be
eliminated without affecting the unsatisfiability of the rest of the set. If a
literal evaluates to F, then the occurrence of just that literal in the clause
can be eliminated. Thus the clause P(x) V Q(A) V (7,3) can be
replaced by P(x) V Q(A), since (7,3) evaluates to F.

5.3.3.

ELIMINATION BY SUBSUMPTION

By definition, a clause { L, } subsumes a clause { Mj} if there exists a


substitution s such that { Lj} s is a subset of { M, }. As examples:
P(x) subsumes P(y) V Q(z)
P(x) subsumes P(A)
P(x) subsumes P(A) V Q(z)
P(x) V Q(A) subsumes P(f(A

V Q(A) V R(y)

A clause in an unsatisfiable set that is subsumed by another clause in


the set can be eliminated without affecting the unsatisfiability of the rest
of the set. Eliminating clauses subsumed by others frequently leads to
substantial reductions in the number of resolutions that need to be made
in finding a refutation.

Вам также может понравиться