1 / 68

Dipartimento di Informatica - Università degli studi di Torino

CondLean 2.0: a Theorem Prover for standard 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

bisa
Download Presentation

Dipartimento di Informatica - Università degli studi di Torino

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CondLean 2.0: a Theorem Prover for standard Conditional Logics Nicola Olivetti – Gian Luca Pozzato Dipartimento di Informatica - Università degli studi di Torino

  2. 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 and the reformulation BSeqS • CondLean 2.0: a SICStus Prolog implementation of sequent calculi BSeqS • Future work and references

  3. 1 Conditional logics

  4. 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.

  5. 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.

  6. Conditional logics Semantics • We consider the selection function semantics; the model is a triple:

  7. Conditional logics Semantics • We consider the selection function semantics; the model is a triple: < W, f, [ ] >

  8. 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;

  9. 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;

  10. 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.

  11. Conditional logics Semantics • The selection function f (w, [A]) selects the worlds “closest”to w given the information A.

  12. Conditional logics Semantics • [ ] 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.

  13. Conditional logics Semantics • We say that a formula A is valid in a model Mif [ A ] = W. A formula A is valid if it is valid in every model M.

  14. Conditional logics System CK • The semantics above characterizesthe minimal normal conditional logic CK, which is axiomatized as follows:

  15. 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)

  16. Conditional logics Systems CK{+MP}{+ID} With some properties of the selection function, we have the following extensions: System Axiom Selection function property

  17. Conditional logics Systems CK{+MP}{+ID} 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

  18. Conditional logics Systems CK{+MP}{+ID} 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)

  19. Conditional logics Systems CK{+MP}{+ID} 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) w [ A ]  w  f (w, [ A ]) (A B)  (A B) CK+MP+ID f (x, [ A ]) [ A ] A A

  20. 2 Sequent Calculi SeqS

  21. Sequent Calculi SeqS • In [OlivettiSchwind01] sequent calculi for conditional logics CK{+MP}{+ID} called SeqS, where S={CK, ID, MP, ID+MP}, are introduced. • These calculi use transition formulas and labels, in a similar way to [Viganò00] and [Gabbay96].

  22. Sequent Calculi SeqS • A sequent is a pair < ,  >, written as usual as  ; •  and  are multisets of formulas; we have two kinds of formulas:

  23. Sequent Calculi SeqS • A sequent is a pair < ,  >, written as usual as  ; •  and  are multisets of formulas; we have two kinds of formulas: Labelled formulas, like x: A;

  24. Sequent Calculi SeqS • A sequent is a pair < ,  >, written as usual as  ; •  and  are multisets of formulas; we have two kinds of formulas: transition formulas, like . Labelled formulas, like x: A; A x y

  25. Sequent Calculi SeqS • A sequent is a pair < ,  >, written as usual as  ; •  and  are multisets of formulas; we have two kinds of formulas: transition formulas, like . Labelled formulas, like x: A; A x y • A labelled formula x: A represents that the formula Ais true in the world x.

  26. Sequent Calculi SeqS • A sequent is a pair < ,  >, written as usual as  ; •  and  are multisets of formulas; we have two kinds of formulas: transition formulas, like . Labelled formulas, like x: A; A x y • A labelled 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

  27. Sequent Calculi SeqS Theorem (soundness and completeness of SeqS):  is valid iff it is derivable in SeqS.

  28. 3 How to obtain a decision procedure

  29. How to obtain a decision procedure • SeqS calculi have the following contraction rules:  , F, F , F, F  (ContrR) (ContrL)  , F , F 

  30. How to obtain a decision procedure • SeqS calculi have the following contraction rules:  , F, F , F, F  (ContrR) (ContrL)  , F , F  • In backward proof search, the contraction rules add a formula in the premise; all the other rules are analytic. • In order to obtain a decision procedure, it is essential to control the application of the contraction rules.

  31. How to obtain a decision procedure In [OlivettiSchwind01] it is shown that: the contraction rules can be eliminated in SeqCK SeqCK is complete without (ContrL) e (ContrR); so we have a decision procedure for CK (all the SeqCK’s rules are analytic).

  32. How to obtain a decision procedure • In [Pozzato03]it is shown that:

  33. How to obtain a decision procedure • In [Pozzato03]it is shown that: 1. SeqID is complete without the contraction rules.

  34. How to obtain a decision procedure • In [Pozzato03]it is shown that: 1. SeqID is complete without the contraction rules. 2. SeqMP and SeqID+MP are NOT complete without the contraction rules. • This analysis is inspired by the work made by Luca Viganò for modal logic T [Viganò00]

  35. How to obtain a decision procedure • One can control the application of the contraction rules as follows:

  36. How to obtain a decision procedure • One can control the application of the contraction rules as follows: 2.1. SeqMP and SeqID+MP are complete without the (ContrR) rule.

  37. How to obtain a decision procedure • One can control the application of the contraction rules as follows: 2.1. SeqMP and SeqID+MP are complete without the (ContrR) rule. 2.2. In SeqMP and SeqID+MP one needs to apply the (ContrL) rule at most one time on every conditional formula x: A  B in every branch of the proof tree. • Here are the BSeqS calculi presented in [OlivettiPozzatoSchwind04]:

  38. How to obtain a decision procedure • The (L) rule is “split” in three rules, to keep into account of the necessary application of (ContrL).

  39. How to obtain a decision procedure • The (L) rule is “split” in three rules, to keep into account of the necessary application of (ContrL). 1. The first rule decomposes the principal formula x: A  B adding a copy of the formula in the multiset CondContr: If x: A  B K K  { x: A  B } | CondContr  { x: A  B } | , y: B  A x y K  { x: A  B } | CondContr  { x: A  B } |  , (L)1 K | CondContr | , x: A  B 

  40. How to obtain a decision procedure • The (L) rule is “split” in three rules, to keep into account of the necessary application of (ContrL). 1. The second rule is applied if x: A  Bhas already been contracted in that branch (i.e. belongs to K); it decomposes the principal formula x: A  B without adding any copy of it: If x: A  B K K | CondContr | , y: B  A x y K | CondContr |  , (L)2 K | CondContr | , x: A  B 

  41. How to obtain a decision procedure • The (L) rule is “split” in three rules, to keep into account of the necessary application of (ContrL). 2. The third rule decomposes a contracted formulax: A  B in CondContr, without adding a copy of it: A x y K  { x: A  B } | CondContr |   K  { x: A  B } | CondContr | , y: B  (L)3 K  { x: A  B } | CondContr  { x: A  B } |  

  42. How to obtain a decision procedure • We have improved SeqS calculi presented in [OlivettiPozzato03], where the rule (L) was split in two rules; • Reduced number of application of (implicit) contraction in each branch: better performances • Improved version of the graphical user interface • Many features inherited from CondLean

  43. 4 Design of CondLean 2.0

  44. Design of CondLean 2.0 • CondLean 2.0 is a Prolog implementation of BSeqS calculi; it is written in SICStus Prolog and it is inspired by leanTAP, introduced by Beckert and Posegga 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.

  45. Design of CondLean 2.0 • CondLean 2.0 is a Prolog implementation of BSeqS calculi; it is written in SICStus Prolog and it is inspired by leanTAP, introduced by Beckert and Posegga 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. • The sequent calculi are implemented by the predicate • prove(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 , and Labels is the list of labels introduced in that branch .

  46. Design of CondLean 2.0 • Each clause of predicate prove implements one axiom or rule of BSeqS. • The clauses of prove are ordered to postpone the application of the branching rules.

  47. Design of CondLean 2.0 • Each clause of predicate prove implements one axiom or rule of BSeqS. • 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

  48. Design of CondLean 2.0 Example 2: clause implementing (R): prove([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([LitSigma, [[X,A,Y]|TransSigma], ComplexSigma],[NewLitDelta,TransDelta, NewComplexDelta],[Y|Labels]).

  49. Design of CondLean 2.0 • For systems BSeqMP and BSeqID+MP the predicate prove has two additional arguments: • prove(K, CondContr, Sigma, Delta, Labels) • K and CondContr are the auxiliary sets of BSeqS calculi, used to control the application of (L)

  50. Design of CondLean 2.0 Example 3: clause implementing (L)1: K  { x: A  B } | CondContr  { x: A  B } | , y: B  A x y K  { x: A  B } | CondContr  { x: A  B } |  , (L)1 K | CondContr | , x: A  B  prove(K,CondContr,[LS,TS,CS],[LD,TD,CD],Labels):- select([X,A => B],CS,ResCS), \+member([X,A => B],K), select(Y,Labels), put([Y,B],LS,ResCS,NewLS,NewCS), prove([[X,A => B]|K],[[X,A => B]|CondContr], [NewLS,TS,NewCS],[LD,TD,CD],Labels), prove([[X,A => B]|K],[[X,A => B]|CondContr], [LS,TS,ResCS],[LD,[[X,A,Y]|TD],CD],Labels).

More Related