A Uniform Proof Procedure for Classical and Non-Classical Logics Jens Otten Christoph Kreitz Fachgebiet Intellektik, Fachbereich Informatik Technische Hochschule Darmstadt Alexanderstr. 10, 64283 Darmstadt, Germany {jeotten,kreitz}@intellektik.informatik.th-darmstadt.de
Overview 1. Logical Validity 2. Characterization of Logical Validity Matrix, Paths, and Connections A Matrix Characterization 3. A Uniform Proof Search Procedure 4. Testing Complementarity T-String Unification: Unifying Prefixes 5. Further Research A Uniform Proof Procedure 1 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
Logical Validity Example: If the sun is shining then I am happy. deduce The sun is not shining or I am happy. Formalization: S : The sun is shining. H : I am happy. 1) Classical Logic S H S H iff formula F 1 (S H) ( S H) is valid usual connectives (,,, ) and quantifiers (, ) F 1 is valid (S H eq. S H) 2) Intuitionistic Logic restrict classical validity (A A is not valid) F 1 is not (intuitionistically) valid 3) Modal Logics extend classical logic by the modal operators ( and ) A Uniform Proof Procedure 2 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
A Uniform Proof Procedure 3 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt) Matrix, Paths, and Connections Def.: A Matrix of a formula F is the representation of F as matrix. Example: F 1 (S H) ( S H) S H ( S H) S 0 H 1 S 1 H 0 Def.: A Path through a formula F is a subset of its atoms; it is a horizontal path through the matrix of F. Example: {S 0, S 1, H 0 } and {H 1, S 1, H 0 } are (the only) paths through F 1. Def.: A Connection is a pair of atoms with the same predicate symbols but different polarities. Example: {S 0, S 1 } and {H 1, H 0 } are conections.
A Matrix Characterization Theorem: A Formula F is valid, iff there is 1. a multiplicity µ, 2. classical: a first-order substitution σ:=σ Q (replacing terms for variables) intuitionistic: a combined substitution σ:=(σ Q, σ J ), where σ J is an intuitionistic substitution ( unifies prefixes ) modal: a combined substitution σ:=(σ Q, σ M ), where σ M is a modal substitution ( unifies prefixes ) 3. a set of σ-complementary connections such that every path through F µ contains a connection. Example (classical): F 1 (S H) ( S H) S 0 H 1 S 1 H 0 1. 2. no multiplicity and first-order substitution necessary 3. set of connections {{S 0, S 1 }, {H 1, H 0 }} F 1 classically valid A Uniform Proof Procedure 4 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
A Matrix Characterization Example (intuitionistic): F 2 xp x (P a P b) P 1 x 1 : a 0 A 1 A 2 }{{} prefix P 1 x 2 : a 0 A 6 A 7 P 0 a : a 0 a 4 P 0 b : a 0 a 5 1. Two instances of P x necessary 2. σ Q = {x 1 \a, x 2 \b}, σ J = {A 1 \ε, A 2 \a 4, A 6 \ε, A 7 \a 5 } 3. set of connections {{P 1 x 1, P 0 a}, {P 1 x 2, P 0 b}} F 2 intuitionistically valid Prefix describes position of atom in the formula tree Automated Theorem Proving = A) Searching for a set of connections B) Testing complementarity (computing the combined substitution) A Uniform Proof Procedure 5 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
Searching for a Set of Connections path-checking similar to Bibel s connection method once a connection is identified all paths containing it are deleted applicable to arbitrary formulae (necessary for non-classical logics) Def.: Two atoms U and V are α-(β-)related, denoted U α V (U β V ), iff they appear side by side (one upon the other) in the matrix, where U V. Def.: An atom U and a set of atoms S are α-(β-)related, denoted U α S (U β S), iff U α V (U β V ) for all V ɛ S. The function Subproof L (F µ, P, C) realizes the path-checking for a given multiplicity µ and is invoked by Subproof L (F µ,, ) Complementary L (F µ, A, Ā, σ, σ) implements the complementarity test for atoms A and Ā and returns the combined substitution σ (depends on logic L) A Uniform Proof Procedure 6 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
A Uniform Proof Search Procedure The function Subproof L (F µ, P, C) [set of atoms A µ in F µ and σ are global] if there is no A ɛ A µ where A α P and A β C then return true; E := ; σ := σ; repeat select A ɛ A µ where A α (P E) and A β C; if there is no such A then return false; E := E {A}; D := ; valid := false; noconnect := false; repeat select Ā ɛ Aµ where Ā ɛ D and Complementary L(F µ, A, Ā, σ, σ) and (1.) Ā ɛ P or (2.) Ā α(p {A}); if there is no such Ā then noconnect := true else D := D {Ā} if Ā ɛ P then valid := true else valid := Subproof L (F µ, P {A}, {Ā}); if valid=true then valid := Subproof L (F µ, P, C {A}); until valid=true or noconnect=true; until valid=true; return true. A Uniform Proof Procedure 7 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
Testing Complementarity Compute an appropriate combined substitution after adding a connection all connections still have to be complementary Example: F 3 xp x P a 1. classical: Term-unification (P x, P a) first-order substitution σ Q = {x\a} algorithm of Herbrand&Robinson or Martelli&Montanari P 1 x : a 0 A 1 A 2 }{{} prefix P 0 a : a 0 a 3 2. non-classical: in addition Prefix-unification (a 0 A 1 A 2, a 0 a 3 ) intuitionistic (modal) substitution σ J = {A 1 \a 3, A 2 \ε} specialized string-unification T-String-Unification A Uniform Proof Procedure 8 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
T-String Unification Def.: Strings are words over an Alphabet A = V C, where V is a set of variables and C is a set of constants. (ε is the empty word, s t the concatenation of the strings s and t.) Def.: Two strings are called T-Strings, iff 1. no character is repeated in s or in t, and 2. equal characters occur only at the beginning of s and t. T-strings can be represented as branches in a tree. Prefixes of atoms in a formula are T-Strings. Example: unify tabular and tast ef ul to tableaux with the substitution σ = {U\ε, A\ea, R\ux, S\b, T \l, F \a, L\x}. Computing a set(!) of most general unifiers (in the worst case up to 2 1(2n)! (n!) 2 O(22n n ) most general unifiers) (unifier) A Uniform Proof Procedure 9 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
T-String Unification of s and t Sequence of transformations of the tuple (Γ, σ), where Γ is an equation and σ is a substitution (similar to term-unification of Martelli&Montanari). Start: ({s = ε t}, {}) (divide right part of equation!). Stop: ({}, σ), where σ represents an idempotent most general unifier for s and t. Transformation Rules for intuitionistic logic or S4 (apply nondeterministically): R1. {ε = ε ε}, σ {}, σ R2. {ε = ε t + }, σ {t + = ε ε}, σ R3. {Xs = ε Xt}, σ {s = ε t}, σ R4. {Cs = ε V t}, σ {V t = ε Cs}, σ R5. {V s = z ε}, σ {s = ε ε}, {V \z} σ R6. {V s = ε C 1 t}, σ {s = ε C 1 t}, {V \ε} σ R7. {V s = z C 1 C 2 t}, σ {s = ε C 2 t}, {V \zc 1 } σ R8. {V s + = ε V 1 t}, σ {V 1 t = V s + }, σ R9. {V s + = z + V 1 t}, σ {V 1 t = V s + }, {V \z + V } σ R10. {V s = z Xt}, σ {V s = zx t}, σ, where V X, and s=ε or t ε or X C V, C, V denote sets of variables, constants and auxiliary variables. s, t, z denote (arbitrary) strings and s +, t +, z + non-empty strings. X, V, V 1, C, C 1, C 2 denote single characters with X V C V, V, V 1 V V (V V 1 ), and C, C 1, C 2 C. V V is a new variable. Similar rules for the modal logics D, D4, S5, and T. A Uniform Proof Procedure 10 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)
Further Research Provide a Prolog implementation for all logics under consideration (prototype for classical and intuitionistic logic already finished) Further optimizations like a decision procedure for the propositional case and efficiency improvements Implementations in ML and/or C Extend the procedure to additional logics such as (fragments of) linear logic A Uniform Proof Procedure 11 Jens Otten, Christoph Kreitz (Technische Hochschule Darmstadt)