lotrec: an environment for experimenting kripke semanticsolivier.gasquet/pub/icttl06.pdf ·...
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/65.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/66.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/67.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/68.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/69.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/70.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022041607/5e35301ba747e5464547c862/html5/thumbnails/71.jpg)
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