This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

UMONS – Université de Mons, Belgium F.R.S.-FNRS & UMONS – Université de Mons, BelgiumF.R.S.-FNRS Research Associate. Università degli Studi di Torino, Italy \CopyrightJames C. A. Main, Mickael Randour, and Jeremy Sproston \ccsdesc[500]Theory of computation Formal languages and automata theory \supplement \fundingResearch supported by F.R.S.-FNRS under Grant n° F.4520.18 (ManySynth). \hideLIPIcs

Time Flies When Looking out of the Window: Timed Games with Window Parity Objectives

James C. A. Main    Mickael Randour    Jeremy Sproston
Abstract

The window mechanism was introduced by Chatterjee et al. to reinforce mean-payoff and total-payoff objectives with time bounds in two-player turn-based games on graphs [17]. It has since proved useful in a variety of settings, including parity objectives in games [14] and both mean-payoff and parity objectives in Markov decision processes [12].

We study window parity objectives in timed automata and timed games: given a bound on the window size, a path satisfies such an objective if, in all states along the path, we see a sufficiently small window in which the smallest priority is even. We show that checking that all time-divergent paths of a timed automaton satisfy such a window parity objective can be done in polynomial space, and that the corresponding timed games can be solved in exponential time. This matches the complexity class of timed parity games, while adding the ability to reason about time bounds. We also consider multi-dimensional objectives and show that the complexity class does not increase. To the best of our knowledge, this is the first study of the window mechanism in a real-time setting.

keywords:
window objectives, timed automata, timed games, parity games
category:
\relatedversion

1 Introduction

Timed automata and games.

Timed automata [2] are extensions of finite automata with real-valued variables called clocks. Clocks increase at the same rate and measure the elapse of time between actions. Transitions are constrained by the values of clocks, and clocks can be reset on transitions. Timed automata are used to model real-time systems [4]. Not all paths of timed automata are meaningful; infinite paths that take a finite amount of time, called time-convergent paths, are often disregarded when checking properties of timed automata. Timed automata induce uncountable transition systems. However, many properties can be checked using the region abstraction, which is a finite quotient of the transition system.

Timed automaton games [25], or simply timed games, are games played on timed automata: one player represents the system and the other its environment. Players play an infinite amount of rounds: for each round, both players simultaneously present a delay and an action, and the play proceeds according to the fastest move (note that we use paths for automata and plays for games to refer to sequences of consecutive states and transitions). When defining winning conditions for players, convergent plays must be taken in account; we must not allow a player to achieve its objective by forcing convergence but cannot either require a player to force divergence (as it also depends on its opponent). Given an objective as a set of plays, following [20], we declare a play winning for a player if either it is time-divergent and belongs to the objective, or it is time-convergent and the player is not responsible for convergence.

Parity conditions.

The class of ω\omega-regular specifications is widely used (e.g., it can express liveness and safety), and parity conditions are a canonical way of representing them. In (timed) parity games, locations are labeled with a non-negative integer priority and the parity objective is to ensure the smallest priority occurring infinitely often along the path/play is even. Timed games with ω\omega-regular objectives given as parity automata are shown to be solvable in [20]. Furthermore, a reduction from timed parity games to classical turn-based parity games on a graph is established in [19].

Real-timed windows.

The parity objective can be reformulated: for all odd priorities seen infinitely often, a smaller even priority must be seen infinitely often. One can see the odd priority as a request and the even one as a response. The parity objective does not specify any timing constraints between requests and responses. In applications however, this may not be sufficient: for example, a server should respond to requests in a timely manner.

We revisit the window mechanism introduced by Chatterjee et al. for mean-payoff and total-payoff games [17] and later applied to parity games [14] and to parity and mean-payoff objectives in Markov decision processes [12]: we provide the first (to the best of our knowledge) study of window objectives in the real-time setting. More precisely, we lift the (resp. direct) fixed window parity objective of [14] to its real-time counterpart, the (resp. direct) timed window parity objective, and study it in timed automata and games.

Intuitively, given a non-negative integer bound λ\lambda on the window size, the direct timed window parity objective requires that at all times along a path/play, we see a window of size at most λ\lambda such that the smallest priority in this window is even. While time was counted as steps in prior works (all in a discrete setting), we naturally measure window size using delays between configurations in real-time models. The (non-direct) timed window parity objective is simply a prefix-independent version of the direct one, thus more closely matching the spirit of classical parity: it asks that some suffix satisfies the direct objective.

Contributions.

We extend window parity objectives to a dense-time setting, and study both verification of timed automata and realizability in timed games. We consider adaptations of the fixed window parity objectives of [14], where the window size is given as a parameter. We establish that (a) verifying that all time-divergent paths of a timed automaton satisfy a timed window parity specification is PSPACE-complete; and that (b) checking the existence of a winning strategy for a window parity objective in timed games is EXPTIME-complete. These results (Theorem 6.8) hold for both the direct and prefix-independent variants, and they extend to multi-dimensional objectives, i.e., conjunctions of window parity.

All algorithms are based on a reduction to an expanded timed automaton (Definition 4.1). We establish that, similarly to the discrete case, it suffices to keep track of one window at a time (or one per objective in the multi-dimensional case) instead of all currently open windows, thanks to the so-called inductive property of windows (Lemma 3.3). A window can be summarized using its smallest priority and its current size: we encode the priorities in a window by extending locations with priorities and using an additional clock to measure the window’s size. The (resp. direct) timed window parity objective translates to a co-Büchi (resp. safety) objective on the expanded automaton. Locations to avoid for the co-Büchi (resp. safety) objective indicate a window exceeding the supplied bound without the smallest priority of the window being even — a bad window. To check that all time-divergent paths of the expanded automaton satisfy the safety (resp. co-Büchi) objective, we check for the existence of a time-divergent path visiting (resp. infinitely often) an unsafe location using the PSPACE algorithm of [2]. To solve the similarly-constructed expanded game, we use the EXPTIME algorithm of [20].

Lower bounds (Lemma 6.6) are established by encoding safety objectives on timed automata as (resp. direct) timed window parity objectives. Checking safety properties over time-divergent paths in timed automata is PSPACE-complete [2] and solving safety timed games is EXPTIME-complete [22].

Comparison.

Window variants constitute conservative approximations of classical objectives (e.g., [17, 14, 12]), strengthening them by enforcing timing constraints. Complexity-wise, the situation is varied. In one-dimension turn-based games on graphs, window variants [17, 14] provide polynomial-time alternatives to the classical objectives, bypassing long-standing complexity barriers. However, in multi-dimension games, their complexity becomes worse than for the original objectives: in particular, fixed window parity games are EXPTIME-complete for multiple dimensions [14]. We show that timed games with multi-dimensional window parity objectives are in the same complexity class as untimed ones, i.e., dense time comes for free.

For classical parity objectives, timed games can be solved in exponential time [19, 20]. The approach of [19] is as follows: from a timed parity game, one builds a corresponding turn-based parity game on a graph, the construction being polynomial in the number of priorities and the size of the region abstraction. We recall that despite recent progress on quasi-polynomial-time algorithms (starting with [16]), no polynomial-time algorithm is known for parity games; the blow-up comes from the number of priorities. Overall, the two sources of blow-up — region abstraction and number of priorities — combine in a single-exponential solution for timed parity games. We establish that (multi-dimensional) window parity games can be solved in time polynomial in the size of the region abstraction, the number of priorities and the window size, and exponential in the number of dimensions. Thus even for conjunctions of objectives, we match the complexity class of single parity objectives of timed games, while avoiding the blow-up related to the number of priorities and enforcing time bounds between odd priorities and smaller even priorities via the window mechanism.

Outline.

This work is organized as follows. Section 2 summarizes all prerequisite notions and vocabulary. In Section 3, we introduce the timed window parity objective, compare it to the classical parity objective, and establish some useful properties. Our reduction from window parity objectives to safety or co-Büchi objectives is presented in Section 4: the construction of the expanded timed automaton/game used in the reduction is provided in Section 4.1, Section 4.2 develops mappings between plays of a game and plays of its expansion such that a time-divergent play in one game satisfies the objective if and only if its image satisfies the objective of the other game and Section 4.3 shows how these mappings can be used to transfer winning strategies between a timed game and its expansion. The reduction is extended to the case of multiple window parity objectives in Section 5. Finally, Section 6 presents the complexity.

This paper is a full version of a preceding conference version [24]. This version presents in full details the contributions of the conference version, with detailed proofs.

Related work.

In addition to the aforementioned foundational works, the window mechanism has seen diverse extensions and applications: e.g., [5, 3, 11, 15, 23, 27, 8]. Window parity games are strongly linked to the concept of finitary ω\omega-regular games: see, e.g., [18], or [14] for a complete list of references. The window mechanism can be used to ensure a certain form of (local) guarantee over paths: different techniques have been considered in stochastic models, notably variance-based [10] or worst-case-based [13, 7] methods. Finally, let us recall that game models provide a useful framework for controller synthesis [26], and that timed automata have been extended in a number of directions (see, e.g., [9] and references therein): applications of the window mechanism in such richer models could be of interest.

2 Preliminaries

Timed automata.

A clock variable, or clock, is a real-valued variable. Let CC be a set of clocks. A clock constraint over CC is a conjunction of formulae of the form xcx\sim c with xCx\in C, cc\in\mathbb{N}, and {,,>,<}\sim\in\{\leq,\geq,>,<\}. We write x=cx=c as shorthand for the clock constraint xcxcx\geq c\land x\leq c. Let Φ(C)\Phi(C) denote the set of clock constraints over CC.

Let 0\mathbb{R}_{\geq 0} denote the set of non-negative real numbers. We refer to functions ν0C\nu\in\mathbb{R}_{\geq 0}^{C} as clock valuations over CC. A clock valuation ν\nu over a set CC of clocks satisfies a clock constraint of the form xcx\sim c if ν(x)c\nu(x)\sim c and a conjunction ghg\land h if it satisfies both gg and hh. Given a clock constraint gg and clock valuation ν\nu, we write νg\nu\models g if ν\nu satisfies gg.

For a clock valuation ν\nu and d0d\geq 0, we let ν+d\nu+d be the valuation defined by (ν+d)(x)=ν(x)+d(\nu+d)(x)=\nu(x)+d for all xCx\in C. For any valuation ν\nu and DCD\subseteq C, we define 𝗋𝖾𝗌𝖾𝗍D(ν)\mathsf{reset}_{D}(\nu) to be the valuation agreeing with ν\nu for clocks in CDC\setminus D and that assigns 0 to clocks in DD. We denote by 𝟎C\mathbf{0}^{C} the zero valuation, assigning 0 to all clocks in CC.

A timed automaton (TA) is a tuple (L,𝗂𝗇𝗂𝗍,C,Σ,I,E)(L,\ell_{\mathsf{init}},C,\Sigma,I,E) where LL is a finite set of locations, 𝗂𝗇𝗂𝗍L\ell_{\mathsf{init}}\in L is an initial location, CC a finite set of clocks containing a special clock γ\gamma which keeps track of the total time elapsed, Σ\Sigma a finite set of actions, I:LΦ(C)I\colon L\to\Phi(C) an invariant assignment function and EL×Φ(C)×Σ×2C{γ}×LE\subseteq L\times\Phi(C)\times\Sigma\times 2^{C\setminus\{\gamma\}}\times L an edge relation. We only consider deterministic timed automata, i.e., we assume that in any location \ell, there are no two outgoing edges (,g1,a,D1,1)(\ell,g_{1},a,D_{1},\ell_{1}) and (,g2,a,D2,2)(\ell,g_{2},a,D_{2},\ell_{2}) sharing the same action such that the conjunction g1g2g_{1}\land g_{2} is satisfiable. For an edge (,g,a,D,)(\ell,g,a,D,\ell^{\prime}), the clock constraint gg is called the guard of the edge.

A TA 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E) gives rise to an uncountable transition system 𝒯(𝒜)=(S,s𝗂𝗇𝗂𝗍,M,)\mathcal{T}(\mathcal{A})=(S,s_{\mathsf{init}},M,\to) with the state space S=L×0CS=L\times\mathbb{R}_{\geq 0}^{C}, the initial state s𝗂𝗇𝗂𝗍=(𝗂𝗇𝗂𝗍,𝟎C)s_{\mathsf{init}}=(\ell_{\mathsf{init}},\mathbf{0}^{C}), set of actions M=0×(Σ{})M=\mathbb{R}_{\geq 0}\times(\Sigma\cup\{\bot\}) and the transition relation S×M×S\to\subseteq S\times M\times S defined as follows: for any action aΣa\in\Sigma and delay d0d\geq 0, we have that ((,ν),(d,a),(,ν))((\ell,\nu),(d,a),(\ell^{\prime},\nu^{\prime}))\in\to if and only if there is some edge (,g,a,D,)E(\ell,g,a,D,\ell^{\prime})\in E such that ν+dg\nu+d\models g, ν=𝗋𝖾𝗌𝖾𝗍D(ν+d)\nu^{\prime}=\mathsf{reset}_{D}(\nu+d), ν+dI()\nu+d\models I(\ell) and νI()\nu^{\prime}\models I(\ell^{\prime}); for any delay d0d\geq 0, ((,ν)(d,),(,ν+d))((\ell,\nu)(d,\bot),(\ell,\nu+d))\in\to if and only if ν+dI()\nu+d\models I(\ell). Let us note that the satisfaction set of clock constraints is convex: it is described by a conjunction of inequalities. Whenever νI()\nu\models I(\ell), the above conditions ν+dI()\nu+d\models I(\ell) (the invariant holds after the delay) are equivalent to requiring ν+dI()\nu+d^{\prime}\models I(\ell) for all 0dd0\leq d^{\prime}\leq d (the invariant holds at each intermediate time step).

A move is any pair in 0×(Σ{})\mathbb{R}_{\geq 0}\times(\Sigma\cup\{\bot\}) (i.e., an action in the transition system). For any move m=(d,a)m=(d,a) and states ss, sSs^{\prime}\in S, we write s𝑚ss\xrightarrow{m}s^{\prime} or sd,ass\xrightarrow{d,a}s^{\prime} as shorthand for (s,m,s)(s,m,s^{\prime})\in\to. Moves of the form (d,)(d,\bot) are called delay moves. We say a move mm is enabled in a state ss if there is some ss^{\prime} such that s𝑚ss\xrightarrow{m}s^{\prime}. There is at most one successor per move in a state, as we do not allow two guards on edges labeled by the same action to be simultaneously satisfied.

A path in a TA 𝒜\mathcal{A} is a finite or infinite sequence s0(d0,a0)s1S(MS)(SM)ωs_{0}(d_{0},a_{0})s_{1}\ldots\in S(MS)^{*}\cup(SM)^{\omega} such that for all jj, sjs_{j} is a state of 𝒯(𝒜)\mathcal{T}(\mathcal{A}) and for all j>0j>0, sj1dj1,aj1sjs_{j-1}\xrightarrow{d_{j-1},a_{j-1}}s_{j} is a transition in 𝒯(𝒜)\mathcal{T}(\mathcal{A}). A path is initial if s0=s𝗂𝗇𝗂𝗍s_{0}=s_{\mathsf{init}}. For clarity, we write s0d0,a0s1d1,a1s_{0}\xrightarrow{d_{0},a_{0}}s_{1}\xrightarrow{d_{1},a_{1}}\cdots instead of s0(d0,a0)s1(d1,a1)s_{0}(d_{0},a_{0})s_{1}(d_{1},a_{1})\ldots.

An infinite path π=(0,ν0)d0,a0(1,ν1)\pi=(\ell_{0},\nu_{0})\xrightarrow{d_{0},a_{0}}(\ell_{1},\nu_{1})\ldots is time-divergent if the sequence (νj(γ))j(\nu_{j}(\gamma))_{j\in\mathbb{N}} is not bounded from above. A path which is not time-divergent is called time-convergent; time-convergent paths are traditionally ignored in analysis of timed automata [1, 2] as they model unrealistic behavior. This includes ignoring Zeno paths, which are time-convergent paths along which infinitely many actions appear. We write 𝖯𝖺𝗍𝗁𝗌(𝒜)\mathsf{Paths}(\mathcal{A}) for the set of paths of 𝒜\mathcal{A}.

Priorities.

A priority function is a function p:L{0,,d1}p\colon L\to\{0,\ldots,d-1\} with d|L|d\leq|L|. We use priority functions to express parity objectives. A kk-dimensional priority function is a function p:L{0,,d1}kp\colon L\to\{0,\ldots,d-1\}^{k} which assigns vectors of priorities to locations.

Timed games.

We consider two player games played on TAs. We refer to the players as player 1 (𝒫1\mathcal{P}_{1}) for the system and player 2 (𝒫2\mathcal{P}_{2}) for the environment. We use the notion of timed automaton games of [20].

A timed (automaton) game (TG) is a tuple 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}) where 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E) is a TA and (Σ1,Σ2)(\Sigma_{1},\Sigma_{2}) is a partition of Σ\Sigma. We refer to actions in Σi\Sigma_{i} as 𝒫i\mathcal{P}_{i} actions for i{1,2}i\in\{1,2\}.

Recall a move is a pair (d,a)0×(Σ{})(d,a)\in\mathbb{R}_{\geq 0}\times(\Sigma\cup\{\bot\}). Let SS denote the set of states of 𝒯(𝒜)\mathcal{T}(\mathcal{A}). In each state s=(,ν)Ss=(\ell,\nu)\in S, the moves available to 𝒫1\mathcal{P}_{1} are the elements of the set M1(s)M_{1}(s) where

M1(s)={(d,a)0×(Σ1{})s,sd,as}M_{1}(s)=\big{\{}(d,a)\in\mathbb{R}_{\geq 0}\times(\Sigma_{1}\cup\{\bot\})\mid\exists s^{\prime},s\xrightarrow{d,a}s^{\prime}\big{\}}

contains moves with 𝒫1\mathcal{P}_{1} actions and delay moves that are enabled in ss. The set M2(s)M_{2}(s) is defined analogously with 𝒫2\mathcal{P}_{2} actions. We write M1M_{1} and M2M_{2} for the set of all moves of 𝒫1\mathcal{P}_{1} and 𝒫2\mathcal{P}_{2} respectively.

At each state ss along a play, both players simultaneously select a move (d(1),a(1))M1(s)(d^{(1)},a^{(1)})\in M_{1}(s) and (d(2),a(2))M2(s)(d^{(2)},a^{(2)})\in M_{2}(s). Intuitively, the fastest player gets to act and in case of a tie, the move is chosen non-deterministically. This is formalized by the joint destination function δ:S×M1×M22S\delta:S\times M_{1}\times M_{2}\to 2^{S}, defined by

δ(s,(d(1),a(1)),(d(2),a(2)))={{sSsd(1),a(1)s}if d(1)<d(2){sSsd(2),a(2)s}if d(1)>d(2){sSsd(i),a(i)s,i=1,2}if d(1)=d(2).\delta(s,(d^{(1)},a^{(1)}),(d^{(2)},a^{(2)}))=\begin{cases}\{s^{\prime}\in S\mid s\xrightarrow{d^{(1)},a^{(1)}}s^{\prime}\}&\text{if }d^{(1)}<d^{(2)}\\ \{s^{\prime}\in S\mid s\xrightarrow{d^{(2)},a^{(2)}}s^{\prime}\}&\text{if }d^{(1)}>d^{(2)}\\ \{s^{\prime}\in S\mid s\xrightarrow{d^{(i)},a^{(i)}}s^{\prime},i=1,2\}&\text{if }d^{(1)}=d^{(2)}.\end{cases}

For m(1)=(d(1),a(1))M1m^{(1)}=(d^{(1)},a^{(1)})\in M_{1} and m(2)=(d(2),a(2))M2m^{(2)}=(d^{(2)},a^{(2)})\in M_{2}, we write 𝖽𝖾𝗅𝖺𝗒(m(1),m(2))=min{d(1),d(2)}\mathsf{delay}(m^{(1)},m^{(2)})=\min\{d^{(1)},d^{(2)}\} to denote the delay occurring when 𝒫1\mathcal{P}_{1} and 𝒫2\mathcal{P}_{2} play m(1)m^{(1)} and m(2)m^{(2)} respectively.

A play is defined similarly to a path: it is a finite or infinite sequence of the form s0(m0(1),m0(2))s1(m1(1),m1(2))S((M1×M2)S)(S(M1×M2))ωs_{0}(m_{0}^{(1)},m_{0}^{(2)})s_{1}(m_{1}^{(1)},m_{1}^{(2)})\ldots\in S((M_{1}\times M_{2})S)^{*}\cup(S(M_{1}\times M_{2}))^{\omega} where for all indices jj, mj(i)Mi(sj)m_{j}^{(i)}\in M_{i}(s_{j}) for i{1,2}i\in\{1,2\}, and for j>0j>0, sjδ(sj1,mj1(1),mj1(2))s_{j}\in\delta(s_{j-1},m_{j-1}^{(1)},m_{j-1}^{(2)}). A play is initial if s0=s𝗂𝗇𝗂𝗍s_{0}=s_{\mathsf{init}}. For a finite play π=s0sn\pi=s_{0}\ldots s_{n}, we set 𝗅𝖺𝗌𝗍(π)=sn\mathsf{last}(\pi)=s_{n}. For an infinite play π=s0\pi=s_{0}\ldots, we write π|n=s0(m0(0),m0(1))sn\pi_{|n}=s_{0}(m_{0}^{(0)},m_{0}^{(1)})\ldots s_{n}. A play follows a path in the TA, but there need not be a unique path compatible with a play: if along a play, at the nnth step, the moves of both players share the same delay and target state, either move can label the nnth transition in a matching path.

Similarly to paths, an infinite play π=(0,ν0)(m0(1),m0(2))\pi=(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\cdots is time-divergent if and only if (νj(γ))j(\nu_{j}(\gamma))_{j\in\mathbb{N}} is not bounded from above. Otherwise, we say a play is time-convergent. We define the following sets: 𝖯𝗅𝖺𝗒𝗌(𝒢)\mathsf{Plays}(\mathcal{G}) for the set of plays of 𝒢\mathcal{G}; 𝖯𝗅𝖺𝗒𝗌𝑓𝑖𝑛(𝒢)\mathsf{Plays}_{\mathit{fin}}(\mathcal{G}) for the set of finite plays of 𝒢\mathcal{G}; 𝖯𝗅𝖺𝗒𝗌(𝒢)\mathsf{Plays}_{\infty}(\mathcal{G}) for the set of time-divergent plays of 𝒢\mathcal{G}. We also write 𝖯𝗅𝖺𝗒𝗌(𝒢,s)\mathsf{Plays}(\mathcal{G},s) to denote plays starting in state ss of 𝒯(𝒜)\mathcal{T}(\mathcal{A}).

Note that our games are built on deterministic TAs. From a modeling standpoint, this is not restrictive, as we can simulate a non-deterministic TA through the actions of 𝒫2\mathcal{P}_{2}.

Strategies.

A strategy for 𝒫i\mathcal{P}_{i} is a function describing which move a player should use based on a play history. Formally, a strategy for 𝒫i\mathcal{P}_{i} is a function σi:𝖯𝗅𝖺𝗒𝗌𝑓𝑖𝑛(𝒢)Mi\sigma_{i}\colon\mathsf{Plays}_{\mathit{fin}}(\mathcal{G})\to M_{i} such that for all π𝖯𝗅𝖺𝗒𝗌𝑓𝑖𝑛(𝒢)\pi\in\mathsf{Plays}_{\mathit{fin}}(\mathcal{G}), σi(π)Mi(𝗅𝖺𝗌𝗍(π))\sigma_{i}(\pi)\in M_{i}(\mathsf{last}(\pi)). This last condition requires that each move given by a strategy be enabled in the last state of a play.

A play s0(m0(1),m0(2))s1s_{0}(m_{0}^{(1)},m_{0}^{(2)})s_{1}\ldots is said to be consistent with a 𝒫i\mathcal{P}_{i}-strategy σi\sigma_{i} if for all indices jj, mj(i)=σi(π|j)m_{j}^{(i)}=\sigma_{i}(\pi_{|j}). Given a 𝒫i\mathcal{P}_{i}-strategy σi\sigma_{i}, we define 𝖮𝗎𝗍𝖼𝗈𝗆𝖾i(σi)\mathsf{Outcome}_{i}(\sigma_{i}) (resp. 𝖮𝗎𝗍𝖼𝗈𝗆𝖾i(σi,s)\mathsf{Outcome}_{i}(\sigma_{i},s)) to be the set of plays (resp. set of plays starting in state ss) consistent with σi\sigma_{i}.

A 𝒫i\mathcal{P}_{i}-strategy σi\sigma_{i} is move-independent if the move it suggests depends only on the sequence of states seen in the play. Formally, σi\sigma_{i} is move-independent if for all finite plays π=s0(m0(1),m0(2))s1sk\pi=s_{0}(m_{0}^{(1)},m_{0}^{(2)})s_{1}\ldots s_{k} and π~=s~0(m~0(1),m~0(2))s~1s~k\tilde{\pi}=\tilde{s}_{0}(\tilde{m}_{0}^{(1)},\tilde{m}_{0}^{(2)})\tilde{s}_{1}\ldots\tilde{s}_{k} if sn=s~ns_{n}=\tilde{s}_{n} for all n{0,,k}n\in\{0,\ldots,k\}, then σi(π)=σi(π~)\sigma_{i}(\pi)=\sigma_{i}(\tilde{\pi}). We use move-independent strategies in the proof of our reduction to relabel some moves of a play without affecting the suggestions of the strategy.

Objectives.

An objective represents the property we desire on paths of a TA or a goal of a player in a TG. Formally, we define an objective as a set Ψ𝖯𝖺𝗍𝗁𝗌(𝒜)\Psi\subseteq\mathsf{Paths}(\mathcal{A}) of infinite paths (when studying TAs) or a set Ψ𝖯𝗅𝖺𝗒𝗌(𝒢)\Psi\subseteq\mathsf{Plays}(\mathcal{G}) of infinite plays (when studying TGs). An objective is state-based (resp. location-based) if it depends solely on the sequence of states (resp. of locations) in a path or play. Any location-based objective is state-based.

Remark 2.1.

In the sequel, we present objectives exclusively as sets of plays. Definitions for paths are analogous as all the objectives defined hereafter are state-based.

We use the following classical location-based objectives. A reachability objective for a set FF of locations is the set of plays that pass through a location in FF. The complement of a reachability objective is a safety objective; given a set FF, it is the set of plays that never visit a location in FF. A Büchi objective for a set FF contains all plays that pass through locations in FF infinitely often and the complement co-Büchi objective consists of plays traversing locations in FF finitely often. The parity objective for a priority function pp over the set of locations requires that the smallest priority seen infinitely often is even.

Fix FF a set of locations and pp a priority function. The aforementioned objectives are formally defined as follows.

  • 𝖱𝖾𝖺𝖼𝗁(F)={(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)n,nF}\mathsf{Reach}(F)=\{(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots\in\mathsf{Plays}(\mathcal{G})\mid\exists\,n,\,\ell_{n}\in F\};

  • 𝖲𝖺𝖿𝖾(F)={(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)n,nF}\mathsf{Safe}(F)=\{(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots\in\mathsf{Plays}(\mathcal{G})\mid\forall\,n,\,\ell_{n}\notin F\}.

  • 𝖡𝗎¨𝖼𝗁𝗂(F)={(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)j,nj,nF}\mathsf{B\ddot{u}chi}(F)=\{(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots\in\mathsf{Plays}(\mathcal{G})\mid\forall\,j,\,\exists\,n\geq j,\,\ell_{n}\in F\};

  • 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(F)={(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)j,nj,nF}\mathsf{coB\ddot{u}chi}(F)=\{(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots\in\mathsf{Plays}(\mathcal{G})\mid\exists\,j,\,\forall\,n\geq j,\,\ell_{n}\notin F\};

  • 𝖯𝖺𝗋𝗂𝗍𝗒(p)={(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)(lim infnp(n))mod2=0}\mathsf{Parity}(p)=\{(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots\in\mathsf{Plays}(\mathcal{G})\mid(\liminf_{n\to\infty}p(\ell_{n}))\bmod 2=0\}.

Winning conditions.

In games, we distinguish objectives and winning conditions. We adopt the definition of [20]. Let Ψ\Psi be an objective. It is desirable to have victory be achieved in a physically meaningful way: for example, it is unrealistic to have a safety objective be achieved by stopping time. This motivates a restriction to time-divergent plays. However, this requires 𝒫1\mathcal{P}_{1} to force the divergence of plays, which is not reasonable, as 𝒫2\mathcal{P}_{2} can stall using delays with zero time units. Thus we also declare winning time-convergent plays where 𝒫1\mathcal{P}_{1} is blameless. Let Blameless1\textsf{Blameless}_{1} denote the set of 𝒫1\mathcal{P}_{1}-blameless plays, which we define in the following way.

Let π=s0(m0(1),m0(2))s1\pi=s_{0}(m_{0}^{(1)},m_{0}^{(2)})s_{1}\ldots be a (possibly finite) play. We say 𝒫1\mathcal{P}_{1} is not responsible (or not to be blamed) for the transition at step nn in π\pi if either dn(2)<dn(1)d_{n}^{(2)}<d_{n}^{(1)} (𝒫2\mathcal{P}_{2} is faster) or dn(1)=dn(2)d_{n}^{(1)}=d_{n}^{(2)} and sndn(1),an(1)sn+1s_{n}\xrightarrow{d_{n}^{(1)},a_{n}^{(1)}}s_{n+1} does not hold in 𝒯(𝒜)\mathcal{T}(\mathcal{A}) (𝒫2\mathcal{P}_{2}’s move was selected and did not have the same target state as 𝒫1\mathcal{P}_{1}’s) where mn(i)=(dn(i),an(i))m_{n}^{(i)}=(d_{n}^{(i)},a_{n}^{(i)}) for i{1,2}i\in\{1,2\}. The set Blameless1\textsf{Blameless}_{1} is formally defined as the set of infinite plays π\pi such that there is some jj such that for all njn\geq j, 𝒫1\mathcal{P}_{1} is not responsible for the transition at step nn in π\pi.

Given an objective Ψ\Psi, we set the winning condition 𝖶𝖢1(Ψ)\mathsf{WC}_{1}(\Psi) for 𝒫1\mathcal{P}_{1} to be the set of plays

𝖶𝖢1(Ψ)=(Ψ𝖯𝗅𝖺𝗒𝗌(𝒢))(Blameless1𝖯𝗅𝖺𝗒𝗌(𝒢)).\mathsf{WC}_{1}(\Psi)=(\Psi\cap\mathsf{Plays}_{\infty}(\mathcal{G}))\cup(\textsf{Blameless}_{1}\setminus\mathsf{Plays}_{\infty}(\mathcal{G})).

Winning conditions for 𝒫2\mathcal{P}_{2} are defined by exchanging the roles of the players in the former definition.

We consider that the two players are adversaries and have opposite objectives, Ψ\Psi and ¬Ψ\neg\Psi (shorthand for 𝖯𝗅𝖺𝗒𝗌(𝒢)Ψ\mathsf{Plays}(\mathcal{G})\setminus\Psi). Let us note that there may be plays π\pi such that π𝖶𝖢1(Ψ)\pi\notin\mathsf{WC}_{1}(\Psi) and π𝖶𝖢2(¬Ψ)\pi\notin\mathsf{WC}_{2}(\neg\Psi), e.g., any time-convergent play in which neither player is blameless.

A winning strategy for 𝒫i\mathcal{P}_{i} for an objective Ψ\Psi from a state s0s_{0} is a strategy σi\sigma_{i} such that 𝖮𝗎𝗍𝖼𝗈𝗆𝖾i(σi,s0)𝖶𝖢i(Ψ)\mathsf{Outcome}_{i}(\sigma_{i},s_{0})\subseteq\mathsf{WC}_{i}(\Psi). Move-independent strategies are known to suffice for timed automaton games with state-based objectives [20].

Decision problems.

We consider two different problems for an objective Ψ\Psi. The first is the verification problem for Ψ\Psi, which asks given a timed automaton whether all time-divergent initial paths satisfy the objective. Second is the realizability problem, which asks whether in a timed automaton game with objective Ψ\Psi, 𝒫1\mathcal{P}_{1} has a winning strategy from the initial state.

3 Window objectives

We consider the fixed window parity and direct fixed window parity problems from [14] and adapt the discrete-time requirements from their initial formulation to dense-time requirements for TAs and TGs. Intuitively, a direct fixed window parity objective for some bound λ\lambda requires that at all points along a play or a path, we see a window of size less than λ\lambda in which the smallest priority is even. The (non-direct) fixed window parity objective requires that the direct objective holds for some suffix. In the sequel, we drop “fixed” from the name of these objectives.

In this section, we formalize the timed window parity objective in TGs as sets of plays. The definition for paths of TAs is analogous (see Remark 2.1). First, we define the timed good window objective, which formalizes the notion of good windows. Then we introduce the timed window parity objective and its direct variant. We compare these objectives to the parity objective and argue that satisfying a window objective implies satisfying a parity objective, and that window objectives do not coincide with parity objectives in general, via an example. We conclude this section by proving some useful properties of this objective.

For this entire section, we fix a TG 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}) where 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ1Σ2,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma_{1}\cup\Sigma_{2},I,E), a priority function p:L{0,,d1}p\colon L\to\{0,\ldots,d-1\} and a bound λ{0}\lambda\in\mathbb{N}\setminus\{0\} on the size of windows.

3.1 Definitions

Good windows.

A window objective is based on a notion of good windows. Intuitively, a good window for the parity objective is a fragment of a play in which less than λ\lambda time units pass and the smallest priority of the locations appearing in this fragment is even.

The timed good window objective encompasses plays in which there is a good window at the start of the play. We formally define the timed good window (parity) objective as the set

𝖳𝖦𝖶(p,λ)={(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)j,\displaystyle\mathsf{TGW}(p,\lambda)=\big{\{}(\ell_{0},\nu_{0})(m^{(1)}_{0},m^{(2)}_{0})\ldots\in\mathsf{Plays}(\mathcal{G})\mid\exists\,j\in\mathbb{N},\, min0kjp(k)mod2=0\displaystyle\min_{0\leq k\leq j}p(\ell_{k})\bmod 2=0
νj(γ)ν0(γ)<λ}.\displaystyle\land\nu_{j}(\gamma)-\nu_{0}(\gamma)<\lambda\big{\}}.

The timed good window objective is a state-based objective.

We introduce some terminology related to windows. Let π=(0,ν0)(m0(1),m0(2))(1,ν1)\pi=(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})(\ell_{1},\nu_{1})\ldots be an infinite play. We say that the window opened at step nn closes at step jj if minnkjp(k)\min_{n\leq k\leq j}p(\ell_{k}) is even and for all nj<jn\leq j^{\prime}<j, minnkjp(k)\min_{n\leq k\leq j^{\prime}}p(\ell_{k}) is odd. Note that, in this case, we must have minnkjp(k)=p(j)\min_{n\leq k\leq j}p(\ell_{k})=p(\ell_{j}). In other words, a window closes when an even priority smaller than all other priorities in the window is encountered. The window opened at step nn is said to close immediately if p(n)p(\ell_{n}) is even.

If a window does not close within λ\lambda time units, we refer to it as a bad window: the window opened at step nn is a bad window if there is some jnj^{\star}\geq n such that νj(γ)νn(γ)λ\nu_{j^{\star}}(\gamma)-\nu_{n}(\gamma)\geq\lambda and for all jnj\geq n, if νj(γ)νn(γ)<λ\nu_{j}(\gamma)-\nu_{n}(\gamma)<\lambda, then minnkjp(k)\min_{n\leq k\leq j}p(\ell_{k}) is odd.

Direct timed window objective.

The direct window parity objective in graph games requires that every suffix of the play belongs to the good window objective. To adapt this objective to a dense-time setting, we must express that at all times, we have a good window. We require that this property holds not only at states which appear explicitly along plays, but also in the continuum between them (during the delay within a location). To this end, let us introduce a notation for suffixes of play.

Let π=(0,ν0)(m0(1),m0(2))(1,ν1)𝖯𝗅𝖺𝗒𝗌(𝒢)\pi=(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})(\ell_{1},\nu_{1})\ldots\in\mathsf{Plays}(\mathcal{G}) be a play. For all i{1,2}i\in\{1,2\} and all nn\in\mathbb{N}, write mn(i)=(dn(i),an(i))m_{n}^{(i)}=(d_{n}^{(i)},a_{n}^{(i)}) and dn=𝖽𝖾𝗅𝖺𝗒(mn(1),mn(2))=νn+1(γ)νn(γ)d_{n}=\mathsf{delay}(m_{n}^{(1)},m_{n}^{(2)})=\nu_{n+1}(\gamma)-\nu_{n}(\gamma). For any nn\in\mathbb{N} and d[0,dn]d\in[0,d_{n}], let πn+d\pi_{n\to}^{+d} be the delayed suffix of π\pi starting in position nn delayed by dd time units, defined as

πn+d=(n,νn+d)((dn(1)d,an(1)),(dn(2)d,an(2)))(n+1,νn+1)(mn+1(1),mn+1(2))\pi_{n\to}^{+d}=(\ell_{n},\nu_{n}+d)((d_{n}^{(1)}-d,a_{n}^{(1)}),(d_{n}^{(2)}-d,a_{n}^{(2)}))(\ell_{n+1},\nu_{n+1})(m_{n+1}^{(1)},m_{n+1}^{(2)})\ldots

If d=0d=0, we write πn\pi_{n\to} rather than πn+0\pi^{+0}_{n\to}.

Using the notations above, we define the direct timed window (parity) objective as the set

𝖣𝖳𝖶(p,λ)={π𝖯𝗅𝖺𝗒𝗌(𝒢)n,d[0,dn],πn+d𝖳𝖦𝖶(p,λ)}.\mathsf{DTW}(p,\lambda)=\{\pi\in\mathsf{Plays}(\mathcal{G})\mid\forall\,n\in\mathbb{N},\,\forall\,d\in[0,d_{n}],\,\pi_{n\to}^{+d}\in\mathsf{TGW}(p,\lambda)\}.

The direct timed window objective is state-based: the timed good window objective is state-based and the delays dnd_{n} are encoded in states (measured by clock γ\gamma), thus all conditions in the definition of the direct timed window objective depend only the sequence of states of a play.

A good window for a delayed suffix πn+d\pi_{n\to}^{+d} can be expressed using exclusively indices from the play π\pi. In fact, πn+d𝖳𝖦𝖶(p,λ)\pi_{n\to}^{+d}\in\mathsf{TGW}(p,\lambda) if and only if there is some jnj\geq n such that minnkjp(k)\min_{n\leq k\leq j}p(\ell_{k}) is even and νj(γ)νn(γ)d<λ\nu_{j}(\gamma)-\nu_{n}(\gamma)-d<\lambda. We use this characterization to avoid mixing indices from plays π\pi and πn+d\pi_{n\to}^{+d} in proofs.

Timed window objective.

We define the timed window (parity) objective as a prefix-independent variant of the direct timed window objective. Formally, we let

𝖳𝖶(p,λ)={π𝖯𝗅𝖺𝗒𝗌(𝒢)n,πn𝖣𝖳𝖶(p,λ)}.\mathsf{TW}(p,\lambda)=\{\pi\in\mathsf{Plays}(\mathcal{G})\mid\exists\,n\in\mathbb{N},\,\pi_{n\to}\in\mathsf{DTW}(p,\lambda)\}.

The timed window objective requires the direct timed window objective to hold from some point on. This implies that the timed window objective is state-based.

3.2 Comparison with parity objectives

Both the direct and non-direct timed window objectives reinforce the parity objective with time bounds. It can easily be shown that satisfying the direct timed window objective implies satisfying a parity objective. Any odd priority seen along a play in 𝖣𝖳𝖶(p,λ)\mathsf{DTW}(p,\lambda) is answered within λ\lambda time units by a smaller even priority. Therefore, should any odd priority appear infinitely often, it is followed by a smaller even priority. As the set of priorities is finite, there must be some smaller even priority appearing infinitely often. This in turn implies that the parity objective is fulfilled. Using prefix-independence of the parity objective, we can also conclude that satisfying the non-direct timed window objective implies satisfaction of the parity objective.

However, in some cases, the timed window objectives may not hold even though the parity objective holds. For simplicity, we provide an example on a TA, rather than a TG. Consider the timed automaton 𝒜\mathcal{A} depicted in Figure 1.

Figure 1: Timed automaton 𝒜\mathcal{A}. Edges are labeled with triples guard-action-resets. Priorities are beneath locations. The initial state is denoted by an incoming arrow with no origin.
\pgfmathresultpt0\ell_{0}x2x\leq 2\pgfmathresultpt11\pgfmathresultpt1\ell_{1}𝗍𝗋𝗎𝖾\mathsf{true}\pgfmathresultpt22\pgfmathresultpt2\ell_{2}x2x\leq 2\pgfmathresultpt0\pgfmathresultpt(𝗍𝗋𝗎𝖾,a,)(\mathsf{true},a,\varnothing)\pgfmathresultpt(𝗍𝗋𝗎𝖾,a,{x})(\mathsf{true},a,\{x\})(𝗍𝗋𝗎𝖾,a,{x})(\mathsf{true},a,\{x\})

All time-divergent paths of 𝒜\mathcal{A} satisfy the parity objective. We can classify time-divergent paths in two families: either 2\ell_{2} is visited infinitely often, or from some point on only delay transitions are taken in 1\ell_{1}. In the former case, the smallest priority seen infinitely often is 0 and in the latter case, it is 22.

However, there is a path π\pi such that for all window sizes λ{0}\lambda\in\mathbb{N}\setminus\{0\}, π\pi violates the direct and non-direct timed window objectives. Initialize nn to 11. This path can be described by the following loop: play action aa in 0\ell_{0} with delay 0, followed by action aa with delay nn in 1\ell_{1} and action aa in 2\ell_{2} with delay 0, increase nn by 11 and repeat. The window opened in 0\ell_{0} only closes when location 2\ell_{2} is entered. At the nn-th step of the loop, this window closes after nn time units. As we let nn increase to infinity, there is no window size λ\lambda such that this path satisfies the direct and non-direct timed window objectives for λ\lambda.

This example demonstrates the interest of reinforcing parity objectives with time bounds; we can enforce that there is a bounded delay between an odd priority and a smaller even priority in a path.

3.3 Properties of window objectives

We present several properties of the timed window objective. First, we show that we need only check good windows for non-delayed suffixes πn\pi_{n\to}. Once this property is proven, we move on to the inductive property of windows, which is the crux of the reduction in the next section. This inductive property states that when we close a window in less than λ\lambda time units all other windows opened in the meantime also close in less than λ\lambda time units.

The definition of the direct timed window objective requires checking uncountably many windows. This can be reduced to a countable number of windows: those opened when entering states appearing along a play. Let us explain why no information is lost through such a restriction. We rely on a timeline-like visual representation given in Figure 2. Consider a window that does not close immediately and is opened in some state of the play delayed by dd time units, of the form (n,νn+d)(\ell_{n},\nu_{n}+d) (depicted by the circle at the start of the bottom line of Figure 2). This implies that the priority of n\ell_{n} is odd, otherwise this window would close immediately. Assume the window opened at step nn closes at step jj (illustrated by the middle line of the figure) in less than λ\lambda time units. As the priority of n\ell_{n} is odd, we must have jn+1j\geq n+1 (i.e., the window opened at step nn is still open as long as n\ell_{n} is not left). These lines cover the same locations, i.e., the set of locations appearing along the time-frame given by both the dotted and dashed lines coincide. Thus, the window opened dd time units after step nn closes in at most λd\lambda-d time units, at the same time as the window opened at step nn.

Figure 2: A timeline representation of a play. Circles with labels indicate entry in a location. The dotted line underneath represents a window opened at step nn and closed at step jj and the dashed line underneath the window opened dd time units after step nn.
n\ell_{n}n+1\ell_{n+1}j1\ell_{j-1}j\ell_{j}
Lemma 3.1.

Let π=(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)\pi=(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots\in\mathsf{Plays}(\mathcal{G}) and nn\in\mathbb{N}. Let dnd_{n} denote 𝖽𝖾𝗅𝖺𝗒(mn(1),mn(2))\mathsf{delay}(m_{n}^{(1)},m_{n}^{(2)}). Then πn𝖳𝖦𝖶(p,λ)\pi_{n\to}\in\mathsf{TGW}(p,\lambda) if and only if for all d[0,dn]d\in[0,d_{n}], πn+d𝖳𝖦𝖶(p,λ)\pi_{n\to}^{+d}\in\mathsf{TGW}(p,\lambda). Furthermore, π𝖣𝖳𝖶(p,λ)\pi\in\mathsf{DTW}(p,\lambda) if and only if for all nn\in\mathbb{N}, πn𝖳𝖦𝖶(p,λ)\pi_{n\to}\in\mathsf{TGW}(p,\lambda).

Proof 3.2.

Assume for all d[0,dn]d\in[0,d_{n}], πn+d𝖳𝖦𝖶(p,λ)\pi_{n\to}^{+d}\in\mathsf{TGW}(p,\lambda) holds. Selecting d=0d=0 yields πn𝖳𝖦𝖶(p,λ)\pi_{n\to}\in\mathsf{TGW}(p,\lambda).

Conversely, assume that πn𝖳𝖦𝖶(p,λ)\pi_{n\to}\in\mathsf{TGW}(p,\lambda). Let d[0,dn]d\in[0,d_{n}]. By definition of timed good window objectives, there is some jnj\geq n such that νj(γ)νn(γ)<λ\nu_{j}(\gamma)-\nu_{n}(\gamma)<\lambda and minnkjp(k)\min_{n\leq k\leq j}p(\ell_{k}) is even. The fact that πn+d𝖳𝖦𝖶(p,λ)\pi_{n\to}^{+d}\in\mathsf{TGW}(p,\lambda) follows immediately from the chain of inequalities νj(γ)νn(γ)dνj(γ)νn(γ)<λ\nu_{j}(\gamma)-\nu_{n}(\gamma)-d\leq\nu_{j}(\gamma)-\nu_{n}(\gamma)<\lambda.

The last claim of the lemma follows immediately from the first part of the lemma and the definition of direct timed window objectives.

In turn-based games on graphs, window objectives exhibit an inductive property: when a window closes, all subsequently opened windows close (or were closed earlier) [14]. This is also the case for the timed variant. A window closes when an even priority smaller than all priorities seen in the window is encountered. This priority is also smaller than priorities in all windows opened in the meantime, therefore they must close at this point (if they are not yet closed). We state this property only for windows opened at steps along the run and neglect the continuum in between due to Lemma 3.1.

Lemma 3.3 (Inductive property).

Let π=(0,ν0)(m0(1),m0(2))(1,ν1)𝖯𝗅𝖺𝗒𝗌(𝒢)\pi=(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})(\ell_{1},\nu_{1})\ldots\in\mathsf{Plays}(\mathcal{G}). Let nn\in\mathbb{N}. Assume the window opened at step nn closes at step jj and νj(γ)νn(γ)<λ\nu_{j}(\gamma)-\nu_{n}(\gamma)<\lambda. Then, for all nijn\leq i\leq j, πi𝖳𝖦𝖶(p,λ)\pi_{i\to}\in\mathsf{TGW}(p,\lambda).

Proof 3.4.

Fix i{n,,j}i\in\{n,\ldots,j\}. The sequence (νk(γ))k(\nu_{k}(\gamma))_{k\in\mathbb{N}} is non-decreasing, which implies that νj(γ)νi(γ)νj(γ)νn(γ)<λ\nu_{j}(\gamma)-\nu_{i}(\gamma)\leq\nu_{j}(\gamma)-\nu_{n}(\gamma)<\lambda. It remains to show that minikjp(k)\min_{i\leq k\leq j}p(\ell_{k}) is even. As the window opened at step nn closes at step jj, we have minnkjp(k)=p(j)\min_{n\leq k\leq j}p(\ell_{k})=p(\ell_{j}) and p(j)p(\ell_{j}) is even. We have the inequalities p(j)minnkjp(k)minikjp(k)p(j);p(\ell_{j})\leq\min_{n\leq k\leq j}p(\ell_{k})\leq\min_{i\leq k\leq j}p(\ell_{k})\leq p(\ell_{j}); the first follows from above, the second because we take a minimum of a smaller set and the third by definition of minimum. Thus minikjp(k)=p(j)\min_{i\leq k\leq j}p(\ell_{k})=p(\ell_{j}) is even, ending the proof.

It follows from this inductive property that it suffices to keep track of one window at a time when checking whether a play satisfies the (direct) timed window objective.

4 Reduction

We establish in this section that the realizability (resp. verification) problem for the direct/non-direct timed window parity objective can be reduced to the the realizability (resp. verification) problem for safety/co-Büchi objectives on an expanded TG (resp. TA). Our reduction uses the same construction of an expanded TA for both the verification and realizability problems. A state of the expanded TA describes the status of a window, allowing the detection of bad windows. This section is divided in three parts.

Firstly, we describe how a TA can be expanded with window-related information. Then we show that time-divergent plays in a TG and its expansion can be related, by constructing two (non-bijective) mappings, in a manner such that a time-divergent play in the base TG satisfies the direct/non-direct timed window parity objective if and only if its related play in the expanded TG satisfies the safety/co-Büchi objective. These results developed for plays are (indirectly) applied to paths in order to show the correctness of the reduction for the verification problem. Thirdly, we establish that the mappings developed in the second part can be leveraged to translate strategies in TGs, and prove that the presented translations preserve winning strategies, proving correctness of the reduction for TGs.

For this section, we fix a TG 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}) with TA 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E), a priority function pp and a bound λ\lambda on the size of windows.

4.1 Encoding the objective in an automaton

To solve the verification and realizability problems for the direct/non-direct timed window objective, we rely on a reduction to a safety/co-Büchi objective in an expanded TA. The inductive property (Lemma 3.3) implies that it suffices to keep track of one window at a time when checking a window objective. Following this, we encode the status of a window in the TA.

A window can be summarized by two characteristics: the lowest priority within it and for how long it has been open. To keep track of the first trait, we encode the lowest priority seen in the current window in locations of the TA. An expanded location is a pair (,q)(\ell,q) where q{0,,d1}q\in\{0,\ldots,d-1\}; the number qq represents the smallest priority in the window currently under consideration. We say a pair (,q)(\ell,q) is an even (resp. odd) location if qq is even (resp. odd). To measure how long a window is opened, we use an additional clock zCz\notin C that does not appear in 𝒜\mathcal{A}. This clock is reset whenever a new window opens or a bad window is detected.

The focus of the reduction is over time-divergent plays. Some time-convergent plays may violate a timed good window objective without ever seeing a bad window, e.g., when time does not progress up to the supplied window size. Along time-divergent plays however, the lack of a good window at any point equates to the presence of a bad window. We encode the (resp. direct) timed window objective as a co-Büchi (resp. safety) objective. Locations to avoid in both cases indicate bad windows and are additional expanded locations (,𝖻𝖺𝖽)(\ell,\mathsf{bad}), referred to as bad locations. We introduce two new actions β1\beta_{1} and β2\beta_{2}, one per player, for entering and exiting bad locations. While only the action β1\beta_{1} is sufficient for the reduction to be correct, introducing two actions allows for a simpler correctness proof in the case of TGs; we can exploit the fact that 𝒫2\mathcal{P}_{2} can enter and exit bad locations. We use two new actions no matter the considered problem: this enables us to use the same expanded TA construction for both the verification problem and realizability problem.

It remains to discuss how the initial location, edges and invariants of an expanded TA are defined. We discuss edges and invariants for each type of expanded location, starting with even locations, then odd locations and finally bad locations. Each rule we introduce hereafter is followed by an application on an example. We depict the TA of Figure 1 and the reachable fragment of its expansion in Figure 3 and use these TAs for our example. For this explanation, we use the terminology of TAs (paths) rather than that of TGs (plays).

The initial location of an expanded TA encodes the window opened at the start of an initial path of the original TA. This window contains only a single priority, that is the priority of the initial location of the original TA. Thus, the initial location of the expanded TA is the expanded location (𝗂𝗇𝗂𝗍,p(𝗂𝗇𝗂𝗍))(\ell_{\mathsf{init}},p(\ell_{\mathsf{init}})). In the case of our example, the initial location is 0\ell_{0} and the priority of 0\ell_{0} is 11, thus the initial location of the expanded TA is (0,1)(\ell_{0},1).

Even expanded locations encode windows that are closed and do not need to be monitored anymore. Therefore, the invariant of an even expanded location is unchanged from the invariant of the original location in the original TA. Similarly, we do not add any additional constraints on the edges leaving even expanded locations. Leaving an even expanded location means opening a new window: any edge leaving an even expanded location has an expanded location of the form (,p())(\ell,p(\ell)) as its target (p()p(\ell) is the only priority occurring in the new window) and resets zz to start measuring the size of the new window. For example, in Figure 3, the edge from (2,0)(\ell_{2},0) to (0,1)(\ell_{0},1) of the expanded TA is obtained this way from the edge from 2\ell_{2} to 0\ell_{0} in the original TA.

Odd expanded locations represent windows that are still open. The clock zz measures how long a window has been opened. If zz reaches λ\lambda in an odd expanded location, that equates to a bad window in the original TA. In this case, we force time-divergent paths of the expanded TA to visit a bad location. This is done in three steps. We strengthen the invariant of odd expanded locations to prevent zz from exceeding λ\lambda. We also disable the edges that leave odd expanded locations and do not go to a bad location whenever z=λz=\lambda holds, by reinforcing the guards of such edges by z<λz<\lambda. Finally, we include two edges to a bad location (one per additional action β1\beta_{1} and β2\beta_{2}), which can only be used whenever there is a bad window, i.e., when z=λz=\lambda. In the case of our example, if zz reaches λ\lambda in (0,1)(\ell_{0},1), we redirect the path to location (0,𝖻𝖺𝖽)(\ell_{0},\mathsf{bad}), indicating a window has not closed in time in 0\ell_{0}. When zz reaches λ\lambda in (0,1)(\ell_{0},1), no more non-zero delays are possible, the edge from (0,1)(\ell_{0},1) to (1,1)(\ell_{1},1) is disabled and only the edges to (0,𝖻𝖺𝖽)(\ell_{0},\mathsf{bad}) are enabled.

When leaving an odd expanded location using an edge, assuming we do not go to a bad location, the smallest priority of the window has to be updated. The new smallest priority is the minimum between the smallest priority of the window prior to traversing the edge and the priority of the target location. In our example for instance, the edge from (1,1(\ell_{1},1) to (2,0)(\ell_{2},0) is derived from the edge from 1\ell_{1} to 2\ell_{2} in the original TA. As the priority of 2\ell_{2} is 0 and is smaller than the current smallest priority of the window encoded by location (1,1)(\ell_{1},1), the smallest priority of the window is updated to 0=min{1,p(2)}0=\min\{1,p(\ell_{2})\} when traversing the edge. Note that we do not reset zz despite the encoded window closing upon entering (2,0)(\ell_{2},0): the value of zz does not matter while in even locations, thus there is no need for a reset when closing the window.

A bad location (,𝖻𝖺𝖽)(\ell,\mathsf{bad}) is entered whenever a bad window is detected while in location \ell. Bad locations are equipped with the invariant z=0z=0 preventing the passage of time. In this way, for time-divergent paths, a new window is opened immediately after a bad window is detected. For each additional action β1\beta_{1} and β2\beta_{2}, we add an edge exiting the bad location. Edges leaving a bad location (,𝖻𝖺𝖽)(\ell,\mathsf{bad}) have as their target the expanded location (,p())(\ell,p(\ell)); we reopen a window in the location in which a bad window was detected. The clock zz is not reset by these edges, as it was reset prior to entering the bad location and the invariant z=0z=0 prevents any non-zero delay in the bad location. For instance, the edges from (1,𝖻𝖺𝖽)(\ell_{1},\mathsf{bad}) to (1,2)(\ell_{1},2) in our example represent that when reopening while in location 1\ell_{1}, the smallest priority of this window is p(1)=2p(\ell_{1})=2.

Figure 3: The TA of Figure 1 (left) and the reachable fragment of its expansion (right). We write β\beta for actions β1\beta_{1} and β2\beta_{2}.
\pgfmathresultpt0\ell_{0}x2x\leq 2\pgfmathresultpt11\pgfmathresultpt1\ell_{1}𝗍𝗋𝗎𝖾\mathsf{true}\pgfmathresultpt22\pgfmathresultpt2\ell_{2}x2x\leq 2\pgfmathresultpt0\pgfmathresultpt(𝗍𝗋𝗎𝖾,a,)(\mathsf{true},a,\varnothing)\pgfmathresultpt(𝗍𝗋𝗎𝖾,a,{x})(\mathsf{true},a,\{x\})(𝗍𝗋𝗎𝖾,a,{x})(\mathsf{true},a,\{x\})
\pgfmathresultpt(0,1)(\ell_{0},1)x2zλx\leq 2\land z\leq\lambda\pgfmathresultpt(1,1)(\ell_{1},1)zλz\leq\lambda\pgfmathresultpt(0,𝖻𝖺𝖽)(\ell_{0},\mathsf{bad})z=0z=0\pgfmathresultpt(1,𝖻𝖺𝖽)(\ell_{1},\mathsf{bad})z=0z=0\pgfmathresultpt(2,0)(\ell_{2},0)x2x\leq 2\pgfmathresultpt(1,2)(\ell_{1},2)𝗍𝗋𝗎𝖾\mathsf{true}\pgfmathresultpt(z<λ,a,)(z<\lambda,a,\varnothing)(z=λ,β,{z})(z=\lambda,\beta,\{z\})(𝗍𝗋𝗎𝖾,β,)(\mathsf{true},\beta,\varnothing)\pgfmathresultpt(z=λ,β,{z})(z=\lambda,\beta,\{z\})\pgfmathresultpt(z<λ,a,{x})(z<\lambda,a,\{x\})\pgfmathresultpt(𝗍𝗋𝗎𝖾,a,{x,z})(\mathsf{true},a,\{x,z\})\pgfmathresultpt(𝗍𝗋𝗎𝖾,β,)(\mathsf{true},\beta,\varnothing)(𝗍𝗋𝗎𝖾,a,{x,z})(\mathsf{true},a,\{x,z\})

The expansion depends on the priority function pp and the bound on the size of windows λ\lambda. Therefore, we write 𝒜(p,λ)\mathcal{A}(p,\lambda) for the expansion. The formal definition of 𝒜(p,λ)\mathcal{A}(p,\lambda) follows.

Definition 4.1.

Given a TA 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E), the TA 𝒜(p,λ)\mathcal{A}(p,\lambda) is defined to be the TA (L,𝗂𝗇𝗂𝗍,C,Σ,I,E)(L^{\prime},\ell^{\prime}_{\mathsf{init}},C^{\prime},\Sigma^{\prime},I^{\prime},E^{\prime}) such that

  • L=L×({0,,d1}{𝖻𝖺𝖽})L^{\prime}=L\times(\{0,\ldots,d-1\}\cup\{\mathsf{bad}\});

  • 𝗂𝗇𝗂𝗍=(𝗂𝗇𝗂𝗍,p(𝗂𝗇𝗂𝗍))\ell^{\prime}_{\mathsf{init}}=(\ell_{\mathsf{init}},p(\ell_{\mathsf{init}}));

  • C=C{z}C^{\prime}=C\cup\{z\} where zCz\notin C is a new clock;

  • Σ=Σ{β1,β2}\Sigma^{\prime}=\Sigma\cup\{\beta_{1},\beta_{2}\} is an expanded set of actions with special actions β1\beta_{1}, β2Σ\beta_{2}\notin\Sigma for bad locations;

  • I(,q)=I()I^{\prime}(\ell,q)=I(\ell) for all L\ell\in L and even q{0,,d1}q\in\{0,\ldots,d-1\}, I(,q)=(I()zλ)I^{\prime}(\ell,q)=(I(\ell)\land z\leq\lambda) for all L\ell\in L and odd q{0,,d1}q\in\{0,\ldots,d-1\}, and I(,𝖻𝖺𝖽)=(z=0)I^{\prime}(\ell,\mathsf{bad})=(z=0) for all L\ell\in L;

  • the set of edges EE^{\prime} of 𝒜(p,λ)\mathcal{A}(p,\lambda) is the smallest set satisfying the following rules:

    • if qq is an even number and (,g,a,D,)E(\ell,g,a,D,\ell^{\prime})\in E, then

      ((,q),g,a,D{z},(,p())E;((\ell,q),g,a,D\cup\{z\},(\ell^{\prime},p(\ell^{\prime}))\in E^{\prime};
    • if qq is an odd number and (,g,a,D,)E(\ell,g,a,D,\ell^{\prime})\in E, then

      ((,q),(gz<λ),a,D,(,min{q,p()}))E;((\ell,q),(g\land z<\lambda),a,D,(\ell^{\prime},\min\{q,p(\ell^{\prime})\}))\in E^{\prime};
    • for all locations L\ell\in L, odd qq and β{β1,β2}\beta\in\{\beta_{1},\beta_{2}\},

      ((,q),(z=λ),β,{z},(,𝖻𝖺𝖽))E and ((,𝖻𝖺𝖽),𝗍𝗋𝗎𝖾,β,,(,p())E.((\ell,q),(z=\lambda),\beta,\{z\},(\ell,\mathsf{bad}))\in E^{\prime}\text{ and }((\ell,\mathsf{bad}),\mathsf{true},\beta,\varnothing,(\ell,p(\ell))\in E^{\prime}.

For a TG 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}), we set 𝒢(p,λ)=(𝒜(p,λ),Σ1{β1},Σ2{β2})\mathcal{G}(p,\lambda)=(\mathcal{A}(p,\lambda),\Sigma_{1}\cup\{\beta_{1}\},\Sigma_{2}\cup\{\beta_{2}\}).

We write (,q,ν¯)(\ell,q,\bar{\nu}) for states of 𝒯(𝒜(p,λ))\mathcal{T}(\mathcal{A}(p,\lambda)) instead of ((,q),ν¯)((\ell,q),\bar{\nu}), for conciseness. The bar over the valuation is a visual indicator of the different domain.

We say that a play (0,q0,ν¯0)(m0(1),m0(2))(\ell_{0},q_{0},\bar{\nu}_{0})(m_{0}^{(1)},m_{0}^{(2)})\cdots of 𝒢(p,λ)\mathcal{G}(p,\lambda) is well-initialized if q0=p(0)q_{0}=p(\ell_{0}) and ν¯0(z)=0\bar{\nu}_{0}(z)=0. A well-initialized play can be seen as a play with a window opening at its start. Any initial play in 𝒢(p,λ)\mathcal{G}(p,\lambda) is well-initialized. Proving statements related to the direct timed window objective only for initial plays (rather than well-initialized plays) is too restrictive to effectively apply them to to the timed window objective, as this objective deals with suffixes. We later define expansions of plays as specific well-initialized plays. We write 𝖡𝖺𝖽=L×{𝖻𝖺𝖽}\mathsf{Bad}=L\times\{\mathsf{bad}\} for the set of bad locations.

4.2 Expanding and projecting plays

We prove that any play of 𝒢\mathcal{G} has an expansion in 𝒢(p,λ)\mathcal{G}(p,\lambda), and conversely, any play in 𝒢(p,λ)\mathcal{G}(p,\lambda) projects to a play in 𝒢\mathcal{G}. This is done by constructing an expansion mapping and a projection mapping, both of which are shown to behave well w.r.t. our objectives (Lemma 4.3).

Remark 4.2.

Note that we do not construct a bijection between the set of plays of 𝒢\mathcal{G} and the set of plays of 𝒢(p,λ)\mathcal{G}(p,\lambda). This cannot be achieved naturally due to the additional information encoded in the expanded automaton, and notably the presence of bad locations. We illustrate this by showing there are some plays of 𝒢(p,λ)\mathcal{G}(p,\lambda) that are intuitively indistinguishable if seen as plays of 𝒢\mathcal{G}.

Consider the initial location 𝗂𝗇𝗂𝗍\ell_{\mathsf{init}} of 𝒢\mathcal{G}, and assume that its priority is odd and its invariant is 𝗍𝗋𝗎𝖾\mathsf{true}. Consider the initial play π¯1\bar{\pi}_{1} of 𝒢(p,λ)\mathcal{G}(p,\lambda) where the actions βi\beta_{i} are used by both players with a delay of λ\lambda at the start of the play and then only delay moves are taken in the reached bad location, i.e., π¯1=(,p(),𝟎C{z})((λ,β1),(λ,β2))((,𝖻𝖺𝖽,ν¯)((0,),(0,)))ω\bar{\pi}_{1}=(\ell,p(\ell),\mathbf{0}^{C\cup\{z\}})((\lambda,\beta_{1}),(\lambda,\beta_{2}))\big{(}(\ell,\mathsf{bad},\bar{\nu})((0,\bot),(0,\bot))\big{)}^{\omega}, where ν¯(x)=λ\bar{\nu}(x)=\lambda for all xCx\in C and ν¯(z)=0\bar{\nu}(z)=0. As the actions βi\beta_{i} and zz do not exist in 𝒢\mathcal{G}, π¯1\bar{\pi}_{1} cannot be discerned from the similar play π¯2\bar{\pi}_{2} of 𝒢(p,λ)\mathcal{G}(p,\lambda) where instead of using the actions βi\beta_{i}, delay moves were used instead, i.e., π¯2=(,p(),𝟎C{z})((λ,),(λ,))((,p(),ν¯)((0,),(0,)))ω\bar{\pi}_{2}=(\ell,p(\ell),\mathbf{0}^{C\cup\{z\}})((\lambda,\bot),(\lambda,\bot))((\ell,p(\ell),\bar{\nu}^{\prime})((0,\bot),(0,\bot)))^{\omega} with ν¯(x)=λ\bar{\nu}^{\prime}(x)=\lambda for all xC{z}x\in C\cup\{z\}.

This motivates using two mappings instead of a bijection to prove the correctness of our reduction.

Expansion mapping

The expansion mapping 𝖤𝗑:𝖯𝗅𝖺𝗒𝗌(𝒢)𝖯𝗅𝖺𝗒𝗌(𝒢(p,λ))\mathsf{Ex}\colon\mathsf{Plays}(\mathcal{G})\to\mathsf{Plays}(\mathcal{G}(p,\lambda)) between plays of 𝒢\mathcal{G} and of 𝒢(p,λ)\mathcal{G}(p,\lambda) is defined by an inductive construction. We construct expansions step by step. The rough idea is to use the same moves in the play of 𝒢\mathcal{G} being expanded and in its expansion in 𝒢(p,λ)\mathcal{G}(p,\lambda), as long as these moves do not allow zz to reach λ\lambda in an odd location of 𝒢(p,λ)\mathcal{G}(p,\lambda), i.e., as long as these moves do not make us see a bad window. In fact the construction addresses how to proceed if a move enabled in 𝒢\mathcal{G} would allow zz to reach λ\lambda in an odd location. If only one of the two players, say 𝒫i\mathcal{P}_{i}, suggests a move with a large enough delay for clock zz to reach λ\lambda, then their adversary 𝒫3i\mathcal{P}_{3-i} preempts them and it suffices to replace 𝒫i\mathcal{P}_{i}’s move by any valid move with a larger delay than 𝒫3i\mathcal{P}_{3-i}’s. However, if both players suggest moves with too large a delay, the expanded play goes through a bad location (possibly multiple times) until enough time passes and one of the two players can use their move (with the remaining delay) in the expanded game.

Before presenting a formal construction of the expansion mapping, let us describe the structure of the inductive step of the construction. We number the different cases in the same order as they appear in the upcoming formal definition. Let π=s0(m0(1),m0(2))sn+1\pi=s_{0}(m_{0}^{(1)},m_{0}^{(2)})\ldots s_{n+1} be a play of 𝒢\mathcal{G}, and assume the expansion of its prefix π|n=s0(m0(1),m0(2))sn\pi_{|n}=s_{0}(m_{0}^{(1)},m_{0}^{(2)})\ldots s_{n} has already been constructed. We assume inductively that the last states of π|n\pi_{|n} and its expansion 𝖤𝗑(π|n)\mathsf{Ex}(\pi_{|n}) share the same location of the original TG and that their clock valuations agree over CC. Furthermore, we also inductively assume the last state of 𝖤𝗑(π|n)\mathsf{Ex}(\pi_{|n}) is not in a bad location. Write s¯=𝗅𝖺𝗌𝗍(𝖤𝗑(π|n))=(,q,ν¯)\bar{s}=\mathsf{last}(\mathsf{Ex}(\pi_{|n}))=(\ell,q,\bar{\nu}) and s=𝗅𝖺𝗌𝗍(π|n)=(,ν)s=\mathsf{last}(\pi_{|n})=(\ell,\nu). Denote by d=𝖽𝖾𝗅𝖺𝗒(mn(1),mn(2))d=\mathsf{delay}(m_{n}^{(1)},m_{n}^{(2)}) the delay of the last pair of moves of the players in π\pi.

  1. 1.

    If qq is even, the same moves are available in ss and s¯\bar{s}; the expansion can be extended using the pair of moves (mn(1),mn(2))(m_{n}^{(1)},m_{n}^{(2)}).

  2. 2.

    If qq is odd, the invariant of the expanded location (,q)(\ell,q) prevents zz from exceeding λ\lambda. We distinguish cases depending on whether the delay dd allows zz to reach λ\lambda.

    1. (a)

      If ν¯(z)+d<λ\bar{\nu}(z)+d<\lambda, then one of the players has offered a move enabled in s¯\bar{s}: this move determines how to extend the play.

    2. (b)

      Otherwise, ν¯(z)+dλ\bar{\nu}(z)+d\geq\lambda. The construction makes the expansion go through location (,𝖻𝖺𝖽)(\ell,\mathsf{bad}). When (,𝖻𝖺𝖽)(\ell,\mathsf{bad}) is exited, the path goes to (,p())(\ell,p(\ell)), the invariant of which depends on the parity of p()p(\ell). We treat each case differently.

      1. i.

        If p()p(\ell) is even, then the invariant of (,p())(\ell,p(\ell)) matches that of \ell. Once (,𝖻𝖺𝖽)(\ell,\mathsf{bad}) is left, we reason similarly to case 1, using the moves with whatever delay remains.

      2. ii.

        If p()p(\ell) is odd, it may be required to go to a bad location more than once if the remaining delay after the first visit to the bad location exceeds λ\lambda. Once the remaining delay is strictly less than λ\lambda, we can operate as in case 2.a.

The formal construction of the expansion mapping follows. The inductive hypothesis in this construction of 𝖤𝗑:𝖯𝗅𝖺𝗒𝗌(𝒢)𝖯𝗅𝖺𝗒𝗌(𝒢(p,λ))\mathsf{Ex}:\mathsf{Plays}(\mathcal{G})\to\mathsf{Plays}(\mathcal{G}(p,\lambda)) is the following: for all finite plays π𝖯𝗅𝖺𝗒𝗌𝑓𝑖𝑛\pi\in\mathsf{Plays}_{\mathit{fin}}, using (,ν)(\ell,\nu) to denote 𝗅𝖺𝗌𝗍(π)\mathsf{last}(\pi) and (,q,ν¯)(\ell^{\prime},q,\bar{\nu}) to denote 𝗅𝖺𝗌𝗍(𝖤𝗑(π))\mathsf{last}(\mathsf{Ex}(\pi)), then =\ell^{\prime}=\ell, q𝖻𝖺𝖽q\neq\mathsf{bad} and ν¯|C=ν\bar{\nu}_{|C}=\nu. We proceed by induction on the number of moves along a play.

The base case consists of plays of 𝒢\mathcal{G} with no moves, i.e., plays in which there is a single state. For any play (,ν)(\ell,\nu), we set 𝖤𝗑((,ν))\mathsf{Ex}((\ell,\nu)) to be the play (,p(),ν¯)(\ell,p(\ell),\bar{\nu}) of 𝒢(p,λ)\mathcal{G}(p,\lambda) consisting of a single state, where ν¯|C=ν\bar{\nu}_{|C}=\nu and ν¯(z)=0\bar{\nu}(z)=0. The inductive hypothesis is verified: the states (,ν)(\ell,\nu) and (,p(),ν¯)(\ell,p(\ell),\bar{\nu}) share the same location of 𝒜\mathcal{A}, their clock valuations agree over CC and (,p())(\ell,p(\ell)) is not a bad location.

Next we assume that expansions are defined for all plays with nn moves. Fix π=s0(m0(1),m0(2))sn+1\pi=s_{0}(m_{0}^{(1)},m_{0}^{(2)})\ldots s_{n+1} a play with n+1n+1 moves and assume the expansion of its prefix π|n=s0(m0(1),m0(2))sn\pi_{|n}=s_{0}(m_{0}^{(1)},m_{0}^{(2)})\ldots s_{n} has already been constructed. Write s=(,ν)=𝗅𝖺𝗌𝗍(π|n)s=(\ell,\nu)=\mathsf{last}(\pi_{|n}), s=(,ν)=𝗅𝖺𝗌𝗍(π)s^{\prime}=(\ell^{\prime},\nu^{\prime})=\mathsf{last}(\pi), s¯=(,q,ν¯)=𝗅𝖺𝗌𝗍(𝖤𝗑(π|n))\bar{s}=(\ell,q,\bar{\nu})=\mathsf{last}(\mathsf{Ex}(\pi_{|n})) and for i{1,2}i\in\{1,2\}, mn(i)=(dn(i),an(i))m_{n}^{(i)}=(d_{n}^{(i)},a_{n}^{(i)}). We assume w.l.o.g. that smn(1)ss\xrightarrow{m_{n}^{(1)}}s^{\prime} holds: the induction step can be done similarly by exchanging the roles of the players if smn(1)ss\xrightarrow{m_{n}^{(1)}}s^{\prime} does not hold. This assumption implies 𝒫1\mathcal{P}_{1} is faster or as fast as 𝒫2\mathcal{P}_{2}. If 𝒫2\mathcal{P}_{2} were strictly faster, then smn(2)ss\xrightarrow{m_{n}^{(2)}}s^{\prime} would hold, in turn implying that ν(γ)=ν(γ)+dn(2)\nu^{\prime}(\gamma)=\nu(\gamma)+d_{n}^{(2)} (γ\gamma cannot be reset). However, since smn(1)ss\xrightarrow{m_{n}^{(1)}}s^{\prime} holds, it follows that ν(γ)=ν(γ)+dn(1)\nu^{\prime}(\gamma)=\nu(\gamma)+d_{n}^{(1)}, contradicting the assumption that 𝒫2\mathcal{P}_{2} is faster. In other words, we must have dn(1)dn(2)d_{n}^{(1)}\leq d_{n}^{(2)}. We separate the construction in multiple cases.

  1. 1.

    If qq is even, the moves mn(1)m_{n}^{(1)} and mn(2)m_{n}^{(2)} are enabled in s¯\bar{s} by construction. Indeed, ν\nu and ν¯\bar{\nu} agree over CC, and we have I()=I((,q))I(\ell)=I^{\prime}((\ell,q)) and for any outgoing edge (,g,a,D,~)(\ell,g,a,D,\tilde{\ell}) of \ell in 𝒜\mathcal{A} there is an edge ((,q),g,a,D{z},(~,p(~)))((\ell,q),g,a,D\cup\{z\},(\tilde{\ell},p(\tilde{\ell}))) in 𝒜(p,λ)\mathcal{A}(p,\lambda) with the same guard and which resets zz. We distinguish cases following whether a delay is taken or not.

    If mn(1)m^{(1)}_{n} is a delay move, we set 𝖤𝗑(π)=𝖤𝗑(π|n)(mn(1),mn(2))(,q,ν¯+d)\mathsf{Ex}(\pi)=\mathsf{Ex}(\pi_{|n})(m_{n}^{(1)},m_{n}^{(2)})(\ell,q,\bar{\nu}+d). This play is well-defined: qq is even, thus \ell and (,q)(\ell,q) share the same invariant and support the same delay moves. The inductive hypothesis is verified: =\ell^{\prime}=\ell because a transition labeled by a delay move was taken, q𝖻𝖺𝖽q\neq\mathsf{bad} and ν=ν+d=ν¯|C+d\nu^{\prime}=\nu+d=\bar{\nu}_{|C}+d.

    Otherwise, mn(1)m^{(1)}_{n} is not a delay move and is associated with an edge of the TA. We set 𝖤𝗑(π)=𝖤𝗑(π|n)(mn(1),mn(2))(,p(),ν¯)\mathsf{Ex}(\pi)=\mathsf{Ex}(\pi_{|n})(m_{n}^{(1)},m_{n}^{(2)})(\ell^{\prime},p(\ell^{\prime}),\bar{\nu}^{\prime}) with ν¯|C=ν\bar{\nu}^{\prime}_{|C}=\nu^{\prime} and ν¯(z)=0\bar{\nu}^{\prime}(z)=0. This is a well-defined play, owing to the edges recalled above. It is not difficult to verify that the inductive hypothesis is satisfied.

    Note that zz is reset in the second case. It may be the case that 𝒫2\mathcal{P}_{2} is not responsible for the last transition in the expansion despite being responsible for the last transition of π\pi. In other words, it is possible that both smn(1)ss\xrightarrow{m_{n}^{(1)}}s^{\prime} and smn(2)ss\xrightarrow{m_{n}^{(2)}}s^{\prime} hold, but that s¯mn(2)𝗅𝖺𝗌𝗍(𝖤𝗑(π))\bar{s}\xrightarrow{m_{n}^{(2)}}\mathsf{last}(\mathsf{Ex}(\pi)) does not hold. This occurs whenever the moves of both players share the same target state in the base TG but one player uses a delay move and the other a move with an action. We choose to have 𝒫1\mathcal{P}_{1}’s move be responsible for the transition in the expansion in this case. This choice is for technical reasons related to blamelessness.

  2. 2.

    If qq is odd, one or both of the moves mn(1)m^{(1)}_{n} or mn(2)m^{(2)}_{n} may not be enabled in s¯\bar{s} due to the different invariant. Recall that I((,q))=(I()zλ)I^{\prime}((\ell,q))=(I(\ell)\land z\leq\lambda) and for any outgoing edge (,g,a,D,~)(\ell,g,a,D,\tilde{\ell}) of \ell in 𝒜\mathcal{A} there is an edge ((,q),(gz<λ),a,D,(~,min{q,p(~)}))((\ell,q),(g\land z<\lambda),a,D,(\tilde{\ell},\min\{q,p(\tilde{\ell})\})) in 𝒜(p,λ)\mathcal{A}(p,\lambda). If aΣa\in\Sigma, a move (t,a)(t,a) is disabled in state s¯\bar{s} if ν¯(z)+tλ\bar{\nu}(z)+t\geq\lambda. We reason as follows, depending on whether a delay of dd allows clock zz to reach λ\lambda from the state s¯\bar{s}.

    1. (a)

      Assume ν¯(z)+d<λ\bar{\nu}(z)+d<\lambda. Then mn(1)m_{n}^{(1)} is enabled in s¯\bar{s} (recall we assume 𝒫1\mathcal{P}_{1} is responsible for the last transition of π\pi). To ensure the 𝒫2\mathcal{P}_{2}-selected move in the expansion is enabled in s¯\bar{s}, we alter mn(2)m_{n}^{(2)} it if its delay is too large: let m~n(2)=mn(2)\tilde{m}_{n}^{(2)}=m_{n}^{(2)} if ν¯(z)+dn(2)<λ\bar{\nu}(z)+d_{n}^{(2)}<\lambda and m~n(2)=(λν¯(z),β2)\tilde{m}_{n}^{(2)}=(\lambda-\bar{\nu}(z),\beta_{2}) otherwise.

      If mn(1)m_{n}^{(1)} is a delay move, define 𝖤𝗑(π)=𝖤𝗑(π|n)(mn(1),m~n(2))(,q,ν¯+d)\mathsf{Ex}(\pi)=\mathsf{Ex}(\pi_{|n})(m_{n}^{(1)},\tilde{m}_{n}^{(2)})(\ell,q,\bar{\nu}+d). This is a well-defined play: ν¯+dI((,q))\bar{\nu}+d\models I^{\prime}((\ell,q)) holds because I((,q))=(I()zλ)I^{\prime}((\ell,q))=(I(\ell)\land z\leq\lambda), ν\nu and ν¯\bar{\nu} coincide on CC and the move mn(1)m_{n}^{(1)} is available in ss, and ν¯(z)+d<λ\bar{\nu}(z)+d<\lambda. Otherwise, if mn(1)m_{n}^{(1)} is not a delay move, define 𝖤𝗑(π)=𝖤𝗑(π|n)(mn(1),m~n(2))(,min{q,p()},ν¯)\mathsf{Ex}(\pi)=\mathsf{Ex}(\pi_{|n})(m_{n}^{(1)},\tilde{m}_{n}^{(2)})(\ell^{\prime},\min\{q,p(\ell^{\prime})\},\bar{\nu}^{\prime}) where ν¯|C=ν\bar{\nu}^{\prime}_{|C}=\nu^{\prime} and ν¯(z)=ν¯(z)+d\bar{\nu}^{\prime}(z)=\bar{\nu}(z)+d. By definition of the edges recalled above, and because ν\nu and ν¯\bar{\nu} coincide on CC and the move mn(1)m_{n}^{(1)} is available in ss, we conclude that 𝖤𝗑(π)\mathsf{Ex}(\pi) is a well-defined play. In either case, the inductive hypothesis is satisfied.

    2. (b)

      Otherwise, assume ν¯(z)+dλ\bar{\nu}(z)+d\geq\lambda. In this case, a bad location appears along 𝖤𝗑(π)\mathsf{Ex}(\pi). Denote by t=λν¯(z)t=\lambda-\bar{\nu}(z) the time left before the current window becomes a bad window. For any non-negative real rr, we write ν¯r=𝗋𝖾𝗌𝖾𝗍{z}(ν¯+r)\bar{\nu}_{r}=\mathsf{reset}_{\{z\}}(\bar{\nu}+r) for the clock valuation obtained by shifting ν¯\bar{\nu} by rr time units and then resetting zz, br(i)b^{(i)}_{r} for the move (r,βi)(r,\beta_{i}) and mn(i)rm_{n}^{(i)}-r for (dn(i)r,an(i))(d_{n}^{(i)}-r,a_{n}^{(i)}), i.e., the move mn(i)m_{n}^{(i)} with a delay shortened by rr time units.

      Recall, when (,𝖻𝖺𝖽)(\ell,\mathsf{bad}) is left, by definition of edges of 𝒜(p,λ)\mathcal{A}(p,\lambda), the location (,p())(\ell,p(\ell)) is entered. Depending on the parity of p()p(\ell), the invariant of (,p())(\ell,p(\ell)) is different. Thus, there are two cases to consider: p()p(\ell) is even and p()p(\ell) is odd.

      1. i.

        If p()p(\ell) is even, we set 𝖤𝗑(π)\mathsf{Ex}(\pi) to be the play

        𝖤𝗑(π|n)(bt(1),bt(2))(,𝖻𝖺𝖽,ν¯t)(b0(1),b0(2))(,p(),ν¯t)(mn(1)t,mn(2)t)(,p(),ν¯),\mathsf{Ex}(\pi_{|n})(b_{t}^{(1)},b_{t}^{(2)})(\ell,\mathsf{bad},\bar{\nu}_{t})(b_{0}^{(1)},b_{0}^{(2)})(\ell,p(\ell),\bar{\nu}_{t})(m_{n}^{(1)}-t,m_{n}^{(2)}-t)(\ell^{\prime},p(\ell^{\prime}),\bar{\nu}^{\prime}), (1)

        where ν¯|C=ν\bar{\nu}^{\prime}_{|C}=\nu^{\prime} and ν¯(z)=0\bar{\nu}^{\prime}(z)=0 if an(1)Σ1a_{n}^{(1)}\in\Sigma_{1} and ν¯(z)=dt\bar{\nu}^{\prime}(z)=d-t otherwise (zz is reset if 𝒫1\mathcal{P}_{1}’s action is not a delay). We obtain this expansion by first using actions βi\beta_{i} with the delay tt to enter a bad location, then the actions βi\beta_{i} immediately again to exit the bad location and finally use the original moves of the players, but with an offset of tt times units (tt time units passed before entering the bad location). This expansion is a play of 𝒢(p,λ)\mathcal{G}(p,\lambda): the moves bt(1)b_{t}^{(1)} and bt(2)b_{t}^{(2)} are enabled in (,q,ν¯)(\ell,q,\bar{\nu}) as ν¯+tI((,q))\bar{\nu}+t\models I^{\prime}((\ell,q)) (because ν+dI()\nu+d\models I(\ell) as mn(1)m_{n}^{(1)} is enabled in (,ν)(\ell,\nu), ν¯(z)+t=λ\bar{\nu}(z)+t=\lambda and I((,q))=(I()zλ)I^{\prime}((\ell,q))=(I(\ell)\land z\leq\lambda)), and lead to the state (,𝖻𝖺𝖽,ν¯t)(\ell,\mathsf{bad},\bar{\nu}_{t}) (recall edges entering bad locations reset zz). The moves b0(1)b_{0}^{(1)} and b0(2)b_{0}^{(2)} are enabled in (,𝖻𝖺𝖽,ν¯t)(\ell,\mathsf{bad},\bar{\nu}_{t}) due to the edges ((,𝖻𝖺𝖽),𝗍𝗋𝗎𝖾,βi,,(,p()))((\ell,\mathsf{bad}),\mathsf{true},\beta_{i},\varnothing,(\ell,p(\ell))) for i{1,2}i\in\{1,2\} of 𝒜(p,λ)\mathcal{A}(p,\lambda). One can argue the moves mn(1)tm_{n}^{(1)}-t and mn(2)tm_{n}^{(2)}-t are enabled in (,p(),ν¯t)(\ell,p(\ell),\bar{\nu}_{t}) using the same arguments as in case 1. The inductive hypothesis is preserved in this case.

      2. ii.

        Whenever p()p(\ell) is odd, the invariant of (,p())(\ell,p(\ell)) implies zλz\leq\lambda. Let μ\mu denote the integral part of ν¯(z)+dλ\frac{\bar{\nu}(z)+d}{\lambda}; μ\mu represents the number of bad windows we detect with our construction during delay dd. In a nutshell, we divide the single step in the original TG into 2μ+12\mu+1 steps in the expansion: we enter and exit the bad location μ\mu times and finally play the original move in the end with the remaining delay. It may be necessary to modify 𝒫2\mathcal{P}_{2}’s move due to the invariant of the odd location (,p())(\ell,p(\ell)) implying zλz\leq\lambda and the guard of its outgoing edges labeled by actions in Σ\Sigma implying z<λz<\lambda. To this end, let m~n(2)=mn(2)\tilde{m}_{n}^{(2)}=m_{n}^{(2)} if dn(2)t<μλd_{n}^{(2)}-t<\mu\lambda and m~n(2)=(μλ+t,β2)\tilde{m}_{n}^{(2)}=(\mu\lambda+t,\beta_{2}) otherwise. If μ=1\mu=1, we get an expansion similar to the previous case. We set 𝖤𝗑(π)\mathsf{Ex}(\pi) to be

        𝖤𝗑(π|n)(bt(1),bt(2))(,𝖻𝖺𝖽,ν¯t)(b0(1),b0(2))(,p(),ν¯t)(mn(1)t,m~n(2)t)(,q,ν¯),\mathsf{Ex}(\pi_{|n})(b_{t}^{(1)},b_{t}^{(2)})(\ell,\mathsf{bad},\bar{\nu}_{t})(b_{0}^{(1)},b_{0}^{(2)})(\ell,p(\ell),\bar{\nu}_{t})(m_{n}^{(1)}-t,\tilde{m}_{n}^{(2)}-t)(\ell^{\prime},q^{\prime},\bar{\nu}^{\prime}),

        where q=min{p(),p()}q^{\prime}=\min\{p(\ell),p(\ell^{\prime})\}, ν¯|C=ν\bar{\nu}^{\prime}_{|C}=\nu^{\prime} and ν¯(z)=dt\bar{\nu}^{\prime}(z)=d-t. That is indeed a play of 𝒢(p,λ)\mathcal{G}(p,\lambda): moves br(i)b^{(i)}_{r} (i{1,2}i\in\{1,2\} and r{0,t}r\in\{0,t\}) are enabled for the same reasons as the previous case and the other moves are valid for the same reasons as in case 2.a: dt=dλ+ν¯(z)<λd-t=d-\lambda+\bar{\nu}(z)<\lambda because μ=1\mu=1. For μ2\mu\geq 2, we define 𝖤𝗑(π)\mathsf{Ex}(\pi) as

        𝖤𝗑(π|n)(bt(1),bt(2))(,𝖻𝖺𝖽,ν¯t)(b0(1),b0(2))(,p(),ν¯t)(bλ(1),bλ(2))(,𝖻𝖺𝖽,ν¯t+λ)(b0(1),b0(2))(,p(),ν¯t+(μ2)λ)(bλ(1),bλ(2))(,𝖻𝖺𝖽,ν¯t+(μ1)λ)(b0(1),b0(2))}μ1 steps(,p(),ν¯t)(mn(1)t,m~n(2)t)(,q,ν¯),\begin{array}[]{l}\mathsf{Ex}(\pi_{|n})(b_{t}^{(1)},b_{t}^{(2)})(\ell,\mathsf{bad},\bar{\nu}_{t})(b_{0}^{(1)},b_{0}^{(2)})\\ \left.\begin{array}[]{l}(\ell,p(\ell),\bar{\nu}_{t})(b_{\lambda}^{(1)},b_{\lambda}^{(2)})(\ell,\mathsf{bad},\bar{\nu}_{t+\lambda})(b_{0}^{(1)},b_{0}^{(2)})\\ \phantom{aaaaaaaaaaaaaaaaaaaaa}\vdots\\ (\ell,p(\ell),\bar{\nu}_{t+(\mu-2)\lambda})(b_{\lambda}^{(1)},b_{\lambda}^{(2)})(\ell,\mathsf{bad},\bar{\nu}_{t+(\mu-1)\lambda})(b_{0}^{(1)},b_{0}^{(2)})\end{array}\right\}\mu-1\text{ steps}\\ (\ell,p(\ell),\bar{\nu}_{t^{\prime}})(m_{n}^{(1)}-t^{\prime},\tilde{m}_{n}^{(2)}-t^{\prime})(\ell^{\prime},q^{\prime},\bar{\nu}^{\prime}),\end{array}

        where q=min{p(),p()}q^{\prime}=\min\{p(\ell),p(\ell^{\prime})\}, t=t+(μ1)λt^{\prime}=t+(\mu-1)\lambda represents the time spent repeatedly entering and exiting the bad location, ν¯|C=ν\bar{\nu}^{\prime}_{|C}=\nu^{\prime} and ν¯(z)=dt\bar{\nu}^{\prime}(z)=d-t^{\prime}. This is a well-defined play of 𝒢(p,λ)\mathcal{G}(p,\lambda) for the reasons argued above. Extending the expansion this way preserves the inductive hypothesis.

This construction generalizes to infinite plays. In some cases, an expansion of a finite play may contain more steps. However, this is only the case when a bad location appears in an expansion. If a finite play and its expansion share the same number of steps, we say that they are coherent. The expansion mapping preserves time-convergence and divergence for infinite paths: the sum of delays are identical in a play and its expansion.

The behavior of the expansion mapping w.r.t. suffixes and well-initialized plays is of interest for studying the connection between the non-direct timed window objective on the base TG and the co-Büchi objective on the expanded TG. Given a (finite or infinite) play π=(0,ν0)(m0(1),m0(2))\pi=(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots, a suffix of 𝖤𝗑(π)\mathsf{Ex}(\pi) is not necessarily the expansion of a suffix of π\pi. However, any well-initialized suffix of 𝖤𝗑(π)\mathsf{Ex}(\pi) can be shown to be the expansion of a delayed suffix πn+d\pi_{n\to}^{+d} for some nn\in\mathbb{N} and d[0,𝖽𝖾𝗅𝖺𝗒(mn(1),mn(2))]d\in[0,\mathsf{delay}(m_{n}^{(1)},m_{n}^{(2)})]. A well-initialized suffix of an expansion starts whenever an even location is left through an edge (case 1) or a bad location is left through an edge (case 2.b). In the former case, the suffix of the expansion is the expansion of a suffix πn\pi_{n\to} by construction (the last state of the expansion, viewed as a play, is well-initialized). In the latter case, a delayed suffix may be required. This is observable with equation (1) (and is similar in other cases involving bad locations): the suffix (,p(),ν¯t)(mn(1)t,mn(2)t)(,p(),ν¯)(\ell,p(\ell),\bar{\nu}_{t})(m_{n}^{(1)}-t,m_{n}^{(2)}-t)(\ell^{\prime},p(\ell^{\prime}),\bar{\nu}^{\prime}) of the expansion under construction is the expansion of the shifted suffix πn+t\pi_{n\to}^{+t} of the finite play under consideration and is well-initialized.

Projection mapping

The counterpart to the expansion mapping is the projection mapping 𝖯𝗋:𝖯𝗅𝖺𝗒𝗌(𝒢(p,λ))𝖯𝗅𝖺𝗒𝗌(𝒢)\mathsf{Pr}\colon\mathsf{Plays}(\mathcal{G}(p,\lambda))\to\mathsf{Plays}(\mathcal{G}). The projection mapping removes window information in any play in 𝒢(p,λ)\mathcal{G}(p,\lambda) to obtain a play in 𝒢\mathcal{G}. Any action β1\beta_{1} or β2\beta_{2} is replaced by the action \bot. Formally, we define the projection mapping over finite and infinite plays as follows.

For any (finite or infinite) play π¯=(0,q0,ν¯0)((d0(1),a0(1)),(d0(2),a0(2)))𝖯𝗅𝖺𝗒𝗌(𝒢(p,λ))\bar{\pi}=(\ell_{0},q_{0},\bar{\nu}_{0})((d_{0}^{(1)},a_{0}^{(1)}),(d_{0}^{(2)},a_{0}^{(2)}))\ldots\in\mathsf{Plays}(\mathcal{G}(p,\lambda)), we set 𝖯𝗋(π¯)\mathsf{Pr}(\bar{\pi}) to be the sequence π=(0,(ν¯0)|C)(m~0(1),m~0(2))\pi=(\ell_{0},(\bar{\nu}_{0})_{|C})(\tilde{m}_{0}^{(1)},\tilde{m}_{0}^{(2)})\ldots where for all i{1,2}i\in\{1,2\} and all jj, m~j(i)=(dj(i),aj(i))\tilde{m}_{j}^{(i)}=(d_{j}^{(i)},a_{j}^{(i)}) if aj(i){β1,β2}a_{j}^{(i)}\notin\{\beta_{1},\beta_{2}\} and m~j(i)=(dj(i),)\tilde{m}_{j}^{(i)}=(d_{j}^{(i)},\bot) otherwise. This sequence is indeed a well-defined play: any move (d,a)(d,a) enabled in a state s¯j=(j,qj,ν¯j)\bar{s}_{j}=(\ell_{j},q_{j},\bar{\nu}_{j}) such that a{β1,β2}a\notin\{\beta_{1},\beta_{2}\} is enabled in sj=(j,(ν¯j)|C)s_{j}=(\ell_{j},(\bar{\nu}_{j})_{|C}). If the expanded location of s¯j\bar{s}_{j} is bad, the only such move is (0,)(0,\bot). If it is not bad, guards of outgoing edges and invariants in 𝒜(p,λ)\mathcal{A}(p,\lambda) are either the same or strengthened from their counterpart in 𝒜\mathcal{A}, i.e., if the constraints are verified in the expanded TA, they must be in the original one. Furthermore, as edges unrelated to bad states are derived from the edges of the original TA, this ensures that sjδ(sj1,m~j1(1),m~j1(2))s_{j}\in\delta(s_{j-1},\tilde{m}_{j-1}^{(1)},\tilde{m}_{j-1}^{(2)}) for all j>0j>0 (where δ\delta is the joint destination function).

The projection mapping preserves time-divergence. Unlike the expansion mapping, projecting a finite play does not alter the amount of moves. This mapping respects suffixes: for all finite plays π¯\bar{\pi} and (finite or infinite) plays π¯\bar{\pi}^{\prime} of 𝒢(p,λ)\mathcal{G}(p,\lambda) such that π¯((d(1),a(1)),(d(2),a(2)))π¯\bar{\pi}((d^{(1)},a^{(1)}),(d^{(2)},a^{(2)}))\bar{\pi}^{\prime} is a well-defined play, we have 𝖯𝗋(π¯(d(1),a(1)),(d(2),a(2))π¯)=𝖯𝗋(π¯)(m~(1),m~(2))𝖯𝗋(π¯)\mathsf{Pr}(\bar{\pi}(d^{(1)},a^{(1)}),(d^{(2)},a^{(2)})\bar{\pi}^{\prime})=\mathsf{Pr}(\bar{\pi})(\tilde{m}^{(1)},\tilde{m}^{(2)})\mathsf{Pr}(\bar{\pi}^{\prime}), where the move m~(i)\tilde{m}^{(i)} is (d(i),a(i))(d^{(i)},a^{(i)}) if a(i){β1,β2}a^{(i)}\notin\{\beta_{1},\beta_{2}\} and m~(i)=(d(i),)\tilde{m}^{(i)}=(d^{(i)},\bot) otherwise. We refer to this property as suffix compatibility.

Objective preservation

We now establish the main theorem of this section: a play of 𝒢\mathcal{G} satisfies the (resp. direct) timed window objective if and only if its expansion satisfies the co-Büchi (resp. safety) objective over bad locations; and a play of 𝒢(p,λ)\mathcal{G}(p,\lambda) satisfies the co-Büchi (resp. safety) objective over bad locations if and only if its projection satisfies the (resp. direct) timed window objective.

Lemma 4.3.

The following assertions hold. For all time-divergent plays π𝖯𝗅𝖺𝗒𝗌(𝒢)\pi\in\mathsf{Plays}_{\infty}(\mathcal{G}):

  1. A.1.

    π𝖣𝖳𝖶(p,λ)\pi\in\mathsf{DTW}(p,\lambda) if and only if 𝖤𝗑(π)𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Ex}(\pi)\in\mathsf{Safe}(\mathsf{Bad});

  2. A.2.

    π𝖳𝖶(p,λ)\pi\in\mathsf{TW}(p,\lambda) if and only if 𝖤𝗑(π)𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{Ex}(\pi)\in\mathsf{coB\ddot{u}chi}(\mathsf{Bad}).

For all well-initialized time-divergent plays π¯𝖯𝗅𝖺𝗒𝗌(𝒢(p,λ))\bar{\pi}\in\mathsf{Plays}_{\infty}(\mathcal{G}(p,\lambda)):

  1. B.1.

    π¯𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\bar{\pi}\in\mathsf{Safe}(\mathsf{Bad}) if and only if 𝖯𝗋(π¯)𝖣𝖳𝖶(p,λ)\mathsf{Pr}(\bar{\pi})\in\mathsf{DTW}(p,\lambda);

  2. B.2.

    π¯𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\bar{\pi}\in\mathsf{coB\ddot{u}chi}(\mathsf{Bad}) if and only if 𝖯𝗋(π¯)𝖳𝖶(p,λ)\mathsf{Pr}(\bar{\pi})\in\mathsf{TW}(p,\lambda).

The form of this result is due to the lack of a bijection between the sets of plays of a TG and its expansion (Remark 4.2). This lemma essentially follows from the construction of 𝒜(p,λ)\mathcal{A}(p,\lambda) and the definitions of the expansion and projection mappings.

Proof 4.4.

We start with Item A.1. Fix a time-divergent play π=(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)\pi=(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots\in\mathsf{Plays}_{\infty}(\mathcal{G}) and write π¯=(0,q0,ν¯0)(m~0(1),m~0(2))\bar{\pi}=(\ell^{\prime}_{0},q_{0},\bar{\nu}_{0})(\tilde{m}_{0}^{(1)},\tilde{m}_{0}^{(2)})\ldots for its expansion. Assume π\pi satisfies the direct timed window objective. We establish that π¯\bar{\pi} is safe and all of its prefixes are coherent with their expansion using an inductive argument. Intuitively, for the first step, we show that if the window opened at step 0 closes at step nn, then the nnth location of π¯\bar{\pi} is even and is reached in less than λ\lambda time units.

Since π𝖳𝖦𝖶(p,λ)\pi\in\mathsf{TGW}(p,\lambda), there is some n0n_{0} such that νn0(γ)ν0(γ)<λ\nu_{n_{0}}(\gamma)-\nu_{0}(\gamma)<\lambda, min0k<jp(k)\min_{0\leq k<j}p(\ell_{k}) is odd for all 0j<n00\leq j<n_{0} and min0kn0p(k)\min_{0\leq k\leq n_{0}}p(\ell_{k}) is even. Since ν¯0(z)=0\bar{\nu}_{0}(z)=0, π¯\bar{\pi} and π\pi are coherent up to step n0n_{0} as zz does not reach λ\lambda (i.e., no bad locations can occur up to step n0n_{0}). By construction of the expansion mapping (see case 2 of the construction), qn0=min0kn0p(k)=p(n0)q_{n_{0}}=\min_{0\leq k\leq n_{0}}p(\ell_{k})=p(\ell_{n_{0}}) and p(n0)p(\ell_{n_{0}}) is even. From there, there are two possibilities: either location n0\ell_{n_{0}} is never left (only delays are taken from there) or after some delay moves, location n0\ell_{n_{0}} is exited. In the first case, the safety objective is trivially satisfied as the location (n0,p(n0))(\ell_{n_{0}},p(\ell_{n_{0}})) is never left in the expansion and no bad locations were visited beforehand. Otherwise, some edge is traversed (for the first time since step n0n_{0}) at some step j0j_{0}. Then, ν¯j0+1(z)=0\bar{\nu}_{j_{0}+1}(z)=0, qj0+1=p(j0+1)q_{j_{0}+1}=p(\ell_{j_{0}+1}) and no bad locations appear in the first j0j_{0} steps of π¯\bar{\pi}.

We can repeat the first argument in position j0+1j_{0}+1 because π𝖣𝖳𝖶(p,λ)\pi\in\mathsf{DTW}(p,\lambda) and thus πj0+1𝖳𝖦𝖶(p,λ)\pi_{j_{0}+1\to}\in\mathsf{TGW}(p,\lambda). We conclude there is some n1j0+1n_{1}\geq j_{0}+1 such that qn𝖻𝖺𝖽q_{n}\neq\mathsf{bad} for j0+1nn1j_{0}+1\leq n\leq n_{1} and qn1q_{n_{1}} is even. Once more, we separate cases following if n1\ell_{n_{1}} is left through an edge. Iterating this argument shows that no bad locations appear along π¯\bar{\pi}.

Conversely, assume π\pi does not satisfy the direct window objective. Let j0j_{0} be the smallest index jj such that πj𝖳𝖦𝖶(p,λ)\pi_{j\to}\notin\mathsf{TGW}(p,\lambda) (Lemma 3.1). We can argue, using a similar inductive argument as above, that π\pi and π¯\bar{\pi} are coherent up to step j0j_{0}, no bad locations occur up to step j0j_{0}, and that qj0=p(j0)q_{j_{0}}=p(\ell_{j_{0}}) and ν¯j0(z)=0\bar{\nu}_{j_{0}}(z)=0. In the sequel, we argue that a bad location is entered using the fact that there is no good window at step j0j_{0}.

The negation of 𝖳𝖦𝖶(p,λ)\mathsf{TGW}(p,\lambda) yields that for all jj0j\geq j_{0}, if νj(γ)νj0(γ)<λ\nu_{j}(\gamma)-\nu_{j_{0}}(\gamma)<\lambda, then minj0kjp(k)\min_{j_{0}\leq k\leq j}p(\ell_{k}) is odd. There is some jj such that νj(γ)νj0(γ)λ\nu_{j}(\gamma)-\nu_{j_{0}}(\gamma)\geq\lambda as π\pi is assumed to be time-divergent. Write j1j_{1} for the smallest such jj. As j1j_{1} is minimal, νj11(γ)νj0(γ)<λ\nu_{j_{1}-1}(\gamma)-\nu_{j_{0}}(\gamma)<\lambda holds. It follows from the above that qj11q_{j_{1}-1} is odd as qj11=minj0kj1p(k)q_{j_{1}-1}=\min_{j_{0}\leq k\leq j_{1}}p(\ell_{k}) and that there are no resets of zz between steps j0j_{0} and j11j_{1}-1 (resets of zz require an even location or a bad location), hence ν¯j11(z)=νj11(γ)νj0(γ)\bar{\nu}_{j_{1}-1}(z)=\nu_{j_{1}-1}(\gamma)-\nu_{j_{0}}(\gamma). The delay dj11=𝖽𝖾𝗅𝖺𝗒(mj11(1),mj11(2))d_{j_{1}-1}=\mathsf{delay}(m_{j_{1}-1}^{(1)},m_{j_{1}-1}^{(2)}) is such that ν¯j11(z)+dj11=νj1(γ)νj0(γ)λ\bar{\nu}_{j_{1}-1}(z)+d_{j_{1}-1}=\nu_{j_{1}}(\gamma)-\nu_{j_{0}}(\gamma)\geq\lambda; the definition of the expansion function redirects π¯\bar{\pi} to a bad location (case 2.b of the expansion definition). This shows that π¯\bar{\pi} does not satisfy 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad}).

Let us move on to Item A.2. Fix a time-divergent play π=(0,ν0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢)\pi=(\ell_{0},\nu_{0})(m_{0}^{(1)},m_{0}^{(2)})\ldots\in\mathsf{Plays}_{\infty}(\mathcal{G}) and write π¯=(0,q0,ν¯0)(m~0(1),m~0(2))\bar{\pi}=(\ell_{0}^{\prime},q_{0},\bar{\nu}_{0})(\tilde{m}_{0}^{(1)},\tilde{m}_{0}^{(2)})\ldots for its expansion. Assume π¯\bar{\pi} does not satisfy the objective 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}), i.e., there are infinitely many occurrences of bad locations along π¯\bar{\pi}. We establish that π𝖳𝖶(p,λ)\pi\notin\mathsf{TW}(p,\lambda), using Item A.1.

It suffices to show that for infinitely many nn, there is some dd such that πn+d𝖣𝖳𝖶(p,λ)\pi_{n\to}^{+d}\notin\mathsf{DTW}(p,\lambda). Indeed, Lemma 3.1 and this last assertion imply that for infinitely many nn, πn𝖣𝖳𝖶(p,λ)\pi_{n\to}\notin\mathsf{DTW}(p,\lambda), hence, there are infinitely many bad windows along π\pi. In turn, this property ensures no suffix of π\pi satisfies the direct timed window objective, i.e., π𝖳𝖶(p,λ)\pi\notin\mathsf{TW}(p,\lambda).

Recall a well-initialized suffix of π¯\bar{\pi} is the expansion of some πn+d\pi_{n\to}^{+d} and a well-initialized suffix always follows after a bad location. Bad locations are assumed to occur infinitely often along π¯\bar{\pi}, therefore π¯\bar{\pi} has infinitely many well-initialized suffixes. It follows from π¯𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\bar{\pi}\in\mathsf{coB\ddot{u}chi}(\mathsf{Bad}) that there are infinitely many well-initialized suffixes of π¯\bar{\pi} that violate 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad}). Therefore, there are infinitely many nn such that 𝖤𝗑(πn+d)\mathsf{Ex}(\pi_{n\to}^{+d}) does not satisfy 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad}) for some dd, because each step of π\pi induces finitely many visits to a bad location in the expansion by construction (in other words, there are finitely many well-initialized suffixes of π¯\bar{\pi} per step in π\pi). From Item A.1, there are infinitely many nn such that πn+d\pi_{n\to}^{+d} does not satisfy the direct window objective for some dd. This ends this direction of the proof.

Conversely, assume π¯\bar{\pi} satisfies the objective 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}). If π¯\bar{\pi} is safe, then it follows from Item A.1 that π𝖣𝖳𝖶(p,λ)𝖳𝖶(p,λ)\pi\in\mathsf{DTW}(p,\lambda)\subseteq\mathsf{TW}(p,\lambda). If π¯\bar{\pi} is unsafe, there is a well-initialized suffix of π¯\bar{\pi} that is safe, i.e., the suffix of π¯\bar{\pi} starts after the last occurrence of a bad location. This suffix is of the form 𝖤𝗑(πn+d)\mathsf{Ex}(\pi_{n\to}^{+d}) for some nn and dd. By Item A.1, πn+d𝖣𝖳𝖶(p,λ)\pi_{n\to}^{+d}\in\mathsf{DTW}(p,\lambda), which implies that π(n+1)𝖣𝖳𝖶(p,λ)\pi_{(n+1)\to}\in\mathsf{DTW}(p,\lambda). Thus, we have π𝖳𝖶(p,λ)\pi\in\mathsf{TW}(p,\lambda), which ends the proof of this item.

Let us proceed to Item B.1. Let π¯=(0,q0,ν¯0)(m0(1),m0(2))𝖯𝗅𝖺𝗒𝗌(𝒢(p,λ))\bar{\pi}=(\ell_{0},q_{0},\bar{\nu}_{0})(m_{0}^{(1)},m_{0}^{(2)})\cdots\in\mathsf{Plays}_{\infty}(\mathcal{G}(p,\lambda)) be a time-divergent well-initialized play and write π\pi for its projection. Assume π¯\bar{\pi} satisfies the objective 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad}) and let us prove that π𝖣𝖳𝖶(p,λ)\pi\in\mathsf{DTW}(p,\lambda). It suffices to establish that for all nn\in\mathbb{N}, πn𝖳𝖦𝖶(p,λ)\pi_{n\to}\in\mathsf{TGW}(p,\lambda) (Lemma 3.1). First, we argue there is an even location along π¯\bar{\pi}. Then we establish that when the first even location is entered in π¯\bar{\pi}, the window opened at step 0 in π\pi closes. We conclude, using the inductive property of windows and an inductive argument, that π\pi satisfies the direct window objective.

Safety and divergence of π¯\bar{\pi} ensure that an even location appears along π¯\bar{\pi}. Assume that there are no even locations along π¯\bar{\pi}. Then every location appearing in π¯\bar{\pi} must be odd by safety of π¯\bar{\pi}. Thus zz cannot be reset as it requires exiting an even location or entering a bad location. The invariant zλz\leq\lambda of odd locations would prevent time-divergence of π¯\bar{\pi}, which would be contradictory. Thus, there must be some even location along π¯\bar{\pi}.

Let n0n_{0} denote the smallest index nn such that qnq_{n} is even. We establish that the window opened at step 0 in π\pi closes at step n0n_{0}. It must hold that ν¯n0(z)=ν¯n0(γ)ν¯0(γ)<λ\bar{\nu}_{n_{0}}(z)=\bar{\nu}_{n_{0}}(\gamma)-\bar{\nu}_{0}(\gamma)<\lambda, as the outgoing edges of odd locations that do not target bad locations have guards implying z<λz<\lambda and do not reset zz. Furthermore, qnq_{n} is odd for all n<n0n<n_{0} and qn0=min0kn0p(k)q_{n_{0}}=\min_{0\leq k\leq n_{0}}p(\ell_{k}), by definition of the edge relation of 𝒜(p,λ)\mathcal{A}(p,\lambda) and since q0=p(0)q_{0}=p(\ell_{0}). This proves that the window opened at step 0 closes at step n0n_{0} in less than λ\lambda time units. It follows from the inductive property of windows (Lemma 3.3) that for all 0nn00\leq n\leq n_{0}, πn𝖳𝖦𝖶(λ,p)\pi_{n\to}\in\mathsf{TGW}(\lambda,p).

As qnq_{n} is odd for n<n0n<n_{0}, we have p(n0)=qn0p(\ell_{n_{0}})=q_{n_{0}}. There are two possibilities for π¯\bar{\pi}: either the even location (n0,p(n0))(\ell_{n_{0}},p(\ell_{n_{0}})) is never left or there is some j0j_{0} such that at step j0j_{0}, the expanded location is exited through an edge (via the pair of moves (mj0(1),mj0(2))(m_{j_{0}}^{(1)},m_{j_{0}}^{(2)})). In the first case, only delays are taken in the location n0\ell_{n_{0}} in π\pi, the priority of which is even, yielding πn𝖳𝖦𝖶(p,λ)\pi_{n\to}\in\mathsf{TGW}(p,\lambda) for all nn0n\geq n_{0} (all windows after step n0n_{0} close immediately), and combining this with the previous paragraph implies π𝖣𝖳𝖶(p,λ)\pi\in\mathsf{DTW}(p,\lambda). In the latter case, we have πn𝖳𝖦𝖶(p,λ)\pi_{n\to}\in\mathsf{TGW}(p,\lambda) for n0nj0n_{0}\leq n\leq j_{0} (similarly to the former case, only delays are taken in n0\ell_{n_{0}} in π\pi up to step j0j_{0}), and ν¯j0+1(z)=0\bar{\nu}_{j_{0}+1}(z)=0 and qj0+1=p(j0+1)q_{j_{0}+1}=p(\ell_{j_{0}+1}) as edges leaving even locations reset zz and lead to locations of the form (,p())(\ell^{\prime},p(\ell^{\prime})). Repeating the previous arguments from position j0+1j_{0}+1 (π¯j0+1\bar{\pi}_{j_{0}+1\to} is a time-divergent well-initialized suffix of π¯\bar{\pi}), one can find some n1n_{1} such that qn1=p(n1)q_{n_{1}}=p(\ell_{n_{1}}) is even and for all j0+1nn1j_{0}+1\leq n\leq n_{1}, πn𝖳𝖦𝖶(p,λ)\pi_{n\to}\in\mathsf{TGW}(p,\lambda). Once more, we split in cases following whether any edge is traversed in location (n1,p(n1))(\ell_{n_{1}},p(\ell_{n_{1}})). It follows from an induction that π𝖣𝖳𝖶(p,λ)\pi\in\mathsf{DTW}(p,\lambda).

Assume now that π¯\bar{\pi} does not satisfy the safety objective. There is some smallest nn such that qn=𝖻𝖺𝖽q_{n}=\mathsf{bad}. Let j0j_{0} be 0 if zz was never reset before position nn or the greatest j<nj<n such that the pair of moves (mj1(1),mj1(2))(m_{j-1}^{(1)},m_{j-1}^{(2)}) induces a reset of zz otherwise. We have qj0=p(j0)q_{j_{0}}=p(\ell_{j_{0}}) and ν¯j0(z)=0\bar{\nu}_{j_{0}}(z)=0: if j0=0j_{0}=0, this is due to π¯\bar{\pi} being well-initialized and if j0>0j_{0}>0, this follows from nn being the smallest index of a bad location and from the definition of edges in 𝒜(p,λ)\mathcal{A}(p,\lambda); edges that reset zz have as their target expanded locations of the form (,p())(\ell,p(\ell)) or (,𝖻𝖺𝖽)(\ell,\mathsf{bad}). We argue that πj0\pi_{j_{0}\to} does not satisfy the timed good window objective. There cannot be any even locations between positions j0j_{0} and nn; there are no edges to bad locations in even locations and edges leaving even locations reset zz. Thus, for all j0j<nj_{0}\leq j<n, qj=minj0kjp(k)q_{j}=\min_{j_{0}\leq k\leq j}p(\ell_{k}) and qjq_{j} is odd. Bad locations can only be entered when zz reaches λ\lambda in an odd location: the window opened at step j0j_{0} does not close in time. Therefore, π𝖣𝖳𝖶(p,λ)\pi\notin\mathsf{DTW}(p,\lambda).

For Item B.2, we use compatibility of the projection mapping with suffixes. Fix a divergent well-initialized play π¯𝖯𝗅𝖺𝗒𝗌(𝒢(p,λ))\bar{\pi}\in\mathsf{Plays}_{\infty}(\mathcal{G}(p,\lambda)) and let π\pi be its projection. Assume π¯\bar{\pi} satisfies the objective 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}). If π¯\bar{\pi} is safe, we have the property by Item B.1. Assume some bad location appears along π¯\bar{\pi}. As the co-Büchi objective is satisfied, this location is left and the suffix following this exit is well-initialized. As there are finitely many bad locations along π¯\bar{\pi}, it follows π¯\bar{\pi} has a well-initialized suffix satisfying 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad}). From the compatibility of projections with suffixes and Item B.1, π\pi has a suffix satisfying the direct timed window objective, hence π\pi satisfies the timed window objective.

Conversely, assume π¯\bar{\pi} does not satisfy 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}), i.e., there are infinitely many occurrences of bad locations along π¯\bar{\pi}. Divergence ensures any bad location is eventually left through an edge, yielding a well-initialized suffix. From Item B.1 and suffix compatibility of the projection mapping, it follows that π\pi has infinitely many suffixes that do not satisfy the direct timed window objective. This implies that π\pi does not satisfy the timed window objective, ending the proof.

This lemma completely disregards plays that are not well-initialized. This is not an issue, as any play starting in the initial state of the TG 𝒢(p,λ)\mathcal{G}(p,\lambda) is well-initialized. Indeed, if 0\ell_{0} is the initial location of 𝒜\mathcal{A}, then (0,p(0))(\ell_{0},p(\ell_{0})) is the initial location of 𝒜(p,λ)\mathcal{A}(p,\lambda), and thus (0,p(0),𝟎C{z})(\ell_{0},p(\ell_{0}),\mathbf{0}^{C\cup\{z\}}) is the initial state of 𝒯(𝒜(p,λ))\mathcal{T}(\mathcal{A}(p,\lambda)). Any initial play of 𝒢\mathcal{G} expands to an initial play of 𝒢(p,λ)\mathcal{G}(p,\lambda) and any initial play of 𝒢(p,λ)\mathcal{G}(p,\lambda) projects to an initial play of 𝒢\mathcal{G}.

The previous result can be leveraged to prove that the verification problem for the (resp. direct) timed window objective on 𝒜\mathcal{A} can be reduced to the verification problem for the co-Büchi (resp. safety) objective on 𝒜(p,λ)\mathcal{A}(p,\lambda).

Theorem 4.5.

Let 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E) be a TA, pp a priority function and λ{0}\lambda\in\mathbb{N}\setminus\{0\}. All time-divergent paths of 𝒜\mathcal{A} satisfy the (resp. direct) timed window objective if and only if all time-divergent paths of 𝒜(p,λ)\mathcal{A}(p,\lambda) satisfy the co-Büchi (resp. safety) objective over bad locations.

Proof 4.6.

We show that if there is a time divergent path of 𝒜\mathcal{A} that violates the (resp. direct) timed window objective, then there is a time-divergent path of 𝒜(p,λ)\mathcal{A}(p,\lambda) that violates the co-Büchi (resp. safety) objective for bad locations. The other direction is proven using similar arguments and the projection mapping rather than the expansion mapping.

Assume there is a time-divergent initial path π=s0d0,a0s1\pi=s_{0}\xrightarrow{d_{0},a_{0}}s_{1}\ldots of 𝒜\mathcal{A} that does not satisfy the (resp. direct) timed window objective. Consider the TG 𝒢=(𝒜,,Σ)\mathcal{G}=(\mathcal{A},\varnothing,\Sigma). The sequence π=s0((d0,),(d0,a0))s1\pi^{\prime}=s_{0}((d_{0},\bot),(d_{0},a_{0}))s_{1}\ldots is a time-divergent initial play of 𝒢\mathcal{G} as π\pi is a time-divergent initial path of 𝒜\mathcal{A}. Furthermore, π\pi^{\prime} does not satisfy the (resp. direct) timed window objective as it shares the same sequence of states as π\pi. By Lemma 4.3, the time-divergent play 𝖤𝗑(π)\mathsf{Ex}(\pi^{\prime}) of 𝒢(p,λ)\mathcal{G}(p,\lambda) does not satisfy the co-Büchi (resp. safety) objective over bad locations. There is some path of the TA 𝒜(p,λ)\mathcal{A}(p,\lambda) that shares the same sequence of states as 𝖤𝗑(π)\mathsf{Ex}(\pi^{\prime}). This path is time-divergent and does not satisfy the co-Büchi (resp. safety) objective over bad locations, ending the proof.

4.3 Translating strategies

In this section, we present how strategies can be translated from the base game to the expanded game and vice-versa, using the expansion and projection mappings. We restrict our attention to move-independent strategies, as this subclass of strategies suffices for state-based objectives [20].

We open the section with a binary classification of time-convergent plays of the expanded TG, useful to prove how our translations affect blamelessness of outcomes. Then we proceed to our translations. We define how a strategy of 𝒢(p,λ)\mathcal{G}(p,\lambda) can be translated to a strategy of 𝒢\mathcal{G} using the expansion mapping. Then we define a translation of strategies of 𝒢\mathcal{G} to strategies of 𝒢(p,λ)\mathcal{G}(p,\lambda), using the projection mapping. Each translation definition is accompanied by a technical result that establishes a connection between outcomes of a translated strategy and outcomes of the original strategy, through the projection or expansion mapping. It follows from these technical results that the translation of a winning strategy in one game is a winning strategy in the other.

Recall that given a winning strategy of 𝒫1\mathcal{P}_{1}, all of its time-convergent outcomes are 𝒫1\mathcal{P}_{1}-blameless. Therefore, when translating a winning strategy from one game to the other, we must argue that all time-convergent outcomes of the obtained strategy are 𝒫1\mathcal{P}_{1}-blameless. To argue how our translations preserve this property, let us introduce a binary classification of time-convergent plays of 𝒢(p,λ)\mathcal{G}(p,\lambda). We argue that any time-convergent play of the expanded TG either remains in a bad location from some point on or visits finitely many bad locations. Whenever a bad location is left, a subsequent visit to a bad location requires at least λ\lambda time units to elapse. It is thus impossible to visit bad locations infinitely often without either remaining in a bad location from some point onward or having time diverge. We now formalize this property and present its proof.

Proposition 4.7.

Let π¯=(0,q0,ν¯0)(m0(1),m0(2))\bar{\pi}=(\ell_{0},q_{0},\bar{\nu}_{0})(m_{0}^{(1)},m_{0}^{(2)})\cdots be an infinite play of 𝒢(p,λ)\mathcal{G}(p,\lambda). If π¯\bar{\pi} is time-convergent, then π¯𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(L𝖡𝖺𝖽)𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\bar{\pi}\in\mathsf{coB\ddot{u}chi}(L^{\prime}\setminus\mathsf{Bad})\uplus\mathsf{coB\ddot{u}chi}(\mathsf{Bad}).

Proof 4.8.

Assume towards a contradiction that neither π¯𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(L𝖡𝖺𝖽)\bar{\pi}\in\mathsf{coB\ddot{u}chi}(L^{\prime}\setminus\mathsf{Bad}) nor π¯𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\bar{\pi}\in\mathsf{coB\ddot{u}chi}(\mathsf{Bad}) hold. It follows that there are infinitely many qnq_{n} such that qn=𝖻𝖺𝖽q_{n}=\mathsf{bad} and infinitely many jj such that qj𝖻𝖺𝖽q_{j}\neq\mathsf{bad}. Consider some nn such that qn=𝖻𝖺𝖽q_{n}=\mathsf{bad}. There is some j>nj>n such that qj𝖻𝖺𝖽q_{j}\neq\mathsf{bad} and some n>jn^{\prime}>j such that qn=𝖻𝖺𝖽q_{n^{\prime}}=\mathsf{bad}. We argue that at least λ\lambda time units pass between steps nn and nn^{\prime}, i.e., ν¯n(γ)ν¯n(γ)λ\bar{\nu}_{n^{\prime}}(\gamma)-\bar{\nu}_{n}(\gamma)\geq\lambda. Once this is established, iterating this argument establishes divergence of π¯\bar{\pi}, reaching a contradiction. The invariant of (n,𝖻𝖺𝖽)(\ell_{n},\mathsf{bad}) ensures that ν¯n(z)=0\bar{\nu}_{n}(z)=0. The bad location (n,qn)(\ell_{n},q_{n}) is exited at some stage to reach (j,qj)(\ell_{j},q_{j}) and the guards of edges to the location (n,qn)(\ell_{n^{\prime}},q_{n^{\prime}}) are z=λz=\lambda. It follows that at least λ\lambda time units must elapse between steps nn and nn^{\prime}.

We now move on to our translations. We translate 𝒫1\mathcal{P}_{1}-strategies of the expanded TG to 𝒫1\mathcal{P}_{1}-strategies of the original TG by evaluating the strategy on the expanded TG on expansions of plays provided by the expansion mapping and by replacing any occurrences of β1\beta_{1} by \bot. The fact that translating a winning strategy of the expanded TG this way yields a winning strategy of the original TG is not straightforward: when we translate a strategy σ¯\bar{\sigma} of 𝒢(p,λ)\mathcal{G}(p,\lambda) to a strategy σ\sigma of 𝒢\mathcal{G}, the expansion of an outcome π\pi of σ\sigma may not be consistent with σ¯\bar{\sigma}, preventing the direct use of Lemma 4.3. Indeed the definition of the expansion mapping may impose moves (d,β1)(d,\beta_{1}) in 𝖤𝗑(π)\mathsf{Ex}(\pi) where σ¯\bar{\sigma} would suggest (d,)(d,\bot). However, we can mitigate this issue by constructing another play π¯\bar{\pi} in parallel that is consistent with σ¯\bar{\sigma} and shares the same sequence of states as 𝖤𝗑(π)\mathsf{Ex}(\pi). We leverage the non-deterministic behavior of tie-breaking and move-independence of σ¯\bar{\sigma} to ensure consistency of π¯\bar{\pi} with σ¯\bar{\sigma}, by changing the moves of 𝒫2\mathcal{P}_{2} on π¯\bar{\pi} comparatively to 𝖤𝗑(π)\mathsf{Ex}(\pi). We also prove that if π¯\bar{\pi} is 𝒫1\mathcal{P}_{1}-blameless and time-convergent, then π\pi also is 𝒫1\mathcal{P}_{1}-blameless.

Lemma 4.9.

Let σ¯\bar{\sigma} be a move-independent strategy of 𝒫1\mathcal{P}_{1} in 𝒢(p,λ)\mathcal{G}(p,\lambda). Let σ\sigma be the 𝒫1\mathcal{P}_{1}-strategy in 𝒢\mathcal{G} defined by

σ(π)={σ¯(𝖤𝗑(π))if σ¯(𝖤𝗑(π))0×{β1}(d,)if σ¯(𝖤𝗑(π))=(d,β1)\sigma(\pi)=\begin{cases}\bar{\sigma}(\mathsf{Ex}(\pi))&\text{if }\bar{\sigma}(\mathsf{Ex}(\pi))\notin\mathbb{R}_{\geq 0}\times\{\beta_{1}\}\\ (d,\bot)&\text{if }\bar{\sigma}(\mathsf{Ex}(\pi))=(d,\beta_{1})\end{cases}

for all finite plays π𝖯𝗅𝖺𝗒𝗌𝑓𝑖𝑛(𝒢)\pi\in\mathsf{Plays}_{\mathit{fin}}(\mathcal{G}). For all π𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ)\pi\in\mathsf{Outcome}_{1}(\sigma), there is a play π¯𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ¯)\bar{\pi}\in\mathsf{Outcome}_{1}(\bar{\sigma}) such that π¯\bar{\pi} shares the same sequence of states as 𝖤𝗑(π)\mathsf{Ex}(\pi) and such that if π¯\bar{\pi} is time-convergent and 𝒫1\mathcal{P}_{1}-blameless, then π\pi is 𝒫1\mathcal{P}_{1}-blameless.

Proof 4.10.

Fix an infinite play π𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ)\pi\in\mathsf{Outcome}_{1}(\sigma). We construct π¯\bar{\pi} inductively: at step nn\in\mathbb{N} of the construction, we assume that we have constructed a finite play π¯n𝖯𝗅𝖺𝗒𝗌𝑓𝑖𝑛(𝒢(p,λ))\bar{\pi}_{n}\in\mathsf{Plays}_{\mathit{fin}}(\mathcal{G}(p,\lambda)) such that π¯n\bar{\pi}_{n} shares the same sequence of states as 𝖤𝗑(π|n)\mathsf{Ex}(\pi_{|n}) and π¯n\bar{\pi}_{n} is consistent with σ¯\bar{\sigma}.

Initially, we set π¯0=𝖤𝗑(π|0)\bar{\pi}_{0}=\mathsf{Ex}(\pi_{|0}). This is a play consisting of only one state and with no moves. It shares the same sequence of states as 𝖤𝗑(π|0)\mathsf{Ex}(\pi_{|0}) by construction and is consistent with σ¯\bar{\sigma}.

Now assume by induction that we have constructed a finite play π¯n\bar{\pi}_{n} that shares the same sequence of states as 𝖤𝗑(π|n)\mathsf{Ex}(\pi_{|n}) and is consistent with σ¯\bar{\sigma}. Let (d(1),a(1))=σ(π|n)(d^{(1)},a^{(1)})=\sigma(\pi_{|n}). Let m(2)=(d(2),a(2))m^{(2)}=(d^{(2)},a^{(2)}) be a move of 𝒫2\mathcal{P}_{2} and ss be a state of 𝒯(𝒜)\mathcal{T}(\mathcal{A}) such that π|n+1=π|n(σ(π|n),m(2))s\pi_{|n+1}=\pi_{|n}(\sigma(\pi_{|n}),m^{(2)})s. Write 𝗅𝖺𝗌𝗍(π¯n)=(,q,ν¯)\mathsf{last}(\bar{\pi}_{n})=(\ell,q,\bar{\nu}). We construct π¯n+1\bar{\pi}_{n+1} so that it shares the same sequence of moves as 𝖤𝗑(π|n+1)\mathsf{Ex}(\pi_{|n+1}) and so it is consistent with σ¯\bar{\sigma}.

Recall that an expansion never ends in a bad location. The proof is divided in different cases. Case 1 is when 𝗅𝖺𝗌𝗍(π¯n)\mathsf{last}(\bar{\pi}_{n}) is in an even location. Case 2 is when 𝗅𝖺𝗌𝗍(π¯n)\mathsf{last}(\bar{\pi}_{n}) is in an odd location. We further split case 2 in four sub-cases:

  1. 2.a

    ν¯(z)+d(1)<λ\bar{\nu}(z)+d^{(1)}<\lambda;

  2. 2.b

    ν¯(z)+d(2)<λ\bar{\nu}(z)+d^{(2)}<\lambda and ν¯(z)+d(1)=λ\bar{\nu}(z)+d^{(1)}=\lambda;

  3. 2.c

    d(2)d(1)=λν¯(z)d^{(2)}\geq d^{(1)}=\lambda-\bar{\nu}(z) and 𝒫1\mathcal{P}_{1} is responsible for the last transition;

  4. 2.d

    d(2)d(1)=λν¯(z)d^{(2)}\geq d^{(1)}=\lambda-\bar{\nu}(z) and 𝒫1\mathcal{P}_{1} is not responsible for the last transition (this implies d(2)=d(1)d^{(2)}=d^{(1)}).

These four sub-cases are disjoint. We show that they cover all possibilities before moving on to the remainder of the construction. Assume 𝗅𝖺𝗌𝗍(π¯n)\mathsf{last}(\bar{\pi}_{n}) is in an odd location. The inequality ν¯(z)+d(1)λ\bar{\nu}(z)+d^{(1)}\leq\lambda holds due to d(1)d^{(1)} being the delay of the move σ(π|n)\sigma(\pi_{|n}) and this delay being the same as the delay of σ¯(𝖤𝗑(π|n))\bar{\sigma}(\mathsf{Ex}(\pi_{|n})) (this follows from the definition of σ\sigma) and because 𝗅𝖺𝗌𝗍(𝖤𝗑(π|n))=𝗅𝖺𝗌𝗍(π¯n)\mathsf{last}(\mathsf{Ex}(\pi_{|n}))=\mathsf{last}(\bar{\pi}_{n}) is an odd location with an invariant implying zλz\leq\lambda. We now describe how the construction proceeds in each case.

Case 1. Assume 𝗅𝖺𝗌𝗍(π¯n)=𝗅𝖺𝗌𝗍(𝖤𝗑(π|n))\mathsf{last}(\bar{\pi}_{n})=\mathsf{last}(\mathsf{Ex}(\pi_{|n})) is in an even location. Then the same moves are enabled in 𝗅𝖺𝗌𝗍(π¯n)\mathsf{last}(\bar{\pi}_{n}) and 𝗅𝖺𝗌𝗍(π|n)\mathsf{last}(\pi_{|n}). We have 𝖤𝗑(π|n+1)=𝖤𝗑(π|n)(σ(π|n),m(2))s¯\mathsf{Ex}(\pi_{|n+1})=\mathsf{Ex}(\pi_{|n})(\sigma(\pi_{|n}),m^{(2)})\bar{s} for some state s¯\bar{s} of 𝒯(𝒜(p,λ))\mathcal{T}(\mathcal{A}(p,\lambda)) given by the definition of 𝖤𝗑\mathsf{Ex}. We let π¯n+1\bar{\pi}_{n+1} be π¯n(σ¯(π¯n),m(2))s¯\bar{\pi}_{n}(\bar{\sigma}(\bar{\pi}_{n}),m^{(2)})\bar{s}. This is a well-defined play: 𝖤𝗑(π|n)(σ(π|n),m(2))s¯\mathsf{Ex}(\pi_{|n})(\sigma(\pi_{|n}),m^{(2)})\bar{s} being a play implies s¯δ(𝗅𝖺𝗌𝗍(𝖤𝗑(π|n)),σ(π|n),m(2))\bar{s}\in\delta(\mathsf{last}(\mathsf{Ex}(\pi_{|n})),\sigma(\pi_{|n}),m^{(2)}) and π¯n\bar{\pi}_{n} and 𝖤𝗑(π|n)\mathsf{Ex}(\pi_{|n}) share the same sequence of states, hence 𝗅𝖺𝗌𝗍(π¯n)=𝗅𝖺𝗌𝗍(𝖤𝗑(π|n))\mathsf{last}(\bar{\pi}_{n})=\mathsf{last}(\mathsf{Ex}(\pi_{|n})). Furthermore, by move-independence of σ¯\bar{\sigma} and definition of σ\sigma, σ(π|n)=σ¯(𝖤𝗑(π|n))=σ¯(π¯n)\sigma(\pi_{|n})=\bar{\sigma}(\mathsf{Ex}(\pi_{|n}))=\bar{\sigma}(\bar{\pi}_{n}). The play π¯n+1\bar{\pi}_{n+1} is consistent with σ¯\bar{\sigma} by construction.

Case 2. Now assume that 𝗅𝖺𝗌𝗍(π¯n)=(,q,ν¯)\mathsf{last}(\bar{\pi}_{n})=(\ell,q,\bar{\nu}) is in an odd location. Recall that we must have ν¯(z)+d(1)λ\bar{\nu}(z)+d^{(1)}\leq\lambda.

Sub-case 2.a. Assume ν¯(z)+d(1)<λ\bar{\nu}(z)+d^{(1)}<\lambda. Then 𝖤𝗑(π|n+1)=𝖤𝗑(π|n)(σ(π|n),m~(2))s¯\mathsf{Ex}(\pi_{|n+1})=\mathsf{Ex}(\pi_{|n})(\sigma(\pi_{|n}),\tilde{m}^{(2)})\bar{s} for some state s¯\bar{s} of 𝒯(𝒜(p,λ))\mathcal{T}(\mathcal{A}(p,\lambda)) given by the definition of the expansion mapping and where m~(2)=(λν¯(z),β2)\tilde{m}^{(2)}=(\lambda-\bar{\nu}(z),\beta_{2}) if ν¯(z)+d(2)λ\bar{\nu}(z)+d^{(2)}\geq\lambda and m~(2)=m(2)\tilde{m}^{(2)}=m^{(2)} otherwise. We define π¯n+1\bar{\pi}_{n+1} to be the play π¯n(σ¯(π¯n),m~(2))s¯\bar{\pi}_{n}(\bar{\sigma}(\bar{\pi}_{n}),\tilde{m}^{(2)})\bar{s}, which is a well-defined play sharing the sequence of states of 𝖤𝗑(π|n+1)\mathsf{Ex}(\pi_{|n+1}) and consistent with σ¯\bar{\sigma} for the same reasons as case 1.

Sub-case 2.b. Assume ν¯(z)+d(2)<λ\bar{\nu}(z)+d^{(2)}<\lambda and ν¯(z)+d(1)=λ\bar{\nu}(z)+d^{(1)}=\lambda. Then the move of 𝒫1\mathcal{P}_{1} is changed in the expansion to (d(1),β1)(d^{(1)},\beta_{1}): we have 𝖤𝗑(π|n+1)=𝖤𝗑(π|n)((d(1),β1),m(2))s¯\mathsf{Ex}(\pi_{|n+1})=\mathsf{Ex}(\pi_{|n})((d^{(1)},\beta_{1}),m^{(2)})\bar{s} for some state s¯\bar{s} of 𝒯(𝒜(p,λ))\mathcal{T}(\mathcal{A}(p,\lambda)). It follows from 𝒫2\mathcal{P}_{2} preempting 𝒫1\mathcal{P}_{1} that 𝗅𝖺𝗌𝗍(𝖤𝗑(π|n))m(2)s¯\mathsf{last}(\mathsf{Ex}(\pi_{|n}))\xrightarrow{m^{(2)}}\bar{s}. By move-independence of σ¯\bar{\sigma} and definition of σ\sigma, the delay of the moves σ(π|n)\sigma(\pi_{|n}) and σ¯(𝖤𝗑(π|n))=σ¯(π¯n)\bar{\sigma}(\mathsf{Ex}(\pi_{|n}))=\bar{\sigma}(\bar{\pi}_{n}) match. Let π¯n+1\bar{\pi}_{n+1} be π¯n(σ¯(π¯n),m(2))s¯\bar{\pi}_{n}(\bar{\sigma}(\bar{\pi}_{n}),m^{(2)})\bar{s}. Thus π¯n+1\bar{\pi}_{n+1} is a well-defined play sharing the same sequence of states as 𝖤𝗑(π|n+1)\mathsf{Ex}(\pi_{|n+1}) and consistent with σ¯\bar{\sigma}.

Sub-cases 2.c. and 2.d. For the two remaining cases, assume that ν¯(z)+d(1)=λ\bar{\nu}(z)+d^{(1)}=\lambda. Thus, a(1)=a^{(1)}=\bot: the only 𝒫1\mathcal{P}_{1} actions available in state (,q,ν¯+d(1))(\ell,q,\bar{\nu}+d^{(1)}) are β1\beta_{1} and \bot as I((,q))I^{\prime}((\ell,q)) implies zλz\leq\lambda and edges leaving (,q)(\ell,q) with actions other than β1\beta_{1} and β2\beta_{2} have guards requiring z<λz<\lambda. We write ν¯d(1)=𝗋𝖾𝗌𝖾𝗍{z}(ν¯+d(1))\bar{\nu}_{d^{(1)}}=\mathsf{reset}_{\{z\}}(\bar{\nu}+d^{(1)}) and for i{1,2}i\in\{1,2\} and t0t\geq 0, we write bt(i)=(t,βi)b^{(i)}_{t}=(t,\beta_{i}) in the following.

Sub-case 2.c. If d(2)d(1)d^{(2)}\geq d^{(1)} and 𝒫1\mathcal{P}_{1} is responsible for the last transition of π|n+1\pi_{|n+1}, then 𝖤𝗑(π|n+1)\mathsf{Ex}(\pi_{|n+1}) is of the form

𝖤𝗑(π|n)(bd(1)(1),bd(1)(2))(,𝖻𝖺𝖽,ν¯d(1))(b0(1),b0(2))(,p(),ν¯d(1))((0,),m~(2)))(,p(),ν¯d(1))\mathsf{Ex}(\pi_{|n})(b^{(1)}_{d^{(1)}},b^{(2)}_{d^{(1)}})(\ell,\mathsf{bad},\bar{\nu}_{d^{(1)}})(b^{(1)}_{0},b^{(2)}_{0})(\ell,p(\ell),\bar{\nu}_{d^{(1)}})((0,\bot),\tilde{m}^{(2)}))(\ell,p(\ell),\bar{\nu}_{d^{(1)}})

for some m~(2)\tilde{m}^{(2)} given by the expansion definition. We construct π¯n+1\bar{\pi}_{n+1} in three steps. The sequence π¯n+=π¯n(σ¯(π¯n),bd(1)(2))(,𝖻𝖺𝖽,ν¯d(1))\bar{\pi}_{n}^{+}=\bar{\pi}_{n}(\bar{\sigma}(\bar{\pi}_{n}),b^{(2)}_{d^{(1)}})(\ell,\mathsf{bad},\bar{\nu}_{d^{(1)}}) is a well-defined play: both appended moves share the same delay because the delay d(1)d^{(1)} of the move σ(π|n)\sigma(\pi_{|n}) is that of σ¯(𝖤𝗑(π|n))=σ¯(π¯n)\bar{\sigma}(\mathsf{Ex}(\pi_{|n}))=\bar{\sigma}(\bar{\pi}_{n}) by definition of σ\sigma and move-independence of σ¯\bar{\sigma}, and 𝗅𝖺𝗌𝗍(π¯n)bd(1)(1)(,𝖻𝖺𝖽,ν¯d(1))\mathsf{last}(\bar{\pi}_{n})\xrightarrow{b^{(1)}_{d^{(1)}}}(\ell,\mathsf{bad},\bar{\nu}_{d^{(1)}}) holds. Its extension π¯n++=π¯n+(σ¯(π¯n+),b0(2))(,p(),ν¯d(1))\bar{\pi}_{n}^{++}=\bar{\pi}_{n}^{+}(\bar{\sigma}(\bar{\pi}_{n}^{+}),b^{(2)}_{0})(\ell,p(\ell),\bar{\nu}_{d^{(1)}}) is also a well-defined play as σ¯(π¯+)\bar{\sigma}(\bar{\pi}^{+}) must have a delay of zero due to the invariant of bad locations enforcing z=0z=0. We define π¯n+1\bar{\pi}_{n+1} to be the play π¯n++(σ¯(π¯n++),(0,))(,p(),ν¯d(1))\bar{\pi}_{n}^{++}(\bar{\sigma}(\bar{\pi}_{n}^{++}),(0,\bot))(\ell,p(\ell),\bar{\nu}_{d^{(1)}}). The sequence π¯n+1\bar{\pi}_{n+1} is a play: the move (0,)(0,\bot) is available in any state and performing it does not change the state, and it cannot be outsped. By construction, π¯n+1\bar{\pi}_{n+1} shares the same sequence of states as 𝖤𝗑(π|n+1)\mathsf{Ex}(\pi_{|n+1}) and is consistent with σ¯\bar{\sigma}.

Sub-case 2.d. Assume now that d(2)=d(1)d^{(2)}=d^{(1)} and that 𝒫1\mathcal{P}_{1} is not responsible for the last transition. Then 𝖤𝗑(π|n+1)\mathsf{Ex}(\pi_{|n+1}) is of the form

𝖤𝗑(π|n)(bd(1)(1),bd(1)(2))(,𝖻𝖺𝖽,ν¯d(1))(b0(1),b0(2))(,p(),ν¯d(1))((0,),(0,a(2)))s¯\mathsf{Ex}(\pi_{|n})(b^{(1)}_{d^{(1)}},b^{(2)}_{d^{(1)}})(\ell,\mathsf{bad},\bar{\nu}_{d^{(1)}})(b^{(1)}_{0},b^{(2)}_{0})(\ell,p(\ell),\bar{\nu}_{d^{(1)}})((0,\bot),(0,a^{(2)}))\bar{s}

for some state s¯\bar{s} of 𝒯(𝒜(p,λ))\mathcal{T}(\mathcal{A}(p,\lambda)). Like in case 2.c., we extend π¯n\bar{\pi}_{n} using the same states and changing the moves along the above to ensure consistency with σ¯\bar{\sigma}. Let π¯n+\bar{\pi}_{n}^{+} and π¯n++\bar{\pi}_{n}^{++} be defined identically to case 2.c. We define π¯n+1\bar{\pi}_{n+1} to be π¯n++(σ¯(π¯n++),(0,a(2)))s¯\bar{\pi}_{n}^{++}(\bar{\sigma}(\bar{\pi}_{n}^{++}),(0,a^{(2)}))\bar{s}. The sequence π¯n+1\bar{\pi}_{n+1} is a well-defined play (the last transition depends on 𝒫2\mathcal{P}_{2}’s move), is consistent with σ¯\bar{\sigma} and shares the same sequence of states as 𝖤𝗑(π|n+1)\mathsf{Ex}(\pi_{|n+1}).

The inductive construction above yields a play π¯𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ¯)\bar{\pi}\in\mathsf{Outcome}_{1}(\bar{\sigma}) that shares the same sequence of states as 𝖤𝗑(π)\mathsf{Ex}(\pi). It remains to show that if π¯\bar{\pi} is time-convergent and 𝒫1\mathcal{P}_{1}-blameless, then π\pi is 𝒫1\mathcal{P}_{1}-blameless. Assume that π¯\bar{\pi} is time-convergent and 𝒫1\mathcal{P}_{1}-blameless. By Proposition 4.7, either π¯\bar{\pi} does not leave a bad location from some point on or satisfies 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}). An expansion always exits a bad location the step following entry, therefore π¯\bar{\pi} is necessarily of the second kind, as it shares its sequence of states with 𝖤𝗑(π)\mathsf{Ex}(\pi). Thus, from some point on, the inductive construction of π¯\bar{\pi} is done using cases 1, 2.a or 2.b. Furthermore, from some point on, 𝒫1\mathcal{P}_{1}’s moves are no longer responsible for transitions in π¯\bar{\pi}. In cases 1 and 2.a, 𝒫1\mathcal{P}_{1} is responsible for the added transition in π¯n\bar{\pi}_{n} if and only if 𝒫1\mathcal{P}_{1} is responsible for the last transition of π|n+1\pi_{|n+1} (by construction of the expansion mapping). In case 2.b, 𝒫2\mathcal{P}_{2} is strictly faster in both plays. Therefore, if from some point on 𝒫1\mathcal{P}_{1} is no longer responsible for transitions in π¯\bar{\pi}, then from some point on 𝒫1\mathcal{P}_{1} is no longer responsible for transitions in π\pi, i.e., π\pi is 𝒫1\mathcal{P}_{1}-blameless.

We can also translate 𝒫1\mathcal{P}_{1}-strategies defined on 𝒢\mathcal{G} to 𝒫1\mathcal{P}_{1}-strategies on 𝒢(p,λ)\mathcal{G}(p,\lambda) using the projection mapping. Translating strategies this way must be done with care: we must consider the case where a move suggested by the strategy in 𝒢\mathcal{G} requires too long a delay to be played in the expanded TG 𝒢(p,λ)\mathcal{G}(p,\lambda). In this case, the suggested move is replaced by (d,β1)(d,\beta_{1}) for a suitable delay dd. By construction, the translated strategy always suggests the move (0,β1)(0,\beta_{1}) when the play ends in a bad location.

Similarly to the first translation, when deriving a strategy σ¯\bar{\sigma} of 𝒢(p,λ)\mathcal{G}(p,\lambda) by translating a strategy σ\sigma of 𝒢\mathcal{G}, the projection of an outcome π¯\bar{\pi} of σ¯\bar{\sigma} may not be consistent with σ\sigma. However, we show that there is a play π\pi consistent with σ\sigma that shares the same sequence of states as 𝖯𝗋(π¯)\mathsf{Pr}(\bar{\pi}), by using techniques similar to those used to prove Lemma 4.9. Analogously to Lemma 4.9, we establish that time-convergence and 𝒫1\mathcal{P}_{1}-blamelessness of π\pi imply 𝒫1\mathcal{P}_{1}-blamelessness of π¯\bar{\pi}.

Lemma 4.11.

Let σ\sigma be a move-independent strategy of 𝒫1\mathcal{P}_{1} in 𝒢\mathcal{G}. Let π¯\bar{\pi} be a finite play in 𝒢(p,λ)\mathcal{G}(p,\lambda) and let (,q,ν¯)(\ell,q,\bar{\nu}) denote 𝗅𝖺𝗌𝗍(π¯)\mathsf{last}(\bar{\pi}) and (d(1),a(1))=σ(𝖯𝗋(π¯))(d^{(1)},a^{(1)})=\sigma(\mathsf{Pr}(\bar{\pi})). We set:

σ¯(π¯)={(λν¯(z),β1)if qmod2=1ν¯(z)+d(1)λ(0,β1)if q=𝖻𝖺𝖽σ(𝖯𝗋(π¯))otherwise.\bar{\sigma}(\bar{\pi})=\begin{cases}(\lambda-\bar{\nu}(z),\beta_{1})&\text{if }q\bmod 2=1\land\bar{\nu}(z)+d^{(1)}\geq\lambda\\ (0,\beta_{1})&\text{if }q=\mathsf{bad}\\ \sigma(\mathsf{Pr}(\bar{\pi}))&\text{otherwise}.\end{cases}

For all π¯𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ¯)\bar{\pi}\in\mathsf{Outcome}_{1}(\bar{\sigma}), there is a play π𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ)\pi\in\mathsf{Outcome}_{1}(\sigma) such that π\pi shares the same sequence of states as 𝖯𝗋(π¯)\mathsf{Pr}(\bar{\pi}) and if π\pi is time-convergent and 𝒫1\mathcal{P}_{1}-blameless, then π¯\bar{\pi} is 𝒫1\mathcal{P}_{1}-blameless.

Proof 4.12.

Fix π¯𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ¯)\bar{\pi}\in\mathsf{Outcome}_{1}(\bar{\sigma}). We construct the sought play π\pi by induction. We assume that at step nn\in\mathbb{N} of the construction, we have constructed πn𝖯𝗅𝖺𝗒𝗌𝑓𝑖𝑛(𝒢)\pi_{n}\in\mathsf{Plays}_{\mathit{fin}}(\mathcal{G}) that shares the same sequence of states as 𝖯𝗋(π¯|n)\mathsf{Pr}(\bar{\pi}_{|n}), and such that πn\pi_{n} is consistent with σ\sigma.

The base case is straightforward. We set π0=𝖯𝗋(π¯|0)\pi_{0}=\mathsf{Pr}(\bar{\pi}_{|0}). Now, assume that we have constructed a finite play πn𝖯𝗅𝖺𝗒𝗌𝑓𝑖𝑛(𝒢)\pi_{n}\in\mathsf{Plays}_{\mathit{fin}}(\mathcal{G}) as described above and let us construct πn+1\pi_{n+1}. Let m(2)=(d(2),a(2))m^{(2)}=(d^{(2)},a^{(2)}) be a move of 𝒫2\mathcal{P}_{2} and s¯\bar{s} be a state of 𝒯(𝒜(p,λ))\mathcal{T}(\mathcal{A}(p,\lambda)) such that π¯|n+1=π¯|n(σ¯(π¯|n),m(2))s¯\bar{\pi}_{|n+1}=\bar{\pi}_{|n}(\bar{\sigma}(\bar{\pi}_{|n}),m^{(2)})\bar{s}. Write (d(1),a(1))=σ¯(π¯|n)(d^{(1)},a^{(1)})=\bar{\sigma}(\bar{\pi}_{|n}), (,q,ν¯)=𝗅𝖺𝗌𝗍(π¯|n)(\ell,q,\bar{\nu})=\mathsf{last}(\bar{\pi}_{|n}) and (,q,ν¯)=s¯(\ell^{\prime},q^{\prime},\bar{\nu}^{\prime})=\bar{s}.

We discuss different cases: 1. qq is an even number, 2. q=𝖻𝖺𝖽q=\mathsf{bad} and 3. qq is an odd number. The third case is divided in three disjoint sub-cases: 3.a. q=𝖻𝖺𝖽q^{\prime}=\mathsf{bad}; 3.b. q𝖻𝖺𝖽q^{\prime}\neq\mathsf{bad} and a(1)β1a^{(1)}\neq\beta_{1}; 3.c. q𝖻𝖺𝖽q^{\prime}\neq\mathsf{bad} and a(1)=β1a^{(1)}=\beta_{1}.

Case 1. Assume qq is an even number. Then the same moves are enabled in 𝗅𝖺𝗌𝗍(π¯|n)\mathsf{last}(\bar{\pi}_{|n}) and 𝗅𝖺𝗌𝗍(𝖯𝗋(π¯|n))\mathsf{last}(\mathsf{Pr}(\bar{\pi}_{|n})). By definition of σ¯\bar{\sigma} and move-independence of σ\sigma, σ¯(π¯|n)=σ(𝖯𝗋(π¯|n))=σ(πn)\bar{\sigma}(\bar{\pi}_{|n})=\sigma(\mathsf{Pr}(\bar{\pi}_{|n}))=\sigma(\pi_{n}). We have 𝖯𝗋(π¯|n+1)=𝖯𝗋(π¯|n)(σ¯(π¯|n),m(2))(,ν¯|C)\mathsf{Pr}(\bar{\pi}_{|n+1})=\mathsf{Pr}(\bar{\pi}_{|n})(\bar{\sigma}(\bar{\pi}_{|n}),m^{(2)})(\ell^{\prime},\bar{\nu}^{\prime}_{|C}). We define πn+1\pi_{n+1} as the play πn(σ(πn),m(2))(,ν¯|C)\pi_{n}(\sigma(\pi_{n}),m^{(2)})(\ell^{\prime},\bar{\nu}^{\prime}_{|C}). This is a well-defined play consistent with σ\sigma that shares the same sequence of states as 𝖯𝗋(π¯|n+1)\mathsf{Pr}(\bar{\pi}_{|n+1}), due to the fact that 𝖯𝗋(π¯|n)\mathsf{Pr}(\bar{\pi}_{|n}) and πn\pi_{n} share the same sequence of states and σ(πn)=σ¯(π¯|n)\sigma(\pi_{n})=\bar{\sigma}(\bar{\pi}_{|n}).

Case 2. Assume q=𝖻𝖺𝖽q=\mathsf{bad}. We have =\ell=\ell^{\prime}, ν¯=ν¯\bar{\nu}=\bar{\nu}^{\prime}. Indeed, the only 𝒫i\mathcal{P}_{i} moves available in a bad location are (0,)(0,\bot) and (0,βi)(0,\beta_{i}). The play either proceeds using an edge to (,p())(\ell,p(\ell)) or stays in (,𝖻𝖺𝖽)(\ell,\mathsf{bad}). The values of clocks do not change in both of these cases. By definition of the projection mapping, 𝖯𝗋(π¯|n+1)=𝖯𝗋(π¯|n)((0,),(0,))(,ν¯|C)\mathsf{Pr}(\bar{\pi}_{|n+1})=\mathsf{Pr}(\bar{\pi}_{|n})((0,\bot),(0,\bot))(\ell,\bar{\nu}_{|C}). We let πn+1\pi_{n+1} be πn(σ(πn),(0,))(,ν¯|C)\pi_{n}(\sigma(\pi_{n}),(0,\bot))(\ell,\bar{\nu}_{|C}): πn+1\pi_{n+1} is a well-defined play (the last transition is valid by the move (0,)(0,\bot) of 𝒫2\mathcal{P}_{2}), is consistent with σ\sigma and has the same sequence of states as 𝖯𝗋(π¯|n+1)\mathsf{Pr}(\bar{\pi}_{|n+1}).

Case 3. Assume qq is an odd number. We study three sub-cases: a. q=𝖻𝖺𝖽q^{\prime}=\mathsf{bad}; b. q𝖻𝖺𝖽q^{\prime}\neq\mathsf{bad} and a(1)=β1a^{(1)}=\beta_{1}; c. q𝖻𝖺𝖽q^{\prime}\neq\mathsf{bad} and a(1)β1a^{(1)}\neq\beta_{1}. They are disjoint and cover all possibilities.

We start with case 3.a. Assume that q=𝖻𝖺𝖽q^{\prime}=\mathsf{bad}. Then d(1)=d(2)=λν¯(z)d^{(1)}=d^{(2)}=\lambda-\bar{\nu}(z) holds: first, to enter a bad location from an odd location, zz must reach λ\lambda, thus d(i)λν¯(z)d^{(i)}\geq\lambda-\bar{\nu}(z) for i{1,2}i\in\{1,2\}; second, the invariant of odd locations implies zλz\leq\lambda, thus no delay greater than λν¯(z)\lambda-\bar{\nu}(z) can be played by either player in the state 𝗅𝖺𝗌𝗍(π¯n)=(,q,ν¯)\mathsf{last}(\bar{\pi}_{n})=(\ell,q,\bar{\nu}). It follows from d(1)=λν¯(z)d^{(1)}=\lambda-\bar{\nu}(z) that the delay of the move σ(πn)=σ(𝖯𝗋(π¯|n))\sigma(\pi_{n})=\sigma(\mathsf{Pr}(\bar{\pi}_{|n})) must be greater than or equal to d(1)d^{(1)} (by line 1 of the definition of σ¯\bar{\sigma}). We have 𝖯𝗋(π¯|n+1)=𝖯𝗋(π¯|n)((d(1),),(d(2),)(,ν¯|C)\mathsf{Pr}(\bar{\pi}_{|n+1})=\mathsf{Pr}(\bar{\pi}_{|n})((d^{(1)},\bot),(d^{(2)},\bot)(\ell^{\prime},\bar{\nu}^{\prime}_{|C}). We define πn+1\pi_{n+1} to be πn(σ(πn),(d(2),))(,ν¯|C)\pi_{n}(\sigma(\pi_{n}),(d^{(2)},\bot))(\ell^{\prime},\bar{\nu}^{\prime}_{|C}). The sequence πn+1\pi_{n+1} is a well-defined play consistent with σ\sigma; the last step is valid due to the delay of σ(πn)\sigma(\pi_{n}) being more than d(2)=d(1)d^{(2)}=d^{(1)}. By construction, πn+1\pi_{n+1} has the same sequence of states as 𝖯𝗋(π¯|n+1)\mathsf{Pr}(\bar{\pi}_{|n+1}).

Assume for cases 3.b and 3.c that q𝖻𝖺𝖽q^{\prime}\neq\mathsf{bad}. We start with case 3.b. Assume a(1)=β1a^{(1)}=\beta_{1}. Then d(1)=λν¯(z)d(2)d^{(1)}=\lambda-\bar{\nu}(z)\geq d^{(2)} because m(2)m^{(2)} is a 𝒫2\mathcal{P}_{2} move enabled in the state (,q,ν¯)(\ell,q,\bar{\nu}) which is constrained by the invariant zλz\leq\lambda. As q𝖻𝖺𝖽q^{\prime}\neq\mathsf{bad}, necessarily a(2)β2a^{(2)}\neq\beta_{2} and 𝒫2\mathcal{P}_{2} is responsible for the last transition of π¯|n+1\bar{\pi}_{|n+1}. We have 𝖯𝗋(π¯|n+1)=𝖯𝗋(π¯|n)((d(1),),m(2))(,ν¯|C)\mathsf{Pr}(\bar{\pi}_{|n+1})=\mathsf{Pr}(\bar{\pi}_{|n})((d^{(1)},\bot),m^{(2)})(\ell^{\prime},\bar{\nu}^{\prime}_{|C}). In this case, we set πn+1=πn(σ(πn),m(2))(,ν¯|C)\pi_{n+1}=\pi_{n}(\sigma(\pi_{n}),m^{(2)})(\ell^{\prime},\bar{\nu}^{\prime}_{|C}). This is a well-defined play, as d(2)d(1)d^{(2)}\leq d^{(1)} and d(1)d^{(1)} is smaller than the delay suggested by σ(πn)=σ(𝖯𝗋(π¯|n))\sigma(\pi_{n})=\sigma(\mathsf{Pr}(\bar{\pi}_{|n})) by definition of σ¯\bar{\sigma}.

For case 3.c, assume a(1)β1a^{(1)}\neq\beta_{1}. Then (d(1),a(1))=σ(𝖯𝗋(π¯|n))(d^{(1)},a^{(1)})=\sigma(\mathsf{Pr}(\bar{\pi}_{|n})) by definition of σ\sigma. To avoid distinguishing cases following whether a(2)=β2a^{(2)}=\beta_{2}, let a~(2)\tilde{a}^{(2)} denote \bot if a(2)=β2a^{(2)}=\beta_{2} and a(2)a^{(2)} otherwise. We have 𝖯𝗋(π¯|n+1)=𝖯𝗋(π¯|n)(σ(𝖯𝗋(π¯|n)),(d(2),a~(2)))(,ν¯|C)\mathsf{Pr}(\bar{\pi}_{|n+1})=\mathsf{Pr}(\bar{\pi}_{|n})({\sigma}(\mathsf{Pr}(\bar{\pi}_{|n})),(d^{(2)},\tilde{a}^{(2)}))(\ell^{\prime},\bar{\nu}^{\prime}_{|C}). We let πn+1\pi_{n+1} be the sequence πn(σ(πn),(d(2),a~(2)))(,ν¯|C)\pi_{n}(\sigma(\pi_{n}),(d^{(2)},\tilde{a}^{(2)}))(\ell^{\prime},\bar{\nu}^{\prime}_{|C}). It is a well-defined play, consistent with σ\sigma and sharing the same sequence of states as 𝖯𝗋(π¯|n+1)\mathsf{Pr}(\bar{\pi}_{|n+1}). These last statements follow from 𝖯𝗋(π¯|n)\mathsf{Pr}(\bar{\pi}_{|n}) and πn\pi_{n} sharing the same sequence of states and move-independence of σ\sigma ensuring σ(𝖯𝗋(π¯|n))=σ(πn)\sigma(\mathsf{Pr}(\bar{\pi}_{|n}))=\sigma(\pi_{n}).

The previous inductive construction shows the existence of a play π𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ)\pi\in\mathsf{Outcome}_{1}(\sigma) such that 𝖯𝗋(π¯)\mathsf{Pr}(\bar{\pi}) and π\pi share the same sequence of states. We now argue that if the constructed play π\pi is time-convergent and 𝒫1\mathcal{P}_{1}-blameless, then π¯\bar{\pi} is also 𝒫1\mathcal{P}_{1}-blameless.

Assume that π\pi is time-convergent and 𝒫1\mathcal{P}_{1}-blameless. It follows that π¯\bar{\pi} is also time-convergent because π\pi and 𝖯𝗋(π¯)\mathsf{Pr}(\bar{\pi}) share the same sequence of states (recall the projection mapping preserves time-convergence). By Proposition 4.7, either π¯\bar{\pi} does not leave a bad location from some point on or satisfies 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}). If from some point on π¯\bar{\pi} does not leave a bad location, then it is 𝒫1\mathcal{P}_{1}-blameless by construction of σ¯\bar{\sigma}: in a bad location, σ¯\bar{\sigma} always suggests a move that exits the bad location. Assume now that σ¯\bar{\sigma} satisfies 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}). Then, from some point on, the construction of π\pi proceeds following cases 1, 3.b and 3.c of the inductive construction. In cases 1 and 3.c, the player responsible for the transition that is added is the same in both games. In case 3.b, 𝒫1\mathcal{P}_{1} is not responsible for the last transition of π¯|n+1\bar{\pi}_{|n+1}. Therefore, if from some point on 𝒫1\mathcal{P}_{1} is no longer responsible for transitions in π\pi, then from some point on, 𝒫1\mathcal{P}_{1} is no longer responsible for transitions in π¯\bar{\pi}, i.e., π¯\bar{\pi} is 𝒫1\mathcal{P}_{1}-blameless.

The translations of strategies described in Lemma 4.9 (resp. Lemma 4.11) establish a relation associating to any outcome of a translated strategy, an outcome of the original strategy which shares states with the expansion (resp. projection) of this outcome. Recall that all the objectives we have considered are state-based, and therefore move-independent strategies suffice for these objectives. Using the relations developed in Lemma 4.9 and Lemma 4.11, and Lemma 4.3, we can establish that translating a winning strategy of 𝒢\mathcal{G} yields a winning strategy of 𝒢(p,λ)\mathcal{G}(p,\lambda), and vice-versa. From this, we can conclude that the realizability problem on TGs with (resp. direct) timed window objectives can be reduced to the realizability problem on TGs with co-Büchi (resp. safety) objectives.

Theorem 4.13.

Let s𝗂𝗇𝗂𝗍s_{\mathsf{init}} be the initial state of 𝒢\mathcal{G} and s¯𝗂𝗇𝗂𝗍\bar{s}_{\mathsf{init}} be the initial state of 𝒢(p,λ)\mathcal{G}(p,\lambda). There is a winning strategy σ\sigma for 𝒫1\mathcal{P}_{1} for the objective 𝖳𝖶(p,λ)\mathsf{TW}(p,\lambda) (resp. 𝖣𝖳𝖶(p,λ)\mathsf{DTW}(p,\lambda)) from s𝗂𝗇𝗂𝗍s_{\mathsf{init}} in 𝒢\mathcal{G} if and only if there is a winning strategy σ¯\bar{\sigma} for 𝒫1\mathcal{P}_{1} for the objective 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}) (resp. 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad})) from s¯𝗂𝗇𝗂𝗍\bar{s}_{\mathsf{init}} in 𝒢(p,λ)\mathcal{G}(p,\lambda).

Proof 4.14.

Let (Ψ,Ψ(p,λ)){(𝖳𝖶(p,λ),𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)),(𝖣𝖳𝖶(p,λ),𝖲𝖺𝖿𝖾(𝖡𝖺𝖽))}(\Psi,\Psi(p,\lambda))\in\{(\mathsf{TW}(p,\lambda),\mathsf{coB\ddot{u}chi}(\mathsf{Bad})),(\mathsf{DTW}(p,\lambda),\mathsf{Safe}(\mathsf{Bad}))\}.

Assume 𝒫1\mathcal{P}_{1} has a winning strategy σ\sigma for the objective Ψ\Psi in 𝒢\mathcal{G} from s𝗂𝗇𝗂𝗍s_{\mathsf{init}}. We assume this strategy to be move-independent because Ψ\Psi is a state-based objective. By Lemma 4.11, there is a strategy σ¯\bar{\sigma} such that for any play π¯𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ¯,s¯𝗂𝗇𝗂𝗍)\bar{\pi}\in\mathsf{Outcome}_{1}(\bar{\sigma},\bar{s}_{\mathsf{init}}), there is a play π𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ,s𝗂𝗇𝗂𝗍)\pi\in\mathsf{Outcome}_{1}(\sigma,s_{\mathsf{init}}) such that the sequence of states of ρ\rho and 𝖯𝗋(π¯)\mathsf{Pr}(\bar{\pi}) coincide, and if π\pi is time-convergent and 𝒫1\mathcal{P}_{1}-blameless, then π¯\bar{\pi} is 𝒫1\mathcal{P}_{1}-blameless.

Fix π¯𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ¯,s¯𝗂𝗇𝗂𝗍)\bar{\pi}\in\mathsf{Outcome}_{1}(\bar{\sigma},\bar{s}_{\mathsf{init}}) and let π\pi as above. We establish that π¯𝖶𝖢1(Ψ(p,λ))\bar{\pi}\in\mathsf{WC}_{1}(\Psi(p,\lambda)). Because σ\sigma is winning, π𝖶𝖢1(Ψ)\pi\in\mathsf{WC}_{1}(\Psi). First, assume π¯\bar{\pi} is time-divergent. Then π\pi is also time-divergent. It follows that πΨ\pi\in\Psi and since Ψ\Psi is state-based, 𝖯𝗋(π¯)Ψ\mathsf{Pr}(\bar{\pi})\in\Psi. Lemma 4.3 ensures that π¯Ψ(p,λ)\bar{\pi}\in\Psi(p,\lambda). Assume now that π¯\bar{\pi} is time-convergent. Then π\pi is also time-convergent. Because σ\sigma is winning, π\pi is 𝒫1\mathcal{P}_{1}-blameless. This implies 𝒫1\mathcal{P}_{1}-blamelessness of π¯\bar{\pi}. Thus, we have π¯𝖶𝖢1(Ψ(p,λ))\bar{\pi}\in\mathsf{WC}_{1}(\Psi(p,\lambda)) and have shown that σ¯\bar{\sigma} is winning.

Conversely, assume 𝒫1\mathcal{P}_{1} has a winning strategy σ¯\bar{\sigma} in 𝒢(p,λ)\mathcal{G}(p,\lambda) for objective Ψ(p,λ)\Psi(p,\lambda) from s¯𝗂𝗇𝗂𝗍\bar{s}_{\mathsf{init}}. We assume that the strategy σ¯\bar{\sigma} is move-independent. We show that the strategy σ\sigma defined in Lemma 4.9 is winning in 𝒢\mathcal{G} from s𝗂𝗇𝗂𝗍s_{\mathsf{init}}. Fix π𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ,s𝗂𝗇𝗂𝗍)\pi\in\mathsf{Outcome}_{1}(\sigma,s_{\mathsf{init}}). Let π¯𝖮𝗎𝗍𝖼𝗈𝗆𝖾1(σ¯,s¯𝗂𝗇𝗂𝗍)\bar{\pi}\in\mathsf{Outcome}_{1}(\bar{\sigma},\bar{s}_{\mathsf{init}}) be such that the sequence of states of π¯\bar{\pi} coincides with that of 𝖤𝗑(π)\mathsf{Ex}(\pi), and that if π¯\bar{\pi} if time-convergent and 𝒫1\mathcal{P}_{1}-blameless, then π\pi is also blameless. We prove that π𝖶𝖢1(Ψ)\pi\in\mathsf{WC}_{1}(\Psi) and distinguish cases following time-divergence of π\pi. Assume π\pi is time-divergent, then so is π¯\bar{\pi}. The play π¯\bar{\pi} is consistent with a winning strategy and time-divergent, thus π¯Ψ(p,λ)\bar{\pi}\in\Psi(p,\lambda). Safety/co-Büchi objectives are state-based, and hence π¯Ψ(p,λ)\bar{\pi}\in\Psi(p,\lambda) if and only if 𝖤𝗑(π)Ψ(p,λ)\mathsf{Ex}(\pi)\in\Psi(p,\lambda). It follows from Lemma 4.3 that πΨ\pi\in\Psi. Now assume that π\pi is time-convergent. Then, π¯\bar{\pi} is time-convergent thus 𝒫1\mathcal{P}_{1}-blameless, therefore π\pi is also 𝒫1\mathcal{P}_{1}-blameless. We have proven that π𝖶𝖢1(Ψ)\pi\in\mathsf{WC}_{1}(\Psi), which ends the proof.

5 Multi-dimensional objectives

We can generalize the former reduction to conjunctions of (resp. direct) timed window parity objectives. Fix a TG 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}) with set of locations LL. We consider a kk-dimensional priority function p:L{0,,d1}kp\colon L\to\{0,\ldots,d-1\}^{k}. We write pi:L{0,,d1}p_{i}\colon L\to\{0,\ldots,d-1\} for each component function. Fix λ=(λ1,,λk)({0})k\lambda=(\lambda_{1},\ldots,\lambda_{k})\in(\mathbb{N}\setminus\{0\})^{k} a vector of bounds on window sizes.

Generalized (resp. direct) timed window objectives are defined as conjunctions of (resp. direct) timed window objectives. Formally, the generalized timed window (parity) objective is defined as

𝖦𝖳𝖶(p,λ)=1ik𝖳𝖶(pi,λi)\mathsf{GTW}(p,\lambda)=\bigcap_{1\leq i\leq k}\mathsf{TW}(p_{i},\lambda_{i})

and the generalized direct timed window (parity) objective as

𝖦𝖣𝖳𝖶(p,λ)=1ik𝖣𝖳𝖶(pi,λi).\mathsf{GDTW}(p,\lambda)=\bigcap_{1\leq i\leq k}\mathsf{DTW}(p_{i},\lambda_{i}).

The verification and realizability problems for these objectives can be solved using a similar construction to the single-dimensional case. The inductive property (Lemma 3.3) ensures only one window needs to be monitored at a time on each dimension. We adapt the construction of the expanded TA to keep track of several windows at once.

Expanded locations are labeled with vectors q=(q1,,qk)q=(q_{1},\ldots,q_{k}) where qiq_{i} represents the smallest priority in the current window on dimension ii for each ii. Besides these, for each location \ell, there is an expanded location marked by 𝖻𝖺𝖽\mathsf{bad}. We do not keep track of the dimension on which a bad window was seen: we only consider one kind of bad location. To measure the size of a window in each dimension, we introduce kk new clocks z1,,zkCz_{1},\ldots,z_{k}\notin C. For any q{0,,d1}kq\in\{0,\ldots,d-1\}^{k}, denote by OqO_{q} the set {1ikqimod2=1}\{1\leq i\leq k\mid q_{i}\bmod 2=1\} of indices of components that are odd.

Updates of the vector of priorities are independent between dimensions and follow the same logic as the simpler case. In the single-dimensional case, an edge leaving an even location (,q)(\ell,q) leads to a location of the form (,p())(\ell^{\prime},p(\ell^{\prime})) and an edge leaving an odd location (,q)(\ell,q) leads to a location of the form (,min{q,p()})(\ell^{\prime},\min\{q,p(\ell^{\prime})\}). The behavior of edges is similar in this case. The update function 𝗎𝗉\mathsf{up} generalizes the handling of updates. Let qq be a vector of current priorities and \ell be a location of 𝒜\mathcal{A}. We set 𝗎𝗉(q,)\mathsf{up}(q,\ell) to be the vector qq^{\prime} such that qi=min{qi,pi()}q^{\prime}_{i}=\min\{q_{i},p_{i}(\ell)\} if iOqi\in O_{q} and qi=pi()q^{\prime}_{i}=p_{i}(\ell) otherwise.

For any non-bad location (,q)(\ell,q) and edge (,g,a,D,)(\ell,g,a,D,\ell^{\prime}) leaving location \ell, there is a matching edge in the expanded TA. The target location of this edge is (,𝗎𝗉(q,))(\ell^{\prime},\mathsf{up}(q,\ell^{\prime})). Its guard is a strengthened version of gg: it is disabled if a bad window is detected on some dimension by adding a conjunct zi<λiz_{i}<\lambda_{i} for each iOqi\in O_{q} to the guard of the edge. In the same manner that odd locations were equipped with a strengthened invariant of the form I()zλI(\ell)\land z\leq\lambda, expanded locations (,q)(\ell,q) are equipped with an invariant that is the conjunction of I()I(\ell) with the conjunction over OqO_{q} of ziλiz_{i}\leq\lambda_{i}.

It remains to discuss how bad locations are generalized. They have the invariant z1=0z_{1}=0 (z1z_{1} is chosen arbitrarily) and for each β{β1,β2}\beta\in\{\beta_{1},\beta_{2}\} and location \ell, there is an edge ((,𝖻𝖺𝖽),𝗍𝗋𝗎𝖾,β,,(,p()))((\ell,\mathsf{bad}),\mathsf{true},\beta,\varnothing,(\ell,p(\ell))). In the single-dimensional case, each odd location had an edge to a bad location with a guard z=λz=\lambda. Analogously, for any location (,q)(\ell,q) with OqO_{q} non-empty, there are edges to (,𝖻𝖺𝖽)(\ell,\mathsf{bad}). There are two such edges (one for each β{β1,β2}\beta\in\{\beta_{1},\beta_{2}\}) per dimension in OqO_{q}. Recall that there cannot be two edges (,g,a,D,)(\ell,g,a,D,\ell^{\prime}) and (,h,a,D,′′)(\ell,h,a,D^{\prime},\ell^{\prime\prime}) with ghg\land h satisfiable. This prevents adding 2|Oq|2\cdot|O_{q}| edges guarded by zi=λiz_{i}=\lambda_{i}. We do not need more than 2|Oq|2\cdot|O_{q}| edges however. For instance, instead of having one edge guarded by z1=λ1z_{1}=\lambda_{1} and another guarded by z2=λ2z_{2}=\lambda_{2}, we can replace the guard of the second edge by z1<λ1z2=λ2z_{1}<\lambda_{1}\land z_{2}=\lambda_{2} to ensure the guards are incompatible. Upon entry to a bad location, all additional clocks z1z_{1}, …, zkz_{k} are reset, no matter the dimension on which a bad window was detected.

The formal definition of 𝒜(p,λ)\mathcal{A}(p,\lambda) follows.

Definition 5.1.

Given a TA 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E), 𝒜(p,λ)\mathcal{A}(p,\lambda) is defined to be the TA (L,𝗂𝗇𝗂𝗍,C,Σ,I,E)(L^{\prime},\ell^{\prime}_{\mathsf{init}},C^{\prime},\Sigma^{\prime},I^{\prime},E^{\prime}) such that

  • L=L×({0,,d1}k{𝖻𝖺𝖽})L^{\prime}=L\times(\{0,\ldots,d-1\}^{k}\cup\{\mathsf{bad}\});

  • 𝗂𝗇𝗂𝗍=(𝗂𝗇𝗂𝗍,p(𝗂𝗇𝗂𝗍))\ell^{\prime}_{\mathsf{init}}=(\ell_{\mathsf{init}},p(\ell_{\mathsf{init}}));

  • C=C{z1,,zk}C^{\prime}=C\cup\{z_{1},\ldots,z_{k}\} where z1,,zkCz_{1},\ldots,z_{k}\notin C;

  • Σ=Σ{β1,β2}\Sigma^{\prime}=\Sigma\cup\{\beta_{1},\beta_{2}\} where β1\beta_{1}, β2Σ\beta_{2}\notin\Sigma;

  • I(,q)=(I()iOq(ziλi))I^{\prime}(\ell,q)=(I(\ell)\land\bigwedge_{i\in O_{q}}(z_{i}\leq\lambda_{i})) for all L\ell\in L, q{0,,d1}kq\in\{0,\ldots,d-1\}^{k}, and I(,𝖻𝖺𝖽)=(z1=0)I^{\prime}(\ell,\mathsf{bad})=(z_{1}=0) for all L\ell\in L;

  • the set of edges EE^{\prime} of 𝒜(p,λ)\mathcal{A}(p,\lambda) is the smallest set that satisfies the following rules:

    • if qbadq\neq bad and (,g,a,D,)E(\ell,g,a,D,\ell^{\prime})\in E, then

      ((,q),giOq(zi<λi),a,D{ziiOq},(,𝗎𝗉(q,))E;\bigg{(}(\ell,q),g\land\bigwedge_{i\in O_{q}}(z_{i}<\lambda_{i}),a,D\cup\{z_{i}\mid i\notin O_{q}\},(\ell^{\prime},\mathsf{up}(q,\ell^{\prime})\bigg{)}\in E^{\prime};
    • for all L\ell\in L, q𝖻𝖺𝖽q\neq\mathsf{bad}, iOqi\in O_{q} and β{β1,β2}\beta\in\{\beta_{1},\beta_{2}\}, ((,q),φi,β,{z1,,zk},(,𝖻𝖺𝖽))E((\ell,q),\varphi_{i},\beta,\{z_{1},\ldots,z_{k}\},(\ell,\mathsf{bad}))\in E^{\prime} where the clock condition φi\varphi_{i} is defined by

      φi(zi=λi)1j<ijOq(zj<λj);\varphi_{i}\coloneqq(z_{i}=\lambda_{i})\land\bigwedge_{\begin{subarray}{c}1\leq j<i\\ j\in O_{q}\end{subarray}}(z_{j}<\lambda_{j});
    • for all L\ell\in L and β{β1,β2}\beta\in\{\beta_{1},\beta_{2}\}, ((,𝖻𝖺𝖽),𝗍𝗋𝗎𝖾,β,,(,p())E.((\ell,\mathsf{bad}),\mathsf{true},\beta,\varnothing,(\ell,p(\ell))\in E^{\prime}.

For a TG 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}), we set 𝒢(p,λ)=(𝒜(p,λ),Σ1{β1},Σ2{β2})\mathcal{G}(p,\lambda)=(\mathcal{A}(p,\lambda),\Sigma_{1}\cup\{\beta_{1}\},\Sigma_{2}\cup\{\beta_{2}\}).

The generalized (resp. direct) timed window objective on a TA 𝒜\mathcal{A} or TG 𝒢\mathcal{G} translates to a co-Büchi (resp. safety) objective on the expansion 𝒜(p,λ)\mathcal{A}(p,\lambda) and 𝒢(p,λ)\mathcal{G}(p,\lambda) respectively. Let 𝖡𝖺𝖽=L×{𝖻𝖺𝖽}\mathsf{Bad}=L\times\{\mathsf{bad}\}. We can derive the following theorems by adapting the proofs of the single-dimensional case (Theorems 4.5 and 4.13). The only nuance is that there are several dimensions to be handled in parallel. However, different dimensions minimally interact with one another. The only way a dimension may affect the others is by resetting them in the expansion (when a bad location is visited), and that would entail a bad window was detected on one dimension.

Theorem 5.2.

All time-divergent paths of 𝒜\mathcal{A} satisfy the generalized (resp. direct) timed window objective if and only if all time-divergent paths of 𝒜(p,λ)\mathcal{A}(p,\lambda) satisfy the co-Büchi (resp. safety) objective over bad locations.

Theorem 5.3.

There is a winning strategy σ\sigma for 𝒫1\mathcal{P}_{1} for the objective 𝖦𝖳𝖶(p,λ)\mathsf{GTW}(p,\lambda) (resp. 𝖦𝖣𝖳𝖶(p,λ)\mathsf{GDTW}(p,\lambda)) from the initial state of 𝒢\mathcal{G} if and only if there is a winning strategy σ¯\bar{\sigma} for 𝒫1\mathcal{P}_{1} for the objective 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}) (resp. 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad})) from the initial state of 𝒢(p,λ)\mathcal{G}(p,\lambda).

6 Algorithms and complexity

This section presents algorithms for solving the verification and realizability problems for the generalized (resp. direct) timed window parity objective. We establish lower bounds that match the complexity class of our algorithms. We consider the general multi-dimensional setting and we denote by kk the number of timed window parity objectives under consideration.

6.1 Algorithms

We use the construction presented in the previous sections to solve both the realizability problem and the verification problem for the (resp. direct) timed window objective. In both cases, we invoke known sub-algorithms. For games, we rely on a general algorithm for solving TGs with ω\omega-regular location-based objectives. For automata, we use an algorithm for the emptiness problem of timed automata.

First, we analyze the time required to construct the expanded TA with respect to the inputs to the problem.

Lemma 6.1.

Let 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E) be a TA. Let p:L{0,,d1}kp\colon L\to\{0,\ldots,d-1\}^{k} be a kk-dimensional priority function and λ({0})k\lambda\in(\mathbb{N}\setminus\{0\})^{k} be a vector of bounds on window sizes. The expanded TA 𝒜(p,λ)=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}(p,\lambda)=(L^{\prime},\ell_{\mathsf{init}}^{\prime},C^{\prime},\Sigma^{\prime},I^{\prime},E^{\prime}) can be computed in time exponential in kk and polynomial in the size of LL, the size of EE, the size of CC, dd, the length of the encoding of the clock constraints of 𝒜\mathcal{A} and in the encoding of λ\lambda.

Proof 6.2.

We analyze each component of 𝒜(p,λ)\mathcal{A}(p,\lambda). First, we study the size of the set of expanded locations. The set of expanded locations LL^{\prime} is given by L=L×({0,,d1}k{𝖻𝖺𝖽})L^{\prime}=L\times(\{0,\ldots,d-1\}^{k}\cup\{\mathsf{bad}\}). Therefore, |L|=|L|(dk+1)|L^{\prime}|=|L|\cdot(d^{k}+1). The set of clocks CC^{\prime} contains |C|+k|C|+k clocks.

To determine a bound on the size of the set of edges, we base ourselves on the rules that define EE^{\prime}. For each edge (,g,a,D,)E(\ell,g,a,D,\ell^{\prime})\in E and q{0,,d1}kq\in\{0,\ldots,d-1\}^{k}, there is an edge in EE^{\prime} exiting location (,q)(\ell,q). There are |E|dk|E|\cdot d^{k} edges obtained this way. Furthermore, for each non-bad expanded location (,q)(\ell,q), there are up to 2k2k edges to the location (,𝖻𝖺𝖽)(\ell,\mathsf{bad}). There are at most 2k|L|dk2k\cdot|L|\cdot d^{k} edges obtained by this rule. Finally, it remains to count the edges that leave bad locations. There are two such edges per bad location, totaling to 2|L|2\cdot|L|. Overall, an upper bound on the size of EE^{\prime} is given by |E|dk+2k|L|dk+2|L||E|\cdot d^{k}+2k\cdot|L|\cdot d^{k}+2\cdot|L|.

It remains to study the total length of the encoding of the clock constraints of 𝒜(p,λ)\mathcal{A}(p,\lambda). We have shown above that LL^{\prime} and EE^{\prime} are of size exponential in kk and polynomial in |L||L|, |E||E| and dd. There are as many clock constraints in 𝒜(p,λ)\mathcal{A}(p,\lambda) as there are locations and edges. Therefore, it suffices to show that the encoding of each individual clock constraint of 𝒜(p,λ)\mathcal{A}(p,\lambda) is polynomial in the total length of the encoding of the clock constraints of 𝒜\mathcal{A}, kk and the encoding of λ\lambda to end the proof.

A clock constraint of 𝒜(p,λ)\mathcal{A}(p,\lambda) is either derived from a clock constraint of 𝒜\mathcal{A}, the invariant of a bad location or the guard of an edge to or from a bad location. Clock constraints derived from 𝒜\mathcal{A} are either unchanged, or they are obtained by reinforcing a clock constraint of 𝒜\mathcal{A} with conjuncts ziλiz_{i}\leq\lambda_{i} in the case of invariants or with a conjuncts zi<λiz_{i}<\lambda_{i} in the case of guards. At most, we extend clock constraints of 𝒜\mathcal{A} with kk conjuncts that can be encoded linearly w.r.t. the encoding of the λi\lambda_{i}. The invariant of bad locations is z1=0z_{1}=0 and is therefore constant in length. The guards of edges exiting bad locations are 𝗍𝗋𝗎𝖾\mathsf{true} and are also constant in length. Finally, guards of edges to bad locations are conjunctions of the form zi1<λi1zij1<λij1zij=λijz_{i_{1}}<\lambda_{i_{1}}\land\ldots\land z_{i_{j-1}}<\lambda_{i_{j-1}}\land z_{i_{j}}=\lambda_{i_{j}}, which can be encoded linearly w.r.t. kk and the encoding of the λi\lambda_{i}.

Timed games.

To solve the realizability problem, we rely on the algorithm from [20]. To use the algorithm of [20], we introduce deterministic parity automata. For all finite alphabets AA, deterministic parity automata can represent all ω\omega-regular subsets of AωA^{\omega}. We use deterministic parity automata to encode location-based objectives (the set of locations of the studied timed automaton serves as the alphabet of the parity automaton).

Let AA be a finite non-empty alphabet. A deterministic parity automaton (DPA) of order mm is a tuple H=(Q,q𝗂𝗇𝗂𝗍,A,δ,Ω)H=(Q,q_{\mathsf{init}},A,\delta,\Omega), where QQ is a finite set of states, q𝗂𝗇𝗂𝗍Qq_{\mathsf{init}}\in Q is the initial state, δ:Q×AQ\delta\colon Q\times A\to Q is the transition function and Ω:Q{0,,2m1}\Omega:Q\to\{0,\ldots,2m-1\} is a function assigning a priority to each state of the DPA. An execution of HH on an infinite word a0a1Aωa_{0}a_{1}\ldots\in A^{\omega} is an infinite sequence of states q0q1Qωq_{0}q_{1}\ldots\in Q^{\omega} that starts in the initial state of HH, i.e., q0=q𝗂𝗇𝗂𝗍q_{0}=q_{\mathsf{init}} and such that for all ii\in\mathbb{N}, qi+1=δ(qi,ai)q_{i+1}=\delta(q_{i},a_{i}), i.e., each step of the execution is performed by reading a letter of the input word. An infinite word wAωw\in A^{\omega} is accepted by HH if there is an execution q0q1Qωq_{0}q_{1}\ldots\in Q^{\omega} such that the smallest priority appearing infinitely often along the execution is even, i.e. if (lim infnΩ(qi))mod2=0(\liminf_{n\to\infty}\Omega(q_{i}))\bmod 2=0. A DPA is total if its transition function is total, i.e., for all qQq\in Q and aAa\in A, δ(q,a)\delta(q,a) is defined.

The algorithm of [20] checks the existence of a 𝒫1\mathcal{P}_{1}-winning strategy in a TG 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}) where the set of locations of 𝒜\mathcal{A} is LL and the set of clocks is CC with a location objective specified by a total DPA HH with set of states QQ and of order mm in time

𝒪((|L|2|C|!2|C|xC(2cx+1)|Q|m)m+2),\mathcal{O}\left(\left(|L|^{2}\cdot|C|!\cdot 2^{|C|}\cdot\prod_{x\in C}(2c_{x}+1)\cdot|Q|\cdot m\right)^{m+2}\right), (2)

where cxc_{x} is the largest constant to which xx is compared to in the clock constraints of 𝒜\mathcal{A}.

We now show that the realizability problem for generalized (resp. direct) timed window objectives is in EXPTIME using the algorithm described above. This essentially boils down to specifying DPAs that encode safety and co-Büchi objectives and using these along with the algorithm of [20] to check the existence of a 𝒫1\mathcal{P}_{1}-winning strategy in 𝒢(p,λ)\mathcal{G}(p,\lambda).

Proof 6.3.

Fix a TG 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}) and let LL denote the set of locations of 𝒜\mathcal{A}. Let pp be a multi-dimensional priority function and λ({0})k\lambda\in(\mathbb{N}\setminus\{0\})^{k} be a vector of window sizes. Let LL^{\prime} denote the set of locations of 𝒜(p,λ)\mathcal{A}(p,\lambda). We describe total DPAs H𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)H_{\mathsf{Safe}(\mathsf{Bad})} and H𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)H_{\mathsf{coB\ddot{u}chi}(\mathsf{Bad})} for the objectives 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad}) and 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}) in the TG 𝒢(p,λ)\mathcal{G}(p,\lambda).

We encode the safety objective using a DPA with two states. Intuitively, the initial state is never left as long as no bad location is read. If the DPA reads a bad location, it moves to a sink state, representing that the safety objective was violated. The initial state is given an even priority and the sink state an odd priority so that accepting executions are those that read sequences of locations that respect the safety objective. Formally, let H𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)H_{\mathsf{Safe}(\mathsf{Bad})} be the DPA (Q,q𝗂𝗇𝗂𝗍,L,δ,Ω)(Q,q_{\mathsf{init}},L^{\prime},\delta,\Omega) where Q={q𝗂𝗇𝗂𝗍,q𝖻𝖺𝖽}Q=\{q_{\mathsf{init}},q_{\mathsf{bad}}\}, Ω(q𝗂𝗇𝗂𝗍)=0\Omega(q_{\mathsf{init}})=0 and Ω(q𝖻𝖺𝖽)=1\Omega(q_{\mathsf{bad}})=1, and the transition function is defined by δ(q𝗂𝗇𝗂𝗍,(,q))=q𝗂𝗇𝗂𝗍\delta(q_{\mathsf{init}},(\ell,q))=q_{\mathsf{init}} for all (,q)L𝖡𝖺𝖽(\ell,q)\in L^{\prime}\setminus\mathsf{Bad}, δ(q𝗂𝗇𝗂𝗍,(,𝖻𝖺𝖽))=q𝖻𝖺𝖽\delta(q_{\mathsf{init}},(\ell,\mathsf{bad}))=q_{\mathsf{bad}} for all L\ell\in L and δ(q𝖻𝖺𝖽,(,q))=q𝖻𝖺𝖽\delta(q_{\mathsf{bad}},(\ell,q))=q_{\mathsf{bad}} for all (,q)L(\ell,q)\in L^{\prime}. This DPA is total by construction.

The co-Büchi objective is also encoded by a DPA with two states. The first state q𝗂𝗇𝗂𝗍q_{\mathsf{init}} is entered every time a non-bad location is read by the DPA and the second state q𝖻𝖺𝖽q_{\mathsf{bad}} whenever a bad location is read. Runs that visit q𝖻𝖺𝖽q_{\mathsf{bad}} infinitely often violate the co-Büchi objective, therefore we give q𝖻𝖺𝖽q_{\mathsf{bad}} an odd priority smaller than the even priority of q𝗂𝗇𝗂𝗍q_{\mathsf{init}}. Formally, let H𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)H_{\mathsf{coB\ddot{u}chi}(\mathsf{Bad})} be the DPA (Q,q𝗂𝗇𝗂𝗍,L,δ,Ω)(Q,q_{\mathsf{init}},L^{\prime},\delta,\Omega) where Q={q𝗂𝗇𝗂𝗍,q𝖻𝖺𝖽}Q=\{q_{\mathsf{init}},q_{\mathsf{bad}}\}, Ω(q𝗂𝗇𝗂𝗍)=2\Omega(q_{\mathsf{init}})=2 and Ω(q𝖻𝖺𝖽)=1\Omega(q_{\mathsf{bad}})=1, and the transition function is defined by δ(q,(,q))=q𝗂𝗇𝗂𝗍\delta(q,(\ell,q))=q_{\mathsf{init}} for all (,q)L𝖡𝖺𝖽(\ell,q)\in L^{\prime}\setminus\mathsf{Bad} and q{q𝗂𝗇𝗂𝗍,q𝖻𝖺𝖽}q\in\{q_{\mathsf{init}},q_{\mathsf{bad}}\}, and δ(q,(,𝖻𝖺𝖽))=q𝖻𝖺𝖽\delta(q,(\ell,\mathsf{bad}))=q_{\mathsf{bad}} for all L\ell\in L and q{q𝗂𝗇𝗂𝗍,q𝖻𝖺𝖽}q\in\{q_{\mathsf{init}},q_{\mathsf{bad}}\}. This deterministic parity automaton is total by construction.

By Theorem 5.3, it suffices to check the existence of a winning strategy for 𝒫1\mathcal{P}_{1} in the expanded TG 𝒢(p,λ)\mathcal{G}(p,\lambda) to answer the realizability problem over 𝒢\mathcal{G}. By Lemma 6.1, the construction of the TG 𝒢(p,λ)\mathcal{G}(p,\lambda) from 𝒢\mathcal{G} takes exponential time w.r.t. to the inputs to the problem.

Recall that there are |L|(dk+1)|L|\cdot(d^{k}+1) locations in 𝒜(p,λ)\mathcal{A}(p,\lambda). We have shown that the objective 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad}) (resp. 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad})) can be encoded using a DPA with two states and order at most 22. Combining this with equation (2), it follows that we can check the existence of a 𝒫1\mathcal{P}_{1}-winning strategy in 𝒢(p,λ)\mathcal{G}(p,\lambda) for a safety or co-Büchi objective in time

𝒪((|L|2(dk+1)2(|C|+k)!2|C|+kxC(2cx+1)1ik(2λi+1))4),\mathcal{O}\left(\left(|L|^{2}\cdot(d^{k}+1)^{2}\cdot(|C|+k)!\cdot 2^{|C|+k}\prod_{x\in C}(2c_{x}+1)\cdot\prod_{1\leq i\leq k}(2\lambda_{i}+1)\right)^{4}\right), (3)

where cxc_{x} is the largest constant to which xx is compared to in the clock constraints of 𝒜\mathcal{A}.

Overall, 𝒢(p,λ)\mathcal{G}(p,\lambda) can be constructed in exponential time and the existence of a 𝒫1\mathcal{P}_{1}-winning strategy in 𝒢(p,λ)\mathcal{G}(p,\lambda) can be checked in exponential time, establishing EXPTIME-membership of the realizability problem for (resp. direct) timed window objectives.

Timed automata.

We describe a polynomial space algorithm for the verification problem for generalized (resp. direct) timed window objectives derived from our reduction. First, we remark that to check that all time-divergent paths of a TA satisfy a conjunction of objectives, we can proceed one objective at a time: for any family of objectives, there is some time-divergent path that does not satisfy the conjunction of objectives in the family if and only if, for some objective from the family, there is some time-divergent path that does not satisfy it. This contrasts with TGs, in which 𝒫1\mathcal{P}_{1} may have a winning strategy for each individual objective but is unable to satisfy their conjunction.

Following the observation above, we establish membership in PSPACE of the verification problem for the generalized (resp. direct) timed window objective in two steps. First, we argue that the verification problem is in PSPACE for the single-dimensional (resp. direct) timed window parity objective. Then, in the multi-dimensional setting, we use the single-dimensional case as an oracle to check satisfaction of a generalized objective one dimension at a time.

Lemma 6.4.

The generalized (direct) direct timed window verification problem is in PSPACE.

Proof 6.5.

Fix a TA 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E), a priority function p:L{0,,d1}p\colon L\to\{0,\ldots,d-1\} and a bound λ{0}\lambda\in\mathbb{N}\setminus\{0\} on window sizes. By Theorem 4.5, the verification problem on 𝒜\mathcal{A} for the (resp. direct) timed window objective can be reduced to the verification problem on 𝒜(p,λ)\mathcal{A}(p,\lambda) for the co-Büchi objective 𝖼𝗈𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{coB\ddot{u}chi}(\mathsf{Bad}) (resp. the safety objective 𝖲𝖺𝖿𝖾(𝖡𝖺𝖽)\mathsf{Safe}(\mathsf{Bad})). The complement of a co-Büchi (resp. safety) objective is a Büchi (resp. reachability) objective. Therefore, there is a time-divergent path of 𝒜\mathcal{A} that does not satisfy the (resp. direct) timed window objective if and only if there is some time-divergent path in 𝒜(p,λ)\mathcal{A}(p,\lambda) that satisfies 𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{B\ddot{u}chi}(\mathsf{Bad}) (resp. 𝖱𝖾𝖺𝖼𝗁(𝖡𝖺𝖽)\mathsf{Reach}(\mathsf{Bad})).

Our algorithm for the verification problem on 𝒜\mathcal{A} for the (resp. direct) timed window objective proceeds as follows: construct 𝒜(p,λ)\mathcal{A}(p,\lambda) and check if there is some time-divergent path in 𝒜(p,λ)\mathcal{A}(p,\lambda) satisfying 𝖡𝗎¨𝖼𝗁𝗂(𝖡𝖺𝖽)\mathsf{B\ddot{u}chi}(\mathsf{Bad}) (resp. 𝖱𝖾𝖺𝖼𝗁(𝖡𝖺𝖽)\mathsf{Reach}(\mathsf{Bad})) and return no if that is the case.

This algorithm is in polynomial space. By Lemma 6.1, as we have fixed k=1k=1, 𝒜(p,λ)\mathcal{A}(p,\lambda) can be computed in time polynomial in dd, the sizes of LL, EE, CC, the length of the encoding of the clock constraints of 𝒜\mathcal{A} and the encoding of λ\lambda. In other words, the verification problem for the (resp. direct) timed window objective can be reduced to checking the existence of a time-divergent path of a TA satisfying a Büchi (resp. reachability objective) in polynomial time. Checking the existence of a time-divergent path satisfying a Büchi or reachability objective can be done in polynomial space [2]. Thus, the verification problem for the (one-dimensional) (resp. direct) timed window objective can be solved in polynomial space.

For the kk-dimensional case, the previous algorithm can be used for each individual component, to check that all dimensions satisfy their respective objective. Complexity-wise, this shows the multidimensional problem belongs in 𝖯𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{P}^{\mathsf{PSPACE}} (with an oracle in PSPACE for the single-dimensional case). Because, 𝖯𝖯𝖲𝖯𝖠𝖢𝖤=𝖯𝖲𝖯𝖠𝖢𝖤\mathsf{P}^{\mathsf{PSPACE}}=\mathsf{PSPACE} [6], this proves that the generalized (resp. direct) timed window verification problem is in PSPACE.

6.2 Lower bounds

We have presented algorithms which share the same complexity class for one or multiple dimensions. In this section, we establish that our bounds are tight. It suffices to show hardness for the single-dimensional problems, as they are subsumed by the kk-dimensional case.

The verification and realizability problems for timed window objectives can be shown to be at least as hard as the verification and realizability problems for safety objectives. The safety verification problem is PSPACE-complete [2]. The realizability problem for safety objectives is EXPTIME-complete (this follows from EXPTIME-completeness of the safety control problem [22]). The same construction is used for the verification and realizability problem. Given a timed automaton, we expand it so as to encode in locations whether the safety objective was violated at some point. We assign an even priority to locations that indicate the safety objective never was violated and an odd priority to the other locations: as long as the safety objective is not violated, windows close immediately and as soon as it is violated, it no longer is possible to close windows.

Lemma 6.6.

The verification (resp. realizability) problem for the (direct) timed window objective is PSPACE-hard (resp. EXPTIME-hard).

Proof 6.7.

Fix a TA 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}=(L,\ell_{\mathsf{init}},C,\Sigma,I,E) and a set of unsafe locations FLF\subseteq L. We construct a TA 𝒜\mathcal{A}^{\prime} and a priority function pp such that all time-divergent initial paths of 𝒜\mathcal{A} satisfy 𝖲𝖺𝖿𝖾(F)\mathsf{Safe}(F) if and only if all time-divergent initial paths of 𝒜\mathcal{A}^{\prime} satisfy 𝖳𝖶(p,1)\mathsf{TW}(p,1) (resp. 𝖣𝖳𝖶(p,1)\mathsf{DTW}(p,1)) (the choice of 1 as the bound of the window size is arbitrary, the provided reduction functions for any bound on the size of windows). We encode the safety objective in a TA 𝒜\mathcal{A}^{\prime} as a (resp. direct) timed window objective.

We expand locations of 𝒜\mathcal{A} with a Boolean representing whether FF was visited. Formally, let 𝒜=(L,𝗂𝗇𝗂𝗍,C,Σ,I,E)\mathcal{A}^{\prime}=(L^{\prime},\ell_{\mathsf{init}}^{\prime},C,\Sigma,I^{\prime},E^{\prime}) be the TA with L=L×{0,1}L^{\prime}=L\times\{0,1\}, 𝗂𝗇𝗂𝗍=(𝗂𝗇𝗂𝗍,0)\ell^{\prime}_{\mathsf{init}}=(\ell_{\mathsf{init}},0) if 𝗂𝗇𝗂𝗍F\ell_{\mathsf{init}}\notin F and 𝗂𝗇𝗂𝗍=(𝗂𝗇𝗂𝗍,1)\ell^{\prime}_{\mathsf{init}}=(\ell_{\mathsf{init}},1) otherwise, I((,b))=I()I^{\prime}((\ell,b))=I(\ell) for all L\ell\in L and b{0,1}b\in\{0,1\}, and the set of edges EE^{\prime} is the smallest set satisfying, for each edge (,g,a,D,)E(\ell,g,a,D,\ell^{\prime})\in E: ((,0),g,a,D,(,0))E((\ell,0),g,a,D,(\ell^{\prime},0))\in E^{\prime} if F\ell^{\prime}\notin F; ((,0),g,a,D,(,1))E((\ell,0),g,a,D,(\ell^{\prime},1))\in E^{\prime} if F\ell^{\prime}\in F; and ((,1),g,a,D,(,1))E((\ell,1),g,a,D,(\ell^{\prime},1))\in E^{\prime}. The priority function pp defined over locations of 𝒜\mathcal{A}^{\prime} is defined by p((,b))=bp((\ell,b))=b.

There is a natural bijection ff between the set of initial paths of 𝒜\mathcal{A} and the set of initial paths of 𝒜\mathcal{A}^{\prime}. An initial path π=(0,ν0)m0(1,ν1)𝖯𝖺𝗍𝗁𝗌(𝒜)\pi=(\ell_{0},\nu_{0})\xrightarrow{m_{0}}(\ell_{1},\nu_{1})\ldots\mathsf{Paths}(\mathcal{A}) is mapped via ff to the initial path π¯=((0,b0),ν0)m0((1,b1),ν1)\bar{\pi}=((\ell_{0},b_{0}),\nu_{0})\xrightarrow{m_{0}}((\ell_{1},b_{1}),\nu_{1})\ldots of 𝒜\mathcal{A}^{\prime}, where the sequence (bn)n(b_{n})_{n\in\mathbb{N}} is (0)n(0)_{n\in\mathbb{N}} if for all nn\in\mathbb{N}, nF\ell_{n}\notin F and otherwise, bn=0b_{n}=0 for all n<nn<n^{\star} and bn=1b_{n}=1 for all nnn\geq n^{\star}, where nn^{\star} denotes min{nnF}\min\{n\in\mathbb{N}\mid\ell_{n}\in F\}. This mapping is well-defined and bijective: the same moves are enabled in a state (,ν)(\ell,\nu) of 𝒯(𝒜)\mathcal{T}(\mathcal{A}) and in the state ((,b),ν)((\ell,b),\nu) of 𝒯(𝒜)\mathcal{T}(\mathcal{A}^{\prime}) for all b{0,1}b\in\{0,1\}. Furthermore, for all b{0,1}b\in\{0,1\} and all moves mm enabled in (,ν)(\ell,\nu), (,ν)𝑚(,ν)(\ell,\nu)\xrightarrow{m}(\ell^{\prime},\nu^{\prime}) holds if and only if there is some bb^{\prime} such that ((,b),ν)𝑚((,b),ν)((\ell,b),\nu)\xrightarrow{m}((\ell^{\prime},b^{\prime}),\nu^{\prime})

The bijection ff preserves time-divergence. Furthermore, a path π\pi of 𝒜\mathcal{A} satisfies 𝖲𝖺𝖿𝖾(F)\mathsf{Safe}(F) if and only if f(π)f(\pi) does not visit a location of the form (,1)(\ell,1). The initial paths of 𝒜\mathcal{A}^{\prime} that visit a location of the form (,1)(\ell,1) are exactly those that do not satisfy the (resp. direct) timed window objective: once such a location is entered, it is no longer possible to close windows as the set of locations L×{1}L\times\{1\} cannot be left by construction. Therefore, there is a time-divergent path of 𝒜\mathcal{A} that does not satisfy 𝖲𝖺𝖿𝖾(F)\mathsf{Safe}(F) if and only if there is a time-divergent path of 𝒜\mathcal{A}^{\prime} that does not satisfy 𝖳𝖶(p,1)\mathsf{TW}(p,1) (resp. 𝖣𝖳𝖶(p,1)\mathsf{DTW}(p,1)). Furthermore, the TA 𝒜\mathcal{A}^{\prime} has the same set of clocks as 𝒜\mathcal{A} and twice as many locations and edges as 𝒜\mathcal{A}, and the overall length of the encoding of the clock constraints of 𝒜\mathcal{A}^{\prime} is double that of 𝒜\mathcal{A}. This shows that the safety verification problem can be reduced in polynomial time to the (resp. direct) timed window objective. This establishes PSPACE-hardness of the verification problem for (resp. direct) timed window objectives.

The same construction can be used for the realizability problem. There is an analogous mapping for initial plays. This mapping can be used to establish a bijection between the restriction of strategies over initial paths in the safety TG and the (resp. direct) timed window TG. It follows that the realizability problem for safety objectives can be reduced to the realizability problem for (resp. direct) timed window objectives in polynomial time, establishing EXPTIME-hardness of the realizability problem for (resp. direct) timed window objectives.

6.3 Wrap-up

We summarize our complexity results in the following theorem.

Theorem 6.8.

The verification problem for the (direct) generalized timed window parity objective is PSPACE-complete and the realizability problem for the (direct) generalized timed window parity objective is EXPTIME-complete.

We conclude with a comparison of TGs with parity objectives and TGs with (resp. direct) timed window objectives. It was shown in [19] that TGs with parity objectives can be reduced to turn-based parity games on graphs. Their solution is as follows: to check if a 𝒫1\mathcal{P}_{1}-winning strategy exists in a TG 𝒢=(𝒜,Σ1,Σ2)\mathcal{G}=(\mathcal{A},\Sigma_{1},\Sigma_{2}) with the objective 𝖯𝖺𝗋𝗂𝗍𝗒(p)\mathsf{Parity}(p), they construct a turn-based game on a graph with 256|S𝖱𝖾𝗀||C|d256\cdot|S_{\mathsf{Reg}}|\cdot|C|\cdot d states and d+2d+2 priorities, where S𝖱𝖾𝗀S_{\mathsf{Reg}} denotes the set of states of the region abstraction of 𝒜\mathcal{A}, the size of which is bounded by |L||C|!2|C|xC(2cx+1)|L|\cdot|C|!\cdot 2^{|C|}\cdot\prod_{x\in C}(2c_{x}+1). Despite recent progress on quasi-polynomial-time algorithms for parity games [16], there are no known polynomial-time algorithms, and, in many techniques, the blow-up is due to the number of priorities. Therefore, the complexity of checking the existence of a 𝒫1\mathcal{P}_{1}-winning strategy in the TG 𝒢\mathcal{G} for a parity objective suffers from a blow-up related to the number of priorities and the size of the region abstraction.

In contrast, our solution for TGs with (resp. direct) timed window objectives does not suffer from a blow-up due to the number of priorities: for a single dimension, the complexity given in (3) is polynomial in the size of the set of states of the region abstraction and in λ\lambda. This shows that adding time bounds to parity objectives in TGs comes for free complexity-wise.

References

  • [1] Rajeev Alur, Costas Courcoubetis, and David L. Dill. Model-checking in dense real-time. Inf. Comput., 104(1):2–34, 1993. doi:10.1006/inco.1993.1024.
  • [2] Rajeev Alur and David L. Dill. A theory of timed automata. Theor. Comput. Sci., 126(2):183–235, 1994. doi:10.1016/0304-3975(94)90010-8.
  • [3] Christel Baier. Reasoning about cost-utility constraints in probabilistic models. In Mikolaj Bojanczyk, Slawomir Lasota, and Igor Potapov, editors, Reachability Problems - 9th International Workshop, RP 2015, Warsaw, Poland, September 21-23, 2015, Proceedings, volume 9328 of Lecture Notes in Computer Science, pages 1–6. Springer, 2015. doi:10.1007/978-3-319-24537-9\_1.
  • [4] Christel Baier and Joost-Pieter Katoen. Principles of model checking. MIT Press, 2008.
  • [5] Christel Baier, Joachim Klein, Sascha Klüppelholz, and Sascha Wunderlich. Weight monitoring with linear temporal logic: complexity and decidability. In Thomas A. Henzinger and Dale Miller, editors, Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), CSL-LICS ’14, Vienna, Austria, July 14 - 18, 2014, pages 11:1–11:10. ACM, 2014. doi:10.1145/2603088.2603162.
  • [6] Theodore P. Baker, John Gill, and Robert Solovay. Relativizations of the P =? NP question. SIAM J. Comput., 4(4):431–442, 1975. doi:10.1137/0204037.
  • [7] Raphaël Berthon, Mickael Randour, and Jean-François Raskin. Threshold constraints with guarantees for parity objectives in Markov decision processes. In Ioannis Chatzigiannakis, Piotr Indyk, Fabian Kuhn, and Anca Muscholl, editors, 44th International Colloquium on Automata, Languages, and Programming, ICALP 2017, July 10-14, 2017, Warsaw, Poland, volume 80 of LIPIcs, pages 121:1–121:15. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2017. doi:10.4230/LIPIcs.ICALP.2017.121.
  • [8] Benjamin Bordais, Shibashis Guha, and Jean-François Raskin. Expected window mean-payoff. In Arkadev Chattopadhyay and Paul Gastin, editors, 39th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2019, December 11-13, 2019, Bombay, India, volume 150 of LIPIcs, pages 32:1–32:15. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019. doi:10.4230/LIPIcs.FSTTCS.2019.32.
  • [9] Patricia Bouyer, Thomas Brihaye, Mickael Randour, Cédric Rivière, and Pierre Vandenhove. Decisiveness of stochastic systems and its application to hybrid models. In Jean-François Raskin and Davide Bresolin, editors, Proceedings 11th International Symposium on Games, Automata, Logics, and Formal Verification, GandALF 2020, Brussels, Belgium, September 21-22, 2020, volume 326 of EPTCS, pages 149–165, 2020. doi:10.4204/EPTCS.326.10.
  • [10] Tomás Brázdil, Krishnendu Chatterjee, Vojtech Forejt, and Antonín Kucera. Trading performance for stability in Markov decision processes. J. Comput. Syst. Sci., 84:144–170, 2017. doi:10.1016/j.jcss.2016.09.009.
  • [11] Tomás Brázdil, Vojtech Forejt, Antonín Kucera, and Petr Novotný. Stability in graphs and games. In Desharnais and Jagadeesan [21], pages 10:1–10:14. doi:10.4230/LIPIcs.CONCUR.2016.10.
  • [12] Thomas Brihaye, Florent Delgrange, Youssouf Oualhadj, and Mickael Randour. Life is random, time is not: Markov decision processes with window objectives. Log. Methods Comput. Sci., 16(4), 2020. URL: https://lmcs.episciences.org/6975.
  • [13] Véronique Bruyère, Emmanuel Filiot, Mickael Randour, and Jean-François Raskin. Meet your expectations with guarantees: Beyond worst-case synthesis in quantitative games. Inf. Comput., 254:259–295, 2017. doi:10.1016/j.ic.2016.10.011.
  • [14] Véronique Bruyère, Quentin Hautem, and Mickael Randour. Window parity games: an alternative approach toward parity games with time bounds. In Domenico Cantone and Giorgio Delzanno, editors, Proceedings of the Seventh International Symposium on Games, Automata, Logics and Formal Verification, GandALF 2016, Catania, Italy, 14-16 September 2016, volume 226 of EPTCS, pages 135–148, 2016. doi:10.4204/EPTCS.226.10.
  • [15] Véronique Bruyère, Quentin Hautem, and Jean-François Raskin. On the complexity of heterogeneous multidimensional games. In Desharnais and Jagadeesan [21], pages 11:1–11:15. doi:10.4230/LIPIcs.CONCUR.2016.11.
  • [16] Cristian S. Calude, Sanjay Jain, Bakhadyr Khoussainov, Wei Li, and Frank Stephan. Deciding parity games in quasipolynomial time. In Hamed Hatami, Pierre McKenzie, and Valerie King, editors, Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing, STOC 2017, Montreal, QC, Canada, June 19-23, 2017, pages 252–263. ACM, 2017. doi:10.1145/3055399.3055409.
  • [17] Krishnendu Chatterjee, Laurent Doyen, Mickael Randour, and Jean-François Raskin. Looking at mean-payoff and total-payoff through windows. Inf. Comput., 242:25–52, 2015. doi:10.1016/j.ic.2015.03.010.
  • [18] Krishnendu Chatterjee, Thomas A. Henzinger, and Florian Horn. Finitary winning in omega-regular games. ACM Trans. Comput. Log., 11(1):1:1–1:27, 2009. doi:10.1145/1614431.1614432.
  • [19] Krishnendu Chatterjee, Thomas A. Henzinger, and Vinayak S. Prabhu. Timed parity games: Complexity and robustness. Log. Methods Comput. Sci., 7(4), 2011. doi:10.2168/LMCS-7(4:8)2011.
  • [20] Luca de Alfaro, Marco Faella, Thomas A. Henzinger, Rupak Majumdar, and Mariëlle Stoelinga. The element of surprise in timed games. In Roberto M. Amadio and Denis Lugiez, editors, CONCUR 2003 - Concurrency Theory, 14th International Conference, Marseille, France, September 3-5, 2003, Proceedings, volume 2761 of Lecture Notes in Computer Science, pages 142–156. Springer, 2003. doi:10.1007/978-3-540-45187-7\_9.
  • [21] Josée Desharnais and Radha Jagadeesan, editors. 27th International Conference on Concurrency Theory, CONCUR 2016, August 23-26, 2016, Québec City, Canada, volume 59 of LIPIcs. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2016. URL: http://www.dagstuhl.de/dagpub/978-3-95977-017-0.
  • [22] Thomas A. Henzinger and Peter W. Kopke. Discrete-time control for rectangular hybrid automata. Theor. Comput. Sci., 221(1-2):369–392, 1999. doi:10.1016/S0304-3975(99)00038-9.
  • [23] Paul Hunter, Guillermo A. Pérez, and Jean-François Raskin. Looking at mean payoff through foggy windows. Acta Inf., 55(8):627–647, 2018. doi:10.1007/s00236-017-0304-7.
  • [24] James C. A. Main, Mickael Randour, and Jeremy Sproston. Time flies when looking out of the window: Timed games with window parity objectives. In Serge Haddad and Daniele Varacca, editors, 32nd International Conference on Concurrency Theory, CONCUR 2021, August 23–27, 2021, Paris, France (Virtual Conference), volume 203 of LIPIcs. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2021.
  • [25] Oded Maler, Amir Pnueli, and Joseph Sifakis. On the synthesis of discrete controllers for timed systems (an extended abstract). In Ernst W. Mayr and Claude Puech, editors, STACS 95, 12th Annual Symposium on Theoretical Aspects of Computer Science, Munich, Germany, March 2-4, 1995, Proceedings, volume 900 of Lecture Notes in Computer Science, pages 229–242. Springer, 1995. doi:10.1007/3-540-59042-0\_76.
  • [26] Mickael Randour. Automated synthesis of reliable and efficient systems through game theory: A case study. In Proc. of ECCS 2012, Springer Proceedings in Complexity XVII, pages 731–738. Springer, 2013. doi:10.1007/978-3-319-00395-5\_90.
  • [27] Stéphane Le Roux, Arno Pauly, and Mickael Randour. Extending finite-memory determinacy by Boolean combination of winning conditions. In Sumit Ganguly and Paritosh K. Pandya, editors, 38th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2018, December 11-13, 2018, Ahmedabad, India, volume 122 of LIPIcs, pages 38:1–38:20. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2018. doi:10.4230/LIPIcs.FSTTCS.2018.38.