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

136
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

Upload: others

Post on 08-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 2: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 3: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 4: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 5: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 6: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 7: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 8: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 9: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 10: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 11: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 12: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 13: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 14: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 15: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 16: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 17: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 18: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 19: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 20: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 21: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 22: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 23: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 24: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 25: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 26: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 27: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 28: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 29: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 30: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 31: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 32: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 33: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 34: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 35: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 36: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 37: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 38: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 39: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 40: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 41: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 42: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 43: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 44: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 45: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 46: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 47: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 48: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 49: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 50: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 51: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 52: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 53: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 54: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 55: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 56: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 57: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 58: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 59: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 60: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 61: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 62: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 63: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 64: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 65: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 66: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 67: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 68: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 69: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 70: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 71: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 72: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 73: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 74: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 75: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 76: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 77: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 78: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 79: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 80: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 81: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 82: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 83: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 84: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 85: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 86: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 87: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 88: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 89: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 90: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 91: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 92: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 93: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 94: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 95: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 96: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 97: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 98: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 99: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 100: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 101: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 102: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 103: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 104: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 105: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 106: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 107: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 108: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 109: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 110: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 111: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 112: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 113: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 114: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 115: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 116: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 117: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 118: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 119: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 120: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 121: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 122: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 123: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 124: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 125: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 126: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 127: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 128: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 129: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 130: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 131: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 132: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 133: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 134: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 135: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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

Page 136: FDPLL { A First-Order Davis-Putnam-Logemann-Loveland Procedureusers.rsise.anu.edu.au/.../slides/IJCAI-2001-FDPLL.pdf · DPLL: Successfully used for propositional logic FDPLL: New

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