Deductive Reasoning in First-order Logic 203 other and with suitable unification pre-processing, for example to produce more specific optimization rules and techniques In particular, widely used additional optimizing techniques are based on special strategies for application of the Resolution rule that, instead of removing redundant clauses, prevent the generation of useless clauses For instance, the Set-of-support resolution strategy is based on the idea that some of the clauses are of higher importance and should be treated with priority That leads to the idea of designating a subset of the given clause set S as a support set T if its complement S \ T is known to be satisfiable, and to require that Resolution is only applied when at least one of the resolved clauses comes from T as there is no chance to produce the empty clause from within S \ T Other very successful strategies include Hyperresolution, used to reduce the number of intermediate resolvents by combining several resolution steps into a single inference step, and Linear Resolution, requiring always that one of the resolved clauses is the most recently derived resolvent, therefore organizing the deduction in a simple linear shape, which is easily and efficiently implementable All strategies mentioned above are logically sound and preserve the (refutation) completeness of the Resolution method A special version of the Linear Resolution strategy, called Selective Linear Definite Clause Resolution, or just SLD-resolution, is the derivation strategy of the logic programming language Prolog, briefly discussed in Section 5.4 There are also some practically very efficient but generally not completeness-preserving strategies, such as Unit Resolution, where one of the resolved clauses must always be a literal, and Input Resolution, where one of the resolved clauses is always selected from the set of clauses generated from the initial assumptions (axioms) Other important types of incomplete, yet practically efficient, strategies are the ordering strategies based on some partial ordering imposed on the predicate symbols, terms, literals, or clauses used in the deduction, based on various heuristics Ordered resolution treats clauses not as sets but as (ordered) lists of literals and chooses candidate clauses for resolving in a priority order according to these lists For more on practical applications of the method of Resolution, see Section 5.4 References for further reading For more technical details, discussions, and examples of first-order Resolution with unification, see Gallier (1986), Nerode and Shore (1993), Ebbginhaus et al (1996), Fitting (1996), Chang and Lee (1997), Barwise and Echemendy (1999), Robinson and Voronkov (2001), Hedman (2004), and Ben-Ari (2012) Exercises 4.5.1 Using the algorithm, compute a most general unifier (MGU) (if one exists) for the following pairs of literals: (a) P (f (x), g (y )), P (y, g (x)); and (b) P (x, f (y ), y ), P (f (y1 ), f (g (z )), g (a)) For each of the following exercises use first-order Resolution with unification 4.5.2 Prove the following logical validities and consequences