LARA

Herbrand's Expansion Theorem

Expansion of a Clause

Recall that we do not write quantifiers in the clause, but when we say that a clause is true in a model we mean that its universal closure is true.

We obtain an instance of a clause $C$ by replacing all variables with some ground terms from $GT$.

Define

\begin{equation*}
   expand(C) = \{ subst(\{x_1 \mapsto t_1,\ldots,x_n \mapsto t_n\})(C) \mid FV(C) = \{x_1,\ldots,x_n\}\ \land\ t_1,\ldots,t_n \in GT \}
\end{equation*}

Note that if $C$ is true in $I$, then $expand(C)$ is also true in $I$ ($expand(C)$ is a consequence of $C$).

We expand entire set:

\begin{equation*}
   expand(S) = \bigcup_{C \in S} expand(C)
\end{equation*}

Clauses in the expansion have no variables, they are ground clauses.

Constructing a Propositional Model

We can view the set $expand(S)$ as a set of propositional formulas whose propositional variables have “long names”.

For an expansion of clause $C_G$ we can construct the corresponding propositional formula $p(C_G)$.

Example Let's consider the expanded formula $F=P(f(a)) \wedge R(a, f(a))$, then $p(F)=p_1 \wedge p_4$

Define propositional model $I_P : V \to \{\it true},{\it false\}$ by

\begin{equation*}
    I_P(p(C_G)) = e_F(C_G)(I)
\end{equation*}

Let

\begin{equation*}
   propExpand(S) = \{ p(C_G) \mid C_G \in expand(S) \}
\end{equation*}

Lemma: If $I$ is a model of $S$, then $I_P$ is a model of $propExpand(S)$.

Instead of searching for a model, we can search for a propositional model.

If we prove there is no propositional model for $propExpand(S)$, then there is no model for $I$.

What if there is a model $propExpand(S)$? Could it still be the case that $S$ is unsatisfiable?

Constructing Herbrand Model

For $I = (GT,\alpha_H)$ we define $\alpha_H(R)$ so that $I_H$ evaluates ground formulas $expand(S)$ same as in $I_P$ (and thus same as in $I$).

We ensure that atomic formulas evaluate the same:

$   \alpha_H(R) = \{ (t_1,\ldots,t_n)\ \mid $

How does it evaluate non-ground formulas?

Lemma: If $I_P$ is a model for $propExpand(S)$, then $(GT,\alpha_H)$ is a model for $S$.

Herbrand's Theorem

Theorem: The following statements are equivalent:

  • set $S$ has a model
  • set $propExpand(S)$ has a propositional model
  • set $S$ has a model with domain $GT$

Example: Take the first three clauses our example (from Normal Forms for First-Order Logic):

  • $R(x,g(x))$
  • $\neg R(x,y) \lor R(x,f(y,z)))$
  • $P(x) \lor P(f(x,a))$

Taking as domain $D$ the set of natural numbers, the structure $(D,\alpha)$ is a model of the conjunction of these three clauses, where $\alpha$ is given by:

  • $\alpha(a) = 1$
  • $\alpha(c) = 2$
  • $\alpha(g)(x) = (x + 1)$
  • $\alpha(f)(y,z) = y+z$
  • $\alpha(R) = \{(x,y).\ x < y\}$
  • $\alpha(P) = \{x.\ x \mbox{ is even} \}$

This model induces an Herbrand model $(GT,\alpha_H)$, in which $\alpha_H(P)$ is a set of ground terms and $\alpha_H(R)$ is a relation on ground terms, $\alpha_H(R) \subseteq GT^2$.

To determine, for example, whether $(f(a,a),g(c)) \in \alpha_H(R)$ we check the truth value of the formula

\begin{equation*}
   R(f(a,a),g(c)))
\end{equation*}

in the original interpretation $(D,\alpha)$. The truth value of the above formula in $\alpha$ reduces to $1+1 < 2+1$, which is true. Therefore, we define $\alpha_H(R)$ to contain the pair of ground terms $(f(a,a),g(c)))$. On the other hand, $R(f(a,a),c)$ evaluates to false in $(D,\alpha)$, so we define $\alpha_H(R)$ so that it does not contain the pair $(f(a,a),c)$.