Herbrand structure


In first-order logic, a Herbrand structure S is a structure over a vocabulary σ that is defined solely by the syntactical properties of σ. The idea is to take the symbols of terms as their values, e.g. the denotation of a constant symbol c is just "c".
Herbrand structures play an important role in the foundations of logic programming.

Herbrand universe

Definition

Herbrand universe will serve as the universe in Herbrand structure.
The Herbrand universe of a first-order language Lσ, is the set of all ground terms of Lσ. If the language has no constants, then the language is extended by adding an arbitrary new constant.
The Herbrand universe' of a closed formula in Skolem normal form F, is the set of all terms without variables, that can be constructed using the function symbols and constants of F. If F has no constants, then F is extended by adding an arbitrary new constant.
Let Lσ be a first-order language with the vocabulary
then the Herbrand universe of Lσ is.
Notice that the relation symbols are not relevant for a Herbrand universe.

Herbrand structure

A Herbrand structure interprets terms on top of a Herbrand universe.

Definition

Let S be a structure, with vocabulary σ and universe U. Let T be the set of all terms over σ and T0 be the subset of all variable-free terms. S is said to be a Herbrand structure iff
  1. U = T0
  2. fS = f for every n-ary function symbol f ∈ σ and t1,..., tnT0
  3. cS = c for every constant c in σ

    Remarks

  4. U is the Herbrand universe of σ.
  5. A Herbrand structure that is a model of a theory T, is called the Herbrand model of T.

    Examples

For a constant symbol c and a unary function symbol f we have the following interpretation:
In addition to the universe, defined in Herbrand universe, and the term denotations, defined in Herbrand structure, the Herbrand base completes the interpretation by denoting the relation symbols.

Definition

A Herbrand base is the set of all ground atoms of whose argument terms are the Herbrand universe.

Examples

For a binary relation symbol R, we get with the terms from above: