The Herbrand base of a 1st order language is the set of all ground atoms formed using elements of the Herbrand universe as arguments. Like the Herbrand universe, it is enumerable, and infinite if the Herbrand universe is infinite and there is a predicate symbol of arity greater than 0.
Example |
---|
The Herbrand universe and Herbrand base of the language
V = { V : V starts with uppercase } F = { geoff/0, jim/0, brother_of/1 } P = { wise/1, taller/2 }are HU = { geoff, jim, brother_of(geoff), brother_of(jim), brother_of(brother_of(geoff)), ... } HB = { wise(geoff), taller(geoff,geoff), wise(jim), taller(jim,jim), taller(jim,geoff), taller(geoff,jim), taller(geoff,geoff), wise(brother_of(geoff)), taller(geoff,brother_of(geoff)), taller(brother_of(geoff),geoff), taller(brother_of(geoff),brother_of(geoff)), ... } |
Example |
---|
One possible Herbrand interpretation of the language
V = { V : V starts with uppercase } F = { geoff/0, jim/0, brother_of/1 } P = { wise/1, taller/2 }is D = { geoff, jim, brother_of(geoff), brother_of(jim), brother_of(brother_of(geoff)), ... } F = { geoff → geoff, jim → jim, brother_of(geoff) → brother_of(geoff)), brother_of(jim) → brother_of(jim), ... } R = { wise(geoff) → TRUE, taller(geoff,geoff) → TRUE, wise(jim) → TRUE, taller(jim,jim) → FALSE, taller(geoff,jim) → FALSE, taller(jim,geoff) → FALSE, wise(brother_of(geoff)) → TRUE, taller(geoff,brother_of(geoff)) → FALSE, taller(brother_of(geoff),geoff) → FALSE, taller(brother_of(geoff),brother_of(geoff)) → FALSE, ... } |
As R is the only variable part of a Herbrand interpretation, it is possible to identify a Herbrand interpretation with R. The number of Herbrand Interpretations is the size power set of the Herbrand Base - in general the same cardinality as the reals.
Each branch of the semantic tree for the Herbrand base identifies a Herbrand interpretation. A semantic tree for a Herbrand interpretation is fair if the Herbrand Base elements are ordered so that no element is ignored for ever, e.g., ordered by by non-decreasing symbol count.
A Herbrand interpretation is a Herbrand model of a formula (set of formulae) iff the formula (each formula in the set) is TRUE in the Herbrand interpretation
A Herbrand interpretation removes the infinite number of domains, and leaves one infinite domain and a possibly infinite number of Rs.
Model Preservation
A set of clauses has a model iff it has a Herbrand model.
Proof | ||
---|---|---|
|
The above theorem does not hold for non-clauses, e.g. {p(a), ∃X ~p(X)} has the model:
D = { 0,1 } F = { a → 0 } R = { p(0) → TRUE, p(1) → FALSE }but the only Herbrand interpretations are
R = { p(a) → FALSE }and
R = { p(a) → TRUE }neither of which are Herbrand models of the formulae. This is because a non-Herbrand model can have domain elements that do not represent any Herbrand universe element. Skolemization removes existentially quantified variables, and replaces them with terms. Ground instances of such Skolen terms are Herbrand universe elements which can be aligned with domain elements.
Unsatisfiability for sets of clauses can now be considered in terms of Herbrand interpretations.
An inference rule for clauses is sound if every Herbrand model of the parents is a Herbrand model of the inferred clauses, so ...
Form the set Ax ∪ {~C} Convert the set to CNF(Ax ∪ {~C}) While a refutation has not been found Copy some clauses from the set Use sound inference rules for clauses to generate logical consequences of the clauses Put the logical consequences into the set