Matrices, connections, matings and reasoning: The connection method Fred Freitas Centro de...

Post on 17-Jan-2016

217 views 0 download

Tags:

transcript

Matrices, connections, Matrices, connections, matings and reasoning: matings and reasoning: The connection method The connection method

Fred FreitasFred FreitasCentro de Informática, UFPE, BrazilCentro de Informática, UFPE, Brazil

KR & KM Group, Universität Mannheim, GermanyKR & KM Group, Universität Mannheim, Germany

Seminar presented at the KI Colloquium, Mannheim, in Jan.22.2010 Seminar presented at the KI Colloquium, Mannheim, in Jan.22.2010

SummarySummary

Matrices and Normal Forms in ATPMatrices and Normal Forms in ATP Proofs in MatricesProofs in Matrices The Connection MethodThe Connection Method

Extension Procedure, General Extension ProcedureExtension Procedure, General Extension Procedure Comparison with Other MethodsComparison with Other Methods

Tableaux, Consolution, Resolution, Model Tableaux, Consolution, Resolution, Model EliminationElimination

Quick view on Improvements & VariantsQuick view on Improvements & Variants Conclusions & Future WorkConclusions & Future Work

SummarySummary

Matrices and Normal Forms in ATPMatrices and Normal Forms in ATP Proofs in MatricesProofs in Matrices The Connection MethodThe Connection Method

Extension Procedure, General Extension ProcedureExtension Procedure, General Extension Procedure Comparison with Other MethodsComparison with Other Methods

Tableaux, Consolution, Resolution, Model Tableaux, Consolution, Resolution, Model EliminationElimination

Quick view on Improvements & VariantsQuick view on Improvements & Variants Conclusions & Future WorkConclusions & Future Work

Matrices and ATPMatrices and ATP Prawitz [1960, 1970] proposed the use of matrices to Prawitz [1960, 1970] proposed the use of matrices to

express logical formulaeexpress logical formulae Proving is path verificationProving is path verification

Example in DNF: F: (Example in DNF: F: (¬P ^ Q ^ R) v ¬P ^ Q ^ R) v ((¬Q ^ ¬R) v (P ^ Q)¬Q ^ ¬R) v (P ^ Q)

Matrices and ATPMatrices and ATP Prawitz [1960, 1970] proposed the use of matrices to Prawitz [1960, 1970] proposed the use of matrices to

express logical formulaeexpress logical formulae Proving is path verificationProving is path verification

Example in DNF: F: (Example in DNF: F: (¬P ^ Q ^ R) v ¬P ^ Q ^ R) v ((¬Q ^ ¬R) v (P ^ Q)¬Q ^ ¬R) v (P ^ Q)

Same formula Same formula negated,negated, in CNF, to be used in refutation in CNF, to be used in refutation proofs: ¬F: (P v ¬Q v ¬R) ^ proofs: ¬F: (P v ¬Q v ¬R) ^ ((Q v R) ^ (¬P v ¬Q)Q v R) ^ (¬P v ¬Q)

Matrices and ATPMatrices and ATP Prawitz [1960, 1970] proposed the use of matrices to Prawitz [1960, 1970] proposed the use of matrices to

express logical formulaeexpress logical formulae Proving is path verificationProving is path verification

Example in DNF: F: (Example in DNF: F: (¬P ^ Q ^ R) v ¬P ^ Q ^ R) v ((¬Q ^ ¬R) v (P ^ Q)¬Q ^ ¬R) v (P ^ Q)

Same formula Same formula negated,negated, in CNF, to be used in refutation in CNF, to be used in refutation proofs: ¬F: (P v ¬Q v ¬R) ^ proofs: ¬F: (P v ¬Q v ¬R) ^ ((Q v R) ^ (¬P v ¬Q)Q v R) ^ (¬P v ¬Q)

¬P ¬Q P¬P ¬Q P P ¬Q ¬RP ¬Q ¬R FFDNFDNF:: Q ¬R Q Q ¬R Q ¬ F¬ FCNFCNF : : Q RQ R RR ¬P ¬Q ¬P ¬Q

Example of Horn FormulaExample of Horn Formula

FFDNFDNF : P v ( : P v (¬P ^ Q) v ¬P ^ Q) v ((¬Q ^ R) v ¬R¬Q ^ R) v ¬R

FFDNFDNF : : P P ¬P ¬Q ¬R¬P ¬Q ¬R Q RQ R

¬F¬FCNFCNF : : ¬P¬PP ¬QP ¬Q

Q ¬R Q ¬R RR

Changing the Perspective…Changing the Perspective… FFDNFDNF : P v ( : P v (¬P ^ Q) v ¬P ^ Q) v ((¬Q ^ R) v ¬R¬Q ^ R) v ¬R Vertically : Vertically : P P ¬P ¬Q ¬R¬P ¬Q ¬R

Q RQ R And horizontally?And horizontally?

Changing the Perspective…Changing the Perspective… FFDNFDNF : P v ( : P v (¬P ^ Q) v ¬P ^ Q) v ((¬Q ^ R) v ¬R¬Q ^ R) v ¬R Vertically : Vertically : P P ¬P ¬Q ¬R¬P ¬Q ¬R

Q RQ R And horizontally?And horizontally? Paths!Paths!

{P, {P, ¬P, ¬Q, ¬R}¬P, ¬Q, ¬R} {P, {P, ¬P, R, ¬R}¬P, R, ¬R} {P, {P, Q, ¬Q, ¬R}Q, ¬Q, ¬R} {P, {P, Q, R, ¬R}Q, R, ¬R}

What do they mean w.r.t. to the original DNF What do they mean w.r.t. to the original DNF formula?formula?

The Set of Paths are The Set of Paths are The set of paths is the formula in CNF! See:The set of paths is the formula in CNF! See:

FFDNFDNF : P v ( : P v (¬P ^ Q) v ¬P ^ Q) v ((¬Q ^ R) v ¬R¬Q ^ R) v ¬R {P, {P, ¬P, ¬Q, ¬R}¬P, ¬Q, ¬R} {P, {P, ¬P, R, ¬R}¬P, R, ¬R} P P ¬P ¬Q ¬R¬P ¬Q ¬R {P, {P, Q, ¬Q, ¬R}Q, ¬Q, ¬R} Q R Q R {P, {P, Q, R, ¬R}Q, R, ¬R}

The Set of Paths are The Set of Paths are The set of paths is the formula in CNF! See:The set of paths is the formula in CNF! See:

FFDNFDNF : P v ( : P v (¬P ^ Q) v ¬P ^ Q) v ((¬Q ^ R) v ¬R¬Q ^ R) v ¬R {P, {P, ¬P, ¬Q, ¬R}¬P, ¬Q, ¬R} {P, {P, ¬P, R, ¬R}¬P, R, ¬R} P P ¬P ¬Q ¬R¬P ¬Q ¬R {P, {P, Q, ¬Q, ¬R}Q, ¬Q, ¬R} Q R Q R {P, {P, Q, R, ¬R}Q, R, ¬R}

FFCNFCNF (not negated!)(not negated!) : : (P v (P v ¬P v ¬Q v ¬R) ^¬P v ¬Q v ¬R) ^ (P v (P v ¬P v R v ¬R) ^¬P v R v ¬R) ^ (P v (P v Q v ¬Q v ¬R) ^Q v ¬Q v ¬R) ^ (P v (P v Q v R v ¬R)Q v R v ¬R)

The Set of Paths are The Set of Paths are The set of paths is the formula in CNF! See:The set of paths is the formula in CNF! See:

FFDNFDNF : P v ( : P v (¬P ^ Q) v ¬P ^ Q) v ((¬Q ^ R) v ¬R¬Q ^ R) v ¬R {P, {P, ¬P, ¬Q, ¬R}¬P, ¬Q, ¬R} {P, {P, ¬P, R, ¬R}¬P, R, ¬R} P P ¬P ¬Q ¬R¬P ¬Q ¬R {P, {P, Q, ¬Q, ¬R}Q, ¬Q, ¬R} Q R Q R {P, {P, Q, R, ¬R}Q, R, ¬R}

FFCNFCNF (not negated!)(not negated!) : : (P v (P v ¬P v ¬Q v ¬R) ^¬P v ¬Q v ¬R) ^ (P v (P v ¬P v R v ¬R) ^¬P v R v ¬R) ^ (P v (P v Q v ¬Q v ¬R) ^Q v ¬Q v ¬R) ^ (P v (P v Q v R v ¬R)Q v R v ¬R)

SummarySummary

Matrices and Normal Forms in ATPMatrices and Normal Forms in ATP Proofs in MatricesProofs in Matrices The Connection MethodThe Connection Method

Extension Procedure, General Extension ProcedureExtension Procedure, General Extension Procedure Comparison with Other MethodsComparison with Other Methods

Tableaux, Consolution, Resolution, Model Tableaux, Consolution, Resolution, Model EliminationElimination

Quick view on Improvements & VariantsQuick view on Improvements & Variants Conclusions & Future WorkConclusions & Future Work

Validity in DNF MatricesValidity in DNF Matrices

╞╞ P P ¬P ¬Q ¬R¬P ¬Q ¬R ?? Q RQ R

In other words, a formula in DNF is valid In other words, a formula in DNF is valid when every path is valid (true)!when every path is valid (true)!

When is a path true?When is a path true?

Validity in DNF MatricesValidity in DNF Matrices

╞╞ P P ¬P ¬Q ¬R¬P ¬Q ¬R ?? Q RQ R

In other words, a formula in DNF is valid In other words, a formula in DNF is valid when every path is valid (true)!when every path is valid (true)!

When is a path true?When is a path true? When it contains a complimentary pair of literals (When it contains a complimentary pair of literals (P v P v ¬P,¬P,

or unifiable predicates, for FOL), a or unifiable predicates, for FOL), a connectionconnection:: {{P, P, ¬P¬P, ¬Q, ¬R}, ¬Q, ¬R} {{P, P, ¬P,¬P, R, ¬R} R, ¬R} {P, {P, Q, ¬Q,Q, ¬Q, ¬R} ¬R} {P, {P, Q, Q, R, ¬RR, ¬R}}

ConceptsConcepts

ConnectionConnection: subset of paths formed by : subset of paths formed by complimentary literals ( {P, complimentary literals ( {P, ¬P¬P} )} )

MatingMating: set of connections: set of connections A Matrix (or formula) is A Matrix (or formula) is spanning spanning oror

complimentarycomplimentary when every path contains at when every path contains at least one connectionleast one connection

A Matrix (or formula) is valid iff it has a A Matrix (or formula) is valid iff it has a spanning matingspanning mating

SummarySummary

Matrices and Normal Forms in ATPMatrices and Normal Forms in ATP Proofs in MatricesProofs in Matrices The Connection MethodThe Connection Method

Extension Procedure, General Extension ProcedureExtension Procedure, General Extension Procedure Comparison with Other MethodsComparison with Other Methods

Tableaux, Consolution, Resolution, Model Tableaux, Consolution, Resolution, Model EliminationElimination

Quick view on Improvements & VariantsQuick view on Improvements & Variants Conclusions & Future WorkConclusions & Future Work

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

Extension ProcedureExtension Procedure

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

Extension ProcedureExtension Procedure

.

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

Extension ProcedureExtension Procedure

.

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

Extension ProcedureExtension Procedure

. .

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

Extension ProcedureExtension Procedure

. . .

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

Extension ProcedureExtension Procedure

. .

.

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

Extension ProcedureExtension Procedure

. .

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

Extension ProcedureExtension Procedure

. ..

The Connection CalculusThe Connection Calculus

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R

RR

The The Extension ProcedureExtension Procedure is sound is sound

For Horn clauses, complete and linear [Bibel 87]For Horn clauses, complete and linear [Bibel 87]

.

.

Active PathsActive Paths

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q R Q Q R ¬Q¬Q

RR

Extension ProcedureExtension Procedure

. . .

Active PathsActive Paths

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q R ¬Q Q Q R ¬Q

RR

Extension Procedure with active pathsExtension Procedure with active paths

. . .

.

Separation StepSeparation Step

P ¬P ¬QP ¬P ¬Q

Q Q ¬P ¬R RQ Q ¬P ¬R R

RR X X

. .

Separation StepSeparation Step

P ¬P ¬QP ¬P ¬Q

Q Q ¬P ¬R RQ Q ¬P ¬R R

RR X X

Even if X was replaced by ¬Q…Even if X was replaced by ¬Q…

. .

Separation StepSeparation Step

P ¬P ¬QP ¬P ¬Q

Q Q ¬P ¬R RQ Q ¬P ¬R R

RR X X

Even if X was replaced by ¬Q…Even if X was replaced by ¬Q…

. .

Separation StepSeparation Step

P ¬P ¬QP ¬P ¬Q

Q Q ¬P ¬R RQ Q ¬P ¬R R

RR X X

This type of matrices can only be complimentary This type of matrices can only be complimentary iff the remaining matrices are complimentary iff the remaining matrices are complimentary and subsume all active paths from the original and subsume all active paths from the original matricesmatrices

. .

Separation StepSeparation Step

P ¬P ¬QP ¬P ¬Q

Q Q ¬P ¬R RQ Q ¬P ¬R R

RR X X

The algorithm then should exchange the current The algorithm then should exchange the current clause – not difficult to implement. clause – not difficult to implement.

By doing so it can find the complimentary By doing so it can find the complimentary submatrix implicitly.submatrix implicitly.

. .

Separation StepSeparation Step

P ¬P ¬QP ¬P ¬Q

Q Q ¬P ¬R RQ Q ¬P ¬R R

RR X X

General Extension ProcedureGeneral Extension Procedure

= Extension Procedure + Active paths + Separation= Extension Procedure + Active paths + Separation Sound and Complete for Propositional LogicSound and Complete for Propositional Logic

.

. .

..

. .

.

ImplementationImplementation

For enabling a fast search of complimentary For enabling a fast search of complimentary literals eitherliterals either Clauses are stored ordering literals orClauses are stored ordering literals or An extra copy of the matrix is needed as an index to An extra copy of the matrix is needed as an index to

store the clauses where each literal occursstore the clauses where each literal occurs Different selection of literals in each step may Different selection of literals in each step may

drastically change the number of steps for a proofdrastically change the number of steps for a proof Therefore, they are not easy to predictTherefore, they are not easy to predict Many improvements are available for thisMany improvements are available for this

CM CM withoutwithout Matrices Matrices

n(N(n)^S(n,t)n(N(n)^S(n,t)R(n,t))^R(n,t))^n(N(n)^R(n,t)n(N(n)^R(n,t)O(n))^N(c)^O(n))^N(c)^O(c)O(c)S(c,t)S(c,t)

CM CM withoutwithout Matrices Matrices

n(N(n)^S(n,t)n(N(n)^S(n,t)R(n,t))^R(n,t))^n(N(n)^R(n,t)n(N(n)^R(n,t)O(n))^N(c)^O(n))^N(c)^O(c)O(c)S(c,t)S(c,t)

(S(c,t)(S(c,t)R(c,t))^(R(c,t)R(c,t))^(R(c,t)O(n))^O(n))^O(c)O(c)S(c,t)S(c,t)

CM CM withoutwithout Matrices Matrices

n(N(n)^S(n,t)n(N(n)^S(n,t)R(n,t))^R(n,t))^n(N(n)^R(n,t)n(N(n)^R(n,t)O(n))^N(c)^O(n))^N(c)^O(c)O(c)S(c,t)S(c,t)

(S(c,t)(S(c,t)O(n))^O(n))^O(c)O(c)S(c,t)S(c,t)

CM CM withoutwithout Matrices Matrices

n(N(n)^S(n,t)n(N(n)^S(n,t)R(n,t))^R(n,t))^n(N(n)^R(n,t)n(N(n)^R(n,t)O(n))^N(c)^O(n))^N(c)^O(c)O(c)S(c,t)S(c,t)

CM CM withoutwithout Matrices Matrices

n(N(n)^S(n,t)n(N(n)^S(n,t)R(n,t))^R(n,t))^n(N(n)^R(n,t)n(N(n)^R(n,t)O(n))^N(c)^O(n))^N(c)^O(c)O(c)S(c,t)S(c,t)

(S(c,t)(S(c,t)O(n))^O(n))^O(c)O(c)S(c,t)S(c,t)

ContrapositionContraposition: if S(c,t) : if S(c,t) O(c) then O(c) then ¬O(c) ¬O(c) ¬S(c,t) ¬S(c,t)

SummarySummary

Matrices and Normal Forms in ATPMatrices and Normal Forms in ATP Proofs in MatricesProofs in Matrices The Connection MethodThe Connection Method

Extension Procedure, General Extension ProcedureExtension Procedure, General Extension Procedure Comparison with Other MethodsComparison with Other Methods

Tableaux, Consolution, Resolution, Model Tableaux, Consolution, Resolution, Model EliminationElimination

Quick view on Improvements & VariantsQuick view on Improvements & Variants Conclusions & Future WorkConclusions & Future Work

CM vs TableauxCM vs Tableaux

¬¬ F: ( F: (¬P v ¬Q) ^ (P v ¬Q v ¬R) ^ (Q v ¬R) ^ R¬P v ¬Q) ^ (P v ¬Q v ¬R) ^ (Q v ¬R) ^ R

RR

P ¬P ¬Q ¬RP ¬P ¬Q ¬R

Q Q RQ Q R Q ¬R Q ¬R

RR ■ ■

P P ¬Q ¬Q ¬ R ¬ R

■ ■ ■ ■

¬P ¬Q¬P ¬Q

■ ■ ■ ■

. ..

CM vs Tableaux CM vs Tableaux [Smullyan 71][Smullyan 71]

Connection Method:Connection Method: Proofs are only clear in the Proofs are only clear in the

CM version without matricesCM version without matrices The version without matrices The version without matrices

require no normal form, but require no normal form, but this is not commonthis is not common

Direct formulaeDirect formulae Less Memory: CM requires Less Memory: CM requires

only a matrix and a data only a matrix and a data structure linked to itstructure linked to it

Search is much more Search is much more efficient, due to the efficient, due to the in situin situ path searchpath search

Tableaux:Tableaux: Tableaux proofs are clearer, Tableaux proofs are clearer,

both logically and both logically and procedurallyprocedurally

Tableaux do not require Tableaux do not require normal formnormal form

Negated formulaeNegated formulae Memory for the generated Memory for the generated

pathspaths Usually requires more Usually requires more

(redundant) paths due to the (redundant) paths due to the spreading of formulaespreading of formulae

Model Elimination Model Elimination [Loveland 69][Loveland 69]

(Pv¬Qv ¬R)(Pv¬Qv ¬R)(Q v ¬R)(Q v ¬R)

R

(¬P v ¬Q)(¬P v ¬Q)

Model Elimination Model Elimination [Loveland 69][Loveland 69]

P

(Pv¬Qv ¬R)(Pv¬Qv ¬R)(Q v ¬R)(Q v ¬R)

R

(¬P v ¬Q)(¬P v ¬Q)

Model Elimination Model Elimination [Loveland 69][Loveland 69]

P

(Pv¬Qv ¬R)(Pv¬Qv ¬R)(Q v ¬R)(Q v ¬R)

R

(¬P v ¬Q)(¬P v ¬Q) 0 Decision

Model Elimination Model Elimination [Loveland 69][Loveland 69]

P

(Pv¬Qv ¬R)(Pv¬Qv ¬R)(Q v¬R)(Q v¬R)

R

(¬P v ¬Q)(¬P v ¬Q) 0 Decision

Q

0 Decision

(Q ^ ¬R)(Q ^ ¬R)

R

Conflict!Implication Graph

Model Elimination Model Elimination [Loveland 69][Loveland 69]

P

(Pv¬Qv ¬R)(Pv¬Qv ¬R)(Q v ¬R)(Q v ¬R)

R

(¬P v ¬Q)(¬P v ¬Q) 0 Decision

Q

0 Decision

(Q ^ ¬R)(Q ^ ¬R)

R

Conflict!Implication Graph

Backtrack

Model Elimination Model Elimination [Loveland 69][Loveland 69]

P

(Pv¬Q v¬R)(Pv¬Q v¬R)(Q v¬R)(Q v¬R)

R

(¬P v ¬Q)(¬P v ¬Q) 0

Q

0

(P^¬Q ^ ¬R))(P^¬Q ^ ¬R))

R

Conflict!Implication Graph

1 Forced Decision

Model Elimination Model Elimination [Loveland 69][Loveland 69]

P

(Pv¬Q v¬R)(Pv¬Q v¬R)(Q v ¬R)(Q v ¬R)

R

(¬P v ¬Q)(¬P v ¬Q) 0

Q

0 1

1 Forced Decision

Q

Model Elimination Model Elimination [Loveland 69][Loveland 69]

P

(Pv¬Q v¬R)(Pv¬Q v¬R)(Q v ¬R)(Q v ¬R)

R

(¬P v ¬Q)(¬P v ¬Q) 0

Q

0 1

1

Forced Decision

Q

0

(Q ^ ¬R)(Q ^ ¬R)

R

Conflict!Implication Graph

Model Elimination Model Elimination [Loveland 69][Loveland 69]

P

(Pv¬Qv ¬R)(Pv¬Qv ¬R)(Q v¬R)(Q v¬R)

R

(¬P v ¬Q)(¬P v ¬Q) 0

Q

0 1

1

Q

0 1

CM vs Model Elimination CM vs Model Elimination [Loveland 69][Loveland 69]

. . .P ¬P ¬Q ¬RP ¬P ¬Q ¬R Although having distinctAlthough having distinct

Q Q R perspectives, the Q Q R perspectives, the

RR procedures are identical!procedures are identical!

Consolution Consolution [Eder 91][Eder 91]

Refutation complete and sound for Prop. LogicRefutation complete and sound for Prop. Logic Method: Partial paths are generated for each column, Method: Partial paths are generated for each column,

taking into account the former generated partial pathstaking into account the former generated partial paths Ex: (P ^ Q) v (Ex: (P ^ Q) v (¬¬P ^ Q) v P ^ Q) v ¬¬Q (DNF, too), to be proved Q (DNF, too), to be proved

INSATINSAT It can also be seen as a matricial method:It can also be seen as a matricial method: FFDNFDNF : : {P} {{P} {¬P} {¬Q} ¬P} {¬Q}

{Q} {Q}{Q} {Q}{{P},{Q}} {{P},{Q}} {{{{¬P},{¬Q}}¬P},{¬Q}}

{{{{P, P, ¬P¬P},{P, Q}, {Q, },{P, Q}, {Q, ¬P},{Q}}¬P},{Q}}

Consolution Consolution [Eder 91][Eder 91]

Refutation complete and sound for Prop. LogicRefutation complete and sound for Prop. Logic Method: Partial paths are generated for each column, Method: Partial paths are generated for each column,

taking into account the former generated partial pathstaking into account the former generated partial paths Ex: (P ^ Q) v (Ex: (P ^ Q) v (¬¬P ^ Q) v P ^ Q) v ¬¬Q (DNF, too)Q (DNF, too) It can also be seen as a matricial method:It can also be seen as a matricial method: FFDNFDNF : : {P} {{P} {¬P} {¬Q} ¬P} {¬Q}

{Q} {Q}{Q} {Q}

{{P},{Q}} {{P},{Q}} {{{{¬P},{¬Q}}¬P},{¬Q}}

{{{{P, P, ¬P¬P},{P, Q}, {Q, },{P, Q}, {Q, ¬P},{Q}}¬P},{Q}}

Consolution Consolution [Eder 91][Eder 91]

{{P},{Q}} {{P},{Q}} {{{{¬P},{¬Q}}¬P},{¬Q}}

{{{{P, Q}, {Q, P, Q}, {Q, ¬P},{Q}}¬P},{Q}} {{¬Q}}{{¬Q}}

{}{}

Consolution Consolution [Eder 91][Eder 91]

{{P},{Q}} {{P},{Q}} {{{{¬P},{¬Q}}¬P},{¬Q}}

{{{{P, Q}, {Q, P, Q}, {Q, ¬P},¬P},{Q}}{Q}} {¬Q}{¬Q}

{}{}COMPLEMENTARY PATHS!

Consolution Consolution [Eder 91][Eder 91]

{{P},{Q}} {{P},{Q}} {{{{¬P},{¬Q}}¬P},{¬Q}}

{{Q}{{Q} }} {{¬Q}}{{¬Q}}

{}{}

CM vs Resolution CM vs Resolution [Robinson 65][Robinson 65]

Most widespread method, refutation complete, soundMost widespread method, refutation complete, sound ¬¬ F: ( F: (¬P v ¬Q) ^ (P ^ ¬Q ^ ¬R) ^ (Q ^ ¬R) ^ R¬P v ¬Q) ^ (P ^ ¬Q ^ ¬R) ^ (Q ^ ¬R) ^ R {¬P, ¬Q} {P, ¬Q, ¬R} {Q, ¬R} {R}{¬P, ¬Q} {P, ¬Q, ¬R} {Q, ¬R} {R}

{¬Q, ¬R} {¬Q, ¬R} Factorization on ¬QFactorization on ¬Q

{¬R}{¬R}

{}{}

Resolution can be seen as a special case of consolutionResolution can be seen as a special case of consolution

CM vs Resolution CM vs Resolution [Robinson 65][Robinson 65]

GEP can simulate any known refinement with few or GEP can simulate any known refinement with few or equal number of steps and less memory [Bibel 83]equal number of steps and less memory [Bibel 83]

Direct vs negated formulaeDirect vs negated formulae Less Memory: Less Memory:

CM requires only a matrix and a data structure linked to itCM requires only a matrix and a data structure linked to it Resolution creates new literals/predicatesResolution creates new literals/predicates

Search: amount of processing in steps are about the Search: amount of processing in steps are about the samesame

SummarySummary

Matrices and Normal Forms in ATPMatrices and Normal Forms in ATP Proofs in MatricesProofs in Matrices The Connection MethodThe Connection Method

Extension Procedure, General Extension ProcedureExtension Procedure, General Extension Procedure Comparison with Other MethodsComparison with Other Methods

Tableaux, Consolution, Resolution, Model Tableaux, Consolution, Resolution, Model EliminationElimination

Quick view on Improvements & VariantsQuick view on Improvements & Variants Conclusions & Future WorkConclusions & Future Work

ReductionsReductions Preserving validity, GEP or EP are available in many Preserving validity, GEP or EP are available in many

versions, similarly to the one developed for resolutionversions, similarly to the one developed for resolution MULT – remove repeated literals in a clauseMULT – remove repeated literals in a clause PURE – remove a clause containing a literal without PURE – remove a clause containing a literal without

complimentcompliment SUBS – {A,B} subsumes {A,B,C}, so remove the latterSUBS – {A,B} subsumes {A,B,C}, so remove the latter UNITUNIT – removes clauses that complement a unit clause – removes clauses that complement a unit clause FACTOR – replace 2 formulae with a common factor FACTOR – replace 2 formulae with a common factor

(via associativy and distributivity rules)(via associativy and distributivity rules) TAUT – invalid clauses (like P^TAUT – invalid clauses (like P^¬¬P) are removedP) are removed ……

A new CM using only UNIT and PUREA new CM using only UNIT and PURE

N(c) N(c)N(c) N(c)

S(c,t) R(c,t) S(c,t) R(c,t) ¬N(c) O(c) ¬¬N(c) O(c) ¬S(c,t)S(c,t)

¬¬R(c,t) R(c,t) ¬O(c) ¬O(c)

A new CM using only UNIT and PUREA new CM using only UNIT and PURE

N(c) N(c)N(c) N(c)

S(c,t) S(c,t) R(c,t) R(c,t) ¬N(c) O(c)¬N(c) O(c) ¬ ¬S(c,t)S(c,t)

¬¬R(c,t) R(c,t) ¬O(c) ¬O(c)

Applying UNITApplying UNIT

A new CM using only UNIT and PUREA new CM using only UNIT and PURE

N(c) N(c)N(c) N(c)

R(c,t) R(c,t) ¬N(c) O(c) ¬N(c) O(c) ¬¬S(c,t)S(c,t)

¬¬R(c,t) R(c,t) ¬O(c) ¬O(c)

Applying PUREApplying PURE

A new CM using only UNIT and PUREA new CM using only UNIT and PURE

N(c) N(c)N(c) N(c)

R(c,t) R(c,t) ¬N(c) ¬N(c) O(c)O(c)

¬¬R(c,t) R(c,t) ¬O(c)¬O(c)

Applying UNIT and PUREApplying UNIT and PURE

A new CM using only UNIT and PUREA new CM using only UNIT and PURE

N(c) N(c)N(c) N(c)

R(c,t)R(c,t) ¬N(c)¬N(c)

¬¬R(c,t) R(c,t)

Applying UNIT twice and PUREApplying UNIT twice and PURE

A new CM using only UNIT and PUREA new CM using only UNIT and PURE

¬¬R(c,t) R(c,t) R(c,t)R(c,t)

Applying UNIT and PURE: {}Applying UNIT and PURE: {}

Implicit AmplificationImplicit Amplification

I am a member of my family. A father of a I am a member of my family. A father of a family member is also a family member.family member is also a family member.

M(a) ^ M(a) ^ x (Mx (M(x)(x)M(f(x)))M(f(x))) Is my grandgrandfather a member of the Is my grandgrandfather a member of the

family?family?

M(a) ^ M(a) ^ x (Mx (M(x)(x)M(f(x))) M(f(x))) M(f(f(f(a)))) M(f(f(f(a))))

Amplification Amplification [Andrews 81][Andrews 81]

Then more copies would be needed …Then more copies would be needed …

MM(x) M(f(a)) (x) M(f(a)) M(f(f(a))) M(f(f(a))) M(f(f(f(a))))M(f(f(f(a))))

¬¬M(a) M(a) ¬¬M(f(x)) M(f(x)) ¬¬M(f(f(x))) M(f(f(x))) ¬¬M(f(f(f(x)))) M(f(f(f(x))))

Implicit AmplificationImplicit Amplification

Implicit amplification deals with the problem Implicit amplification deals with the problem with indices, avoiding additional copieswith indices, avoiding additional copies

MM(x) (x) M(f(f(f(a))))M(f(f(f(a))))

¬¬M(a) M(a) ¬¬M(f(x)) M(f(x))

1

M(a) generated

Implicit AmplificationImplicit Amplification

Implicit amplification deals with the problem Implicit amplification deals with the problem with indices, avoiding additional copieswith indices, avoiding additional copies

MM(x) (x) 2 2 M(f(f(f(a))))M(f(f(f(a))))

¬¬M(a) M(a) ¬¬M(f(x)) M(f(x)) 1 1

1

¬M(f(a)) generated

Implicit AmplificationImplicit Amplification

Implicit amplification deals with the problem Implicit amplification deals with the problem with indices, avoiding additional copieswith indices, avoiding additional copies

MM(x) (x) 2 32 3 M(f(f(f(a))))M(f(f(f(a))))

¬¬M(a) M(a) ¬¬M(f(x)) M(f(x)) 1 21 2

1

¬M(f(f(a))) generated

Implicit AmplificationImplicit Amplification

Implicit amplification deals with the problem Implicit amplification deals with the problem with indices, avoiding additional copieswith indices, avoiding additional copies

MM(x) (x) 2 32 3 44 M(f(f(f(a))))M(f(f(f(a))))

¬¬M(a) M(a) ¬¬M(f(x)) M(f(x)) 1 21 2 33

1

¬M(f(f(f(a)))) generated

Implicit AmplificationImplicit Amplification

Implicit amplification deals with the problem Implicit amplification deals with the problem with indices, avoiding additional copieswith indices, avoiding additional copies

MM(x) (x) 2 32 3 44 M(f(f(f(a))))M(f(f(f(a))))

¬¬M(a) M(a) ¬¬M(f(x)) M(f(x)) 1 21 2 33

1

¬M(f(f(f(a)))) generated

4

SplittingSplitting

x ILLx ILL(x)(x)ILL(pat)^ ILL(bob)ILL(pat)^ ILL(bob)

If, instead of the ILL predicate, there were If, instead of the ILL predicate, there were large matrices, search space would increase large matrices, search space would increase considerably because of the search for considerably because of the search for connections between the twoconnections between the two

A new splitting method was proposedA new splitting method was proposed

SplittingSplitting

Unification:{xUnification:{x pat}, and then {x pat}, and then {xbob} fails, so bob} fails, so another copy would be neededanother copy would be needed

Then CM considers splitting (among other options)Then CM considers splitting (among other options) Splitting identifies the need for separation (in this Splitting identifies the need for separation (in this

case due to the conjunction) and thencase due to the conjunction) and then makes a pseudo-substitution {xmakes a pseudo-substitution {x ^} ^} Then each subcase of the conjunction will be treated Then each subcase of the conjunction will be treated

separatelyseparately

x ILLx ILL(x)(x)ILL(pat)^ ILL(bob)ILL(pat)^ ILL(bob)

SummarySummary

Matrices and Normal Forms in ATPMatrices and Normal Forms in ATP Proofs in MatricesProofs in Matrices The Connection MethodThe Connection Method

Extension Procedure, General Extension ProcedureExtension Procedure, General Extension Procedure Comparison with Other MethodsComparison with Other Methods

Tableaux, Consolution, Resolution, Model Tableaux, Consolution, Resolution, Model EliminationElimination

Quick view on Improvements & VariantsQuick view on Improvements & Variants Conclusions & Future WorkConclusions & Future Work

Different Systems & Logics Different Systems & Logics

Peter Andrews independently developed a Peter Andrews independently developed a similar refutation system at the same time similar refutation system at the same time

Lincoln Wallen [90] developed connection logic Lincoln Wallen [90] developed connection logic proof system for intuitionist and modal logicsproof system for intuitionist and modal logics

Wallen and also Waaler had developed Wallen and also Waaler had developed mappings from CM to sequents in different mappings from CM to sequents in different logicslogics

Bibel have done the same for natural deductionBibel have done the same for natural deduction

ImplementationsImplementations

SETHEO [Letz et al 92] – Winner of the SETHEO [Letz et al 92] – Winner of the CASC competitionCASC competition

leanCoP [Otten & Bibel 2003] – Best leanCoP [Otten & Bibel 2003] – Best newcomer at CADEnewcomer at CADE

ileanCoP outperforms any intuitionist FOL ileanCoP outperforms any intuitionist FOL proverprover

randoCoP – 3randoCoP – 3rdrd place at CASC 2004, behind place at CASC 2004, behind Vampyr and E, coded in low level languagesVampyr and E, coded in low level languages

ConclusionsConclusions

CM is a fast, flexible and simple methodCM is a fast, flexible and simple method Formalized for other logics, but not yet to DLFormalized for other logics, but not yet to DL Some features match DL Some features match DL

Implicit amplification resembles transitivityImplicit amplification resembles transitivity A DL formalization and implementation can A DL formalization and implementation can

be promising, but translations to clauses in the be promising, but translations to clauses in the flavor of DL-Safe rules [Haase 2006] may be flavor of DL-Safe rules [Haase 2006] may be necessarynecessary

WorkplanWorkplan

Study CM for FOL, improvements, other methods Study CM for FOL, improvements, other methods (Andrews’, inverse, disconnection), etc(Andrews’, inverse, disconnection), etc

Study existing methods for DL in depthStudy existing methods for DL in depth Tableaux and its optimizations [Horrocks]Tableaux and its optimizations [Horrocks] DL-Safe DLP rules DL-Safe DLP rules Hypertableaux (Hermit [Motik])Hypertableaux (Hermit [Motik])

Propose a method for DL based in CMPropose a method for DL based in CM Compare the method with the existing onesCompare the method with the existing ones Supervise a student to implement it Supervise a student to implement it

Bibel sagt…Bibel sagt…

Im Anfang [...] Finsternis lag über der weiten Flut  Im Anfang [...] Finsternis lag über der weiten Flut 

Too many steps!!!!!!!

Da sprach Gott: »Es werde Licht!«, und es ward Licht.Da sprach Gott: »Es werde Licht!«, und es ward Licht.

Da sprach Gott: »Es werde Licht!«, und es ward Licht.Da sprach Gott: »Es werde Licht!«, und es ward Licht.

Splitting: Half of the steps!!!

Thank you!!Thank you!!

Questions??Questions?? Suggestions??Suggestions??

Allowing matrices inside matricesAllowing matrices inside matrices

P P ¬P ¬P P P ¬P ¬P P P ¬P ¬P P P ¬P ¬P Q Q ¬Q ¬Q Q Q Q Q ¬Q ¬Q Q Q ¬Q ¬Q ¬Q ¬Q R R R R ¬R ¬R ¬R ¬R R R R R ¬R ¬R ¬R ¬R

Would be turned into:Would be turned into:

M(2)M(2) M(2)M(2) R R ¬R ¬R

Introducing Artificial VariablesIntroducing Artificial Variables

FFG is transformed into the valid formulaG is transformed into the valid formula (E (E (F (FG)) G)) E E If G is a disjuntion thenIf G is a disjuntion then (G1 v G2 (G1 v G2 G) ^ (E G) ^ (E (F (FG)) G)) E E ¬G ^ G1 v ¬G ^ G2 v ¬E ^ F ^ G v ¬E ^ ¬F ^ ¬G v E¬G ^ G1 v ¬G ^ G2 v ¬E ^ F ^ G v ¬E ^ ¬F ^ ¬G v E

Disjunctive Normal FormDisjunctive Normal Form

Converting certain types of formulae Converting certain types of formulae (particularly with equivalence (particularly with equivalence ) can lead ) can lead to an exponential explosion in the size of to an exponential explosion in the size of formulae, in the worst casesformulae, in the worst cases

That problem can addressed by two waysThat problem can addressed by two ways Allowing matrices inside matricesAllowing matrices inside matrices Introducing artificial variables that shorten the Introducing artificial variables that shorten the

normal formnormal form