Probabilistic Obstruction Temporal Logic:
a Probabilistic Logic to Reason about Dynamic Models

Jean Leneutre, Vadim Malvone, James Ortiz
Abstract

In this paper, we propose a novel formalism called Probabilistic Obstruction Temporal Logic (POTL), which extends Obstruction Logic (OL) by incorporating probabilistic elements. POTL provides a robust framework for reasoning about the probabilistic behaviors and strategic interactions between attackers and defenders in environments where probabilistic events influence outcomes. We explore the model checking complexity of POTL and demonstrate that it is not higher than that of Probabilistic Computation Tree Logic (PCTL), making it both expressive and computationally feasible for cybersecurity and privacy applications.

1 Introduction

Understanding and quantifying uncertainty is essential in cybersecurity, and probability theory offers a robust framework for this purpose, making it particularly valuable for risk analysis. As digital systems grow increasingly complex and dynamic, effectively assessing and managing risks becomes more challenging. Probability theory allows organizations to model the likelihood of various cyber threats, such as hacking attempts, data breaches, and software vulnerabilities, which are inherently uncertain and variable. Cybersecurity professionals can estimate the likelihood of these threats materializing and assess their potential impact on systems by applying probabilistic and non-probabilistic formalisms.

Researchers have developed various solutions over the past fifty years, with formal methods emerging as a notable success. These techniques allow for the verification of system correctness by checking if a mathematical model meets the formalized desired behavior. Notably, traditional formal approaches like model checking (Baier and Katoen 2008), initially designed for monolithic systems, have been effectively adapted to manage open and Multi-Agent Systems (MAS). In recent years, the study of MAS has garnered significant attention due to its wide-ranging applications in fields such as cybersecurity, robotics, and distributed computing. MAS consists of two or more interacting agents, each capable of making autonomous decisions. These systems often operate in dynamic and uncertain environments, necessitating robust formal verification techniques to ensure their reliability and correctness.

An important logic in the context of MAS is Alternating-time Temporal Logic (ATL) (Alur, Henzinger, and Kupferman 2002). The latter extends CTL (Clarke and Emerson 1981) by introducing strategic modalities, enabling the specification of properties that involve the strategic abilities of agents. ATL can express whether a group of agents can achieve a certain goal regardless of the actions of other agents, making it a powerful tool for reasoning about cooperation and competition in MAS.

Another relevant formalism in this area is Obstruction Logic (OL) (Catta, Leneutre, and Malvone 2023b), which focuses on obstructions in two-player games. In OL, one player, called the Demon, can temporarily disable edges in the graph as long as their total weight remains below a specified natural number, thereby preventing the other agent from achieving its temporal goal. As illustrated in their paper, OL can be well-suited for representing cybersecurity problems, where a defender can activate defense mechanisms (by disabling edges) and an attacker aims to access private resources through a sequence of atomic attacks.

In this context, a key aspect when performing cybersecurity risk analysis is to assess the likelihood (or probability) of success of the attack scenarios. However, OL did not address this aspect, where no probabilistic concepts were introduced. For the above reasons, in this paper, we present Probabilistic Obstruction Temporal Logic (POTL), a logic that extends OL into a probabilistic context. POTL offers a comprehensive framework for analyzing the probabilistic behaviors and strategic interactions between attackers and defenders in scenarios where probabilistic events influence outcomes. We investigate the model checking complexity of POTL and show that it is comparable to that of Probabilistic Computation Tree Logic, ensuring that POTL remains both expressive and computationally practical for cybersecurity and privacy applications.

Structure of the work.

The contribution is structured as follows. Theoretical background is presented in Section 2. In Section 3, we present the syntax and the semantics of our new logic, called Probabilistic Obstruction Temporal Logic (POTL). In Section 4, we show our model checking algorithm and prove that the model checking problem for POTL is decidable in polyonimal-time. In section 5, we present an illustrative example related to the cybersecurity analysis. In Section 6, we compare our approach to related work. Finally, Section 7 concludes and presents possible future directions.

2 Background

In this section, we discuss the basic notions that are used in the technical part of this paper.

General Concepts.

Let \mathbb{N}blackboard_N be the set of natural numbers, we refer to the set of natural numbers containing 00 as 0subscriptabsent0\mathbb{N}_{\geq 0}blackboard_N start_POSTSUBSCRIPT ≥ 0 end_POSTSUBSCRIPT, 0subscriptabsent0\mathbb{R}_{\geq 0}blackboard_R start_POSTSUBSCRIPT ≥ 0 end_POSTSUBSCRIPT the set of non-negative reals and \mathbb{Z}blackboard_Z the set of integers. Let X𝑋Xitalic_X and Y𝑌Yitalic_Y be two sets and |X|𝑋|X|| italic_X | denotes its cardinality. The set operations of intersection, union, complementation, set difference, and Cartesian product are denoted X𝑋Xitalic_X \cap Y𝑌Yitalic_Y, X𝑋Xitalic_X \cup Y𝑌Yitalic_Y, X¯¯𝑋\overline{X}over¯ start_ARG italic_X end_ARG, X𝑋Xitalic_X \setminus Y𝑌Yitalic_Y, and X𝑋Xitalic_X ×\times× Y𝑌Yitalic_Y, respectively. Inclusion and strict inclusion are denoted X𝑋Xitalic_X \subseteq Y𝑌Yitalic_Y and X𝑋Xitalic_X \subset Y𝑌Yitalic_Y, respectively. The empty set is denoted \emptyset. Let π=x1,,xn𝜋subscript𝑥1subscript𝑥𝑛\pi=x_{1},\ldots,x_{n}italic_π = italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be a finite sequence, last(π)𝑙𝑎𝑠𝑡𝜋last(\pi)italic_l italic_a italic_s italic_t ( italic_π ) denotes the last element xnsubscript𝑥𝑛x_{n}italic_x start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of π𝜋\piitalic_π.

Probability Distribution and Space.

Let Q𝑄Qitalic_Q be a finite set and μ:Q[0,1]:𝜇𝑄01\mu:Q\to[0,1]italic_μ : italic_Q → [ 0 , 1 ] be a probability distribution function over Q𝑄Qitalic_Q such that qQsubscript𝑞𝑄\sum_{q\in Q}∑ start_POSTSUBSCRIPT italic_q ∈ italic_Q end_POSTSUBSCRIPT μ(q)=1𝜇𝑞1\mu(q)=1italic_μ ( italic_q ) = 1. We denote by 𝒟(Q)𝒟𝑄\mathcal{D}(Q)caligraphic_D ( italic_Q ) the set of all such distributions over Q𝑄Qitalic_Q. For a given μ𝜇\muitalic_μ \in 𝒟(Q)𝒟𝑄\mathcal{D}(Q)caligraphic_D ( italic_Q ), supp(μ)𝑠𝑢𝑝𝑝𝜇supp(\mu)italic_s italic_u italic_p italic_p ( italic_μ ) = {qQμ(q)>0}conditional-set𝑞𝑄𝜇𝑞0\{q\in Q\mid\mu(q)>0\}{ italic_q ∈ italic_Q ∣ italic_μ ( italic_q ) > 0 } is called the support of μ𝜇\muitalic_μ. The standard notation of a probability space is a triple (Ω,,Pr)ΩPr(\Omega,\mathcal{F},\textsf{Pr})( roman_Ω , caligraphic_F , Pr ), where ΩΩ\Omegaroman_Ω is a sample space that represents all possible outcomes, 𝒫(Ω)=2Ω𝒫Ωsuperscript2Ω\mathcal{F}\subseteq\mathcal{P}(\Omega)=2^{\Omega}caligraphic_F ⊆ caligraphic_P ( roman_Ω ) = 2 start_POSTSUPERSCRIPT roman_Ω end_POSTSUPERSCRIPT is a σ𝜎\sigmaitalic_σ-algebra over ΩΩ\Omegaroman_Ω, i.e., it includes the empty subset, and it is closed under countable unions and complement, and Pr: [0,1]01\mathcal{F}\to[0,1]caligraphic_F → [ 0 , 1 ] is a probability measure over (Ω,)Ω(\Omega,\mathcal{F})( roman_Ω , caligraphic_F ). We denote the set of all finite and infinite sequences of elements of Q𝑄Qitalic_Q by Q+superscript𝑄Q^{+}italic_Q start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT and Qsuperscript𝑄Q^{*}italic_Q start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, respectively.

Attack Graphs and Moving Target Defense Mechanisms.

A malicious attack is defined as an attempt by an attacker to gain unauthorized access to resources or compromise the integrity of the system. In this context, the Attack Graph (AG) (Kaynar 2016) is a widely recognized and increasingly popular attack model. By leveraging an AG, it is possible to model interactions between an attacker and a defender who dynamically deploys Moving Target Defense (MTD) mechanisms (Cho et al. 2020). MTD mechanisms, such as Address Space Layout Randomization (ASLR(Marco-Gisbert and Ripoll Ripoll 2019), are active defenses that use partial system reconfiguration to alter the attack surface and reduce the chances of success of the attack. However, activating an MTD countermeasure impacts system performance: during reconfiguration, system services may be partially or completely unavailable. Thus, it is crucial to select MTD deployment strategies that minimize both residual cybersecurity risks and the negative impact on system performance. However, despite the progress made in the field of AG (Kaynar 2016; Catta, Leneutre, and Malvone 2023a) none of them takes into account some of the uncertainties in the network. Probabilistic Attack Graphs (PAG) are AG enriched with probabilities that model the likelihood of compromise of each node in the graph based on their specific characteristics (Li et al. 2022; Milani et al. 2020).

Kripke Structure and Markov Chain.

A PAG can be viewed as a Probabilistic Kripke Structure (PKS). Now, we will formally define PKS, the Kripke structure that is used to represent all the possible attacks on a networked system.

Definition 1 (Kripke Structure).

A Kripke Structure (KS) over a set 𝖠𝗉𝖠𝗉\mathsf{Ap}sansserif_Ap of atomic propositions is a tuple 𝒦𝒦\mathcal{K}caligraphic_K = Q,q0,R,𝑄subscript𝑞0𝑅\langle Q,q_{0},R,\mathcal{L}\rangle⟨ italic_Q , italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_R , caligraphic_L ⟩ where Q𝑄Qitalic_Q is a finite, non-empty set of states, q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT \in Q𝑄Qitalic_Q is the initial state, RQ×Q𝑅𝑄𝑄R\subseteq Q\times Qitalic_R ⊆ italic_Q × italic_Q is a binary serial relation over Q𝑄Qitalic_Q (i.e., for any qQ𝑞𝑄q\in Qitalic_q ∈ italic_Q there is a qQsuperscript𝑞𝑄q^{\prime}\in Qitalic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_Q such that q,qR𝑞superscript𝑞𝑅\langle q,q^{\prime}\rangle\in R⟨ italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⟩ ∈ italic_R) and :Q2𝖠𝗉:𝑄superscript2𝖠𝗉\mathcal{L}:Q\to 2^{\mathsf{Ap}}caligraphic_L : italic_Q → 2 start_POSTSUPERSCRIPT sansserif_Ap end_POSTSUPERSCRIPT is a labeling function assigning a set of atomic propositions to any state qQ𝑞𝑄q\in Qitalic_q ∈ italic_Q.

Definition 2 (Markov Chain).

A Markov Chain (MC) is a pair \mathcal{H}caligraphic_H = (Q,𝐏)𝑄𝐏(Q,\mathbf{P})( italic_Q , bold_P ) where Q𝑄Qitalic_Q is a (countable) set of states and 𝐏𝐏\mathbf{P}bold_P: Q×Q𝑄𝑄Q\times Qitalic_Q × italic_Q \to [0,1]01[0,1][ 0 , 1 ] is a transition probability function such that for all state qQ𝑞𝑄q\in Qitalic_q ∈ italic_Q, ΣqQ𝐏(q,q)=1subscriptΣsuperscript𝑞𝑄𝐏𝑞superscript𝑞1\Sigma_{q^{\prime}\in Q}\mathbf{P}(q,q^{\prime})=1roman_Σ start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_Q end_POSTSUBSCRIPT bold_P ( italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = 1. If Q𝑄Qitalic_Q is finite, we can consider 𝐏𝐏\mathbf{P}bold_P to be a transition matrix.

A KS can be extended via MC (Kleinberg 2012) to define Probabilistic Kripke Structure (PKS) as follows.

Definition 3 (Probabilistic Kripke Structure).

A PKS over a set 𝖠𝗉𝖠𝗉\mathsf{Ap}sansserif_Ap of atomic propositions is a tuple 𝒢𝒢\mathcal{G}caligraphic_G = Q,q0,𝐏,𝑄subscript𝑞0𝐏\langle Q,q_{0},\mathbf{P},\mathcal{L}\rangle⟨ italic_Q , italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , bold_P , caligraphic_L ⟩ where (Q,𝐏)𝑄𝐏(Q,\mathbf{P})( italic_Q , bold_P ) is a MC, q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the initial state and :S2𝖠𝗉:𝑆superscript2𝖠𝗉\mathcal{L}:S\to 2^{\mathsf{Ap}}caligraphic_L : italic_S → 2 start_POSTSUPERSCRIPT sansserif_Ap end_POSTSUPERSCRIPT is a labeling function assigning a set of atomic propositions to any state qQ𝑞𝑄q\in Qitalic_q ∈ italic_Q.

Path.

A path π𝜋\piitalic_π over 𝒢𝒢\mathcal{G}caligraphic_G is a finite or infinite sequence of states π𝜋\piitalic_π = q0,q1,q2,subscript𝑞0subscript𝑞1subscript𝑞2q_{0},q_{1},q_{2},\ldotsitalic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … starting in the initial state q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT that are built by consecutive steps, i.e., 𝐏(qi,qi+1)>0𝐏subscript𝑞𝑖subscript𝑞𝑖10\mathbf{P}(q_{i},q_{i+1})>0bold_P ( italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ) > 0 for all i𝑖i\in\mathbb{N}italic_i ∈ blackboard_N. We write πisubscript𝜋𝑖\pi_{i}italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT to denote the i𝑖iitalic_i-th element qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of π𝜋\piitalic_π, πisubscript𝜋absent𝑖\pi_{\leq i}italic_π start_POSTSUBSCRIPT ≤ italic_i end_POSTSUBSCRIPT to denote the prefix q0,,qisubscript𝑞0subscript𝑞𝑖q_{0},\ldots,q_{i}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , … , italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT of π𝜋\piitalic_π, and πisubscript𝜋absent𝑖\pi_{\geq i}italic_π start_POSTSUBSCRIPT ≥ italic_i end_POSTSUBSCRIPT to denote the suffix qi,qi+1subscript𝑞𝑖subscript𝑞𝑖1q_{i},q_{i+1}\ldotsitalic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT … of π𝜋\piitalic_π. The set of all finite paths starting from qQ𝑞𝑄q\in Qitalic_q ∈ italic_Q in the model 𝒢𝒢\mathcal{G}caligraphic_G is denoted by Paths𝒢,q+superscriptsubscriptPaths𝒢𝑞\textsf{Paths}_{\mathcal{G},q}^{+}Paths start_POSTSUBSCRIPT caligraphic_G , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT, and the set of all infinite paths starting from q𝑞qitalic_q is denoted by Paths𝒢,qsuperscriptsubscriptPaths𝒢𝑞\textsf{Paths}_{\mathcal{G},q}^{*}Paths start_POSTSUBSCRIPT caligraphic_G , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. A history hhitalic_h is any finite prefix of some path. We use H𝐻Hitalic_H to denote the set of histories. Write last(h)𝑙𝑎𝑠𝑡last(h)italic_l italic_a italic_s italic_t ( italic_h ) for the last state of a history hhitalic_h.

Cylinder.

We need to measure the probability of certain sets of paths. Formally, to every q𝑞qitalic_q \in Q𝑄Qitalic_Q we associate the probability space (Ω,,Pr)ΩPr(\Omega,\mathcal{F},\textsf{Pr})( roman_Ω , caligraphic_F , Pr ) where \mathcal{F}caligraphic_F is the σ𝜎\sigmaitalic_σ-algebra generated by all basic cylinders sets of paths called cylinder sets, which gather all paths sharing a given finite prefix (i.e., Prefix(π)Prefix𝜋\textsf{Prefix}(\pi)Prefix ( italic_π )). Given a finite path π^^𝜋\hat{\pi}over^ start_ARG italic_π end_ARG = q0,q1,,qnsubscript𝑞0subscript𝑞1subscript𝑞𝑛q_{0},q_{1},\ldots,q_{n}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of states, the cylinder set of π^^𝜋\hat{\pi}over^ start_ARG italic_π end_ARG, denoted Cyl(π^\textsf{Cyl}(\hat{\pi}Cyl ( over^ start_ARG italic_π end_ARG) = {πPaths𝒢,q0π^Prefix(π)}conditional-set𝜋superscriptsubscriptPaths𝒢subscript𝑞0^𝜋Prefix𝜋\{\pi\in\textsf{Paths}_{\mathcal{G},q_{0}}^{*}\mid\hat{\pi}\in\textsf{Prefix}(% \pi)\}{ italic_π ∈ Paths start_POSTSUBSCRIPT caligraphic_G , italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ∣ over^ start_ARG italic_π end_ARG ∈ Prefix ( italic_π ) }, is the set of infinite paths π=q0,q1,,qn,𝜋subscript𝑞0subscript𝑞1subscript𝑞𝑛\pi=q_{0},q_{1},\cdots,q_{n},\cdotsitalic_π = italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , ⋯ , italic_q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , ⋯, where π^^𝜋\hat{\pi}over^ start_ARG italic_π end_ARG is a prefix of π𝜋\piitalic_π. The set of infinite paths is supposed to be equipped with the σ𝜎\sigmaitalic_σ-algebra generated by the cylinder sets of the finite paths and the probability measure given by Pr𝒢q0superscriptsubscriptPr𝒢subscript𝑞0\textsf{Pr}_{\mathcal{G}}^{q_{0}}Pr start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT(Cyl(π^))Cyl^𝜋(\textsf{Cyl}(\hat{\pi}))( Cyl ( over^ start_ARG italic_π end_ARG ) ) = i=0n1𝐏(qi,qi+1)superscriptsubscriptproduct𝑖0𝑛1𝐏subscript𝑞𝑖subscript𝑞𝑖1\prod_{i=0}^{n-1}\mathbf{P}(q_{i},q_{i+1})∏ start_POSTSUBSCRIPT italic_i = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n - 1 end_POSTSUPERSCRIPT bold_P ( italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ). The extension of Pr𝒢qsuperscriptsubscriptPr𝒢𝑞\textsf{Pr}_{\mathcal{G}}^{q}Pr start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT from cylinders to the σ𝜎\sigmaitalic_σ-algebra they generate is unique, and we still denote it Pr𝒢qsuperscriptsubscriptPr𝒢𝑞\textsf{Pr}_{\mathcal{G}}^{q}Pr start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT. Note that not all sets of paths are measurable with respect to Pr𝒢qsuperscriptsubscriptPr𝒢𝑞\textsf{Pr}_{\mathcal{G}}^{q}Pr start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT, but the sets we will consider in this paper are simple enough to avoid such difficulties. For the mathematical details of the underlying σ𝜎\sigmaitalic_σ-algebra and probability measure refer to (Baier and Katoen 2008).

Predecessors and Successors.

Let 𝒢𝒢\mathcal{G}caligraphic_G be a PKS and q𝑞qitalic_q \in Q𝑄Qitalic_Q be one of its states, pre(q)pre𝑞\textsf{pre}(q)pre ( italic_q ) denotes the set of predecessors of q𝑞qitalic_q, i.e., pre(q)={qQ𝐏(q,q)>0}pre𝑞conditional-setsuperscript𝑞𝑄𝐏superscript𝑞𝑞0\textsf{pre}(q)=\{q^{\prime}\in Q\mid\mathbf{P}(q^{\prime},q)>0\}pre ( italic_q ) = { italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_Q ∣ bold_P ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) > 0 }. Similarly, post(q)post𝑞\textsf{post}(q)post ( italic_q ) denotes the set of successors of q𝑞qitalic_q, i.e., post(q)={qQ𝐏(q,q)>0}post𝑞conditional-setsuperscript𝑞𝑄𝐏𝑞superscript𝑞0\textsf{post}(q)=\{q^{\prime}\in Q\mid\mathbf{P}(q,q^{\prime})>0\}post ( italic_q ) = { italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_Q ∣ bold_P ( italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) > 0 }, and E(q)E𝑞\textsf{E}(q)E ( italic_q ) denotes its outgoing edges E(q)={eQ×Qe=(q,q) for some qQ and 𝐏(q,q)>0}E𝑞conditional-set𝑒𝑄𝑄𝑒𝑞superscript𝑞 for some qQ and 𝐏𝑞superscript𝑞0\textsf{E}(q)=\{e\in Q\times Q\mid e=(q,q^{\prime})\text{ for some $q^{\prime}% \in Q$ and }\mathbf{P}(q,q^{\prime})>0\}E ( italic_q ) = { italic_e ∈ italic_Q × italic_Q ∣ italic_e = ( italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) for some italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_Q and bold_P ( italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) > 0 }.

3 Model and Logic

In this section, we define the syntax and semantics of our Probabilistic Obstruction Temporal Logic (POTL). To do this, first, we introduce the Probabilistic Obstruction Temporal Structure (POTS), the type of model that we use to verify POTL properties.

Definition 4 (Probabilistic Obstruction Temporal Structure).

A POTS (model for short) is given by a tuple \mathcal{M}caligraphic_M = (Q,q0,𝐏,,𝖢)𝑄subscript𝑞0𝐏𝖢(Q,q_{0},\mathbf{P},\mathcal{L},\mathsf{C})( italic_Q , italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , bold_P , caligraphic_L , sansserif_C ) where 𝒢𝒢\mathcal{G}caligraphic_G = (Q,q0,𝐏,)𝑄subscript𝑞0𝐏(Q,q_{0},\mathbf{P},\mathcal{L})( italic_Q , italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , bold_P , caligraphic_L ) is a PKS and 𝖢:Q×Q:𝖢𝑄𝑄\mathsf{C}:Q\times Q\to\mathbb{N}sansserif_C : italic_Q × italic_Q → blackboard_N is a function assigning to any pairs (q,q)𝑞superscript𝑞(q,q^{\prime})( italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) a natural number n𝑛n\in\mathbb{N}italic_n ∈ blackboard_N.

Strategy and Outcomes.

Let \mathcal{M}caligraphic_M be a model, Q𝑄Qitalic_Q be states in \mathcal{M}caligraphic_M, 𝖢𝖢\mathsf{C}sansserif_C is the function cost and n𝑛nitalic_n be a natural number, a n𝑛nitalic_n-strategy is a function 𝔖:H2Q×Q:𝔖𝐻superscript2𝑄𝑄\mathfrak{S}:H\to 2^{Q\times Q}fraktur_S : italic_H → 2 start_POSTSUPERSCRIPT italic_Q × italic_Q end_POSTSUPERSCRIPT that, given a history hhitalic_h, returns a subset TQ×Q𝑇𝑄𝑄T\in Q\times Qitalic_T ∈ italic_Q × italic_Q, such that: (i) TE(last(h))𝑇E𝑙𝑎𝑠𝑡T\subset\textsf{E}(last(h))italic_T ⊂ E ( italic_l italic_a italic_s italic_t ( italic_h ) ), (ii) (eT𝖢(e))nsubscript𝑒𝑇𝖢𝑒𝑛(\sum_{e\in T}\mathsf{C}(e))\leq n( ∑ start_POSTSUBSCRIPT italic_e ∈ italic_T end_POSTSUBSCRIPT sansserif_C ( italic_e ) ) ≤ italic_n. A memoryless n-strategy is a n-strategy 𝔖𝔖\mathfrak{S}fraktur_S such that for all histories hhitalic_h and hsuperscripth^{\prime}italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT if last(h)=last(h)𝑙𝑎𝑠𝑡𝑙𝑎𝑠𝑡superscriptlast(h)=last(h^{\prime})italic_l italic_a italic_s italic_t ( italic_h ) = italic_l italic_a italic_s italic_t ( italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) then 𝔖(h)=𝔖(h)𝔖𝔖superscript\mathfrak{S}(h)=\mathfrak{S}(h^{\prime})fraktur_S ( italic_h ) = fraktur_S ( italic_h start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ). A memoryless n-strategy can be seen as a function whose domain is the set Q𝑄Qitalic_Q of states of a model \mathcal{M}caligraphic_M. As in ATL logic, the notion of a path that is compatible with a strategy is central to the semantics of Probabilistic Obstruction Logic (POTL) formulas. We define this notion by saying that a path π𝜋\piitalic_π is compatible with an n-strategy 𝔖𝔖\mathfrak{S}fraktur_S if for all i1𝑖1i\geq 1italic_i ≥ 1 we have that (πi,πi+1)𝔖(πi)subscript𝜋𝑖subscript𝜋𝑖1𝔖subscript𝜋absent𝑖(\pi_{i},\pi_{i+1})\notin\mathfrak{S}(\pi_{\leq i})( italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ) ∉ fraktur_S ( italic_π start_POSTSUBSCRIPT ≤ italic_i end_POSTSUBSCRIPT ). The set of outcomes of an n𝑛nitalic_n-strategy 𝔖𝔖\mathfrak{S}fraktur_S and state q𝑞qitalic_q is denoted as Out(q,𝔖)Out𝑞𝔖\textsf{Out}(q,\mathfrak{S})Out ( italic_q , fraktur_S ) and it returns the set of all paths that can result from a strategy 𝔖𝔖\mathfrak{S}fraktur_S and a state q𝑞qitalic_q. As said in the introduction, our logic (POTL) aims to capture strategies for a particular type of game played over a POTS, in such games, one of the two players (the Demon) has the power to temporally deactivate some transitions of the model. We now introduce the syntax of our logic.

Definition 5.

Let 𝖠𝗉𝖠𝗉\mathsf{Ap}sansserif_Ap be an at most countable set of atomic formulas (or atoms). Formulas of Probabilistic Obstruction Temporal Logic (POTL, for short) are defined by the following grammar:

φ::=p¬φφφ  nkθ\varphi::=\top\mid p\mid\neg\varphi\mid\varphi\land\varphi\mid\langle\textbf{% \raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt}{0.4pt}}% \makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{\bowtie k}\rangle\thetaitalic_φ : := ⊤ ∣ italic_p ∣ ¬ italic_φ ∣ italic_φ ∧ italic_φ ∣ ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_θ
θ::=𝖷φφ𝖴mφφ𝖴φφ𝖱mφφ𝖱φ\theta::=\mathsf{X}\,\varphi\mid\varphi\,\mathsf{U}\,^{\leq m}\varphi\mid% \varphi\,\mathsf{U}\,\varphi\mid\varphi\,\mathsf{R}\,^{\leq m}\varphi\mid% \varphi\,\mathsf{R}\,\varphiitalic_θ : := sansserif_X italic_φ ∣ italic_φ sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ ∣ italic_φ sansserif_U italic_φ ∣ italic_φ sansserif_R start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ ∣ italic_φ sansserif_R italic_φ

where p𝑝pitalic_p \in 𝖠𝗉𝖠𝗉\mathsf{Ap}sansserif_Ap is an atomic formula, k𝑘kitalic_k \in [0,1]01[0,1][ 0 , 1 ] is a rational constant, n𝑛nitalic_n (the grade) and m𝑚mitalic_m are any natural number in \mathbb{N}blackboard_N, and \bowtie \in {,<,>,}\{\leq,<,>,\geq\}{ ≤ , < , > , ≥ }.

In the above syntax, we distinguish between state formulas φ𝜑\varphiitalic_φ and path formulas θ𝜃\thetaitalic_θ. State formulas are evaluated over states and path formulas over paths. A model property is always expressed as a state formula, path formulas appear only as parameters of the probabilistic path operator   nkθdelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜃\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt% }{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}\rangle\theta⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_θ. The operators X𝑋Xitalic_X (next), 𝖴msuperscript𝖴absent𝑚\,\mathsf{U}\,^{\leq m}sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT (bounded until), 𝖴𝖴\,\mathsf{U}\,sansserif_U (until), 𝖱msuperscript𝖱absent𝑚\,\mathsf{R}\,^{\leq m}sansserif_R start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT (bounded release), and 𝖱𝖱\,\mathsf{R}\,sansserif_R (release), which are standard in temporal logic, are allowed as path formulas. The number n𝑛nitalic_n is called the grade of the strategic operator. The boolean connectives bottom\bot, \vee and \to can be defined as usual, we define   nk𝖥φ:=  nk(𝖴φ)assigndelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝖥𝜑delimited-⟨⟩superscriptsubscript  𝑛absent𝑘top𝖴𝜑\langle{\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916% pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}}\rangle\mathsf{F}\varphi:=\langle{\textbf{\raisebox{2.15277pt}{% \makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-% 2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{\bowtie k}}\rangle(\top\,\mathsf{U}\,\varphi)⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ sansserif_F italic_φ := ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ ( ⊤ sansserif_U italic_φ ),   nk𝖦φ:=  nk(𝖱φ)assigndelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝖦𝜑delimited-⟨⟩superscriptsubscript  𝑛absent𝑘bottom𝖱𝜑\langle{\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916% pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}}\rangle\mathsf{G}\,\varphi:=\langle{\textbf{\raisebox{2.15277pt}{% \makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-% 2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{\bowtie k}}\rangle(\bot\,\mathsf{R}\,\varphi)⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ sansserif_G italic_φ := ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ ( ⊥ sansserif_R italic_φ ) and   nk(φ𝖶ψ):=  nk(ψ𝖱(φψ))assigndelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜑𝖶𝜓delimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜓𝖱𝜑𝜓\langle{\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916% pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}}\rangle(\varphi\,\mathsf{W}\,\psi):=\langle{\textbf{\raisebox{2.152% 77pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt}{0.4pt}}\makebox[3.22916pt]{% \rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{\bowtie k}}\rangle(\psi\,\mathsf{R% }\,(\varphi\vee\psi))⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ ( italic_φ sansserif_W italic_ψ ) := ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ ( italic_ψ sansserif_R ( italic_φ ∨ italic_ψ ) ). The size |φ|𝜑|\varphi|| italic_φ | of a formula φ𝜑\varphiitalic_φ is the number of its connectives. The intuitive meaning of a formula   nkφdelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜑\langle{\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916% pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}}\rangle\varphi⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_φ with φ𝜑\varphiitalic_φ temporal formula is “there is a demonic strategy such that all paths of the graphs that are compatible with the strategy satisfy φ𝜑\varphiitalic_φ with a probability in relation \bowtie with constant k𝑘kitalic_k” where “demonic strategy” means “a strategy for disabling arcs”. Formulas of POTL can be interpreted over POTS. We can now precisely define the semantics of POTL formulas.

Definition 6.

The satisfaction relation between a model \mathcal{M}caligraphic_M, a state q𝑞qitalic_q of \mathcal{M}caligraphic_M, and a formula φ𝜑\varphiitalic_φ is defined by induction on the structure of φ𝜑\varphiitalic_φ:

  • ,qmodels𝑞top\mathcal{M},q\models\topcaligraphic_M , italic_q ⊧ ⊤ for all state q𝑞qitalic_q,

  • ,qpmodels𝑞𝑝\mathcal{M},q\models pcaligraphic_M , italic_q ⊧ italic_p iff p(q)𝑝𝑞p\in\mathcal{L}(q)italic_p ∈ caligraphic_L ( italic_q ),

  • ,q¬φmodels𝑞𝜑\mathcal{M},q\models\neg\varphicaligraphic_M , italic_q ⊧ ¬ italic_φ iff not ,qφmodels𝑞𝜑\mathcal{M},q\models\varphicaligraphic_M , italic_q ⊧ italic_φ (notation ,q⊧̸φnot-models𝑞𝜑\mathcal{M},q\not\models\varphicaligraphic_M , italic_q ⊧̸ italic_φ),

  • ,qφ1φ2models𝑞subscript𝜑1subscript𝜑2\mathcal{M},q\models\varphi_{1}\land\varphi_{2}caligraphic_M , italic_q ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT iff ,qφ1models𝑞subscript𝜑1\mathcal{M},q\models\varphi_{1}caligraphic_M , italic_q ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and ,qφ2models𝑞subscript𝜑2\mathcal{M},q\models\varphi_{2}caligraphic_M , italic_q ⊧ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT,

  • ,q  nkθmodels𝑞delimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜃\mathcal{M},q\models\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{% \rule[-0.2pt]{3.22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6% .45831pt}}}}_{n}^{\bowtie k}\rangle\thetacaligraphic_M , italic_q ⊧ ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_θ iff there is a n-strategy 𝔖𝔖\mathfrak{S}fraktur_S such that PrqsuperscriptsubscriptPr𝑞\textsf{Pr}_{\mathcal{M}}^{q}Pr start_POSTSUBSCRIPT caligraphic_M end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT({πOut(q,𝔖),πθ})conditional-set𝜋Out𝑞𝔖models𝜋𝜃(\{\pi\in\textsf{Out}(q,\mathfrak{S})\ \mid\ \mathcal{M},\pi\models\theta\})( { italic_π ∈ Out ( italic_q , fraktur_S ) ∣ caligraphic_M , italic_π ⊧ italic_θ } ) \bowtie k𝑘kitalic_k.

The satisfaction relation ,πφmodels𝜋𝜑\mathcal{M},\pi\models\varphicaligraphic_M , italic_π ⊧ italic_φ between a model \mathcal{M}caligraphic_M, a path π𝜋\piitalic_π \in Paths,qsuperscriptsubscriptPaths𝑞\textsf{Paths}_{\mathcal{M},q}^{*}Paths start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT of \mathcal{M}caligraphic_M, and path formula θ𝜃\thetaitalic_θ is defined as follows:

  • ,π𝖷φmodels𝜋𝖷𝜑\mathcal{M},\pi\models\mathsf{X}\,\varphicaligraphic_M , italic_π ⊧ sansserif_X italic_φ iff ,π2φmodelssubscript𝜋2𝜑\mathcal{M},\pi_{2}\models\varphicaligraphic_M , italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ⊧ italic_φ,

  • ,πφ1𝖴mφ2models𝜋subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\mathcal{M},\pi\models\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2}caligraphic_M , italic_π ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT iff there is an 0im0𝑖𝑚0\leq i\leq m0 ≤ italic_i ≤ italic_m such that ,πiφ2modelssubscript𝜋𝑖subscript𝜑2\mathcal{M},\pi_{i}\models\varphi_{2}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and ,πjφ1modelssubscript𝜋𝑗subscript𝜑1\mathcal{M},\pi_{j}\models\varphi_{1}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT for all 0j<i0𝑗𝑖0\leq j<i0 ≤ italic_j < italic_i,

  • ,πφ1𝖴φ2models𝜋subscript𝜑1𝖴subscript𝜑2\mathcal{M},\pi\models\varphi_{1}\,\mathsf{U}\,\varphi_{2}caligraphic_M , italic_π ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT iff there is an i0𝑖0i\geq 0italic_i ≥ 0 such that ,πiφ2modelssubscript𝜋𝑖subscript𝜑2\mathcal{M},\pi_{i}\models\varphi_{2}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and ,πjφ1modelssubscript𝜋𝑗subscript𝜑1\mathcal{M},\pi_{j}\models\varphi_{1}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT for all 0j<i0𝑗𝑖0\leq j<i0 ≤ italic_j < italic_i,

  • ,πφ1𝖱mφ2models𝜋subscript𝜑1superscript𝖱absent𝑚subscript𝜑2\mathcal{M},\pi\models\varphi_{1}\,\mathsf{R}\,^{\leq m}\varphi_{2}caligraphic_M , italic_π ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT iff either ,πiφ2modelssubscript𝜋𝑖subscript𝜑2\mathcal{M},\pi_{i}\models\varphi_{2}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT for all 0im0𝑖𝑚0\leq i\leq m0 ≤ italic_i ≤ italic_m or there is an 0im0𝑖𝑚0\leq i\leq m0 ≤ italic_i ≤ italic_m such that ,πiφ1modelssubscript𝜋𝑖subscript𝜑1\mathcal{M},\pi_{i}\models\varphi_{1}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and ,πjφ2modelssubscript𝜋𝑗subscript𝜑2\mathcal{M},\pi_{j}\models\varphi_{2}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT for all 0ji0𝑗𝑖0\leq j\leq i0 ≤ italic_j ≤ italic_i.

  • ,πφ1𝖱φ2models𝜋subscript𝜑1𝖱subscript𝜑2\mathcal{M},\pi\models\varphi_{1}\,\mathsf{R}\,\varphi_{2}caligraphic_M , italic_π ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT iff either ,πiφ2modelssubscript𝜋𝑖subscript𝜑2\mathcal{M},\pi_{i}\models\varphi_{2}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT for all i0𝑖0i\geq 0italic_i ≥ 0 or there is an i0𝑖0i\geq 0italic_i ≥ 0 such that ,πiφ1modelssubscript𝜋𝑖subscript𝜑1\mathcal{M},\pi_{i}\models\varphi_{1}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and ,πjφ2modelssubscript𝜋𝑗subscript𝜑2\mathcal{M},\pi_{j}\models\varphi_{2}caligraphic_M , italic_π start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ⊧ italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT for all 0ji0𝑗𝑖0\leq j\leq i0 ≤ italic_j ≤ italic_i.

Let φ𝜑\varphiitalic_φ be a formula and \mathcal{M}caligraphic_M be a model, then Sat(φ,)𝜑({\varphi},\mathcal{M})( italic_φ , caligraphic_M ) denotes the set of states of \mathcal{M}caligraphic_M verifying φ𝜑\varphiitalic_φ, i.e., Sat(φ,)={qQ|,qφ}𝜑conditional-set𝑞𝑄models𝑞𝜑(\varphi,\mathcal{M})=\{q\in Q\ \,|\,\ \mathcal{M},q\models\varphi\}( italic_φ , caligraphic_M ) = { italic_q ∈ italic_Q | caligraphic_M , italic_q ⊧ italic_φ }. Two formulas φ𝜑\varphiitalic_φ and ψ𝜓\psiitalic_ψ are equivalent (denoted by φψ𝜑𝜓\varphi\equiv\psiitalic_φ ≡ italic_ψ) if for all models \mathcal{M}caligraphic_M, Sat(φ,)𝜑(\varphi,\mathcal{M})( italic_φ , caligraphic_M ) = Sat(ψ,)𝜓(\psi,\mathcal{M})( italic_ψ , caligraphic_M ) The semantics of the obstruction probabilistic operator   nkdelimited-⟨⟩superscriptsubscript  𝑛absent𝑘\langle{\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916% pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}}^{% \bowtie k}\rangle⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ refers to the probability for the sets of paths for which a path formula holds. To ensure that this is well-defined, we need to establish that the events specified by POTL path formulas are measurable. Since the set {πOut(q,𝔖),πφ}conditional-set𝜋Out𝑞𝔖models𝜋𝜑\{\pi\in\textsf{Out}(q,\mathfrak{S})\mid\mathcal{M},\pi\models\varphi\}{ italic_π ∈ Out ( italic_q , fraktur_S ) ∣ caligraphic_M , italic_π ⊧ italic_φ } for POTL path formula φ𝜑\varphiitalic_φ can be considered as a countable union of cylinder sets, its measurability is ensured. This follows from the following lemma.

Lemma 1.

For each POTL path formula φ𝜑\varphiitalic_φ and state q𝑞qitalic_q of a model \mathcal{M}caligraphic_M, the set {πOut(q,𝔖)|,πφ}conditional-set𝜋Out𝑞𝔖models𝜋𝜑\{\pi\in\textsf{Out}(q,\mathfrak{S})|\ \mathcal{M},\pi\models\varphi\}{ italic_π ∈ Out ( italic_q , fraktur_S ) | caligraphic_M , italic_π ⊧ italic_φ } is measurable.

Proof.

The approach is similar to the one proposed in (Baier and Katoen 2008) for PCTL. ∎

4 Model Checking

Here, we present our model checking algorithm for POTL. Furthermore, we show that the model checking problem for POTL is decidable in PTIME. POTL model checking algorithm is based on the computation of the set Sat(φ,)𝜑(\varphi,\mathcal{M})( italic_φ , caligraphic_M ) of all states satisfying a POTL formula φ𝜑\varphiitalic_φ, followed by checking whether the initial state is included in this set. The most interesting part of our logic is the treatment of the formula ψ𝜓\psiitalic_ψ =   nkθdelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜃\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt% }{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}\rangle\theta⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_θ. In order to determine whether q𝑞qitalic_q \in Sat(ψ,)Sat𝜓\textsf{Sat}(\psi,\mathcal{M})Sat ( italic_ψ , caligraphic_M ), we will use Pr,q𝔖superscriptsubscriptPr𝑞𝔖\textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT (θ)𝜃(\theta)( italic_θ ) to denote the probability that all paths from q𝑞qitalic_q that are in accordance with the n-strategy 𝔖𝔖\mathfrak{S}fraktur_S satisfies path formula θ𝜃\thetaitalic_θ, that is Pr,q𝔖(θ)=Prq({πOut(q,𝔖),πθ})superscriptsubscriptPr𝑞𝔖𝜃superscriptsubscriptPr𝑞conditional-set𝜋Out𝑞𝔖models𝜋𝜃\textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}(\theta)=\textsf{Pr}_{\mathcal{M}}^{% q}(\{\pi\in\textsf{Out}(q,\mathfrak{S})\mid\mathcal{M},\pi\models\theta\})Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) = Pr start_POSTSUBSCRIPT caligraphic_M end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT ( { italic_π ∈ Out ( italic_q , fraktur_S ) ∣ caligraphic_M , italic_π ⊧ italic_θ } ). Then

Sat(ψ,)={qQPr,q𝔖(θ)k}Sat𝜓conditional-set𝑞𝑄superscriptsubscriptPr𝑞𝔖𝜃𝑘\textsf{Sat}(\psi,\mathcal{M})=\{q\in Q\ \mid\ \textsf{Pr}_{\mathcal{M},q}^{% \mathfrak{S}}(\theta)\bowtie k\}Sat ( italic_ψ , caligraphic_M ) = { italic_q ∈ italic_Q ∣ Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) ⋈ italic_k }

We omit the superscript \mathcal{M}caligraphic_M in Prq𝔖superscriptsubscriptPr𝑞𝔖\textsf{Pr}_{q}^{\mathfrak{S}}Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT (θ)𝜃(\theta)( italic_θ ) and Sat(ψ)Sat𝜓\textsf{Sat}(\psi)Sat ( italic_ψ ) when the model is clear from the context. Now, we introduce our predecessor operator. Let A𝐴Aitalic_A = Sat(φ)Sat𝜑\textsf{Sat}(\varphi)Sat ( italic_φ ) be a set of states, then the predecessor computation is done by the obstruction predecessor operator (n,A)𝑛𝐴\blacktriangledown(n,A)▼ ( italic_n , italic_A ) where n𝑛nitalic_n is an integer and the operator computes the set of all predecessor states.

Definition 7.

Given a set of states A𝐴Aitalic_A \subseteq Q𝑄Qitalic_Q, we define Pre(A)Pre𝐴\textsf{Pre}(A)Pre ( italic_A ) = qAsubscript𝑞𝐴\bigcup_{q\in A}⋃ start_POSTSUBSCRIPT italic_q ∈ italic_A end_POSTSUBSCRIPT pre(q)pre𝑞\textsf{pre}(q)pre ( italic_q ).

Now, let us define the obstruction predecessor operator.

Definition 8 (Obstruction Predecessor).

Let =(Q,q0,𝐏,,𝖢)𝑄subscript𝑞0𝐏𝖢\mathcal{M}=(Q,q_{0},\mathbf{P},\mathcal{L},\mathsf{C})caligraphic_M = ( italic_Q , italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , bold_P , caligraphic_L , sansserif_C ) be a model. Given a state q𝑞qitalic_q, a natural number n𝑛nitalic_n, and a set of states A𝐴Aitalic_A \subseteq Q𝑄Qitalic_Q, we write:

(q,n,A)=qA𝖢(q,q)nabsent𝑞𝑛𝐴subscriptsuperscript𝑞𝐴𝖢𝑞superscript𝑞𝑛\blacktriangleright(q,n,A)\ =\ \sum_{q^{\prime}\in A}\mathsf{C}(q,q^{\prime})\leq n▶ ( italic_q , italic_n , italic_A ) = ∑ start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_A end_POSTSUBSCRIPT sansserif_C ( italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ≤ italic_n
(n,A)={qPre(A)(q,n,A¯)}\blacktriangledown(n,A)=\{q\in\textsf{Pre}(A)\,\mid\,\blacktriangleright(q,n,% \overline{A})\}▼ ( italic_n , italic_A ) = { italic_q ∈ Pre ( italic_A ) ∣ ▶ ( italic_q , italic_n , over¯ start_ARG italic_A end_ARG ) }

The general structure of the Algorithm 1 shown here is similar to OL model checking algorithm (Catta, Leneutre, and Malvone 2023b). However, it is now necessary to compute relevant probabilities. For model checking operator   nkθdelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜃\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt% }{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}\rangle\theta⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_θ applied to a model \mathcal{M}caligraphic_M the probability of a path leaving each state q𝑞qitalic_q satisfying the path formula θ𝜃\thetaitalic_θ must be computed. This may require a calculation involving the operators: next (𝖷φ)𝖷𝜑(\mathsf{X}\,\varphi)( sansserif_X italic_φ ), bounded until (φ1𝖴mφ2subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT), until (φ1𝖴φ2subscript𝜑1𝖴subscript𝜑2\varphi_{1}\,\mathsf{U}\,\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT), bounded release (φ1𝖱mφ2subscript𝜑1superscript𝖱absent𝑚subscript𝜑2\varphi_{1}\,\mathsf{R}\,^{\leq m}\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT), or release (φ1𝖱φ2subscript𝜑1𝖱subscript𝜑2\varphi_{1}\,\mathsf{R}\,\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT). We calculate, for an n-strategy and all states q𝑞qitalic_q \in Q𝑄Qitalic_Q, the probabilities: Prq𝔖(𝖷φ)superscriptsubscriptPr𝑞𝔖𝖷𝜑\textsf{Pr}_{q}^{\mathfrak{S}}(\mathsf{X}\,\varphi)Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( sansserif_X italic_φ ), Prq𝔖(φ1𝖴mφ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), Prq𝔖(φ1𝖴φ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1𝖴subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), Prq𝔖(φ1𝖱mφ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1superscript𝖱absent𝑚subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{R}\,^{\leq m}\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), and Prq𝔖(φ1𝖱φ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1𝖱subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{R}\,\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) respectively.

Algorithm 1 POTL model checking
Input: A model \mathcal{M}caligraphic_M and φ𝜑\varphiitalic_φ is a POTL formula
Output: Sat(φ)𝜑(\varphi)( italic_φ ) \leftarrow {qQ|,qφ}conditional-set𝑞𝑄models𝑞𝜑\{q\in Q\ |\ \mathcal{M},q\models\varphi\}{ italic_q ∈ italic_Q | caligraphic_M , italic_q ⊧ italic_φ }
1:for all ψ𝜓\psiitalic_ψ Sub(φ)absent𝑆𝑢𝑏𝜑\in Sub(\varphi)∈ italic_S italic_u italic_b ( italic_φ ) do
2:     switch (ψ)𝜓(\psi)( italic_ψ ) do
3:         case ψ=𝜓top\psi=\topitalic_ψ = ⊤
4:              Sat(ψ)QSat𝜓𝑄\textsf{Sat}(\psi)\leftarrow QSat ( italic_ψ ) ← italic_Q          
5:         case ψ=p𝜓𝑝\psi=pitalic_ψ = italic_p
6:              Sat(ψ){qQ|p(q)}Sat𝜓conditional-set𝑞𝑄𝑝𝑞\textsf{Sat}(\psi)\leftarrow\{q\in Q\,|\,p\in\mathcal{L}(q)\}Sat ( italic_ψ ) ← { italic_q ∈ italic_Q | italic_p ∈ caligraphic_L ( italic_q ) }          
7:         case ψ=¬ψ1𝜓subscript𝜓1\psi=\neg\psi_{1}italic_ψ = ¬ italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT
8:              Sat(ψ)QSat(ψ)Sat𝜓𝑄Sat𝜓\textsf{Sat}(\psi)\leftarrow Q\setminus\textsf{Sat}(\psi)Sat ( italic_ψ ) ← italic_Q ∖ Sat ( italic_ψ )          
9:         case ψ=ψ1ψ2𝜓subscript𝜓1subscript𝜓2\psi=\psi_{1}\land\psi_{2}italic_ψ = italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT
10:              Sat(ψ)Sat(ψ1)Sat(ψ2)Sat𝜓Satsubscript𝜓1Satsubscript𝜓2\textsf{Sat}(\psi)\leftarrow\textsf{Sat}(\psi_{1})\cap\textsf{Sat}(\psi_{2})Sat ( italic_ψ ) ← Sat ( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∩ Sat ( italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT )          
11:         case ψ=  nkθ𝜓delimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜃\psi=\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22% 916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}\rangle\thetaitalic_ψ = ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_θ
12:              Sat(ψ){qQPr,q𝔖(θ)k}Sat𝜓conditional-set𝑞𝑄superscriptsubscriptPr𝑞𝔖𝜃𝑘\textsf{Sat}(\psi)\leftarrow\{q\in Q\ \mid\ \textsf{Pr}_{\mathcal{M},q}^{% \mathfrak{S}}(\theta)\bowtie k\}Sat ( italic_ψ ) ← { italic_q ∈ italic_Q ∣ Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) ⋈ italic_k }               

Let us first consider the next operator. For ψ𝜓\psiitalic_ψ = 𝖷φ𝖷𝜑\mathsf{X}\,\varphisansserif_X italic_φ, the following equality holds: Prq𝔖(𝖷φ)=minq(n,Sat(φ))𝐏(q,q)superscriptsubscriptPr𝑞𝔖𝖷𝜑subscriptsuperscript𝑞𝑛Sat𝜑𝐏superscript𝑞𝑞\textsf{Pr}_{q}^{\mathfrak{S}}(\mathsf{X}\,\varphi)=\min_{q^{\prime}\in% \blacktriangledown(n,\textsf{Sat}(\varphi))}\mathbf{P}(q^{\prime},q)Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( sansserif_X italic_φ ) = roman_min start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ ▼ ( italic_n , Sat ( italic_φ ) ) end_POSTSUBSCRIPT bold_P ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ), where 𝐏𝐏\mathbf{P}bold_P is the transition probability function of \mathcal{M}caligraphic_M. Thus, we have the resulting vector (Prq𝔖(𝖷φ))qSat(φ)subscriptsuperscriptsubscriptPr𝑞𝔖𝖷𝜑𝑞Sat𝜑(\textsf{Pr}_{q}^{\mathfrak{S}}(\mathsf{X}\,\varphi))_{q\in\textsf{Sat}(% \varphi)}( Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( sansserif_X italic_φ ) ) start_POSTSUBSCRIPT italic_q ∈ Sat ( italic_φ ) end_POSTSUBSCRIPT.

Let us consider the bounded until operator. For ψ𝜓\psiitalic_ψ = φ1𝖴mφ2subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, the following equality holds: Prq𝔖(φ1𝖴mφ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). The set of states is partitioned into the three disjoint sets to perform the computation associated with this operator: Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT = Q((n,Sat(φ1))Q\setminus(\blacktriangledown(n,\textsf{Sat}(\varphi_{1}))italic_Q ∖ ( ▼ ( italic_n , Sat ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) \cup (n,Sat(φ2))𝑛Satsubscript𝜑2\blacktriangledown(n,\textsf{Sat}(\varphi_{2}))▼ ( italic_n , Sat ( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ), Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT = (n,Sat(φ2))𝑛Satsubscript𝜑2\blacktriangledown(n,\textsf{Sat}(\varphi_{2}))▼ ( italic_n , Sat ( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ), and Q?superscript𝑄?Q^{?}italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT = Q(QnoQyes)𝑄superscript𝑄𝑛𝑜superscript𝑄𝑦𝑒𝑠Q\setminus(Q^{no}\cup Q^{yes})italic_Q ∖ ( italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT ∪ italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT ). The sets Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT and Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT contain the states for which Prq𝔖(φ1𝖴mφ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) is equal to 1 and 0 respectively, and Q?superscript𝑄?Q^{?}italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT contains all other states. For the set of states Q?superscript𝑄?Q^{?}italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT we have:

𝒳qm={0if m=0minq(n,Sat(φ1))𝐏(q,q)𝒳qm1if m1superscriptsubscript𝒳𝑞𝑚cases0if m=0subscriptsuperscript𝑞𝑛Satsubscript𝜑1𝐏superscript𝑞𝑞superscriptsubscript𝒳𝑞𝑚1if m1\mathcal{X}_{q}^{m}=\begin{cases}0&\text{if $m=0$}\\ \min_{q^{\prime}\in\blacktriangledown(n,\textsf{Sat}(\varphi_{1}))}\mathbf{P}(% q^{\prime},q)\cdot\mathcal{X}_{q}^{m-1}&\text{if $m\geq 1$}\end{cases}caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT = { start_ROW start_CELL 0 end_CELL start_CELL if italic_m = 0 end_CELL end_ROW start_ROW start_CELL roman_min start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ ▼ ( italic_n , Sat ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) end_POSTSUBSCRIPT bold_P ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) ⋅ caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m - 1 end_POSTSUPERSCRIPT end_CELL start_CELL if italic_m ≥ 1 end_CELL end_ROW

where 𝒳qmsuperscriptsubscript𝒳𝑞𝑚\mathcal{X}_{q}^{m}caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT = Prq𝔖(φ1𝖴mφ2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2}Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT). This is essentially applying the next operator m𝑚mitalic_m times, while checking the satisfaction of φ1subscript𝜑1\varphi_{1}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and φ2subscript𝜑2\varphi_{2}italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Let (𝒳qm)superscriptsubscript𝒳𝑞𝑚(\mathcal{X}_{q}^{m})( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ) = (Prq𝔖(φ1𝖴mφ2)(\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2})( Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) be a state indexed vector and by defining the matrix 𝐏superscript𝐏\mathbf{P}^{\prime}bold_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT as follows:

𝐏(q,q)={𝐏(q,q)if qQ?1if qQyes and q=q0if qQnosuperscript𝐏superscript𝑞𝑞casessuperscript𝐏superscript𝑞𝑞if qQ?1if qQyes and q=q0if qQno\mathbf{P}^{\prime}(q^{\prime},q)=\begin{cases}\mathbf{P}^{\prime}(q^{\prime},% q)&\text{if $q\in Q^{?}$}\\ $1$&\text{if $q\in Q^{yes}$ and $q^{\prime}=q$}\\ $0$&\text{if $q\in Q^{no}$}\par\end{cases}bold_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) = { start_ROW start_CELL bold_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL 1 end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT and italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = italic_q end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT end_CELL end_ROW

The probabilities can be computed as follows. If m=0𝑚0m=0italic_m = 0 and q𝑞qitalic_q \in Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT, then (𝒳q0)superscriptsubscript𝒳𝑞0(\mathcal{X}_{q}^{0})( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ) = 1, and if qQno𝑞superscript𝑄𝑛𝑜q\in Q^{no}italic_q ∈ italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT, (𝒳q0)superscriptsubscript𝒳𝑞0(\mathcal{X}_{q}^{0})( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ) = 0. In the case where m1𝑚1m\geq 1italic_m ≥ 1, the vector (𝒳qm)superscriptsubscript𝒳𝑞𝑚(\mathcal{X}_{q}^{m})( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ) can be computed by m𝑚mitalic_m matrix-vector multiplication (𝒳qm)superscriptsubscript𝒳𝑞𝑚(\mathcal{X}_{q}^{m})( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ) = 𝐏superscript𝐏\mathbf{P}^{\prime}bold_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT \cdot (𝒳qm1)superscriptsubscript𝒳𝑞𝑚1(\mathcal{X}_{q}^{m-1})( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m - 1 end_POSTSUPERSCRIPT ).

Now consider the (unbounded) until operator. For ψ𝜓\psiitalic_ψ = φ1𝖴φ2subscript𝜑1𝖴subscript𝜑2\varphi_{1}\,\mathsf{U}\,\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT the following equality holds: Prq𝔖(φ1𝖴φ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1𝖴subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) . As with the bounded until operator, all states are partitioned into the three disjoint sets Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT, Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT, and Q?superscript𝑄?Q^{?}italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT. The sets are defined as above. However, the sets Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT, Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT are extended to contain all states for which Prq𝔖(φ1𝖴φ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1𝖴subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) is 1 or 0. They can be determined with the fixed-point algorithms described in Algorithm 2 (Algo2) and Algorithm 3 (Algo3), respectively. Algo2 (i.e., the set Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT) is computed by first computing the set of states reachable with non-zero probability that satisfy φ2subscript𝜑2\varphi_{2}italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT whose predecessors do not satisfy φ1subscript𝜑1\varphi_{1}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Subtracting these states from the set Q𝑄Qitalic_Q gives the set of states with 0 probability. Algo3 (i.e. the set Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT) computes similarly the set of states that are reachable with probability less than 1 and that satisfy φ2subscript𝜑2\varphi_{2}italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT whose predecessors do not satisfy φ1subscript𝜑1\varphi_{1}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. The set of states satisfying the operator with probability 1 is determined by subtracting these states from Q𝑄Qitalic_Q. The reason for precomputing Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT, Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT is that it ensures a unique solution to the linear system of equations and reduces the set of states in Q?superscript𝑄?Q^{?}italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT for which probabilities must be computed numerically. In addition, the model checking of qualitative properties for which the probability bound is 1 or 0 does not require any further computation. The final set Q?superscript𝑄?Q^{?}italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT can be computed by solving the linear equation.

𝒳q={0if q  Qno1if qQyesminqQ𝐏(q,q)𝒳qif q  Q?subscript𝒳𝑞cases0if q  Qno1if qQyessubscriptsuperscript𝑞𝑄𝐏superscript𝑞𝑞superscriptsubscript𝒳𝑞if q  Q?\mathcal{X}_{q}=\begin{cases}$0$&\text{if $q$ $\in$ $Q^{no}$}\\ $1$&\text{if $q\in Q^{yes}$}\\ \min_{q^{\prime}\in Q}\mathbf{P}(q^{\prime},q)\ \cdot\ \mathcal{X}_{q}^{\prime% }&\text{if $q$ $\in$ $Q^{?}$}\par\end{cases}caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT = { start_ROW start_CELL 0 end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL 1 end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL roman_min start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_Q end_POSTSUBSCRIPT bold_P ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) ⋅ caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT end_CELL end_ROW

where 𝒳qsubscript𝒳𝑞\mathcal{X}_{q}caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT = Prq𝔖(φ1𝖴φ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1𝖴subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{U}\,\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). To reconstruct the problem in the form 𝐀x=b𝐀𝑥𝑏\mathbf{A}\cdot x=bbold_A ⋅ italic_x = italic_b. Let (𝒳q)subscript𝒳𝑞(\mathcal{X}_{q})( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT ) be the state indexed vector where (𝒳q=1(\mathcal{X}_{q}=1( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT = 1 if q𝑞qitalic_q \in Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT and (𝒳q)=0subscript𝒳𝑞0(\mathcal{X}_{q})=0( caligraphic_X start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT ) = 0 if q𝑞qitalic_q \in Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT, and 𝐀𝐀\mathbf{A}bold_A = 𝐈𝐈\mathbf{I}bold_I𝐏superscript𝐏\mathbf{P}^{\prime}bold_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT where 𝐈𝐈\mathbf{I}bold_I is the identity matrix and matrix 𝐏superscript𝐏\mathbf{P}^{\prime}bold_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is as defined below:

𝐏(q,q)={𝐏(q,q)if qQ?1if qQyes0if qQnosuperscript𝐏superscript𝑞𝑞casessuperscript𝐏superscript𝑞𝑞if qQ?1if qQyes0if qQno\mathbf{P}^{\prime}(q^{\prime},q)=\begin{cases}\mathbf{P}^{\prime}(q^{\prime},% q)&\text{if $q\in Q^{?}$}\\ $1$&\text{if $q\in Q^{yes}$}\\ $0$&\text{if $q\in Q^{no}$}\par\end{cases}bold_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) = { start_ROW start_CELL bold_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT ? end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL 1 end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL if italic_q ∈ italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT end_CELL end_ROW

The Power method (Varga 1962), can then be used to solve the linear system 𝐀x=b𝐀𝑥𝑏\mathbf{A}\cdot x=bbold_A ⋅ italic_x = italic_b.

Algorithm 2 Backward search for computing Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT (Algo2)
Input: A formula Prq𝔖(Sat(φ1)𝖴Sat(φ2))superscriptsubscriptPr𝑞𝔖Satsubscript𝜑1𝖴Satsubscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\textsf{Sat}(\varphi_{1})\,\mathsf{U}\,\textsf{% Sat}(\varphi_{2}))Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( Sat ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) sansserif_U Sat ( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ) and Q𝑄Qitalic_Q.
Output: A set R of states which have a zero probability.
1:YSat(φ2)𝑌Satsubscript𝜑2Y\leftarrow\textsf{Sat}(\varphi_{2})italic_Y ← Sat ( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT )
2:X𝑋X\leftarrow\emptysetitalic_X ← ∅
3:while (YX)𝑌𝑋(Y\neq X)( italic_Y ≠ italic_X ) do
4:     XY𝑋𝑌X\leftarrow Yitalic_X ← italic_Y
5:     YY({qSat(φ1)|Y\leftarrow Y\cup(\{q\in\textsf{Sat}(\varphi_{1})|italic_Y ← italic_Y ∪ ( { italic_q ∈ Sat ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) | qY,P(q,q)>0}\exists q^{\prime}\in Y,\textbf{P}(q^{\prime},q)>0\}∃ italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_Y , P ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) > 0 } \cap (n,Sat(X)))\blacktriangledown(n,\textsf{Sat}(X)))▼ ( italic_n , Sat ( italic_X ) ) )
6:RQY𝑅𝑄𝑌R\leftarrow Q\setminus Yitalic_R ← italic_Q ∖ italic_Y
7:𝐫𝐞𝐭𝐮𝐫𝐧R𝐫𝐞𝐭𝐮𝐫𝐧𝑅\mathbf{return}\ Rbold_return italic_R
Algorithm 3 Backward search for computing Qyessuperscript𝑄𝑦𝑒𝑠Q^{yes}italic_Q start_POSTSUPERSCRIPT italic_y italic_e italic_s end_POSTSUPERSCRIPT (Algo3)
Input: A formula Prq𝔖(Sat(φ1)𝖴Sat(φ2))superscriptsubscriptPr𝑞𝔖Satsubscript𝜑1𝖴Satsubscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\textsf{Sat}(\varphi_{1})\,\mathsf{U}\,\textsf{% Sat}(\varphi_{2}))Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( Sat ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) sansserif_U Sat ( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ), Q𝑄Qitalic_Q and Qnosuperscript𝑄𝑛𝑜Q^{no}italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT
Output: A set R of states satisfying the operator with probability 1.
1:YQno𝑌superscript𝑄𝑛𝑜Y\leftarrow Q^{no}italic_Y ← italic_Q start_POSTSUPERSCRIPT italic_n italic_o end_POSTSUPERSCRIPT
2:X𝑋X\leftarrow\emptysetitalic_X ← ∅
3:while (YX)Y\neq X)italic_Y ≠ italic_X ) do
4:     XY𝑋𝑌X\leftarrow Yitalic_X ← italic_Y
5:     YY({q(Sat(φ1)Sat(φ2))|Y\leftarrow Y\cup(\{q\in(\textsf{Sat}(\varphi_{1})\setminus\textsf{Sat}(% \varphi_{2}))|italic_Y ← italic_Y ∪ ( { italic_q ∈ ( Sat ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ∖ Sat ( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ) | qY,superscript𝑞𝑌\exists q^{\prime}\in Y,∃ italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_Y , P(q,q)>0}\textbf{P}(q^{\prime},q)>0\}P ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_q ) > 0 } \cap (n,Sat(X)))\blacktriangledown(n,\textsf{Sat}(X)))▼ ( italic_n , Sat ( italic_X ) ) )
6:RQY𝑅𝑄𝑌R\leftarrow Q\setminus Yitalic_R ← italic_Q ∖ italic_Y
7:𝐫𝐞𝐭𝐮𝐫𝐧R𝐫𝐞𝐭𝐮𝐫𝐧𝑅\mathbf{return}\ Rbold_return italic_R

Now consider the bounded release operator. For ψ𝜓\psiitalic_ψ = φ1𝖱mφ2subscript𝜑1superscript𝖱𝑚subscript𝜑2\varphi_{1}\,\mathsf{R}\,^{m}\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT the following equality holds: Prq𝔖(φ1𝖱φ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1𝖱subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{R}\,\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). The argument is dual to bounded until operator.

The last case is the (unbounded) release operator. For ψ𝜓\psiitalic_ψ = φ1𝖱φ2subscript𝜑1𝖱subscript𝜑2\varphi_{1}\,\mathsf{R}\,\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT the following equality holds: Prq𝔖(φ1𝖱φ2)superscriptsubscriptPr𝑞𝔖subscript𝜑1𝖱subscript𝜑2\textsf{Pr}_{q}^{\mathfrak{S}}(\varphi_{1}\,\mathsf{R}\,\varphi_{2})Pr start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). The argument is dual to unbounded until operator. However, Algorithm 2 and 3 should be modified at line 5, where the intersection operator should be changed to the union operator.

Let us now prove the termination and correctness of the Algorithm 1.

Theorem 1 (Correctness).

Let \mathcal{M}caligraphic_M be a POTS model and φ𝜑\varphiitalic_φ be a POTL formula. Then, (i)𝑖(i)( italic_i ) Sat(φ)Sat𝜑\textsf{Sat}(\varphi)Sat ( italic_φ ) terminates and (ii)𝑖𝑖(ii)( italic_i italic_i ) q𝑞qitalic_q \in Sat(φ)Sat𝜑\textsf{Sat}(\varphi)Sat ( italic_φ ) iff ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models φ𝜑\varphiitalic_φ.

Proof.

(Sketch) Intuitively, termination is straightforward because recursive calls within Sat(φ)Sat𝜑\textsf{Sat}(\varphi)Sat ( italic_φ ) are always applied to strictly sub-formulas of φ𝜑\varphiitalic_φ. Let us prove (i)𝑖(i)( italic_i ) and (ii)𝑖𝑖(ii)( italic_i italic_i ) by induction over the structure of φ𝜑\varphiitalic_φ that, for every ψ𝜓\psiitalic_ψ \in Sub(φ)Sub𝜑\textsf{Sub}(\varphi)Sub ( italic_φ ) and q𝑞qitalic_q \in Q𝑄Qitalic_Q holds iff, ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models ψ𝜓\psiitalic_ψ.

(Soundness.) For every ψ𝜓\psiitalic_ψ \in Sub(φ𝜑\varphiitalic_φ) and q𝑞qitalic_q \in Q𝑄Qitalic_Q, implies ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models ψ𝜓\psiitalic_ψ. We prove this by induction over the structure of ψ𝜓\psiitalic_ψ as follows. For the base case: If ψ=𝜓top\psi=\topitalic_ψ = ⊤, then Sat()Sattop\textsf{Sat}(\top)Sat ( ⊤ ) = Q𝑄Qitalic_Q. That means (i)𝑖(i)( italic_i ) holds immediately and (ii)𝑖𝑖(ii)( italic_i italic_i ) follows directly from the truth definition. If ψ=p𝜓𝑝\psi=pitalic_ψ = italic_p (p𝑝pitalic_p \in 𝖠𝗉𝖠𝗉\mathsf{Ap}sansserif_Ap), then Sat(p)Sat𝑝\textsf{Sat}(p)Sat ( italic_p ) = (p)𝑝\mathcal{L}(p)caligraphic_L ( italic_p ) by definition. That means (i)𝑖(i)( italic_i ) holds immediately and for (ii)𝑖𝑖(ii)( italic_i italic_i ) q𝑞qitalic_q \in Sat(ψ)Sat𝜓\textsf{Sat}(\psi)Sat ( italic_ψ ) iff q𝑞qitalic_q \in (p)𝑝\mathcal{L}(p)caligraphic_L ( italic_p ) then ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models p𝑝pitalic_p by the truth definition. For the induction case: the cases of boolean combinations, if ψ=¬ψ𝜓𝜓\psi=\neg\psiitalic_ψ = ¬ italic_ψ, then Sat(ψ)Sat𝜓\textsf{Sat}(\psi)Sat ( italic_ψ ) = Q𝑄Qitalic_Q \setminus Sat(ψ1)Satsubscript𝜓1\textsf{Sat}(\psi_{1})Sat ( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) then induction hypothesis, Sat(ψ1)Satsubscript𝜓1\textsf{Sat}(\psi_{1})Sat ( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) terminates, therefore, (i)𝑖(i)( italic_i ) holds. For (ii)𝑖𝑖(ii)( italic_i italic_i ) q𝑞qitalic_q \in Sat(ψ)𝜓(\psi)( italic_ψ ) iff q𝑞qitalic_q \in Q𝑄Qitalic_Q \setminus Sat(ψ)𝜓(\psi)( italic_ψ ) then, q𝑞qitalic_q \notin Sat(ψ1)subscript𝜓1(\psi_{1})( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) which means that ,q𝑞\mathcal{M},qcaligraphic_M , italic_q ⊧̸not-models\not\models⊧̸ ψ1subscript𝜓1\psi_{1}italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT by the induction hypothesis then ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models ¬ψ1subscript𝜓1\neg\psi_{1}¬ italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT by truth definition. If ψ=ψ1ψ2𝜓subscript𝜓1subscript𝜓2\psi=\psi_{1}\wedge\psi_{2}italic_ψ = italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, then Sat(ψ)𝜓(\psi)( italic_ψ ) = Sat(ψ1)subscript𝜓1(\psi_{1})( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) \cap Sat(ψ2)subscript𝜓2(\psi_{2})( italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ). By the induction hypothesis, Sat(ψ1)subscript𝜓1(\psi_{1})( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and Sat(ψ2)subscript𝜓2(\psi_{2})( italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) terminate, therefore, (i)𝑖(i)( italic_i ) holds. For (ii)𝑖𝑖(ii)( italic_i italic_i ) q𝑞qitalic_q \in Sat(ψ)𝜓(\psi)( italic_ψ ) iff q𝑞qitalic_q \in Sat(ψ1)subscript𝜓1(\psi_{1})( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) \cap Sat(ψ2)subscript𝜓2(\psi_{2})( italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) then, q𝑞qitalic_q \in Sat(ψ1)subscript𝜓1(\psi_{1})( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and q𝑞qitalic_q \in Sat(ψ1)subscript𝜓1(\psi_{1})( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) which means that ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models ψ1subscript𝜓1\psi_{1}italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models ψ2subscript𝜓2\psi_{2}italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT by the induction hypothesis then ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models ψ1subscript𝜓1\psi_{1}italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT \wedge ,q𝑞\mathcal{M},qcaligraphic_M , italic_q models\models ψ2subscript𝜓2\psi_{2}italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT by truth definition. The induction step for the remaining obstruction operators is as follows: If ψ𝜓\psiitalic_ψ =   nkθdelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜃\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt% }{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}\rangle\theta⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_θ then Sat(ψ)𝜓(\psi)( italic_ψ ) = {qQPr,q𝔖(θ)k}conditional-set𝑞𝑄superscriptsubscriptPr𝑞𝔖𝜃𝑘\{q\in Q\ \mid\ \textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}(\theta)\bowtie k\}{ italic_q ∈ italic_Q ∣ Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) ⋈ italic_k } by the Sat definition. To prove that (i)𝑖(i)( italic_i ) holds, we must show Pr,q𝔖(θ)superscriptsubscriptPr𝑞𝔖𝜃\textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}(\theta)Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) terminates. If ψ𝜓\psiitalic_ψ = 𝖷φ1𝖷subscript𝜑1\mathsf{X}\,\varphi_{1}sansserif_X italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, the computation of Pr,q𝔖(θ)superscriptsubscriptPr𝑞𝔖𝜃\textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}(\theta)Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) terminates due to the fact that Sat(φ1)subscript𝜑1(\varphi_{1})( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) terminates by the induction hypothesis, and the functions (q,n,A)absent𝑞𝑛𝐴\blacktriangleright(q,n,A)▶ ( italic_q , italic_n , italic_A ) and (n,A)𝑛𝐴\blacktriangledown(n,A)▼ ( italic_n , italic_A ) are finite. If ψ𝜓\psiitalic_ψ = φ1𝖴mφ2subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, the computation of Pr,q𝔖(θ)superscriptsubscriptPr𝑞𝔖𝜃\textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}(\theta)Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) terminates due to the fact that Sat(φ1)subscript𝜑1(\varphi_{1})( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and Sat(φ2)subscript𝜑2(\varphi_{2})( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) terminate by the induction hypothesis. (q,n,A)absent𝑞𝑛𝐴\blacktriangleright(q,n,A)▶ ( italic_q , italic_n , italic_A ), (n,A)𝑛𝐴\blacktriangledown(n,A)▼ ( italic_n , italic_A ), Sat(φ1)subscript𝜑1(\varphi_{1})( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and Sat(φ2)subscript𝜑2(\varphi_{2})( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) are all finite and the solution of the corresponding linear equation systems also terminates. If ψ𝜓\psiitalic_ψ = φ1𝖴φ2subscript𝜑1𝖴subscript𝜑2\varphi_{1}\,\mathsf{U}\,\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, the computation of Pr,q𝔖(θ)superscriptsubscriptPr𝑞𝔖𝜃\textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}(\theta)Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) terminates due to the fact that Sat(φ1)subscript𝜑1(\varphi_{1})( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and Sat(φ2)subscript𝜑2(\varphi_{2})( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) terminate by the induction hypothesis. If ψ𝜓\psiitalic_ψ = φ1𝖱mφ2subscript𝜑1superscript𝖱absent𝑚subscript𝜑2\varphi_{1}\,\mathsf{R}\,^{\leq m}\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, the computation of Pr,q𝔖(θ)superscriptsubscriptPr𝑞𝔖𝜃\textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}(\theta)Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) terminates due to the fact that Sat(φ1)subscript𝜑1(\varphi_{1})( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and Sat(φ2)subscript𝜑2(\varphi_{2})( italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) terminate by the induction hypothesis. The argument is symmetric to bounded until operator. Let R𝑅Ritalic_R be the set of symbolic states of Q𝑄Qitalic_Q that is returned by algorithm 3 at line 6666. We need to show that R=Sat(ψ2)𝑅Satsubscript𝜓2R=\textsf{Sat}(\psi_{2})italic_R = Sat ( italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) provided that X=Sat(ψ1)𝑋Satsubscript𝜓1X=\textsf{Sat}({\psi_{1}})italic_X = Sat ( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ). We first show that Sat(ψ)YSat𝜓𝑌\textsf{Sat}({\psi})\subseteq YSat ( italic_ψ ) ⊆ italic_Y. Suppose that qSat(ψ)𝑞Sat𝜓q\in\textsf{Sat}(\psi)italic_q ∈ Sat ( italic_ψ ). By the definition of satisfaction, this means that there is a strategy 𝔖𝔖\mathfrak{S}fraktur_S such that given any ρ=q1,q2,𝜌subscript𝑞1subscript𝑞2\rho=q_{1},q_{2},\ldotsitalic_ρ = italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_q start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … in Out(q,𝔖)𝑂𝑢𝑡𝑞𝔖Out(q,\mathfrak{S})italic_O italic_u italic_t ( italic_q , fraktur_S ) and note that since the cardinality of \mathcal{M}caligraphic_M is finite, and we can suppose that 𝔖𝔖\mathfrak{S}fraktur_S is memoryless, we can focus on the finite prefix q1,qmsubscript𝑞1subscript𝑞𝑚q_{1},\ldots q_{m}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … italic_q start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT of ρ𝜌\rhoitalic_ρ in which all the qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are distinct. Let Aisubscript𝐴𝑖A_{i}italic_A start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (for i<||)i<|{\mathcal{M}}|)italic_i < | caligraphic_M | ) be the value of the variable A𝐴Aitalic_A before the first i𝑖iitalic_i-th iteration of the algorithm. We show that if CAi𝐶subscript𝐴𝑖C\subseteq A_{i}italic_C ⊆ italic_A start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT then CAi+1𝐶subscript𝐴𝑖1C\subseteq A_{i+1}italic_C ⊆ italic_A start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT. Firstly, note that AiSat(ψ1)subscript𝐴𝑖Satsubscript𝜓1A_{i}\subseteq\textsf{Sat}(\psi_{1})italic_A start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊆ Sat ( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) for all i𝑖iitalic_i. By definition, we have that Ai+1=(n,Ai)Sat(ψ1)subscript𝐴𝑖1𝑛subscript𝐴𝑖Satsubscript𝜓1A_{i+1}=\blacktriangledown(n,A_{i})\cap\textsf{Sat}(\psi_{1})italic_A start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT = ▼ ( italic_n , italic_A start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∩ Sat ( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ), i.e., Ai+1subscript𝐴𝑖1A_{i+1}italic_A start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT is computed by taking all the element of Sat(ψ)Sat𝜓\textsf{Sat}(\psi)Sat ( italic_ψ ) that have at most n𝑛nitalic_n successors that are not in Aisubscript𝐴𝑖A_{i}italic_A start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. If ψ𝜓\psiitalic_ψ = φ1𝖱φ2subscript𝜑1𝖱subscript𝜑2\varphi_{1}\,\mathsf{R}\,\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT then the proof is similar to the above case.

(Completeness) For every ψ𝜓\psiitalic_ψ \in Sub(φ𝜑\varphiitalic_φ) and q𝑞qitalic_q \in Q𝑄Qitalic_Q, we prove that ,q𝑞\mathcal{M},qcaligraphic_M , italic_q ⊧̸not-models\not\models⊧̸ ψ𝜓\psiitalic_ψ by induction over the structure of ψ𝜓\psiitalic_ψ as follows. For the base case: If ψ=𝜓top\psi=\topitalic_ψ = ⊤ and ψ=p𝜓𝑝\psi=pitalic_ψ = italic_p (p𝑝pitalic_p \in 𝖠𝗉𝖠𝗉\mathsf{Ap}sansserif_Ap), are obvious. For the induction case, the cases of boolean combinations, ψ=¬ψ𝜓𝜓\psi=\neg\psiitalic_ψ = ¬ italic_ψ, then ψ𝜓\psiitalic_ψ was model checked, and it was found to be true. Thus, ,q𝑞\mathcal{M},qcaligraphic_M , italic_q ⊧̸not-models\not\models⊧̸ ψ𝜓\psiitalic_ψ. For ψ=ψ1ψ2𝜓subscript𝜓1subscript𝜓2\psi=\psi_{1}\wedge\psi_{2}italic_ψ = italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∧ italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, then ψ1subscript𝜓1\psi_{1}italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and ψ2subscript𝜓2\psi_{2}italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT were model checked and at least one of them was found to be false. Therefore, ,q𝑞\mathcal{M},qcaligraphic_M , italic_q ⊧̸not-models\not\models⊧̸ ψ𝜓\psiitalic_ψ. The induction step for the remaining obstruction operators is as follows: If ψ𝜓\psiitalic_ψ =   nkθdelimited-⟨⟩superscriptsubscript  𝑛absent𝑘𝜃\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3.22916pt% }{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n}^{% \bowtie k}\rangle\theta⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_k end_POSTSUPERSCRIPT ⟩ italic_θ then Sat(ψ)𝜓(\psi)( italic_ψ ) = {qQPr,q𝔖(θ)k}conditional-set𝑞𝑄superscriptsubscriptPr𝑞𝔖𝜃𝑘\{q\in Q\ \mid\ \textsf{Pr}_{\mathcal{M},q}^{\mathfrak{S}}(\theta)\bowtie k\}{ italic_q ∈ italic_Q ∣ Pr start_POSTSUBSCRIPT caligraphic_M , italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT fraktur_S end_POSTSUPERSCRIPT ( italic_θ ) ⋈ italic_k } by the Sat definition. The proof for X=Sat(ψ1)𝑋Satsubscript𝜓1X=\textsf{Sat}({\psi_{1}})italic_X = Sat ( italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ), ψ𝜓\psiitalic_ψ = φ1𝖴mφ2subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and ψ𝜓\psiitalic_ψ = φ1𝖴φ2subscript𝜑1𝖴subscript𝜑2\varphi_{1}\,\mathsf{U}\,\varphi_{2}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT then ,s⊧̸ψnot-models𝑠𝜓\mathcal{M},s\not\models\psicaligraphic_M , italic_s ⊧̸ italic_ψ is similar to the above case (similar for bounded and unbounded 𝖱𝖱\,\mathsf{R}\,sansserif_R).

The following theorem establishes the complexity of our model checking algorithms.

Theorem 2.

The model checking problem of POTL on POTS is PTIME

Proof.

(Sketch). Algorithm 1 shows a procedure for model checking POTL, which manipulates a set of states of Q𝑄Qitalic_Q. The procedure is inspired by the model checking for OL (Catta, Leneutre, and Malvone 2023a), PCTL (Hansson and Jonsson 1994) and ATL (Alur, Henzinger, and Kupferman 2002). However, we use two additional procedures \blacktriangleright and \blacktriangledown linked to the pre-image function Pre. In detail, our algorithm uses the following functions:

  • The function Sub returns an ordered sequence, w.r.t. their complexities, of syntactic sub-formulas of a given formula φ𝜑\varphiitalic_φ.

  • The function Pre is the same as for OL (Catta, Leneutre, and Malvone 2023a).

  • The function (q,n,A)absent𝑞𝑛𝐴\blacktriangleright(q,n,A)▶ ( italic_q , italic_n , italic_A ) takes in input a state q𝑞qitalic_q, a natural numbers n𝑛nitalic_n, and a subset of states A𝐴Aitalic_A. Such a function returns true if (qA𝖢(q,q))<nsubscriptsuperscript𝑞𝐴𝖢𝑞superscript𝑞𝑛(\sum_{q^{\prime}\in A}\mathsf{C}(\langle q,q^{\prime}\rangle))<n( ∑ start_POSTSUBSCRIPT italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_A end_POSTSUBSCRIPT sansserif_C ( ⟨ italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⟩ ) ) < italic_n. If we represent the graph via an adjacent matrix, we can calculate such function in a linear number of steps w.r.t. the size of A𝐴Aitalic_A.

  • The function (n,A)𝑛𝐴\blacktriangledown(n,A)▼ ( italic_n , italic_A ) takes in input a natural number n𝑛nitalic_n and a subset of states A𝐴Aitalic_A. The function returns the subset Asuperscript𝐴A^{\prime}italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of Pre(A)Pre𝐴\textsf{Pre}(A)Pre ( italic_A ), such that (q,n,A¯)absentsuperscript𝑞𝑛¯𝐴\blacktriangleright(q^{\prime},n,\overline{A})▶ ( italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_n , over¯ start_ARG italic_A end_ARG ) for all qAsuperscript𝑞superscript𝐴q^{\prime}\in A^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. The worst possible case is when Pre(A)=QPre𝐴𝑄\textsf{Pre}(A)=QPre ( italic_A ) = italic_Q, and one needs to call |Q|𝑄|Q|| italic_Q |-times the function \blacktriangleright. So, we are quadratic in Q𝑄Qitalic_Q, i.e. polynomial.

Algorithm 1 works bottom-up on the structure of the formula, the cases of interest are for strategic formulas. For φ=  nm𝖷φ𝜑delimited-⟨⟩superscriptsubscript  𝑛absent𝑚𝖷𝜑\varphi=\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3% .22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n% }^{\bowtie m}\rangle\mathsf{X}\,\varphiitalic_φ = ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_m end_POSTSUPERSCRIPT ⟩ sansserif_X italic_φ, the procedure calls function (n,Sat(φ))𝑛Sat𝜑\blacktriangledown(n,\textsf{Sat}(\varphi))▼ ( italic_n , Sat ( italic_φ ) ) to compute the subset of set of states of Pre(Sat(φ1))PreSatsubscript𝜑1\textsf{Pre}(\textsf{Sat}(\varphi_{1}))Pre ( Sat ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) that are bound to end up in satisfaction set. As regard φ=  nm(φ1𝖴φ2)𝜑delimited-⟨⟩superscriptsubscript  𝑛absent𝑚subscript𝜑1𝖴subscript𝜑2\varphi=\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3% .22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n% }^{\bowtie m}\rangle(\varphi_{1}\,\mathsf{U}\,\varphi_{2})italic_φ = ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_m end_POSTSUPERSCRIPT ⟩ ( italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), the procedure computes the least fixed-point. We observe that, since it is monotone, such a fixed-point always exists. A similar reasoning can be done for φ=  nmφ1𝖴mφ2𝜑delimited-⟨⟩superscriptsubscript  𝑛absent𝑚subscript𝜑1superscript𝖴absent𝑚subscript𝜑2\varphi=\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3% .22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n% }^{\bowtie m}\rangle\varphi_{1}\,\mathsf{U}\,^{\leq m}\varphi_{2}italic_φ = ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_m end_POSTSUPERSCRIPT ⟩ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, φ=  nmφ1𝖱mφ2𝜑delimited-⟨⟩superscriptsubscript  𝑛absent𝑚subscript𝜑1superscript𝖱𝑚subscript𝜑2\varphi=\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3% .22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n% }^{\bowtie m}\rangle\varphi_{1}\,\mathsf{R}\,^{m}\varphi_{2}italic_φ = ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_m end_POSTSUPERSCRIPT ⟩ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and φ=  nmφ1𝖱φ2𝜑delimited-⟨⟩superscriptsubscript  𝑛absent𝑚subscript𝜑1𝖱subscript𝜑2\varphi=\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2pt]{3% .22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}}}_{n% }^{\bowtie m}\rangle\varphi_{1}\,\mathsf{R}\,\varphi_{2}italic_φ = ⟨ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋈ italic_m end_POSTSUPERSCRIPT ⟩ italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_R italic_φ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. From the above, our procedure runs in polynomial-time in the size of the model and formula, where parameter sizes are defined as follows. The size of \mathcal{M}caligraphic_M, is denoted by |||\mathcal{M}|| caligraphic_M | and the size of a state formula φ𝜑\varphiitalic_φ, denoted by |φ|𝜑|\varphi|| italic_φ |, is equal to the number of logical connectives and temporal operators in φ𝜑\varphiitalic_φ plus the sum of the size log(m)𝑙𝑜𝑔𝑚log(m)italic_l italic_o italic_g ( italic_m ) of each bounded temporal operators 𝖴msuperscript𝖴absent𝑚\,\mathsf{U}\,^{\leq m}sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT occurring in φ𝜑\varphiitalic_φ and the function (n,A)𝑛𝐴\blacktriangledown(n,A)▼ ( italic_n , italic_A ). Therefore, checking whether a model \mathcal{M}caligraphic_M satisfies formula φ𝜑\varphiitalic_φ, which depends on the size of φ𝜑\varphiitalic_φ and is at most O(|φ|||mmax)𝑂𝜑subscript𝑚𝑚𝑎𝑥O(|\varphi|\cdot|\mathcal{M}|\cdot m_{max})italic_O ( | italic_φ | ⋅ | caligraphic_M | ⋅ italic_m start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT ), where mmaxsubscript𝑚𝑚𝑎𝑥m_{max}italic_m start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT is the maximal step bound that appears in a subformula ψ1𝖴mψ2subscript𝜓1superscript𝖴absent𝑚subscript𝜓2\psi_{1}\,\mathsf{U}\,^{\leq m}\psi_{2}italic_ψ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT sansserif_U start_POSTSUPERSCRIPT ≤ italic_m end_POSTSUPERSCRIPT italic_ψ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT of φ𝜑\varphiitalic_φ and if mmaxsubscript𝑚𝑚𝑎𝑥m_{max}italic_m start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT = 1, then φ𝜑\varphiitalic_φ does not contain a step-bounded until operator. Termination of such procedure is guaranteed, as the state space Q𝑄Qitalic_Q is finite.

5 Illustration Example

Probability theory is well-suited for cybersecurity risk analysis because it provides a framework for understanding and quantifying uncertainty. To illustrate this, we will consider the following general cybersecurity scenario. Let 𝒢𝒢\mathcal{G}caligraphic_G be an AG and we want to check if there are MTD response strategies that will satisfy certain security goals.

Refer to caption
Figure 1: Example of an AG 𝒢𝒢\mathcal{G}caligraphic_G from (Ismail 2016).

Consider the AG in Fig. 1 with four states: S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, S1subscript𝑆1S_{1}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, S2subscript𝑆2S_{2}italic_S start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, and S3subscript𝑆3S_{3}italic_S start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT. Each state represents a state of the attacker in the system. If the attacker is in S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT or S1subscript𝑆1S_{1}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, he can perform one or two of the following actions: exploit vulnerability v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, exploit vulnerability v2subscript𝑣2v_{2}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, and access device t𝑡titalic_t. If the attacker succeeds in exploiting v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, he will transition to state S1subscript𝑆1S_{1}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Here, we assume that depending on the attacker’s preferences, there are 70%percent\%% chance that the attacker will attempt to access equipment t𝑡titalic_t and a 30%percent\%% chance that he will attempt to exploit v2subscript𝑣2v_{2}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.

Action Countermeasure Cost Efficiency
exploit(v1subscript𝑣1v_{1}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT) c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT 5 47.5%percent\%%
access(t𝑡titalic_t) c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT 1 22.5%percent\%%
exploit(v2subscript𝑣2v_{2}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT) c3subscript𝑐3c_{3}italic_c start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT 3 24.7%percent\%%
Table 1: Actions and Attack countermeasure

In Table 1, there are the three possible actions the attacker can deploy, with their respective countermeasures, cost, and effectiveness. Let Fig. 2 depict the POTS \mathcal{M}caligraphic_M, constructed using the information from the attack graph presented in  (Ismail 2016). Notice that, in contrast to  (Ismail 2016), here we remove the actions because we do not have any actions in our POTS model. Therefore, the probabilities present in each state of the model are divided by the number of outgoing actions of that state. In Fig. 2 the yellow line (do nothing), indicates that no countermeasure will be deployed. The red lines (c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT in Table 1), refer to a defensive countermeasure aimed at protecting the system against the attack attempt. However, c1subscript𝑐1c_{1}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT has an efficiency of 47.5%percent\%%. Therefore, an attacker attempting to exploit(v1)subscript𝑣1(v_{1})( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) has a 5%percent\%% chance of success. The violet lines (c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT) are a defensive countermeasure against accessing equipment t𝑡titalic_t and have an efficiency of 22.5%percent\%%. The orange lines (c3subscript𝑐3c_{3}italic_c start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT) are a defensive countermeasure against exploiting vulnerability v2subscript𝑣2v_{2}italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and have an efficiency of 24.7%percent\%%. Finally, green lines refer to the deployment of countermeasures c2subscript𝑐2c_{2}italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and c3subscript𝑐3c_{3}italic_c start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT at the same time. Let us take the case where the defender chooses to deploy the countermeasure c3subscript𝑐3c_{3}italic_c start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT (orange lines) in state S1subscript𝑆1S_{1}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, the attacker can either succeed or fail in his attack attempt. The efficiency of c3subscript𝑐3c_{3}italic_c start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT is 24.7%percent\%%. Therefore, the probability that the attacker fails in his attack attempt is 0.07425 (exploit(v2)subscript𝑣2(v_{2})( italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ×\times× efficiency(c3))(c_{3}))( italic_c start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) ). Otherwise, the probability of success is of 0.00075.

Refer to caption
Figure 2: The POTS \mathcal{M}caligraphic_M from 𝒢𝒢\mathcal{G}caligraphic_G.

Let r2subscript𝑟2r_{2}italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and r3subscript𝑟3r_{3}italic_r start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT be the atomic propositions for the states, S2subscript𝑆2S_{2}italic_S start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and S3subscript𝑆3S_{3}italic_S start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT. We can express, via POTL formulas, the following security objective:

  • There is a defender strategy with a cost 4444 such that the attacker reaches the state satisfying r2subscript𝑟2r_{2}italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT or the state satisfying r3subscript𝑟3r_{3}italic_r start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT with a probability less than a given threshold 0.10.10.10.1. The following POTL formula captures the objective: φ1:=  4<0.1𝖥(r2r3)assignsubscript𝜑1delimited-⟨⟩superscriptsubscript  4absent0.1𝖥subscript𝑟2subscript𝑟3\varphi_{1}:=\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2% pt]{3.22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}% }}_{4}^{{}^{<0.1}}\rangle\mathsf{F}\,(r_{2}\vee r_{3})italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT := ⟨ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT < 0.1 end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT ⟩ sansserif_F ( italic_r start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∨ italic_r start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ).

  • There exists a defender strategy with cost 5 such that the probability that the attacker reaches state satisfying r3subscript𝑟3r_{3}italic_r start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT is less than 0.2. The following POTL formula captures the objective: φ1:=  5<0.2𝖥r3assignsubscript𝜑1delimited-⟨⟩superscriptsubscript  5absent0.2𝖥subscript𝑟3\varphi_{1}:=\langle\textbf{\raisebox{2.15277pt}{\makebox[0.0pt][l]{\rule[-0.2% pt]{3.22916pt}{0.4pt}}\makebox[3.22916pt]{\rule[-2.15277pt]{0.4pt}{6.45831pt}}% }}_{5}^{{}^{<0.2}}\rangle\mathsf{F}\,r_{3}italic_φ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT := ⟨ start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT < 0.2 end_FLOATSUPERSCRIPT end_POSTSUPERSCRIPT ⟩ sansserif_F italic_r start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT.

6 Related Work

There are some papers that have focused on the strategic capabilities of agents playing within dynamic game models. In this section, we compare our approach with them.

Non-Probabilistic Games and Strategic Logics. Some research related to sabotage games has been introduced by van Benthem to study the computational complexity of a special class of graph reachability problems in which an agent has the ability to delete edges  (van Benthem 2005; Aucher, Benthem, and Grossi 2018). Sabotage Modal Logic (SML) was introduced by (van Benthem 2005) to reason about sabotage games. The model checking problem for the sabotage modal logic is PSPACE-complete (Löding and Rohde 2003). Our version of the games is not comparable to the sabotage games, because we provide the possibility to temporarily select subsets of edges, while in the sabotage games, the saboteur can only delete one edge at a time. In this respect, our work is related to (Catta, Leneutre, and Malvone 2023a), where the authors use an extended version of sabotage modal logic, called Subset Sabotage Modal Logic (SSML), which allows for the deactivation of certain subsets of edges of a directed graph. The authors show that the model checking problems for such logics are decidable. Also, we recall that SSML is an extension of SML, but does not include temporal operators. Also, neither SML nor SSML takes into account quantitative information about the cost of edges, as we do. In (Stasio et al. 2018) Dynamic Escape Games (DEG) have been introduced. In a DEG, an agent can inhibit edges but only reachability objectives have been studied. In (Catta, Leneutre, and Malvone 2023b) has been introduced Obstruction Logic which allows reasoning about two-player games played on weighted directed graphs. However, all these logics do not include quantitative information about probability and temporal operators.

Probabilistic Games and Strategic Logics. Several papers consider the verification of stochastic games using probabilistic logics. In particular, when agents play deterministic strategies (as in PSL (Aminof et al. 2019)) and probabilistic knowledge (as in PATL and PATLsuperscriptPATL\textsf{PATL}^{*}PATL start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT (Huang and Luo 2013)). These logics are extensions of the Alternating- time Temporal Logics ATL and ATLsuperscriptATL\textsf{ATL}^{*}ATL start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT (Alur, Henzinger, and Kupferman 2002) and can be used to reason about the probabilistic knowledge and the probabilistic strategy in stochastic game systems. In (Song et al. 2019), the model checking problem has been studied for probabilistic alternating time μ𝜇\muitalic_μ-calculus. (Huang, Su, and Zhang 2012) consider the logic Probabilistic PATLsuperscriptPATL\textsf{PATL}^{*}PATL start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT under incomplete information and synchronous perfect recall. PATL has also been studied with incomplete information and memoryless strategy (Belardinelli et al. 2023), and with cumulative costs/rewards (Chen et al. 2012). In the context of MAS, probabilistic logic has been used to verify unconstrained parameterized systems, a fragment of PATLsuperscriptPATL\textsf{PATL}^{*}PATL start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT called P[ATL]superscriptP[ATL]\textsf{P[ATL}^{*}\textsf{]}P[ATL start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ] (Lomuscio and Pirovano 2020), constrained resource systems (Probabilistic Resource-Bounded ATL (pRB-ATL) (Nguyen and Rakib 2019), and under assumptions about adversarial strategies, an extension of ATL with probability success (pATL) (Bulling and Jamroga 2009). However, none of these logics combine probabilistic settings with dynamic models.

7 Conclusions

In this paper, we presented POTL, a logic that allows reasoning about probabilistic two-player games temporal goals, where one of the players has the power to locally and temporarily modify the game structure. We proved that its model checking problem is in PTIME. We also showed how POTL expresses cybersecurity properties in a suitable way. Several directions we would like to explore for future work. A possible extension would be to consider probabilistic games with many players, between a demon and coalitions of travelers. Such an extension would have the same relationship with the PATL logic as TOTL has with TCTL. Another extension could be to introduce imperfect information in our setting. Unfortunately, this context is generally non-decidable (Dima and Tiplea 2011). To overcome this problem, we could use an approximation to perfect information (Belardinelli, Ferrando, and Malvone 2023), a notion of bounded memory (Belardinelli et al. 2022), or some hybrid technique (Ferrando and Malvone 2022, 2023).

References

  • Alur, Henzinger, and Kupferman (2002) Alur, R.; Henzinger, T.; and Kupferman, O. 2002. Alternating-time temporal logic. J. ACM, 49(5): 672–713.
  • Aminof et al. (2019) Aminof, B.; Kwiatkowska, M.; Maubert, B.; Murano, A.; and Rubin, S. 2019. Probabilistic Strategy Logic. In Kraus, S., ed., Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence, IJCAI 2019, Macao, China, August 10-16, 2019, 32–38.
  • Aucher, Benthem, and Grossi (2018) Aucher, G.; Benthem, J. V.; and Grossi, D. 2018. Modal logics of sabotage revisited. Journal of Logic and Computation, 28(2): 269 – 303.
  • Baier and Katoen (2008) Baier, C.; and Katoen, J. 2008. Principles of model checking. MIT Press. ISBN 978-0-262-02649-9.
  • Belardinelli, Ferrando, and Malvone (2023) Belardinelli, F.; Ferrando, A.; and Malvone, V. 2023. An abstraction-refinement framework for verifying strategic properties in multi-agent systems with imperfect information. Artif. Intell., 316: 103847.
  • Belardinelli et al. (2023) Belardinelli, F.; Jamroga, W.; Mittelmann, M.; and Murano, A. 2023. Strategic Abilities of Forgetful Agents in Stochastic Environments. In Marquis, P.; Son, T. C.; and Kern-Isberner, G., eds., Proceedings of the 20th International Conference on Principles of Knowledge Representation and Reasoning, KR 2023, 726–731.
  • Belardinelli et al. (2022) Belardinelli, F.; Lomuscio, A.; Malvone, V.; and Yu, E. 2022. Approximating Perfect Recall when Model Checking Strategic Abilities: Theory and Applications. J. Artif. Intell. Res., 73: 897–932.
  • Bulling and Jamroga (2009) Bulling, N.; and Jamroga, W. 2009. What Agents Can Probably Enforce. Fundam. Informaticae, 93(1-3): 81–96.
  • Catta, Leneutre, and Malvone (2023a) Catta, D.; Leneutre, J.; and Malvone, V. 2023a. Attack Graphs & Subset Sabotage Games. Intelligenza Artificiale, 17(1): 77–88.
  • Catta, Leneutre, and Malvone (2023b) Catta, D.; Leneutre, J.; and Malvone, V. 2023b. Obstruction Logic: A Strategic Temporal Logic to Reason About Dynamic Game Models. In ECAI 2023 - 26th European Conference on Artificial Intelligence.
  • Chen et al. (2012) Chen, T.; Forejt, V.; Kwiatkowska, M.; Parker, D.; and Simaitis, A. 2012. Automatic verification of competitive stochastic systems. In Proceedings of the 18th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’12. Berlin, Heidelberg.
  • Cho et al. (2020) Cho, J.; Sharma, D.; Alavizadeh, H.; Yoon, S.; B-A., N.; Moore, T.; Kim, D.; Lim, H.; and Nelson, F. 2020. Toward Proactive, Adaptive Defense: A Survey on Moving Target Defense. IEEE Communications Surveys & Tutorials.
  • Clarke and Emerson (1981) Clarke, E.; and Emerson, E. 1981. Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic.
  • Dima and Tiplea (2011) Dima, C.; and Tiplea, F. L. 2011. Model-checking ATL under Imperfect Information and Perfect Recall Semantics is Undecidable. CoRR.
  • Ferrando and Malvone (2022) Ferrando, A.; and Malvone, V. 2022. Towards the Combination of Model Checking and Runtime Verification on Multi-agent Systems. In 20th International Conference, PAAMS 2022.
  • Ferrando and Malvone (2023) Ferrando, A.; and Malvone, V. 2023. Towards the Verification of Strategic Properties in Multi-Agent Systems with Imperfect Information. In Proceedings of the 2023 International Conference on Autonomous Agents and Multiagent Systems, AAMAS 2023.
  • Hansson and Jonsson (1994) Hansson, H.; and Jonsson, B. 1994. A Logic for Reasoning about Time and Reliability. Formal Aspects Comput., 6(5): 512–535.
  • Huang and Luo (2013) Huang, X.; and Luo, C. 2013. A logic of probabilistic knowledge and strategy. In Proceedings of the 2013 International Conference on Autonomous Agents and Multi-Agent Systems, AAMAS ’13. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems.
  • Huang, Su, and Zhang (2012) Huang, X.; Su, K.; and Zhang, C. 2012. Probabilistic Alternating-Time Temporal Logic of Incomplete Information and Synchronous Perfect Recall. In Hoffmann, J.; and Selman, B., eds., Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence, July 22-26, 2012, Toronto, Ontario, Canada, 765–771.
  • Ismail (2016) Ismail, Z. 2016. Optimal defense strategies to improve the security and resilience of Smart Grids. Theses, Télécom ParisTech.
  • Kaynar (2016) Kaynar, K. 2016. A Taxonomy for Attack Graph Generation and Usage in Network Security. J. Inf. Secur. Appl., 29(C): 27–56.
  • Kleinberg (2012) Kleinberg, S. 2012. Causality, Probability, and Time, 241–250. Cambridge University Press.
  • Li et al. (2022) Li, L.; Ma, H.; Han, S.; and Fu, J. 2022. Synthesis of Proactive Sensor Placement In Probabilistic Attack Graphs. arXiv:2210.07385.
  • Löding and Rohde (2003) Löding, C.; and Rohde, P. 2003. Model Checking and Satisfiability for Sabotage Modal Logic. In FST TCS 2003: Foundations of Software Technology and Theoretical Computer Science.
  • Lomuscio and Pirovano (2020) Lomuscio, A.; and Pirovano, E. 2020. Parameterised Verification of Strategic Properties in Probabilistic Multi-Agent Systems. In Proceedings of the 19th International Conference on Autonomous Agents and MultiAgent Systems, AAMAS ’20. Richland, SC: International Foundation for Autonomous Agents and Multiagent Systems.
  • Marco-Gisbert and Ripoll Ripoll (2019) Marco-Gisbert, H.; and Ripoll Ripoll, I. 2019. Address Space Layout Randomization Next Generation. Applied Sciences, 9(14).
  • Milani et al. (2020) Milani, S.; Shen, W.; Chan, K. S.; Venkatesan, S.; Leslie, N. O.; Kamhoua, C.; and Fang, F. 2020. Harnessing the Power of Deception in Attack Graph-Based Security Games. In Decision and Game Theory for Security: 11th International Conference, GameSec 2020, College Park, MD, USA, October 28–30, 2020, Proceedings, 147–167.
  • Nguyen and Rakib (2019) Nguyen, H. N.; and Rakib, A. 2019. A probabilistic logic for resource-bounded multi-agent systems. In Proceedings of the 28th International Joint Conference on Artificial Intelligence, IJCAI’19.
  • Song et al. (2019) Song, F.; Zhang, Y.; Chen, T.; Tang, Y.; and Xu, Z. 2019. Probabilistic alternating-time μ𝜇\muitalic_μ-calculus. In Proceedings of the Thirty-Third AAAI Conference on Artificial Intelligence and Thirty-First Innovative Applications of Artificial Intelligence Conference and Ninth AAAI Symposium on Educational Advances in Artificial Intelligence, AAAI’19/IAAI’19/EAAI’19.
  • Stasio et al. (2018) Stasio, A. D.; Lambiase, P. D.; Malvone, V.; and Murano, A. 2018. Dynamic Escape Game. In Proceedings of the 17th International Conference on Autonomous Agents and MultiAgent Systems, AAMAS 2018.
  • van Benthem (2005) van Benthem, J. 2005. An Essay on Sabotage and Obstruction. Springer Berlin Heidelberg.
  • Varga (1962) Varga, R. S. 1962. Matrix Iterative Analysis. Prentice-Hall Series in Automatic Computation. Englewood Cliffs: Prentice-Hall.