Download presentation
Presentation is loading. Please wait.
Published byVanessa Boyd Modified over 9 years ago
1
Automated Reasoning Systems For first order Predicate Logic
2
2 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 Is F a logical consequence of T ? Notation: T |= F (T implies F) Find reasoning techniques that allow to decide on this for EACH F and T. Requirements: correctness -- completeness -- efficiency
3
3 AR: decidability. There CANNOT EXIST AN ALGORITHM that decides whether T |= F, for any theory T and any formula F. Theorem Church ‘36: There exists a reasoning technique, such that for any theory T and formula F, such that T |= F, the reasoning technique proves T |= F. SO: if F follows from T, then we find a proof, else it is possible that the procedure doesn’t terminate. BUT: semi-decidable ! Completeness Theorem of Goedel ‘31:
4
4 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) 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...
5
5 AR: general outline (1). First we sketch the most generally used approach for automated reasoning in first-order logic: backward resolution The different technical components will only be explained in full detail in a second pass (outline (2)).
6
6 AR: general outline (2). We study different subsets of predicate logic: ground Horn clause 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.
7
Backward Reasoning Resolution … in a nutshell
8
8 Backward resolution: 0) The task: an example. 1) Proof by inconsistency. 2) Conversion to clausal form. 3) Unification. 4) The resolution step. 5) (Backward) resolution proofs.
9
9 0) The TASK (example): Are axioms: describe knowledge about some world. z ~ q(z) y p(f(y)) x p(x) q(x) r(x) T How to prove such theorems in general? u r(f(u)) In this world, is always true ? F p = parent f = father r = rich q = old
10
10 1) Proof by inconsistency u r(f(u)) F Don’t prove F directly: But add the negation of F to the axioms and prove that this extension is inconsistent. ~ u r(f(u)) z ~ q(z) y p(f(y)) x p(x) q(x) r(x) NEW TASK: is inconsistent. the 4 axioms are never true in 1 same interpretation.
11
11 2) Clausal form: = Normalize the formulae to a (more simple) standard form. Notice: “ x y … z “ can be dropped. Each set of axioms can be transformed into a new set of formulae, that contains only formulae of the form: x y… z p(…) q(…) … r(…) t(…) s(…) … u(…) which is inconsistent if and only if the original set was inconsistent. only left; only right only left; only right no ~ ; no
12
12 Example: Ps: usually requires much more work! : is already in clausal form: ( P P true ) ~ u r(f(u)) u false r(f(u)) z ~ q(z) z false q(z) y p(f(y)) x p(x) q(x) r(x) x q(x) r(x) p(x)
13
13 3) Unification: Given 2 atomic formulae: Ex.: p(f(A),y) p(x, g(x)) find their most general common instance. 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))) Most general unifier (mgu) : x -> f(A) y -> g(f(A))
14
14 4) The resolution step Proposition logic: P Q P Q ~Q ~Q~P P1 P2 … Pn Q1 ... Qm R1 … Rk P1 S1 … Sl P2 … Pn R1 … Rk Q1 ... Qm S1 … Sl Q P P true Q true Q P false Q false P
15
15 De resolutie step (2): Predicate logic: Example: 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 x -> B z -> f(A) z -> f(A) = mgu applied to r(z) q(g(x)) Clauses on which resolution is performed must not have any variables in common.
16
16 5) Resolution proofs: In order to prove a set of clauses inconsistent: select 2 of them, for which resolution is possible apply resolution and add the result to the set if you obtain the clause false : STOP ! This means inconsistency of the last set AND inconsistency of the original set AND that F was implied by T
17
17 Example: q(x) r(x) p(x) false r(f(u)) false q(z) p(f(y)) q(f(u)) p(f(u)) x -> f(u) false p(f(u)) z -> f(u) false false y -> u So: inconsistent !
18
A deeper study: Modus ponens Ground Horn Logic Unification Horn Logic Resolution Clausal Logic Clausal Logic Normalization Full Predicate Logic
19
19 Horn clause logic x1 … xk A B1 B2 … Bn All formulae in T are of the form: 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.
20
20 Wich kind of formulae can we prove? x1 … xk B1 B2 … Bn In Horn clause logic, we limit ourselves to prove formulae F of the form: where B1, B2, …, Bn are again atoms. All variables are existentially quantified !
21
21 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.
22
22 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))
23
AR for ground Horn clause logic Backward reasoning proof procedures based on generalized Modus Ponens
24
24 Restricting to ground Horn clauses: showmaster(Bosmans) rich(Bosmans) showmaster(Bosmans) big(house(Bosmans)) rich(Bosmans) lot_maint(house(Bosmans)) big(house(Bosmans)) So, for now: Horn clauses without variables: Example: lot_maint(house(Bosman)) Prove:
25
25 Easy with modus ponens ! big(house(Bos)) rich(Bos) big(house(Bos)) 3 applications of modus ponens: showm(Bos) rich(Bos) showm(Bos) rich(Bos) gives the desired conclusion. lot_maint(house(Bos)) big(house(Bos)) lot_maint(house(Bos))
26
26 Modus ponens in AR: B A B A For any interpretation making both B and A B true (= any model of {B, A B} ) Modus ponens is correct: 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)?
27
27 Inconsistency: T implies F iff Each model of T makes F true iff Each model of T makes ~F false iff T {~F} has no model iff T {~F} is inconsistent A theory T is inconsistent if it has NO model. Let T be a theory and F a formula. T implies F if and only if T {~F} is inconsistent. Theorem: Proof:
28
28 The extended example: Prove that the theory: 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 !?
29
29 Refutation proofs: the “false” predicate false We introduce a new predicate symbol: 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
30
30 “definite” goals: In the Horn logic setting F has the form: x1 … xm B1 B2 … Bn 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 !!
31
31 Back to the example a ground Horn clause theory ! 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)) The extended theory (to be proven inconsistent) now is:
32
32 Modus ponens generalized: Ordinary Modus ponens is the special case with: n = i = 1 and m =0 Correctness: via truth tables A B1 B2 … Bi … Bn Bi C1 C2 … Cm A B1 B2 … C1 C2 … Cm … Bn
33
33 Some backward reasoning steps in the example: and so on... false lot_maint(house(Bos)) lot_maint(house(Bos)) big(house(Bos)) false big(house(Bos)) big(house(Bos)) rich(Bos) false rich(Bos)
34
34 The backward procedure: the idea Convert F into a definite goal: false B1 B2 … Bi … Bn Apply generalized modus ponens to the body-atoms Bi of the goal, using the Horn clauses of T until: is deduced. false Then: a false formula ia a consequence of T {~F} we have proven inconsistency of T {~F}
35
35 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! Goal := false B1 B2 … Bn ; Repeat Select some Bi atom from the body of Goal Select some clause Bi C1 C2 … Cm from T Select some clause Bi C1 C2 … Cm from T Replace Bi in the body of Goal by C1 C2 … Cm Until Goal = false or no more Selections possible
36
36 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
37
37 p q r q t q s r n r o son Another example (propositional) Prove: p Observe: non-determinism on both atom selection and on clause selection ! we only illustrate the clause selection here
38
38 Search tree traversed by the backward procedure p q r q t q s r n r o son false p false q r false t r false s r false r false n false o false
39
39 The backward procedure is efficient The proof is goal directed towards the theorem. no exploration of irrelevant rules Different search methodes can 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) (in case there are only finitely many ground Horn clauses)
40
40 Completeness: Example: false p p p (1) p (2) Possible derivations: false p (1) (1) ……(1) false (2) Is only complete if the search tree is traversed using a complete search method.
41
41 Representation-power of ground Horn clauses Is a subset of propositional logic. showm(Bos) showm_Bos big(house(Bos)) big_house_Bos Example: In general, more expressive logics are needed. Essence: with variables, one formula may be equivalent to a very large number of propositional formulae.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.