As a stepping stone between neighbourhood models and satisfiability games, we now introduce tableaux which are built using a variant of the standard tableau rules [10] (each consisting of one premise and a possibly empty set of conclusions), where the modal rule \(({\langle a\rangle })\) reflects Lemma 2, taking into account the global assumption \(\rho _0\):
(for \(a\in \mathsf {A}\), \(p\in \mathsf {P}\)); we usually write rule instances with premise \(\varGamma \) and conclusion \(\varTheta =\varGamma _1,\ldots ,\varGamma _n\) (\(n\le 2\)) inline as \((\varGamma /\varTheta )\). Looking back at Sect. 4, we see that letters in \(\varSigma \) designate rule applications, e.g. the letter \(({\langle a\rangle }\phi _1,{[a]}\phi _2)\in \varSigma _m\) indicates application of \(({\langle a\rangle })\) to formulae \({\langle a\rangle }\phi _1\), \({[a]}\phi _2\).
Definition 16
(Tableaux). Let \(\mathsf {states}\) denote the set of (formal) states, i.e. sets \(\varGamma \subseteq \mathsf {cl}\) such that \(\bot \notin \varGamma \), \(\{p,\overline{p}\}\not \subseteq \varGamma \) for all \(p\in \mathsf {P}\), and such \(\varGamma \) does not contain formulae that contain top-level occurrences of the operators \(\wedge \), \(\vee \), or \(\eta X\).
A pre-tableau is a directed graph (W, L), consisting of a finite set W of nodes labelled with subsets of \(\mathsf {cl}\) by a labeling function \(l:W\rightarrow \mathcal {P}(\mathsf {cl})\), and of a relation \(L\subseteq W\times W\) such that for all nodes \(v\in W\) with label \(l(v)=\varGamma \in \mathsf {states}\) and all applications \((\varGamma /\varGamma _1,\ldots ,\varGamma _n)\) of a tableau rule to \(\varGamma \), there is an edge \((v,w)\in L\) such that \(l(w)=\varGamma _i\) for some \(1\le i\le n\). For nodes with label \(l(v)=\varGamma \notin \mathsf {states}\), we require that there is exactly one node \(w\in W\) such that \((v,w)\in L\); then we demand that there is an application \((\varGamma /\varGamma _1,\ldots ,\varGamma _n)\) of a non-modal rule to \(\varGamma \) such that \(l(w)=\varGamma _i\) for some \(1\le i\le n\). Finite or infinite words over \(\varSigma \) then encode sequences of rule applications (and choices of conclusions for disjunctions). That is, given a starting node v, they encode branches with root v, i.e. (finite or infinite) paths through (W, L) that start at v.
Deferrals are tracked along rule applications by means of the function \(\delta \). E.g. for a deferral \(\phi _0\vee \phi _1\), the letter \(l=(\phi _0\vee \phi _1,0)\) identifies application of \((\vee )\) to \(\{\phi _0\vee \phi _1\}\), and the choice of the left disjunct; then \(\phi _0\vee \phi _1\) is tracked from a node with label \(\varGamma \cup \{\phi _0\vee \phi _1\}\) to a successor node with label \(\varGamma \cup \{\phi _0\}\) if \(\phi _0\in \delta (\phi _0\vee \phi _1,l)\), that is, if \(\phi _0\) is a deferral. A trace (of \(\phi _0\)) along a branch with root v (whose label contains \(\phi _0\)) encoded by a word w is a (finite or infinite) sequence \(t=\phi _0,\phi _1\ldots \) of formulae such that \(\phi _{i+1}\in \delta (\phi _i,w(i))\). A tableau is a finite pre-tableau in which all traces are finite, and a tableau is a tableau for \(\rho _1\) if some node label contains \(\rho _1\).
Given a tableau (W, L) and a node \(v\in W\), let \(\mathsf {tab}(v)\) (for tableau timeout) denote the least number m such that for all formulae \(\phi \) in l(v) and all branches of (W, L) that are rooted at v, all traces of \(\phi \) along the branch have length at most m; such an m always exists by the definition of tableaux.
To link models and tableaux, we next define an inductive measure on unfolding of least fixpoint formulae in models.
Definition 17
(Extension under timeouts). Let k be the greatest index of any least fixpoint variable in \(\psi \), and let (W, N, I) be a finite neighbourhood model. Then a timeout is a vector \(\overline{m}=(m_1,\ldots ,m_k)\) of natural numbers \(m_i\le |W|\). For \(1\le i\le k\) such that \(m_i>0\), we put \(\overline{m}@i=(m_1,\ldots ,m_{i-1},m_i-1,|W|,\ldots ,|W|)\). Then \(\overline{m}>_l\overline{m}@i\), where \(>_l\) denotes lexicographic ordering. For \(\phi \in \mathsf {cl}\), we inductively define the extension \(\llbracket \phi \rrbracket _{\overline{m}}\) under timeout \(\overline{m}\) by \(\llbracket \phi \rrbracket _{\overline{m}}=\llbracket \phi \rrbracket \) for \(\phi \notin \mathsf {dfr}\) and, for \(\phi \in \mathsf {dfr}\), by
$$\begin{aligned} \llbracket \psi _0\wedge \psi _1 \rrbracket _{\overline{m}}&= \llbracket \psi _0 \rrbracket _{\overline{m}}\cap \llbracket \psi _1 \rrbracket _{\overline{m}} \\ \llbracket \psi _0\vee \psi _1 \rrbracket _{\overline{m}}&= \llbracket \psi _0 \rrbracket _{\overline{m}}\cup \llbracket \psi _1 \rrbracket _{\overline{m}}\\ \llbracket {\langle a\rangle }\psi \rrbracket _{\overline{m}}&= \{w\in W\mid \exists S\in N(a,w).\,S\subseteq \llbracket \psi \rrbracket _{\overline{m}}\}\\ \llbracket {[a]}\psi \rrbracket _{\overline{m}}&= \{w\in W\mid \forall S\in N(a,w).\,S\cap \llbracket \psi \rrbracket _{\overline{m}}\ne \emptyset \}\\ \llbracket \mu X.\psi \rrbracket _{\overline{m}}&={\left\{ \begin{array}{ll} \emptyset &{} m_{\mathsf {idx}(X)}=0\\ \llbracket \psi [\mu X.\psi /X] \rrbracket _{\overline{m}@\mathsf {idx}(X)} &{} m_{\mathsf {idx}(X)}>0 \end{array}\right. } \end{aligned}$$
using the lexicographic ordering on \((\overline{m},\phi )\) as the termination measure; crucially, unfolding least fixpoints reduces the timeout. We extend this definition to sets of formulae by \(\llbracket \varPsi \rrbracket _{\overline{m}}= \bigcap _{\phi \in \varPsi } \llbracket \phi \rrbracket _{\overline{m}}\) for \(\varPsi \subseteq {{\,\mathrm{cl}\,}}\).
Lemma 18
In finite neighbourhood models, we have that for all \(\psi \in \mathsf {cl}\) there is some timeout \(\overline{m}\) such that
$$\begin{aligned} \llbracket \psi \rrbracket \subseteq \llbracket \psi \rrbracket _{\overline{m}}. \end{aligned}$$
Proof
Let W be the set of states. Since \(\llbracket \psi \rrbracket _{\overline{m}}\) is defined like \(\llbracket \psi \rrbracket \) in all cases but one, we only need to consider the inductive case where \(\psi =\mu X.\psi _0\in \mathsf {cl}\). We show that for all subformulae \(\phi \) of \(\psi _0\), for all timeout vectors \(\overline{m}=(m_1,\ldots ,m_k)\) such that \(m_i=|W|\) for all i such that \(\phi \) does not contain a free variable with index at least i, we have
$$\begin{aligned} \llbracket \phi \rrbracket _{\sigma (\overline{m})}\subseteq \llbracket \theta ^*(\phi ) \rrbracket _{\overline{m}}, \end{aligned}$$
(1)
where \(\sigma (\overline{m})\) maps each \(Y\in \mathsf {FV}(\phi )\) to \((\llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})})^{m_{\mathsf {idx}(Y)}}(\emptyset )\) where \(\theta (Y)=\mu Y.\,\phi _1\) (this is a recursive definition of \(\sigma (\overline{m})\) since the value of \(\sigma (\overline{m})\) for Y is overwritten in \((\llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})})^{m_{\mathsf {idx}(Y)}}(\emptyset )\) so that this set depends only on values \(m_i\) such that \(i<\mathsf {idx}(Y)\)). This shows that the claimed property \(\llbracket \mu X.\,\psi _0 \rrbracket \subseteq \llbracket \mu X.\,\psi _0 \rrbracket _{\overline{m}}\) holds for \(\overline{m}=(|W|,\ldots ,|W|)\): By Kleene’s fixpoint theorem,
$$\begin{aligned} \llbracket \mu X.\psi _0 \rrbracket&=(\llbracket \psi _0 \rrbracket ^X)^{|W|}(\emptyset )=\llbracket \psi _0 \rrbracket _{[X\mapsto (\llbracket \psi _0 \rrbracket ^X)^{|W|-1}(\emptyset )]} = \llbracket \psi _0 \rrbracket _{\sigma (\overline{m}@\mathsf {idx}(X))}\\&\subseteq \llbracket \theta ^*(\psi _0) \rrbracket _{\overline{m}@\mathsf {idx(X)}}= \llbracket \mu X.\psi _0 \rrbracket _{\overline{m}}, \end{aligned}$$
using (1) in the second-to-last step.
The proof of (1) is by induction on \(\phi \); we do only the non-trivial cases. If \(\theta ^*(\phi )\notin \mathsf {dfr}\), then \(\phi \) is closed (since \(\psi _0\) does not contain a free greatest fixpoint variable and since \(\phi \) is not in the scope of a greatest fixpoint operator within \(\psi _0\), that is, no free greatest fixpoint variable is introduced during the induction). Hence we have \(\llbracket \phi \rrbracket _{\sigma (\overline{m})}=\llbracket \phi \rrbracket \) and \(\llbracket \theta ^*(\phi ) \rrbracket _{\overline{m}}=\llbracket \theta ^*(\phi ) \rrbracket =\llbracket \phi \rrbracket \) so that we are done. If \(\phi = Y\), then \(\llbracket Y \rrbracket _{\sigma (\overline{m})}=(\llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})})^{m_{\mathsf {idx}(Y)}}(\emptyset )\) where \(\theta (Y)=\mu Y.\,\phi _1\). If \(m_{\mathsf {idx}(Y)}=0\), then \((\llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})})^{m_{\mathsf {idx}(Y)}}(\emptyset )=\emptyset \) so there is nothing to show. If \(m_{\mathsf {idx}(Y)}>0\), then
$$\begin{aligned} (\llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})})^{m_{\mathsf {idx}(Y)}}(\emptyset )&= \llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})}((\llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})})^{m_{\mathsf {idx}(Y)-1}}(\emptyset ))\\&=\llbracket \phi _1 \rrbracket _{({\sigma (\overline{m})})[Y\mapsto (\llbracket \phi _1 \rrbracket ^Y_\sigma )^{m_{\mathsf {idx}(Y)}-1}(\emptyset )]}\\&\subseteq \llbracket \theta ^*(\phi _1) \rrbracket _{\overline{m}@\mathsf {idx}(Y)}\\&= \llbracket \theta ^*(\phi _1[\mu Y.\,\phi _1/Y]) \rrbracket _{\overline{m}@\mathsf {idx}(Y)}\\&= \llbracket \theta ^*(\mu Y.\,\phi _1) \rrbracket _{\overline{m}} =\llbracket \theta ^*(Y) \rrbracket _{\overline{m}}, \end{aligned}$$
where the inclusion is by the inductive hypothesis. If \(\phi =\mu Y.\,\phi _1\), then
$$\begin{aligned} \llbracket \mu Y.\,\phi _1 \rrbracket _{\sigma (\overline{m})}=(\llbracket \phi _1 \rrbracket _{\sigma (\overline{m})}^Y)^{|W|}(\emptyset )&=\llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})}((\llbracket \phi _1 \rrbracket ^Y_{\sigma (\overline{m})})^{|W|-1}(\emptyset ))\\&=\llbracket \phi _1 \rrbracket _{({\sigma (\overline{m})})[Y\mapsto (\llbracket \phi _1 \rrbracket ^Y)^{|W|-1}(\emptyset )]}\\&\subseteq \llbracket \theta ^*(\phi _1) \rrbracket _{\overline{m}@\mathsf {idx}(Y)}\\&=\llbracket \theta ^*(\phi _1[\theta (Y)/Y]) \rrbracket _{\overline{m}@\mathsf {idx}(Y)}\\&=\llbracket \theta ^*(\mu Y.\,\phi _1) \rrbracket _{\overline{m}}, \end{aligned}$$
where the first equality is by Kleene’s fixpoint theorem and the inclusion is by the inductive hypothesis since \(m_{\mathsf {idx}(Y)}=|W|\) (hence \(m@\mathsf {idx}(Y)_{\mathsf {idx}(Y)}=|W|-1\)) by assumption as \(\mu Y.\,\phi _1\) does not contain a free variable with index at least \(\mathsf {idx}(Y)\). \(\square \)
To check satisfiability it suffices to decide whether a tableau exists:
Theorem 19
There is a tableau for \(\rho _1\) if and only if \(\rho _1\) is \(\rho _0\)-satisfiable.
Proof
Let \(\rho _1\) be \(\rho _0\)-satisfiable. Then there is a finite neighbourhood model (W, N, I) such that \(W\subseteq \llbracket \rho _0 \rrbracket \) and \(W\cap \llbracket \rho _1 \rrbracket \ne \emptyset \) by Lemma 8. We define a tableau over the set \(V=\{(x,\varPsi ,w)\in W\times \mathcal {P}(\mathsf {cl})\times \varSigma _p^*\mid x\in \llbracket \varPsi \rrbracket ,\mathsf {u}(\varPsi )\le 3n-|w|\}\), where \(\mathsf {u}(\varPsi )\) denotes the sum of the numbers of unguarded operators in formulae from \(\varPsi \). Let \((x,\varPsi ,w)\in V\). For \(\varPsi \notin \mathsf {states}\), \(\mathsf {u}(\varPsi )\le 3n-|w|\), we pick some \(\phi \in \varPsi \), distinguishing cases. If \(\phi =\phi _0\wedge \phi _1\) or \(\phi =\eta X.\,\phi _0\), then we put \(b=0\). If \(\phi =\phi _0\vee \phi _1\), then let \(\overline{m}\) be the least timeout such that \(x\in \llbracket \phi \rrbracket _{\overline{m}}\) (such \(\overline{m}\) exists by Lemma 18). Then there is some \(b'\in \{0,1\}\) such that \(x\in \llbracket \phi _{b'} \rrbracket _{\overline{m}}\) and we put \(b=b'\). In any case, we put \(l=(\phi ,b)\) and add an edge from \((x,\varPsi ,w)\) to \((x,\gamma (\varPsi ,l),(w,l))\) to L, having \(\mathsf {u}(\gamma (\varPsi ,l))=\mathsf {u}(\varPsi )-1\) and hence \(\mathsf {u}(\gamma (\varPsi ,l))\le 3n-|w,l|\). Since we are interested in the nodes that can be reached from nodes \((x,\varPsi ,\epsilon )\) with \(|\varPsi |\le 3\) and since each formula in \(\varPsi \) contains at most n unguarded operators, we indeed only have to construct nodes \((x,\varPsi ',w)\) with \(\mathsf {u}(\varPsi )\le 3n-|w|\) before reaching state labeled nodes. For \(\varPsi \in \mathsf {states}\) and \( \{{\langle a\rangle }\phi _0,{[a]}\phi _1\}\subseteq \varPsi \), let \(\overline{m}\) be the least timeout such that \(x\in \llbracket \{{\langle a\rangle }\phi _0,{[a]}\phi _1\} \rrbracket _{\overline{m}}\) (again, such \(\overline{m}\) exists by Lemma 18). Then there is \(S\in N(a,x)\) such that \(S\subseteq \llbracket \phi _0 \rrbracket _{\overline{m}}\cap \llbracket \rho _0 \rrbracket \) and \(S\cap \llbracket \phi _1 \rrbracket _{\overline{m}}\ne \emptyset \). Pick \(y\in \llbracket \phi _0 \rrbracket _{\overline{m}}\cap \llbracket \phi _1 \rrbracket _{\overline{m}}\cap \llbracket \rho _0 \rrbracket \) and add an edge from \((x,\varPsi ,w)\) to \((y,\{\phi _0,\phi _1,\rho _0\},\epsilon )\) to L, having \(\mathsf {u}(\{\phi _0,\phi _1,\rho _0\})\le 3n - |\epsilon |\). Define the label \(l(x,\varPsi ,w)\) of nodes \((x,\varPsi ,w)\) to be just \(\varPsi \). Then the structure (V, L) indeed is a tableau for \(\rho _1\): Since there is \(z\in W\cap \llbracket \rho _1 \rrbracket \), we have \((z,\{\rho _1\},\epsilon )\in V\), that is, \(\rho _1\) is contained in the label of some node in (V, L). The requirements of tableaux for matching rule applications are satisfied by construction of L. It remains to show that each trace in (V, L) is finite. So let \(\tau =\phi _0,\phi _1,\ldots \) be a trace of some formula \(\phi _0\) along some branch (encoded by a word w) that is rooted at some node \(v=(x,\varPsi ,w')\in V\) such that \(\phi _0\in \varPsi \). Let \(\overline{m}\) be the least timeout such that \(x\in \llbracket \phi _0 \rrbracket _{\overline{m}}\) (again, such \(\overline{m}\) exists by Lemma 18). For each i, we have \(\phi _{i+1}\in \delta (\phi _i,w(i))\) and there are \((x_i,\varPsi _i,w_i)\in V\) and \(\overline{m}_i\) such that \(\phi _i\in \varPsi _i\) and \(x_i\in \llbracket \phi _i \rrbracket _{\overline{m}_i}\). We have chosen disjuncts and modal successors in a minimal fashion, that is, in such a way that we always have \(\overline{m}_{i+1}\le _l \overline{m}_{i}\). Since traces can be infinite only if they contain infinitely many unfolding steps for some least fixpoint, \(\tau \) is finite or some least fixpoint is unfolded in it infinitely often. In the former case, we are done. In the latter case, each unfolding of a least fixpoint by Definition 17 reduces some digit of the timeout so that we have an infinite decreasing chain \(\overline{m}_{i_1}>_l\overline{m}_{i_2}>_l\ldots \) with \(i_{j+1}>i_j\) for all j, which is a contradiction to \(<_l\) being a well-order.
For the converse direction, let (V, L) be a tableau for \(\rho _1\) labeled by some function \(l:V\rightarrow \mathcal {P}(\mathsf {cl})\). We construct a model (W, N, I) over the set
$$\begin{aligned} W=\{x\in V \mid l(x)\in \mathsf {states}\}. \end{aligned}$$
For \(p\in \mathsf {P}\), put \(I(p)=\{x\in W\mid p\in l(x)\}\); since (V, L) is a tableau, the rules \((\bot )\) and
do not match the label of any node, so we have \(I(p)=W\setminus I(\overline{p})\), as required. Let \(x\in W\) and \(a\in \mathsf {A}\). If l(x) contains no a-box literal, then we put \(N(a,x)=\{\emptyset \}\). If l(x) contains some a-box literal but no a-diamond literal, then we put \(N(a,x)=\emptyset \). Otherwise, let the a-modalities in l(x) be exactly \({\langle a\rangle }\chi _1,\ldots ,{\langle a\rangle }\chi _o, {[a]}\psi _1,\ldots ,{[a]}\psi _m\). We put \(N(a,x)=\{\{y_{1,1},\ldots ,y_{1,m}\},\ldots ,\{y_{o,1},\ldots ,y_{o,m}\}\}\), where, for \(1\le i\le o\), \(1\le j\le m\), the state \(y_{i,j}\) is picked minimally with respect to \(\mathsf {tab}\) among all nodes z such that \((x,z)\in L\) and \(\{\chi _i,\psi _j,\rho _0\}= l(z)\); such \(y_{i,j}\) with minimal tableau timeout always exists since (V, L) is a tableau. It remains to show that (W, N, I) is a \(\rho _0\)-model for \(\rho _1\). We put
$$\begin{aligned} \widehat{[\![\phi ]\!]}=\{x\in W\mid l(x)\vdash _\mathsf {PL}\phi \} \end{aligned}$$
for \(\phi \in \mathsf {cl}\), where \(\vdash _{\mathsf {PL}}\) denotes propositional entailment (modal literals \({[a]}\phi \), \({\langle a\rangle }\phi \) are regarded as propositional atoms and \(\eta X.\,\phi \) and \(\phi [\eta X.\,\phi /X]\) entail each other). Since we have \(W\subseteq \widehat{[\![\rho _0]\!]}\) and \(W\cap \widehat{[\![\rho _1]\!]}\ne \emptyset \) by definition of (W, N, I) and tableaux, it suffices to show that we have \(\widehat{[\![\phi ]\!]}\subseteq \llbracket \phi \rrbracket \) for all \(\phi \in \mathsf {cl}\). The proof of this is by induction on \(\phi \), using coinduction in the case for greatest fixpoint formulae and a further induction on tableau timeouts in the case for least fixpoint formulae.
\(\square \)