Title: Programming tableaux systems with the LoTREC prover
1Programming tableaux systems with the LoTREC
prover
- Andreas Herzig
- IRIT-CNRS
- Toulouse
- http//www.irit.fr/Andreas.Herzig/
2What this is about
- in focus
- the tableaux method
- for logics with possible worlds semantics
- and combinations thereof
- as a computerized proof system LoTREC
- not in focus
- sequent calculi
- efficiency issues
3Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
4Possible worlds models
- possible worlds model
- alias labeled graph, alias transition system
- possible worlds
- alias nodes, alias states
- valuations
- alias interpretations
- links
- alias accessibility relations
p,q
p,q
p,q
p,q
5Possible worlds models readings of R
- alethic
- Rwu iff u is possible, given the actual world w
- temporal
- Rwu iff u is in the future of w
- epistemic
- Riwu iff u is possible for agent i, given the
actual world w - deontic
- Rwu iff u is an ideal version of w
- dynamic
- Rawu iff u is a possible result of the
execution of program/action a in w - comparative (preferential, )
- Rwu iff w is smaller than u
- Rvwu iff w is smaller than u, given v
- reading of R ? properties of R
6Possible worlds models properties of R
- only one relation
- serial forall w exists u Rwu
- reflexive
- transitive
- Euclidian
- confluent (Church-Rosser)
- dense
-
- well-founded (not FO-definable!)
- more than one
- R1 included in R2
- R1 R2?R3
- R2 (R1)-1 (transitive closure)
- R2 (R1) (transitive closure)
- R1 R2 R2 R1
- Church-Rosser
-
7Language modal operators
- non-truth functional concepts
- belief, time, action, obligation, conditional,
- schema op(a1,,an)
- 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
- Oblg A A is obligatory
- Oblgi A A is obligatory for agent i
- condC A A is true under hypothesis C (noted
CgtA) -
- generic form
- A A is necessary (true in all possible
worlds) - ltgtA A is possible
- in general A same as ltgtA
- except in substructural logics (intuitionistic, )
8Interpreting the language truth conditions
- classical connectives
- M,w - P iff Vw(P) 1, for P in Atoms
- M,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 -
A - M,w - ltgtA iff exists u Rwu and M,u - A
9Examples of truth conditions
- multimodal operators
- M,w - iA iff forall u Riwu implies M,u -
A - M,w - ltgtiA iff
- relation algebra operators
- M,w - -1A iff forall u R-1wu implies M,u
- A - M,w - i ? jA iff forall u (Ri?Rj)wu implies
M,u - A - M,w - A iff forall u Rwu implies M,u -
A
10Examples of truth conditionstemporal operators
R
R
- branching time operators
- M,w - ?XA iff exists R in Paths(w) M,R(w)
- A - (Paths(w) the set of paths going through
w) -
11Examples of truth conditionstemporal operators
R
R
- branching time operators
- M,w - ?XA iff exists R in Paths(w) M,R(w)
- A - (Paths(w) the set of paths going through
w) - M,w - ?ltgtA iff ?R in Paths(w) ?n M,Rn(w) -
A
12Examples of truth conditionstemporal operators
A
A
A
B
- binary temporal operators
- M,w - A Until B iff exists u Rwu and M,u
- B and - forall u (Rwu and Rvu implies M,u - A )
- M,w - A Since B iff
- M,w - ?(A Until B) iff forall R in Paths(w)
13Examples of truth conditionsimplications
- intuitionistic implication
- M,w - A gt B iff forall u Rwu implies M,u
- A B - conditional operator
- M,w - A gt B iff forall u RAwu implies M,u
- B - relevant implication
- M,w - A gt B iff forall u,u
- Rwuu implies (M,u - A implies M,u - B)
14Models
- 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)
- extension of A in M
- AM w in W M,w - A
15Validity and satisfiability
- K the set of all models (Kripke)
- A is valid in K iff AM W for all M in K
(K A) - examples (P v P)
- (P?Q) P?Q
- P?Q (P?Q)
- A is satisfiable in K iff AM nonempy for some
M in K - examples P
- PÙP
- PÙP
- PÙP
16Validity and satisfiability in a class of
models Cls
- Cls some subset of K
- A is valid in Cls iff AM W for all M in Cls
(Cls A) - examples P P invalid in K
- P P valid in the class of reflexive
models - ltgtP ltgtltgtP valid in transitive models
- A is satisfiable in Cls iff AM nonempy for
some M in Cls - examples PÙP satisfiable in K
- PÙP unsatisfiable in reflexive models
- A is valid in Cls iff A is unsatisfiable in Cls
17Classes of models examples
- M card(W) 1
- Cls ltgtA A
- M card(W) 2
- Cls ltgt(AÙB) Ù ltgt(AÙB) B
- M card(W) finite
-
- M R() reflexive KT
- KT A A
- M R() transitive K4
- K4 ltgtltgtA ltgtA
- M R() equivalence relation S5
- S5 A ltgtA
18Reasoning problems
- model checking
- given A, M and w, do we have M,w - A?
- validity
- given A and Cls, is A valid in Cls?
- satisfiability
- given A and Cls, does there exist M in Cls and w
in M such that M,w - A? -
19Reasoning problems
- model checking
- given A, M and w, do we have M,w - A?
- validity
- given A and Cls, is A valid in Cls?
- satisfiability
- given A and Cls, does there exist M in Cls and w
in M such that M,w - A? - How can we solve them automatically?
20Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
21The basic ideafor classical logic Beth
- try to find M and w by applying the truth
conditions (tableau rules) - M,w - AÙB ? add M,w - A, and add M,w - B
- M,w - A v B ? add either M,w - A, or add
M,w - B - (nondet.)
- M,w - A ? dont add M,w - A ???
- M,w - A ? add M,w - A
- M,w - (A v B) ? add M,w - A, and add M,w
- B - M,w - (AÙB) ? add either M,w - A, or add
M,w - B - apply while possible (downwards saturation")
- is this a model?
- NO if both M,w - P and M,w - P (tableau is
closed) - ELSE for every w, if M,w - P put Vw(P) 1,
else put Vw(P) 0
22The basic idea for modal logics
- apply truth conditions build a graph
- create nodes
- add links between nodes
- add formulas to nodes
- the basic cases
- M,w - A ? forall u such that Rwu, add u
- A - M,w - ltgtA ? add some new u, add Rwu, add u
- A - M,w - A ? add some new u, add Rwu, add u
- A - M,w - ltgtA ?
- downwards saturated graph is this a model?
23The basic ideaexample for modal logic
- A P Ù P
- applying tableau rules
- M,w - PÙP
-
-
24The basic ideaexample for modal logic
- A P Ù P
- applying tableau rules
- M,w - PÙP
- M,w - PÙP, M,w - P, M,w - P
-
-
25The basic ideaexample for modal logic
- A P Ù P
- applying tableau rules
- M,w - PÙP
- M,w - PÙP, M,w - P, M,w - P
-
-
26The basic ideaexample for modal logic
- A P Ù P
- applying tableau rules
- M,w - PÙP
- M,w - PÙP, M,w - P, M,w - P
- M,w - PÙP, M,w - P, M,w - P, Rwu, M,u
- P -
-
27The basic ideaexample for modal logic
- A P Ù P
- applying tableau rules
- M,w - PÙP
- M,w - PÙP, M,w - P, M,w - P
- M,w - PÙP, M,w - P, M,w - P, Rwu, M,u
- P - no more tableau rule applies
-
-
28The basic ideaexample for modal logic
- A P Ù P
- applying tableau rules
- M,w - PÙP
- M,w - PÙP, M,w - P, M,w - P
- M,w - PÙP, M,w - P, M,w - P, Rwu, M,u
- P - no more tableau rule applies
- never both w - A and w - A (open tableau)
- ? model can be built M (W,R,V)
- set of worlds W W w,u
- accessibility relation R Rwu
- valuation V Vw(P) 1, Vu(P) 0
29The basic idea example for modal logic (ctd.)
- premodel for
- A P Ù P
- ? not closed
- ? is a model of A
-
30Historical remarks
- the early days (1950-80) handwritten proofs
- Beth, Gentzen
- relation to sequent calculus
- tableau proof sequent proof backwards
- Kripke explicit accessibility relation
- Smullyan, Fitting uniform notation
- today mechanized systems
- fast provers exist
- FaCT Horrocks
- K-SAT GiunchigliaSebastiani
- importance of strategies
- applications exist BDI logics, description logics
31Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
32Informal definition of tableau rules
- Tableau rules expand directed graphs by
- adding formulas
- adding nodes
- adding links
- duplicating the graph
- rule(G) G1,,Gn
- rule(G1,,Gn) rule(G1)??rule(Gn)
-
-
33Informal definition of tableau rules
- Tableau rules expand directed graphs by
- adding formulas
- adding nodes
- adding links
- duplicating the graph
- rule(G) G1,,Gn
- rule(G1,,Gn) rule(G1)??rule(Gn)
- LoTREC apply rule to G
- apply rule to every formula in every node of G
- ? strategies get more declarative ? proofs get
easier
34Tableau rules syntax
- general form
- rule ruleName
- if cond1
-
- if condn
- do action1
-
- do actionk
35Tableau rules syntax
- general form
- rule ruleName
- if cond1
-
- if condn
- do action1
-
- do actionk
- example conditions
- if hasElement node formula
- if isLinked node1 node2 R
- ... (more to come)
- example actions
- do stop
- do addElement node formula
- do newNode node
- do link node1 node2 R
- do duplicate node1
- ... (more to come)
36Example tableau rules for classical logic
- the
- LoTREC
- tableau
- prover
37Example tableau rules for classical logic
- declaration of connectors
- negation and conjunction only
-
-
-
-
-
-
-
-
-
-
-
-
38Example tableau rules for classical logic
-
-
- rule Stop
- if there is an explicit contradiction
- then stop exploring the tableau
-
-
-
-
-
-
-
-
-
39Example tableau rules for classical logic
-
-
-
-
-
- rule NotNot
- replaces A by A
-
-
-
-
-
-
-
40Example tableau rules for classical logic
-
-
-
-
-
-
-
- rule And
- if A B is in a node
- then add A and B to node
-
-
-
-
41Example tableau rules for classical logic
-
-
-
-
-
-
-
-
-
-
- rule NotAnd
- if (AB) is in a node
- then duplicate tableau,
- add A to the first tableau
42Definition 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.
43Strategy for classical logic
- strategy CPLStrategy
- repeat allRules
- Stop
- NotNot
- And
- NotAnd
- end end
- end
- ? fair strategy
44Strategy for classical logic example
45Strategy for classical logic example (ctd.)
- CPLStrategy(P(PQ))
- T1 , T2
46Definition of tableaux
- The 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)
- Remark
- our tableau tableau branch in the literature
- (sounds odd to call a graph a branch)
47Tableaux 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.
- An open tableau is a premodel
- ? build a model
48Formal properties
- to be proved for each strategy
- Termination
- For 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.
49In 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
- but soundness termination is practically
sufficient (e.g. when experimenting with a
logic) - apply strategy to A
- take an open tableau and build pointed model
(M,w) - check if M in model class
- check if M,w - A
50A 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
51Another 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
52Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
53The basic modal logic K
- the basic modal operators
- M,w - A iff forall u Rwu implies M,u -
A - M,w - ltgtA iff exists u Rwu and M,u - A
54Tableau rules for K
- connectors not, and, nec
- some rules for classical logic
-
-
-
-
-
-
-
-
-
-
-
55Tableau rules for K
- connectors not, and, nec
- some rules for classical logic
- createSuccessor
- if not nec A is in node0
- then create new node node1
- link it to node0
- add not A to node1
- end
-
-
-
-
-
56Tableau rules for K
- connectors not, and, nec
- some rules for classical logic
-
-
-
-
-
-
- propagateNec
- if nec A is in node0
- node0 is linkednode1 R
- then add node1 A
- end
57Tableaux for K
- plus rules for the definable connectives
- KStrategy(ltgtP ltgtQ (R v ltgtS))
58Termination of KStrategy
- For every A, KStrategy(A) terminates.
- Proof
- Every tableau rule only adds strict subformulas.
- The createSuccessor rule is only applied once per
occurrence of A. - This can only be done a finite number of times,
then the strategy stops. - ? follows from general termination theorem
59Soundness
- If KStrategy(A) is closed then A is
unsatisfiable. - Proof
- Every tableau rule is guaranteed by the truth
conditions - If G is K-satisfiable
- then there is Gi in rule(G) that is K-satisfiable
- Hence if every graph is closed
- then the original A cannot be satisfiable.
-
-
60Completeness
- If KStrategy(A) is open then A is satisfiable.
- Proof
- Take some open tableau G in KStrategy(A).
-
-
-
-
-
-
-
-
-
-
61Completeness
- If KStrategy(A) is open then A is satisfiable.
- Proof
- Take some open tableau G in KStrategy(A).
- G is a downwards closed set (Hintikka set)
- if A in node then A in node
- if AB in node then A in node and B in node
- if (AB) in node then A in node or B in node
- if A in node then there is an accessible node
containing A - if A in node then every successor node
contains A - (because allRules strategy is fair every rule
eventually applies) -
-
-
62Completeness
- If KStrategy(A) is open then A is satisfiable.
- Proof
- Take some open tableau G in KStrategy(A).
- G is a downwards closed set (Hintikka set)
- if A in node then A in node
- if AB in node then A in node and B in node
- if (AB) in node then A in node or B in node
- if A in node then there is an accessible node
containing A - if A in node then every successor node
contains A - (because allRules strategy is fair every rule
eventually applies) - Build a K-model from G
- Vnode(P) 1 iff P appears in node
-
-
63Completeness
- If KStrategy(A) is open then A is satisfiable.
- Proof
- Take some open tableau G in KStrategy(A).
- G is a downwards closed set (Hintikka set)
- if A in node then A in node
- if AB in node then A in node and B in node
- if (AB) in node then A in node or B in node
- if A in node then there is an accessible node
containing A - if A in node then every successor node
contains A - (because allRules strategy is fair every rule
eventually applies) - Build a K-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)
64Modal logic KT
- accessibility relation is reflexive
- idea integrate this into truth condition
- M,w - A iff forall u Rwu implies M,u - A
-
-
65Modal logic KT
- accessibility relation is reflexive
- idea integrate this into truth condition
- M,w - A iff forall u Rwu implies M,u - A
- and M,w - A
-
66Tableauxfor modal logic KT
- connectors as for K
- rules as for K
-
-
-
-
67Tableauxfor 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)
-
68Tableauxfor modal logic S5
- accessibility relation is equivalence relation
- can be supposed to be a single equivalence class
- optimized tableau rules
69Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
70Tableau rules for S4
- accessibility relation is reflexive and
transitive - tableau rules for S4
- connectors as for KT
- rules as for KT
- and take into account transitivity
- when A is in a node
- then add A to all children
-
71Tableau rules for S4
- 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
- problem find a terminating strategy
72Tableau rules for S4
- Example M,w - P
- add M,w - P (by rule for reflexivity)
-
-
-
-
-
-
-
73Tableau rules for S4
- Example M,w - P
- add M,w - P (by rule for reflexivity)
- create u, add Rwu, add M,u - P
- (by createSuccessor)
-
-
-
-
-
-
74Tableau rules for S4
- Example M,w - P
- add M,w - P (by rule for reflexivity)
- create u, add Rwu, add M,u - P
- (by createSuccessor)
- add M,u - P (by rule for transitivity)
-
-
-
-
75Tableau rules for S4
- Example w - P
- add M,w - P (by rule for reflexivity)
- create u, add Rwu, add M,u - P
- (by createSuccessor)
- add M,u - P (by rule for transitivity)
- add M,u - P (by rule for reflexivity)
-
-
-
76Tableau rules for S4
- Example w - P
- add w - P (by rule for reflexivity)
- create u, add Rwu, add u - P
- (by createSuccessor)
- add M,u - P (by rule for transitivity)
- add M,u - P (by rule for reflexivity)
- create u
-
-
77Tableau rules for S4
- Example w - P
- add M,w - P (by rule for reflexivity)
- create M,u, add Rwu, add M,u - P
- (by createSuccessor)
- add M,u - P (by rule for transitivity)
- add M,u - P (by rule for reflexivity)
- create u
-
- put a looptest into the rules!
78Tableau rules for S4 (ctd.)
- principle
- if a node is included in an ancestor
- then mark it.
-
-
-
-
79Tableau rules for S4 (ctd.)
- principle
- if a node is included in an ancestor
- then mark it.
- if a node is marked
- then block the createSuccessor rule
- S4Strategy(P)
80S4Strategy(ltgt (P v Q) ltgtP ltgtQ)
81Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
82Intuitionistic logic
- no modal operators, but different semantics for
implication and negation - aim invalidate
- (PgtFALSE) gt P ex falso quodlibet
- P v P tertio non datur
- (Q gt P) gt (P gt Q) contraposition
- R is reflexive, transitive and hereditary
- if Rwu and Vw(P) 1 then Vu(P) 1
- similar to S4
- truth condition
- M,w - AgtB iff forall u Rwu implies M,u -
A?B
83Tableaux rules for intuitionistic logic
- follow translation from LJ to S4
- P P (inheritance)
- (AgtB) (A B)
- (A) (A)
- tableaux similar to S4
- signed formulas
- T(P) P is true
- F(P) P is false
- F(P) ? P
-
-
84Tableaux rules for intuitionistic logic
- create successor
- make AgtB false in w
- create u, add link Rwu,
- make A false in u,
- make B true in u
-
-
85Tableaux rules for intuitionistic logic
- create successor
- make AgtB false in w
- create u, add link Rwu,
- make A false in u,
- make B true in u
- inheritance
- if M,w - P and Rwu
- then add M,u - P
86Tableaux rules for intuitionistic logic PgtP
LJStrategy(((PgtFalse)gtFalse)gtP) ? 4
tableaux, 1 open
87Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
88Relevant logics
89Paraconsistent logics
90Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
91Linear Temporal Logic
- two modal operators
- always
- X next
- R(X) is serial and deterministic
- R() R(X))
- R() linear order
- mix axioms
- A ? AÙXA
- ltgtA ? A v XltgtA
- induction axiom
- AÙ(AXA) A
- decidable, EXPTIME complete
92Tableau rules for Linear Temporal Logic
- how take induction into account?
- solution dont care, and only apply the mix
axioms - rewrite A to A Ù XA
- rewrite ltgtA to A v XltgtA
- only create successors for X, never for ltgt
- termination use the looptest from transitive
modal logics - nodes only contain subformulas of orig. formula
- looptest succeeds at most at polynomial depth
93Tableau rules for Linear Temporal Logic example
- Example M,w - P
- add M,w - PÙXP (by mix axioms)
- add M,w - P, M,w - XP
- create u, add RXwu, add M,u - P
- (by propagation rule for X)
- add M,u - PÙXP (by mix axioms)
- add M,u - P, M,u - XP
- w contains u mark u contained
94Tableau rules for Linear Temporal Logic (ctd.)
P
P
P
P
- may result in nonstandard models of ltgtP
- ? P never fulfilled
- ? check if all ltgt are fulfilled!
95Tableau rules for Linear Temporal Logic example
- Example LTLStrategy(ltgtP)
- M,w - ltgtP
- .
-
-
- .
-
-
-
96Tableau rules for Linear Temporal Logic
- Example LTLStrategy(ltgtP)
- M,w - ltgtP
- M,w - P v XltgtP (by mix)
-
-
- .
-
-
-
97Tableau rules for Linear Temporal Logic
- Example LTLStrategy(ltgtP)
- M,w - ltgtP
- M,w - P v XltgtP (by mix)
- M1,w - ltgtP, M1,w - P M2,w - ltgtP, M2,w -
XltgtP - (nothing applies)
- .
-
-
-
98Tableau rules for Linear Temporal Logic
- Example LTLStrategy(ltgtP)
- M,w - ltgtP
- M,w - P v XltgtP (by mix)
- M1,w - ltgtP, M1,w - P M2,w - ltgtP, M2,w -
XltgtP - (nothing applies) RXwu, M2,u - ltgtP
- .
-
-
-
99Tableau rules for Linear Temporal Logic
- Example LTLStrategy(ltgtP)
- M,w - ltgtP
- M,w - P v XltgtP (by mix)
- M1,w - ltgtP, M1,w - P M2,w - ltgtP, M2,w -
XltgtP - (nothing applies) RXwu, M2,u - ltgtP
- M2,u - P v XltgtP (by mix)
-
-
-
100Tableau rules for Linear Temporal Logic
- Example LTLStrategy(ltgtP)
- M,w - ltgtP
- M,w - P v XltgtP (by mix)
- M1,w - ltgtP, M1,w - P M2,w - ltgtP, M2,w -
XltgtP - (nothing applies) RXwu, M2,u - ltgtP
- M2,u - P v XltgtP (by mix)
-
- M21,u - P M22,u - XltgtP
-
101Tableau rules for Linear Temporal Logic
- Example LTLStrategy(ltgtP)
- M,w - ltgtP
- M,w - P v XltgtP (by mix)
- M1,w - ltgtP, M1,w - P M2,w - ltgtP, M2,w -
XltgtP - (nothing applies) RXwu, M2,u - ltgtP
- M2,u - P v XltgtP (by mix)
-
- M21,u - P M22,u - XltgtP
- (nothing applies) contained in w
102Tableau rules for Linear Temporal Logic
- Example LTLStrategy(ltgtP)
- M,w - ltgtP
- M,w - P v XltgtP (by mix)
- M1,w - ltgtP, M1,w - P M2,w - ltgtP, M2,w -
XltgtP - (nothing applies) RXwu, M2,u - ltgtP
- M2,u - P v XltgtP (by mix)
-
- M21,u - P M22,u - XltgtP
- (nothing applies) u contained in w
- ltgtP not fulfilled
103Propositional dynamic logic (PDL)
- two kinds of expressions
- formulas
- A P A A?B pA
- programs
- p a p1p2 p1?p2 p A?
- in the models R interprets programs
- R(p1p2) R(p1)R(p2)
- R(p1?p2) R(p1)?R(p2)
- R(p) (R(p))
- R(A?) ltw,wgt M,w - A
104Tableaux for PDL
- similar to LTL
- expand pA to A ? ppA
- dont apply createSuccessor to formulas pA
- mark nodes that are included in some ancestor
- dont apply createSuccessor to formulas pA if
node is marked - expand the other program expressions
- p1p2A ? p1p2A
- p1?p2A ? p1A ? p2A
- A?B ? AB
-
105Description logics
- roles and concepts
- more expressive than classical propositional
logic - less expressive than 1st order logic
- focus on decidable logics
- applications
- databases
- software engineering
- web-based information systems
- description of medical terminology
- ontology of the semantic web
- standards DAMLOIL, OWL
- description of web services
- WSDL, OWL-S
106Description logicsconcepts and roles
- roles binary relations
- hasChild
- hasHusband
- concepts unary relations properties
- Person
- Female
- Parent n Female
- Father U Mother
- Parent
- ?hasChild.Female individuals having a female
child - ?hasChild.Female
- gt1 hasChild.T individuals having more than 1
child - set of concepts ? assertion box (ABox)
107Description logics TBoxes
- set of relations between concepts and roles
- ? terminological box (TBox)
- restricted to concept abbreviations (sometimes
fixpoint definitions) - Mother Person n Female
- are expanded away ? TBox ?
108Description logicsreasoning tasks
- satisfiability of a concept C
- subsumption of C1 by C2
- same as C1n C2 unsatisfiable
- equivalence of C1 by C2
- same as C1 subsumes C2 and C1 subsumes C2
- disjointness of C1 and C2
- ? subsumes C1nC2
- all reasoning tasks reduce
- to concept satisfiability
109Description logics
- translation of concepts into modal logics
- ?hasChild.Female lthasChildgtFemale
- ?hasChild.Female hasChild.Female
- Parent n Female Parent ? Female
- Father U Mother Father v Mother
- lt2 hasChild.T hasChild2 T
- 2 hasChild.T lthasChildgt2 T
- modal logics with number restrictions
FattorosiBarnaba, van der Hoek -
110Description logics
- description logic ALC
- C
- C1 n C2
- C1 U C2
- ?R.C
- ?R.C
- multimodal K
- description logic ALCreg
- ALC regular expressions on roles
- PDL
- all description logic reasoning tasks reduce
- to satisfiability checking in modal logics
- tableaux used as optimal decision procedures
111Logics of action and knowledge
- 2 modal operators
- Knwi A agent i knows that A
- a A after execution of action a, A holds
- product logics
- RKnwiRa RaRKnwi (permutation)
- if wRKnwiu and wRav then exists t such that
uRat and vRKnwit - (confluence)
- axiomatically
- KnwiaA ? aKnwiA
- ltagtKnwiA KnwiltagtA
- tableaux
- ? problem combination with transitivity
112Belief-Desire-Intention logics
- Bratman, RaoGeorgeff
- 3 modal operators
- Beli A agent i believes that A
- Desirei A agent i desires that A
- Intendi A agent i intends that A
- plus branching time logic
113Modal logics with density
- accessibility relation is dense
- if Rwu then exists v Rwv and Rvu
114Non-normal modal logics
- no accessibility relation, but neighborhood
functions N W 22W - M,w - A iff exists U in N(w) forall u in U
M,u - A - non-normal modal logic EM
- can be represented by a set of relations
- M,w - A iff exist Ri forall u (Riwu implies
M,u - A) - logic EM non-normal
- not valid P?Q (P?Q)
- but valid (P?Q) P?Q
115Tableau rules for EM
116Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
1171st order logic
- How should we handle the quantifiers?
- ?x p(x) ? p(a) is unsatisfiable
- ?x p(x) ? ?x p(x) is unsatisfiable
- naïve implementation Beth, Smullyan
- if hasElement node0 forall x A(x)
- do createTerm t (doesnt exist in LoTREC yet)
- do add node0 A(t)
- if hasElement node exists x A(x)
- do createNewConstant c
- do add node A(c)
- problem loops for satisfiable formulas
118Herbrand Tableaux for 1st order logic
- 1st solution restrict instantiation to Herbrand
universe - if hasElement node0 forall x A(x)
- do createHerbrandTerm t (doesnt exist in
LoTREC yet) - do add node0 A(t)
- ex. ?x p(x,x) ? ?x?y p(x,y)) satisfiable
- 1. ?x p(x,x)
- 2. ?x?y p(x,y)
- 3. ?y p(a,y) (2), new constant
- 4. p(a,a) (3), only Herbrand term
- 5. p(b,b) (1), new constant
- 6. p(a,b) (3), Herbrand term
- no further instantiation of (3) is possible
- decision procedure for formulas without positive
??
119Herbrand Tableaux for 1st order logic
- counterexample ?x?y p(x,y) satisfiable
- 1. ?x?y p(x,y)
- 2. ?y p(a,y) (1), Herbrand term
- 3. p(a,b) (2), new constant
- 4. ?y p(b,y) (1), Herbrand term
- 5. p(b,c) (4), new constant
- 6.
- ? loops
120Free-variable tableaux with unification
- 2nd solution dont instantiate at all
- work with free variables
- runtime skolemization of existential quantifiers
- term unification
- ex. ?x?y p(x,y) ? ?x?y p(x,y)) satisfiable
- 1. ?x?y p(x,y)
- 2. ?x?y p(x,y)
- 3. ?y p(x1,y) from (1), replace x by free x1
- 4. ?y p(x2,y) from (2), replace x by free x2
- 5. p(x1,f(x1)) from (3), Skolem function f(x1)
- 6. p(x2,g(x2)) from (4), Skolem function g(x2)
- stops (5) and (6) dont unify
- but doesnt terminate in all cases (sure)
- else 1st order logic would be decidable
121Overview
- possible worlds semantics quickstart
- tableaux systems basic ideas
- tableaux systems basic definitions
- tableaux for simple modal logics
- tableaux for transitive modal logics
- tableaux for intuitionistic logic
- tableaux for other nonclassical logics
- tableaux for modal logics with transitive closure
and other modal and description logics - tableaux for 1st order logic
- some implemented tableaux theorem provers
122LoTREC
- IRIT-CNRS Toulouse (Sahade, Gasquet, Herzig)
accessible through www - general theorem prover
- explicit accessibility relations
- easy to implement logics with symmetric
accessibility relations etc. - back-and-forth rules
- inefficient
123TableauxWorkBench (TWB)
- Australian National U. (Abate, Goré)
- general theorem prover
- close to Gentzen sequents
- accessibility relations remain implicit
- hard to implement logics with symmetric
accessibility relations - temporal logic with future and past
- converse of programs
124LogicWorkBench (LWB)
- U. Bern (Jäger, Heuerding) accessible through
www - efficient algorithms for all the basic modal and
temporal logics - hard to implement a new logic
125FaCT
- U. Manchester (Horrocks) open source
- fast decision procedure for description logics
with inverse roles and qualified number
restrictions - multimodal K converse number restrictions
- optimized backtracking backjumping
126KSAT
- U. Trento (Giunchiglia, Sebastiani)
- combines tableaux method with fast SAT solvers
for classical propositional logic - call a SAT solver, where subformulas A, ltgtB are
viewed as atomic - SAT solver returns a tentative valuation
- use modal tableau rules to generate children
- if inconsistent then there is no model
- else iterate
- very efficient
- exists for all basic modal logics
127KSAT (ctd.)
- KSAT((PQ) ltgtP)
- call SAT with set of clauses (PQ), ltgtP
- SAT returns
- V((PQ)) 1
- V(ltgtP) 1
- apply createOneSuccessor and propagateNec
- w - (PQ), w - ltgtP, Rwu, u - P, u -
PQ - call SAT with set of clauses P,Q,P
- SAT returns
- set of clauses unsatisfiable
- (PQ) ltgtP is unsatisfiable in K
128Conclusion
- search for models exploit the truth conditions
- tableaux work both ways
- finding a model
- refuting
- termination decidability
- tableaux as optimal decision procedures
- ? description logics
129Thanks to
- Mohamad Sahade
- Olivier Gasquet
- Luis Fariñas del Cerro
- Dominique Longin
- Tiago Santos de Lima
- Fabrice Evrard
- Carole Adam
- Nicolas Troquard
- Benoit Gaudou
- Ivan Varzinczak
- Bilal Saïd
- Dominique Ziegelmayer
- and the other members of the LILaC group