Agent-Alternation-Free Epistemic Metric Temporal Logic with Past: Model Checking and Complexity


Abstract

We study model checking for an epistemic metric temporal logic with past, interpreted over finite Büchi automata under synchronous perfect recall. The logic is motivated by observation-based verification problems such as diagnosis and opacity, where an observer sees only a projection of an execution and reasons about events that may have occurred earlier. These requirements use no alternation between different agents’ knowledge. We therefore consider the agent-alternation-free fragment, in which nested knowledge operators must refer to the same agent. We show that model checking for this fragment is \(\mathsf{EXPSPACE}\)-complete. The lower bound already holds with one agent, one occurrence of the knowledge operator, and no non-trivial metric bounds. For the upper bound, we combine temporal test automata with perfect-recall observers. Because past formulas may have different truth values on indistinguishable histories ending in the same system state, the observer must track temporal automaton states in addition to system states.

1 Introduction↩︎

Many verification questions concern not only the behavior of a system, but also what can be inferred from a partial observation of its execution. This perspective is standard in discrete-event systems. Diagnosability asks whether an observer can detect an unobservable fault after a bounded delay [1]. Decentralized diagnosis considers several local observers with different projections of the same execution [2]. Opacity imposes the dual confidentiality requirement: the observations should not reveal that a secret event has occurred. Representative works include [3], [4]. See also the survey [5].

A related pattern appears in runtime verification [6], [7]. A monitor reads a finite observation prefix and produces a verdict only when it is justified by every execution compatible with the observations. This quantification over indistinguishable histories is captured by knowledge under perfect recall [8]. Temporal operators describe the execution, while a knowledge operator quantifies over executions with the same observation history.

This gives a common logical formulation of diagnosis and opacity. A diagnosis requirement states that the observer eventually knows that a fault occurred. An opacity requirement states that it never knows that a secret occurred. For a given system, both become model-checking questions for epistemic temporal formulas. Monitorability is related but not identical: it quantifies over possible continuations of every observation prefix and is therefore a property of the observation tree rather than the truth of one formula at the initial position [9]. We use runtime verification as additional motivation, but the formal applications developed below are diagnosis and opacity.

Past operators are essential for these applications. A diagnoser need not know that a fault holds at the current position. It must know that a fault occurred at some earlier position. Likewise, opacity commonly protects the occurrence of a past secret. Metric constraints (encoded in binary) express timing requirements, such as diagnosis within \(D \in \mathbb{N}\) steps or secrecy for a prescribed window. We work in discrete time, with distances counted in steps. This restriction is important: in dense time, opacity is already undecidable [10], by reduction from universality of timed automata [11]. Our logic therefore combines future and past temporal operators with strict first-time semantics, integer metric bounds, and synchronous perfect-recall knowledge. Under strict first-time semantics, a metric operator constrains the distance to the first position satisfying its argument, rather than to an arbitrary such position. We adopt it because the knowledge-free metric fragment is then only \(\mathsf{PSPACE}\) [12], whereas standard metric operators already make it \(\mathsf{EXPSPACE}\)-complete [13], so that the complexity we prove arises only from past and knowledge rather than from the metric.

Existing results do not determine the complexity of this combination. For epistemic LTL with future operators and no metric constraints, perfect-recall model checking is nonelementary in general and \(\mathsf{PSPACE}\)-complete at knowledge-alternation depth one [14]. The pure past fragment under synchronous perfect recall, without future or metric operators, has been studied in [15]. For the future-only metric logic with strict first-time semantics, satisfiability is \(\mathsf{PSPACE}\)-complete [12]. Metric temporal logic with knowledge over timed interpreted systems has been studied via bounded model checking, with a different, state-based epistemic semantics and no past operators [16], [17]. The logic KLTL, with future and past operators under synchronous perfect recall, forms the basis of a richer counterfactual logic [18] that is decidable over finite-state systems but whose exact complexity is left open. Temporal epistemic logic has been applied to fault diagnosis: the FDI framework of [19] specifies bounded-delay alarm requirements in temporal epistemic logic with past, using finite unfoldings rather than primitive binary metric operators, and without a complexity analysis for the logic considered here.

We prove that model checking is \(\mathsf{EXPSPACE}\)-complete at alternation depth one. The lower bound uses only the unbounded interval \(\mathbb{N}\). Thus \(\mathsf{EXPSPACE}\)-hardness already appears when past is added to the \(\mathsf{PSPACE}\)-complete metric-free future epistemic fragment, without positive metric constants. A related succinctness phenomenon is known without knowledge: the work [20] shows that adding a forgettable-past operator to LTL with past yields \(\mathsf{EXPSPACE}\)-complete satisfiability and model checking. Our lower bound adapts its tiling reduction.

The paper makes four contributions.

(1) We define the logic \(\mathrm{KMTL}\), with future and past operators, binary-encoded metric intervals, strict first-time semantics, and synchronous perfect-recall knowledge, together with its agent-alternation-free fragment \(\mathrm{KMTL}_1\).

(2) We express centralized diagnosis, decentralized diagnosis, and opacity in \(\mathrm{KMTL}_1\).

(3) We give an \(\mathsf{EXPSPACE}\) lower bound by reduction from exponential-width corridor tiling. The formula has one occurrence of a knowledge operator and only the interval \(\mathbb{N}\).

(4) We give a matching upper bound. The observer records sets of pairs of a system state and a temporal automaton state, distinguishing histories that end in the same system state but disagree on past formulas.

Outline

2 introduces the logic \(\mathrm{KMTL}\) and its fragment \(\mathrm{KMTL}_1\). 3 relates it to diagnosability and opacity. 4 proves the \(\mathsf{EXPSPACE}\) lower bound and 5 the matching upper bound. We conclude in 6.

Acknowledgments

This work was partly supported by the “France 2030” government investment plan managed by ANR, under the reference ANR-23-PEIA-0006.

2 The Logic \(\mathrm{KMTL}\) and its Fragment \(\mathrm{KMTL}_1\)↩︎

The syntax and semantics are parameterized by finite sets \(\mathsf{AP}\) of atomic propositions and \(\mathsf{Ag}\) of agents. Both are part of the model-checking instance (Definition 6). We write \(\Sigma=2^{\mathsf{AP}}\), viewing a letter \(\sigma\in\Sigma\) as the set of propositions true at one position. Positions are numbered from \(1\). Thus an infinite word is written \(w=\sigma_1\sigma_2\ldots\in\Sigma^\omega\). For \(i\in\mathbb{N}\), let \(w_{\le i}=\sigma_1\ldots\sigma_i\in\Sigma^*\), with \(w_{\le 0}\) the empty word. A pointed word is a pair \((w,i)\) with \(i\ge1\). Temporal operators move the distinguished position along \(w\), while knowledge compares \((w,i)\) with pointed words having the same observation history.

Formulas are interpreted over the language of a Büchi automaton:

Definition 1 (Büchi automata). A (nondeterministic finite) Büchi automaton over \(\Sigma\) is a tuple \[A=(S,S_0,\delta,F)\] where \(S\) is a finite set of states, \(S_0\subseteq S\) is the set of initial states, \(\delta\subseteq S\times\Sigma\times S\) is the transition relation, and \(F\subseteq S\) is the set of accepting states. A run over \(w=\sigma_1\sigma_2\ldots\in\Sigma^\omega\) is an infinite sequence \(s_0s_1s_2\ldots\) with \(s_0\in S_0\) and \((s_i,\sigma_{i+1},s_{i+1})\in\delta\) for all \(i\ge 0\). It is accepting if \(s_i\in F\) for infinitely many \(i\). The language \(L(A)\) is the set of words admitting an accepting run. A run prefix* over a finite word \(\sigma_1\ldots\sigma_m\in\Sigma^*\) is a finite sequence \(s_0\ldots s_m\) with \(s_0\in S_0\) and \((s_i,\sigma_{i+1},s_{i+1})\in\delta\) for \(0\le i<m\), also written \[s_0\xrightarrow{\sigma_1}\cdots\xrightarrow{\sigma_m}s_m.\]*

A generalized Büchi automaton has a finite family \(\mathcal{F}=\{F_1,\ldots,F_m\}\) of accepting sets instead of one set \(F\). A run is accepting if, for every \(j\), it visits \(F_j\) infinitely often.

A standard round-robin construction turns a generalized Büchi automaton into an ordinary one with at most \(m\cdot |S|\) states.

A model is a Büchi automaton over \(\Sigma=2^{\mathsf{AP}}\). We write it as \(\mathcal{M}=(Q,Q_0,\Delta,F_\mathcal{M})\) and reserve \(S,S_0,\delta,F\) for automata constructed in the proofs, which use the same definition over alphabets of the form \(2^{\mathsf{AP}'}\). Formulas are interpreted over \(L(\mathcal{M})\subseteq\Sigma^\omega\), and the finite transition structure of \(\mathcal{M}\) is the input representation used by the algorithms.

Definition 2 (Observations and synchronous perfect recall). Each agent \(a\in\mathsf{Ag}\) comes with a set \(\mathsf{AP}_a\subseteq\mathsf{AP}\) of propositions visible to \(a\). The observation of a letter \(\sigma\in2^{\mathsf{AP}}\) is \[\mathsf{obs}_a(\sigma)=\sigma\cap \mathsf{AP}_a.\] For a finite word \(u=\sigma_1\ldots\sigma_i\), define \(\mathsf{obs}_a(u)=\mathsf{obs}_a(\sigma_1)\ldots\mathsf{obs}_a(\sigma_i).\) Two pointed words \((w,i)\) and \((w',i')\) are synchronously indistinguishable for \(a\), written \((w,i)\sim_a(w',i')\), if \[i=i' \quad\text{and}\quad \mathsf{obs}_a(w_{\le i})=\mathsf{obs}_a(w'_{\le i}).\]

Metric constraints use nonempty intervals \(I\subseteq\mathbb{N}\) of the form \([\ell,h]=\{n\in\mathbb{N}\mid \ell\le n\le h\}\) or \([\ell,\infty)=\{n\in\mathbb{N}\mid \ell\le n\}\). Finite bounds are encoded in binary. Note that our lower-bound proof uses only the unbounded interval \(\mathbb{N}=[0,\infty)\).

Definition 3 (\(\mathrm{KMTL}\) formulas). The formulas of \(\mathrm{KMTL}\) are generated by \[\varphi ::= \top \mid p \mid \neg\varphi \mid \varphi\wedge\varphi \mid X\varphi \mid Y\varphi \mid \varphi\,U^1_I\,\varphi \mid \varphi\,S^1_I\,\varphi \mid K_a\varphi,\] where \(p\in\mathsf{AP}\), \(a\in\mathsf{Ag}\), and \(I\) is an interval. The classical Boolean connectives \(\vee\), \(\rightarrow\), and \(\leftrightarrow\) are defined as abbreviations.

Following [12], the superscript \(1\) denotes strict first-time semantics. The formula \(\varphi\,U^1_I\,\psi\) requires the first \(\psi\)-position at or after the current position to occur at a distance in \(I\), with \(\varphi\) holding before it. Dually, \(\varphi\,S^1_I\,\psi\) refers to the most recent \(\psi\)-position. In terms of classical metric until, \(\varphi\,U^1_I\,\psi\) is equivalent to \((\varphi\wedge\neg\psi)\,U_I\,\psi\). The formal semantics is as follows.

Definition 4 (Satisfaction). Fix a Büchi automaton \(\mathcal{M}\). Satisfaction \(w,i\models_\mathcal{M}\varphi\) at a pointed word \((w,i)\), for \(w=\sigma_1\sigma_2 \ldots\in L(\mathcal{M})\) and \(i\ge 1\), is defined inductively as follows: \[\begin{array}{lcl} w,i\models_\mathcal{M}\top && \text{always},\\[0.5ex] w,i\models_\mathcal{M}p &\text{if}& p\in\sigma_i,\\[0.5ex] w,i\models_\mathcal{M}\neg\varphi &\text{if}& w,i\not\models_\mathcal{M}\varphi,\\[0.5ex] w,i\models_\mathcal{M}\varphi\wedge\psi &\text{if}& w,i\models_\mathcal{M}\varphi\text{ and }w,i\models_\mathcal{M}\psi,\\[0.5ex] w,i\models_\mathcal{M}X\varphi &\text{if}& w,i+1\models_\mathcal{M}\varphi,\\[0.5ex] w,i\models_\mathcal{M}Y\varphi &\text{if}& i>1\text{ and }w,i-1\models_\mathcal{M}\varphi,\\[0.5ex] w,i\models_\mathcal{M}\varphi\,U^1_I\,\psi &\text{if}& \text{there is }j\ge i\text{ with }j-i\in I,\;w,j\models_\mathcal{M}\psi,\text{ and}\\ && w,k\models_\mathcal{M}\varphi\wedge\neg\psi\text{ for all }i\le k<j,\\[0.5ex] w,i\models_\mathcal{M}\varphi\,S^1_I\,\psi &\text{if}& \text{there is }j\le i\text{ with }i-j\in I,\;w,j\models_\mathcal{M}\psi,\text{ and}\\ && w,k\models_\mathcal{M}\varphi\wedge\neg\psi\text{ for all }j<k\le i,\\[0.5ex] w,i\models_\mathcal{M}K_a\varphi &\text{if}& w',i\models_\mathcal{M}\varphi\text{ for all }w'\in L(\mathcal{M}) \text{ with }(w,i)\sim_a(w',i). \end{array}\]

We also use the following abbreviations, for any interval \(I\): \[\begin{array}{rclcrclcrcl} \Diamond_I\varphi &:=& \top\,U^1_I\,\varphi, && \Diamond\varphi &:=& \Diamond_{\mathbb{N}}\varphi, && \Box\varphi &:=& \neg\Diamond\neg\varphi,\\[2mm] \Diamond^{-}_I\varphi &:=& \top\,S^1_I\,\varphi, && \Diamond^{-}\varphi &:=& \Diamond^{-}_{\mathbb{N}}\varphi, && \Box^{-}\varphi &:=& \neg\Diamond^{-}\neg\varphi. \end{array}\] Note that \(\Diamond_I\varphi\) says that the first position satisfying \(\varphi\) lies in the window \(I\). For \(I=\mathbb{N}\) this is the usual eventuality, and \(\Box\) and \(\Box^{-}\) are the usual universal modalities. For \(k\in\mathbb{N}\), \(X^k\varphi\) denotes \(k\) iterated applications of \(X\), with \(X^0\varphi=\varphi\).

We restrict alternation between knowledge operators of different agents.

Definition 5 (Agent-alternation-free fragment \(\mathrm{KMTL}_1\)). A \(\mathrm{KMTL}\) formula is agent-alternation-free* if along every chain of nested knowledge operators the agent does not change. We write \(\mathrm{KMTL}_1\) for the set of agent-alternation-free \(\mathrm{KMTL}\) formulas.*

Equivalently, no \(K_b\) with \(b\ne a\) may occur in the scope of \(K_a\). Same-agent nesting is allowed, and non-nested knowledge subformulas may refer to different agents. This is knowledge-alternation depth at most one in the sense of [14]. The subscript in \(\mathrm{KMTL}_1\) records this depth. By contrast, the subscript in the metric logic \(\mathrm{MTL}_1\) of [12] refers to first-time semantics, which we mark directly on the temporal operators.

Definition 6 (Model checking). An instance of the (universal) model-checking problem consists of finite sets \(\mathsf{AP}\) and \(\mathsf{Ag}\), observation sets \((\mathsf{AP}_a)_{a\in\mathsf{Ag}}\), a Büchi automaton \(\mathcal{M}\) over the alphabet \(\Sigma=2^{\mathsf{AP}}\), and a formula \(\varphi\) over \(\mathsf{AP}\) and \(\mathsf{Ag}\). It asks whether \[\mathcal{M}\models\varphi \quad\text{meaning}\quad \forall w\in L(\mathcal{M}):~ w,1\models_\mathcal{M}\varphi.\]

The paper [14] uses state-based observations on Kripke structures and quantifies over all paths. Our observations are letter-based, and knowledge ranges over the accepted language \(L(\mathcal{M})\). These choices do not affect the cited \(\mathsf{PSPACE}\) comparison.

State-based and letter-based observations are polynomially interreducible. To encode a state equivalence \(\sim_a\) by letters, use at most \(\lceil\log_2|Q|\rceil\) propositions visible to \(a\) that record the current class. Conversely, store the last emitted letter in the state and let \(\sim_a\) compare its \(\mathsf{AP}_a\)-projection.

Büchi acceptance can be relativized in the formula. Let \(\mathsf{Fair}:=\Box\Diamond\mathsf{acc}\), where the fresh proposition \(\mathsf{acc}\) marks accepting states and is visible to no agent. Translate knowledge recursively by \(K_a\psi\mapsto K_a(\mathsf{Fair}\rightarrow\psi')\) and use \(\mathsf{Fair}\rightarrow\varphi'\) at the top level. The resulting formula considers only accepting paths, both globally and inside knowledge operators, and preserves agent alternation depth.

3 Motivating Examples from Diagnosis and Opacity↩︎

Diagnosis and opacity are defined through partial observations. At a given position, an observer must consider every execution compatible with the observation prefix. Knowledge captures this quantification, while past operators describe the event to be inferred, such as an earlier fault or secret.

Classical definitions are usually phrased in terms of diagnosers and indistinguishable runs. Diagnosis has also been formalized in temporal epistemic logic, notably in the FDI framework of [19], and opacity has been expressed epistemically as \(\Box\neg K\,\mathit{sec}\) [21]. We show below that centralized diagnosis, decentralized diagnosis, and past-event opacity are all expressed by shallow epistemic temporal formulas with past. The examples account for past, metric bounds, and multiple agents while staying inside \(\mathrm{KMTL}_1\).

Bounded diagnosis

Let \(a \in \mathsf{Ag}\) be an observing agent and let \(f\in\mathsf{AP}\setminus\mathsf{AP}_a\) be an unobservable proposition marking a fault occurrence. For a trace \(w\) and a position \(i\), the formula \(\Diamond^- f\) says that a fault occurred in the prefix \(w_{\le i}\). Let \(D \in \mathbb{N}\) be a delay. In the classical sense of [1], a \(D\)-delay diagnoser for a given model \(\mathcal{M}\) is a function \[\mathsf{diag}:(2^{\mathsf{AP}_a})^+\to\{0,1\}\] from observation prefixes to alarms such that:

(i) if a finite prefix \(u\) of some \(w\in L(\mathcal{M})\) is fault-free, then \(\mathsf{diag}(\mathsf{obs}_a(u))=0\).

(ii) if \(w\in L(\mathcal{M})\) has a fault at position \(i\), then \(\mathsf{diag}(\mathsf{obs}_a(w_{\le j}))=1\) for all \(j\ge i+D\).

The first clause forbids false alarms. The second requires the alarm to stay on from \(D\) steps after every fault onward, matching the uniform-delay condition of [1].

Lemma 1 (Bounded diagnosis as knowledge). For every \(D\in\mathbb{N}\), the system \(\mathcal{M}\) has a \(D\)-delay diagnoser for observer \(a\) and fault \(f\) iff \(\mathcal{M}\models\varphi_{\mathsf{diag}}^{\le D}\), where \[\varphi_{\mathsf{diag}}^{\le D} := \Box\bigl(f\rightarrow \Diamond_{[0,D]} K_a\Diamond^- f\bigr).\]

Proof. Write \(\alpha:=K_a\Diamond^- f\) for the alarm predicate. It depends only on the observation prefix, since indistinguishable positions have the same \(a\)-class, and it is monotone under perfect recall (once the fault is known it stays known). Since \(\Diamond_{[0,D]}\alpha\) requires \(\alpha\) at some position within \(D\) steps and \(\alpha\) persists once true, \(\varphi_{\mathsf{diag}}^{\le D}\) requires the alarm to hold from position \(i+D\) onward after any fault at \(i\).

Suppose the formula holds. Set \(\mathsf{diag}(u)=1\) iff \(\alpha\) holds after some (equivalently every) trace prefix with observation \(u\), and \(\mathsf{diag}(u)=0\) for observations not realized by any trace prefix. A fault-free prefix is an indistinguishable non-faulty witness, so \(\alpha\) is false there and there are no false alarms. After a fault at \(i\) the formula gives \(\alpha\) from \(i+D\) onward, hence \(\mathsf{diag}(\mathsf{obs}_a(w_{\le j}))=1\) for all \(j\ge i+D\).

Conversely, let \(\mathsf{diag}\) be a \(D\)-delay diagnoser and let \(f\) occur at position \(i\) of \(w\). Detection by the diagnoser gives \(\mathsf{diag}(\mathsf{obs}_a(w_{\le i+D}))=1\), so every trace prefix \(w'_{\le i+D}\) with the same observation is faulty (otherwise the no-false-alarm rule would force \(\mathsf{diag}=0\)). Thus \(w,i+D\models\alpha\), which lies in the window \([0,D]\), so \(\varphi_{\mathsf{diag}}^{\le D}\) holds. ◻

The unbounded eventual-diagnosis formula \(\varphi_{\mathsf{diag}} := \Box\bigl(f\rightarrow \Diamond K_a\Diamond^- f\bigr)\) drops the delay bound and captures the qualitative requirement. The bound can also be written with iterated next as \(\Box(f\rightarrow X^D K_a\Diamond^- f)\). By monotonicity of \(K_a\Diamond^- f\), this is equivalent to \(\varphi_{\mathsf{diag}}^{\le D}\), but it expresses the delay \(D\) in unary, whereas the metric constant in \(\Diamond_{[0,D]}\) is binary.

Example 1 (Diagnosis, perfect recall, and delay). Let \(\mathsf{AP}=\{p,r,f\}\) and \(\mathsf{AP}_a=\{p,r\}\), so the fault \(f\) is unobservable. Consider three systems whose trace languages are given by the following \(\omega\)-regular expressions over \(\Sigma=2^{\mathsf{AP}}\), in which each set, such as \(\{p\}\) or \(\{p,f\}\), is a single letter: \[\begin{align} L(\mathcal{M}_1) &= \{p\}^\omega + \{p\}^{*}\{p,f\}\{p\}^\omega,\\ L(\mathcal{M}_2) &= \{p\}^\omega + \{p\}^{*}\{f\}\{p\}^\omega,\\ L(\mathcal{M}_3) &= \{p\}^\omega + \{p\}^{*}\{p,f\}\{p\}^{*}\{r\}^\omega. \end{align}\] Agent \(a\) observes \(\{f\}\) as \(\emptyset\) and \(\{p,f\}\) as \(\{p\}\). In \(\mathcal{M}_1\), faulty and fault-free traces have the same observation \(\{p\}^\omega\), so the fault is never known: \(\mathcal{M}_1\not\models\varphi_{\mathsf{diag}}\). In \(\mathcal{M}_2\), the fault position is observed as \(\emptyset\), which cannot occur on the fault-free trace. Hence the fault is known immediately and \(\mathcal{M}_2\models\varphi_{\mathsf{diag}}^{\le 0}\). Perfect recall preserves this knowledge after the observation returns to \(\{p\}\), whereas a memoryless observer would lose it. In \(\mathcal{M}_3\), the fault becomes known only when the observation switches to \(\{r\}^\omega\). The switch occurs on every faulty trace, but after an arbitrarily long prefix indistinguishable from the fault-free trace. Therefore \(\mathcal{M}_3\models\varphi_{\mathsf{diag}}\), while \(\mathcal{M}_3\not\models\varphi_{\mathsf{diag}}^{\le D}\) for every \(D\).

Decentralized diagnosis

The translation extends to decentralized diagnosis. Suppose several agents observe different projections, \(f\notin\mathsf{AP}_a\) for every \(a\in\mathsf{Ag}\), and no fixed agent is required to diagnose every fault. Under the codiagnosability notion of [22], implemented by the disjunctive protocol of [2], a fault is detected once at least one agent can infer it from its local observations. A \(D\)-delay decentralized diagnoser is a family \((\mathsf{diag}_a)_{a\in\mathsf{Ag}}\) of local alarm functions \(\mathsf{diag}_a:(2^{\mathsf{AP}_a})^+\to\{0,1\}\), each subject to the no-false-alarm clause (i) above for its own observation alphabet, such that whenever \(w\in L(\mathcal{M})\) has a fault at position \(i\), then for every \(j\ge i+D\) at least one \(a\in\mathsf{Ag}\) has \(\mathsf{diag}_a(\mathsf{obs}_a(w_{\le j}))=1\).

Lemma 2 (Decentralized diagnosis as knowledge). For every \(D\in\mathbb{N}\), the model \(\mathcal{M}\) has a \(D\)-delay decentralized diagnoser for fault \(f\) iff \[\mathcal{M}\models \Box\left( f\rightarrow \Diamond_{[0,D]}\bigvee_{a\in\mathsf{Ag}}K_a\Diamond^- f \right).\]

Proof. The argument is the same as that of 1, now with one alarm \(\mathsf{diag}_a\) per agent, firing on the prefixes where \(K_a\Diamond^-f\) holds. The disjunction provides detection by at least one agent within \(D\) steps, monotonicity keeps that agent’s alarm on, and the no-false-alarm requirement rules out an alarm along a fault-free prefix. ◻

This formula uses several knowledge operators, but they are not nested. Hence decentralized diagnosis remains in our fragment \(\mathrm{KMTL}_1\).

Opacity

Let \(\mathit{sec}\in\mathsf{AP}\setminus\mathsf{AP}_a\) be an unobservable secret event. The standard trace view of opacity says that every secret observation prefix must also be compatible with a non-secret prefix [3]. For past-event opacity this becomes:

for every \(w\in L(\mathcal{M})\) and position \(i\), if \(w,i\models\Diamond^-\mathit{sec}\), then there exists \(w'\in L(\mathcal{M})\) with \((w,i)\sim_a(w',i)\) and \(w',i\not\models\Diamond^-\mathit{sec}\).

Lemma 3 (Opacity as lack of knowledge). System \(\mathcal{M}\) satisfies the trace condition above iff \[\mathcal{M}\models \Box\neg K_a\Diamond^-\mathit{sec}.\]

Proof. The proof is immediate: at a position with \(\Diamond^-\mathit{sec}\), the formula \(\neg K_a\Diamond^-\mathit{sec}\) states exactly the existence of an indistinguishable non-secret witness, and at a position without \(\Diamond^-\mathit{sec}\) it holds trivially, witnessed by the trace itself. ◻

The formula contains no metric operator. Recall that, over dense-time models with observable time stamps, however, the corresponding requirement is already undecidable by reduction from timed automaton universality [10], [11]. Discrete time is therefore an important restriction.

The formula \(\Box\neg K_a\Diamond^-\mathit{sec}\) prevents the observer from becoming certain that the secret occurred, but it does not prevent certainty that it did not occur. Two-sided opacity is expressed by \[\Box\neg\bigl(K_a\Diamond^-\mathit{sec}\vee K_a\neg\Diamond^-\mathit{sec}\bigr).\] For a confidential binary value encoded at the beginning of a run, this requires both values to remain compatible with the observations. Metric variants can restrict the protection requirement to a bounded window.

Alternation depth one

The formulas above contain no nesting between different agents’ knowledge. They therefore belong to \(\mathrm{KMTL}_1\). The lower bound shows that adding past to this shallow epistemic fragment already yields \(\mathsf{EXPSPACE}\)-hardness.

4 EXPSPACE Lower Bound↩︎

We reduce from exponential-width corridor tiling. An instance asks for a tiling of a grid of width \(2^m\) and arbitrary finite height, with matching horizontal and vertical colors and prescribed corner tiles. The model emits the grid in row-major order, from the bottom row upward. Each cell is represented by a block containing an \(m\)-bit column counter and a tile. After the last row, the trace enters a terminal \(\#^\omega\) loop. A single agent \(a\) observes all propositions except two auxiliary tags. See Figure 1 for an illustration.

The counter, corner constraints, and horizontal compatibility are checked on the visible trace by a polynomial-size formula. Vertical compatibility is the only condition involving cells separated by an entire row. Their distance is \(2^m\) cells, so expanding this distance with next operators would require an exponential-size formula, and a metric operator does not provide the direct comparison either (cf.Remark [rem:metric-free]).

We check vertical compatibility with one knowledge operator. Two propositions \(\mathsf{L}\) and \(\mathsf{U}\) are hidden from \(a\) and may each mark at most one cell start. A placement with \(\mathsf{L}\) on a cell and \(\mathsf{U}\) on the cell in the next row selects a vertical edge. At the first \(\#\)-position, all placements over the same visible prefix are indistinguishable to \(a\). Thus \(K_a\) quantifies over every candidate placement. A bad vertical edge yields an indistinguishable placement for which the test fails. Past operators compare the counter at the \(\mathsf{L}\)-cell with later cells: the first later occurrence of the same counter is the cell in the next row. Figure 1 shows the construction.

Figure 1: Hidden-tag test on a row-major trace. The column counter cyclesthrough 0,\dots,2^m\!-\!1 in each row, so the next cell with the same counteris in the next row. The hidden tags \mathsf{L} and \mathsf{U} select a candidate verticaledge. At the first \#-position, knowledge quantifies over all tag placements,where \mathsf{Pair} identifies actual vertical edges and \mathsf{Good} checks their colors.

We state the reduction here and give the formulas and their semantic proofs in Appendix 7. The source problem is the standard exponential-width corridor-tiling problem (cf. [20]). An instance \[\mathcal{T}=(C,T,m,d_{\mathsf{init}},d_{\mathsf{final}})\] is given by a finite color set \(C\), a set \(T\subseteq C^4\) of tiles, each with a bottom, left, top, and right color, a width parameter \(m\ge 1\) in unary, and two corner dominoes \(d_{\mathsf{init}},d_{\mathsf{final}}\in T\). It asks for a height \(n\ge 1\) and a tiling of \(\{0,\ldots,2^m-1\}\times\{0,\ldots,n-1\}\) by dominoes from \(T\) so that adjacent tiles agree on the color of their shared edge, the bottom-left tile is \(d_{\mathsf{init}}\), and the top-right tile is \(d_{\mathsf{final}}\). Since \(m\) is in unary, the width \(2^m\) is exponential in the size of \(\mathcal{T}\), and the problem is \(\mathsf{EXPSPACE}\)-complete. The structure follows the tiling reduction of [20]. Their forgettable-past operator is used to compare cells in adjacent rows, whereas our reduction instead uses hidden tags quantified by knowledge.

For such an instance we build a polynomial-size tagged Büchi automaton \(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}\) in which all states are accepting. Its visible propositions are the counter bits, the domino propositions, the terminal marker \(\#\), and a marker \(\mathsf{End}\) that flags the first \(\#\)-position. The only invisible propositions are \(\mathsf{L}\) and \(\mathsf{U}\). The system ensures that the visible trace is a sequence of complete cell blocks followed, when it stops, by \(\#^\omega\), that \(\mathsf{End}\) holds exactly at the first \(\#\), and that each hidden tag occurs at most once and only at a cell start. Apart from those regular restrictions, the tags can be assigned arbitrarily.

The reduction formula is \[\Phi_{\mathcal{T}}:= \Phi_{\mathsf{base}}\wedge\Diamond(\mathsf{End}\wedge\Phi_{\mathsf{col}}), \qquad \Phi_{\mathsf{col}}:= K_a(\mathsf{Pair}\rightarrow\mathsf{Good}).\] The visible marker \(\mathsf{End}\) occurs at the first \(\#\)-position, where \(\Phi_{\mathsf{col}}\) is evaluated. The formula \(\Phi_{\mathsf{base}}\) checks the two corners, the modulo-\(2^m\) column counter, and horizontal compatibility. The formula \(\mathsf{Pair}\) holds when \(\mathsf{L}\) marks a cell and \(\mathsf{U}\) marks the first later cell with the same counter. Under \(\Phi_{\mathsf{base}}\), these cells are vertical neighbors. The formula \(\mathsf{Good}\) checks their tile colors. All formulas have size polynomial in \(m+|T|\), and their definitions are given in Appendix 7.

Lemma 4 (Hidden-tag column test). Let \(w\in L(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}})\) such that \(w,1\models\Phi_{\mathsf{base}}\), and let \(e\) be the first \(\#\)-position. Then \[w,e\models K_a(\mathsf{Pair}\rightarrow\mathsf{Good})\] iff all vertical neighbors in the visible grid prefix of \(w\) are compatible.

Proof sketch. If some vertical edge is bad, place \(\mathsf{L}\) on its lower endpoint and \(\mathsf{U}\) on its upper endpoint. This changes only invisible propositions, so the resulting word is indistinguishable for \(a\) at \(e\). In that word \(\mathsf{Pair}\) holds and \(\mathsf{Good}\) fails, hence \(K_a(\mathsf{Pair}\rightarrow\mathsf{Good})\) is false. Conversely, if all vertical edges are good, then every indistinguishable word differs only by the hidden tag placement. Whenever its tags satisfy \(\mathsf{Pair}\), they select a real vertical edge, and that edge satisfies \(\mathsf{Good}\). ◻

Theorem 1 (Reduction correctness). The tiling instance \(\mathcal{T}\) has a valid tiling of width \(2^m\) and some height \(n\ge 1\) iff there exists \(w\in L(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}})\) such that \[w,1\models_{\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}}\Phi_{\mathcal{T}}.\]

Proof sketch. If a valid tiling exists, encode it row by row, followed by \(\#^\omega\), and choose any legal hidden tag placement. The visible part satisfies \(\Phi_{\mathsf{base}}\). All vertical adjacencies are compatible, so Lemma 4 gives \(\Phi_{\mathsf{col}}=K_a(\mathsf{Pair}\rightarrow\mathsf{Good})\) at the first \(\#\)-position. Conversely, if some trace satisfies \(\Phi_{\mathcal{T}}\), then \(\Phi_{\mathsf{base}}\) extracts a row-major grid with the right corners and all horizontal constraints, while Lemma 4 provides all vertical constraints. Thus the visible prefix before the first \(\#\)-position is a valid tiling. ◻

Theorem 2 (\(\mathsf{EXPSPACE}\)-hardness). Model checking for \(\mathrm{KMTL}_1\) over finite Büchi automata under synchronous perfect-recall knowledge is \(\mathsf{EXPSPACE}\)-hard. The lower bound already holds when all states of the automaton are accepting and the formula has one agent, one occurrence of \(K_a\), all past operators inside the scope of \(K_a\), and only the unbounded interval \(\mathbb{N}\).

Proof. The construction \(\mathcal{T}\mapsto\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}\) is polynomial in the size of the tiling instance. The formula \(\Phi_{\mathcal{T}}\) has size polynomial in \(m+|T|\): all iterations \(X^k\) satisfy \(k\le m+1\), the same-column test has \(m\) conjuncts, and \(\mathsf{Good}\) has at most \(|T|^2\) disjuncts.

By Theorem 1, \(\mathcal{T}\) has a valid tiling iff there is some trace satisfying \(\Phi_{\mathcal{T}}\). Therefore, for the model-checking problem, \[\mathcal{T}\text{ is positive} \quad\Longleftrightarrow\quad \mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}\not\models \neg\Phi_{\mathcal{T}}.\] Since the source tiling problem is \(\mathsf{EXPSPACE}\)-complete and \(\mathsf{EXPSPACE}\) is closed under complement, model checking is \(\mathsf{EXPSPACE}\)-hard. ◻

The formula also satisfies the syntactic restriction stated in 2: all past operators occur inside the sole \(K_a\). The evaluation point is marked by \(\mathsf{End}\) rather than by a past modality.

With standard metric until, a binary constant for the distance between two vertically adjacent cell blocks would allow a direct comparison. Strict first-time semantics does not provide such random access: a formula \(\Diamond_{[k,k]}\psi\) also requires the position at distance \(k\) to be the first future \(\psi\)-position. Accordingly, the direct exact-distance encoding is unavailable. This is consistent with the \(\mathsf{PSPACE}\) upper bound for satisfiability of the knowledge-free strict first-time fragment [12]. Our reduction uses past and knowledge instead of positive metric constants.

5 EXPSPACE Upper Bound↩︎

The future-only strict first-time metric logic has a \(\mathsf{PSPACE}\) satisfiability procedure based on exponential-size temporal automata [12]. We extend this construction with forward-propagated counters for past operators. Since the target bound is exponential space, it is enough to obtain exponential-size pointed automata whose local predicates are testable in polynomial space.

Let \(\theta\) be knowledge-free. The automaton \(A_\theta\) stores one counter for each metric scheme, namely a metric subformula with its finite bound replaced by a placeholder (Definition 9). A scheme is future or past according to whether it comes from an until or a since operator, and upper-bound or lower-bound according to whether its interval bounds the distance to the witness from above or from below. Under strict first-time semantics, all concrete bounds for the same scheme are determined by one witness distance. Each counter uses \(O(\log B)\) bits, where \(B\) is the largest finite bound, and there are polynomially many schemes. Lower-bound and unbounded future obligations are handled by a generalized Büchi condition, which is then converted into an ordinary Büchi condition. Appendix 8 gives the construction.

After reading \(w_{\le i}\), the automaton state contains the temporal information relevant at position \(i\). A set \(C_\theta\) marks the states in which \(\theta\) holds. Since \(A_\theta\) is nondeterministic, truth at a pointed word is characterized by an accepting run whose state at the distinguished position belongs to \(C_\theta\).

Past operators

For a past scheme \(\gamma\) with arguments \(\varphi\) and \(\psi\), write \(c_i(\gamma)\) for its counter after reading position \(i\). It records the capped distance from position \(i\) back to the most recent \(\psi\)-position, provided that \(\varphi\wedge\neg\psi\) holds at every intervening position. At position \(1\), the counter is \(0\) if \(\psi\) holds and \(\bot\) otherwise. For \(i\ge 1\), \[c_{i+1}(\gamma)= \begin{cases} 0 & \text{if }\psi\text{ holds at position }i+1,\\ c_i(\gamma)\oplus_\gamma 1 & \text{if }\varphi\wedge\neg\psi\text{ holds at position }i+1,\\ \bot & \text{otherwise}, \end{cases}\] where \(z\oplus_\gamma 1\) is the increment of \(z\) capped so as never to exceed the largest finite bound \(B\), with \(\bot\oplus_\gamma 1=\bot\). For an upper-bound scheme it becomes \(\bot\) once the distance exceeds \(B\), in which case \(\bot\) represents either the absence of a witness or a witness beyond every relevant upper bound. For a lower-bound scheme it saturates at \(B\).

Unlike a future counter, a past counter is determined by the prefix already read. Its value is fixed at position \(1\) and propagated forward, so past schemes need no fairness condition. The Büchi condition is used only for future lower-bound schemes, where it rules out runs that keep an obligation active forever without reaching its witness.

Counting per scheme rather than per interval bound is the essential step in building the automaton. For future operators, this counting is due to [12]. We extend it to past operators, which the applications require and which their future-only construction does not cover. The extension keeps \(A_\theta\) exponential in size and its local tests in polynomial space, as stated in the following lemma.

Lemma 5 (Pointed Büchi automata for the knowledge-free fragment). Let \(\mathsf{AP}'\) be a finite set of propositions and let \(\theta\) be a knowledge-free KMTL formula over \(\mathsf{AP}'\) with syntactically represented, binary-encoded metric intervals. There is a Büchi automaton \[A_\theta=(S_\theta,S_{0,\theta},\delta_\theta,F_\theta)\] over \(2^{\mathsf{AP}'}\), together with a set \(C_\theta\subseteq S_\theta\), such that:

(i) \(|S_\theta|\le 2^{\mathsf{poly}(|\theta|)}\) for a fixed polynomial \(\mathsf{poly}\). States and the predicates for initial, transition, accepting, and marked states are representable and testable in space polynomial in \(|\theta|+|\mathsf{AP}'|\).

(ii) For every \(w\in(2^{\mathsf{AP}'})^\omega\) and every \(i\ge1\), \[w,i\models\theta \quad\Longleftrightarrow\quad \begin{array}{l} \text{some accepting run }s_0s_1s_2\ldots\text{ of }A_\theta \text{ over }w\\ \text{satisfies }s_i\in C_\theta. \end{array}\]

The marked state alone does not ensure that the model and the test automaton have compatible accepting continuations. Fix a model \(\mathcal{M}=(Q,Q_0,\Delta,F_\mathcal{M})\) over \(2^{\mathsf{AP}}\) and a knowledge-free \(\theta\) over \(\mathsf{AP}\), so that Lemma 5 applies with \(\mathsf{AP}'=\mathsf{AP}\). Define \(\mathsf{Live}^\mathcal{M}_\theta\subseteq Q\times S_\theta\) by letting \((q,s)\in\mathsf{Live}^\mathcal{M}_\theta\) if \(s\in C_\theta\) and the product from \((q,s)\) has an infinite path that visits both acceptance components infinitely often. Its transitions are \((q,s)\to(q',s')\) whenever some \(\sigma\in2^{\mathsf{AP}}\) satisfies \((q,\sigma,q')\in\Delta\) and \((s,\sigma,s')\in\delta_\theta\). Membership is a generalized Büchi nonemptiness test in the exponential product. Each product state has polynomial size and the transition relation is polynomial-space testable, so the test runs in polynomial space.

Consequently, a run prefix \[q_0\xrightarrow{\sigma_1}q_1\cdots \xrightarrow{\sigma_i}q_i\] of \(\mathcal{M}\) extends to an accepted word satisfying \(\theta\) at position \(i\) iff \(A_\theta\) has a run on \(\sigma_1\ldots\sigma_i\) ending in some \(s\) with \((q_i,s)\in\mathsf{Live}^\mathcal{M}_\theta\). For formulas with past, the state \(s\) contains information about the prefix that cannot be recovered from \(q_i\).

Example 2 (Why system states do not suffice). Let \(\mathsf{AP}=\{p\}\) and let \(p\) be invisible to agent \(a\), so \(\mathsf{AP}_a=\emptyset\). Consider a model with two initial branches \[q_0\xrightarrow{\{p\}}q_1\xrightarrow{\emptyset}q, \qquad q'_0\xrightarrow{\emptyset}q'_1\xrightarrow{\emptyset}q,\] followed in both cases by the loop \(q\xrightarrow{\emptyset}q\). All states are accepting. After two letters, the two runs have the same observation history and end in the same state \(q\). Nevertheless, \(\Diamond^-p\) is true on the first run and false on the second.

An observer represented only by a set of model states maps both histories to the information set \(\{q\}\), thereby losing the distinction needed to evaluate \(K_a\Diamond^-p\). In the product observer, the two histories reach different states of the temporal test automaton. Its information set contains two pairs \[(q,s_{\mathsf{seen}}) \quad\text{and}\quad (q,s_{\mathsf{unseen}}),\] where the second components record whether \(p\) occurred earlier. This is why the observers will use subsets of \(Q\times S_{\neg\Diamond^-p}\) rather than of \(Q\).

Epistemic observers

First consider \(K_a\psi\) with knowledge-free \(\psi\), and put \(\chi=\neg\psi\). For a realized observation prefix \(u\in(2^{\mathsf{AP}_a})^+\), define \[O_{a,\psi}(u)\subseteq Q\times S_\chi\] as the set of pairs reachable by a run prefix of \(\mathcal{M}\) with observation \(u\) and a simultaneous run prefix of \(A_\chi\) on the same model letters (Definition 14 in the appendix). This is the perfect-recall information set over \(Q\times S_\chi\), rather than over \(Q\) alone. The temporal component distinguishes histories that reach the same model state but differ on past formulas. The set is updated incrementally by a subset construction (Lemma 14).

For \(w\in L(\mathcal{M})\), \(i\ge1\), and \(u=\mathsf{obs}_a(w_{\le i})\), the knowledge test is \[w,i\models_\mathcal{M}K_a\psi \quad\Longleftrightarrow\quad O_{a,\psi}(u)\cap\mathsf{Live}^\mathcal{M}_\chi=\emptyset\] (see Lemma 15 in the appendix). A pair in the intersection represents an indistinguishable prefix with an accepting continuation on which \(\neg\psi\) holds at position \(i\).

Same-agent blocks

Our fragment \(\mathrm{KMTL}_1\) excludes nesting between different agents, but permits repeated nesting for the same agent. For fixed \(a\), the truth of \(K_a\xi\) is invariant on an \(a\)-observation class: \[(w,i)\sim_a(w',i) \quad\Longrightarrow\quad \bigl(w,i\models_\mathcal{M}K_a\xi\iff w',i\models_\mathcal{M}K_a\xi\bigr).\] We therefore process an \(a\)-local block from the inside out. For a knowledge block \(\eta=K_a\psi\), let \(\widehat\psi\) be the formula obtained by replacing the immediate inner knowledge subformulas by fresh propositions. Their valuations depend only on the current observation prefix, and \(\widehat\psi\) is knowledge-free over the extended proposition set. The counterexample automaton for \(\eta\) is built for \(\chi_\eta:=\neg\widehat\psi\) and reads each model letter together with the values of these fresh propositions provided by the inner observers.

Relative liveness

The preceding observer handles the prefix up to the current position. If \(\widehat\psi\) contains an inner knowledge proposition below a future operator, its value is also needed along a possible counterexample continuation. That value depends on the continuation of the observation history, not only on the pair \((q,s)\).

For this reason, the liveness graph for \(\eta=K_a\psi\) uses configurations \((q,s,\mathcal{I})\), where \(\mathcal{I}\) contains the observers for every knowledge subformula strictly inside \(\psi\). All nesting levels are retained because an observer can be updated only after the observers inside its own body have provided their current truth values. A transition chooses a model letter \(\tau\), advances \(q\), and updates \(\mathcal{I}\) on \(\mathsf{obs}_a(\tau)\) from the innermost observer outward. The updated tuple \(\mathcal{I}'\) determines the valuation \(\kappa_{\mathcal{I}'}\) of the immediate inner propositions read by \(A_{\chi_\eta}\). We write \[\mathsf{Live}^\mathcal{M}_{a,\psi}(q,s,\mathcal{I})\] when the resulting graph has a continuation from \((q,s,\mathcal{I})\) that is accepting in both \(\mathcal{M}\) and \(A_{\chi_\eta}\). At every future position, the inner valuation is shared by exactly the runs with the same extended observation prefix. If \(\psi\) contains no knowledge subformula, \(\mathcal{I}\) is empty and the definition reduces to \(\mathsf{Live}^\mathcal{M}_{\chi_\eta}(q,s)\). Formal definitions and correctness are given in Appendix 8.

Example 3 (Two inner observers). Consider \[\Box\, \underbrace{K_a\bigl(\Diamond\, \underbrace{K_a(r \wedge \Diamond\, \underbrace{K_a p}_{x_2})}_{x_1}\bigr)}_{x_0}.\] Introduce fresh propositions from the innermost block outward: \[x_0 := K_a(\Diamond\, x_1), \qquad x_1 := K_a(r \wedge \Diamond\, x_2), \qquad x_2 := K_a p,\] leaving the knowledge-free top formula \(\theta_{\mathsf{top}}=\Box\,x_0\). To evaluate \(x_0\), write \(x_0=K_a\widehat\psi\) with \(\widehat\psi=\Diamond x_1\). An indistinguishable counterexample is recognized by \(A_{\chi}\) for \(\chi=\neg\widehat\psi\equiv\Box\neg x_1\). As it moves forward, this automaton needs the value of \(x_1\) at every position, while \(x_1=K_a(r\wedge\Diamond x_2)\) in turn depends on \(x_2\). Hence the relative liveness state for the outer block carries both inner observers: \[\mathcal{I}(u)= \bigl(O_{a,\;r\wedge\Diamond x_2}(u),\;O_{a,p}(u)\bigr).\] Here \(O_{a,p}(u)\subseteq Q\times S_{\neg p}\) decides \(x_2\), while \(O_{a,\;r\wedge\Diamond x_2}(u)\subseteq Q\times S_{\neg(r\wedge\Diamond x_2)}\) decides \(x_1\). A configuration of the relative-liveness graph for \(x_0\) is \((q,s,\mathcal{I})\), where \(s\) is a state of \(A_\chi\). One future step on a letter \(\tau\) proceeds from the innermost block outward:

(1) advance \(O_{a,p}\) on \(\mathsf{obs}_a(\tau)\) and determine \(x_2\).

(2) advance \(O_{a,\;r\wedge\Diamond x_2}\) on the letter enriched with the new value of \(x_2\), and determine \(x_1\).

(3) feed \(A_\chi\) the letter enriched with the new value of \(x_1\).

Thus \(O_{a,\;r\wedge\Diamond x_2}\) cannot be advanced unless \(O_{a,p}\) has already supplied \(x_2\). The resulting value of \(x_1\) is then read by the counterexample automaton used to decide \(x_0\).

We refute \(\mathcal{M}\models\varphi\) by searching for a word satisfying \(\neg\varphi\). Replace every maximal knowledge subformula \(\eta\) of \(\neg\varphi\) by a fresh proposition \(p_\eta\), obtaining the knowledge-free formula \(\theta_{\mathsf{top}}\). A global configuration is \[(q,t,\mathcal{O}),\] where \(q\in Q\), \(t\in S_{\theta_{\mathsf{top}}}\), and \(\mathcal{O}\) contains the observer sets for all knowledge subformulas, including nonmaximal descendants, which are needed to evaluate the maximal blocks. The knowledge tests compute from \(\mathcal{O}\) a valuation \(\kappa_{\mathcal{O}}\) of the fresh propositions. For a block \(\eta=K_a\psi\), the proposition \(p_\eta\) is true exactly when its observer contains no pair \((q,s)\) satisfying \(\mathsf{Live}^\mathcal{M}_{a,\psi}(q,s,\mathcal{I})\), where \(\mathcal{I}\) is the tuple of strictly inner observers.

An initial configuration chooses a first model transition \((q_0,\sigma,q)\in\Delta\) with \(q_0\in Q_0\). The observers are initialized on \(\sigma\) from the innermost blocks outward, yielding \(\kappa_{\mathcal{O}}\). We then choose the first state \(t\) of the top automaton so that \[(t_0,\sigma\cup\kappa_{\mathcal{O}},t) \in\delta_{\theta_{\mathsf{top}}}\] for some \(t_0\in S_{0,\theta_{\mathsf{top}}}\), with \(t\in C_{\theta_{\mathsf{top}}}\). A successor chooses \((q,\sigma',q')\in\Delta\), updates all observers on \(\sigma'\) to \(\mathcal{O}'\), computes \(\kappa_{\mathcal{O}'}\), and takes a transition \[(t,\sigma'\cup\kappa_{\mathcal{O}'},t') \in\delta_{\theta_{\mathsf{top}}}.\] The global acceptance condition requires both the model component and the top automaton component to be accepting. Acceptance conditions of inner temporal automata are checked only inside the relative liveness predicates.

The next lemma relates the three components of a global run.

Lemma 6 (Global run invariant). Let an accepting run of the global product follow \(w=\sigma_1\sigma_2\ldots\in L(\mathcal{M})\), and write \((q_i,t_i,\mathcal{O}_i)\) for its configuration after reading \(w_{\le i}\). For every \(i\ge1\):

(i) \(q_i\) is the endpoint of the selected run prefix of \(\mathcal{M}\) on \(w_{\le i}\).

(ii) for every knowledge block \(\eta=K_a\psi\), the corresponding component of \(\mathcal{O}_i\) is \[O_{a,\psi}\bigl(\mathsf{obs}_a(w_{\le i})\bigr).\]

(iii) for every fresh proposition \(p_\eta\) occurring in \(\theta_{\mathsf{top}}\), \[p_\eta\in\kappa_{\mathcal{O}_i} \quad\Longleftrightarrow\quad w,i\models_\mathcal{M}\eta.\]

(iv) \(t_i\) is reachable in \(A_{\theta_{\mathsf{top}}}\) after reading the enriched prefix \[(\sigma_1\cup\kappa_{\mathcal{O}_1})\ldots (\sigma_i\cup\kappa_{\mathcal{O}_i}).\]

Proof. Items (i), (ii), and (iv) follow by induction on \(i\). The model component is updated by the chosen transition of \(\mathcal{M}\), each observer component by the incremental subset construction, and the top component reads the letter enriched with the newly computed valuation.

For item (iii), the induction is on the nesting depth of \(\eta\). When \(\eta\) has no inner knowledge, this is Lemma 15 (in the appendix) with an empty inner tuple. Otherwise, the induction hypothesis gives the correct values of all strictly inner knowledge propositions, so the relative liveness test feeds the counterexample automaton exactly the enriched continuation that the semantics requires. Lemma 15 (appendix) then yields the stated equivalence for \(\eta\). ◻

By item (iii), at every position the enriched word read by the top automaton carries the correct truth values of the knowledge subformulas that were replaced. An induction on the structure of \(\neg\varphi\) therefore shows that the enriched word satisfies \(\theta_{\mathsf{top}}\) at position \(1\) iff \(w,1\models_\mathcal{M}\neg\varphi\). Together with item (iv) and Lemma 5, this shows that the global product is nonempty exactly when some \(w\in L(\mathcal{M})\) satisfies \(w,1\models_\mathcal{M}\neg\varphi\).

Theorem 3 (\(\mathsf{EXPSPACE}\) upper bound). Model checking for \(\mathrm{KMTL}_1\) over Büchi automata, with past and binary-encoded metric intervals, is in \(\mathsf{EXPSPACE}\).

Proof. Let \(n\) be the size of the model and formula. We construct a pointed automaton for \(\theta_{\mathsf{top}}\) and for the abstracted counterexample body of every knowledge subformula. There are linearly many such formulas. By Lemma 5, every automaton has at most \(2^{\mathsf{poly}(n)}\) states, and one state and all local predicates use polynomial space.

An observer is a subset of \(Q\times S_\theta\) and can therefore be represented by a bit vector of length at most \(2^{\mathsf{poly}(n)}\). Since the number of knowledge subformulas is linear, a global configuration uses exponential space.

Successors of a global configuration are generated in exponential space. The procedure chooses the next model transition, updates the observer bit vectors, and computes the fresh knowledge propositions. To evaluate one such proposition, it scans the corresponding observer and tests relative liveness for each candidate pair. A relative-liveness configuration \((q,s,\mathcal{I})\) also has an exponential-space representation. Its successor procedure updates the inner observers and may call only liveness tests for strictly smaller knowledge blocks. The recursion depth is at most linear, so the entire test remains in exponential space.

The implicit global graph consequently has at most \(2^{2^{\mathsf{poly}(n)}}\) configurations and an exponential-space successor procedure. Nonemptiness is checked by guessing a lasso through the two Büchi acceptance components. Only a constant number of configurations and a path-length counter of exponentially many bits are stored. This yields a nondeterministic exponential-space procedure, which lies in deterministic \(\mathsf{EXPSPACE}\) by Savitch’s theorem [23]. By Lemma 16 in the appendix, the global product is nonempty exactly when some \(w\in L(\mathcal{M})\) satisfies \(\neg\varphi\) at position \(1\), so \(\mathcal{M}\models\varphi\) holds iff the product is empty. Since \(\mathsf{EXPSPACE}\) is closed under complement, model checking is in \(\mathsf{EXPSPACE}\). ◻

Corollary 1 (Main complexity theorem). Model checking for \(\mathrm{KMTL}_1\) over Büchi automata, with past and binary-encoded metric intervals, is \(\mathsf{EXPSPACE}\)-complete.

Proof. The lower bound is Theorem 2. The upper bound is Theorem 3. ◻

Table 1 situates this result among related logics. For the knowledge-free metric fragment, satisfiability is \(\mathsf{PSPACE}\)-complete [12], and the model-checking result follows using the standard product construction.

Table 1: Model checking for \(\KMTLone\) and neighboring fragments. The last rowis the result of this paper.
Logic Problem Complexity
Epistemic LTL, future, perfect recall, unrestricted alternation [14] model checking nonelementary
Epistemic LTL, future, perfect recall, alternation depth one [14] model checking -complete
Metric temporal logic, future, strict first-time, no knowledge [12] satisfiability, model checking -complete
LTL with past and a forgettable-past operator [20] satisfiability, model checking -complete
\(\KMTLone\): past, metric intervals, perfect recall, alternation depth one model checking -complete

6 Discussion and Conclusion↩︎

In diagnosis and opacity, information sets over system states are insufficient: they cannot distinguish observation-equivalent histories with different pasts. We therefore let observers range over pairs of system states and temporal automaton states.

The lower bound uses one agent, one knowledge occurrence, and only the unbounded interval \(\mathbb{N}\), so metric constants are not the source of hardness. Under standard, non-first-time metric operators the knowledge-free fragment is already \(\mathsf{EXPSPACE}\)-complete [13], and we conjecture the full problem to be \(2\)-\(\mathsf{EXPSPACE}\)-complete.

Monitorability suggests a separate, apparently harder problem: after every reachable observation prefix, is there a finite continuation forcing a definitive verdict? Over dense time it is undecidable for nondeterministic timed-automaton specifications [24], and its discrete-time complexity is open.

7 Lower-Bound Details↩︎

We give the formulas used in 4 and prove the properties claimed there. Fix a tiling instance \[\mathcal{T}=(C,T,m,d_{\mathsf{init}},d_{\mathsf{final}}),\] where \(T\subseteq C^4\) and \(m\ge 1\). For \(d\in T\), write \(d_{\mathsf{down}},d_{\mathsf{left}},d_{\mathsf{up}},d_{\mathsf{right}}\) for its four colors.

7.1 Visible Grid Encodings↩︎

Let \[\mathsf{Main}=\{b_i^+,b_i^-\mid 1\le i\le m\}\cup T\cup\{\#,\mathsf{End}\}\] be a set of propositions. The visible proposition \(\mathsf{End}\) marks the first \(\#\)-position. A cell is represented by a block of length \(m+1\): \[\{b_1^{\pm}\}\;\{b_2^{\pm}\}\;\ldots\;\{b_m^{\pm}\}\;\{d\}.\] At position \(i\) of the block, exactly one of \(b_i^+\) and \(b_i^-\) is visible, and the last position carries exactly one tile proposition \(d\in T\). The least significant bit is \(b_1\). Encoding one bit per position keeps the number of propositions, and hence the automaton constructed below, polynomial in \(m+|T|\).

The visible part of a finite grid is listed row by row, from left to right and from the bottom row upwards. It is followed by \(\#^\omega\). At a cell-start position, put \[\mathsf{Cell}:= b_1^+\vee b_1^-.\] For \(1\le r\le m\) and \(d\in T\), define \[\mathsf{Bit}_r^+ := X^{r-1}b_r^+, \qquad \mathsf{Bit}_r^- := X^{r-1}b_r^-, \qquad \mathsf{Tile}_d := X^m d.\] Evaluated at a cell start, \(\mathsf{Bit}_r^\pm\) and \(\mathsf{Tile}_d\) thus refer to the \(r\)-th counter bit and the tile of that cell. Finally, let \[\mathsf{Zero}:= \bigwedge_{r=1}^m \mathsf{Bit}_r^-, \qquad \mathsf{Max}:= \bigwedge_{r=1}^m \mathsf{Bit}_r^+.\]

7.2 The Tagged System↩︎

We now extend the set of propositions with the two hidden tags: \[\mathsf{AP}_{\mathcal{T}}=\mathsf{Main}\cup\{\mathsf{L},\mathsf{U}\}.\] There is one agent \(a\), with \[\mathsf{AP}_a=\mathsf{Main}.\] Hence \(a\) observes the complete grid encoding but not the tags.

Definition 7 (Tagged automaton). The tagged model \(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}\) is a Büchi automaton over \(2^{\mathsf{AP}_{\mathcal{T}}}\) with all states accepting, specified by the regular language it recognizes: the infinite words satisfying the following conditions:

(a) The word either consists of an infinite sequence of complete cell blocks, or of a finite sequence of complete cell blocks followed by the terminal segment described in (b).

(b) Within a cell block, the visible letters have the form specified above. At the first position of the terminal loop, the visible letter is \(\{\#,\mathsf{End}\}\), and at every later position it is \(\{\#\}\).

(c) Neither tag occurs at a \(\#\)-position.

(d) Each of \(\mathsf{L}\) and \(\mathsf{U}\) occurs at most once, and only at a cell-start position.

To recognize this language, \(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}\) needs only to record the position within a cell block, whether the terminal loop has started, and whether each tag has already occurred, so it has polynomially many states. Its transition relation is polynomial as well. Although the alphabet \(2^{\mathsf{AP}_{\mathcal{T}}}\) is exponential, the encoding of one bit per position enables at each state only the \(O(|T|)\) letters that carry a single counter bit or a single tile, together with one of the constantly many admissible tag placements. Every other letter has no outgoing transition and is rejected, so \(\delta\) is never enumerated over the full alphabet. Hence \(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}\) has size polynomial in \(m+|T|\). Traces containing no \(\#\)-position are allowed, but cannot satisfy the eventual \(\mathsf{End}\)-requirement in \(\Phi_{\mathcal{T}}\).

Lemma 7 (Tag completeness). Let \(w\in L(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}})\), let \(e\) be its first \(\#\)-position, and let \(c,c'<e\) be cell-start positions. There is a word \(w'\in L(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}})\) with the same visible projection as \(w\) such that \(\mathsf{L}\) occurs exactly at \(c\), \(\mathsf{U}\) occurs exactly at \(c'\), and \[(w,e)\sim_a(w',e).\]

Proof. Keep the projection to \(\mathsf{Main}\) unchanged and place \(\mathsf{L}\) at \(c\) and \(\mathsf{U}\) at \(c'\). Since the language consists of all words satisfying conditions (a)–(d), and this placement respects (c) and (d), the resulting \(w'\) is accepted. As neither tag is visible to \(a\), the observation prefixes of \(w\) and \(w'\) up to position \(e\) coincide. ◻

7.3 The Base Formula↩︎

The base formula checks the visible constraints that do not compare adjacent rows. For \(1\le r\le m\), let \[\mathsf{Carry}_r := \bigwedge_{s<r}\mathsf{Bit}_s^+,\] where \(\mathsf{Carry}_1=\top\), and put \[\mathsf{NextCell}(\varphi):=X^{m+1}\varphi.\] Define \[\mathsf{Inc}:= \bigwedge_{r=1}^m \left( \bigl(\mathsf{Carry}_r\rightarrow (\mathsf{NextCell}(\mathsf{Bit}_r^+)\leftrightarrow \mathsf{Bit}_r^-)\bigr) \wedge \bigl(\neg\mathsf{Carry}_r\rightarrow (\mathsf{NextCell}(\mathsf{Bit}_r^+)\leftrightarrow \mathsf{Bit}_r^+)\bigr) \right).\] At a cell start, \(\mathsf{Inc}\) states that the counter in the next cell is the current counter plus one modulo \(2^m\).

Horizontal compatibility is expressed by \[\mathsf{Horiz}:= \Box\left( \mathsf{Cell}\wedge\neg\mathsf{Max} \rightarrow \bigwedge_{d\in T} \left( \mathsf{Tile}_d\rightarrow \bigvee_{\substack{d'\in T\\ d_{\mathsf{right}}=d'_{\mathsf{left}}}} \mathsf{NextCell}(\mathsf{Tile}_{d'}) \right) \right).\] Now let \[\Phi_{\mathsf{base}}:= (\mathsf{Cell}\wedge\mathsf{Zero}\wedge\mathsf{Tile}_{d_{\mathsf{init}}}) \wedge \Diamond(\mathsf{Cell}\wedge\mathsf{Max}\wedge\mathsf{Tile}_{d_{\mathsf{final}}} \wedge\mathsf{NextCell}(\mathsf{End}))\] \[\wedge\; \Box(\mathsf{Cell}\wedge\mathsf{NextCell}(\neg\#)\rightarrow\mathsf{Inc}) \wedge \mathsf{Horiz}.\]

Lemma 8 (Meaning of the base formula). Let \(w\in L(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}})\). Then \(w,1\models_{\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}}\Phi_{\mathsf{base}}\) iff \(w\) has a first \(\#\)-position and the visible prefix before it is a nonempty sequence of complete rows of width \(2^m\), listed in row-major order, such that:

(i) its first cell has counter \(0\) and tile \(d_{\mathsf{init}}\),

(ii) its last cell has counter \(2^m-1\) and tile \(d_{\mathsf{final}}\), and

(iii) horizontally adjacent tiles have matching colors.

Proof. The first conjunct of \(\Phi_{\mathsf{base}}\) fixes the first counter and tile. Before the terminal loop, the increment conjunct forces each successive cell counter to increase by one modulo \(2^m\). The conjunct containing \(\mathsf{End}\) requires the terminal loop to begin immediately after a cell with counter \(2^m-1\) and tile \(d_{\mathsf{final}}\). The number of cells before the loop is therefore a positive multiple of \(2^m\), and these cells form complete rows. Finally, \(\mathsf{Horiz}\) checks precisely the edges between consecutive columns, but it does not compare the last cell of one row with the first cell of the next. The converse follows by evaluating the four conjuncts on any prefix with the stated properties. ◻

7.4 The Hidden-Tag Column Check↩︎

The vertical test is evaluated at the first \(\#\)-position. At a cell start, the following formula compares the current counter with that of the \(\mathsf{L}\)-marked cell: \[\mathsf{SameL}:= \mathsf{Cell}\wedge \Diamond^{-}(\mathsf{L}\wedge\mathsf{Cell}) \wedge \bigwedge_{r=1}^m \left( \mathsf{Bit}_r^+ \leftrightarrow \Diamond^{-}(\mathsf{L}\wedge\mathsf{Cell}\wedge\mathsf{Bit}_r^+) \right).\] Define \[\mathsf{Pair}:= \Diamond^{-} \left( \mathsf{L}\wedge\mathsf{Cell} \wedge \mathsf{NextCell} \left( (\neg \#\wedge\neg\mathsf{SameL}) \,U^1_{\mathbb{N}}\, (\mathsf{U}\wedge\mathsf{Cell}\wedge\mathsf{SameL}) \right) \right).\] In the left-hand argument, \(\neg\mathsf{SameL}\) fails at any earlier cell that shares the counter of the \(\mathsf{L}\)-cell. Consequently, \(\mathsf{Pair}\) holds exactly when \(\mathsf{U}\) marks the first later cell whose counter agrees with that of the \(\mathsf{L}\)-cell.

Vertical color compatibility is expressed by \[\mathsf{Good}:= \Diamond^{-} \left( \mathsf{U}\wedge\mathsf{Cell} \wedge \bigvee_{\substack{d,d'\in T\\ d_{\mathsf{up}}=d'_{\mathsf{down}}}} \left( \mathsf{Tile}_{d'} \wedge \Diamond^{-}(\mathsf{L}\wedge\mathsf{Cell}\wedge\mathsf{Tile}_d) \right) \right).\] Finally, set \[\Phi_{\mathsf{col}}:= K_a(\mathsf{Pair}\rightarrow\mathsf{Good}), \qquad \Phi_{\mathcal{T}}:= \Phi_{\mathsf{base}}\wedge\Diamond(\mathsf{End}\wedge\Phi_{\mathsf{col}}).\]

Lemma 9 (Same-column predicate). Suppose \(w\in L(\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}})\) has a unique \(\mathsf{L}\)-marked cell at position \(c\). For every cell-start position \(x\ge c\), \[w,x\models_{\mathcal{M}_{\mathcal{T}}^{\mathsf{tag}}}\mathsf{SameL}\] iff the cells at \(c\) and \(x\) carry the same counter.

Proof. For each \(r\), the formula \(\Diamond^{-}(\mathsf{L}\wedge\mathsf{Cell}\wedge\mathsf{Bit}_r^+)\) holds at \(x\) iff bit \(r\) of the unique \(\mathsf{L}\)-cell is \(1\). The \(r\)-th equivalence in \(\mathsf{SameL}\) therefore states that the two cells agree on bit \(r\). The initial \(\mathsf{Cell}\)-conjunct ensures that the formula is true only at cell starts. ◻

Lemma 10 (Pair selects vertical neighbors). Assume \(w,1\models\Phi_{\mathsf{base}}\), let \(e\) be the first \(\#\)-position, and suppose that \(\mathsf{L}\) and \(\mathsf{U}\) occur uniquely at cell starts \(c\) and \(c'\), respectively. Then \[w,e\models\mathsf{Pair}\] iff \(c'\) is the first cell start after \(c\) whose counter equals the counter at \(c\). Whenever such a cell exists, it is the cell directly above \(c\) in the next row.

Proof. Since \(\mathsf{L}\) occurs only at \(c\), the outer \(\Diamond^{-}\) can refer only to \(c\), and \(\mathsf{NextCell}\) moves to the start of the following cell. By Lemma 9, \(\mathsf{SameL}\) holds at a later cell start exactly when its counter equals that of the \(\mathsf{L}\)-cell. Before the first such cell, the left-hand argument \(\neg\#\wedge\neg\mathsf{SameL}\) holds, and there it fails, so the strict first-time until can hold only if this cell also carries \(\mathsf{U}\). The guard \(\neg\#\) excludes a witness in the terminal loop. Under \(\Phi_{\mathsf{base}}\), equal counters recur once per row, so the first recurrence lies in the next row. ◻

Lemma 11 (Good checks vertical compatibility). Assume that \(w\) has unique tags and that \(w,e\models\mathsf{Pair}\) at its first \(\#\)-position. Then \[w,e\models\mathsf{Good}\] iff the tile at the \(\mathsf{L}\)-cell is vertically compatible with the tile at the \(\mathsf{U}\)-cell.

Proof. Since the tags are unique, \(w,e\models\mathsf{Good}\) iff the \(\mathsf{U}\)-cell carries a tile \(d'\) and the \(\mathsf{L}\)-cell carries a tile \(d\) with \(d_{\mathsf{up}}=d'_{\mathsf{down}}\). This is exactly vertical compatibility of the two tiles. ◻

Proof of Lemma 4. Suppose that a vertical edge is incompatible, with lower endpoint \(c\) and upper endpoint \(c'\). By Lemma 7, there is an \(a\)-indistinguishable word \(w'\) with \(\mathsf{L}\) at \(c\) and \(\mathsf{U}\) at \(c'\). Lemma 10 gives \(w',e\models\mathsf{Pair}\), whereas Lemma 11 gives \(w',e\not\models\mathsf{Good}\). Hence \(w,e\not\models K_a(\mathsf{Pair}\rightarrow\mathsf{Good})\).

Conversely, assume that all vertical edges are compatible and let \(w'\) satisfy \((w,e)\sim_a(w',e)\). Since every grid proposition and \(\#\) is visible, \(w'\) has the same visible prefix as \(w\) up to \(e\), and only the tag placement may differ. If \(w',e\not\models\mathsf{Pair}\), the implication is true. If \(w',e\models\mathsf{Pair}\), Lemma 10 identifies a vertical edge of the common grid, and Lemma 11 yields \(w',e\models\mathsf{Good}\). Thus every indistinguishable word satisfies the implication. ◻

8 Upper-Bound Details↩︎

We now give the temporal test automata, the observer update, and the global product used in the upper bound.

8.1 Knowledge-Free Temporal Automata↩︎

The construction below follows the future-operator temporal automata of [12], extended with forward-propagated counters for past operators.

Definition 8 (Normal form). A knowledge-free formula is in normal form* if every interval is of the form \([0,h]\) or \([\ell,\infty)\).*

Strict first-time semantics gives the equivalences \[\varphi\,U^1_{[\ell,h]}\,\psi \;\equiv\; \bigl(\varphi\,U^1_{[0,h]}\,\psi\bigr) \wedge \bigl(\varphi\,U^1_{[\ell,\infty)}\,\psi\bigr),\] and, symmetrically, \[\varphi\,S^1_{[\ell,h]}\,\psi \;\equiv\; \bigl(\varphi\,S^1_{[0,h]}\,\psi\bigr) \wedge \bigl(\varphi\,S^1_{[\ell,\infty)}\,\psi\bigr).\] Indeed, both conjuncts refer to the same first future, respectively most recent past, occurrence of \(\psi\). We represent the normalized formula as a directed acyclic graph and share the two arguments of each split. Normalization then adds only a constant number of nodes per metric subformula. In the notation below, \[\varphi\,U^1_{\le h}\,\psi \quad\text{and}\quad \varphi\,U^1_{\ge\ell}\,\psi\] stand for the two simple forms, and similarly for \(S^1\). Negations are not pushed to the atoms, and truth values will be defined compositionally on the closure.

Definition 9 (Metric schemes and counters). Fix a normal-form formula \(\theta\). Let \(B_\theta\) be the largest finite metric constant in \(\theta\), or \(0\) if no such constant occurs. With binary encoding, \[B_\theta<2^{|\theta|}.\]

A metric scheme* is obtained from a metric subformula by replacing its finite bound with a placeholder: \[\varphi\,U^1_{\le *}\,\psi,\qquad \varphi\,U^1_{\ge *}\,\psi,\qquad \varphi\,S^1_{\le *}\,\psi,\qquad \varphi\,S^1_{\ge *}\,\psi.\] The first and third forms are upper-bound schemes, and the other two are lower-bound schemes. An unbounded subformula with interval \([0,\infty)\) is represented by a lower-bound scheme with bound \(0\).*

All concrete instances of one scheme have the same witness distance. A single counter for the scheme therefore determines the truth of every bound occurring in \(\theta\).

Definition 10 (Closure). The closure \(\mathsf{FL}(\theta)\) contains the nodes of the normalized formula DAG, with each metric node represented by its scheme. Atomic propositions, Boolean formulas, next formulas, and yesterday formulas are called ordinary entries.

The number of ordinary entries and schemes is polynomial in \(|\theta|\).

Definition 11 (Explicit-counter temporal types). A temporal type for \(\theta\) is a pair \(H=(v,c)\). The map \(v\) assigns a value in \(\{0,1\}\) to every atomic proposition and every formula of the form \(X\varphi\) or \(Y\varphi\) in \(\mathsf{FL}(\theta)\). The map \(c\) assigns to every metric scheme \(\gamma\) a value \[c(\gamma)\in\{0,\ldots,B_\theta\}\cup\{\bot\}.\] The value \(\bot\) means that no witness distance is represented. For an upper-bound scheme, this includes the case where a witness exists farther than \(B_\theta\).

For closure formulas and concrete instances of closure schemes, define \(H\Vdash\delta\) recursively: \[\begin{array}{lcl} H\Vdash\top && \text{always},\\[1mm] H\Vdash\delta &\Longleftrightarrow& v(\delta)=1, \quad\text{if \(\delta\) is atomic, a next formula, or a yesterday formula},\\[1mm] H\Vdash\varphi\,U^1_{\le h}\,\psi &\Longleftrightarrow& c(\gamma)\ne\bot\text{ and }c(\gamma)\le h,\\[1mm] H\Vdash\varphi\,U^1_{\ge\ell}\,\psi &\Longleftrightarrow& c(\gamma)\ne\bot\text{ and }c(\gamma)\ge\ell,\\[1mm] H\Vdash\varphi\,S^1_{\le h}\,\psi &\Longleftrightarrow& c(\gamma)\ne\bot\text{ and }c(\gamma)\le h,\\[1mm] H\Vdash\varphi\,S^1_{\ge\ell}\,\psi &\Longleftrightarrow& c(\gamma)\ne\bot\text{ and }c(\gamma)\ge\ell,\\[1mm] H\Vdash\neg\delta &\Longleftrightarrow& H\nVdash\delta,\\[1mm] H\Vdash\delta_1\wedge\delta_2 &\Longleftrightarrow& H\Vdash\delta_1\text{ and }H\Vdash\delta_2, \end{array}\] where \(\gamma\) is the scheme associated with the metric formula. Let \(\mathsf H_\theta\) be the set of all temporal types.

A type is represented by polynomially many bits for \(v\) and \(O(|\theta|)\) bits per counter. Hence \[|\mathsf H_\theta|\le 2^{\mathsf{poly}(|\theta|)}.\]

We next specify the intended counter values. Fix a word \(w\) and arguments \(\varphi,\psi\). The future witness distance at position \(i\) is the unique \(d\in\mathbb{N}\), if it exists, such that \[w,i+d\models\psi \quad\text{and}\quad w,k\models\varphi\wedge\neg\psi \text{ for all }i\le k<i+d.\] The past witness distance is defined by \[w,i-d\models\psi \quad\text{and}\quad w,k\models\varphi\wedge\neg\psi \text{ for all }i-d<k\le i.\] For an upper-bound scheme, its truthful counter is \(d\) when \(d\le B_\theta\), and \(\bot\) otherwise. For a lower-bound scheme it is \(\min(d,B_\theta)\). In either case it is \(\bot\) when no witness exists. These capped values preserve every comparison with a bound occurring in \(\theta\).

Definition 12 (Initial and successor types). For a scheme \(\gamma\) and \(z\in\{0,\ldots,B_\theta\}\cup\{\bot\}\), define \(z\oplus_\gamma 1\) as follows: \[\bot\oplus_\gamma1=\bot.\] If \(\gamma\) is an upper-bound scheme, then \[z\oplus_\gamma1= \begin{cases} z+1 & \text{if }z+1\le B_\theta,\\ \bot & \text{otherwise}. \end{cases}\] If \(\gamma\) is a lower-bound scheme, then \[z\oplus_\gamma1=\min(z+1,B_\theta).\]

A type \(H=(v,c)\) is prefix-initial, written \(H\in\mathsf{Init}_\theta\), if \[H\nVdash Y\varphi\] for every yesterday formula in the closure and, for every past scheme \(\gamma=\varphi\,S^1_{\bowtie *}\,\psi\), \[c(\gamma)= \begin{cases} 0 & \text{if }H\Vdash\psi,\\ \bot & \text{if }H\nVdash\psi. \end{cases}\]

For types \(H=(v,c)\), \(H'=(v',c')\), and a letter \(\sigma\), write \(H\xrightarrow{\sigma}_\theta H'\) if all the following conditions hold.

(i) For every atomic proposition \(p\) in the closure, \[v'(p)=1\quad\Longleftrightarrow\quad p\in\sigma.\]

(ii) For every next formula \(X\varphi\), \[H\Vdash X\varphi\quad\Longleftrightarrow\quad H'\Vdash\varphi.\]

(iii) For every yesterday formula \(Y\varphi\), \[H'\Vdash Y\varphi\quad\Longleftrightarrow\quad H\Vdash\varphi.\]

(iv) For every future scheme \(\gamma=\varphi\,U^1_{\bowtie *}\,\psi\), \[c(\gamma)= \begin{cases} 0 & \text{if }H\Vdash\psi,\\ c'(\gamma)\oplus_\gamma1 & \text{if }H\nVdash\psi\text{ and }H\Vdash\varphi,\\ \bot & \text{if }H\nVdash\psi\text{ and }H\nVdash\varphi. \end{cases}\]

(v) For every past scheme \(\gamma=\varphi\,S^1_{\bowtie *}\,\psi\), \[c'(\gamma)= \begin{cases} 0 & \text{if }H'\Vdash\psi,\\ c(\gamma)\oplus_\gamma1 & \text{if }H'\nVdash\psi\text{ and }H'\Vdash\varphi,\\ \bot & \text{if }H'\nVdash\psi\text{ and }H'\nVdash\varphi. \end{cases}\]

Here \(H\) describes the current position and \(H'\) the next one, and the label \(\sigma\) is the letter at the next position. Future counters are guessed backward from a witness, while past counters are computed forward from the initial position.

Definition 13 (Temporal Büchi automaton). Let \[C^0_\theta=\{H\in\mathsf H_\theta\mid H\Vdash\theta\}.\] For every lower-bound future scheme \(\gamma=\varphi\,U^1_{\ge *}\,\psi\), define \[G_\gamma= \{H\in\mathsf H_\theta\mid c(\gamma)=\bot\text{ or }H\Vdash\psi\}.\] The type graph has state set \(\mathsf H_\theta\), initial set \(\mathsf{Init}_\theta\), transitions \(H\xrightarrow{\sigma}_\theta H'\), and generalized Büchi family \[\mathcal{G}_\theta=\{G_\gamma\mid \gamma\text{ is a lower-bound future scheme}\}.\] Convert the generalized automaton by the usual round-robin construction and add a fresh pre-initial state \(\iota_\theta\). The resulting ordinary Büchi automaton is \[A_\theta=(S_\theta,S_{0,\theta},\delta_\theta,F_\theta), \qquad S_{0,\theta}=\{\iota_\theta\}.\] On the first input letter \(\sigma\), the automaton moves from \(\iota_\theta\) to a state whose type component \(H\) is prefix-initial and satisfies \[v(p)=1\quad\Longleftrightarrow\quad p\in\sigma\] for every atomic proposition in the closure. Later transitions follow \(H\xrightarrow{\sigma}_\theta H'\), together with the round-robin update. Let \(C_\theta\subseteq S_\theta\) consist of the non-initial states whose type component belongs to \(C^0_\theta\). If \(\mathcal{G}_\theta=\emptyset\), all non-initial states may be declared accepting.

The set \(G_\gamma\) rules out runs on which a saturated lower-bound counter stays active forever while \(\psi\) never holds. Upper-bound future counters need no acceptance set: once active, they decrease along the run and reach \(0\) within \(B_\theta\) steps. Past counters are determined by the prefix already read and likewise need no acceptance set.

Lemma 12 (Knowledge-free pointed testers). Let \(\mathsf{AP}'\) be a finite set of atomic propositions and let \(\theta\) be a knowledge-free KMTL formula over \(\mathsf{AP}'\) with syntactically represented, binary-encoded metric intervals. The preceding construction yields a Büchi automaton \[A_\theta=(S_\theta,S_{0,\theta},\delta_\theta,F_\theta)\] over \(2^{\mathsf{AP}'}\) and a marked set \(C_\theta\subseteq S_\theta\) such that:

(i) \(|S_\theta|\le2^{\mathsf{poly}(|\theta|)}\). States and the predicates for initial, successor, accepting, and marked states are representable and testable in space polynomial in \(|\theta|+|\mathsf{AP}'|\).

(ii) For every \(w=\sigma_1\sigma_2\ldots\) and every \(i\ge1\), \[w,i\models\theta \quad\Longleftrightarrow\quad \begin{array}{l} \text{there is an accepting run }s_0s_1s_2\ldots \text{ of }A_\theta\text{ over }w\\ \text{with }s_i\in C_\theta. \end{array}\]

Proof. The size statement follows from Definition 11, since all local tests inspect polynomially many Boolean entries and counters of \(O(|\theta|)\) bits.

For correctness, consider an accepting run of \(A_\theta\) over \(w\), and write \(H_i\) for the type component after reading \(\sigma_i\). We prove, by structural induction on \(\delta\), that for every closure formula and every concrete instance of a closure scheme, \[H_i\Vdash\delta \quad\Longleftrightarrow\quad w,i\models\delta. \] The atomic case follows from the letter condition. Boolean formulas follow from the recursive definition of \(\Vdash\). Conditions (ii) and (iii) give the next and yesterday cases, and prefix-initiality supplies the false value of every yesterday formula at position \(1\).

Consider a future scheme \(\gamma\) with arguments \(\varphi,\psi\). By the induction hypothesis, the type and the word agree on both arguments at every position. If a witness occurs at distance \(d\), condition (iv) fixes the counter to \(0\) at the witness and propagates it backward through the preceding \(\varphi\wedge\neg\psi\)-positions. The value at position \(i\) is therefore the truthful capped distance.

Suppose no witness exists. If \(\neg\varphi\wedge\neg\psi\) first occurs at a position \(k\ge i\), condition (iv) sets the counter to \(\bot\) at \(k\) and propagates \(\bot\) back to \(i\). Otherwise \(\varphi\wedge\neg\psi\) holds forever. An active upper-bound counter would then have to decrease indefinitely along the run, which is impossible. An active lower-bound counter could remain at the cap, but the set \(G_\gamma\) is visited infinitely often. Since \(\psi\) never holds, some later counter value is \(\bot\), and the recurrence again propagates \(\bot\) back to \(i\).

For a past scheme, induction on the position gives the truthful counter directly. Prefix-initiality provides the correct value at position \(1\), and condition (v) updates the capped distance at each subsequent position. This proves \((*)\).

If \(s_i\in C_\theta\), then \(H_i\Vdash\theta\), and \((*)\) gives \(w,i\models\theta\). This proves soundness.

For completeness, define \(H_i\) from the semantic truth values of the atomic, next, and yesterday entries at \((w,i)\), and assign every scheme its truthful counter. The one-step equations in Definition 12 hold by the definition of witness distance. The first type is prefix-initial. Moreover, every set \(G_\gamma\) is visited infinitely often: whenever a truthful lower-bound future counter is active, its witness eventually reaches a \(\psi\)-position. When no witness exists, the counter is \(\bot\). The round-robin extension therefore gives an accepting run. If \(w,i\models\theta\), then its state at position \(i\) belongs to \(C_\theta\). ◻

This proves Lemma 5 of the main text, which states the same result in the notation used there.

The live predicate

Fix the input model \(\mathcal{M}=(Q,Q_0,\Delta,F_\mathcal{M})\) over \(2^{\mathsf{AP}}\). For a knowledge-free \(\theta\) over \(\mathsf{AP}\), define \[\mathsf{Live}^\mathcal{M}_\theta\subseteq Q\times S_\theta\] as follows. The product has transitions \[(q,s)\longrightarrow(q',s')\] if some \(\sigma\in2^{\mathsf{AP}}\) satisfies \[(q,\sigma,q')\in\Delta \quad\text{and}\quad (s,\sigma,s')\in\delta_\theta.\] A pair \((q,s)\) belongs to \(\mathsf{Live}^\mathcal{M}_\theta\) if \(s\in C_\theta\) and the product has an infinite continuation from \((q,s)\) that visits \(F_\mathcal{M}\times S_\theta\) and \(Q\times F_\theta\) infinitely often. Membership is a generalized Büchi nonemptiness test in the exponential graph. Each state has polynomial size and the transition relation is polynomial-space testable, so it is decidable in polynomial space.

Let \[q_0\xrightarrow{\sigma_1}q_1\cdots \xrightarrow{\sigma_i}q_i\] be a run prefix of \(\mathcal{M}\). It extends to an accepting run whose word satisfies \(\theta\) at position \(i\) iff \(A_\theta\) has a run on \(\sigma_1\ldots\sigma_i\) ending in a state \(s\) with \((q_i,s)\in\mathsf{Live}^\mathcal{M}_\theta\). The forward implication follows from the completeness part of Lemma 12, and the reverse implication follows from soundness after joining the two prefixes to a live product continuation.

8.2 Observers and Knowledge Tests↩︎

We first set up the notation for abstracting inner knowledge. Consider an occurrence \[\eta=K_a\psi.\] Every knowledge operator nested in \(\psi\) is also indexed by \(a\), because the formula is agent-alternation-free. Let \(\mathsf{Imm}(\eta)\) be the knowledge-subformula occurrences in \(\psi\) that are not contained in another knowledge subformula of \(\psi\). Assign a fresh proposition \(p_\zeta\) to every \(\zeta\in\mathsf{Imm}(\eta)\), and let \(\widehat\psi\) be obtained by replacing each such \(\zeta\) with \(p_\zeta\). Then \(\widehat\psi\) is knowledge-free. Write \[P^{\mathsf{in}}_\eta=\{p_\zeta\mid\zeta\in\mathsf{Imm}(\eta)\}, \qquad \chi_\eta=\neg\widehat\psi,\] and let \[A_\eta=(S_\eta,S_{0,\eta},\delta_\eta,F_\eta), \qquad C_\eta\subseteq S_\eta,\] be the pointed tester for \(\chi_\eta\). Since \(\chi_\eta\) is knowledge-free over \(\mathsf{AP}\cup P^{\mathsf{in}}_\eta\), Lemma 5 applies with \(\mathsf{AP}'=\mathsf{AP}\cup P^{\mathsf{in}}_\eta\), so \(\delta_\eta\subseteq S_\eta\times2^{\mathsf{AP}\cup P^{\mathsf{in}}_\eta}\times S_\eta\) and each letter read by \(A_\eta\) has the form \(\tau\cup\kappa'\) with \(\tau\in2^{\mathsf{AP}}\) and \(\kappa'\subseteq P^{\mathsf{in}}_\eta\). All fresh propositions are chosen outside \(\mathsf{AP}\) and are distinct across knowledge-subformula occurrences. When the occurrence is clear, we also write \[P^{\mathsf{in}}_{a,\psi}=P^{\mathsf{in}}_\eta,\qquad O_{a,\psi}=O_\eta,\qquad \mathsf{Live}^\mathcal{M}_{a,\psi}=\mathsf{Live}^\mathcal{M}_\eta,\] in agreement with the notation of the main text.

Lemma 13 (Same-agent invariance). If \((w,i)\sim_a(w',i)\), then \[w,i\models_\mathcal{M}K_a\xi \quad\Longleftrightarrow\quad w',i\models_\mathcal{M}K_a\xi.\] Consequently, the truth of \(K_a\xi\) at position \(i\) depends only on \(\mathsf{obs}_a(w_{\le i})\).

Proof. Indistinguishable pointed words have the same \(a\)-equivalence class, and \(K_a\xi\) universally quantifies over that class. ◻

Call \(u=o_1\ldots o_i\in(2^{\mathsf{AP}_a})^i\) realized if \[u=\mathsf{obs}_a(w_{\le i})\] for some \(w\in L(\mathcal{M})\). For an immediate inner block \(\zeta=K_a\psi_\zeta\), Lemma 13 makes its truth value a function of \(u\). Let \[\kappa_\eta(u)= \{p_\zeta\in P^{\mathsf{in}}_\eta\mid w,i\models_\mathcal{M}\zeta \text{ for some, equivalently every, }w \text{ with }\mathsf{obs}_a(w_{\le i})=u\}.\] These valuations are defined by induction on knowledge-nesting depth.

Definition 14 (Observer). For a realized observation prefix \(u=o_1\ldots o_i\), \(i\ge1\), define \[O_\eta(u)\subseteq Q\times S_\eta\] to contain a pair \((q,s)\) iff there are run prefixes \[q_0\xrightarrow{\tau_1}q_1\cdots \xrightarrow{\tau_i}q_i\] of \(\mathcal{M}\) and \[s_0s_1\ldots s_i\] of \(A_\eta\) such that \[q_0\in Q_0,\qquad q_i=q,\qquad s_0\in S_{0,\eta},\qquad s_i=s,\] and, for every \(1\le j\le i\), \[\mathsf{obs}_a(\tau_j)=o_j, \qquad (s_{j-1},\,\tau_j\cup\kappa_\eta(o_1\ldots o_j),\,s_j) \in\delta_\eta.\]

Thus \(O_\eta(u)\) contains the joint states reachable along all model prefixes with observation \(u\), while \(A_\eta\) reads the corresponding model letters extended by the truth values of the immediate inner blocks. The model prefixes in this set need not themselves be live, and liveness is tested separately.

For \(o\in2^{\mathsf{AP}_a}\) and \(\kappa'\subseteq P^{\mathsf{in}}_\eta\), put \[\begin{align} \mathsf{init}_\eta(o,\kappa') =\{(q,s)\mid {}& \exists q_0\in Q_0,\;\exists\tau\in2^{\mathsf{AP}},\; \exists s_0\in S_{0,\eta}:\\[-1mm] & (q_0,\tau,q)\in\Delta,\quad \mathsf{obs}_a(\tau)=o,\quad (s_0,\tau\cup\kappa',s)\in\delta_\eta\}, \\[1mm] \mathsf{post}_\eta(O,o,\kappa') =\{(q',s')\mid {}& \exists(q,s)\in O,\;\exists\tau\in2^{\mathsf{AP}}:\\[-1mm] & (q,\tau,q')\in\Delta,\quad \mathsf{obs}_a(\tau)=o,\quad (s,\tau\cup\kappa',s')\in\delta_\eta\}. \end{align}\]

Lemma 14 (Observer recursion). For every realized \(u=o_1\ldots o_i\) and every \(o\) such that \(uo\) is realized, \[O_\eta(o_1)= \mathsf{init}_\eta(o_1,\kappa_\eta(o_1)),\] and \[O_\eta(uo)= \mathsf{post}_\eta(O_\eta(u),o,\kappa_\eta(uo)).\]

Proof. For the first equality, unfold Definition 14 with \(i=1\). For the second, split a joint run over \(uo\) after its prefix over \(u\). The last model transition reads some \(\tau\) with \(\mathsf{obs}_a(\tau)=o\), and the last tester transition reads \(\tau\cup\kappa_\eta(uo)\). The converse concatenation gives every pair in the stated post-image. ◻

Relative liveness

The observer \(O_\eta(u)\) records the prefix up to the current position. Along a future counterexample continuation, the tester \(A_\eta\) must also receive the values of the propositions in \(P^{\mathsf{in}}_\eta\). Those values depend on the continued observation history. We therefore retain the observers of all knowledge blocks properly nested in \(\eta\).

Let \(\mathsf{Desc}(\eta)\) be the set of all knowledge-subformula occurrences strictly inside \(\eta\). For a realized observation prefix \(u\), define the inner tuple \[\mathcal{I}_\eta(u)= \bigl(O_\zeta(u)\bigr)_{\zeta\in\mathsf{Desc}(\eta)}.\] Here every \(\zeta\) has agent \(a\), so all components are indexed by the same observation prefix. The definitions below proceed by induction on the knowledge depth of \(\eta\).

For an abstract inner tuple \(\mathcal{I}=(O_\zeta)_\zeta\), define the valuation of the immediate inner propositions by \[p_\zeta\in\kappa_\eta(\mathcal{I})\] iff no pair \((\tilde{q},\tilde{s})\in O_\zeta\) satisfies \[\mathsf{Live}^\mathcal{M}_\zeta (\tilde{q},\tilde{s},\mathcal{I}_\zeta),\] where \(\mathcal{I}_\zeta\) is the subtuple indexed by \(\mathsf{Desc}(\zeta)\). The predicate on the right concerns a block of strictly smaller knowledge depth.

For \(o\in2^{\mathsf{AP}_a}\), define \(\mathsf{post}(\mathcal{I},o)\) by updating its components from the deepest blocks outwards. When the component \(O_\zeta\) is updated, all components strictly inside \(\zeta\) have already been updated and determine the new valuation \(\kappa_\zeta\). The new component is then \[\mathsf{post}_\zeta(O_\zeta,o,\kappa_\zeta).\]

Define \[\mathsf{Live}^\mathcal{M}_\eta(q,s,\mathcal{I})\] on configurations \((q,s,\mathcal{I})\), where \(q\in Q\), \(s\in S_\eta\), and \(\mathcal{I}\) is an inner tuple for \(\eta\). There is a transition \[(q,s,\mathcal{I})\longrightarrow(q',s',\mathcal{I}')\] iff some \(\tau\in2^{\mathsf{AP}}\) satisfies \[(q,\tau,q')\in\Delta, \qquad \mathcal{I}'=\mathsf{post}(\mathcal{I},\mathsf{obs}_a(\tau)),\] and \[(s,\tau\cup\kappa_\eta(\mathcal{I}'),s')\in\delta_\eta.\] The predicate holds if \(s\in C_\eta\) and this graph has an infinite continuation visiting \(F_\mathcal{M}\) in the first component and \(F_\eta\) in the second component infinitely often.

If \(\eta\) has no inner knowledge block, the tuple is empty and the definition is the ordinary live predicate for \(\chi_\eta=\neg\psi\). Otherwise, successor generation invokes liveness predicates only for proper descendants. An inner tuple has an exponential-space representation, and the recursion depth is linear in the formula size, so membership in \(\mathsf{Live}^\mathcal{M}_\eta\) is decidable in exponential space.

Lemma 15 (Knowledge test). Let \(\eta=K_a\psi\), let \(w\in L(\mathcal{M})\), and let \(i\ge1\). Put \[u=\mathsf{obs}_a(w_{\le i}).\] Then \[w,i\models_\mathcal{M}\eta\] iff no \((q,s)\in O_\eta(u)\) satisfies \[\mathsf{Live}^\mathcal{M}_\eta \bigl(q,s,\mathcal{I}_\eta(u)\bigr).\]

Proof. The proof is by induction on the knowledge depth of \(\eta\). By the induction hypothesis, updating the descendant observers along any realized continuation produces the semantic truth values of the corresponding inner knowledge formulas. Hence \(A_\eta\) reads each model letter extended by the correct valuation of \(P^{\mathsf{in}}_\eta\).

Suppose first that \((q,s)\in O_\eta(u)\) satisfies the relative live predicate. The observer supplies a model prefix with observation \(u\) and a compatible \(A_\eta\)-prefix ending in \((q,s)\). The live continuation extends both prefixes to accepting runs. Let \(w'\in L(\mathcal{M})\) be the resulting model word and let \(\widetilde{w}'\) be its extension by the fresh valuations. Since \(s\in C_\eta\), soundness of Lemma 12 gives \[\widetilde{w}',i\models\chi_\eta.\] By the definition of the fresh valuations, this is equivalent to \(w',i\models_\mathcal{M}\neg\psi\). Moreover, \((w,i)\sim_a(w',i)\). Thus \(w,i\not\models_\mathcal{M}K_a\psi\).

Conversely, suppose \(w,i\not\models_\mathcal{M}K_a\psi\). There is a word \(w'\in L(\mathcal{M})\) such that \[(w,i)\sim_a(w',i) \quad\text{and}\quad w',i\models_\mathcal{M}\neg\psi.\] Extend \(w'\) at every position with the truth values of the immediate inner blocks. The resulting word satisfies \(\chi_\eta\) at position \(i\). Completeness of Lemma 12 yields an accepting run of \(A_\eta\) whose state at \(i\) lies in \(C_\eta\). Its prefix, together with an accepting run of \(\mathcal{M}\) over \(w'\), shows that the corresponding pair lies in \(O_\eta(u)\). The suffixes of the two runs, with the descendant observers updated along \(w'\), witness the relative live predicate. ◻

8.3 Alternation Depth One and the Global Product↩︎

Let \(\mathsf{Know}(\varphi)\) be the set of knowledge-subformula occurrences of \(\varphi\). For each such occurrence, construct its observer and relative live predicate as above. Because \(\varphi\in\mathrm{KMTL}_1\), every descendant of a block \(K_a\psi\) has the same agent \(a\). Different agents may occur in separate, non-nested blocks.

Replace every maximal knowledge subformula of \(\neg\varphi\) by its fresh proposition, obtaining a knowledge-free formula \(\theta_{\mathsf{top}}\). The observers of all nested descendants are retained because they are needed to evaluate the maximal blocks.

A global configuration is \[(q,t,\mathcal{O}),\] where \(q\in Q\), \(t\in S_{\theta_{\mathsf{top}}}\), and \[\mathcal{O}=(O_\eta)_{\eta\in\mathsf{Know}(\varphi)}\] contains one observer set per knowledge block. The tuple determines a valuation \(\kappa_{\mathcal{O}}\) of all fresh propositions that occur in \(\theta_{\mathsf{top}}\): the proposition for \(\eta\) is true iff its observer contains no pair satisfying the relative live predicate from the corresponding descendant subtuple.

An initial configuration is obtained by choosing \[(q_0,\sigma,q)\in\Delta \quad\text{with}\quad q_0\in Q_0.\] Initialize all observer sets on \(\sigma\), from the deepest blocks outwards. Each block uses the observation \(\mathsf{obs}_a(\sigma)\) of its own agent. This yields \(\mathcal{O}\) and \(\kappa_{\mathcal{O}}\). Choose \(t_0\in S_{0,\theta_{\mathsf{top}}}\) and \(t\in C_{\theta_{\mathsf{top}}}\) such that \[(t_0,\sigma\cup\kappa_{\mathcal{O}},t) \in\delta_{\theta_{\mathsf{top}}}.\]

From \((q,t,\mathcal{O})\), choose a model transition \[(q,\sigma',q')\in\Delta.\] Update every observer on the observation of \(\sigma'\) for its agent, again from the deepest blocks outwards, to obtain \(\mathcal{O}'\). Compute \(\kappa_{\mathcal{O}'}\), and choose \(t'\) with \[(t,\sigma'\cup\kappa_{\mathcal{O}'},t') \in\delta_{\theta_{\mathsf{top}}}.\] The successor is \((q',t',\mathcal{O}')\). The acceptance condition requires the first component to visit \(F_\mathcal{M}\) infinitely often and the second to visit \(F_{\theta_{\mathsf{top}}}\) infinitely often. Acceptance conditions of the inner testers are checked within the relative live predicates and impose no additional condition on the global path.

Lemma 16 (Global correctness). The global product has an accepting run iff there is a word \(w\in L(\mathcal{M})\) such that \[w,1\models_\mathcal{M}\neg\varphi.\]

Proof. Consider a global run over a word \(w\). By Lemma 14, the component for each block \(\eta=K_a\psi\) after position \(i\) is \[O_\eta(\mathsf{obs}_a(w_{\le i})).\] Lemma 15 therefore assigns every fresh proposition the truth value of the knowledge subformula it represents. Structural induction on the formula shows that the extended word satisfies \(\theta_{\mathsf{top}}\) at a position iff \(w\) satisfies \(\neg\varphi\) there.

If the global product has an accepting run, its first component is an accepting run of \(\mathcal{M}\) over some \(w\in L(\mathcal{M})\). Its second component is an accepting run of \(A_{\theta_{\mathsf{top}}}\), and the initial global configuration ensures that its state at position \(1\) belongs to \(C_{\theta_{\mathsf{top}}}\). Soundness of Lemma 12 gives \[w,1\models_\mathcal{M}\neg\varphi.\]

Conversely, suppose \(w\in L(\mathcal{M})\) satisfies \(w,1\models_\mathcal{M}\neg\varphi\), and fix an accepting run of \(\mathcal{M}\) over \(w\). The observer recursion determines \(\mathcal{O}\) at every position, and the knowledge test gives the correct fresh valuation. Completeness of Lemma 12 supplies an accepting run of \(A_{\theta_{\mathsf{top}}}\) whose state at position \(1\) is marked. These components form an accepting run of the global product. ◻

References↩︎

[1]
Meera Sampath, Raja Sengupta, Stéphane Lafortune, Kasim Sinnamohideen, and Demosthenis Teneketzis. Diagnosability of discrete-event systems. IEEE Trans. Autom. Control., 40(9):1555–1575, 1995. https://doi.org/10.1109/9.412626.
[2]
Rami Debouk, Stéphane Lafortune, and Demosthenis Teneketzis. Coordinated decentralized protocols for failure diagnosis of discrete event systems. Discret. Event Dyn. Syst., 10(1-2):33–86, 2000. https://doi.org/10.1023/A:1008335115538.
[3]
Jeremy W. Bryans, Maciej Koutny, Laurent Mazaré, and Peter Y. A. Ryan. Opacity generalised to transition systems. Int. J. Inf. Sec., 7(6):421–435, 2008. URL: https://doi.org/10.1007/s10207-008-0058-x, https://doi.org/10.1007/S10207-008-0058-X.
[4]
Franck Cassez, Jérémy Dubreil, and Hervé Marchand. Dynamic observers for the synthesis of opaque systems. In Zhiming Liu and Anders P. Ravn, editors, Automated Technology for Verification and Analysis, 7th International Symposium, ATVA 2009, Macao, China, October 14-16, 2009. Proceedings, volume 5799 of Lecture Notes in Computer Science, pages 352–367. Springer, 2009. https://doi.org/10.1007/978-3-642-04761-9_26.
[5]
Stéphane Lafortune, Feng Lin, and Christoforos N. Hadjicostis. On the history of diagnosability and opacity in discrete event systems. Annu. Rev. Control., 45:257–266, 2018. URL: https://doi.org/10.1016/j.arcontrol.2018.04.002, https://doi.org/10.1016/J.ARCONTROL.2018.04.002.
[6]
Martin Leucker and Christian Schallhart. A brief account of runtime verification. J. Log. Algebraic Methods Program., 78(5):293–303, 2009. URL: https://doi.org/10.1016/j.jlap.2008.08.004, https://doi.org/10.1016/J.JLAP.2008.08.004.
[7]
Andreas Bauer, Martin Leucker, and Christian Schallhart. Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol., 20(4):14:1–14:64, 2011. https://doi.org/10.1145/2000799.2000800.
[8]
Ronald Fagin, Joseph Y. Halpern, Yoram Moses, and Moshe Y. Vardi. Reasoning About Knowledge. Press, 1995. URL: https://doi.org/10.7551/mitpress/5803.001.0001, https://doi.org/10.7551/MITPRESS/5803.001.0001.
[9]
Amir Pnueli and Aleksandr Zaks. model checking and run-time verification via testers. In Jayadev Misra, Tobias Nipkow, and Emil Sekerinski, editors, FM 2006: Formal Methods, 14th International Symposium on Formal Methods, Hamilton, Canada, August 21-27, 2006, Proceedings, volume 4085 of Lecture Notes in Computer Science, pages 573–586. Springer, 2006. https://doi.org/10.1007/11813040_38.
[10]
Franck Cassez. The dark side of timed opacity. In Advances in Information Security and Assurance, Third International Conference and Workshops, ISA 2009, Seoul, Korea, June 25-27, 2009. Proceedings, Lecture Notes in Computer Science, pages 21–30. Springer, 2009. https://doi.org/10.1007/978-3-642-02617-1_3.
[11]
Rajeev Alur and David L. Dill. A theory of timed automata. Theor. Comput. Sci., 126(2):183–235, 1994. https://doi.org/10.1016/0304-3975(94)90010-8.
[12]
Eric Alsmann and Martin Lange. Metric linear-time temporal logic with strict first-time semantics. In Thierry Vidal and Przemyslaw Andrzej Walega, editors, 32nd International Symposium on Temporal Representation and Reasoning, TIME 2025, Queen Mary University of London, UK, August 27-29, 2025, volume 355 of LIPIcs, pages 3:1–3:14. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2025. URL: https://doi.org/10.4230/LIPIcs.TIME.2025.3, https://doi.org/10.4230/LIPICS.TIME.2025.3.
[13]
François Laroussinie, Nicolas Markey, and Philippe Schnoebelen. Efficient timed model checking for discrete-time systems. Theor. Comput. Sci., 353(1-3):249–271, 2006. URL: https://doi.org/10.1016/j.tcs.2005.11.020, https://doi.org/10.1016/J.TCS.2005.11.020.
[14]
Laura Bozzelli, Bastien Maubert, and Aniello Murano. On the complexity of model checking knowledge and time. ACM Trans. Comput. Log., 25(1):8:1–8:42, 2024. https://doi.org/10.1145/3637212.
[15]
Mika Cohen and Alessio Lomuscio. Non-elementary speed up for model checking synchronous perfect recall. In Helder Coelho, Rudi Studer, and Michael J. Wooldridge, editors, ECAI 2010 - 19th European Conference on Artificial Intelligence, Lisbon, Portugal, August 16-20, 2010, Proceedings, volume 215 of Frontiers in Artificial Intelligence and Applications, pages 1077–1078. IOS Press, 2010. https://doi.org/10.3233/978-1-60750-606-5-1077.
[16]
Alessio Lomuscio, Wojciech Penczek, and Bozena Wozna. Bounded model checking for knowledge and real time. Artif. Intell., 171(16-17):1011–1038, 2007. URL: https://doi.org/10.1016/j.artint.2007.05.005, https://doi.org/10.1016/J.ARTINT.2007.05.005.
[17]
Bozena Wozna-Szczesniak and Andrzej Zbrzezny. Checking EMTLK properties of timed interpreted systems via bounded model checking. Stud Logica, 104(4):641–678, 2016. URL: https://doi.org/10.1007/s11225-015-9637-9, https://doi.org/10.1007/S11225-015-9637-9.
[18]
Bernd Finkbeiner and Julian Siber. Explainability requirements as hyperproperties. Acta Informatica, 62(4):38, 2025. URL: https://doi.org/10.1007/s00236-025-00507-w, https://doi.org/10.1007/S00236-025-00507-W.
[19]
Marco Bozzano, Alessandro Cimatti, Marco Gario, and Stefano Tonetta. Formal design of asynchronous fault detection and identification components using temporal epistemic logic. Log. Methods Comput. Sci., 11(4), 2015. https://doi.org/10.2168/LMCS-11(4:4)2015.
[20]
François Laroussinie, Nicolas Markey, and Philippe Schnoebelen. Temporal logic with forgettable past. In 17th IEEE Symposium on Logic in Computer Science (LICS 2002), 22-25 July 2002, Copenhagen, Denmark, Proceedings, pages 383–392. IEEE Computer Society, 2002. https://doi.org/10.1109/LICS.2002.1029846.
[21]
Bastien Maubert, Sophie Pinchinat, and Laura Bozzelli. Opacity issues in games with imperfect information. In Giovanna D’Agostino and Salvatore La Torre, editors, Proceedings of Second International Symposium on Games, Automata, Logics and Formal Verification, GandALF 2011, Minori, Italy, 15-17th June 2011, volume 54 of EPTCS, pages 87–101, 2011. https://doi.org/10.4204/EPTCS.54.7.
[22]
Wenbin Qiu and Ratnesh Kumar. Decentralized failure diagnosis of discrete event systems. IEEE Trans. Syst. Man Cybern. Part A, 36(2):384–395, 2006. https://doi.org/10.1109/TSMCA.2005.853503.
[23]
Walter J. Savitch. Relationships between nondeterministic and deterministic tape complexities. J. Comput. Syst. Sci., 4(2):177–192, 1970. https://doi.org/10.1016/S0022-0000(70)80006-X.
[24]
Thomas Møller Grosen, Sean Kauffman, Kim G. Larsen, and Martin Zimmermann. Time for timed monitorability. In Patricia Bouyer and Jaco van de Pol, editors, 36th International Conference on Concurrency Theory, CONCUR 2025, Aarhus, Denmark, August 26-29, 2025, volume 348 of LIPIcs, pages 19:1–19:20. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2025. URL: https://doi.org/10.4230/LIPIcs.CONCUR.2025.19, https://doi.org/10.4230/LIPICS.CONCUR.2025.19.