830 likes | 993 Vues
Logic seminar 4. Herbrand’s theorem 07.11.2005. Slobodan Petrović. Herbrand’s theorem. A general decision procedure to verify the validity (inconsistency) of a formula: Tried by Leibnitz, Peano, Hilbert, … Proved inexistent by Church and Turing (1936)
E N D
Logic seminar 4 Herbrand’s theorem 07.11.2005. Slobodan Petrović
Herbrand’s theorem • A general decision procedure to verify the validity (inconsistency) of a formula: • Tried by Leibnitz, Peano, Hilbert, … • Proved inexistent by Church and Turing (1936) • Church and Turing independently showed that there is no general decision procedure to check the validity of formulas of the first order logic.
Herbrand’s theorem • There are, however, proof procedures which can verify that a formula is valid if it is valid indeed. • For invalid formulas, these procedures never terminate in general. • This is the best that one can expect from a proof procedure.
Herbrand’s theorem • By definition, a valid formula is a formula that is true under all interpretations. • Herbrand (1930) developed an algorithm to find an interpretation (if it exists) that can falsify a given formula. • If the given formula is indeed valid, no such interpretation can exist and Herbrand’s algorithm halts after a finite number of trials.
Herbrand’s theorem • Herbrand’s procedure is a refutation procedure. • Instead of proving a formula valid, it proves that the negation of the formula is inconsistent. • There is no loss of generality in using refutation procedures. • The refutation procedures are applied to a “standard” form of a formula.
Herbrand’s theorem • The standard form: • A formula of the first order logic is transformed into prenex normal form: • The matrix contains no quantifiers • The prefix is a sequence of quantifiers. • The matrix is transformed into a conjunctive normal form. • The existential quantifiers in the prefix are eliminated by using Skolem functions.
Herbrand’s theorem • Skolem standard form (standard form) • Let a formula F be already in a prenex normal form (Q1x1)…(Qnxn)M, where M is in a conjunctive normal form. • Let Qr be an existential quantifier in the prefix (Q1x1)…(Qnxn), 1≤r≤n.
Herbrand’s theorem • Skolem standard form (cont.) • If no universal quantifier appears before Qr, we do the following: • choose a new constant c different from other constants occurring in M; • replace all xr appearing in M by c; • delete (Qrxr) from the prefix.
Herbrand’s theorem • Skolem standard form (cont.) • If Qs1,…,Qsm are all the universal quantifiers appearing before Qr, 1≤s1≤s2≤…≤sm≤r, we do the following: • choose a new m-place function symbol f different from other function symbols occurring in M; • replace all xr appearing in M by f(xs1,xs2,…,xsm); • delete (Qrxr) from the prefix.
Herbrand’s theorem • Skolem standard form (cont.) • After this process is applied to all the existential quantifiers in the prefix, a Skolem standard form of the formula F is obtained. • The constants and functions used to replace the existential variables are called Skolem functions. • This process is called Skolemization.
Herbrand’s theorem • Example • Obtain a standard form of the formula • (x)(y)(z)(u)(v)(w)P(x,y,z,u,v,w) • (x) is preceded by no universal quantifiers, (u) is preceded by (y) and (z), and (w) by (y), (z) and (v). • Therefore, we replace the existential variable x by a constant a, u by a two-place function f(y,z), and w by a three-place function g(y,z,v). • The standard form of the formula is • (y)(z)(v)P(a,y,z,f(y,z),v,g(y,z,v)).
Herbrand’s theorem • Example • Obtain a standard form of the formula • (x)(y)(z)((~P(x,y)Q(x,z))R(x,y,z)). • First, the matrix is transformed into a conjunctive normal form: • (x)(y)(z)((~P(x,y)R(x,y,z))(Q(x,z)R(x,y,z))). • Then, since (y) and (z) are both preceded by (x), the existential variables y and z are replaced, respectively by one-place functions f(x) and g(x). • The standard form of the formula is • (x)((~P(x,f(x))R(x,f(x),g(x)))(Q(x,g(x))R(x,f(x),g(x)))).
Herbrand’s theorem • Definition • A clause is a disjunction of literals. • When it is convenient, it is possible to regard a set of literals as synonymous with a clause. • Example • PQ~R={P,Q,~R} • A clause consisting of r literals is called an r-literal clause. • A one-literal clause is called a unit clause.
Herbrand’s theorem • When a clause contains no literal, it is called the empty clause. • Since the empty clause has no literal that can be satisfied by an interpretation, the empty clause is always false. • The empty clause is denoted by □. • Example – the clauses are • ~P(x,f(x))R(x,f(x),g(x)) • Q(x,g(x))R(x,f(x),g(x)).
Herbrand’s theorem • A set S of clauses is regarded as a conjunction of all clauses in S. • Every variable in S is considered governed by a universal quantifier. • Thus, a standard form can be represented by a set of clauses.
Herbrand’s theorem • Example • The standard form of the formula • (x)((~P(x,f(x))R(x,f(x),g(x)))(Q(x,g(x))R(x,f(x),g(x)))) • can be represented by a set of clauses • {~P(x,f(x))R(x,f(x),g(x)), Q(x,g(x))R(x,f(x),g(x))}. • Theorem • Let S be a set of clauses that represents a standard form of a formula F. • Then F is inconsistent if and only if S is inconsistent.
Herbrand’s theorem • Let S be a standard form of a formula F. • If F is inconsistent, then F=S. • If F is not inconsistent, F is not equivalent to S in general. • Example • F=(x)P(x), • S=P(a). • S is a standard form of F.
Herbrand’s theorem • Example (cont.) • The interpretation I: • Domain: D={1,2} • Assignment for P: P(1)=F, P(2)=T. • F is true in I, but S is false in I. That is, FS. • A formula may have more than one standard form. • When a formula F is transformed into a standard formula S, existential quantifiers should be replaced by the simplest possible Skolem functions – with the least number of arguments.
Herbrand’s theorem • Existential quantifiers should be moved to the left as far as possible. • If F=F1…Fn, it is possible to separately obtain a set Si of clauses, where Si represents a standard form of Fi, i=1,…,n. • Let S=S1…Sn. • Then F is inconsistent if and only if S is inconsistent.
Herbrand’s theorem • Example • The theorem: If xx=e for all x in group G, where is a binary operator and e is the identity in G, then G is commutative. • We first symbolize the theorem and some other axioms of group theory. • Then we represent the negation of the theorem as a set of clauses.
Herbrand’s theorem • Example (cont.) • The axioms of the group: • A1: x,yG implies that xyG (closure property) • A2: x,y,zG implies that x(yz)=(xy)z (associativity property) • A3: xe=ex=x for all xG (identity property) • A4: For every xG there exists an element x-1G such that xx-1=x-1x=e (inverse property).
Herbrand’s theorem • Example (cont.) • Let P(x,y,z) stand for xy=z and i(x) for x-1. • Then, the axioms of the group can be represented by: • A1’: (x)(y)(z)P(x,y,z) • A2’: (x)(y)(z)(u)(v)(w)(P(x,y,u)P(y,z,v)P(u,z,w)P(x,v,w)) (x)(y)(z)(u)(v)(w)(P(x,y,u)P(y,z,v)P(x,v,w)P(y,z,w)) • A3’: (x)P(x,e,x)(x)P(e,x,x) • A4’: (x)P(x,i(x),e)(x)P(i(x),x,e).
Herbrand’s theorem • Example (cont.) • The conclusion of the theorem: • B: If xx=e for all xG, then G is commutative, i.e., uv=vu for all u,vG. • B formalized: • B’: (x)P(x,x,e)((u)(v)(w)(P(u,v,w)P(v,u,w))). • The entire theorem is represented by the formula: • F=A1’…A4’B’. • Thus, ~F=A1’A2’A3’A4’~B’.
Herbrand’s theorem • Example (cont.) • To obtain a set S of clauses for ~F, we first obtain a set Si of clauses for each axiom Ai’, i=1, 2, 3, 4: • S1: {P(x,y,f(x,y))} • S2: {~P(x,y,u)~P(y,z,v)~P(u,z,w)P(x,v,w), ~P(x,y,u)~P(y,z,v)~P(x,v,w)P(u,z,w)} • S3: {P(x,e,x),P(e,x,x)} • S4: {P(x,i(x),e),P(i(x),x,e)}.
Herbrand’s theorem • Example (cont.) • ~B’=~((x)P(x,x,e)((u)(v)(w)(P(u,v,w)P(v,u,w)))) =~(~(x)P(x,x,e)((u)(v)(w)(~P(u,v,w)P(v,u,w)))) =(x)P(x,x,e)~((u)(v)(w)(~P(u,v,w)P(v,u,w))) =(x)P(x,x,e)(u)(v)(w)(P(u,v,w)~P(v,u,w)). • A set of clauses for ~B’: • T: {P(x,x,e),P(a,b,c),~P(b,a,c)}.
Herbrand’s theorem • Example (cont.) • The set S=S1S2S3S4T: • (1) P(x,y,f(x,y)) • (2) ~P(x,y,u)~P(y,z,v)~P(u,z,w)P(x,v,w) • (3) ~P(x,y,u)~P(y,z,v)~P(x,v,w)P(u,z,w) • (4) P(x,e,x) • (5) P(e,x,x) • (6) P(x,i(x),e) • (7) P(i(x),x,e) • (8) P(x,x,e) • (9) P(a,b,c) • (10) ~P(b,a,c).
Herbrand’s theorem • F is valid if and only if S is inconsistent. • Refutation procedures are used to prove theorems. • The input to a refutation procedure is always a set of clauses. • Instead of “inconsistent” (“consistent”) “unsatisfiable” (“satisfiable”) is used, respectively for sets of clauses.
Herbrand’s theorem • The Herbrand universe of a set of clauses • A set of clauses S is unsatisfiable if and only if it is false under all interpretation over all domains. • It is impossible to consider all interpretations over all domains. • It would be desirable to have one special domain H such that S is unsatisfiable if and only if S is false under all the interpretations over this domain. • There exists such a domain – Herbrand universe of S.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Let H0 be the set of constants appearing in S. • If no constant appears in S, then H0 is to consist of a single constant, H0={a}. • For i=0,1,2,… let Hi+1 be the union of Hi and the set of all terms of the form fn(t1,…,tn) for all n-place functions fn occurring in S, where tj, j=1,…,n, are members of the set Hi. • Hi is called the i-level constant set of S.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example 1: S={P(a),P(x)P(f(x))} • H0={a} • H1={a,f(a)} • H2={a,f(a),f(f(a))} • . • . • H={a,f(a),f(f(a)),f(f(f(a))),…}
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example 2: S={P(x)Q(x),R(z),T(y)W(y)} • There is no constant in S, so we let H0={a} • There is no function symbol in S, hence H=H0=H1=…={a} • Example 3: S={P(f(x),a,g(y),b)} • H0={a,b} • H1={a,b,f(a),f(b),g(a),g(b)} • H2={a,b,f(a),f(b),g(a),g(b),f(f(a)),f(f(b)),f(g(a)),f(g(b)),g(f(a)),g(f(b)),g(g(a)),g(g(b))} • …
Herbrand’s theorem • The Herbrand universe of a set of clauses • Expression – a term, a set of terms, an atom, a set of atoms, a literal, a clause, or a set of clauses. • When no variable appears in an expression, it is called a ground expression. • It is possible to use a ground term, a ground atom, a ground literal, and a ground clause – this means that no variable occurs in respective expressions. • A subexpression of an expression E is an expression that occurs in E.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Let S be a set of clauses. The set of ground atoms of the form Pn(t1,…,tn) for all n-place predicates Pn occurring in S, where t1,…,tn are elements of the Herbrand universe of S, is called the atom set, or the Herbrand base of S. • A ground instance of a clause C of the set S of clauses is a clause obtained by replacing variables in C by members of the Herbrand universe of S.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example • S={P(x),Q(f(y))R(y)} • C=P(x) is a clause in S • H={a,f(a),f(f(a)),…} is the Herbrand universe of S. • P(a) and P(f(f(a))) are ground instances of C.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Let S be a set of clauses. • An interpretation over the Herbrand universe of S is an assignment of constants, function symbols and predicate symbols occurring in S.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Let S be a set of clauses, H the Herbrand universe of S and I an interpretation of S over H. I is an H-interpretation of S if: • I maps all constants in S to themselves. • Let f be an n-place function symbol and h1,…,hn be elements of H. In I, f is assigned a function that maps (h1,…,hn) (an element in Hn) to f(h1,…,hn) (an element in H).
Herbrand’s theorem • The Herbrand universe of a set of clauses • There is no restriction on the assignment to each n-place predicate symbol in S. • Let A={A1,A2,…,An,…}be the atom set of S. • An H-interpretation I can be conveniently represented by a set I={m1,m2,…,mn,…} in which mj is either Aj or ~Aj for j=1,2,… • If mj is Aj then Aj is assigned “true”, otherwise Aj is assigned “false”.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example: S={P(x)Q(x),R(f(y))} • The Herbrand universe of S is H={a,f(a),f(f(a)),…}. • Predicate symbols: P, Q, R. • The atom set of S: • A={P(a),Q(a),R(a),P(f(a)),Q(f(a)),R(f(a)),…}. • Some H-interpretations for S: • I1={P(a),Q(a),R(a),P(f(a)),Q(f(a)),R(f(a)),…} • I2={~P(a),~Q(a),~R(a),~P(f(a)),~Q(f(a)),~R(f(a)),…} • I3={P(a),Q(a),~R(a),P(f(a)),Q(f(a)),~R(f(a)),…}
Herbrand’s theorem • The Herbrand universe of a set of clauses • An interpretation of a set S of clauses does not necessarily have to be defined over the Herbrand universe of S. • Thus an interpretation may not be an H-interpretation. • Example: • S={P(x),Q(y,f(y,a))} • D={1,2}
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example (cont.) – an interpretation of S:
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example (cont.) – we can define an H-interpretation I* corresponding to I. • First we find the atom set of S • A={P(a),Q(a,a),P(f(a,a)),Q(a,f(a,a)),Q(f(a,a),a),Q(f(a,a),f(a,a)),…} • Next we evaluate each member of A by using the given table • P(a)=P(2)=F • Q(a,a)=Q(2,2)=T • P(f(a,a))=P(f(2,2))=P(1)=T • Q(a,f(a,a))=Q(2,f(2,2))=Q(2,1)=F
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example (cont.) • Q(f(a,a),a)=Q(f(2,2),2)=Q(1,2)=T • Q(f(a,a),f(a,a))=Q(f(2,2),f(2,2))=Q(1,1)=T • H-interpretation I* corresponding to I • I*={~P(a),Q(a,a),P(f(a,a)),~Q(a,f(a,a)),Q(f(a,a),a), ~Q(f(a,a),f(a,a)),…}.
Herbrand’s theorem • The Herbrand universe of a set of clauses • If there is no constant in S, the element a used to initiate the Herbrand universe of S can be mapped into any element of the domain D. • If there is more than one element in D, then there is more than one H-interpretation corresponding to I. • Example: S={P(x),Q(y,f(y,z))}, D={1,2}
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example (cont.):
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example (cont.): • Then the two H-interpretations corresponding to I are: • I*={~P(a),Q(a,a),P(f(a,a)),~Q(a,f(a,a)),Q(f(a,a),a), ~Q(f(a,a),f(a,a)),…} if a=2, • I*={P(a),~Q(a,a),P(f(a,a)),~Q(a,f(a,a)),~Q(f(a,a),a), ~Q(f(a,a),f(a,a)),…} if a=1.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Definition • Given an interpretation I over a domain D, an H-interpretation I* corresponding to I is an H-interpretation that satisfies the condition: • Let h1,…,hn be elements of H (the Herbrand universe of S). Let every hi be mapped to some di in D. If P(d1,…,dn) is assigned T (F) by I, then P(h1,…,hn) is also assigned T(F) in I*. • Lemma: • If an interpretation I over some domain D satisfies a set S of clauses, then any H-interpretation I* corresponding to I also satisfies S.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Theorem • A set S of clauses is unsatisfiable if and only if S is false under all the H-interpretations of S. • We need consider only H-interpretations for checking whether or not a set of clauses is unsatisfiable. • Thus, whenever the term “interpretation” is used, a H-interpretation is meant.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Let denote an empty set. Then: • A ground instance C’ of a clause C is satisfied by an interpretation I if and only if there is a ground literal L’ in C’ such that L’ is also in I, i.e. C’I. • A clause C is satisfied by an interpretation I if and only if every ground instance of C is satisfied by I. • A clause C is falsified by an interpretation I if and only if there is at least one ground instance C’ of C such that C’ is not satisfied by I. • A set S of clauses is unsatisfiable if and only if for every interpretation I there is at least one ground instance C’ of some clause C in S such that C’ is not satisfied by I.
Herbrand’s theorem • The Herbrand universe of a set of clauses • Example: Consider the clause C=P(x)Q(f(x)). Let I1, I2, and I3 be defined as follows: • I1={P(a),Q(a),P(f(a)),Q(f(a)),P(f(f(a))),Q(f(f(a))),…} • I2={P(a),Q(a),P(f(a)),Q(f(a)),P(f(f(a))),Q(f(f(a))),…} • I3={P(a),Q(a),P(f(a)),Q(f(a)),P(f(f(a))),Q(f(f(a))),…} • C is satisfied by I1 and I2, but falsified by I3. • Example: S={P(x),P(a)}. The only two H-interpretations are: I1={P(a)}, I2={P(a)}. • S is falsified by both H-interpretations and therefore is unsatisfiable.
Herbrand’s theorem • Semantic trees • Introduced by Robinson, 1968. • It can be shown that finding a proof for a set of clauses is equivalent to generating a semantic tree. • Definition • If A is an atom, then the two literals A and A are said to be each other’s complement. • The set {A,A} is called a complementary pair. • A clause is a tautology if it contains a complementary pair.