A recursive definition of first-order unsorted terms.
- A variable is a term,
- a constant is a term, and
- an n-ary function symbol applied to n terms is a term.
An n-ary predicate symbol applied to n terms is an atomic formula.
A literal is anatomic formula or the negation of an atomic formula.
A clause is a disjunction of literals. All variables in a clause are assumed to be universally quantified.
This is a standard definition of formula. Prover9 has a more restricted notion of formula that excludes formulas with free variables.
- An atomic formula is a formula,
- if F and G are formulas, then the following are formulas.
- (-F)
- (F | G)
- (F & G)
- (F -> G)
- (F <-> G)
- if F is a formula and x is a variable, then the following are formulas.
- (all x F)
- (exists x F)
An interpretation of a first-order language consists ofGiven an interpretation, each term in the language evaluates to a member of the domain, and each formula in the language evaluates to TRUE or to FALSE.
- of a set of objects called the domain,
- an n-ary function over the domain into the domain for each n-ary function symbol in the language,
- an n-ary relation over the domain for each n-ary predicate symbol in the language.
A formula is in negation normal form if the only logic connectives are negation, conjunction, disjunction, quantification (universal or existential), and if all negation operations are applied directly to atomic formulas.
This definition applies to quantifier-free formulas.A formula is in conjunctive normal form if (1) the only logic connectives are negation, conjunction, and disjunction, (2) no negation is applied to a conjunction or a disjunction, and (3) no disjunction is applied to a conjunction.
Alternate definition: A formula is in CNF if it is a clause or a conjunction of clauses.
Skolemization is the process of replacing existentially quantified variables in a formula with new constants (called Skolem constants) or functions (called Skolem functions). If an existential quantifier is in the scope of some universal quantifiers, the new symbol is a function of the corresponding universally quantified variables. The result of Skolemization is not, strictly speaking, equivalent to the original formula, because new symbols may have been introduced, but the result is inconsistent iff the the original formula is inconsistent.
Clausification is the process of translating a formula into a conjunction of clauses. A standard way is NNF conversion, Skolemization, moving universal quantifiers to the top (renaming bound variables if necessary), CNF conversion, and finally removing universal quantifiers. The variables in each resulting clause are implicitly universally quantified.Each step produces an equivalent formula, except for Skolemization, which produces an eqconsistent formula, so the result of Clausification is inconsistent iff the original formula is inconsistent.
A literal is maximal in a clause, with respect to some term ordering, if no literal in the clause is greater. The terms orderings used by Prover9 (LPO, KBO, RPO) are, in general, only partial, so clauses do not necessarily have maximum literals.
Aparamodulation inference consists of two parents and a child. The parent containing the equality used for the replacement is the from parent or the from clause, the equality is the from literal, and the side of the equality that unifies with the term being replaced is the from term.The replaced term is the into term, the literal containing the replaced term is the into literal, and the parent containing the replaced term is the into parent or into clause.