Automated Reasoning Systems

1 / 41

# Automated Reasoning Systems - PowerPoint PPT Presentation

Automated Reasoning Systems. For first order Predicate Logic. Is F a logical consequence of T ?. AR: general context. Given is a knowledge base in predicate logic: T. is a set of formulae in first order logic formally also called: a “Theory’’.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Automated Reasoning Systems' - shannon-mcleod

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Automated Reasoning Systems

For first order Predicate Logic

Is F a logical consequence of T ?

AR: general context.
• Given is a knowledge base in predicate logic: T
• is a set of formulae in first order logic
• formally also called: a “Theory’’
• Given is also an additional first order formula: F
• Notation: T |=F (T implies F)
• Find reasoning techniques that allow to decide on this for EACH F and T.
• Requirements:
• correctness -- completeness -- efficiency

There CANNOT EXIST AN ALGORITHMthat decides whether T|=F, for any theory T and any formula F.

• There exists a reasoning technique, such that for any theory T and formula F, such that T|=F, the reasoning technique provesT |= F.
AR: decidability.
• Theorem Church ‘36:
• BUT: semi-decidable !
• Completeness Theorem of Goedel ‘31:
• SO: if F follows from T, then we find a proof, else it is possible that the procedure doesn’t terminate.

The theorems of Church and Goedel are contradicting: We can try to prove F and ~F in parallel, and according to Goedel’s theorem one of these must succeed after a finite time.

Wait a second ...
• Wrong !
• Let: T ={smart(Kelly)} en F =strong(Kelly)
• Although strong(Kelly)  ~strong(Kelly) is always true, we have:
• neither: {smart(Kelly)} |= strong(Kelly)
• nor: {smart(Kelly)} |= ~strong(Kelly)

backward resolution

AR: general outline (1).
• First we sketch the most generally used approach for automated reasoning in first-order logic:
• The different technical componentswill only be explained in full detail in a second pass (outline (2)).

ground Horn clause logic

AR: general outline (2) .
• We study different subsets of predicate logic:
• Horn clause logic
• Clausal logic
• full predicate logic
• In each case we study semi-deciding procedures.
• Each extension requires the introduction of new techniques.

### Backward Reasoning Resolution

… in a nutshell

• 1) Proof by inconsistency.
• 2) Conversion to clausal form.
• 3) Unification.
• 4) The resolution step.
• 5) (Backward) resolution proofs.
Backward resolution:

T

p= parent

f= father

r= rich

q= old

z ~ q(z)

y p(f(y))

x p(x)  q(x)  r(x)

F

• In this world, is always true ?

u r(f(u))

• Are axioms: describe knowledge about some world.
• How to prove such theorems in general?

F

• Don’t prove F directly:

u r(f(u))

~ u r(f(u))

z ~ q(z)

y p(f(y))

x p(x)  q(x)  r(x)

• is inconsistent.
1) Proof by inconsistency
• But add the negation of F to the axioms and prove that this extension is inconsistent.
• the 4 axioms are never true in 1 same interpretation.

Each set of axioms can be transformed into a new set of formulae, that contains only formulae of the form:

xy…zp(…)  q(…)  …r(…)  t(…)  s(…)  …  u(…)

2) Clausal form:

= Normalize the formulae to a (more simple) standard form.

•  only left;  only right
• no ~ ; no 

which is inconsistentif and only ifthe original set was inconsistent.

Notice: “x y … z“can be dropped.

u false  r(f(u))

z false  q(z)

x q(x)  r(x)  p(x)

Example:
• ~ u r(f(u))
• z ~ q(z)
• y p(f(y))

: is already in clausal form: ( P  P  true)

• x p(x)  q(x)  r(x)

Ps: usually requires much more work!

Ex.: p(f(A),y) p(x, g(x))

• Ex.: x must become: f(A)
• g(x) must become: g(f(A))
• y must become: g(f(A))

p(f(A), g(f(A)))

3) Unification:
• Given 2 atomic formulae:
• find their most general common instance.
• Most general unifier (mgu) : x -> f(A)
• y -> g(f(A))

Modus tollens

Modus ponens

P  Q

P

Q

P  Q

~Q

~P

Q  P

P  true

Q true

Q  P

false  Q

false  P

Resolution

P1 P2  …  PnQ1  ...  Qm

R1  …  Rk P1 S1  …  Sl

P2 …  Pn  R1  …  RkQ1  ...  Qm  S1  …  Sl

4) The resolution step
• Proposition logic:

p(x,f(A)) q(g(x))

r(z) p(B,z)

r(f(A))  q(g(B))

mgu(p(x,f(A)),p(B,z)) =

x-> B

z-> f(A)

De resolutie step (2):
• Predicate logic:
• Example:

= mgu applied tor(z) q(g(x))

Clauses on which resolution is performed

must not have any variables in common.

select 2 of them, for which resolution is possible

AND inconsistency of the original set

AND that F was implied by T

5) Resolution proofs:
• In order to prove a set of clauses inconsistent:
• apply resolution and add the result to the set
• if you obtain the clause false : STOP !

This means inconsistency of the last set

q(x)  r(x)  p(x)

false  r(f(u))

x -> f(u)

q(f(u))  p(f(u))

false  q(z)

z -> f(u)

false  p(f(u))

p(f(y))

y -> u

false 

Example:

So: inconsistent !

Ground Horn Logic

Modus ponens

Horn Logic

Unification

Clausal Logic

Resolution

Full Predicate Logic

Normalization

### A deeper study:

All formulae in T are of the form:

• x1 … xk A B1 B2 … Bn
Horn clause logic
• where A, B1, B2,…,Bn are atoms.
• An atom is a formula of the form p(t1,…,tm), with p a predicate symbol and t1,…,tm terms.
• Horn clause formulae are universally quantified over all variables that occur in them.
• B1,…,Bn are called body-atoms of the Horn clause; A is the head of the Horn clause.
• n may be 0: in this case we say that the Horn clause is a fact.
• where B1, B2, …, Bn are again atoms.

x1 … xk B1  B2  … Bn

Wich kind of formulaecan we prove?
• All variables are existentially quantified !
A very simple example:
• Bosmans is a showmaster (1)
• Showmasters are rich (2)
• Rich people have big houses (3)
• Big houses need a lot of maintenance (4)
• Goal: automatically deduce that Bosmans’ house needs a lot of maintenance.
Representation in Horn logica:
• Bosmans is a showmaster (1)
• Showmasters are rich (2)
• Rich people have big houses (3)
• Big houses need a lot of maintenance (4)
• To prove:

showmaster(Bosmans)

p rich(p)  showmaster(p)

p big(house(p))  rich(p)

p lot_maint(house(p))  big(house(p))

Lot_maint(house(Bosmans))

### AR for ground Horn clause logic

Backward reasoning proof procedures based on generalized Modus Ponens

So, for now: Horn clauses without variables:

• Example:

showmaster(Bosmans)

rich(Bosmans)  showmaster(Bosmans)

big(house(Bosmans))  rich(Bosmans)

lot_maint(house(Bosmans))  big(house(Bosmans))

• Prove:

lot_maint(house(Bosman))

Restricting to groundHorn clauses:

3 applications of modus ponens:

showm(Bos)

rich(Bos)  showm(Bos)

rich(Bos)

big(house(Bos))  rich(Bos)

big(house(Bos))

lot_maint(house(Bos))  big(house(Bos))

lot_maint(house(Bos))

• gives the desired conclusion.
Easy with modus ponens !

Modus ponens is correct:

B

A  B

For any interpretation making both B and A  B true(= any model of {B , A  B} )

A

Modus ponens in AR:

A is also true in this interpretation (see truth tables)

• Problem: how to organize this into a procedure which is also complete(for ground Horn clauses)?

Theorem:

Let T be a theory and F a formula.

T implies Fif and only if T  {~F} is inconsistent.

Inconsistency:
• A theory T is inconsistent if it has NO model.
• Proof:

T implies F iff Each model of T makes F true

iff Each model of T makes ~F false

iffT  {~F} has no model

iffT  {~F} is inconsistent

Prove that the theory:

The extended example:

showm(Bos)

belg(Bos)

european(Bos)  belg(Bos)

rich(Bos)  showm(Bos)  european(Bos)

big(house(Bos))  rich(Bos)

lot_maint(house(Bos))  big(house(Bos))

~ lot_maint(house(Bos))

• is inconsistent.
• Problem: this is NOT a Horn clause theory !?

We introduce a new predicate symbol:

false

Refutation proofs:the “false” predicate
• We agree that false has the truth value ‘false’ under every interpretation.
• Imagine that we defined false as : false p  ~p for some predicate p

In the Horn logic setting F has the form:

x1 … xm B1  B2  … Bn

“definite” goals:
• So what is the form of ~F?
• ~(x1 … xm B1  B2  … Bn)
•  x1 … xm ~(B1  B2  … Bn)
•  x1 … xm false  ~(B1  B2  … Bn)
•  x1 … xm false  B1  B2  … Bn

A  ~B  A  B

• Observe: ~F is again a Horn clause !!

The extended theory (to be proven inconsistent) now is:

showm(Bos)

belg(Bos)

european(Bos)  belg(Bos)

rich(Bos)  showm(Bos)  european(Bos)

big(house(Bos))  rich(Bos)

lot_maint(house(Bos))  big(house(Bos))

false  lot_maint(house(Bos))

Back to the example
• a ground Horn clause theory !

A  B1  B2  … Bi …  Bn

Bi  C1  C2  …  Cm

A  B1  B2  … C1  C2  …  Cm …  Bn

Modus ponensgeneralized:
• Ordinary Modus ponens is the special case with:
• n = i = 1 and m =0
• Correctness: via truth tables

false  lot_maint(house(Bos))

lot_maint(house(Bos))  big(house(Bos))

false  big(house(Bos))

big(house(Bos))  rich(Bos)

Some backward reasoning steps in the example:
• and so on ...

false  big(house(Bos))

false  rich(Bos)

Convert F into a definite goal:

false  B1  B2  …  Bi  …  Bn

• until: is deduced.

false 

we have proven inconsistency ofT  {~F}

The backward procedure:the idea
• Apply generalized modus ponens to the body-atoms Bi of the goal, using the Horn clauses of T
• Then: a false formula ia a consequence of T  {~F}

Goal := false  B1  B2  …  Bn;

Repeat

Select someBiatom from the body of Goal

Select some clauseBi  C1  C2  …  CmfromT

ReplaceBiin the body of Goal byC1  C2  …  Cm

UntilGoal = false  or no more Selections possible

Backwards procedure
• On top of this you need to apply backtracking over the selected clauses and the selected body atoms.
• If the algorithm stops because it has tried all these alternatives: F was not implied!
Back to the example

Step 0: Goal :=false lot_maint(house(Bos))

select: lot_maint(house(Bos))  big(house(Bos))

Step 1: Goal :=false big(house(Bos))

select: big(house(Bos))  rich(Bos)

Step 2: Goal :=false rich(Bos)

select: rich(Bos)  showm(Bos)  european(Bos)

Step 3: Goal :=false showm(Bos)  european(Bos)

select:showm(Bos)

Step 4: Goal :=false european(Bos)

select:european(Bos)  belg(Bos)

Step 5: Goal :=false belg(Bos)

select: belg(Bos)

Step 6: Goal :=false 

p  q  r

q  t

q  s

r  n

r  o

s

o

n

Another example (propositional)
• Prove: p
• Observe: non-determinism on both atom selection and on clause selection !
• we only illustrate the clause selection here

false q r

false t r

false  s r

false r

false n

false o

false 

false 

Search tree traversed bythe backward procedure

false p

p  q  r

q  t

q  s

r  n

r  o

s

o

n

The backwardprocedure is efficient
• The proof is goal directed towards the theorem.
• no exploration of irrelevant rules
• Different search methodescan be used to traverse this search tree.
• Atom-selection may influence efficiency too:
• ex.: by detecting a failing branch sooner
• but has no impact on whether or not we find a solution

(in case there are only finitely many ground Horn clauses)

(2)

(1)

false  p

false 

(1)

false  p

(1)

……

Completeness:
• Example:

false  p

p  p(1)

p (2)

• Possible derivations:

false  p

• Is only complete if the search tree is traversed using a complete search method.

Example:

showm(Bos) showm_Bos

big(house(Bos)) big_house_Bos

Representation-power of ground Horn clauses
• Is  a subset of propositional logic.
• In general, more expressive logics are needed.
• Essence: with variables, one formula may be equivalent to a very large number of propositional formulae.