Set of Support, Demodulation, Paramodulation: A Historical Perspective

This article is a tribute to the scientific legacy of automated reasoning pioneer and JAR founder Lawrence T. (Larry) Wos. Larry’s main technical contributions were the set-of-support strategy for resolution theorem proving, and the demodulation and paramodulation inference rules for building equality into resolution. Starting from the original definitions of these concepts in Larry’s papers, this survey traces their evolution, unearthing the often forgotten trails that connect Larry’s original definitions to those that became standard in the field.


Introduction
Larry Wos broke new ground in the design of both fundamental components of a theoremproving strategy or proof procedure, namely the inference system and the search plan. His seminal contributions include the set-of-support strategy for resolution-based theorem proving [187], and the demodulation [188] and paramodulation [147] inference rules for equational reasoning. Each of them had a profound impact on theorem proving.
The idea of set of support was a primer in controlling resolution [149] with semantic knowledge (i.e., that a part of the problem is satisfiable), opening the way to semantic or semantically-guided, supported, and goal-sensitive strategies (e.g., [17,59,60,140,142,161,162]). The set-of-support strategy is also at the origin of the given-clause algorithm implemented first in Otter (e.g., [127,128]) and then in many theorem provers (e.g., [66,96,110,146,157,159,170,175,180]).
With demodulation, Larry Wos posed the problem of well-founded replacement of equals by equals in theorem proving. With the concept of paramodulation, he challenged the field with the Wos-Robinson conjecture on the refutational completeness of paramodulation without paramodulating into variables and without functionally reflexive axioms. The successful solution of these problems involved decades of research, leading to a merger of resolutionbased and completion-based [6-9, 54, 98, 101, 107] theorem proving that shaped the field of theorem proving for first-order logic with equality. The resulting inference systems combine resolution, paramodulation, superposition, well-founded demodulation, and subsumption (e.g., [10,99,133,154,155]). These inference systems have been called completion-based, rewrite-based, saturation-based, or ordering-based [45], given the key role played by wellfounded orderings on terms, literals, and clauses.
Larry was interested mainly in devising inference rules and search plans, and refining them through experiments with the Argonne provers. Accordingly, this survey focuses on the history of inference rules and search plans, and covers neither that of fundamental concepts in theorem proving, such as completeness, fairness, saturation, redundancy, and canonicity, nor that of completeness proof techniques, such as semantic trees, proof orderings, transfinite semantic trees, and rewrite models.
This article is organized as follows. Section 2 introduces the theorem-proving problem, reconstructing the state of the art prior to Larry Wos' work, and outlining some of his ideas about the properties that inference rules, search plans, and proofs ought to have. Sections 3, 4, and 5 are devoted to the set-of-support strategy, demodulation, and paramodulation, respectively. For each of them, the main phases of their evolution from Larry's time to their standardization are outlined, showing the impact of Larry's ideas. Section 6 discusses a selection of subsequent research directions whose origins can be connected to Larry's work.

Setting the Stage: Resolution-based Theorem Proving
The theorem-proving problem is about determining whether a formula ϕ is a logical consequence of a set of formulae H , written H | ? ϕ, or, equivalently, whether the formula H ⊃ ϕ is valid, written | ? H ⊃ ϕ. Mechanical theorem proving approaches this problem refutationally, by trying to determine whether H ∪ {¬ϕ} is unsatisfiable, and in clausal form, by turning H ∪ {¬ϕ} into an equisatisfiable set S of clauses. A clause is a disjunction of literals with variables implicitly universally quantified. A set of clauses is understood logically as their conjunction, where each clause has its own variables. A clause is a unit clause, if it contains exactly one literal; it is a positive clause, if all its literals are positive; it is a negative clause, if all its literals are negative; it is a Horn clause, if it contains at most one positive literal. An ordering is a binary relation that is irreflexive and transitive. A quasi-ordering is a binary relation that is reflexive and transitive. An ordering is well-founded, if it admits no infinite descending chain.

Expansion and Contraction Inference Rules
In the context of refutational clausal theorem proving, an inference system Γ is a collection of inference rules that transform sets of clauses. In resolution-based theorem proving the most important such rule is the binary resolution inference rule, that combines unification with resolving upon literals of opposite sign [149]. According to [36], the idea of propositional resolution appeared as early as 1937 [39], was rediscovered in 1955 [132], and applied to theorem proving in the Davis-Putnam procedure [70] as well as in another procedure [82]. The basic idea of unification already appeared in the work of Herbrand [95] and Prawitz [143]. Nonetheless, it was Alan Robinson who understood how to merge these two ideas in the resolution principle for first-order theorem proving [149]. Binary resolution generates from two clauses, termed parents, a new clause, termed binary resolvent, and adds it to the set: where L 1 and L 2 are the literals resolved upon that unify and have opposite sign, and C and D are disjunctions of literals. Here, and in the sequel, unifiers are most general unifiers, abbreviated mgu's. Binary resolution is accompanied by factoring, which generates from a clause, termed parent, a new clause, termed factor, and adds it to the set [149]: In the original presentation [149], binary resolution and factoring were integrated in the resolution inference rule, so that a resolvent of two clauses C and D is either a binary resolvent of C and D, or a binary resolvent of a factor of C and D, or a binary resolvent of C and a factor of D, or a binary resolvent of a factor of C and a factor of D [65]. Thus, factoring only needs to be applied to resolution parents. Larry Wos propounded considering binary resolution and factoring as distinct inference rules (e.g., [187]), so that binary resolution can be called simply resolution, as we will do from now on. If a parent is a unit clause, resolution is unit resolution, also a feature of the Davis-Putnam procedure [70]. Unit resolution is advantageous, because the resolvent is one literal shorter than the non-unit parent. In general, the resolvent inherits all the literals of its parents, except the two literals resolved upon, so that inferred clauses grow longer and longer, and hence more expensive to process. This well-known disadvantage of resolution was later studied as duplication by combination [138,141].
Resolution and factoring are expansion inference rules, as they fit in the expansion inference scheme: where S ⊂ S says that the existing set S of clauses is expanded by adding some clause. Symmetrically, contraction inference rules are rules that contract the set of clauses, because they delete clauses or replace them by smaller ones according to the contraction inference scheme: where S S tells that something has been deleted, and S ≺ mul S says that S is smaller than S in the multiset extension [77] of a well-founded ordering ≺ on clauses. The multiset extension of a well-founded ordering is also well-founded [77]. The double inference line [49] emphasizes the diversity of contraction with respect to the traditional notion of inference in logic (e.g., natural deduction). Contraction rules that only delete clauses are also called deletion rules, whereas contraction rules that delete clauses and replace them by smaller ones are also called replacement rules. Expansion rules and replacement rules together are called generative inference rules [57], because they are those that generate clauses.
Assuming T h(S) = {C : S | C}, a generative inference rule is sound, if S ⊆ T h(S): whatever is added is a logical consequence of what pre-existed. A contraction rule is adequate [49], if S ⊆ T h(S ): whatever is deleted is a logical consequence of what remains. Adequacy implies monotonicity [53]: a contraction rule is monotonic if T h(S) ⊆ T h(S ). Soundness and adequacy together imply T h(S) = T h(S ). An inference system Γ is sound and adequate if its rules are.
The contraction inference rules for resolution-based theorem proving that were known prior to Larry Wos' contributions are tautology deletion, purity deletion, and subsumption, all three deletion rules. Tautology deletion appeared in the Davis-Putnam procedure [70]: Purity deletion appeared first for propositional logic in the Davis-Putnam procedure [70], and, according to [36], in the procedure in [81]. It was generalized to first-order logic by integrating it with unification [149]: Subsumption also appeared in [149]: where σ is a matching substitution, ⊆ is the subset relation between clauses viewed as sets of literals, and |C| is the number of literals in clause C. The original definition [149] did not require that |C| ≤ |D|, because factoring was integrated into resolution. If resolution and factoring are treated as separate inference rules, either the |C| ≤ |D| condition must be added, or clauses must be treated as multisets of literals, in order to prevent a clause from subsuming its factors: where ⊆ is the subset relation between clauses viewed as multisets of literals. From now on, clauses are considered as multisets of literals. On the other hand, a factor can subsume its parent, and the combination of factoring and subsumption where a factor is generated and then it subsumes its parent, is known as condensation [105,127]. If C is a unit clause, subsumption is called unit subsumption. Subsumption and unit resolution can be combined into a replacement rule named Clausal Simplification [155]: where the resolvent C, produced by unit resolution of L 1 and L 2 ∨ C, subsumes its non-unit parent L 2 ∨ C, because σ is a matching substitution that does not instantiate the variables in the literals of C. Contraction inference rules use matching, whereas expansion inference rules use unification. When contraction is applied to delete or simplify a newly generated clause with respect to previously existing clauses, it is called forward contraction. When contraction is applied to delete or simplify previously existing clauses by a newly generated clause, it is called backward contraction. Showing his appreciation of the importance of contraction, Larry Wos wrote that subsumption should have been considered even more important than resolution among Alan Robinson's contributions [186].

Derivations and Refutational Completeness
Given input set S of clauses and inference system Γ , a derivation by Γ , or Γ -derivation, is a sequence of the form S 0 Γ S 1 Γ . . . S i Γ S i+1 Γ . . ., where S 0 = S, and ∀i, i ≥ 0, S i+1 is derived by applying to S i an inference rule of Γ . An inference system discovers that S is unsatisfiable, by showing that S is inconsistent, that is, by deriving from S a contradiction, represented in clausal form by the empty clause, denoted with . A derivation with input S is a refutation of S, if there exists a k, k ≥ 0, such that ∈ S k . An inference system Γ is refutationally complete, if for all unsatisfiable clause sets S given as input there exists at least a Γ -derivation that is a refutation of S. A derivation is characterized by the set S * = i≥0 S i of all input or generated clauses and the set S ∞ = j≥0 i≥ j S i of all persistent clauses. The latter set is called the limit of the derivation.
The inference system with resolution and factoring as expansion inference rules, and tautology deletion, purity deletion, subsumption, and clausal simplification as contraction inference rules, is sound and adequate, and it is refutationally complete [149], provided forward subsumption is applied before backward subsumption [53,111,120]. As remarked in [120], the reason for this proviso is that the subsumption ordering defined by C __ D if Cσ ⊆ D is not well-founded. More precisely, __ is not an ordering, it is a quasi-ordering, and the induced equivalence relation C .
= D if C __ D and D __ C admits equivalence classes of infinite cardinality. Thus, a derivation can generate an infinite series of equivalent clauses and an infinite series of subsumption steps that preempt the resolution steps leading to a contradiction. A solution is to restrict subsumption as follows (e.g., [155]): where the strict subsumption ordering , defined by C D if C __ D and D __ C, is wellfounded. However, this solution prevents the inference system from subsuming one out of two clauses C and D such that C . = D. Such clauses can be similar clauses or variants. They are similar [60], if Cσ ⊆ D and Dρ ⊆ C by substitutions σ and ρ that replace variables by variables, possibly replacing distinct variables by the same. They are variants, if they are equal up to variable renaming, that is, Cσ ⊆ D and Dρ ⊆ C by substitutions σ and ρ that are variable renamings, meaning that they replace variables by variables, without replacing distinct variables by the same. Similar clauses have factors that are variants.
Assume that all clauses in S * are given distinct increasing natural numbers as identifiers, as it happens in implementations. For clauses C and D such that C . = D, the solution is to take the lexicographic combination of and the ordering on the natural numbers and apply it to pairs (C, n), where n is the identifier of clause C. This ordering is well-founded, because a lexicographic combination of well-founded orderings is well-founded. Given pairs (C, n) and (D, m) such that C . = D, clause C subsumes D if n < m, that is, if C was generated before D. Applying forward subsumption before backward subsumption implements this concept.

Search Plans, Fairness, Strategies, and Proof Reconstruction
Given a set S of clauses and an inference system Γ , there is in general more than one way to apply rules in Γ to S. This means that Γ is nondeterministic, so that the Γ -derivation with input S is not unique. In order to obtain a deterministic procedure, Γ is coupled with a search plan Σ that chooses at each stage of the derivation which rule to apply to which clauses. A search plan Σ is fair for an inference system Γ , if for all input clause sets S, if there exist refutations of S by Γ , the Γ -derivation driven by Σ is a refutation of S.
A theorem-proving strategy, or proof procedure, is a pair P = Γ , Σ , where Γ is an inference system and Σ is a search plan. Given input set S of clauses, P generates the unique Γ -derivation driven by Σ. A theorem-proving strategy P = Γ , Σ is complete, if for all unsatisfiable input clause sets S the Γ -derivation generated by P is a refutation of S. Thus, if Γ is refutationally complete and Σ is fair, P = Γ , Σ is complete, and it is a semidecision procedure for validity in first-order logic.
As both S * and S ∞ contain many clauses that are unrelated to the generation of , when ∈ S k , the strategy reconstructs the generated proof in the form of the ancestor-graph [56] of , denoted Π( ). The reconstruction starts from and proceeds backward until it reaches input clauses, following the applications of generative rules, whereas applications of deletion rules do not appear in proofs. Since a clause may be used as premise more than once, Π(C) is a tree, if different nodes are allowed to have the same clause as label, it is a directed acyclic graph otherwise. The ancestor-graph Π(C) is defined for all C ∈ S * . If C is an input clause, Π(C) has one node labeled by C itself. If C is generated by a generative rule from premises D 1 , . . . , D n , the ancestor-graph Π(C) has root labeled C and subtrees Π(D 1 ), . . . , Π(D n ). Since every clause has its own variables, and variants are treated as distinct clauses, no clause is generated twice, and Π(C) is uniquely defined for all C ∈ S * .

The Theorem Proving Challenge
Theorem proving is a challenging problem, because it requires to balance contrasting requirements. The theorem-proving strategy should be complete, but also efficient in the use of time and memory, as Larry Wos emphasized in his seminal papers [147,187]. Thus, the inference system should be refutationally complete, while featuring powerful contraction rules to counter the combinatorial explosion of expansion inferences. The search plan should be fair, but not exhaustive as in a breadth-first search. Achieving simultaneously completeness and efficiency is so difficult in theorem proving, that not only in Larry Wos' time, but also nowadays, it is standard practice to establish completeness in theory, and then include incomplete strategies in implementations and experiments. Proving the refutational completeness of an inference system is crucial to understand it, while playing with incomplete strategies allows the experimenter to prove more theorems by machine and may give ideas for new, complete, and more efficient strategies.
For theorem-proving strategies, Larry Wos proposed sensitivity [187], later renamed goalsensitivity [141]. The transformation of a problem of the form H | ? ϕ into a problem of the form S ? Γ , where S is the clausal form of H ∪ {¬ϕ}, loses the information about the distinction between H and ϕ, information that may be useful for efficiency of the search. A strategy is goal-sensitive, if it generates only, or preferably, clauses C such that at least a leaf of Π(C) is labeled by a clause in the clausal form of ¬ϕ. Since being goal-sensitive may not be beneficial for all problems, a strategy ought to be flexible with respect to goal-sensitivity [60].
For inference rules, Larry Wos suggested immediacy, convergence, and generality [147]. The first two properties mean that the inference rule generates neither intermediate results nor their consequences, a requirement fulfilled by hyperinferences in Larry's time, as we shall see in the next section. The combined usage of most general unifiers in expansion inferences, and a well-founded subsumption ordering for subsumption, fulfilled Larry's notion of generality, in the sense of avoiding reasoning with instances when it is possible to reason with more general clauses.
For proofs, Larry Wos stressed brevity and naturalness [147,186,187]. The quest for shorter proofs was a main driver of Larry's experimental work with Otter, as described in another article of this issue [25]. Naturalness means that the mechanical proof ought to resemble a human proof. Although this is a recurring concern in the theorem proving literature (e.g., [151]), the development of automated theorem proving has rather led to the discovery of forms of mechanical reasoning that are different from human reasoning.
Larry Wos designed the set-of-support strategy [187], the demodulation inference rule [188], and the paramodulation inference rule [147], to begin addressing some of these issues. The following subsections present his ideas, connecting them with the research that followed.

The Set of Support Strategy
The set-of-support strategy was motivated by the objective of reducing irrelevant inferences [187] as advocated also in [67]. Larry Wos did not define formally in [187] the notion of irrelevant inference, but most likely he meant inferences that do not appear in any proofs.
The set-of-support strategy was inspired by theorem-proving problems H | ? ϕ where H contains the axioms of a mathematical theory. Indeed, mathematics was Larry's preferred field of application for theorem proving. Since H is known to be satisfiable, generating logical consequences of H alone cannot lead to the discovery of a contradiction. Therefore, the idea of the set-of-support strategy is to forbid resolution inferences where both parents are in the clausal form of H . While the original description and completeness proof of the set-ofsupport strategy [187] were given for resolution and factoring only, in the next section the set-of-support strategy is presented for an inference system including the contraction rules encountered thus far, that are known to preserve the refutational completeness of resolution.

The Set of Support Strategy with Contraction
Given the input set S of clauses, obtained by transforming H ∪ {¬ϕ} into clausal form, the set-of-support strategy partitions S into the set A of the clauses in the clausal form of H , and the set SOS (acronym of set of support) of the clauses in the clausal form of ¬ϕ. Therefore, one can write S = A SOS, where denotes the union of disjoint sets, or A = S \ SOS, where \ denotes subtraction between sets. If H is satisfiable, hence consistent, so is A. If ϕ is an implication ψ 1 ⊃ ψ 2 , so that ¬ϕ is ψ 1 ∧ ¬ψ 2 , one can also put in SOS only the clauses in the clausal form of ¬ψ 2 , leaving in A the clauses in the clausal form of H ∪ {ψ 1 }, provided the resulting A is consistent [188]. Then, only resolution steps with at most one parent from the complement of the set of support are allowed, so that the set-of-support strategy is goal-sensitive. All resolvents are added to the set of support, leading to derivations of the form: -Add a factor of a clause in A i ; -Delete a clause in A i by tautology deletion or by purity deletion with respect to A i SOS i ; -Subsume a clause in A i by a clause in A i SOS i ; -Apply clausal simplification to simplify a clause in A i by a clause in A i putting the simplified clause in A i+1 .
For the second component, in one of the following ways: -Add a resolvent of a clause in A i and a clause in SOS i ; -Add a resolvent of two clauses in SOS i ; -Add a factor of a clause in SOS i ; -Delete a clause in SOS i by tautology deletion or by purity deletion with respect to A i SOS i ; -Subsume a clause in SOS i by a clause in A i SOS i ; -Apply clausal simplification to simplify a clause in SOS i by a clause in S i putting the simplified clause in SOS i+1 ; -Apply clausal simplification to simplify a clause in A i by a clause in SOS i putting the simplified clause in SOS i+1 .
Clauses in i≥0 SOS i are said to be supported, and a resolution inference is supported if at least a parent is. In the original presentation of the set-of-support strategy [187], all the factors of clauses in A are added to A 0 in a pre-processing step, so that ∀i, i ≥ 0, A i = A 0 , and only the set of support is expanded. Adding contraction while preserving the completeness of the set-of-support strategy requires to distinguish between deletion rules and replacement rules. The addition of a deletion rule is unproblematic: at any stage of the derivation a clause in either the set of support or its complement can be deleted by the deletion rule. Since a replacement rule is a generative rule, it can be added to the set-of-support strategy only in a way that preserves the consistency of the complement of the set of support: for clausal simplification this means that when applying L 1 to simplify L 2 ∨ C to C, the new clause C can be placed in A i+1 only if both L 1 and L 2 ∨ C are in A i , and must be placed in SOS i+1 otherwise [55]. Larry Wos suggested two incomplete refinements of the set-of-support strategy [187]: one is based on a level bound and it forbids generating clause C if the depth of Π(C) is higher than the bound; the other one is based on a literal bound and it forbids generating clause C if |C| is higher than the bound.

Other Supported Strategies
Other supported strategies [45,140,141] can be obtained by giving different definitions of the initial set of support SOS. In resolution with forward support SOS contains the positive input clauses. Thus, A contains the non-positive input clauses and it is satisfied by the allnegative interpretation I − that satisfies all negative literals. In resolution with backward support SOS contains the negative input clauses. Thus, A contains the non-negative input clauses and it is satisfied by the all-positive interpretation I + that satisfies all positive literals. In resolution with user support SOS contains any subset of S chosen by the user, provided that its complement A is satisfiable. Larry Wos' set-of-support strategy is an instance of resolution with user support.
Supported strategies where the initial set of support is defined based on sign are related to sign-based refinements of resolution. Positive resolution, also known as the P1-strategy [99,148] or P1-deduction [141], requires that every resolution step has a positive parent. Negative resolution, also known as all-negative-resolution [141], requires that every resolution step has a negative parent. Positive resolution is more restrictive than resolution with forward support, because the latter also allows resolutions between generated non-positive parents, as long as at least one of them is supported. The same holds for negative resolution and resolution with backward support, except in the special case of Horn clauses, because a resolution between a negative clause and a non-negative Horn clause generates a negative clause, so that only negative clauses are supported.

Semantic Strategies and Hyperinferences
The concept of not expanding a satisfiable subset of the set of clauses connects the set-ofsupport strategy with semantic resolution [161]. Semantic resolution restricts resolution by assuming a fixed interpretation I for semantic guidance. The input set S is partitioned into the subset A = {C : I | C} of clauses satisfied by I, and its complement SOS = S \ A, called SOS by analogy with the set-of-support strategy. However, semantic resolution moves the restriction from the parents (i.e., at most one from A) to the resolvent, by requiring that no resolvent C such that I | C is generated. Given a clause N = L 1 ∨ . . . ∨ L k ∨ C, termed nucleus, and k clauses provided that I | R. Since it embeds multiple resolution steps, semantic resolution is a hyperinference, and it fulfills Larry's desiderata of immediacy and convergence [147], because the intermediate resolvents are not generated. Hyperresolution [148] is an instance of semantic resolution. If I is I − , semantic resolution yields positive hyperresolution that resolves away all negative literals in the nucleus with positive satellites to generate a positive hyperresolvent.
If I is I + , semantic resolution yields negative hyperresolution that resolves away all positive literals in the nucleus with negative satellites to generate a negative hyperresolvent. Resolution with set of support [187] does not work by hyperinferences, but it fits in the paradigm of semantic resolution, assuming an ad hoc interpretation I such that I | A and I | SOS. Larry Wos recognized that semantic resolution is more restrictive than resolution with set of support, and that completeness of the latter can be derived from completeness of the former [188], but he was mostly concerned with the risk that neither hyperresolution nor resolution with set of support suffice in practice [188]. He was interested in enlarging what he called the unit sections [188] of a derivation, that is, the stretches of a derivation where the resolution steps are unit resolution steps. He had already proposed the unit-preference strategy [184], where unit resolution steps have priority over other resolution steps. The next move was to devise an inference rule to generate unit clauses. To this end, Larry Wos applied the hyperinference concept towards a syntactic property (i.e., being a unit clause) rather than a semantic one. The result was unit-resulting resolution [125,188], or UR resolution for short. UR resolution is a hyperinference geared to generate unit clauses. Given a nucleus N = L 1 ∨ . . . ∨ L k ∨ L k+1 with k + 1 literals, and k unit satellites M 1 , . . . , M k (k ≥ 1), UR resolution generates a unit resolvent: If literal L k+1 is allowed to be absent, UR resolution is allowed to generate . This inference rule appears at the bottom of page 702 and is the main object of the first definition on page 703 of [188]. The name unit-resulting resolution appeared only much later [125], leading to the erroneous belief (e.g., [36]) that UR resolution appeared for the first time in [125]. In reality, and not surprisingly, UR resolution appeared in the same "milieu" of hyperresolution. This is testified also by the footnote on page 702 of [188], which relates the concept of UR resolution to that of clash in [150]. The term "clash" refers to the simultaneous resolution of multiple literals as in hyperresolution and semantic resolution (e.g., it is used systematically to present hyperinference rules in [65]). According to [36], UR resolution was invented independently by Gerd Veenker in his PhD thesis in 1966, and published the following year [173], the same year as [188]. While the main contribution of Veenker's thesis was a complete procedure that can be considered an early forerunner of connection-based methods [4,33,34], Veenker also proposed a strategy, that he called the NEU strategy, combining unit resolution and UR resolution as in Wos' work [188]. An inference system including only unit resolution and UR resolution is incomplete, something that was well-known to both Wos and Veenker. Nonetheless, UR resolution is widely adopted as a useful enhancement, because it accelerates the generation of unit clauses that trigger in turn unit subsumption inferences that eliminate clauses and unit resolution inferences that generate shorter resolvents.

The Given-Clause Algorithm
The set-of-support strategy is also at the origin of the main algorithm inside most resolutionbased theorem provers, up to those that represent the state of the art today (e.g., the E prover [157,159], Spass [180], Vampire [110,146], Waldmeister [96], Zipperposition [66], and GKC [170]). The reason is that the set-of-support strategy was built into the Argonne's provers AURA, LMA/ITP [122], and Otter [127,128], and Otter's main algorithm, called the given-clause algorithm, inspired most subsequent developers.
The given-clause algorithm maintains two lists of clauses, originally named axioms and sos. If axioms and sos are initialized with the clauses in A and SOS, respectively, the given-clause algorithm implements the set-of-support strategy, and it satisfies the invariant that no expansion inference whose premises are all in the initial axioms will ever be performed. If axioms is initialized to be empty, and sos is initialized to contain all input clauses, the given-clause algorithm performs all possible inferences, and it satisfies the above invariant vacuously. Thus, the connection between the given-clause algorithm and the set-ofsupport strategy was weakened by renaming axioms as usable in Otter and its successor Prover9 [126].
The given-clause algorithm executes a loop, exiting when either a proof is found, or sos becomes empty, which means that the input set of clauses is satisfiable, or the prover hits a predefined threshold of time or memory. At every iteration, the prover selects from sos a clause, termed the given clause, moves it from sos to usable, and performs all applicable expansion inferences having as premises the given clause and clauses in usable. The fact that the given clause moves from sos to usable means that even if usable and sos initially contain the clauses in A and SOS, respectively, the given-clause algorithm does not maintain the invariant that the clauses in sos are supported and those in usable are not supported, another reason for departing from the names axioms and sos.
If the given clause is the best clause according to some heuristic evaluation function, the given-clause algorithm performs a best-first search. For example, the notion of weight of a clause, defined as the sum of the user-defined weights of the symbols occuring in the clause, was introduced for this purpose in Otter [127,128]. Another feature of Otter that became a fixture of the given-clause algorithm in most provers (e.g., [160]) is the pick-given-ratio parameter, which allows the strategy to mix best-first and breadthfirst search. If the value of this parameter is k, the given-clause algorithm picks as given clause the oldest rather than the best clause once every k + 1 choices. The description of the given-clause algorithm will be extended to include contraction after introducing demodulation.

The Demodulation Inference Rule
Larry Wos was very interested in applying theorem proving to mathematics, and since the vast majority of such problems involves equality, he proposed demodulation [188] as a contraction inference rule to replace equals by equals.

The Original Definition of Demodulation
Given an equality unit clause, or equation, l r , and a clause C[lσ ] containing as subterm an instance lσ of the side l of l r , Larry Wos called C[r σ ] an immediate modulant of [188]. Then a k-modulant, for k > 0, is the result of k such replacement steps, and a modulant is any k-modulant [188]. As a clause has infinitely many modulants in general, but only finitely many k-modulants for a fixed k, Larry Wos defined k-modulation as the generation of a resolvent of parents C k and D k , where C k and D k are k-modulants of clauses C and D [188]. However, Larry Wos also defined demodulation as replacement by a modulant, where each immediate modulant has strictly fewer symbols than its predecessor, and the final modulant has no immediate modulant with fewer symbols [188]. Thus, we can formalize his rule as follows: where l r is called demodulant, C is the number of symbols in C, and demodulation is defined as performing only one equational replacement step, according to the standard style for replacement rules. Subsequently, and especially in implementations, the name demodulator was also used in place of demodulant. However, the intended notion of number of symbols was not made explicit. If a term is viewed as a string also parentheses contribute to the symbol count, whereas they do not if a term is viewed as a tree. Also, number of symbols is ambiguous with respect to how to count repeated occurrences of the same symbol.
The size of an atom is the number of occurrences of predicate, function, constant, and variable symbols. For example, P( f (a), g(a)) = 5. Assume that the number of symbols in a clause is defined as the sum of the sizes of the atoms that occur in the clause. Then, the ordering whereby C is smaller than D if C < D is well-founded. The ordering based on size was implemented in Otter, and remained available alongside with more sophisticated orderings such as recursive path orderings [74] and Knuth-Bendix orderings [107] that were introduced later (cf. Sect. 4.2). Since there are infinitely many variants of a clause and they all have the same size, variants have to be eliminated by subsumption (cf. Sect. 2.2). Indeed, theorem provers such as Otter apply subsumption before demodulation, so that if two clauses are variants, one is deleted by subsumption.
Nonetheless, the size-based ordering does not allow the system to apply as demodulants many equations that it would be useful to apply, because the two sides of the equation have the same number of symbols. Also, this ordering may not allow the system to apply an equation in the desired direction. For example, x * (y + z) = 5 and x * y + x * z = 7, so that the distributivity law x * (y + z) x * y + x * z would be applied from right to left.
In summary, Larry Wos' definition of demodulation is well-founded, but the problem of well-founded demodulation, in the sense of finding more and better well-founded orderings to enable the demodulation of clauses, remained open.

Well-Founded Demodulation by Rewrite Rules
The discovery of a solution to the problem of well-founded demodulation was advanced significantly in the context of the Knuth-Bendix completion procedure [101,107]. This procedure works with rewrite rules, where a rewrite rule is an equation l r that is written l → r because l r in a well-founded ordering on terms. A rewrite rule reduces or rewrites a term t[lσ ] u to t[r σ ] u , where σ is a substitution, the notation t[lσ ] u means that lσ occurs as a subterm in t at position u, and t[r σ ] u is the term obtained by replacing the occurrence of lσ at position u with r σ . Positions are strings of natural numbers: if terms are viewed as trees and arcs are labeled with natural numbers, every subterm has a position defined as the string of natural numbers from the root to the subterm. From now on positions are omitted for simplicity.
Knuth and Bendix defined a well-founded ordering on terms, called since then the Knuth-Bendix ordering or KBO for short [107,121,124]. A KBO orders terms based on a precedence and a weighting function. A precedence is an ordering on symbols that may be partial or total. A weighting function assigns non-negative weights to symbols. Since the definition is parametric with respect to precedence and weighting function, it defines a family of orderings.
A KBO is a reduction ordering, meaning that it is well-founded, stable (t u implies tσ uσ for all substitutions σ ), and monotonic (t u implies c[t] c [u] for all contexts c, where a context is a term with a hole). Another reduction ordering is the recursive path ordering [74], or RPO for short, that orders terms based on a precedence and a status (either multiset [74] or lexicographic [106]) of every symbol. If the status is lexicographic for all symbols, the ordering is called lexicographic path ordering, or LPO for short. Here too, since the definitions are parametric with respect to precedence and status, one gets families of orderings. The interested reader may find more information about orderings in surveys on rewriting [75,76,78]. Since weights are non-negative, KBO's correlate well with size, and therefore incorporate the intuition in Larry Wos' definition of demodulation, whereby clauses are made simpler by reducing the number of symbols.
The Knuth-Bendix completion procedure was formalized as an inference system [6][7][8] that transforms pairs (E; R), where E is a set of equations, and R is a set of rewrite rules, such that for all rules l → r ∈ R it holds that l r in a given reduction ordering on terms. The inference rules of completion are seen as transforming the equational proofs of the theorems in T h(E ∪ R) with respect to a proof ordering, that is, a stable, monotonic (with respect to replacement of subproofs), and well-founded ordering > on proofs [6][7][8]49]. A key property of completion is that the inference rules are proof-reducing [54] or good [49]: an inference rule deriving (E ; R ) from (E; R) is good, if for all theorems s t ∈ T h(E ∪ R) and for all proofs π of s t in E ∪ R there exists a proof π of s t in E ∪ R such that π ≥ π .
Since the state of the derivation is a pair (E; R), there are three contraction inference rules that realize well-founded demodulation by reducing a side of an equation or a side of a rewrite rule. Simplify reduces a side of an equation: where is symmetric. Compose reduces the right-hand side of a rewrite rule, so that another rewrite rule is produced: Collapse reduces the left-hand side of a rewrite rule, so that an equation is produced: where · is the strict encompassment ordering on terms. If an equation in E has the form s s, the Delete inference rule removes it. If an equation p q in E is such that p q, the Orient inference rule removes p q from E and adds p → q to R.
The encompassment ordering is obtained by combining the subterm ordering and the subsumption ordering on terms. The subterm ordering is defined by t s if s = c[t] for some context c. The subsumption ordering on terms is defined by s __ t if t = sϑ for some substitution ϑ. Terms s and t are variants, written s . = t, if s __ t and t __ s. The encompassment ordering is defined by t · s if t = c[sϑ] for some context c and substitution ϑ. The strict encompassment ordering is defined by t · s if t · s and s · t, that is, t = c [sϑ] where either the context c is not empty or the substitution ϑ is not a variable renaming.
The purpose of the strict encompassment condition of the Collapse inference rule is to prevent l → r from reducing p[lσ ] if l and p[lσ ] are variants. The reason is that such a step is not good (in the above sense of proof-reducing) [6][7][8]. In the Knuth-Bendix procedure the co-existence of two rewrite rules whose left-hand sides are variants is avoided by giving Simplification higher priority than Orient. If p q and l r are two equations such that p q, l r , and p . = l, one of them, say p q, gets oriented first into p → q, so that p → q simplifies l r to q r before l r may get oriented into l → r .
If an equation in E can be neither simplified, nor deleted, nor oriented, the procedure fails. Thus, Knuth-Bendix completion provided only a partial solution to the problem of well-founded demodulation.

Well-Founded Demodulation by Equations
Knuth-Bendix completion solved the problem of well-founded demodulation at the price of considering as demodulants only those equations that can be oriented into rewrite rules by the adopted ordering. This limitation was removed with the inception of unfailing [98] or ordered [6,7,9] completion, henceforth completion for short. Completion allows the inference system to use equations as demodulants provided the applied instance is oriented by the ordering.
Completion is a theorem-proving strategy for problems of the form E | ? ∀x.s t, where E is a set of equations, the presentation of an equational theory, andx is the vector of all variables in s t [9,42,52,54,98,101]. The negation of the conjecture yieldŝ s t, whereŝ andt are s and t, respectively, with all the variables inx replaced by Skolem constants. The given ordering on terms is assumed to be a reduction ordering [6,7,9], or a complete simplification ordering (CSO) [98]. A simplification ordering is stable, monotonic, and with the subterm property, which means that it includes the strict subterm ordering (i.e., p l implies p l). A simplification ordering is well-founded [74], hence it is a reduction ordering. A complete simplification ordering is also total on ground terms. KBO's, RPO's, and LPO's are simplification orderings. KBO's and LPO's are CSO's if the precedence is total, but not all RPO's are CSO's [10].
As it is no longer necessary to separate equations and rewrite rules, and completion is seen as theorem proving, the inference system can be written [42,52,54] as transforming pairs (E;ŝ t), whereŝ t is called the target. The inference rules of completion are good [49] or proof-reducing [42,54] with respect to all ground theorems, which is enough for theorem proving, since the target is ground. The objective of the derivation is to reduceŝ andt to a common form so as to discover a contradiction with x x, the clausal form of the reflexivity axiom for equality. Accordingly, one can distinguish between Simplification of the target:  f (e, y) y is allowed as h(x) x; simplifying f (e, y) y by f (e, x) h(x) is not allowed as y h(y).
The next challenge was to generalize simplification to clauses, as intended in Larry Wos' definition of demodulation, while preserving as much as possible the behavior of simplification in completion. This requires to extend the ordering beyond terms. A step in this direction was achieved with the inference system in [155]. This system assumes that the ordering is a CSO on terms and atoms that satisfies two additional properties. First, for all terms l, r , p, and q, such that l r , and for all atoms A, (i) if l A and the predicate symbol of A is not , then (l r ) ≺ A; and (ii) if l p or l q, then (l r ) ≺ ( p q). Second, for all ground terms l, r , and s, and for all ground atoms A, if l r , l s, and (l r ) ≺ A ≺ (l s), then A has the form l t for some ground term t.
This definition is illustrated in [155] with a predicate-first extension of a CSO on terms to atoms. It assumes a total precedence on predicate symbols such that is the smallest predicate symbol. Then, P(s 1 , . . . , s m ) ≺ Q(t 1 , . . . , t n ) holds if P is smaller than Q in the precedence, or P = Q = and (s 1 , . . . , s m ) ≺ lex (t 1 , . . . , t n ), or P = Q = and (s 1 , s 2 ) ≺ mul (t 1 , t 2 ), where ≺ lex and ≺ mul are the lexicographc and multiset extensions of ≺, respectively.
The inference system in [155] includes a simplification inference rule that allows a simplifier l r to simplify a clause C[lσ ] to C[r σ ], if lσ r σ and C[lσ ] contains an atom A such that A (lσ r σ ). While the simplification rule of [155] allows some simplification, it does not preserve the behavior of simplification in completion.

Example 2 Given equations
, and precedence f > g > h > k > b, the Simplification rule of completion allows equation (1) to simplify the target to g(h(b)) k(b), with matching Another step by the same simplification rule applies equation (h(y)). On the other hand, the simplification rule of [155] cannot perform these steps, and hence cannot yield a refutation by simplification. For example, for the first The footnote on page 2 of [10] says 1 that the method of [155] "does discuss simplification to some extent, but for practical purposes his simplification tecniques are inadequate even for the very simplest case -completion of sets of universally quantified equations." The issue is the generalization of the ordering beyond terms. The inference system of the superposition calculus [10]-henceforth SP-offered a solution with a systematic way to extend a reduction ordering on terms to atoms, literals, and clauses. The reduction ordering is assumed to be complete or completable, which means it is included in a complete ordering. All RPO's are completable [10]. The first step is to treat non-equational literals as equational literals by treating non-equational atoms like terms, and reading a positive literal L as L and a negative literal ¬L as L , where is a new symbol such that t for all terms t. The second step is to extend the ordering on terms to literals. This can be done in one of two ways. One way is to treat an equation p q as the multiset { p, q}, a negated equation p q as the multiset { p, p, q, q}, and compare literals in the multiset extension of the ordering on terms. The other one is to treat an equation p q as the multiset of multisets {{ p}, {q}}, a negated equation p q as the multiset of multisets {{ p, ⊥}, {q, ⊥}}, where ⊥ is a new symbol such that t ⊥ for all terms t, and compare literals by taking twice the multiset extension of the ordering on terms. The third step is to extend the ordering on literals to clauses by taking once more the multiset extension.
Simplification appears in SP as an instance of an inference rule called contextual reductive rewriting [10]. If the simplifier is a unit equational clause, contextual reductive rewriting yields the following rule: The second side condition requires that the applied instance of the simplifier is smaller than the clause it simplifies. This condition is only superficially similar to the one of the simplification rule in [155] as the difference is in the ordering.

Example 3 Consider the problem in Example 2. The simplification rule of SP allows both simplification steps, because { f (h(b)), f (h(b)), k(b), k(b)} mul { f (h(b)), g(h(b))} holds for the first step, and {g(h(b)), g(h(b)), k(b), k(b)} mul {g(h(b)), k(b)} holds for the second step.
However, Simplification of SP and Simplification of completion do not behave in general in the same way in the purely equational case.  ., f (b)) even if the right-hand side of the simplifier (i.e., b) is larger than the right-hand side of the rewrite rule to be simplified (i.e., c).

Example 4 If b c, both the Collapse rule of Knuth-Bendix completion and the Simplification rule of completion allow
It is also interesting to see how simplification is implemented. For instance, the E prover [157] distinguishes between Simplification of negative literals and Simplification of positive literals. The former is  Larry Wos' intuition of demodulation as comprising multiple steps, until no further step can be applied, was captured in the context of completion and rewriting with the notion of normalization, or reduction to normal form. A clause C is in normal form with respect to a set S of clauses, if no unit equational clause in S can simplify it; equivalently, C is irreducible with respect to S, or S-irreducible. The normal form of C with respect to S is denoted

Demodulation and the Given-Clause Algorithm
Larry Wos was interested in the application of demodulation in the context of the setof-support strategy [188], which leads to the more general issue of the application of demodulation in the given-clause algorithm. The goal is to ensure that the given-clause algorithm implements an eager-contraction search plan, namely one where contraction has priority over expansion (e.g., [56]). In other words, the objective is to prevent a clause that can be deleted or replaced from playing the role of parent in an expansion inference.
In the given-clause algorithm, when a new clause C is generated by expansion, C is subject to forward contraction, that is, contraction with respect to a set S of already existing clauses. The prover tries first the deletion rules. Thus, C may be deleted by tautology deletion, or by purity deletion, or by subsumption by a clause in S (forward subsumption), or because it is a unit equational clause s s.
If clause C survives these tests, the prover tries the replacement rules. Thus, C may be simplified by clausal simplification by a clause in S, or reduced to C ↓ S by demodulation with the demodulants in S. Let C ↓ S represent the final result of the application of all applicable replacement rules. If C, and hence C ↓ S , is an equation, the test to determine whether it can be oriented is applied to C ↓ S . Thus, the implementation of contraction respects the requirement from completion of orienting equations only after their sides have been normalized (cf. Sect. 4.2).
Only at this stage clause C ↓ S gets an identifier and is appended to the sos list. Therefore, forward contraction is part of the generation of a new clause. Indeed, in Otter this phase is called preprocessing of a clause. Also the test for the generation of the empty clause happens during preprocessing: if C ↓ S is a unit clause the prover tests whether it generates the empty clause with a unit clause in usable or sos. This is because one wants to get the empty clause as soon as possible. Thus, the test for a contradiction is applied as soon as a unit clause is generated, without waiting until it is selected as given clause.
For backward contraction the prover tests whether C ↓ S can contract a previously existing clause D ∈ S. In Otter this phase is called post-processing of a clause. For all D ∈ S for which this is the case, D is treated like if it were a newly generated clause, and subjected to forward contraction as described above. The resulting D ↓ S gets a new identifier and is appended to the sos list. Thus, a clause generated by backward contraction is treated as a clause generated by expansion.
There are two versions of the given-clause algorithm, named from the Otter prover [127,128] and the E prover [73,[157][158][159], respectively. The two versions differ primarily in the implementation of backward contraction. In both versions the set S of clauses in the above description of forward contraction is given by usable ∪ sos, meaning the union of the set of clauses in usable and the set of clauses in sos. On the other hand, the set S of clauses in the above description of backward contraction is usable ∪ sos in the Otter version, whereas it is usable in the E version.
The Otter version of the given-clause algorithm aims at maintaining the set usable ∪ sos inter-reduced or, more generally, contracted [49]. Suppose that the expansion inferences between a given clause C and the clauses in usable generate a bunch of new clauses, each of whom is subjected to forward contraction as described above, so that clauses C 0 , . . . , C k get appended to sos. In the Otter version, the prover tests whether C i , for all i, 0 ≤ i ≤ k, can backward-contract any clause in usable ∪ sos. Suppose that for all i, 0 ≤ i ≤ k, backward-contraction by C i appends clauses D i 0 , . . . , D i n i to sos. Then, for all i, 0 ≤ i ≤ k, for all j, 0 ≤ j ≤ n i , the prover tests whether D j can backward-contract any clause in usable ∪ sos. The process continues until no more contraction applies. ( f (y)) c, and Otter derives g(z) z by some inference and appends it to sos as (3) g(z) z. Otter applies , removes (1), and appends (4) f (x) b to sos. Then Otter applies (4) to back-demodulate (2) to h(b) c, removes (2), and appends (5) h(b) c to sos.
The E version of the given-clause algorithm aims at maintaining usable contracted. The prover tests whether a clause C can backward-contract any clause in usable only when C is selected as given clause and moved from sos to usable. As usable may have changed since the time when C was subjected to forward contraction, the prover first applies the clauses in usable to contract C, and then applies C to contract the clauses in usable, before trying the expansion inferences between C and clauses in usable. If a clause in usable is removed by backward contraction, its descendants in sos are deleted as orphans. Except for orphan deletion, all backward contraction happens in usable. The rationale is that maintaining usable contracted is good enough, because the premises of expansion inferences come from usable.

Example 6
Given the initial situation as in Example 5, E applies no backward demodulation in sos. Suppose that E selects (3) g(z) z as given clause before (1) and (2). Thus, (3) moves from sos to usable. E applies (3) to back-demodulate (1) f (g(x)) b only when (1) is selected as given clause and joins (3) in usable. As a result, E deletes (1) and appends (4) f (x) b to sos. Suppose that E selects (4) as given clause before (2), so that (4) moves from sos to usable. E applies (4) to back-demodulate (2) h( f (y)) c only when (2) is selected as given clause and joins (4) in usable. As a result, E deletes (2) and appends (5) h(b) c to sos. If E selects (2) as given clause before (4), E applies (4) to back-demodulate (2) only when (4) is selected as given clause and joins (2) in usable. As a result, E deletes (2), appends (5) h(b) c to sos, and deletes any orphan of (2) in sos.
In the E version of the given-clause algorithm the lists usable and sos were renamed active and passive, respectively. The E version was born primarily from a concern that the cost of backward contraction as in the Otter version could outweight its benefits. For example, it may happen that the prover spends a lot of time doing backward contraction, when it would be more beneficial to go ahead with expansion, because an expansion inference with the next given clause would generate a unit clause that yields the contradiction. On the other hand, the delay in backward contraction in the E version may cause the passive list to grow too much, reaching a memory limit, or it may delay finding a proof. For example, it may happen that the prover goes ahead to do more expansion, postponing backward demodulation steps in sos that would generate a unit clause that yields the contradiction.
In practice, most clauses that get deleted are deleted by forward contraction. Then, expansion and backward demodulation can be seen as two ways to generate clauses that need to be balanced. One could say that the Otter version leans toward prioritizing backward demodulation and the E version leans toward prioritizing expansion. There is no conclusive evidence that one is better than the other in general. Most theorem provers feature both versions of the given-clause algorithm, because one pays off on some problems and the other on others.

The Paramodulation Inference Rule
Adding demodulation to resolution does not suffice for refutational completeness in firstorder logic with equality. Larry Wos started the research on paramodulation [147], precisely to complement resolution and demodulation with an expansion inference rule for equality that would yield a refutationally complete inference system for first-order logic with equality. This quest turned out to be one of the most fascinating in the history of automated theorem proving.

The Original Definition of Paramodulation
Prior to the inception of paramodulation, the only way to reason about equality in resolutionbased theorem proving was to add to the input set the clausal form of the axioms of equality: for all function symbols f and predicate symbols P of arity n, wherex andȳ stand for x 1 , . . . , x n and y 1 , . . . , y n , respectively. It soon emerged that these axioms are so general that their presence causes resolution to generate so many clauses that the efficiency of the inference system is unbearably compromised in most cases. Thus, George A. Robinson and Larry Wos introduced paramodulation [147] as a generalization of resolution with equality built-in: where is regarded as symmetric, σ is the mgu of a side l of the equation l r and a subterm t of a literal M in a clause M[t] ∨ D, and C and D are disjunctions of literals. Clause l r ∨ C is called the clause paramodulated from, or para-from clause for short, and l r is the literal paramodulated from, or para-from literal for short. Clause M[t] ∨ D is called the clause paramodulated into, or para-into clause for short, and M[t] is the literal paramodulated into, or para-into literal for short. The generated clause While the appearance of paramodulation represented a breakthrough, a proof of refutational completeness could be obtained only under the assumption that the input set includes not only x x, but also the functionally reflexive axioms, that is, the instances of reflexivity of the form f (x) f (x), for all function symbols f . Furthermore, the original paramodulation inference rule is very prolific, because the term t paramodulated into can be a variable, which unifies with any term. However, paramodulation into variables could not be excluded, because it was necessary to prove a paramodulation lifting lemma [147] analogous to the lifting lemma used in the proof of completeness of resolution [65,149]. In order to show that to every paramodulation between ground instances of clauses corresponds a paramodulation between the general clauses themselves, paramodulation into variables was needed, because the ground term paramodulated into could be the instance of a variable. The conjecture that paramodulation is refutationally complete without the functionally reflexive axioms and without paramodulating into variables became known as the Wos-Robinson conjecture.
A first step towards settling the Wos-Robinson conjecture was represented by the modification method [61]. This method consists of pre-processing the input set of clauses with respect to the equality axioms (the "modification" in the name), and then applying resolution and factoring to the modified set of clauses, without including axioms other than x x. The completeness of resolution, factoring, and paramodulation without functionally reflexive axioms follows via a simulation argument, provided some paramodulations into variables are allowed. The Wos-Robinson conjecture was still considered open, because a direct proof of the refutational completeness of resolution, factoring, and paramodulation, without functionally reflexive axioms, and with no paramodulation into variables, was not given. Another challenge that remained open was to prove refutational completeness in the presence of demodulation and other contraction inference rules.

Superposition Between Rewrite Rules or Equations
Unaware of paramodulation, 3 Knuth and Bendix coined the name superposition for a related inference rule, which is the main mechanism of the Knuth-Bendix completion procedure [101,107]. In the formalization of completion as an inference system [6][7][8], derivation states have the form (E; R), where E is a set of equations, and R is a set of rewrite rules oriented by a reduction ordering on terms (cf. Sect. 4.2). Then, superposition is defined as follows: where σ is the mgu of the left-hand side l of a rewrite rule and a non-variable subterm t of the left-hand side of another rewrite rule, X is the set of variable symbols, and the generated equation p[r ]σ qσ is called a critical pair. If the critical pair cannot be simplified, deleted, or oriented, the procedure fails.
As with demodulation, unfailing [98] or ordered [6,7,9] completion removed the limitation of working only with rewrite rules, leading to Superposition of equations: where E is a set of equations, and the equations l r and p[t] q are allowed to superpose only if their instances according to the mgu σ are either orientable (i.e., lσ r σ ) or uncomparable (i.e., lσ r σ ∧ r σ lσ ∧ lσ = r σ , abbreviated lσ # r σ ). The ordering on terms is a CSO [98] or a reduction ordering [6,7,9]. This superposition inference rule is less general than paramodulation, as it applies only to unit equational clauses, but it avoids superposition into variables, is restricted by the ordering, and is refutationally complete for problems of the form E | ? ∀x.s t also in the presence of contraction. The contraction rules of completion are deletion of equations of the form s s, simplification, subsumption, and another subsumption rule for equations based on the encompassment ordering [98]: , and either the context c is not empty or the substitution ϑ is not a variable renaming.
A challenge related to the Wos-Robinson conjecture was how to obtain an inference system for first-order logic with equality that avoids paramodulating or superposing into variables, is restricted by the ordering, is refutationally complete also in the presence of contraction, and reduces to completion if given an input of the form E ∪ {ŝ t}.

Paramodulation and Superposition
The next step towards settling the Wos-Robinson conjecture and related challenges was a proof that an inference system with resolution, factoring, paramodulation, subsumption, and simplification is refutationally complete for first-logic with equality, without adding equality axioms other than x x and without paramodulating into variables [133]. A key feature of this approach is a CSO on terms and atoms that is order-isomorphic to the positive integers.
This ordering is used for simplification, and, in the proof of completeness, to build semantic trees based on an enumeration of the Herbrand base, where an equation l r appears before any atom that l r can simplify. The issue encountered by Wos and Robinson with the paramodulation lifting lemma is solved by showing that it suffices to consider substitutions that replace variable by irreducible terms, so that the substitution cannot replace a variable with a ground term that can be simplified, or, equivalently, paramodulated into [99,133,154,155].
A KBO is order-isomorphic to the positive integers, provided weights are positive [133], but RPO's and most other orderings are not. Thus, the Wos-Robinson conjecture was considered truly solved only when this requirement on the ordering was lifted. This result was reached with the proof of refutational completeness of an inference system called the ordered-literal strategy [99,154,155]. The ordered-literal strategy, or, rather, the orderedliteral inference system features resolution, factoring, paramodulation, and superposition as expansion inference rules, and tautology deletion, subsumption, clausal simplification, demodulation, and functional subsumption as contraction inference rules.
A key characteristic of this inference system, and the reason for its name, is that the expansion inference rules are restricted to work on literals that are strictly maximal in a CSO on terms and atoms. Since clauses are multisets of literals, a literal L is maximal in a clause C if ¬(∃M ∈ C. M L), or, equivalently, ∀M ∈ C. L ⊀ M. In other words, the other literals can only be smaller, equal, or uncomparable. A literal L is strictly maximal in a clause C if ¬(∃M ∈ C. M L), or, equivalently, ∀M ∈ C. L M. In other words, the other literals can only be smaller or uncomparable. If the ordering is defined on atoms as in [99,154,155], literals are identified with their atoms when applying the ordering. The proof that the ordered-literal inference system is refutationally complete without adding equality axioms other than x x, without paramodulating into variables, and without the requirement that the CSO on terms and atoms is order-isomorphic to the positive integers, was obtained by working with transfinite semantic trees [99,154,155].
Resolution and factoring are restricted to resolve upon strictly maximal literals: (1), (2) Factoring : (1) where (1) is ∀M ∈ C. L 1 σ Mσ and (2) is ∀M ∈ D. L 2 σ Mσ . These ordering-based restrictions to resolution and factoring appeared in [99] and have remained in the subsequent ordering-based inference systems, including the superposition calculus SP where a reduction ordering on terms is extended to literals as seen in Sect. 4.3.
For paramodulation and superposition, the challenge of solving the Wos-Robinson conjecture was intertwined with the challenge of obtaining inference rules for first-order logic with equality that reduce to the superposition rule of completion in the purely equational case. In completion superposition is restricted to work on maximal sides of equations (cf. Sect. 5.2). Thus, collecting the restrictions on literals and those on sides of equational literals, one gets four ordering-based conditions. In order to state them, we recall some terminology and notation that applies to all versions of paramodulation and superposition in this section. The para-from clause is written l r ∨ C, where l r is the para-from literal. The parainto clause is written is the para-into literal. If the inference system distinguishes the case where the para-into literal is an equational literal, the para-into clause q is the para-into literal, respectively. One can also say superposed-from and superposed-into with the analogous meanings. The subterm t is not a variable (i.e., t / ∈ X where X is the set of variable symbols), and the substitution σ is the mgu of the terms l and t (i.e., lσ = tσ ).
The four ordering-based conditions involved in restricting paramodulation and superposition are the following: (i) The para-from literal is strictly maximal in the instance of the para-from clause: q, its left-hand side is strictly maximal in the instance of the para-into literal: p[t]σ qσ .
The ordered-literal inference system in [99] added to resolution and factoring as above the following Paramodulation inference rule: Similar to the original paramodulation inference rule (cf. Sect. 5.1), this inference rule does not distinguish whether the para-into literal is equational or not. The requirement that t / ∈ X and three ordering-based conditions out of four represented major restrictions with respect to the paramodulation inference rule of Robinson and Wos. Aiming at the challenge of lifting to first-order logic superposition as in completion, the inference system of [155] replaced the paramodulation inference rule of [99] with two rules, one called superposition and one called paramodulation. Superposition applies if the para-into literal is a positive equational literal: Paramodulation was used if the para-into literal M[t] is a non-equational literal or a negative equational literal: Thus, Superposition has Conditions (ii) and (iv) from superposition in completion (cf. Sect. 5.2), but both rules had to drop Condition (i). The inference system in [155] includes the contraction inference rules. 4 However, as discussed in Sect. 4.3, due to the choice of the ordering, demodulation as in [155] does not reproduce the behavior of the simplification rule of completion in the equational case. Therefore, the inference system of [155] generalized completion only as far as the superposition inference rule is concerned. The conjecture as to whether an ordering-based inference system is still refutationally complete, if all four ordering-based conditions are imposed remained open. It was answered affirmatively with the development of the superposition calculus SP [10]. As already discussed in Sect. 4.3 for demodulation, a basic, but crucial, ingredient is the appropriate extension of the ordering on terms to literals. Another key ingredient is the addition of a new expansion inference rule [10,130]: This rule is a generalization of factoring that can be seen as a conditional factoring rule. If it holds that uσ = u σ and sσ = s σ , that is (u s)σ = (u s )σ , factoring can be applied. Equational factoring tests only uσ = u σ , provided uσ sσ , and adds sσ s σ as a condition, hence negated, in the generated clause.
The superposition calculus SP uses only the name superposition [10,130]. In SP even resolution becomes a special case of superposition, because all literals are transformed into equational literals as seen in Sect. 4.3. However, for continuity, we refrain from subsuming resolution into superposition, and we still use the name paramodulation when the para-into literal is not equational. For Paramodulation the three applicable ordering-based conditions are restored: Superposition affords all four ordering-based conditions: with the weaker version of the third one (Condition (iii.b) in place of Condition (iii.a)) when the para-into literal is negative. These versions of paramodulation and superposition, together with resolution, factoring, equational factoring, tautology deletion, subsumption, and simplification form the refutationally complete inference system SP for first-order logic with equality. The proof of refutational completeness was obtained by an approach based on rewrite models [10] that became a standard (e.g., [123]) and was reformulated also in terms of semantic trees [92]. In summary, the superposition calculus [10][11][12] imposed the strongest known orderingbased restrictions on expansion rules, and met the challenge of getting a refutationally complete inference system for first-order logic with equality that reduces to completion if the input is purely equational. 5 For these reasons, the superposition calculus became the standard ordering-based inference system.

Discussion
With set of support [187], demodulation [188], and paramodulation [147], Larry Wos contributed three fundamental ideas that have nurtured research on theorem proving for decades, and are still fruitful today.
The set-of-support strategy influenced both search plan design, as witnessed by the givenclause algorithm [127,128], and inference rule design, beginning with semantic resolution [161]. Since the given-clause algorithm is at the heart of contemporary provers (e.g., [66,96,110,159,170,180]), it continues to be an object of study. The design of heuristic evaluation functions for the selection of the given clause has been an active research topic (e.g., [1,44,71,72,127,128,160]). For example, the search may employ multiple evaluation functions by maintaining multiple priority queues with either parallel search [46] or interleaving [159]. The weight of clauses can be used to break ties when the best clause according to an evaluation function is not unique [91].
The ideas in the set-of-support strategy and in semantic resolution were generalized and developed into notions of semantic guidance, goal-sensitivity, and hyperinference, that had an impact also beyond resolution-based theorem proving, including tableaux-based methods (e.g., [14,17,19]), instance-based methods (e.g., [142]), and SGGS [59,60] (see [51] for a survey with an emphasis on these features).
The challenge of getting the theorem-proving strategy to focus on the conjecture to be proved, that Larry Wos meant to address with the set-of-support strategy, is more relevant than ever, given the growth of large and very large knowledge bases, in mathematics and other domains (e.g., [145,172]). The existence of such knowledge bases also poses the problem of applying theorem proving to check their consistency: the meaning and impact of semantic guidance and goal-sensitivity for this problem is still uncharted territory.
Larry's concept of irrelevant, or, dually, relevant, inference and clauses was formalized and generalized [94], and his notion that inferences should be general resurfaced in investigations of abstraction in resolution theorem proving (e.g., [135]). The already mentioned instancebased methods (see [45,51,103,108] for surveys) explore a complementary direction that is often most fruitful for model building given a satisfiable input.
Larry's UR resolution hyperinference rule [188] became a standard feature of resolutionbased theorem provers and beyond. For example, UR resolution was used to generate unit lemmas for PTTP (Prolog Technology Theorem Proving) provers [167] that implemented model elimination [118,119] on top of a Prolog engine such as the Warren Abstract Machine [179]. A similar idea was pursued in a parallel setting [169]. Both sequential and parallel tableaux-based theorem provers such as SEtheo [115] and CPtheo [86] preprocessed the input with respect to UR resolution, unit resolution, and unit subsumption.
The thread of research that Larry Wos opened with the notion of demodulation has been a major one in theorem proving and continues to the present. Well-founded demodulation is a fundamental inference rule for equality in all reasoning contexts. Under the name of simplification or rewriting, it was generalized to conditional rewriting, or reasoning in Horn equational logic (e.g., [10,50,109]), and to contextual rewriting (e.g, [90,97,181,189]), with applications also beyond theorem proving. Furthermore, Larry's notion of applying the rule for a predefined number k of steps, as in k-modulation, may still be useful in practice. For example, it may be employed as a form of pre-processing when no suitable well-founded ordering orients defining equations in the desired direction [174].
The efficient implementation of demodulation, and more generally contraction, is an active research topic, because theorem provers may spend a lot of time performing contraction (e.g, [97]). As it is typical in theorem proving, the issue is one of finding a good balance between the eagerness and the cost of contraction. For example, one can distinguish between full-fledged contraction and cheap simplification (e.g., demodulation by rewrite rules) [158,159] or light simplification (e.g., demodulation by ground rewrite rules) [80] that are less expensive and can be applied more eagerly. If given clause C generates a set N of new clauses, immediate simplification [80] consists of inter-reducing N and then applying it to backward-contract the clauses in usable. If clause C itself is deleted in the process, all clauses in N can be deleted as orphans, except those that justify the deletion of C.
Larry Wos pioneered a paramodulation principle for building equality into resolution, that many other researchers, over several decades, endeavoured to bring to maturity, merging it successfully with completion-based theorem proving (e.g., [6,7,9,49,54,98,101,107]). The resulting ordering-based inference systems (e.g., [10,99,133,155]) are refutationally complete, combining expansion inference rules such as resolution, factoring, paramodulation, and superposition, with contraction inference rules such as subsumption and well-founded demodulation or simplification. The number of years and people involved, starting from different angles and with different motivations, shows the greatness of Larry's original insight.
Subsumption and simplification are based on distinct well-founded orderings. An abstract framework to treat in a unified manner these two contraction principles was developed [178]. Another area of investigation is the reproduction and verification of the proofs of refutational completeness of ordering-based inference systems (e.g., [12]) in proof assistants [156,178].
Ordering-based inference systems were implemented first in the Otter theorem prover [127,128], that Larry used for his experiments throughout his long career, and then in most subsequent resolution-based theorem provers, up to those that represent the state of the art for first-order logic with equality (e.g., the E prover [159], Spass [180], Vampire [110], Waldmeister [96], Zipperposition [174], and GKC [170]). The growth of superpositionbased theorem proving was a main reason for the evolution of the given-clause algorithm from an implementation of the set of support strategy into a general algorithm for implementing multiple strategies. Indeed, the set-of-support strategy is not complete in general for either ordered resolution in first-order logic, or paramodulation and superposition in first-order logic with equality, unless the complement of the set of support is saturated with respect to the inference system in a preprocessing phase [10], which defeats the spirit of the strategy. Making reasoning goal-sensitive, or target-oriented, is more challenging in the presence of equality [54].
Acknowledgements Parts of this work were done while the author was participating in a program at the Simons Institute for the Theory of Computing, and visiting the Computer Science Laboratory of SRI International, whose support is greatly appreciated. The author thanks very much the anonymous reviewers for their precious technical remarks, and Wolfgang Bibel for his comments on the early history of theorem proving.
Funding Open access funding provided by Università degli Studi di Verona within the CRUI-CARE Agreement.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.