FDPLL A First-Order Davis-Putnam-Logemann-Loveland Procedure - - PowerPoint PPT Presentation

fdpll a first order davis putnam logemann loveland
SMART_READER_LITE
LIVE PREVIEW

FDPLL A First-Order Davis-Putnam-Logemann-Loveland Procedure - - PowerPoint PPT Presentation

FDPLL A First-Order Davis-Putnam-Logemann-Loveland Procedure Peter Baumgartner Institut f ur Informatik Universit at Koblenz-Landau Germany http://www.uni-koblenz.de/~peter/ FDPLL A First-Order Davis-Putnam-Logemann-Loveland


slide-1
SLIDE 1

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure

Peter Baumgartner Institut f¨ ur Informatik Universit¨ at Koblenz-Landau Germany http://www.uni-koblenz.de/~peter/

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.1

slide-2
SLIDE 2

Theorem Proving

Theorem proving is about . . . Logics (Propositional, First-Order, Higher-Order, Modal, Description, . . . ) Calculi and proof procedures (Resolution,. . . ) Systems (Interactive, Automated) Applications (Knowledge Representation, Verification, . . . )

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.2

slide-3
SLIDE 3

Theorem Proving

Theorem proving is about . . . Logics (Propositional, First-Order, Higher-Order, Modal, Description, . . . ) Calculi and proof procedures (Resolution,. . . ) Systems (Interactive, Automated) Applications (Knowledge Representation, Verification, . . . ) Milestones 60s: Calculi: DPLL, Resolution, Model Elimination 70s: Logic Programming 80s: Knowledge Representation 90s: “A Basis for Applications” 2000s: Semantic Web, Ontologies, SW-Engineering

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.2

slide-4
SLIDE 4

Theorem Proving

Theorem proving is about . . . Logics (Propositional, First-Order, Higher-Order, Modal, Description, . . . ) Calculi and proof procedures (Resolution, . . . ) Systems (Interactive, Automated) Applications (Knowledge Representation, Verification, . . . ) Milestones 60s: Calculi: DPLL, Resolution, Model Elimination 70s: Logic Programming 80s: Knowledge Representation 90s: “A Basis for Applications” 2000s: Semantic Web, Ontologies, SW-Engineering

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.3

slide-5
SLIDE 5

Two Separated Worlds

First-Order Reasoning Propositional Reasoning Techniques Resolution DPLL Model Elimination OBDD Hyper Linking Stalmarck’s Method Tableaux Stochastic (GSAT) Systems E, Otter, Setheo, SNARK, Spass, Vampire Chaff, SMV, Heerhugo, FACT, WalkSat Applications SW-Verification (Limited) Symbolic Model Checking Mathematics Mathematics Discourse Representation Planning, Description Logics TPTP Nonmonotonic Reasoning

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.4

slide-6
SLIDE 6

Two Separated Worlds

First-Order Reasoning Propositional Reasoning Techniques Resolution DPLL Model Elimination OBDD Hyper Linking Stalmarck’s Method Tableaux Stochastic (GSAT) Systems E, Otter, Setheo, SNARK, Spass, Vampire Chaff, SMV, Heerhugo, FACT, WalkSat Applications SW-Verification (Limited) Symbolic Model Checking Mathematics Mathematics Discourse Representation Planning, Description Logics TPTP Nonmonotonic Reasoning

Can couple these worlds more closely?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.4

slide-7
SLIDE 7

Motivation

DPLL: Successfully used for propositional logic FDPLL: New lifting of DPLL to first-order logic Why?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.5

slide-8
SLIDE 8

Motivation

DPLL: Successfully used for propositional logic FDPLL: New lifting of DPLL to first-order logic Why? Use successful first-order techniques (unification, redundancy tests)

Unification: unify{P(a, y), P(x, f(x))} = {P(a, f(a))}

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.5

slide-9
SLIDE 9

Motivation

DPLL: Successfully used for propositional logic FDPLL: New lifting of DPLL to first-order logic Why? Use successful first-order techniques (unification, redundancy tests) Close a gap in the calculus landscape

Unification: unify{P(a, y), P(x, f(x))} = {P(a, f(a))}

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.5

slide-10
SLIDE 10

Motivation

DPLL: Successfully used for propositional logic FDPLL: New lifting of DPLL to first-order logic Why? Use successful first-order techniques (unification, redundancy tests) Close a gap in the calculus landscape Theorem Proving: Alternative to Resolution, Model Elimination

Unification: unify{P(a, y), P(x, f(x))} = {P(a, f(a))} Theorem Proving: Axioms

?

| = Conjecture

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.5

slide-11
SLIDE 11

Motivation

DPLL: Successfully used for propositional logic FDPLL: New lifting of DPLL to first-order logic Why? Use successful first-order techniques (unification, redundancy tests) Close a gap in the calculus landscape Theorem Proving: Alternative to Resolution, Model Elimination Model computation (Counterexamples, diagnosis, abduction, planning, nonmonotonic reasoning,. . . – largely unexplored)

Unification: unify{P(a, y), P(x, f(x))} = {P(a, f(a))} Theorem Proving: Axioms

?

| = Conjecture Model Computation: Is Axioms ∧ ¬Conjecture satisfiable? Axioms

?

| = Conjecture

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.5

slide-12
SLIDE 12

Motivation

DPLL: Successfully used for propositional logic FDPLL: New lifting of DPLL to first-order logic Why? Use successful first-order techniques (unification, redundancy tests) Close a gap in the calculus landscape Theorem Proving: Alternative to Resolution, Model Elimination Model computation (Counterexamples, diagnosis, abduction, planning, nonmonotonic reasoning,. . . – largely unexplored) (Dream) Bring first-order reasoning to domains that are successfully tackled with propositional DPLL

Unification: unify{P(a, y), P(x, f(x))} = {P(a, f(a))} Theorem Proving: Axioms

?

| = Conjecture Model Computation: Is Axioms ∧ ¬Conjecture satisfiable? Axioms

?

| = Conjecture

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.5

slide-13
SLIDE 13

Overview

Propositional DPLL as a semantic tree method First-Order DPLL so far FDPLL Relation to other calculi

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.6

slide-14
SLIDE 14

Notation

Propositional clause: a disjunction of literals, e.g. A ∨ B ∨ ¬C ∨ ¬D Propositional clause set: a finite set of propositional clauses.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.7

slide-15
SLIDE 15

Notation

Propositional clause: a disjunction of literals, e.g. A ∨ B ∨ ¬C ∨ ¬D Propositional clause set: a finite set of propositional clauses. Interpretation: maps atoms to {true, false}, e.g. A B C D true false true false Representation by consistent sets of literals, e.g. (all the same) {A, C} {A, ¬B, C} {A, ¬B, C, ¬D}

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.7

slide-16
SLIDE 16

Notation

Propositional clause: a disjunction of literals, e.g. A ∨ B ∨ ¬C ∨ ¬D Propositional clause set: a finite set of propositional clauses. Interpretation: maps atoms to {true, false}, e.g. A B C D true false true false Representation by consistent sets of literals, e.g. (all the same) {A, C} {A, ¬B, C} {A, ¬B, C, ¬D} Model: an interpretation such that every clause is satisfied, e.g. {A, C} | = {A ∨ B ∨ ¬C ∨ ¬D} {A, C} | = {A ∨ B ∨ ¬C ∨ ¬D, ¬A ∨ B} A clause set is satisfiable iff a model for it exists, otherwise unsatisfiable.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.7

slide-17
SLIDE 17

Propositional DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D ∨ ¬B

{} | = A ∨ B {} | = C ∨ ¬A {} | = D ∨ ¬C ∨ ¬A {} | = ¬D ∨ ¬B empty tree

A Branch stands for an interpretation Purpose of splitting: Satisfy a clause that is currently “false” Close branch if some clause plainly contradicts it (⋆)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.8

slide-18
SLIDE 18

Propositional DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D ∨ ¬B

{A} | = A ∨ B {A} | = C ∨ ¬A {A} | = D ∨ ¬C ∨ ¬A {A} | = ¬D ∨ ¬B A ¬A

A Branch stands for an interpretation Purpose of splitting: Satisfy a clause that is currently “false” Close branch if some clause plainly contradicts it (⋆)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.8

slide-19
SLIDE 19

Propositional DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D ∨ ¬B

{A, C} | = A ∨ B {A, C} | = C ∨ ¬A {A, C} | = D ∨ ¬C ∨ ¬A {A, C} | = ¬D ∨ ¬B A C ¬C ¬A ⋆

A Branch stands for an interpretation Purpose of splitting: Satisfy a clause that is currently “false” Close branch if some clause plainly contradicts it (⋆)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.8

slide-20
SLIDE 20

Propositional DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D ∨ ¬B

{A, C, D} | = A ∨ B {A, C, D} | = C ∨ ¬A {A, C, D} | = D ∨ ¬C ∨ ¬A {A, C, D} | = ¬D ∨ ¬B A C ¬C D ¬D ¬A ⋆ ⋆ Model {A, C, D} found.

A Branch stands for an interpretation Purpose of splitting: Satisfy a clause that is currently “false” Close branch if some clause plainly contradicts it (⋆)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.8

slide-21
SLIDE 21

Propositional DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D ∨ ¬B

{B} | = A ∨ B {B} | = C ∨ ¬A {B} | = D ∨ ¬C ∨ ¬A {B} | = ¬D ∨ ¬B A C ¬C D ¬D ¬A ¬B ⋆ ⋆ ⋆ Model {B} found. B

A Branch stands for an interpretation Purpose of splitting: Satisfy a clause that is currently “false” Close branch if some clause plainly contradicts it (⋆)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.8

slide-22
SLIDE 22

Propositional DPLL as a Semantic Tree Method

(1) A ∨ B (2) C ∨ ¬A (3) D ∨ ¬C ∨ ¬A (4) ¬D ∨ ¬B

{B} | = A ∨ B {B} | = C ∨ ¬A {B} | = D ∨ ¬C ∨ ¬A {B} | = ¬D ∨ ¬B A C ¬C D ¬D ¬A ¬B ⋆ ⋆ ⋆ Model {B} found. B

A Branch stands for an interpretation Purpose of splitting: Satisfy a clause that is currently “false” Close branch if some clause plainly contradicts it (⋆) Sound and complete, also for (minimal) model reasoning

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.8

slide-23
SLIDE 23

DP vs. DPLL

Two versions of the main inference rule: Davis, Putnam 1960: “Rule for eliminating atomic formulas”:

  • 1. Select an atom A
  • 2. Resolve (!) on all clauses A ∨ . . . and ¬A ∨ . . .
  • 3. Delete all clauses A ∨ . . . and ¬A ∨ . . .

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.9

slide-24
SLIDE 24

DP vs. DPLL

Two versions of the main inference rule: Davis, Putnam 1960: “Rule for eliminating atomic formulas”:

  • 1. Select an atom A
  • 2. Resolve (!) on all clauses A ∨ . . . and ¬A ∨ . . .
  • 3. Delete all clauses A ∨ . . . and ¬A ∨ . . .

Problem: Step 2 involves multiplying out -formula to -formula

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.9

slide-25
SLIDE 25

DP vs. DPLL

Two versions of the main inference rule: Davis, Putnam 1960: “Rule for eliminating atomic formulas”:

  • 1. Select an atom A
  • 2. Resolve (!) on all clauses A ∨ . . . and ¬A ∨ . . .
  • 3. Delete all clauses A ∨ . . . and ¬A ∨ . . .

Problem: Step 2 involves multiplying out -formula to -formula Solution: Davis, Logemann, Loveland 1962: “Splitting Rule”:

  • 1. Select an atom A
  • 2. Split into cases A and ¬A.
  • 3. In each case, simplify according to new information.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.9

slide-26
SLIDE 26

DP vs. DPLL

Two versions of the main inference rule: Davis, Putnam 1960: “Rule for eliminating atomic formulas”:

  • 1. Select an atom A
  • 2. Resolve (!) on all clauses A ∨ . . . and ¬A ∨ . . .
  • 3. Delete all clauses A ∨ . . . and ¬A ∨ . . .

Problem: Step 2 involves multiplying out -formula to -formula Solution: Davis, Logemann, Loveland 1962: “Splitting Rule”:

  • 1. Select an atom A
  • 2. Split into cases A and ¬A.
  • 3. In each case, simplify according to new information.

Davis 1963; Chinlund, Davis, Hinman, McIlroy 1964: Improvement of first-order case.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.9

slide-27
SLIDE 27

Overview

Propositional DPLL as a semantic tree method ✔ First-Order DPLL so far FDPLL Relation to other calculi

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.10

slide-28
SLIDE 28

DPLL - The First-Order Case (1962)

Grounding Propositional DPLL

→ ∃y P(y, a)

Given Formula

P(f(x), x) ¬P(y, a)

Clause Form

∀x ∃y P(y, x)

Preprocessing: Outer loop: Inner loop:

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.11

slide-29
SLIDE 29

DPLL - The First-Order Case (1962)

Grounding Propositional DPLL

→ ∃y P(y, a)

Given Formula

P(f(x), x) ¬P(y, a)

Clause Form

P(f(a), a) ¬P(a, a) ∀x ∃y P(y, x)

Preprocessing: Outer loop: Inner loop:

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.11

slide-30
SLIDE 30

DPLL - The First-Order Case (1962)

Proof found Grounding Propositional DPLL Outer Loop STOP:

→ ∃y P(y, a)

Given Formula

P(f(x), x) ¬P(y, a)

Clause Form

P(f(a), a) ¬P(a, a) Sat? ∀x ∃y P(y, x)

No Preprocessing: Outer loop: Inner loop: Yes Continue

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.11

slide-31
SLIDE 31

DPLL - The First-Order Case (1962)

Grounding Propositional DPLL

→ ∃y P(y, a)

Given Formula

P(f(a), a) ¬P(a, a) P(f(x), x) ¬P(y, a)

Clause Form

P(f(a), a) ¬P(a, a) ∀x ∃y P(y, x)

Preprocessing: Outer loop: Inner loop:

¬P(f(a), a)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.11

slide-32
SLIDE 32

DPLL - The First-Order Case (1962)

Grounding Propositional DPLL Outer Loop Proof found

→ ∃y P(y, a)

Given Formula

P(f(a), a) ¬P(a, a) P(f(x), x) ¬P(y, a)

Clause Form

P(f(a), a) ¬P(a, a) ∀x ∃y P(y, x)

Preprocessing: Outer loop: Inner loop:

Sat?

No Yes Continue STOP:

¬P(f(a), a)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.11

slide-33
SLIDE 33

DPLL - The First-Order Case (1962)

Grounding Propositional DPLL Outer Loop Proof found

→ ∃y P(y, a)

Given Formula

P(f(a), a) ¬P(a, a) P(f(x), x) ¬P(y, a)

Clause Form

P(f(a), a) ¬P(a, a) ∀x ∃y P(y, x)

Preprocessing: Outer loop: Inner loop:

Sat?

No Yes Continue STOP:

¬P(f(a), a)

Problems/Issues: Controlling the grounding process in outer loop (irrelevant clauses) Repeat work across inner loops Weak redundancy criterion within inner loop

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.11

slide-34
SLIDE 34

Controlling the Grounding Process

Davis 1963; Chinlund, Davis, Hinman, McIlroy 1964: “Linked Conjunct Method”:

Admissible clause set: P(a) ∨ Q(a) ¬P(a) ∨ Q(a) ¬Q(a) ∨ P(a) Every literal has a mate Non-admissible clause set: P(b) ∨ Q(a) ¬P(a) ∨ Q(a) ¬Q(a) ∨ P(a) The literal P(b) is pure

Anticipates unification! Note: Robinson paper on Resolution 1965

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.12

slide-35
SLIDE 35

Controlling the Grounding Process

Davis 1963; Chinlund, Davis, Hinman, McIlroy 1964: “Linked Conjunct Method”:

Admissible clause set: P(a) ∨ Q(a) ¬P(a) ∨ Q(a) ¬Q(a) ∨ P(a) Every literal has a mate Non-admissible clause set: P(b) ∨ Q(a) ¬P(a) ∨ Q(a) ¬Q(a) ∨ P(a) The literal P(b) is pure

Anticipates unification! Note: Robinson paper on Resolution 1965 Some more recent work in this tradition: Lee&Plaisted 1992, Chu&Plaisted 1994, Plaisted & Zhu 1997: (O)(S)HL Billon 1996: Disconnection Method Baumgartner 1998: Hyper Tableaux Next Generation Parkes 1999: Lifted Search Engines for Satisfiability May show very good performance!

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.12

slide-36
SLIDE 36

Summary / Further Plan

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.13

slide-37
SLIDE 37

Summary / Further Plan

Instance based methods reduce first-order to propositional logic

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.13

slide-38
SLIDE 38

Summary / Further Plan

Instance based methods reduce first-order to propositional logic E.g. Resolution performs intrinsic first-order reasoning Advantages: Representation: Infinitely many inferences finitely represented:

P(f(x), x) ¬P(y, z) ∨ Q(y, z) Q(f(x), x)

Infinitely many inferences in instance based methods

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.13

slide-39
SLIDE 39

Summary / Further Plan

Instance based methods reduce first-order to propositional logic E.g. Resolution performs intrinsic first-order reasoning Advantages: Representation: Infinitely many inferences finitely represented:

P(f(x), x) ¬P(y, z) ∨ Q(y, z) Q(f(x), x)

Infinitely many inferences in instance based methods Redundancy testing: E.g. by subsumption: ¬P(y, z) subsumes ¬P(y, y) ∨ Q(y, y) Lack of redundancy testing in instance based methods

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.13

slide-40
SLIDE 40

Overview

Propositional DPLL as a semantic tree method ✔ First-Order DPLL so far ✔ FDPLL Relation to other calculi

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.14

slide-41
SLIDE 41

Meta-Level Strategy

Lifted data structures: Propositional Reasoning First-Order Reasoning Resolution A ∨ ¬B ∨ C P(x, y) ∨ ¬Q(x, z) ∨ R(y, z)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.15

slide-42
SLIDE 42

Meta-Level Strategy

Lifted data structures: Propositional Reasoning First-Order Reasoning Resolution A ∨ ¬B ∨ C P(x, y) ∨ ¬Q(x, z) ∨ R(y, z) DPLL

B A ¬A ¬B C ¬C ⋆ P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) ¬Q(x, y) ⋆ Q(x, y)

FDPLL: First-Order Semantic Trees

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.15

slide-43
SLIDE 43

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) ¬Q(x, y) ⋆ Q(x, y)

Issues: One-branch-at-a-time approach desired

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.16

slide-44
SLIDE 44

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) ¬Q(x, y) ⋆ Q(x, y)

Issues: One-branch-at-a-time approach desired How are variables treated? (a) Universal, as in Resolution?, (b) Rigid, as in Tableaux? (c) Schema!

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.16

slide-45
SLIDE 45

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) ¬Q(x, y) ⋆ Q(x, y)

Issues: One-branch-at-a-time approach desired How are variables treated? (a) Universal, as in Resolution?, (b) Rigid, as in Tableaux? (c) Schema! How to extract an interpretation from a branch?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.16

slide-46
SLIDE 46

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) ¬Q(x, y) ⋆ Q(x, y)

Issues: One-branch-at-a-time approach desired How are variables treated? (a) Universal, as in Resolution?, (b) Rigid, as in Tableaux? (c) Schema! How to extract an interpretation from a branch? When is a branch closed?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.16

slide-47
SLIDE 47

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) ¬Q(x, y) ⋆ Q(x, y)

Issues: One-branch-at-a-time approach desired How are variables treated? (a) Universal, as in Resolution?, (b) Rigid, as in Tableaux? (c) Schema! How to extract an interpretation from a branch? When is a branch closed? How to construct such trees (calculus)?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.16

slide-48
SLIDE 48

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) Q(x, y) ¬Q(x, y) ⋆

Issues: One-branch-at-a-time approach desired How are variables treated? (a) Universal, as in Resolution?, (b) Rigid, as in Tableaux? (c) Schema! How to extract an interpretation from a branch? When is a branch closed? How to construct such trees (calculus)?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.17

slide-49
SLIDE 49

Extracting an Interpretation from a Branch

Branch B: P(x, y) Interpretation [ [B] ] = {...}:

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-50
SLIDE 50

Extracting an Interpretation from a Branch

Branch B: P(a, a) P(a, b) P(b, a) P(b, b) P(x, y) Interpretation [ [B] ] = {...}:

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-51
SLIDE 51

Extracting an Interpretation from a Branch

Branch B: P(a, a) P(a, b) P(b, a) P(b, b) P(x, y) ¬P(a, y) Interpretation [ [B] ] = {...}:

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-52
SLIDE 52

Extracting an Interpretation from a Branch

Branch B: ¬P(a, a) ¬P(a, b) P(b, a) P(b, b) P(x, y) ¬P(a, y) Interpretation [ [B] ] = {...}:

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-53
SLIDE 53

Extracting an Interpretation from a Branch

Branch B: ¬P(a, a) ¬P(a, b) P(b, a) P(b, b) P(x, y) ¬P(a, y) ¬P(b, b) Interpretation [ [B] ] = {...}:

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-54
SLIDE 54

Extracting an Interpretation from a Branch

Branch B: ¬P(a, a) ¬P(a, b) P(b, a) ¬P(b, b) P(x, y) ¬P(a, y) ¬P(b, b) Interpretation [ [B] ] = {...}:

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-55
SLIDE 55

Extracting an Interpretation from a Branch

Branch B: ¬P(a, a) ¬P(a, b) P(b, a) ¬P(b, b) P(x, y) ¬P(a, y) ¬P(b, b) P(a, b) Interpretation [ [B] ] = {...}:

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-56
SLIDE 56

Extracting an Interpretation from a Branch

Branch B: ¬P(a, a) P(a, b) P(b, a) ¬P(b, b) P(x, y) ¬P(a, y) ¬P(b, b) P(a, b) Interpretation [ [B] ] = {...}:

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-57
SLIDE 57

Extracting an Interpretation from a Branch

Branch B: Interpretation [ [B] ] = {. . .}: { } , , , P(x, y) P(a, b) P(a, b) ¬P(a, y) ¬P(b, b) ¬P(a, a) P(b, a) ¬P(b, b)

A branch literal specifies the truth values for all its ground instances, unless there is a more specific literal specifying opposite truth values. The order of literals does not matter.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.18

slide-58
SLIDE 58

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) Q(x, y) ¬Q(x, y) ⋆

Issues: One-branch-at-a-time approach desired How are variables treated? (a) Universal, as in Resolution?, (b) Rigid, as in Tableaux? (c) Schema! How to extract an interpretation from a branch? ✔ When is a branch closed? How to construct such trees (calculus)?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.19

slide-59
SLIDE 59

Calculus: Branch Closure

Purpose: Determine if branch elementary contradicts an input clause. Propositional case:

¬C ¬B ⋆ ¬A A C B ∨ C closed by B

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.20

slide-60
SLIDE 60

Calculus: Branch Closure

Purpose: Determine if branch elementary contradicts an input clause. FDPLL case:

closed by ¬Q(x, y) ¬P(x, a) ¬P(x, y) P(x, y) Q(x, y) P(x, a) P(x, y) ∨ Q(x, x) ?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.20

slide-61
SLIDE 61

Calculus: Branch Closure

Purpose: Determine if branch elementary contradicts an input clause. FDPLL case:

¬Q($, $) ¬P($, a) ¬P($, $) P($, $) P(x, y) ∨ Q(x, x) P($, a) Q($, $)

  • 1. Replace all variables in tree by a constant $. Gives propositional tree

2. 3.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.20

slide-62
SLIDE 62

Calculus: Branch Closure

Purpose: Determine if branch elementary contradicts an input clause. FDPLL case:

¬Q($, $) ¬P($, a) ¬P($, $) P($, $) Q($, $) P($, a) ∨ Q($, $) γ = {x/$, y/a} P(x, y) ∨ Q(x, x) P($, a)

  • 1. Replace all variables in tree by a constant $. Gives propositional tree
  • 2. Compute matcher γ to propositionally close branch

3.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.20

slide-63
SLIDE 63

Calculus: Branch Closure

Purpose: Determine if branch elementary contradicts an input clause. FDPLL case:

closed by ¬Q(x, y) ¬P(x, a) ¬P(x, y) P(x, y) Q(x, y) P(x, y) ∨ Q(x, x) P(x, a) ⋆

  • 1. Replace all variables in tree by a constant $. Gives propositional tree
  • 2. Compute matcher γ to propositionally close branch
  • 3. Mark branch as closed (⋆)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.20

slide-64
SLIDE 64

Calculus: Branch Closure

Purpose: Determine if branch elementary contradicts an input clause. FDPLL case:

closed by ¬Q(x, y) ¬P(x, a) ¬P(x, y) P(x, y) Q(x, y) P(x, y) ∨ Q(x, x) P(x, a) ⋆

  • 1. Replace all variables in tree by a constant $. Gives propositional tree
  • 2. Compute matcher γ to propositionally close branch
  • 3. Mark branch as closed (⋆)

Theorem: FDPLL is sound (because propositional DPLL is sound), and splitting can be done with arbitrary literal.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.20

slide-65
SLIDE 65

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) Q(x, y) ¬Q(x, y) ⋆

Issues: How are variables treated? (a) Universal, as in Resolution?, (b) Rigid, as in Tableaux? (c) Schema! How to extract an interpretation from a branch? ✔ When is a branch closed? ✔ How to construct such trees (calculus)?

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.21

slide-66
SLIDE 66

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

empty tree

Init

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-67
SLIDE 67

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

⋆ ⋆

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-68
SLIDE 68

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

⋆ ⋆

Closed? No Yes

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-69
SLIDE 69

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

unsatisfiable

⋆ ⋆

Closed? No STOP: Yes

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-70
SLIDE 70

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

unsatisfiable branch B

⋆ ⋆ ⋆ ⋆

Closed? STOP: Yes B No Select open

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-71
SLIDE 71

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

branch B unsatisfiable B

⋆ ⋆ ⋆ ⋆

No Yes Closed? STOP: No Select open Yes [ [B] ]

?

| = S

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-72
SLIDE 72

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

branch B unsatisfiable satisfiable

⋆ ⋆ ⋆ ⋆

No Closed? STOP: No Select open Yes [ [B] ]

?

| = S Yes STOP:

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-73
SLIDE 73

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

branch B satisfiable unsatisfiable and split B with L and ¬L L ¬L

⋆ ⋆

STOP: Yes Closed? STOP: No Select open Yes [ [B] ]

?

| = S Select literal L No

⋆ ⋆

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-74
SLIDE 74

FDPLL Calculus

Input: a clause set S Output: “unsatisfiable” or “satisfiable” (if terminates)

Note: Strategy much like in inner loop of propositional DPLL:

branch B unsatisfiable and split B with L and ¬L satisfiable L ¬L

⋆ ⋆

Closed? STOP: No Select open Yes Select literal L No [ [B] ]

?

| = S Yes STOP:

⋆ ⋆

Next: Testing [ [B] ] | = S and splitting

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.22

slide-75
SLIDE 75

Calculus: The Splitting Rule

Purpose: Satisfy a clause that is currently “false”

P(y, a) ¬P(y, a) P(x, y) ∨ ¬P(y, x) ¬P(a, b) ¬P(a, y′) P(y′′, x′′) Some clause from S

1. 2. 3.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.23

slide-76
SLIDE 76

Calculus: The Splitting Rule

Purpose: Satisfy a clause that is currently “false”

P(y, a) ¬P(y, a) ¬P(a, b) ¬P(a, y′) P(y′′, x′′) σ = {x/a, . . .} P(x, y) ∨ ¬P(y, x) σ P(a, y) ∨ ¬P(y, a)

  • 1. Compute simultaneous most general unifier σ

2. 3.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.23

slide-77
SLIDE 77

Calculus: The Splitting Rule

Purpose: Satisfy a clause that is currently “false”

P(y′′, x′′) ¬P(a, y′) ¬P(a, b) P(x, y) ∨ ¬P(y, x) P(a, y) ∨ ¬P(y, a) σ = {x/a, . . .}

litsel

  • 1. Compute simultaneous most general unifier σ
  • 2. Select from clause instance a literal not on branch

3.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.23

slide-78
SLIDE 78

Calculus: The Splitting Rule

Purpose: Satisfy a clause that is currently “false”

P(y, a) ¬P(y, a) P(y′′, x′′) ¬P(a, b) ¬P(a, y′) P(x, y) ∨ ¬P(y, x) P(a, y) ∨ ¬P(y, a) σ = {x/a, . . .}

  • 1. Compute simultaneous most general unifier σ
  • 2. Select from clause instance a literal not on branch

3. Split with this literal

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.23

slide-79
SLIDE 79

Calculus: The Splitting Rule

Purpose: Satisfy a clause that is currently “false”

P(y, a) ¬P(y, a) ¬P(a, b) P(x, y) ∨ ¬P(y, x) ¬P(a, y′) P(y′′, x′′) {¬P(a, c), P(c, a), . . .} P(a, c) ∨ ¬P(c, a) | =

  • 1. Compute simultaneous most general unifier σ
  • 2. Select from clause instance a literal not on branch

3. Split with this literal This split was really necessary!

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.23

slide-80
SLIDE 80

Calculus: The Splitting Rule

Purpose: Satisfy a clause that is currently “false”

P(y, a) ¬P(y, a) ¬P(a, b) P(x, y) ∨ ¬P(y, x) ¬P(a, y′) P(y′′, x′′) {¬P(a, c), P(c, a), . . .} P(a, c) ∨ ¬P(c, a) | =

  • 1. Compute simultaneous most general unifier σ
  • 2. Select from clause instance a literal not on branch

3. Split with this literal This split was really necessary! Proposition: If [ [B] ] | = S, then split is applicable to some clause from S

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.23

slide-81
SLIDE 81

Calculus: The Splitting Rule – Another Example

Purpose: Satisfy a clause that is currently “false”

P(y, a) ¬P(y, a) P(x, y) ∨ ¬P(a, x) ¬P(a, b) ¬P(a, y′) P(y′′, x′′) Some clause from S

1. 2.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.24

slide-82
SLIDE 82

Calculus: The Splitting Rule – Another Example

Purpose: Satisfy a clause that is currently “false”

P(y, a) ¬P(y, a) σ ¬P(a, b) P(a, y) ∨ ¬P(a, a) ¬P(a, y′) P(y′′, x′′) σ = {x/a, . . .} P(x, y) ∨ ¬P(a, x)

  • 1. Compute MGU σ of clause against branch literals

2.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.24

slide-83
SLIDE 83

Calculus: The Splitting Rule – Another Example

Purpose: Satisfy a clause that is currently “false”

P(y′′, x′′) ¬P(a, y′) ¬P(a, b) P(x, y) ∨ ¬P(a, x) P(a, y) ∨ ¬P(a, a) σ = {x/a, . . .}

  • 1. Compute MGU σ of clause against branch literals
  • 2. If clause contains “true” literal, then split is not applicable

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.24

slide-84
SLIDE 84

Calculus: The Splitting Rule – Another Example

Purpose: Satisfy a clause that is currently “false”

P(y′′, x′′) ¬P(a, y′) ¬P(a, b) P(x, y) ∨ ¬P(a, x) P(a, y) ∨ ¬P(a, a) σ = {x/a, . . .}

  • 1. Compute MGU σ of clause against branch literals
  • 2. If clause contains “true” literal, then split is not applicable

Non-applicability is a redundancy test

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.24

slide-85
SLIDE 85

Calculus: The Splitting Rule – Another Example

Purpose: Satisfy a clause that is currently “false”

P(y′′, x′′) ¬P(a, y′) ¬P(a, b) P(x, y) ∨ ¬P(a, x) P(a, y) ∨ ¬P(a, a) σ = {x/a, . . .}

  • 1. Compute MGU σ of clause against branch literals
  • 2. If clause contains “true” literal, then split is not applicable

Non-applicability is a redundancy test Proposition: If for no clause split is applicable, [ [B] ] | = S holds

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.24

slide-86
SLIDE 86

Calculus: The Commit Rule

Purpose: Achieve consistency of interpretation associated to branch

P(x, y) P(a, y) ¬P(x, b)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.25

slide-87
SLIDE 87

Calculus: The Commit Rule

Purpose: Achieve consistency of interpretation associated to branch

P(x, y) P(a, y) ¬P(x, b) {P(a, b), ¬P(a, b)} is inconsistent! Problem:

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.25

slide-88
SLIDE 88

Calculus: The Commit Rule

Purpose: Achieve consistency of interpretation associated to branch

σ = {x/a, y/b} P(a, b) P(x, y) P(a, y) ¬P(x, b)

  • 1. Compute a MGU σ of branch literals with opposite sign

2.

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.25

slide-89
SLIDE 89

Calculus: The Commit Rule

Purpose: Achieve consistency of interpretation associated to branch

P(x, y) P(a, y) ¬P(x, b) ¬P(a, b) P(a, b) σ = {x/a, y/b} P(a, b)

  • 1. Compute a MGU σ of branch literals with opposite sign
  • 2. Split with instance, if not on branch

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.25

slide-90
SLIDE 90

Calculus: The Commit Rule

Purpose: Achieve consistency of interpretation associated to branch

P(x, y) P(a, y) ¬P(x, b) ¬P(a, b) P(a, b) σ = {x/a, y/b} P(a, b)

  • 1. Compute a MGU σ of branch literals with opposite sign
  • 2. Split with instance, if not on branch

Now have removed the inconsistency

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.25

slide-91
SLIDE 91

FDPLL Complete Example

(1)

train(X,Y) ; flight(X,Y). %% train from X to Y or flight from X to Y.

(2)

  • flight(koblenz,X).

%% no flight from koblenz to anywhere.

(3)

flight(X,Y) :- flight(Y,X). %% flight is symmetric.

(4)

connect(X,Y) :- flight(X,Y). %% a flight is a connection.

(5)

connect(X,Y) :- train(X,Y). %% a train is a connection.

(6)

connect(X,Z) :- connect(X,Y), %% connection is a transitive relation. connect(Y,Z).

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.26

slide-92
SLIDE 92

FDPLL Complete Example

(1)

train(X,Y) ; flight(X,Y). %% train from X to Y or flight from X to Y.

(2)

  • flight(koblenz,X).

%% no flight from koblenz to anywhere.

(3)

flight(X,Y) :- flight(Y,X). %% flight is symmetric.

(4)

connect(X,Y) :- flight(X,Y). %% a flight is a connection.

(5)

connect(X,Y) :- train(X,Y). %% a train is a connection.

(6)

connect(X,Z) :- connect(X,Y), %% connection is a transitive relation. connect(Y,Z).

Computed Model (as output by implementation)

+ flight(X, Y)

  • flight(koblenz, X)
  • flight(X, koblenz)

+ train(koblenz, Y) + train(Y, koblenz) + connect(X, Y)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.26

slide-93
SLIDE 93

FDPLL Model Computation Example - Derivation

empyty tree

Clause instance used in inference: train(x, y) ∨ flight(x, y)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.27

slide-94
SLIDE 94

FDPLL Model Computation Example - Derivation

¬flight(x, y) flight(x, y)

Clause instance used in inference: ¬flight(ko, x)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.27

slide-95
SLIDE 95

FDPLL Model Computation Example - Derivation

flight(x, y) ¬flight(x, y) flight(ko, x) ¬flight(ko, x)

Clause instance used in inference: train(ko, y) ∨ flight(ko, y)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.27

slide-96
SLIDE 96

FDPLL Model Computation Example - Derivation

flight(x, y) ¬flight(x, y) flight(ko, x) ¬train(ko, y) train(ko, y) ¬flight(ko, x)

Clause instance used in inference: flight(ko, y) ∨ ¬flight(y, ko)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.27

slide-97
SLIDE 97

FDPLL Model Computation Example - Derivation

flight(x, y) ¬flight(ko, x) train(ko, y) ¬flight(x, y) flight(ko, x) ¬train(ko, y) flight(y, ko) ¬flight(y, ko)

Clause instance used in inference: train(x, ko) ∨ flight(x, ko)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.27

slide-98
SLIDE 98

FDPLL Model Computation Example - Derivation

¬flight(ko, x) train(ko, y) ¬flight(y, ko) train(x, ko) ¬flight(x, y) flight(ko, x) ¬train(ko, y) flight(y, ko) ¬train(x, ko) flight(x, y)

Clause instance used in inference: connect(x, y) ∨ ¬flight(x, y).

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.27

slide-99
SLIDE 99

FDPLL Model Computation Example - Derivation

flight(x, y) ¬flight(ko, x) train(ko, y) ¬flight(y, ko) train(x, ko) connect(x, y) ¬flight(x, y) flight(ko, x) ¬train(ko, y) flight(y, ko) ¬train(x, ko) ¬connect(x, y)

  • Done. Return “satisfiable with model {flight(x, y), . . . , connect(x, y)}”

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.27

slide-100
SLIDE 100

FDPLL Model Computation Example - Derivation

flight(x, y) ¬flight(ko, x) train(ko, y) ¬flight(y, ko) connect(x, y) ¬flight(x, y) flight(ko, x) ¬train(ko, y) flight(y, ko) ¬train(x, ko) ¬connect(x, y) train(x, ko)

  • Done. Return “satisfiable with model {flight(x, y), . . . , connect(x, y)}”

Redundancy: Instance not used in inference: connect(x, ko) ∨ ¬train(x, ko)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.27

slide-101
SLIDE 101

Optional Inference Rule – Universal Splits

(1) P(x) (2) ¬P(x) ∨ Q(x)

Split based on tautology ∀x P(x) ∨ ¬∀x P(x):

⋆ ¬P(sk1) ∀x P(x)

Sources for Universal Splits Unit input clauses

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.28

slide-102
SLIDE 102

Optional Inference Rule – Universal Splits

(1) P(x) (2) ¬P(x) ∨ Q(x)

Split based on tautology ∀x P(x) ∨ ¬∀x P(x):

⋆ ∀x Q(x) ¬Q(sk2) ⋆ ¬P(sk1) ∀x P(x)

Sources for Universal Splits Unit input clauses Resolving away n − 1 literals from an n-literal clause (UR-Resolution)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.28

slide-103
SLIDE 103

Optional Inference Rule – Universal Splits

(1) P(x) (2) ¬P(x) ∨ Q(x)

Split based on tautology ∀x P(x) ∨ ¬∀x P(x):

⋆ ∀x Q(x) ¬Q(sk2) ⋆ ¬P(sk1) ∀x P(x)

Sources for Universal Splits Unit input clauses Resolving away n − 1 literals from an n-literal clause (UR-Resolution) Advantages: – No “exceptions” permitted, hence much better efficiency – Subsumption

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.28

slide-104
SLIDE 104

Calculus: Summary / Properties

Summary DPLL data structure lifted to first-order logic level Two simple inference rules, controlled by unification Computes with interpretations/models Semantical redundancy criterion

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.29

slide-105
SLIDE 105

Calculus: Summary / Properties

Summary DPLL data structure lifted to first-order logic level Two simple inference rules, controlled by unification Computes with interpretations/models Semantical redundancy criterion Properties Soundness and completeness (with fair strategy). Extension: More efficient reasoning with unit clauses (e.g. ∀x P(x, a)) Proof convergence (avoids backtracking the semantics trees) Decides function-free clause logic (Bernays-Sch¨

  • nfinkel class)

Covers e.g. Basic modal logic, Description logic, DataLog Returns model in satisfiable case But: Resolution better on other classes!

[Ferm¨ uller et. al. Handbook AR 2001 (e.g. G¨

  • del class, Monadic class, Guarded Fragment,...)]

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.29

slide-106
SLIDE 106

First-Order Semantic Trees

P(x, y) ¬P(x, y) ¬P(x, a) P(x, a) Q(x, y) ¬Q(x, y) ⋆

Issues: How are variables treated? (a) Universal, as in Resolution?, (b) Rigid, as in Tableaux? (c) Schema! How to extract an interpretation from a branch? ✔ When is a branch closed? ✔ How to construct such trees (calculus)? ✔

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.30

slide-107
SLIDE 107

Overview

Propositional DPLL as a semantic tree method ✔ First-Order DPLL so far ✔ FDPLL ✔ Relation to other calculi

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.31

slide-108
SLIDE 108

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z).

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.32

slide-109
SLIDE 109

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Resolution: P(x, z′) ← P(x, y) ∧ P(y, z) ∧ P(z, z′)

[Bachmair & Ganzinger, Handbook AR 2001], [Ferm¨ uller et. al., Handbook AR 2001]

P(x, z′′) ← P(x, y) ∧ P(y, z) ∧ P(z, z′) ∧ P(z′, z′′)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.32

slide-110
SLIDE 110

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Resolution: P(x, z′) ← P(x, y) ∧ P(y, z) ∧ P(z, z′)

[Bachmair & Ganzinger, Handbook AR 2001], [Ferm¨ uller et. al., Handbook AR 2001]

P(x, z′′) ← P(x, y) ∧ P(y, z) ∧ P(z, z′) ∧ P(z′, z′′) Does not terminate for function-free clause sets Complicated to extract model Very good on other classes, Equality

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.32

slide-111
SLIDE 111

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Resolution: P(x, z′) ← P(x, y) ∧ P(y, z) ∧ P(z, z′)

[Bachmair & Ganzinger, Handbook AR 2001], [Ferm¨ uller et. al., Handbook AR 2001]

P(x, z′′) ← P(x, y) ∧ P(y, z) ∧ P(z, z′) ∧ P(z′, z′′) Does not terminate for function-free clause sets Complicated to extract model Very good on other classes, Equality Rigid Variable Approaches: P(x′, z′) ← P(x′, y′) ∧ P(y′, z′) P(x′′, z′′) ← P(x′′, y′′) ∧ P(y′′, z′′)

FO-DPLL: [Chang&Lee 73] Tableaux and CM: [Peltier, IGPL 99], [Baumgartner et al, CADE 99], [Beckert, FTP 2000], [Giese, CADE 01]

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.32

slide-112
SLIDE 112

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Resolution: P(x, z′) ← P(x, y) ∧ P(y, z) ∧ P(z, z′)

[Bachmair & Ganzinger, Handbook AR 2001], [Ferm¨ uller et. al., Handbook AR 2001]

P(x, z′′) ← P(x, y) ∧ P(y, z) ∧ P(z, z′) ∧ P(z′, z′′) Does not terminate for function-free clause sets Complicated to extract model Very good on other classes, Equality Rigid Variable Approaches: P(x′, z′) ← P(x′, y′) ∧ P(y′, z′) P(x′′, z′′) ← P(x′′, y′′) ∧ P(y′′, z′′)

FO-DPLL: [Chang&Lee 73] Tableaux and CM: [Peltier, IGPL 99], [Baumgartner et al, CADE 99], [Beckert, FTP 2000], [Giese, CADE 01]

Unpredictable number of variants, weak redundancy test Difficult to avoid unnecessary (!) backtracking Difficult to extract model

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.32

slide-113
SLIDE 113

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z).

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.33

slide-114
SLIDE 114

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Instance Based Methods: P(x, z) ← P(x, y) ∧ P(y, z) P(a, z) ← P(a, y) ∧ P(y, b)

HL [Lee&Plaisted, JAR 92], SHL [Chu&Plaisted, CADE 94], DM [Billon, TABLEAUX 96], OSHL [Plaisted & Zhu, AAAI 97], Hyper Tableaux NG [TABLEAUX 98], [van Eijck, CSL 01]

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.33

slide-115
SLIDE 115

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Instance Based Methods: P(x, z) ← P(x, y) ∧ P(y, z) P(a, z) ← P(a, y) ∧ P(y, b)

HL [Lee&Plaisted, JAR 92], SHL [Chu&Plaisted, CADE 94], DM [Billon, TABLEAUX 96], OSHL [Plaisted & Zhu, AAAI 97], Hyper Tableaux NG [TABLEAUX 98], [van Eijck, CSL 01]

Weak redundancy criterion (no subsumption) Need to keep clause instances (memory problem)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.33

slide-116
SLIDE 116

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Instance Based Methods: P(x, z) ← P(x, y) ∧ P(y, z) P(a, z) ← P(a, y) ∧ P(y, b)

HL [Lee&Plaisted, JAR 92], SHL [Chu&Plaisted, CADE 94], DM [Billon, TABLEAUX 96], OSHL [Plaisted & Zhu, AAAI 97], Hyper Tableaux NG [TABLEAUX 98], [van Eijck, CSL 01]

Weak redundancy criterion (no subsumption) Need to keep clause instances (memory problem) Clauses do not become longer (cf. Resolution) May delete variant clauses (cf. Rigid Variable Approach)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.33

slide-117
SLIDE 117

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Instance Based Methods: P(x, z) ← P(x, y) ∧ P(y, z) P(a, z) ← P(a, y) ∧ P(y, b)

HL [Lee&Plaisted, JAR 92], SHL [Chu&Plaisted, CADE 94], DM [Billon, TABLEAUX 96], OSHL [Plaisted & Zhu, AAAI 97], Hyper Tableaux NG [TABLEAUX 98], [van Eijck, CSL 01]

Weak redundancy criterion (no subsumption) Need to keep clause instances (memory problem) Clauses do not become longer (cf. Resolution) May delete variant clauses (cf. Rigid Variable Approach) FDPLL in this tradition, but need not keep instances

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.33

slide-118
SLIDE 118

Families of First-Order Logic Calculi

Consider a transitivity clause P(x, z) ← P(x, y) ∧ P(y, z). Instance Based Methods: P(x, z) ← P(x, y) ∧ P(y, z) P(a, z) ← P(a, y) ∧ P(y, b)

HL [Lee&Plaisted, JAR 92], SHL [Chu&Plaisted, CADE 94], DM [Billon, TABLEAUX 96], OSHL [Plaisted & Zhu, AAAI 97], Hyper Tableaux NG [TABLEAUX 98], [van Eijck, CSL 01]

Weak redundancy criterion (no subsumption) Need to keep clause instances (memory problem) Clauses do not become longer (cf. Resolution) May delete variant clauses (cf. Rigid Variable Approach) FDPLL in this tradition, but need not keep instances conceptually different: – binary splitting – based on first-order interpretations

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.33

slide-119
SLIDE 119

Overview

Propositional DPLL as a semantic tree method ✔ First-Order DPLL so far ✔ FDPLL ✔ Relation to other calculi ✔

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.34

slide-120
SLIDE 120

Conclusions

Implementation In Eclipse Prolog, ≈ 1300 LoC, http://www.uni-koblenz.de/~peter/FDPLL/

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.35

slide-121
SLIDE 121

Conclusions

Implementation In Eclipse Prolog, ≈ 1300 LoC, http://www.uni-koblenz.de/~peter/FDPLL/ Some improvements (Dependency directed backtracking) Still slow due to low inference rate and non-optimal algorithm

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.35

slide-122
SLIDE 122

Conclusions

Implementation In Eclipse Prolog, ≈ 1300 LoC, http://www.uni-koblenz.de/~peter/FDPLL/ Some improvements (Dependency directed backtracking) Still slow due to low inference rate and non-optimal algorithm . . . on TPTP

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.35

slide-123
SLIDE 123

Conclusions

Implementation In Eclipse Prolog, ≈ 1300 LoC, http://www.uni-koblenz.de/~peter/FDPLL/ Some improvements (Dependency directed backtracking) Still slow due to low inference rate and non-optimal algorithm . . . on TPTP Solves some moderately difficult problems e.g. IVT 3-move Rubik’s cube problem (654 possible state predicate instances)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.35

slide-124
SLIDE 124

Conclusions

Implementation In Eclipse Prolog, ≈ 1300 LoC, http://www.uni-koblenz.de/~peter/FDPLL/ Some improvements (Dependency directed backtracking) Still slow due to low inference rate and non-optimal algorithm . . . on TPTP Solves some moderately difficult problems e.g. IVT 3-move Rubik’s cube problem (654 possible state predicate instances) Relative strength: non-Horn, satisfiable problems (Modal Logic)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.35

slide-125
SLIDE 125

Conclusions

Implementation In Eclipse Prolog, ≈ 1300 LoC, http://www.uni-koblenz.de/~peter/FDPLL/ Some improvements (Dependency directed backtracking) Still slow due to low inference rate and non-optimal algorithm . . . on TPTP Solves some moderately difficult problems e.g. IVT 3-move Rubik’s cube problem (654 possible state predicate instances) Relative strength: non-Horn, satisfiable problems (Modal Logic) Success rates: State-of-the-art systems: ≈ 55%, FDPLL: ≈ 40% State-of-the-art Resolution systems, 70’s technology: ≈ 30%

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.35

slide-126
SLIDE 126

Conclusions

Summary

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-127
SLIDE 127

Conclusions

Summary Motivation: combine successful propositional and first-order techniques

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-128
SLIDE 128

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-129
SLIDE 129

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level New concept: Schema variables

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-130
SLIDE 130

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level New concept: Schema variables Sound and complete

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-131
SLIDE 131

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level New concept: Schema variables Sound and complete Outlook

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-132
SLIDE 132

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level New concept: Schema variables Sound and complete Outlook Nonmonotonic logic variant (document management application)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-133
SLIDE 133

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level New concept: Schema variables Sound and complete Outlook Nonmonotonic logic variant (document management application) Improve model building capabilities

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-134
SLIDE 134

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level New concept: Schema variables Sound and complete Outlook Nonmonotonic logic variant (document management application) Improve model building capabilities Theory reasoning (Equality, Decision procedures)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-135
SLIDE 135

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level New concept: Schema variables Sound and complete Outlook Nonmonotonic logic variant (document management application) Improve model building capabilities Theory reasoning (Equality, Decision procedures) Combine with other techniques (OSHL)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36

slide-136
SLIDE 136

Conclusions

Summary Motivation: combine successful propositional and first-order techniques Directly lifts propositional DPLL to first-order level New concept: Schema variables Sound and complete Outlook Nonmonotonic logic variant (document management application) Improve model building capabilities Theory reasoning (Equality, Decision procedures) Combine with other techniques (OSHL) Serious implementation (OCaml)

FDPLL – A First-Order Davis-Putnam-Logemann-Loveland Procedure – P. Baumgartner – p.36