lotrec: an environment for experimenting kripke semanticsolivier.gasquet/pub/icttl06.pdf ·...

71
1 LoTREC: an environment for experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas Herzig Mohamad Sahade IRIT-CNRS Toulouse

Upload: others

Post on 13-Jan-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

1

LoTREC: an environment for experimenting Kripke Semantics

Luis Fariñas del CerroOlivier GasquetAndreas Herzig

Mohamad Sahade

IRIT-CNRSToulouse

Page 2: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

2

Master in Artificial Intelligence

• Formalization of interaction between rational agents

• Belief-Desire-Intention framework• Action and knowledge• Temporal logics• Description logics

Page 3: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

3

Modal Logics for Interaction

• Non-truth functional concepts– belief, time, action, obligation,…

• Modal connectives– Beli A = “agent i believes that A”– F A = “A will be true at some future time point”– Aftera A = “A is true after action a”– Oblgi A = “A is obligatory for agent i”

• Generic form:– []A = “A is true in all possible worlds”– <>A = “A is true in some possible world”

Page 4: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

4

Logics of action and knowledge• modal operators

Knwi A “agent i knows that A”[a] A “after execution of action a, A holds”

• axiomatically:Knwi[a]A ↔ [a]KnwiA <a>KnwiA → Knwi<a>A

• relational properties:Rknwi

o Ra = Ra o Rknwi (permutation)(Rknwi)

-1 o Ra = Ra o (Rknwi)-1 (confluence)

Page 5: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

5

Belief-Desire-Intention logics

• Modal operators Beli A “agent i believes that A”Desirei A “agent i desires that A”Intendi A “agent i intends that A”

• Branching temporal logic

Page 6: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

6

Interpreting the language: truth conditions

• Models = Worlds + Relations• classical connectives

M,w ||- P iff Vw(P) = 1, for P in AtomsM,w ||- A∧B iff (M,w ||- A and M,w ||- B)

• non-classical connectives– interpretation via accessibility relation R

• the basic modal operators:M,w ||- []A iff forall u: Rwu implies M,u ||- AM,w ||- <>A iff exists u: Rwu and M,u ||- A

Page 7: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

7

Models

• model M = (W,R,V)– W nonempty set (possible worlds)

– R: Ops → (WxW) (accessibility relation)

– V: W → (Atoms → {0,1}) (valuation)

• pointed model ((W,R,V),w)– w in W (actual world)

Page 8: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

8

Validity and satisfiability in a class of models Cls

• Cls some subset of K (one for each logic)

• A is valid in Cls iff A is true at any w of any M in Cls (|=Cls A)

examples: []P → P invalid in K[]P → P valid in the class of reflexive models<>P → <><>P valid in transitive models

• A is satisfiable in Cls iff A is true at some w of some M in Cls

examples: P∧~[]P satisfiable in KP∧~[]P unsatisfiable in reflexive models

A is valid in Cls iff ~A is unsatisfiable in Cls

Page 9: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

9

Reasoning problems

• model checkinggiven A, M and w, do we have M,w ||- A?

• validitygiven A and Cls, is A valid in Cls?

• satisfiabilitygiven A and Cls, does there exist M in Cls and w in

M such that M,w ||- A?

Page 10: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

10

Reasoning problems

• model checkinggiven A, M and w, do we have M,w ||- A?

• validitygiven A and Cls, is A valid in Cls?

• satisfiabilitygiven A and Cls, does there exist M in Cls and w in

M such that M,w ||- A?

How can we solve them automatically?

Page 11: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

11

Existing

• Optimized tableaux provers (LWB,FaCT): – hacking skills needed (C++,...)– do not provide models (yes/no answer)– use tricky optimizations (Backjumping)

• no generic natural deduction system• Hilbert-style proofs are useless• translation methods difficult to read and

need specialized skolemization

Page 12: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

12

Needs

• Build Cls-models (= build graphs)• Complete premodels to Cls-models• Evaluate modal formulas on some model• Look for Cls-models of a formula• No high programming skills• Basics on graphs and propositional logic

Page 13: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

13

Overview

• LoTREC: building Kripke models• tableaux systems: basic ideas• tableaux systems: basic definitions• tableaux for simple modal logics• tableaux for transitive modal logics • termination, soundness and completeness

Page 14: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

14

LoTREC

• IRIT-CNRS Toulouse• Downloadable from www.irit.fr• Explicit accessibility relations• Easy implementation of complex logics

(symmetry, linearity, transitivity, PDL, DL with cardinal restrictions...)

• ... and inefficient

Page 15: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

15

Overview

• LoTREC: building Kripke models• tableaux systems: basic ideas• tableaux systems: basic definitions• tableaux for simple modal logics• tableaux for transitive modal logics • soundness and completeness

Page 16: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

16

The basic idea for modal logics

• apply truth conditions and guaranty relational properties = build a graph– create nodes– add links between nodes– add formulas to node

• the basic modal cases– M,w ||- []A forall u such that Rwu, add u ||- A– M,w ||- <>A add some new u, add Rwu, add u ||- A

Page 17: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

17

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions:➔ M,w ||- P∧<>(~P∧[]P)

Page 18: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

18

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions:➔ M,w ||- P∧<>(~P∧[]P)➔ M,w ||- P M,w ||- <>(~P∧[]P)

Page 19: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

19

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions: ➔ M,w ||- P∧<>(~P∧[]P)➔ M,w ||- P M,w ||- <>(~P∧[]P)

Page 20: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

20

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions: ➔ M,w ||- P∧<>(~P∧[]P)➔ M,w ||- P M,w ||- <>(~P∧[]P)➔ New u : Rwu, M,u ||- (~P∧[]P)

Page 21: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

21

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions:➔ M,w ||- P∧<>(~P∧[]P)➔ M,w ||- P M,w ||- <>(~P∧[]P)➔ New u : Rwu, M,u ||- (~P∧[]P)➔ M,u ||- ~P and M,u ||- []P

Page 22: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

22

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions:➔ M,w ||- P∧<>(~P∧[]P)➔ M,w ||- P M,w ||- <>(~P∧[]P)➔ New u : Rwu, M,u ||- (~P∧[]P)➔ M,u ||- ~P and M,u ||- []P

No more truth conditionsBut not reflexive model

Page 23: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

23

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions:➔ M,w ||- P∧<>(~P∧[]P)➔ M,w ||- P M,w ||- <>(~P∧[]P)➔ New u : Rwu, M,u ||- (~P∧[]P)➔ M,u ||- ~P and M,u ||- []P

• applying completion: Rww and Ruu

Page 24: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

24

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions:➔ M,w ||- P∧<>(~P∧[]P)➔ M,w ||- P M,w ||- <>(~P∧[]P)

➔ New u : Rwu, M,u ||- (~P∧[]P)➔ M,u ||- ~P and M,u ||- []P

• applying completion: Rww and Ruu

But then apply [] truth condition on u

Page 25: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

25

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]P)

• applying truth conditions:➔ M,w ||- P∧<>(~P∧[]P)➔ M,w ||- P M,w ||- <>(~P∧[]P)➔ New u : Rwu, M,u ||- (~P∧[]P)➔ M,u ||- ~P and M,u ||- []P

• applying completion: Rww and Ruu• applying again truth conditions:

➔ M,u ||- P Contradiction !

Page 26: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

26

The basic idea:example for modal logic

Find a reflexive model for A = P ∧ <>(~P∧[]Q)

• applying truth conditions: ➔ M,w ||- P M,w ||- <>(~P∧[]Q) ➔ Rwu and M,u ||- ~P and M,u ||- []Q

• applying completion: ➔ Rww and Ruu

• applying again truth conditions: ➔ M,u ||- Q Reflexive model of A

Page 27: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

27

The basic idea: example for modal logic (ctd.)

• premodel for A = P ∧ <>~P

not closed model of A

Page 28: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

28

Overview

• LoTREC: building Kripke models• tableaux systems: basic ideas• tableaux systems: basic definitions• tableaux for simple modal logics• tableaux for transitive modal logics • soundness and completeness

Page 29: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

29

Informal definition of tableau rules

• Tableau rules: truth conditions and relational properties by expanding graphs.

• The needs are– add formulas to nodes– add nodes – add links– duplicate the graph (for disjunctive

formulas/properties)– define strategies (ordering of rules)

Page 30: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

30

Informal definition of tableau rules

• Tableau rules: truth conditions and relational properties by expanding graphs.

LoTREC: apply rule to every pattern of G

strategies get more declarative programming is easy proofs get easier

Page 31: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

31

Tableau rules: syntax• general form:

rule ruleName if cond1

… if condn

do action1

… do actionk

.

Page 32: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

32

Tableau rules: syntax• general form:

rule ruleName if cond1

… if condn

do action1

… do actionk

• example conditions:if hasElement node formulaif isLinked node1 node2 R... (more to come)

• example actions:do stopdo add node formulado newNode nodedo link node1 node2 Rdo duplicate node1 […]... (more to come)

Page 33: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

33

Building model is easy

rule model1 if isNewNode w do newNode x do newNode y do link w x R do link x w R do link w y R do add x constant p do add x constant q do add y constant p do add y (not constant q)end

p q p ~q

root

yx

Page 34: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

34

Definition of strategies

• A strategy defines some order of application of the tableau rules:firstrule rule1 … rulen end

“apply first applicable rule (and stop)”allrules rule1 … rulen end

“apply all applicable rules in order”repeat strategy end

“repeat until no rule applicable”

• Strategy stops if no rule is applicable.

Page 35: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

35

Strategy for classical logic

strategy CPLStrategy repeat allRules Stop NotNot And NotAndend endend “fair strategy”

Page 36: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

36

Definition of tableauxThe set of tableaux for A with strategy S is

the set of graphs obtained by applying the strategy S

to an initial single-node graph whose root contains only A.

• notation: S(A)

Page 37: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

37

Tableaux: open or closed?

• A node is closed iff it contains FALSE.• A tableau is closed iff it has a closed node.• A set of tableaux is closed

iff all its elements are.

Page 38: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

38

Formal properties

To be proved for each strategy:

• TerminationFor every A, S(A) terminates.

• Soundness If S(A) is closed then A is unsatisfiable.

• Completeness If S(A) is open then A is satisfiable.

Page 39: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

39

In general … • soundness proofs: easy (we apply truth

conditions)• termination proofs: not so easy (case-by-case) • completeness proofs…

… for fair strategies:standard techniques, work “in most cases”but fair strategies do not terminate in general

… for terminating strategies:difficult (rigorous proofs rare even for the

basic modal logics!)reason: strategy = imperative programming

Page 40: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

40

Overview

• LoTREC: building Kripke models• tableaux systems: basic ideas• tableaux systems: basic definitions• tableaux for simple modal logics• tableaux for transitive modal logics • soundness and completeness

Page 41: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

41

Tableau rules for K

not, and, nec

[rules for classical logic]

Page 42: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

42

Tableau rules for K

not, and, nec

[rules for classical logic]createSuccessor: if ~[]A is in node0 then

create a new node1 link it to node0 add A to node1

end

Page 43: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

43

Tableau rules for K

not, and, nec

[rules for classical logic]

propagateNec: if []A is in node0 node0 is linked to node1then add A to node1 end

Page 44: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

44

Modal logic KT• accessibility relation is reflexive• alternative way: integrate this into truth condition

– M,w ||- []A iff forall u: Rwu implies M,u ||- A

Page 45: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

45

Modal logic KT• accessibility relation is reflexive• alternative way: integrate this into truth condition

– M,w ||- []A iff forall u: Rwu implies M,u ||- A and M,w ||- A

Page 46: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

46

Tableauxfor modal logic KT

[connectors as for K…]

[rules as for K…]

Page 47: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

47

Tableauxfor modal logic KT

[connectors as for K…]

[rules as for K…]

plus: “when []A is in a node

then add A to it”

KTStrategy(P & [][]~P)

Page 48: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

48

Tableauxfor modal logic S5

accessibility relation is equivalence relation

can be supposed to be a single equivalence class

optimized tableau rules …

Page 49: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

49

Overview

• LoTREC: building Kripke models• tableaux systems: basic ideas• tableaux systems: basic definitions• tableaux for simple modal logics• tableaux for transitive modal logics • soundness and completeness

Page 50: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

50

Tableau rules for S4(Advanced topics)

accessibility relation is reflexive and transitive

tableau rules for S4:• [connectors as for KT…]• [rules as for KT…]• … and take into account transitivity:

either explicitelyor by

if []A is in a node then add []A to all children nodes

Page 51: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

51

Tableau rules for S4(Advanced topics)

accessibility relation is reflexive and transitive

tableau rules for S4:• [connectors as for KT…]• [rules as for KT…]• … and take into account transitivity:if []A is in a node then add []A to all children nodes”

problem: find a terminating strategy

Page 52: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

52

Tableau rules for S4• Example: M,w ||- []~[]P

– add ~[]P in w (by rule for reflexivity)

Page 53: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

53

Tableau rules for S4• Example: M,w ||- []~[]P

– add ~[]P in w (by rule for reflexivity)– create u, add Rwu, add ~P in u

(by createSuccessor)

Page 54: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

54

Tableau rules for S4• Example: M,w ||- []~[]P

– add ~[]P in w (by rule for reflexivity)– create u, add Rwu, add ~P in u

(by createSuccessor)– add []~[]P in u (by rule for transitivity)

Page 55: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

55

Tableau rules for S4• Example: M,w ||- []~[]P

– add ~[]P in w (by rule for reflexivity)– create u, add Rwu, add ~P in u

(by createSuccessor)– add []~[]P in u (by rule for transitivity)– add ~[]P in u (by rule for reflexivity)

Page 56: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

56

Tableau rules for S4• Example: M,w ||- []~[]P

– add ~[]P in w (by rule for reflexivity)– create u, add Rwu, add ~P in u

(by createSuccessor)– add []~[]P in u (by rule for transitivity)– add ~[]P in u (by rule for reflexivity)– create u’– …

Page 57: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

57

Tableau rules for S4• Example: M,w ||- []~[]P

– add ~[]P in w (by rule for reflexivity)– create u, add Rwu, add ~P in u

(by createSuccessor)– add []~[]P in u (by rule for transitivity)– add ~[]P in u (by rule for reflexivity)– create u’– …

put a looptest into the rules!

Page 58: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

58

Tableau rules for S4 (ctd.)principle: • if a node is included in

an ancestor then mark it.

Page 59: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

59

Tableau rules for S4 (ctd.)principle: • if a node is included in

an ancestor then mark it.

• if a node is markedthen block the createSuccessor rule

• S4Strategy([]~[]P)

Page 60: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

60

S4Strategy([]<>[] (P v Q) & []<>~P & <>[]~Q)

Page 61: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

61

Overview

• LoTREC: building Kripke models• tableaux systems: basic ideas• tableaux systems: basic definitions• tableaux for simple modal logics• tableaux for transitive modal logics • termination, soundness and

completeness

Page 62: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

62

A general termination theorem

• IF for every rule r:(the do-part of r only contains strict

subformulas of the if-part of r AND [some restriction on node creation])

• THEN for every formula A: the tableaux construction terminates

Page 63: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

63

Another general termination theorem

• IF for every rule r: the do-part of r only contains

subformulas of the if-part of r AND [some restriction on node creation] AND [some looptesting in the strategy]

• THEN for every formula A: the tableaux construction terminates

Page 64: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

64

Soundness• Let L be any logic in {….}. If L-Strategy(A) is

closed then A is L-unsatisfiable.

• Proof:– Every tableau rule is “guaranteed” by the truth

conditions:If G is L-satisfiable then there is Gi in rule(G) that is L-satisfiable

– Hence if every tableau is closed then the original A cannot be L-satisfiable.

Page 65: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

65

Completeness• Let L be any logic in {….}. If L-Strategy(A) is

open then A is L-satisfiable.• Proof:

– Take some open tableau G in LStrategy(A).– Build a L-model from G:

Vnode(P) = 1 iff P appears in node and P atomic

– Prove by induction on the form of A: for every A in node, M,node ||- A

(“fundamental lemma”)– Folding…

Page 66: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

66

Folding1. Loop detection

z

x

Loop node

y

Page 67: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

67

Folding2. Node and edge

deletion

z

x

y

Page 68: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

68

Folding3. Folding itself

x

y

Page 69: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

69

Completeness

Theorem : ANY FAIR STRATEGY for a logic K+[D, T,4, 5, B ] using the adequate rules is terminating and complete.

ϕ : infinite open tableau ϕ : model

ϕ : finite open tableau

ϕ : open folded tableau

??

trivial (loop test)

folding

Usual proofs (when not only claimed without proof) are: •Very complex;•Imperative;•Strategy-dependent.

Page 70: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

70

Future improvements

• Non polish notation for input formulas• Drag-and-drop model building• Drag-and-drop model modification• Graphical design of rules• Reuse of models• First-order logic• Interface with efficient SAT solvers• Nodes collapsing, ...

Page 71: LoTREC: an environment for experimenting Kripke SemanticsOlivier.Gasquet/Pub/ICTTL06.pdf · 2006-09-29 · experimenting Kripke Semantics Luis Fariñas del Cerro Olivier Gasquet Andreas

71

LoTREC on LILaC homepage at www.irit.fr (~ 6.5 Mo)

• model construction = model description

• formula evalutation and model search= description of truth conditions

and relational properties• wide range of logics:

multiK +/- {F,D,T,B,4,5,Lin,Cf,...}LTL, PDL,DL's, some non-normal ML's

• correctness and termination results