fdpll { a first-order davis-putnam-logemann-loveland...

Post on 08-Jun-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

FDPLL – A First-OrderDavis-Putnam-Logemann-LovelandProcedure

Peter Baumgartner

Institut fur Informatik

Universitat Koblenz-Landau

Germany

http://www.uni-koblenz.de/~peter/

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

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

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

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

Two Separated Worlds

First-OrderReasoning

PropositionalReasoning

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

Two Separated Worlds

First-OrderReasoning

PropositionalReasoning

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

Motivation

DPLL: Successfully used for propositional logic

FDPLL: New lifting of DPLL to f irst-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?

6|= Conjecture

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

Motivation

DPLL: Successfully used for propositional logic

FDPLL: New lifting of DPLL to f irst-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?

6|= Conjecture

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

Motivation

DPLL: Successfully used for propositional logic

FDPLL: New lifting of DPLL to f irst-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?

6|= Conjecture

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

Motivation

DPLL: Successfully used for propositional logic

FDPLL: New lifting of DPLL to f irst-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?

6|= Conjecture

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

Motivation

DPLL: Successfully used for propositional logic

FDPLL: New lifting of DPLL to f irst-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?

6|= Conjecture

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

Motivation

DPLL: Successfully used for propositional logic

FDPLL: New lifting of DPLL to f irst-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?

6|= Conjecture

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

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

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} 6|= {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

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} 6|= {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

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} 6|= {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

Propositional DPLL as a Semantic Tree Method

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

{} 6|= 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 (?)

Sound and complete, also for (minimal) model reasoning

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

Propositional DPLL as a Semantic Tree Method

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

{A} |= A∨B

{A} 6|= 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 (?)

Sound and complete, also for (minimal) model reasoning

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

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} 6|= 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 (?)

Sound and complete, also for (minimal) model reasoning

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

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 (?)

Sound and complete, also for (minimal) model reasoning

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

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

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

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

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

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

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

Overview

Propositional DPLL as a semantic tree method 4

First-Order DPLL so far

FDPLL

Relation to other calculi

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

DPLL - The First-Order Case (1962)

Grounding

PropositionalDPLL

→∃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:

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

DPLL - The First-Order Case (1962)

Grounding

PropositionalDPLL

→∃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:

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

DPLL - The First-Order Case (1962)

Proof found

Grounding

PropositionalDPLL

Outer LoopSTOP:

→∃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

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

DPLL - The First-Order Case (1962)

Grounding

PropositionalDPLL

→∃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)

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

DPLL - The First-Order Case (1962)

Grounding

PropositionalDPLL

Outer LoopProof 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

ContinueSTOP:

¬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

DPLL - The First-Order Case (1962)

Grounding

PropositionalDPLL

Outer LoopProof 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

ContinueSTOP:

¬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

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

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

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

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

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

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

Overview

Propositional DPLL as a semantic tree method 4

First-Order DPLL so far 4

FDPLL

Relation to other calculi

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

Meta-Level Strategy

Lifted data structures:

PropositionalReasoning

First-OrderReasoning

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

Meta-Level Strategy

Lifted data structures:

PropositionalReasoning

First-OrderReasoning

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

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

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

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

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

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

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

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.

The order of literals does not matter.

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

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.

The order of literals does not matter.

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

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.

The order of literals does not matter.

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

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.

The order of literals does not matter.

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

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.

The order of literals does not matter.

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

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.

The order of literals does not matter.

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

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.

The order of literals does not matter.

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

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.

The order of literals does not matter.

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

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

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? 4

When is a branch closed?

How to construct such trees (calculus)?

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

Calculus: Branch Closure

Purpose: Determine if branch elementary contradicts an input clause.

Propositional case:

¬C

¬B

?

¬AA

C B∨Cclosed by

B

1.

2.

3.

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

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) ?

1.

2.

3.

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

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.

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

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.

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

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

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

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? 4

When is a branch closed? 4

How to construct such trees (calculus)?

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

FDPLL Calculus

Input: a clause set S

Output: “unsatisfiable” or “satisfiable” (if terminates)

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

〈emptytree〉

Init

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

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

FDPLL Calculus

Input: a clause set S

Output: “unsatisfiable” or “satisfiable” (if terminates)

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

? ?

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

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

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

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

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

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

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

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

FDPLL Calculus

Input: a clause set S

Output: “unsatisfiable” or “satisfiable” (if terminates)

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

unsatisfiablebranch B

? ?

? ?

Closed?

STOP:

Yes

B

No

Select open

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

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

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

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

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

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:

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

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

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

unsatisfiableand split B

with L and ¬L

L ¬L

? ?

STOP:

Yes

Closed?

STOP:

No

Select open

Yes

[[B]]?

|= S

Select literal L

No

? ?

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

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

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 unsatisfiableand split B

with L and ¬L

satisfiable

L ¬L

? ?

Closed?

STOP:

No

Select open

YesSelect 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

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 clausefrom S

1.

2.

3.

This split was really necessary!

Proposition: If [[B]] 6|= S, then split is applicable to some clause from S

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

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.

This split was really necessary!

Proposition: If [[B]] 6|= S, then split is applicable to some clause from S

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

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, . . .}

litsel1. Compute simultaneous most general unifier σ

2. Select from clause instance a literal not on branch

3.

This split was really necessary!

Proposition: If [[B]] 6|= S, then split is applicable to some clause from S

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

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

This split was really necessary!

Proposition: If [[B]] 6|= S, then split is applicable to some clause from S

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

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)6|=

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]] 6|= S, then split is applicable to some clause from S

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

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)6|=

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]] 6|= S, then split is applicable to some clause from S

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

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 clausefrom S

1.

2.

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

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.

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

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

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

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

Calculus: The Commit Rule

Purpose: Achieve consistency of interpretation associated to branch

P(x, y)

P(a, y)

¬P(x, b)

1.

2.

Now have removed the inconsistency

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

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:

1.

2.

Now have removed the inconsistency

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

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.

Now have removed the inconsistency

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

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

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

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

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

FDPLL Model Computation Example - Derivation

〈empyty tree〉

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

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

FDPLL Model Computation Example - Derivation

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

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

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

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)

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

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)

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

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)

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

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).

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

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)}”

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

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

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

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

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

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

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-Schonfinkel class)

Covers e.g. Basic modal logic, Description logic, DataLog

Returns model in satisfiable case

But: Resolution better on other classes!

[Fermuller et. al. Handbook AR 2001 (e.g. Godel class, Monadic class, Guarded Fragment,. . . )]

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

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-Schonfinkel class)

Covers e.g. Basic modal logic, Description logic, DataLog

Returns model in satisfiable case

But: Resolution better on other classes!

[Fermuller et. al. Handbook AR 2001 (e.g. Godel class, Monadic class, Guarded Fragment,. . . )]

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

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? 4

When is a branch closed? 4

How to construct such trees (calculus)? 4

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

Overview

Propositional DPLL as a semantic tree method 4

First-Order DPLL so far 4

FDPLL 4

Relation to other calculi

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

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],

[Fermuller 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

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],

[Fermuller 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

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],

[Fermuller 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

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],

[Fermuller 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

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],

[Fermuller 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

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

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

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

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

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

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

Overview

Propositional DPLL as a semantic tree method 4

First-Order DPLL so far 4

FDPLL 4

Relation to other calculi 4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

top related