460 likes | 584 Views
CondLean 3.0: improving CondLean for stronger Conditional Logics. Nicola Olivetti – Gian Luca Pozzato. Dipartimento di Informatica - Università degli studi di Torino. Outline. Brief introduction of Conditional Logics Sequent calculi SeqS for some standard conditional logics
E N D
CondLean 3.0: improving CondLean for stronger Conditional Logics Nicola Olivetti – Gian Luca Pozzato Dipartimento di Informatica - Università degli studi di Torino
Outline • Brief introduction of Conditional Logics • Sequent calculi SeqS for some standard conditional logics • List of results, in order to obtain a decision procedure for conditional logics • CondLean 3.0: a SICStus Prolog implementation of sequent calculi SeqS • Conclusions, future work and references
1 Conditional logics
Conditional logics • Conditional logics have a long history • Recently, they have been used in some branches of artificial intelligence, such as: • non-monotonic reasoning (for example, prototypical reasoning and default reasoning); • belief revision; • deductive databases; • representation of counterfactuals.
Conditional logics Syntax • Conditional logic is an extension of classical logic by the conditional operator. • We consider a language L over a set ATM of propositional variables. Formulas of L are obtained applying the classical connectives and the conditional operator to the propositional variables.
Conditional logics Semantics • We consider the selection function semantics; the model is a triple: < W, f, [ ] > - W is a non-empty set of items called worlds; - f is a functionf: W x 2W 2W, called the selection function; - [ ] is an evaluation function[ ] : ATM 2W.
Conditional logics Semantics • The selection functionf (w, [A]) selects the worlds “closest” tow given the informationA.
Conditional logics Semantics • [ ] assigns to an atomic formulaPthe set of worlds wherePis true; [ ] is also extended to complex formulas as follows : • [ ] = • [ A B ] = (W - [ A ]) [ B ] • [ A B ] = {w W | f (w, [ A ]) [ B ]} • A conditional formulaA Bis true in a worldw ifB is true in all the worlds “closest” to w given the information A.
Conditional logics Semantics • We say that a formulaA is valid in a model Mif [ A ] = W. A formulaA is valid if it is valid in every modelM.
Conditional logics System CK • The semantics above characterizesthe minimal normal conditional logic CK, which is axiomatized as follows:
Conditional logics - System CK All the tautologies of the classical propositional logic are CK axioms; modus ponens: RCEA: RCK: A A B B A B (A C) (B C) (A1 A2 … An) B (C A1 C A2 … C An) (C B)
Conditional logics Extensions of CK With some properties of the selection function, we have the following extensions: System Axiom Selection function property CK+ID f (x, [ A ]) [ A ] A A CK+MP w [ A ] w f (w, [ A ]) (A B) (A B) CK+CS w [ A ] f (w, [ A ]) {w} (A B) (A B) CK+CEM | f (w, [ A ]) | 1 (AB) (A B)
2 Sequent Calculi SeqS
Sequent Calculi SeqS • In [OlivettiSchwind01], [OlivettiPozzatoSchwind05] sequent calculi for conditional logics, called SeqS, are introduced. • SeqS consider CK and extensions CK+{ID, MP, CS, CEM} and all the combinations of them, except for those combining both CEM and MP • These calculi use transition formulas and labels, in a similar way to [Viganò00] and [Gabbay96].
Sequent Calculi SeqS • A sequent is a pair < , >, written as usual as ; • and are multisets of labelled formulas; we have two kinds of formulas: world formulas, like x: A; A transition formulas, like . x y • A world formula x: A represents that the formula Ais true in the world x. A • A transition formula represents that y f (x, [A]). x y
Sequent Calculi SeqS SeqCK:
Sequent Calculi SeqS Rules for the extensions of CK: Theorem (soundness and completeness of SeqS): is valid iff it is derivable in SeqS.
3 How to obtain a decision procedure
How to obtain a decision procedure • SeqS calculi have the following rules: A , x: A B , x y , x: A B, y: B (L) , x: A B A A A , , x y (, )[y,z/u] x y x z (CEM) A , x y
How to obtain a decision procedure • In backward proof search, the above rules add a formula in the premise (i.e. they copy their principal formula in their premises) • In order to obtain a decision procedure, it is essential to control the application of these rules.
How to obtain a decision procedure • In [OlivettiPozzatoSchwind05 : submitted] it is shown that: • 1. one needs to apply (L) at most once on the same formula x: A B by using the same transition • 2. one needs to apply (L) by using only when x=yor • 3. the same restrictions on the applications of (CEM) A x y A x y C x y
How to obtain a decision procedure • SeqCK and SeqID are complete even if we reformulate as follows: (L) A C C x y x y x , y: B y, (L) C x y, , x: A B
4 Design of CondLean 3.0
Design of CondLean 3.0 • CondLean 3.0 is a Prolog implementation of SeqS calculi; it is written in SICStus Prolog and it is inspired by leanTAP, introduced in [BeckertPosegga96]. • The program comprises a set of clauses, each one of them represents a sequent rule or axiom; the proof search is provided for free by the mere depth-first search mechanism of Prolog.
Design of CondLean 3.0 • CondLean 3.0 vs CondLean: • 1. CondLean is a t.p. for CK and its extensions MP, ID, and MP+ID, whereas CondLean 3.0 includes extensions CS and CEM and all combinations of ID, MP, CS, and CEM, except those combining both CEM and MP • 2. CondLean implements sequent calculi with explicit contractions, whereas CondLean 3.0 implements SeqS as in [OlivettiPozzatoSchwind05], where the crucial rule (L) is invertible
Design of CondLean 3.0 • The sequent calculi are implemented by the predicate • prove(Cond, Sigma, Delta, Labels) • This predicate succeeds if and only if the sequent is derivable in SeqS, where • - Sigma e Delta are the lists representing multisets and • - Labels is the list of labels introduced in that branch • - Cond is a list of pairs [F, Used], where F is a conditional formula and Used the list of transitions already used to apply (L) on F
Design of CondLean 3.0 • Each clause of predicate prove implements one axiom or rule of SeqS. • The clauses of prove are ordered to postpone the application of the branching rules. Example 1: clause implementing (AX) axiom; both the antecedent and the consequent contain the same complex formula F: prove(_[_,_,ComplexSigma],[_,_,ComplexDelta],_):- member(F,ComplexSigma), member(F,ComplexDelta),!. (AX) , F , F
Design of CondLean 3.0 Example 2: clause implementing (R): prove(Cond,[LitSigma,TransSigma,ComplexSigma], A , , y: B x y (R) , x: A B [LitDelta,TransDelta,ComplexDelta],Labels): select([X,A => B],ComplexDelta,ResComplexDelta),!, createLabels(Y,Labels), put([Y,B], LitDelta, ResComplexDelta, NewLitDelta, NewComplexDelta), prove(Cond,[LitSigma, [[X,A,Y]|TransSigma], ComplexSigma],[NewLitDelta,TransDelta, NewComplexDelta],[Y|Labels]).
Design of CondLean 3.0 Example 3: clause implementing (L): prove(Cond,[LitSigma,TransSigma,ComplexSigma], A , x: A B , x y , x: A B, y: B (L) , x: A B [LitDelta,TransDelta,ComplexDelta],Labels): member([X,A => B],ComplexSigma), select([[X,A => B],Used],Cond,TempCond), member([X,C,Y],TransSigma), \+member([X,C,Y],Used),!, put([Y,B], LitSigma, ComplexSigma, NewLitSigma, NewComplexSigma), …
Design of CondLean 3.0 Example 3: clause implementing (L): prove(Cond,[LitSigma,TransSigma,ComplexSigma], A , x: A B , x y , x: A B, y: B (L) , x: A B [LitDelta,TransDelta,ComplexDelta],Labels): … prove([[[X,A=>B],[[X,C,Y]|Used]]|TempCond], [LitSigma,TransSigma,ComplexSigma], [LitDelta,[X,A,Y]|TransDelta],ComplexDelta],Labels), prove([[[X,A=>B],[[X,C,Y]|Used]]|TempCond], [NewLitSigma,TransSigma,NewComplexSigma], [LitDelta,TransDelta,ComplexDelta],Labels).
Design of CondLean 3.0 • For systems allowing (CEM) another parameter Tr is added to the predicate prove: • prove(Tr, Cond, Sigma, Delta, Labels) • It is a list of pairs [T,Used] where T is a transition formula and Used the list of transitions already used to apply (CEM) on T • The application of (CEM) is restricted as in the case of (L)
Design of CondLean 3.0 • We present three different implmentations for our theorem provers: • 1. Constant labels version (for all the systems) • 2. Free-variables version • 3. Heuristic version } (only for SeqCK and SeqID)
Design of CondLean 3.0 • 1. Constant labels version • This version makes use of Prolog constants to represent SeqS’s labels, introdouced by the (R) rule. • In SeqCK and SeqID…
Design of CondLean 3.0 • When the (L) clause is used to prove , a backtracking point is introduced by the choice of a label y occurring in the two premises: A , , y: B x y (L) , x: A B • If there are n labels to choose, the computation might succeed only after n-1 backtracking steps, with a significant loss of efficiency.
Design of CondLean 3.0 • 2. Free-variables version • In this implementation, CondLean 3.0 makes use of Prolog variables to represent all the labels that can be used in an application of the (L) clause. • This solution is inspired to the free-variable tableaux introduced in [BeckertGorè97].
Design of CondLean 3.0 Free variable A , , V: B x V (L) , x: A B Each free variable will be then istantiated by Prolog’s pattern matching either to apply the (EQ) rule, or to close a branch with an axiom.
Design of CondLean 3.0 • To manage free variable domains we use the constraints (CLP); when a free variable V is introduced by the application of (L), a constraint on its domain is added to the constraint store. • The constraint solver (given for free by the clpfd library of SICStus Prolog) will control the consistency of the constraint store during the computation in a very efficient way.
Design of CondLean 3.0 • 3. Heuristic version • This implementation performs a “two-phase” computation: 1. An incomplete theorem prover searches a derivation exploring a reduced search space, to check the validity of a sequent in a very small time; 2. In case of failure of phase 1, the free variable version is called to complete the computation. • On a valid sequent with over 120 connectives, the heuristic version succeeds in 460 msec versus 4326 msec of the free variable version.
Design of CondLean 3.0 • The performances of the three versions are promising. • We have tested CondLean 3.0 - free variable version – for SeqCK obtaining the following results; we define the sequent degree as the maximum level of nesting of the conditional operator. 2 6 9 11 15 Sequent degree 5 500 650 1000 2000 Time to succeed (ms)
One can download the source code and the application CondLean 3.0 at the following address: • www.di.unito.it/~pozzato/CondLean 3.0
5 Conclusion and Future work
Conclusions and Future work • To the best of our knowldege, CondLean 3.0 is the first theorem prover for CK and extensions with ID, MP, CEM, and CS. • We are working on extending CondLean to other conditional systems (AC, CV, …) • We intend to develop free variable and heuristic versions for systems with MP, CS, and CEM
6 References
References [BeckertGorè97] Bernard Beckert and Rajeev Gorè. Free Variable Tableaux for Propositional Modal Logics. Tableaux-97, LNCS 1227, Springer, pp. 91-106. [BeckertPosegga96] Bernard Beckert and Joachim Posegga. leanTAP: Lean Tableau-based Deduction. Journal of Automated Reasoning, 15(3), pp. 339-358. [Gabbay96] Dov. M. Gabbay. Labelled deductive systems (vol. i). Oxford logic guides, Oxford University Press.
References [OlivettiPozzato03] Nicola Olivetti and Gian Luca Pozzato. CondLean: A Theorem Prover for Conditional Logics. In Proc. of TABLEAUX 2003 (Automated Reasoning with Analytic Tableaux and Related Methods), volume 2796 of LNAI, Springer, pp. 264-270. [OlivettiPozzatoSchwind05] Nicola Olivetti, Gian Luca Pozzato and Camilla B. Schwind. A Sequent Calculus and a Theorem Prover for Standard Conditional Logics: Extended version. Technical Report 87/05, Dipartimento di Informatica, Università degli Studi di Torino, Italy, 2005.
References [Pozzato03] Gian Luca Pozzato. Deduzione Automatica per Logiche Condizionali: Analisi e Sviluppo di un Theorem Prover. Tesi di laurea, Informatica, Università di Torino. In Italian, download at http://www.di.unito.it/~pozzato/tesiPozzato.html [OlivettiSchwind01] Nicola Olivetti and Camilla B. Schwind. A Calculus and Complexity Bound for Minimal Conditional Logic. Proc. ICTCS01 - Italian Conference on Theoretical Computer Science, vol. LNCS 2202, pp. 384-404. [Viganò00] Luca Viganò. Labelled Non-classical Logics. Kluwer Academic Publishers, Dordrecht.