Dipartimento di Informatica - Università degli studi di Torino
description
Transcript of Dipartimento di Informatica - Università degli studi di Torino
![Page 1: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/1.jpg)
Dipartimento di Informatica - Università degli studi di Torino
CondLean 3.0: improving CondLean
for stronger Conditional Logics
Nicola Olivetti – Gian Luca Pozzato
![Page 2: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/2.jpg)
• 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
Outline
![Page 3: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/3.jpg)
11
Conditional logicsConditional logics
![Page 4: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/4.jpg)
• 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
![Page 5: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/5.jpg)
• 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
Syntax
![Page 6: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/6.jpg)
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 function f: W x 2W 2W , called the selection function;- [ ] is an evaluation function [ ] : ATM 2W.
![Page 7: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/7.jpg)
• The selection function f (w, [A]) selects the worlds “closest” to w given the information A.
Conditional logics
Semantics
![Page 8: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/8.jpg)
• [ ] assigns to an atomic formula P the set of worlds where P is true; [ ] is also extended to complex formulas as follows :
[ ] =
[ A B ] = (W - [ A ]) [ B ]
[ A B ] = {w W | f (w, [ A ]) [ B ]}
• A conditional formula A B is true in a world w
if B is true in all the worlds “closest” to w given the information A.
Conditional logics
Semantics
![Page 9: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/9.jpg)
• We say that a formula A is valid in a model M if [ A ] = W. A formula A is valid if it is valid in every model M.
Conditional logics
Semantics
![Page 10: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/10.jpg)
• The semantics above characterizes the minimal normal conditional logic CK, which is axiomatized as follows:
Conditional logics
System CK
![Page 11: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/11.jpg)
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 - System CK
![Page 12: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/12.jpg)
With some properties of the selection function, we have the following extensions:
System Axiom Selection function property
Conditional logics
Extensions of CK
CK+ID A A f (x, [ A ]) [ A ]
CK+MP (A B) (A B) w [ A ] w f (w, [ A ])
CK+CS (A B) (A B) w [ A ] f (w, [ A ]) {w}
CK+CEM (A B) (A B) | f (w, [ A ]) | 1
![Page 13: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/13.jpg)
22
Sequent Calculi SeqSSequent Calculi SeqS
![Page 14: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/14.jpg)
• 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
![Page 15: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/15.jpg)
• A sequent is a pair < , >, written as usual as ;
and are multisets of labelled formulas; we have two kinds of formulas:
Sequent Calculi SeqS
world formulas, like x: A;x yA transition formulas, like .
• A transition formula represents that y f (x, [A]).
• A world formula x: A represents that the formula A is true in the world x.
x yA
![Page 16: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/16.jpg)
SeqCK:
Sequent Calculi SeqS
![Page 17: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/17.jpg)
Theorem (soundness and completeness of SeqS): is valid iff it is derivable in SeqS.
Sequent Calculi SeqS
Rules for the extensions of CK:
![Page 18: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/18.jpg)
33
How to obtain a How to obtain a decision proceduredecision procedure
![Page 19: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/19.jpg)
• SeqS calculi have the following rules:
, x: A B (L)
How to obtain a decision procedure
, x: A B , x yA , x: A B, y: B
(CEM), x y
A
, ,x yA (, )[y,z/u]x yAx zA
![Page 20: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/20.jpg)
• 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
![Page 21: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/21.jpg)
• 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=y or
3. the same restrictions on the applications of (CEM)
How to obtain a decision procedure
x y Cx y
A
x yA
![Page 22: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/22.jpg)
• SeqCK and SeqID are complete even if we reformulate as follows:
How to obtain a decision procedure
(L)
, x: A B (L)
x yA , y: B
x y,C
x yC
x y,C
![Page 23: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/23.jpg)
44
DDesign of esign of
CondLean 3.0CondLean 3.0
![Page 24: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/24.jpg)
• 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
![Page 25: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/25.jpg)
• 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
![Page 26: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/26.jpg)
• 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
![Page 27: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/27.jpg)
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),!.
, F , F(AX)
![Page 28: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/28.jpg)
Example 2: clause implementing (R):
prove(Cond,[LitSigma,TransSigma,ComplexSigma],
, x: A B
, , y: B(R) x yA
Design of CondLean 3.0
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]).
[LitDelta,TransDelta,ComplexDelta],Labels):
![Page 29: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/29.jpg)
Example 3: clause implementing (L):
prove(Cond,[LitSigma,TransSigma,ComplexSigma],
Design of CondLean 3.0
member([X,A => B],ComplexSigma),select([[X,A => B],Used],Cond,TempCond),
put([Y,B], LitSigma, ComplexSigma, NewLitSigma, NewComplexSigma),…
[LitDelta,TransDelta,ComplexDelta],Labels):
, x: A B (L)
, x: A B , x yA , x: A B, y: B
member([X,C,Y],TransSigma),\+member([X,C,Y],Used),!,
![Page 30: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/30.jpg)
Example 3: clause implementing (L):
prove(Cond,[LitSigma,TransSigma,ComplexSigma],
Design of CondLean 3.0
…prove([[[X,A=>B],[[X,C,Y]|Used]]|TempCond], [LitSigma,TransSigma,ComplexSigma], [LitDelta,[X,A,Y]|TransDelta],ComplexDelta],Labels),
[LitDelta,TransDelta,ComplexDelta],Labels):
, x: A B (L)
, x: A B , x yA , x: A B, y: B
prove([[[X,A=>B],[[X,C,Y]|Used]]|TempCond], [NewLitSigma,TransSigma,NewComplexSigma], [LitDelta,TransDelta,ComplexDelta],Labels).
![Page 31: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/31.jpg)
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)
![Page 32: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/32.jpg)
• We present three different implmentations for our theorem provers:
1. Constant labels version (for all the systems)
2. Free-variables version
3. Heuristic version
Design of CondLean 3.0
(only for SeqCK and SeqID)}
![Page 33: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/33.jpg)
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
![Page 34: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/34.jpg)
• 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:
, x: A B
,(L)
x yA , y: B
Design of CondLean 3.0
• If there are n labels to choose, the computation might succeed only after n-1 backtracking steps, with a significant loss of efficiency.
![Page 35: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/35.jpg)
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
![Page 36: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/36.jpg)
, x: A B
,(L)
x VA , V: 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.
Free variable
Design of CondLean 3.0
![Page 37: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/37.jpg)
• 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
![Page 38: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/38.jpg)
3. Heuristic version
• This implementation performs a “two-phase” computation:
Design of CondLean 3.0
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.
![Page 39: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/39.jpg)
• 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.Sequent degree
Time to succeed (ms)
2 6 9 11 15
5 500 650 1000 2000
Design of CondLean 3.0
![Page 40: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/40.jpg)
• One can download the source code and the application CondLean 3.0 at the following address:
www.di.unito.it/~pozzato/CondLean 3.0
![Page 41: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/41.jpg)
55
CConclusion andonclusion and
FFuture workuture work
![Page 42: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/42.jpg)
• 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
Conclusions and Future work
![Page 43: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/43.jpg)
66
RReferenceseferences
![Page 44: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/44.jpg)
References
[BeckertPosegga96] Bernard Beckert and Joachim Posegga. leanTAP: Lean Tableau-based Deduction. Journal of Automated Reasoning, 15(3), pp. 339-358.
[BeckertGorè97] Bernard Beckert and Rajeev Gorè. Free Variable Tableaux for Propositional Modal Logics. Tableaux-97, LNCS 1227, Springer, pp. 91-106.
[Gabbay96] Dov. M. Gabbay. Labelled deductive systems (vol. i). Oxford logic guides, Oxford University Press.
![Page 45: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/45.jpg)
References
[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.
[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.
![Page 46: Dipartimento di Informatica - Università degli studi di Torino](https://reader035.fdocuments.us/reader035/viewer/2022081519/56814827550346895db54b48/html5/thumbnails/46.jpg)
References
[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.
[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 athttp://www.di.unito.it/~pozzato/tesiPozzato.html