Dipartimento di Informatica - Università degli studi di Torino CondLean 3.0: improving CondLean for stronger Conditional Logics Nicola Olivetti – Gian.

Slides:



Advertisements
Similar presentations
Some Prolog Prolog is a logic programming language
Advertisements

Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Kripke-Style Semantics for Normal Systems Arnon Avron and Ori Lahav Tel Aviv University LATD 2010.
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
The Logic of Intelligence Pei Wang Department of Computer and Information Sciences Temple University.
1 Logic Logic in general is a subfield of philosophy and its development is credited to ancient Greeks. Symbolic or mathematical logic is used in AI. In.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Answer Set Programming Overview Dr. Rogelio Dávila Pérez Profesor-Investigador División de Posgrado Universidad Autónoma de Guadalajara
Propositional Logic CMSC 471 Chapter , 7.7 and Chuck Dyer
Computability and Complexity 9-1 Computability and Complexity Andrei Bulatov Logic Reminder (Cnt’d)
Formal Logic Proof Methods Direct Proof / Natural Deduction Conditional Proof (Implication Introduction) Reductio ad Absurdum Resolution Refutation.
Artificial Intelligence Modal Logic
CSE (c) S. Tanimoto, 2008 Propositional Logic
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
Logic in Computer Science Transparency No Chapter 3 Propositional Logic 3.6. Propositional Resolution.
Knowledge Representation I (Propositional Logic) CSE 473.
Chapter 3 Propositional Logic
Chapter 7 Reasoning about Knowledge by Neha Saxena Id: 13 CS 267.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Inference is a process of building a proof of a sentence, or put it differently inference is an implementation of the entailment relation between sentences.
Proof Systems KB |- Q iff there is a sequence of wffs D1,..., Dn such that Dn is Q and for each Di in the sequence: a) either Di is in KB or b) Di can.
Logic in Computer Science - Overview Sep 1, 2011 POSTECH 박성우.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Knowledge Representation Use of logic. Artificial agents need Knowledge and reasoning power Can combine GK with current percepts Build up KB incrementally.
Fall 98 Introduction to Artificial Intelligence LECTURE 7: Knowledge Representation and Logic Motivation Knowledge bases and inferences Logic as a representation.
Logic CL4 Episode 16 0 The language of CL4 The rules of CL4 CL4 as a conservative extension of classical logic The soundness and completeness of CL4 The.
Pattern-directed inference systems
Logical Agents Logic Propositional Logic Summary
1 CMSC 471 Fall 2002 Class #10/12–Wednesday, October 2 / Wednesday, October 9.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Propositional Logic Dr. Rogelio Dávila Pérez Profesor-Investigador División de Posgrado Universidad Autónoma Guadalajara
S P Vimal, Department of CSIS, BITS, Pilani
Logic in Computer Science - Overview Sep 1, 2009 박성우.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 13 of 41 Monday, 20 September.
Computing & Information Sciences Kansas State University Lecture 13 of 42 CIS 530 / 730 Artificial Intelligence Lecture 13 of 42 William H. Hsu Department.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 17 Wednesday, 01 October.
Logical Agents Chapter 7. Knowledge bases Knowledge base (KB): set of sentences in a formal language Inference: deriving new sentences from the KB. E.g.:
Bertram Ludäscher Department of Computer Science & Engineering University of California, San Diego CSE-291: Ontologies in Data Integration.
Computing & Information Sciences Kansas State University Lecture 14 of 42 CIS 530 / 730 Artificial Intelligence Lecture 14 of 42 William H. Hsu Department.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 14 of 41 Wednesday, 22.
CS6133 Software Specification and Verification
Artificial Intelligence “Introduction to Formal Logic” Jennifer J. Burg Department of Mathematics and Computer Science.
Computer Science CPSC 322 Lecture 22 Logical Consequences, Proof Procedures (Ch 5.2.2)
Of 38 lecture 13: propositional logic – part II. of 38 propositional logic Gentzen system PROP_G design to be simple syntax and vocabulary the same as.
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
11 Artificial Intelligence CS 165A Thursday, October 25, 2007  Knowledge and reasoning (Ch 7) Propositional logic 1.
DEDUCTION PRINCIPLES AND STRATEGIES FOR SEMANTIC WEB Chain resolution and its fuzzyfication Dr. Hashim Habiballa University of Ostrava.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
An Introduction to Classical Logic (propositional and Predicate Logic)
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
CSE-291: Ontologies in Data Integration Department of Computer Science & Engineering University of California, San Diego CSE-291: Ontologies in Data Integration.
Proof Methods for Propositional Logic CIS 391 – Intro to Artificial Intelligence.
Computing & Information Sciences Kansas State University Wednesday, 04 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 17 of 42 Wednesday, 04 October.
Interface specifications At the core of each Larch interface language is a model of the state manipulated by the associated programming language. Each.
Dipartimento di Informatica - Università degli studi di Torino CondLean 2.0: a Theorem Prover for standard Conditional Logics Nicola Olivetti – Gian Luca.
Computing & Information Sciences Kansas State University Friday, 13 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 21 of 42 Friday, 13 October.
March 3, 2016Introduction to Artificial Intelligence Lecture 12: Knowledge Representation & Reasoning I 1 Back to “Serious” Topics… Knowledge Representation.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Lecture 2 Propositional Logic
Logic: Top-down proof procedure and Datalog
Back to “Serious” Topics…
Computer Security: Art and Science, 2nd Edition
Propositional Logic CMSC 471 Chapter , 7.7 and Chuck Dyer
Representations & Reasoning Systems (RRS) (2.2)
CS589 Principles of DB Systems Fall 2008 Lecture 4e: Logic (Model-theoretic view of a DB) Lois Delcambre
Presentation transcript:

Dipartimento di Informatica - Università degli studi di Torino CondLean 3.0: improving CondLean for stronger Conditional Logics Nicola Olivetti – Gian Luca Pozzato

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

1 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

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

Conditional logics Semantics We consider the selection function semantics; the model is a triple: - W is a non-empty set of items called worlds; - f is a function f: W x 2 W  2 W, called the selection function; - [ ] is an evaluation function [ ] : ATM  2 W.

The selection function f (w, [A]) selects the worlds “closest” to w given the information A. 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. Conditional logics Semantics

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

The semantics above characterizes the 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) (A 1  A 2  …  A n )  B (C  A 1  C  A 2  …  C  A n )  (C  B) Conditional logics - System CK

With some properties of the selection function, we have the following extensions: SystemAxiomSelection function property Conditional logics Extensions of CK CK+ID A  AA  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

2 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: Sequent Calculi SeqS world formulas, like x: A; xy A 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. xy A

SeqCK: Sequent Calculi SeqS

Theorem (soundness and completeness of SeqS):   is valid iff it is derivable in SeqS. Sequent Calculi SeqS Rules for the extensions of CK:

3 How to obtain a decision procedure

SeqS calculi have the following rules: , x: A  B  (L)(L) How to obtain a decision procedure , x: A  B , xy A , x: A  B, y: B  ( CEM ) ,  xy A , , xy A ( ,  )[y,z/u] xy A xz A

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=y or 3. the same restrictions on the applications of (CEM) How to obtain a decision procedure x y   C xy A xy A

SeqCK and SeqID are complete even if we reformulate as follows: How to obtain a decision procedure (L)(L) , x: A  B  (L)(L) xy A , y: B  xy, C xy C x C

4 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),!. , F , F ( AX )

Example 2: clause implementing (  R): prove(Cond,[LitSigma,TransSigma,ComplexSigma],  , x: A  B , , y: B (R)(R) xy A 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):

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)(L) , x: A  B , xy A , x: A  B, y: B  member([X,C,Y],TransSigma), \+member([X,C,Y],Used),!,

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)(L) , x: A  B , xy A , x: A  B, y: B  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)

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) }

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: , x: A  B   , (L)(L) xy A , 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.

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

, x: A  B   , (L)(L) xV A , 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

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: Design of CondLean 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.

The performances of the three versions are promising. We have tested CondLean 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) Design of CondLean 3.0

One can download the source code and the application CondLean 3.0 at the following address: 3.0

5 Conclusion 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 Conclusions and Future work

6 References

[BeckertPosegga96] Bernard Beckert and Joachim Posegga. leanTAP: Lean Tableau-based Deduction. Journal of Automated Reasoning, 15(3), pp [BeckertGorè97] Bernard Beckert and Rajeev Gorè. Free Variable Tableaux for Propositional Modal Logics. Tableaux-97, LNCS 1227, Springer, pp [Gabbay96] Dov. M. Gabbay. Labelled deductive systems (vol. i). Oxford logic guides, Oxford University Press.

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, [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

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 [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 at