Propositional dynamic logic (PDL) is a multi-modal logic introduced by Fischer and Ladner [FischerLadner79]
for reasoning about programs. It is useful not only for program verification but also for other fields of computer science like knowledge representation and artificial intelligence (e.g.,[HalpernMoses92, HKT00, handbook-AR-2001, ddks2007]). For example, the description logic , a notational variant of PDL, can be used for reasoning about structured knowledge.
The problem of checking satisfiability of a set of formulas in PDL is ExpTime-complete. This result was established by Fischer and Ladner [FischerLadner79], but their decision procedure for PDL is via filtration and canonical model and therefore is not really practical. The first practical and optimal (ExpTime) decision procedure for PDL was given by Pratt [Pratt80]. The essence of his procedure is based on constructing an “and-or” graph for the considered set of formulas by using tableau rules and global caching, and then checking whether a model for the set can be extracted from the graph. However, the formulation of his procedure is a bit too indirect: it goes via a labeled tableau calculus, tree-like labeled tableaux, tree-like traditional (“lean”) tableaux, and “and-or” graphs.
De Giacomo and Massacci [de-giacomo-massacci-converse-pdl] gave a NExpTime algorithm for checking satisfiability in CPDL (i.e., PDL with converse) and described how to transform the algorithm to an ExpTime version. However, the description is informal and unclear: the transformation is based on Pratt’s global caching method formulated for PDL [Pratt80], but no global caching method has been formalized and proved sound for labeled tableaux that allow modifying labels of ancestor nodes in order to deal with converse.111Goré and Nguyen have recently formalized sound global caching [GoreNguyen05tab, GoreNguyenDL07, GoreNguyenTab07, GoreNguyen07clima, GoreNguyen08CSP] for traditional (unlabeled) tableaux in a number of modal logics without the operator, which never modify ancestor nodes. Abate et al. [AbateGW07] gave a “single-pass” tableau decision procedure for checking satisfiability in PDL. Their algorithm does not exploit global caching [Pratt80, GoreNguyen08CSP] and has complexity 2ExpTime in the worst cases. There are a few prototype implementations for checking satisfiability in PDL [SchmidtPDLtab, LoTREC, AbateGW07].
There is a tight relationship between multi-modal logics and description logics which will often be exploited in this paper. Two basic components of description logic theories are ABoxes and TBoxes. An ABox (assertion box) consists of facts and a TBox (terminological box) consists of formulas expressing relationships between concepts. Two basic reasoning problems considered in description logics, amongst others, are:
the problem of checking consistency of an ABox w.r.t. a TBox,
the instance checking problem.
The first tableau-based procedure for (PDL) in the description logic context was proposed by Baader [ijcai-Baader91] (the correspondence between and PDL had not yet been known). His procedure, however, has non-optimal complexity 2ExpTime. The correspondence between description logics like and PDL was first described in Schild’s paper [Schild91]. In [DeGiacomoThesis], encoding the ABox by “nominals” and “internalizing” the TBox, De Giacomo showed that the complexity of checking consistency of an ABox w.r.t. a TBox in CPDL is ExpTime-complete. In [GiacomoL96], using a transformation that encodes the ABox by a concept assertion plus terminology axioms, De Giacomo and Lenzerini showed that the mentioned problem is also ExpTime-complete for the description logic (an extension of CPDL).
In this paper, we reformulate Pratt’s algorithm of checking satisfiability of a set of formulas in PDL. Our formulation is directly based on building an “and-or” graph by using traditional (unlabeled) tableau rules and global caching and is therefore simpler and more direct for implementation. Extending the method we give the first ExpTime (optimal) tableau decision procedure not based on transformation (encoding) for checking consistency of an ABox w.r.t. a TBox in PDL.
Despite that the upper-bound ExpTime is known for the complexity of the mentioned satisfiability problem in CPDL, implemented tableau provers for description logics usually have non-optimal complexity 2ExpTime. In the well-known overview [BaaderSattler01], Baader and Sattler wrote: “The point in designing these [non-optimal] algorithms was not to prove worst-case complexity results, but … to obtain ‘practical’ algorithms … that are easy to implement and optimise, and which behave well on realistic knowledge bases. Nevertheless, the fact that ‘natural’ tableau algorithms for such ExpTime-complete logics are usually NExpTime-algorithms is an unpleasant phenomenon. … Attempts to design ExpTime-tableaux for such logics (De Giacomo et al., 1996; De Giacomo and Massacci, 1996; Donini and Massacci, 1999) usually lead to rather complicated (and thus not easy to implement) algorithms, which (to the best of our knowledge) have not been implemented yet.” [BaaderSattler01, page 26].
Our formulation of tableau calculi and decision procedures for PDL is short and clear, which makes the procedures natural and easy to implement. The first author has implemented a tableau prover called TGC for the basic description logic , which is also based on “and-or” graphs with global caching. The test results of TGC on the sets T98-sat and T98-kb of DL’98 Systems Comparison are comparable with the test results of the best systems DLP-98 and FaCT-98 that took part in that comparison (see [Nguyen08CSP-FI]). One can say that the mentioned test sets are not representative for practical applications, but the comparison at least shows that optimization techniques can be applied (not only for but also PDL) to obtain decision procedures that are both efficient in practice and optimal w.r.t. complexity.
We also study the data complexity of the instance checking problem in PDL. For the well-known description logic , Hustadt et al. [HustadtMS05] proved that the data complexity of that problem is coNP-complete. The lower bound for the data complexity of that problem in PDL () is known to be coNP-hard (shown for by Schaerf in [Schaerf94]). In this paper, by establishing the upper bound, we prove the new result that the data complexity of the instance checking problem in PDL is coNP-complete.
The rest of this paper is structured as follows. In Section 2, we define syntax and semantics of PDL. In Section 3 we formulate the problems we deal with. In Section 4, we present a tableau calculus for checking satisfiability of a set of formulas w.r.t. a set of global assumptions in PDL. In Section LABEL:section:_ABoxes, we extend that calculus for checking consistency of an ABox w.r.t. a set of global assumptions (i.e., a TBox) in PDL. In Section LABEL:section:_dp-cr, we give decision procedures based on our tableau calculi for the mentioned problems and derive the data complexity result. In Section LABEL:section:_opts, we discuss optimizations for our decision procedures. Conclusions are given in Section LABEL:section:_conc. Proofs of soundness and completeness of our calculi are presented in the appendices.
2 Propositional Dynamic Logic
We use to denote the set of atomic programs, and to denote the set of propositions (i.e., atomic formulas). We denote elements of by letters like , and elements of by letters like , . Formulas and programs of PDL are defined respectively by the following BNF grammar rules:
We use letters like , to denote programs, and , , to denote formulas.
A Kripke model is a pair , where is a set of states, and is an interpretation function that maps each proposition to a subset of , and each atomic program to a binary relation on . The interpretation function is extended to interpret complex formulas and complex programs as follows:
We write to denote . For a set of formulas, we write to denote that for all . If (resp. ), then we say that satisfies (resp. ) at , and that (resp. ) is satisfied at in . We say that validates if for all , and that is satisfiable w.r.t. a set of formulas used as global assumptions if there exists a Kripke model that validates and satisfies at some state.
The Fischer-Ladner closure and the sets and , where is a formula in negation normal form (NNF), are the sets of formulas defined as follows:222In NNF, the connective does not occur and occurs only immediately before propositions. Every formula can be transformed to an equivalent formula in NNF.
For a set of formulas in NNF, define .
3 The Problems We Address
When interpreting PDL as a description logic, states in a Kripke model, formulas, and programs are regarded respectively as “objects”, “concepts”, and “roles”. A finite set of global assumptions is treated as a “TBox”. As for description logics, we introduce ABoxes and consider the problem of checking whether a given ABox is consistent with a given TBox, which is related to the instance checking problem.
We prefer to use the terminology of PDL instead of that of because this work is related to Pratt’s work on PDL. We use the term state variable as an equivalent for the term “individual” used in description logic, and use letters like , , to denote state variables. We extend the notion of Kripke model so that the interpretation function of a Kripke model maps each state variable to a state of .
An ABox is a finite set of assertions of the form or , where is a formula in NNF and is a state variable. The meaning of is that formula is satisfied in state . An ABox is extensionally reduced if it contains only assertions of the form or . We will refer to ABox assertions also as formulas. When necessary, we refer to formulas that are not ABox assertions as traditional formulas.
A TBox is a finite set of traditional formulas in NNF.
A Kripke model satisfies an ABox if for all and for all . An ABox is satisfiable w.r.t. (or consistent with) a TBox iff there exists a Kripke model that satisfies and validates .
The first problem we address is the problem of checking satisfiability of an ABox w.r.t. a TBox
Consider the use of PDL as a description logic. A pair of an ABox and a TBox is treated as a knowledge base. A Kripke model that satisfies and validates is called a model of . Given a (traditional) formula (treated as a “concept”) and a state variable (treated as an “individual”), the problem of checking whether in every model of is called the instance checking problem (in PDL).
The second problem considered in this paper is the instance checking problem. The condition to check is denoted in such cases by .
4 A Tableau Calculus for PDL
In this section, we do not consider ABoxes yet, and by a “formula” we mean a “traditional formula”. Let and be finite sets of formulas. Consider the problem of checking whether is satisfiable in PDL w.r.t. the set of global assumptions. We assume that formulas are represented in NNF. We write to denote the NNF of .
We will define tableaux as “and-or” graphs. The contents of a node of an “and-or” graph are a data structure consisting of two sets and of formulas, where is called the label of , and is called “the set of formulas that have been reduced by a static rule after the last application of the transitional rule”.
Our calculus will be specified as a finite set of tableau rules, which are used to expand nodes of “and-or” graphs. A tableau rule is specified with the following informations:
the kind of the rule: an “and”-rule or an “or”-rule,
the conditions for applicability of the rule (if any),
the priority of the rule,
the number of successors of a node resulting from applying the rule to it, and the way to compute their contents.
Usually, a tableau rule is written downwards, with a set of formulas above the line as the premise, which represents the label of the node to which the rule is applied, and a number of sets of formulas below the line as the (possible) conclusions, which represent the labels of the successor nodes resulting from the application of the rule.333In [Gore99, GoreNguyenTab07], “premise” and “possible conclusion” are called numerator and denominator, respectively. Possible conclusions of an “or”-rule are separated by , while conclusions of an “and”-rule are separated/specified using . If a rule is a unary rule (i.e. a rule with only one possible conclusion) or an “and”-rule then its conclusions are “firm” and we ignore the word “possible”. An “or”-rule has the meaning that, if the premise is satisfiable w.r.t. then some of the possible conclusions is also satisfiable w.r.t. . On the other hand, an “and”-rule has the meaning that, if the premise is satisfiable w.r.t. then all of the conclusions are also satisfiable w.r.t. (possibly in different states of the model under construction). Note that, apart from the labels, there are also sets to be specified for the successor nodes.
We use to denote a set of formulas, and write for .
Define tableau calculus w.r.t. a set of global assumptions to be the set of the tableau rules given in
Table 1. The rule is the only “and”-rule and the only transitional rule.
Instantiating this rule, for example, to and we get
two conclusions: and . The other rules of are “or”-rules, which are also called static rules.444Unary static rules can be treated either as “and”-rules or as “or”-rules.
In [GoreNguyen08CSP], the rules and are classified as
are classified asterminal rules. The intuition of the sorting of static/transitional is that the static rules keep us in the same state of the model under construction, while each conclusion of the transitional rule takes us to a new state. For any rule of except , the distinguished formulas of the premise are called the principal formulas of the rule. The principal formulas of the rule are the formulas of the form of the premise. We assume that any one of the rules , , , , , is applicable to a node only when the principal formula does not belong to . Applying a static rule different from and to a node , for any successor node of , let be the set that extends with the principal formula of the applied rule. Applying any other rule to a node , for any successor node of , let .
Observe that, by using and the restriction on applicability of the rules , , , , , and , in any sequence of applications of static rules a formula of the form , , , , , or is reduced (as a principal formula) at most once. We do not adopt such a restriction for the rules , , , and because we will require formulas of the form to be “realized” (in a finite number of steps).
We assume the following preferences for the rules of : the rules and have the highest priority; unary static rules have a higher priority than non-unary static rules; all the static rules have a higher priority than the transitional rule .
An “and-or” graph for , also called a tableau for , is an “and-or” graph defined as follows. The initial node of the graph, called the root of the graph, is specified by and . For every node of the graph, if a tableau rule of is applicable to the label of in the sense that an instance of the rule has as the premise and , …, as the possible conclusions, then choose such a rule accordingly to the preference555If there are several applicable rules with the same priority, choose any one of them. and apply it to to create successors of with for . If the graph already contains a node with the same contents as then instead of creating a new node as a successor of we just connect to and assume . If the applied rule is then we label the edge by the principal formula corresponding to the successor . If the rule expanding is an “or”-rule then is an “or”-node, else is an “and”-node. The information about which rule is applied to is recorded for later uses. If no rule is applicable to then is an end node. Note that each node is “expanded” only once (using one rule). Also note that the graph is constructed using global caching [Pratt80, GoreNguyenTab07, GoreNguyen08CSP] and the contents of its nodes are unique.
A marking of an “and-or” graph is a subgraph of such that:
the root of is the root of .
if is a node of and is an “or”-node of then there exists at least one edge of that is an edge of .
if is a node of and is an “and”-node of then every edge of is an edge of .
if is an edge of then and are nodes of .
Let be an “and-or” graph for , a marking of , a node of , and a formula of the label of . A trace of in starting from is a sequence , …, such that:666This definition of trace is inspired by [NiwinskiW96].
for every , is an edge of ;
for every , is a formula of the label of such that: if is not a principal formula of the tableau rule expanding , then the rule must be a static rule and , else
if the rule is , or then is the formula obtained from ,
if the rule is and then ,
else the rule is , is of the form and is the label of the edge , and .
A trace , …, of in is called a -realization in for at if .
A marking of an “and-or” graph for is consistent if:
- local consistency:
does not contain any node with label ;
- global consistency:
for every node of , every formula of the form of the label of has a -realization (starting at ) in .
Theorem 4.1 (Soundness and Completeness of )
Let and be finite sets of formulas in NNF, and be an “and-or” graph for . Then is satisfiable w.r.t. the set of global assumptions iff has a consistent marking.
The “only if” direction means soundness of , while the “if” direction means completeness of . See Appendix LABEL:section:_proof_PDL for the proof of this theorem.