Lecture 3: Recap, Saturation, and Redundancy Elimination
Laura Kovács
Inference Systems - Soundness (Recap)
- An inference is sound if the conclusion of this inference is a logical consequence of its premises.
- An inference system is sound if every inference rule in this system is sound.
- is sound.
- Consequence of soundness:
- let be a set of clauses.
- If can be derived from in , then is unsatisfiable.
Can this be used for checking (un)satisfiability (Recap)
- What happens when the empty clause cannot be derived from ?
- How can one search for possible derivations of the empty clause?
- Completeness.
- Let be an unsatisfiable set of clauses.
- Then there exists a derivation of from in .
- Let be an unsatisfiable set of clauses.
- We have to formalize search for derivations.
We introduced well-behaved selection functions for selecting literals in clauses and applying inferences only over selected literals.
Binary resolution with selection is complete for every well-behaved selection function.
How to Establish Unsatisfiability?
Completeness is formulated in terms of derivability of the empty clause from a set of clauses in an inference system . However, this formulations gives no hint on how to search for such a derivation.
Idea:
- Take a set of clauses (the search space), initially . Repeatedly apply inferences in to clauses in and add their conclusions to , unless these conclusions are already in .
- If, at any stage, we obtain , we terminate and report unsatisfiability of .
How to Establish Satisfiability?
When can we report satisfiability? When we build a set such that any inference applied to clauses in is already a member of . Any such set of clauses is called saturated (with respect to ).
In first-order logic it is often the case that all saturated sets are infinite (due to undecidability), so in practice we can never build a saturated set.
The process of trying to build one is referred to as saturation.
Saturated Set of Clauses
Let be an inference system on formulas and be a set of formulas.
- is called saturated with respect to , or simply -saturated, if for every inference of with premises in , the conclusion of this inference also belongs to .
- The closure of with respect to , or simply -closure, is the smallest set containing and saturated with respect to .
Inference Process
Inference process: sequence of sets of formulas , denoted
is a step of this process.
We say that this step is an -step if:
- there exists an inference
in such that
- .
An -inference process is an inference process whose every step is an -step.
Property
- Let be an -inference process and a formula belongs to some .
- Then is derivable in from .
- In particular, every is a subset of the -closure of .
Limit of a Process
The limit of an inference process is the set of formulas .
In other words, the limit is the set of all derived formulas. We denote the limit by .
Suppose that we have an infinite inference process such that is unsatisfiable and we use the binary resolution inference system.
Question: does completeness imply that the limit of the process contains the empty clause?
Fairness
Let be an inference process with the limit . The process is called fair if for every -inference
if , then there exists such that .
Limit of a Fair Inference Process
Let be an fair inference process using a sound inference system .
Exercise: Show that the limit of is the -closure of .
Completeness, reformulated
Theorem Let be an inference system. The following conditions are equivalent.
- is complete.
- For every unsatisfiable set of formulas and any fair -inference process with the initial set ,
- the limit of this inference process contains .
Fair Saturation Algorithms: Inference Selection by Clause Selection
(Given-Clause Algorithm) children given clause candidate clauses search space
Saturation Algorithm
A saturation algorithm is an algorithm that tries to saturate a set of clauses with respect to a given inference system.
In theory there are three possible scenarios:
- At some moment the empty clause is generated, in this case the input set of clauses is unsatisfiable.
- Saturation will terminate without ever generating , in this case the input set of clauses in satisfiable.
- Saturation will run forever, but without generating . In this case the input set of clauses is satisfiable.
Saturation Algorithm in Practice
In practice there are three possible scenarios:
- At some moment the empty clause is generated, in this case the input set of clauses is unsatisfiable.
- Saturation will terminate without ever generating , in this case the input set of clauses in satisfiable.
- Saturation will run until we run out of resources, but without generating . In this case it is unknown whether the input set is unsatisfiable.
Saturation Algorithm
Even when we implement inference selection by clause selection, there are too many inferences, especially when the search space grows.
Solution: only apply inferences to the selected clause and the previously selected clauses.
Thus, the search space is divided in two parts:
- active clauses, that participate in inferences;
- passive clauses, that do not participate in inferences.
Observation: the set of passive clauses is usually considerably larger than the set of active clauses, often by 2-4 orders of magnitude (depending on the saturation algorithm and the problem).
Subsumption and Tautology Deletion
A clause is a propositional tautology if it is of the form , that is, it contains a pair of complementary literals.
There are also equational tautologies, for example:
A clause subsumes any clause , where is non-empty.
It was known since 1965 that subsumed clauses and propositional tautologies can be removed from the search space
Problem
- How can we prove that completeness is preserved if we remove subsumed clauses and tautologies from the search space?
- Solution: general theory of redundancy.