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