LARA

Non-Ground Instantiation and Resolution

Non-Ground Resolution

Why apply resolution only on ground terms? Consider arbitrary clauses $C, D$ and any atom $A$.

\begin{equation*}
\frac{C \cup \{\lnot A\}\ \ \ D \cup \{A\}}
     {C \cup D}
\end{equation*}

Is this non-ground resolution rule sound?

Non-Ground Instantiation

For arbitrary substitution:

\begin{equation*}
\frac{C}{subst(\sigma)(C)}
\end{equation*}

Is this non-ground instantiation rule sound?

Illustration of rules.

Combining Instantiation and Resolution

These two are more powerful rules.

But we therefore have more choices at each step.

If we try to do the proof, how do we know what to instantiate with?

Instantiation followed by resolution:

\begin{equation*}
\frac{C \cup \{\lnot A_1\}\ \ \ D \cup \{A_2\}}
     {subst(\sigma_1)(C) \cup subst(\sigma_2)(D)}
\end{equation*}

such that $subst(\sigma_1)(A_1) = subst(\sigma_2)(A_2)$.

This rule generalizes the above non-ground resolution and ground resolution.

Note: if we apply instantiation that renames variables in each clause, then $\sigma_1$ and $\sigma_2$ can have disjoint domains and we let $\sigma = \sigma_1 \cup \sigma_2$, obtaining

One complete proof system contains:

  • instantiation followed by resolution
  • instantiation

Note: $\sigma$ such that $subst(\sigma)(A_1) = subst(\sigma)(A_2)$ is called a unifier for $\{A_1,A_2\}$.

Note: a renaming is substitution whose domain and codomain are variables and which is injective. That, is, it renames variables without clashing variable names.

Further step: do we need to consider all possible unifiers?

Most general unifier for $\{A_1,A_2\}$, denoted $mgu(A_1,A_2)$.

To compute it we can use the standard Unification algorithm.