Skip to main content
Log in

Extended bounded response LTL: a new safety fragment for efficient reactive synthesis

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

Reactive synthesis is a key technique for the design of correct-by-construction systems, which has been thoroughly investigated in the last decades. It consists of the synthesis of a controller that reacts to environment’s inputs satisfying a given temporal logic specification. Common approaches are based on the explicit construction of automata and on their determinization, which limits their scalability. In this paper, we introduce a new safety fragment of Linear Temporal Logic (LTL), called Extended Bounded Response LTL (\({\textsf {LTL}}_{{\textsf {EBR}}}\)), which allows one to combine bounded and universal unbounded temporal operators (thus covering a large set of practical cases). We show that reactive synthesis from \({\textsf {LTL}}_{{\textsf {EBR}}}\) specifications can be reduced to solving a safety game over a deterministic symbolic automaton built directly from the specification. We prove the correctness of the approach and study the complexity of the fragment showing that the proposed solution is optimal. Finally, we evaluate it on various benchmarks showing better performance of other approaches for general LTL or larger safety fragments.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

Notes

  1. https://es-static.fbk.eu/tools/ebr-ltl-synth/.

  2. We point out that in some cases, like in the fourth category for \(n \ge 60\), MONA ’s memouts are due to its parser.

  3. The reason why we do not have a single survival plot comparing all the four tools is that Ssyft could not have been compiled for the same platform as the others, due to issues with its source code.

  4. The official website of SYNTCOMP is the following: http://www.syntcomp.org/.

References

  1. Abel A, Reineke J (2015) Memin: SAT-based exact minimization of incompletely specified mealy machines. In: 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). IEEE, pp 94–101

  2. Biere A, Heljanko K, Wieringa S (2011) Aiger 1.9 and beyond. http://fmv.jku.at/hwmcc11/beyond1.pdf

  3. Bloem R, Jobstmann B, Piterman N, Pnueli A, Saar Y (2012) Synthesis of reactive (1) designs. J Comput Syst Sci 78(3):911–938

    Article  MathSciNet  Google Scholar 

  4. Bloem R, Könighofer R, Seidl M (2014) Sat-based synthesis methods for safety specs. In: International conference on verification, model checking, and abstract interpretation. Springer, pp 1–20

  5. Brayton R, Mishchenko A (2010) ABC: an academic industrial-strength verification tool. In: International conference on computer aided verification. Springer, pp 24–40

  6. Büchi JR (1990) On a decision method in restricted second order arithmetic. In: The collected works of J. Richard Büchi. Springer, pp 425–435

  7. Buchi JR, Landweber LH (1990) Solving sequential conditions by finite-state strategies. In: The Collected Works of J. Richard Büchi. Springer, pp 525–541

  8. Cavada R, Cimatti A, Dorigatti M, Griggio A, Mariotti A, Micheli A, Mover S, Roveri M, Tonetta S (2014) The nuxmv symbolic model checker. In: International conference on computer aided verification. Springer, pp 334–342

  9. Chlebus BS (1986) Domino-tiling games. J Comput Syst Sci 32(3):374–392

    Article  MathSciNet  Google Scholar 

  10. Church A (1962) Logic, arithmetic, and automata. In: Proceedings of the international congress of mathematicians, pp 23–35

  11. Cimatti A, Geatti L, Gigante N, Montanari, A, Tonetta S (2020) Reactive synthesis from extended bounded response LTL specifications. In: 2020 formal methods in computer aided design (FMCAD). IEEE, pp 83–92

  12. De Alfaro L, Henzinger TA, Kupferman O (2007) Concurrent reachability games. Theor Comput Sci 386(3):188–217

    Article  MathSciNet  Google Scholar 

  13. Duret-Lutz A, Lewkowicz A, Fauchille A, Michaud T, Renault E, Xu L (2016) Spot 2.0—a framework for LTL and \(\omega \)-automata manipulation. In: International symposium on automated technology for verification and analysis. Springer, pp 122–129

  14. Finkbeiner B, Schewe S (2013) Bounded synthesis. Int J Softw Tools Technol Transf 15(5–6):519–539

    Article  Google Scholar 

  15. Henriksen JG, Jensen J, Jørgensen M, Klarlund N, Paige R, Rauhe T, Sandholm A (1995) Mona: Monadic second-order logic in practice. In International workshop on tools and algorithms for the construction and analysis of systems. Springer, pp 89–110

  16. Jacobs S, Bloem R (2018) The 5th reactive synthesis competition—SYNTCOMP 2018. In: SYNT workshop at FLoC

  17. Jacobs S, Bloem R, Brenguier R, Ehlers R, Hell T, Könighofer R, Pérez GA, Raskin JF, Ryzhyk L, Sankur O et al (2017) The 1st reactive synthesis competition—SYNTCOMP 2014. Int J Softw Tools Technol Transf 19(3):367–390

    Article  Google Scholar 

  18. Kupferman O, Vardi MY (2005) Safraless decision procedures. In: 46th annual IEEE symposium on foundations of computer science (FOCS’05). IEEE, pp 531–540

  19. Leucker M, Schallhart C (2009) A brief account of runtime verification. J Logic Algebr Program 78(5):293–303

    Article  Google Scholar 

  20. Lichtenstein O, Pnueli A (2000) Propositional temporal logics: decidability and completeness. Log J IGPL 8(1):55–85. https://doi.org/10.1093/jigpal/8.1.55

    Article  MathSciNet  MATH  Google Scholar 

  21. Luttenberger M, Meyer PJ, Sickert S (2020) Practical synthesis of reactive systems from LTL specifications via parity games. Acta Informatica 57(1):3–36

    Article  MathSciNet  Google Scholar 

  22. Maler O, Nickovic D, Pnueli A (2005) Real time temporal logic: past, present, future. In: Pettersson P, Yi W (eds) Formal modeling and analysis of timed systems, Third international conference, FORMATS 2005, Uppsala, Sweden, September 26–28, 2005, Proceedings. Lecture Notes in Computer Science, vol 3829. Springer, pp 2–16. https://doi.org/10.1007/11603009_2

  23. Maler O, Nickovic D, Pnueli A (2007) On synthesizing controllers from bounded-response properties. In: Damm W, Hermanns H (eds) Computer aided verification, 19th international conference, CAV 2007, Berlin, Germany, July 3–7, 2007, Proceedings. Lecture Notes in Computer Science, vol 4590. Springer, pp 95–107. https://doi.org/10.1007/978-3-540-73368-3_12

  24. Montanari A, Puppis G, Sala P, Sciavicco G (2010) Decidability of the interval temporal logic ABB over the natural numbers. In: Marion, J, Schwentick T (eds) 27th international symposium on theoretical aspects of computer science, STACS 2010, March 4–6, 2010, Nancy, France. LIPIcs, vol 5, pp 597–608. Schloss Dagstuhl - Leibniz-Zentrum für Informatik. https://doi.org/10.4230/LIPIcs.STACS.2010.2488

  25. Piterman N, Pnueli A, Sa’ar Y (2006) Synthesis of reactive (1) designs. In: International workshop on verification, model checking, and abstract interpretation. Springer, pp 364–380

  26. Pnueli A (1977) The temporal logic of programs. In: 18th annual symposium on foundations of computer science, Providence, Rhode Island, USA, 31 October–1 November 1977. IEEE Computer Society, pp 46–57. https://doi.org/10.1109/SFCS.1977.32

  27. Pnueli A, Rosner R (1989) On the synthesis of an asynchronous reactive module. In: International colloquium on automata, languages, and programming. Springer, pp 652–671

  28. Rosner R (1992) Modular synthesis of reactive systems. PhD thesis, Weizmann Institute of Science

  29. Sebastiani R, Tonetta S (2003) “More deterministic” vs. “smaller” Büchi automata for efficient LTL model checking. In: Geist D, Tronci E (eds) CHARME, Lecture notes in computer science, vol 2860. Springer, pp 126–140. https://doi.org/10.1007/978-3-540-39724-3_12

  30. van Emde Boas P et al (1997) The convenience of tilings. Lecture notes in pure and applied mathematics. CRC Press, Boca Raton, pp 331–363

    MATH  Google Scholar 

  31. Vardi MY, Wolper P (1994) Reasoning about infinite computations. Inf Comput 115(1):1–37

    Article  MathSciNet  Google Scholar 

  32. Zhu S, Tabajara LM, Li J, Pu G, Vardi MY (2017) A symbolic approach to safety LTL synthesis. In: Haifa verification conference. Springer, pp 147–162

Download references

Acknowledgements

The authors would like to thank all the anonymous reviewers of FMCAD 2020 for their insightful comments on a preliminary version of this paper. Luca Geatti, Nicola Gigante, and Angelo Montanari would also like to acknowledge the support from the GNCS project: “Strategic reasoning and automatic synthesis of multi-agent systems”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Luca Geatti.

Appendices

A Proofs

Proposition A.1

(Soundness of pastification) Let \(\varphi \) be a \({\mathsf {LTL}}_{\mathsf {BF}}{+}{\mathsf {P}}\) formula. For all state sequences \(\sigma \in (2^\varSigma )^\omega \), all \(i \in \mathbb {N}\), and all \(d\ge D(\phi )\), it holds that:

$$\begin{aligned} \sigma ,i \models \varphi&{\Leftrightarrow }\ \sigma ,i \models {{\mathsf {X} }^d \varPi (\varphi ,d)} \end{aligned}$$

Proof

The proof goes by structural induction over \(\varphi \). As the base case, consider a \(\textsf {LTL}_{\textsf {P}}\) formula \(\psi \), and since \(D(\psi )=0\), consider any \(d\ge 0\). It holds that \(\sigma ,i\models \psi \) if and only if \(\sigma ,i\models {\mathsf {X}^d \mathsf {Y}^d \psi }\), hence \(\sigma ,i+d \models {\mathsf {Y}^d \psi }\), which by definition of \(\varPi (\cdot )\) is equivalent to \(\sigma ,i+d\models \varPi (\psi ,d)\). For the inductive case, we consider multiple cases. The case for the negation and the conjunction operators are straightforward. Consider now the case \(\phi \equiv {\mathsf {X}\,\phi _1}\). We prove first the left-to-right direction. It holds that:

$$\begin{aligned} \begin{array}{llr} &{}\sigma ,i \models {\mathsf {X}\,\phi _1} \\ {\leftrightarrow }\; &{}\sigma ,i+1 \models \phi _1 \\ &{}&{}{ semantics\, of}\,\text {next} \\ {\leftrightarrow }\; &{}\forall d_1 \ge D(\phi _1) .\sigma ,i+1+d_1 \models \varPi (\phi _1,d_1) \\ &{}&{}{ inductive\, hypothesis\, on}\,\phi _1 \\ {\leftrightarrow }\; &{}\forall d \ge D(\phi _1)+1 .\sigma ,i+d \models \varPi (\phi _1,d-1) \\ &{}&{}{ with}\,d = d_1 + 1 \\ {\leftrightarrow }\; &{}\forall d \ge D(\phi ) .\sigma ,i+d \models \varPi (\phi _1,d-1) \\ &{}&{}{ since}\,D(\phi ) = D(\phi _1) + 1 \\ {\leftrightarrow }\; &{}\forall d \ge D(\phi ) .\sigma ,i+d \models \varPi ({\mathsf {X}\phi _1},d) \\ &{}&{}{ by\, definition\, of}\,\varPi (\cdot ) \\ {\leftrightarrow }\; &{}\forall d \ge D(\phi ) .\sigma ,i \models {\mathsf {X}^d}\varPi (\phi ,d) \end{array} \end{aligned}$$

Consider now the case \(\phi \equiv {\phi _1 \mathcal {U}^{[a,b]} \phi _2}\). The following equivalences hold:

$$\begin{aligned} \begin{array}{llr} &{}\sigma ,i\models \phi _1 \mathcal {U}^{[a,b]} \phi _2 \\ {\leftrightarrow }\; &{} \exists j_2 .\bigl ( (a \le j_2 \le b) \wedge \sigma ,i+j_2 \models \phi _2 \wedge \\ &{}\qquad \qquad \forall j_1 .( (0 \le j_1< j_2) \rightarrow \sigma ,i+j_1 \models \phi _1) \bigr ) \\ &{}&{}\!\!\!\!\!\!\!\!\!\!\!\! { semantics\, of}\,{\hbox {bounded until}} \\ {\leftrightarrow }\; &{} \forall d_1 \ge D(\phi _1) .\forall d_2 \ge D(\phi _2) .\Bigl ( \\ &{}\quad \exists j_2 .\bigl ( (a \le j_2 \le b) \wedge \sigma ,i+j_2+d_2 \models \varPi (\phi _2,d_2) \wedge \\ &{}\qquad \qquad \forall j_1 .( (0 \le j_1 < j_2) \rightarrow \sigma ,i+j_1+d_1 \models \varPi (\phi _1,d_1)) \bigr ) \Bigr ) \\ &{}&{} \!\!\!\!\!\!\!\!\!\!\!\! { by\, the\, inductive\, hypothesis} \end{array} \end{aligned}$$

Since \(D(\phi ) = b + \max \{D(\phi _1),D(\phi _2)\}\), it holds that \(D(\phi _1) \le D(\phi )-b\) and \(D(\phi _2) \le D(\phi )-b\). Therefore, for any first-order formula \(\phi (d_1,d_2)\) where \(d_1\) and \(d_2\) are free variables, it holds that if \(\forall d_1 \ge D(\phi _1) .\forall d_2 \ge D(\phi _2) .\phi (d_1,d_2)\) then \(\forall d \ge D(\phi ) .\phi [d_1 \mapsto (d-b), d_2 \mapsto (d-b)]\). And thus:

$$\begin{aligned} \begin{aligned}&\Rightarrow \, \forall d \ge D(\phi ) .\\&\quad \Bigl (\exists j_2 .\bigl ( (a \le j_2 \le b) \wedge \sigma ,i+j_2+d-b \models \varPi (\phi _2,d-b) \wedge \\&\qquad \forall j_1 .( (0 \le j_1< j_2) \rightarrow \sigma ,i+j_1+d-b \models \varPi (\phi _1,d-b)) \bigr ) \Bigr )\\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { since}\,D(\phi ) = b + \max {D(\phi _1),D(\phi _2)} \\&{\Leftrightarrow }\, \forall d \ge D(\phi ) .\\&\quad \Bigl (\exists k_2 .\bigl ( (a \le b-k_2 \le b) \wedge \sigma ,i+d-k_2 \models \varPi (\phi _2,d-b) \wedge \\&\qquad \forall j_1 .( (0 \le b-k_1 < b-k_2) \rightarrow \sigma ,i+d-k_1 \models \varPi (\phi _1,d-b)) \bigr ) \Bigr )\\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { with}\,k_2 = b - j_2\,{ and}\,k_1 = b - j_1 \\&{\Leftrightarrow }\, \forall d \ge D(\phi ) .\\&\quad \Bigl (\exists k_2 .\bigl ( (0 \le k_2 \le b-a) \wedge \sigma ,i+d-k_2 \models \varPi (\phi _2,d-b) \wedge \\&\qquad \forall j_1 .( (0 \le k_1 \le b-k_2-1) \rightarrow \sigma ,i+d-k_1-1 \models \varPi (\phi _1,d-b)) \bigr ) \Bigr ) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { simple\, arithmetic} \\&{\Leftrightarrow }\, \forall d \ge D(\phi ) .\bigl ( \sigma ,i+d \models \bigvee _{k_2=0}^{b-a} {\mathsf {Y}^{k_2}}(\varPi (\phi _2, d-b) \wedge {\mathsf {H}^{[0,b-k_2-1]}\mathsf {Y}} \varPi (\phi _1,d-b)) \bigr ) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { definition\, of}\,yesterday \,{ and}\,bounded\, historically \, { operators} \\&{\Leftrightarrow }\, \forall d \ge D(\phi ) .\bigl ( \sigma ,i \models {\mathsf {X}^{d}} \varPi ({\phi _1 \mathcal {U}^{[a,b]} \phi _2},d) \bigr ) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { definition\, of}\,\varPi (\cdot ) \end{aligned} \end{aligned}$$

We now prove the right-to-left direction. It holds that:

$$\begin{aligned}&\forall d \ge D(\phi ) .\bigl ( \sigma ,i \models {\mathsf {X}^d}\left( \bigvee _{t=0}^{b-a}{\mathsf {Y}^t}(\varPi (\phi _2,d-t) \wedge {\mathsf {H}^{[0,b-t-1]} \mathsf {Y}\,\varPi (\phi _1,d-b)})\right) \bigr ) \\&{\Leftrightarrow }\, \forall d \ge D(\phi ) .\\&\qquad \bigl (\exists k_2 .( (0 \le k_2 \le b-a) \wedge \pi ,i+d-k_2 \models \varPi (\phi _2,d-b) \wedge \\&\qquad \qquad \forall k_1 .( (0 \le k_1 \le b-k_2-1) \wedge \pi ,i+d-k_2-k_1-1 \models \varPi (\phi _1,d-b))) \bigr ) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { semantics\, of}\,yesterday \,{ and}\,bounded until \\&{\Leftrightarrow }\, \forall d \ge D(\phi ) .\\&\qquad \bigl (\exists k_2 .( (0 \le k_2 \le b-a) \wedge \pi ,i-k_2 \models {\mathsf {X}^d}\varPi (\phi _2,d-b) \wedge \\&\qquad \qquad \forall k_1 .( (0 \le k_1 \le b-k_2-1) \wedge \pi ,i-k_2-k_1-1 \models {\mathsf {X}^d}\varPi (\phi _1,d-b))) \bigr ) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { semantics\, of}\,next \\&{\Leftrightarrow }\, \forall d_1 \ge D(\phi )-b .\forall d_2 \ge D(\phi )-b .\\&\qquad \bigl (\exists k_2 .( (0 \le k_2 \le b-a) \wedge \pi ,i-k_2 \models {\mathsf {X}^{d_2+b}}\varPi (\phi _2,d_2) \wedge \\&\qquad \qquad \forall k_1 .( (0 \le k_1 \le b-k_2-1) \wedge \pi ,i-k_2-k_1-1 \models {\mathsf {X}^{d_1+b}}\varPi (\phi _1,d_1))) \bigr ) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { with}\,d_1=d-b\,{ and}\,d_2=d-b \\&{\Leftrightarrow }\, \forall d_1 \ge D(\phi )-b .\forall d_2 \ge D(\phi )-b .\\&\qquad \bigl (\exists k_2 .( (0 \le k_2 \le b-a) \wedge \pi ,i-k_2+b \models {\mathsf {X}^{d_2}}\varPi (\phi _2,d_2) \wedge \\&\qquad \qquad \forall k_1 .( (0 \le k_1 \le b-k_2-1) \wedge \pi ,i-k_2-k_1-1+b \models {\mathsf {X}^{d_1}}\varPi (\phi _1,d_1))) \bigr ) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { semantics\, of}\,next \\ \end{aligned}$$

Since \(D(\phi _1) \le D(\phi )-b\) and \(D(\phi _2) \le D(\phi )-b\), the inductive hypothesis applies in particular for all \(d_1 \ge D(\phi _1)-b\) and forall \(d_2 \ge D(\phi _2)-b\), and thus we have:

$$\begin{aligned} \begin{aligned}&\Rightarrow \, \exists k_2 .( (0 \le k_2 \le b-a) \wedge \pi ,i-k_2+b \models \phi _2 \wedge \\&\qquad \forall k_1 .( (0 \le k_1 \le b-k_2-1) \wedge \pi ,i-k_2-k_1-1+b \models \phi _1)) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { by\, inductive\, hypothesis} \\&{\Leftrightarrow }\, \exists j_2 .( (0 \le b-j_2 \le b-a) \wedge \pi ,i+j_2 \models \phi _2 \wedge \\&\qquad \forall j_1 .( (0 \le b-j_1 \le b+j_2-b-1) \wedge \pi ,i+j_2-b+j_1-1 \models \phi _1)) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { with}\,j_2=b-k_2\,{ and}\,k_1=b-j_1 \\&{\Leftrightarrow }\, \exists j_2 .( (a \le j_2 \le b) \wedge \pi ,i+j_2 \models \phi _2 \wedge \\&\qquad \forall j_1 .( (b+1-j_2 \le j_1 \le b) \wedge \pi ,i+j_2-b+j_1-1 \models \phi _1)) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { by\, simple\, arithmetics} \\&{\Leftrightarrow }\, \exists j_2 .( (a \le j_2 \le b) \wedge \pi ,i+j_2 \models \phi _2 \wedge \\&\qquad \forall l .( (b+1-j_2 \le l-j_2+1+b \le b) \wedge \pi ,i+l \models \phi _1)) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { with}\,l=j_1+j_2-b-1 \\&{\Leftrightarrow }\, \exists j_2 .( (a \le j_2 \le b) \wedge \pi ,i+j_2 \models \phi _2 \wedge \\&\qquad \forall l .( (0 \le l < j_2) \wedge \pi ,i+l \models \phi _1)) \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { by\, simple\, arithmetics} \\&{\Leftrightarrow }\, \sigma ,i \models {\phi _1 \mathcal {U}^{[a,b]} \phi _2} \\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad { by\, the\, semantics\, of}\,bounded until \\ \end{aligned} \end{aligned}$$

This concludes the proof. \(\square \)

Lemma A.1

(Strong equivalence for the rules) Let \(\psi \), \(\psi _1\), \(\psi _2\) and \(\psi _3\) be \(\textsf {LTL}_{\textsf {P}}\) formulas. For all state sequences \(\sigma \) and for all positions \(i \in \mathbb {N}\), it holds that:

  • \(R_1\): \({\sigma ,i\models {\mathsf {X} }(\psi _1 \wedge \psi _2) {\leftrightarrow }\sigma ,i \models {\mathsf {X} }\psi _1 \wedge {\mathsf {X} }\,\psi _2 }\)

  • \(R_2\): \({\sigma ,i \models \psi {{\mathcal {R}}}\,(\psi _1 \wedge \psi _2) {\leftrightarrow }\sigma , i \models \psi {{\mathcal {R}}}\,\psi _1 \wedge \psi {{\mathcal {R}}}\,\psi _2 }\)

  • \(R_3\): \({\sigma ,i \models ({\mathsf {X} }^i \psi _1) {{\mathcal {R}}}\,({\mathsf {X} }^j \psi _2)} {\leftrightarrow }\)

    $$\begin{aligned} \sigma ,i \models {\left\{ \begin{array}{ll} {{\mathsf {X} }^i(\psi _1 {{\mathcal {R}}}\,({\mathsf {Y} }^{i-j}\psi _2))} &{} \hbox { if } i>j \\ {{\mathsf {X} }^j(({\mathsf {Y} }^{j-i}\psi _1) {{\mathcal {R}}}\,\psi _2)} &{} \hbox { otherwise} \end{array}\right. } \end{aligned}$$
  • \(R_4\): \(\sigma ,i \models {({\mathsf {X} }^i \psi _1){{\mathcal {R}}}({\mathsf {X} }^j(\psi _2 {{\mathcal {R}}}\,\psi _3))} \Leftrightarrow \)

  • \(R_5\): \({\sigma ,i \models {\mathsf {G} }\,{\mathsf {X} }^i {\mathsf {G} }\psi {\leftrightarrow }\sigma , i \models {\mathsf {X} }^i {\mathsf {G} }\psi }\)

  • \(R_6\): \({\sigma ,i \models {\mathsf {G} }\,{\mathsf {X} }^i(\psi _1 {{\mathcal {R}}}\,\psi _2){\leftrightarrow }\sigma , i \models {\mathsf {X} }^i {\mathsf {G} }\,\psi _2}\)

  • \(R_7\): \({({\mathsf {X} }^i\psi _1) {{\mathcal {R}}}\,({\mathsf {X} }^j {\mathsf {G} }\,\psi _2 )} {\leftrightarrow }\)

    $$\begin{aligned} \sigma ,i \models {\left\{ \begin{array}{ll} {{\mathsf {X} }^i {\mathsf {G} }\,{\mathsf {Y} }^{i-j} \psi _2} &{} \hbox { if } i>j \\ {{\mathsf {X} }^j {\mathsf {G} }\,\psi _2} &{} \hbox { otherwise} \end{array}\right. } \end{aligned}$$
  • \(R_{flat}\):

Proof

Before starting the proof, we remark that the claim of this lemma not only asks for proving the equivalence between the left- and the right-hand side of the rules, but requires to prove the strong equivalence between the two, i.e.,that for all the state sequences \(\sigma \) and for all the positions i, \(\sigma \) is a model starting from position i of the left-hand formula iff \(\sigma \) is a model starting from position i of the right-hand formula. Equivalence is a special case of strong equivalence by considering only \(i=0\). In our case, the necessity of considering strong equivalence is due to the fact that the left-hand side of the rules (except for \(R_{flat}\), for which we require only the equivalence) can appear as subformulas of the original \(\phi \) on which we apply the canonize algorithm, and thus it can be interpreted potentially on any position i. Since we want to maintain the equivalence between \(\phi \) and \({\textsf {canonize}} (\phi )\), we have to make sure that each subformulas is strongly equivalent to the one by which it is replaced during the applications of the rules. The only exception is the \(R_{flat}\) rule, which is applied only to top-level conjuncts or disjuncts, and thus we can require for it to maintain only the equivalence.

Initially we prove the first two points (i.e., \(R_1\) and \(R_2\)). For the \(R_1\) rule, the following steps hold:

$$\begin{aligned}&\sigma ,i \models {\mathsf {X}(\psi _1 \wedge \psi _2)} \\ \Leftrightarrow&\sigma ,i+1 \models \psi _1 \wedge \psi _2 \\ \Leftrightarrow&\sigma ,i+1 \models \psi _1 \wedge \sigma ,i+1 \models \psi _2 \\ \Leftrightarrow&\sigma ,i \models {\mathsf {X}\,\psi _1} \wedge \sigma ,i \models {\mathsf {X}\,\psi _2} \\ \Leftrightarrow&\sigma ,i \models {\mathsf {X}\,\psi _1 \wedge \mathsf {X}\,\psi _2} \end{aligned}$$

Consider rule \(R_2\). We first prove that \(\sigma , s \models {\psi \mathcal {R}\,(\phi _1 \wedge \phi _2)}\) implies \(\sigma ,s \models {\psi \mathcal {R}\,\phi _1 \wedge \psi \mathcal {R}\, \phi _2}\), for all state sequences \(\sigma \) and for all positions s. Let \(\sigma \) be a state sequence and let \(s \in \mathbb {N}\) be a position such that \(\sigma ,s \models {\psi \mathcal {R}\,(\phi _1 \wedge \phi _2)}\). We divide in cases:

  1. 1.

    if \(\forall i\ge s. (\sigma ,i \models \phi _1 \wedge \phi _2)\), then \(\forall i\ge s. \sigma ,i \models \phi _1\) and \(\forall i\ge s. \sigma ,i \models \phi _2\). Thus, \(\sigma ,s \models {\psi \mathcal {R}\,\phi _1}\) and \(\sigma ,s \models {\psi \mathcal {R}\,\phi _2}\), that is \(\sigma ,s \models {\psi \mathcal {R}\,\phi _1 \wedge \psi \mathcal {R}\, \phi _2}\).

  2. 2.

    if \(\exists i \ge s. (\sigma ,i \models \psi \wedge \forall s \le j \le i. \sigma ,j \models (\phi _1 \wedge \phi _2))\) then

    $$\begin{aligned}&\Leftrightarrow \exists i \ge s. (\sigma ,i \models \psi \wedge \forall s \le j \le i. (\sigma ,j \models \phi _1) \wedge \\&\qquad \qquad \forall s \le k \le i. (\sigma ,k \models \phi _2)) \\&\Rightarrow \exists i \ge s. (\sigma ,i \models \psi \wedge \forall s \le j \le i. (\sigma ,j \models \phi _1)) \wedge \\&\qquad \exists i \ge s. (\sigma ,i \models \psi \wedge \forall 0 \le j \le i. (\sigma ,j \models \phi _2)) \\&\Leftrightarrow \sigma ,s \models {\psi \mathcal {R}\,\phi _1 \wedge \psi \mathcal {R}\, \phi _2} \end{aligned}$$

We now prove the opposite direction, that is \(\sigma ,s \models {\psi \mathcal {R}\,\phi _1 \wedge \psi \mathcal {R}\,\phi _2}\) implies \(\sigma ,s \models {\psi \mathcal {R}\,(\phi _1 \wedge \phi _2)}\), for all state sequences \(\sigma \) and for all positions s. Let \(\sigma \) be a state sequence and let \(s \in \mathbb {N}\) such that \(\sigma ,s \models {\psi \mathcal {R}\,\phi _1 \wedge \psi \mathcal {R}\, \phi _2}\). We divide again in cases:

  1. 1.

    if \(\forall i \ge s. (\sigma ,i \models \phi _1) \wedge \forall i\ge s. (\sigma ,j \models \phi _2)\), then \(\forall i \ge s. (\sigma ,i \models \phi _1 \wedge \phi _2)\) and thus \(\sigma ,s \models {\psi \mathcal {R}\,(\phi _1 \wedge \phi _2)}\).

  2. 2.

    if \(\forall i \ge s. (\sigma ,i \models \phi _1)\) and \(\exists i \ge s. (\sigma ,i \models \psi \wedge \forall s \le j \le i. \sigma ,j \models \phi _2)\), then \(\exists i \ge s (\sigma ,i \models \psi \wedge \forall s \le j \le i . \sigma ,j \models (\phi _1 \wedge \phi _2))\), that is \(\sigma ,s \models {\psi \mathcal {R}\,(\phi _1 \wedge \phi _2)}\).

  3. 3.

    if \(\exists i \ge s. (\sigma ,i \models \psi \wedge \forall s \le j \le i . \sigma ,j \models \phi _1)\) and \(\forall i \ge s. (\sigma ,i \models \phi _2)\), then \(\exists i\ge s. (\sigma ,i \models \psi \wedge \forall s \le j \le i. \sigma ,k \models \phi _1 \wedge \phi _2)\), that is \(\sigma ,s \models {\psi \mathcal {R}\,(\phi _1 \wedge \phi _2)}\).

  4. 4.

    consider the case such that \(\exists l \ge s .(\sigma ,l \models \psi \wedge \forall s \le j \le l . \sigma ,j \models \phi _1)\) and \(\exists k \ge s. (\sigma ,k \models \psi \wedge \forall s \le j \le k . \sigma ,j \models \phi _2)\). Let \(i = \min (l,k)\): then \(\sigma ,i \models \phi \) and \(\forall s \le j \le i.(\sigma ,j \models \phi _1 \wedge \phi _2)\), that is \(\sigma ,s \models {\psi \mathcal {R}\,(\phi _1 \wedge \phi _2)}\).

This concludes the proof for the \(R_2\) rule.

Before proving the cases of the remaining rules, we define and prove the following auxiliary strong equivalences. For all state sequences \(\sigma \) and for all positions i, it holds that:

  • \(\bar{R_1}\): \({\sigma ,i \models \psi _1 \mathcal {R}\,(\mathsf {X}^i \psi _2) \ {\leftrightarrow }\ \sigma ,i \models \mathsf {X}^i((\mathsf {Y}^i\psi _1) \mathcal {R}\,\psi _2)}\)

  • \(\bar{R_2}\): \({\sigma ,i \models (\mathsf {X}^i\psi _1)\mathcal {R}\psi _2 \ {\leftrightarrow }\ \sigma ,i \models \mathsf {X}^i(\psi _1 \mathcal {R}\,(\mathsf {Y}^i\psi _2))}\)

  • \(\bar{R_3}\):

  • \(\bar{R_4}\): \({\sigma ,i \models \mathsf {Y}^i(\psi _1 \mathcal {R}\,\psi _2) \ {\leftrightarrow }\ \sigma ,i \models (\mathsf {Y}^i\psi _1) \mathcal {R}\,(\mathsf {Y}^i \psi _2)}\)

  • \(\bar{R_5}\): \({\sigma ,i \models \mathsf {G}\,\mathsf {G}\,\psi \ {\leftrightarrow }\ \sigma ,i \models \mathsf {G}\,\psi }\)

  • \(\bar{R_6}\): \({\sigma ,i \models \mathsf {G}(\psi _1 \mathcal {R}\,\psi _2) \ {\leftrightarrow }\ \sigma ,i \models G \psi _2}\)

  • \(\bar{R_7}\): \({\sigma ,i \models \psi _1 \mathcal {R}\,(\mathsf {G}\psi _2) \ {\leftrightarrow }\ \sigma ,i \models \mathsf {G}\,\psi _2}\)

These will help proving the cases for \(R_3\)-\(R_7\).

Consider the case for rule \(\bar{R_1}\). We first prove that \({\sigma ,s \models \psi _1 \mathcal {R}\,(\mathsf {X}^i\psi _2)}\) implies \(\sigma ,s \models \mathsf {X}^i((\mathsf {Y}^i\psi _1) \mathcal {R}\,\psi _2)\), for all state sequences \(\sigma \) and all positions s. Let \(\sigma \) be a state sequence and let \(s \in \mathbb {N}\) such that \(\sigma , s \models {\psi _1 \mathcal {R}\,(\mathsf {X}^i\psi _2)}\). We divide in cases:

  1. 1.

    if \(\forall j \ge s. \sigma ,j \models {\mathsf {X}^i\psi _2}\), then

    $$\begin{aligned}&\Leftrightarrow \forall j \ge s+i . \sigma ,j \models \psi _2 \\&\Rightarrow \sigma ,s+i \models {(\mathsf {Y}^i\psi _1) \mathcal {R}\,\psi _2} \\&\Leftrightarrow \sigma ,s \models {\mathsf {X}^i((\mathsf {Y}^i \psi _1)\mathcal {R}\,\psi _2)} \end{aligned}$$
  2. 2.

    if \(\exists j \ge s. (\sigma ,j \models \psi _1 \wedge \forall s \le k \le j . \sigma ,k \models {\mathsf {X}^i\psi _2})\), then \(\exists j \ge s. (\sigma ,j+i \models {\mathsf {Y}^i\psi _1} \wedge \forall s+i \le k \le j+i. \sigma ,k \models \psi _2)\), which in turn means that \(\sigma ,s+i \models {(\mathsf {Y}^i\psi _1) \mathcal {R}\,\psi _2}\), that is \(\sigma ,s \models {\mathsf {X}^i((\mathsf {Y}^i\psi _1) \mathcal {R}\,\psi _2)}\).

We now prove the opposite direction, that is \(\sigma ,s \models {\mathsf {X}^i((\mathsf {Y}^i\psi _1) \mathcal {R}\,\psi _2)}\) implies \(\sigma ,s \models {\psi _1 \mathcal {R}\,(\mathsf {X}^i\psi _2)}\), for all state sequences \(\sigma \) and all positions s. Let \(\sigma \) be a state sequence and let \(s \in \mathbb {N}\) such that \(\sigma , s \models {\mathsf {X}^i((\mathsf {Y}^i \psi _1) \mathcal {R}\,\psi _2)}\). We divide again in cases:

  1. 1.

    if \(\forall j \ge s+i. (\sigma ,j \models {\psi _2})\), then \(\forall j \ge s. (\sigma ,j \models {\mathsf {X}^i\psi _2})\) and thus \(\sigma \models {\psi _1 \mathcal {R}\,(\mathsf {X}^i\psi _2)}\).

  2. 2.

    if \(\exists j \ge s+i. (\sigma ,j \models {\mathsf {Y}^i\psi _1} \wedge \forall s+i \le k \le j. \sigma ,k \models \psi _2)\), then:

    $$\begin{aligned}&\Leftrightarrow \exists j \ge s+i . (\sigma ,j-i \models {\mathsf {X}^i\mathsf {Y}^i\psi _1} \wedge \forall s \le k \le j-i. \sigma ,k \models {\mathsf {X}^i\psi _2}) \\&\Leftrightarrow \exists j \ge s+i . (\sigma ,j-i \models {\psi _1} \wedge \forall s \le k \le j-i. \sigma ,k \models {\mathsf {X}^i\psi _2}) \\&\Leftrightarrow \sigma ,s+i \models {\mathsf {Y}^i(\psi _1 \mathcal {R}\,(\mathsf {X}^i\psi _2))} \\&\Leftrightarrow \sigma ,s \models {\psi _1 \mathcal {R}\,(\mathsf {X}^i\psi _2)} \end{aligned}$$

This concludes the proof for the rule \(\bar{R_1}\). The proof for the \(\bar{R_2}\) rule is specular.

Consider the \(\bar{R_3}\) case. We first prove that \(\sigma ,s \models {\mathsf {Y}^i\mathsf {X}^i\psi }\) implies , for all state sequences \(\sigma \) and all positions s. Let \(\sigma \) be a state sequence such that \(\sigma ,s \models {\mathsf {Y}^i\mathsf {X}^i\psi }\) for a given \(s \in \mathbb {N}\). We divide in cases:

  1. (i)

    if \(s<i\), then \(\sigma ,s \not \models {\mathsf {Y}^i\mathsf {X}^i\psi }\), but this is a contradiction with our hypothesis;

  2. (ii)

    then it has to be the case that \(s \ge i\). It holds that:

We prove the opposite direction, that is implies \(\sigma ,s \models {\mathsf {Y}^i\mathsf {X}^i\psi }\), for all state sequences \(\sigma \) and all positions s. Let \(\sigma \) be a state sequence such that for a given \(s \in \mathbb {N}\). We divide in cases:

  1. (i)

    if \(s<i\), then , but this is a contradiction with our hypothesis;

  2. (ii)

    then it has to be the case that \(s \ge i\). It holds that:

This concludes the proof for \(\bar{R_3}\).

Consider now the \(\bar{R_4}\) case. We first prove the left-to-right direction, that is \(\sigma ,s \models {\mathsf {Y}^i(\psi _1 \mathcal {R}\, \psi _2)}\) implies \(\sigma ,s \models {(\mathsf {Y}^i\psi _1) \mathcal {R}\,(\mathsf {Y}^i\psi _2)}\), for all state sequences \(\sigma \) and all positions s. Let \(\sigma \) be a state sequence such that \(\sigma ,s \models {\mathsf {Y}^i(\psi _1 \mathcal {R}\,\psi _2)}\) with \(s \ge i\) (obviously, it can’t be that \(s < i\)). It holds that \(\sigma , s-i \models \psi _1 R \psi _2\). Now, we divide in cases:

  1. 1.

    if \(\forall k \ge s-i. \sigma ,k \models \psi _2\), then \(\forall k \ge s. \sigma ,k \models {\mathsf {Y}^i \psi _2}\) and thus \(\sigma ,s \models {(\mathsf {Y}^i\psi _1) \mathcal {R}\,(\mathsf {Y}^i\psi _2)}\).

  2. 2.

    if \(\exists k \ge s-i. (\sigma ,k \models \psi _2 \wedge \forall s-i \le l \le k. \sigma ,l \models \psi _1)\), then \(\exists k \ge s. (\sigma ,k \models {\mathsf {Y}^i\psi _2} \wedge \forall s \le l \le k. \sigma ,l \models {\mathsf {Y}^i\psi _1})\), and thus \(\sigma ,s \models {(\mathsf {Y}^i\psi _1) \mathcal {R}\,(\mathsf {Y}^i\psi _2)}\).

Now we prove the opposite direction. Suppose that \(\sigma ,s \models {(\mathsf {Y}^i \psi _1) \mathcal {R}\,(\mathsf {Y}^i \psi _2)}\) where \(s \ge i\). We divide in cases:

  1. 1.

    if \(\forall k \ge s. \sigma ,k \models {\mathsf {Y}^i\psi _2}\), then:

    $$\begin{aligned} \forall k \ge s-i. \sigma ,k \models \psi _2 \Leftrightarrow&\sigma ,s-i \models {\psi _1 \mathcal {R}\,\psi _2} \\ \Leftrightarrow&\sigma ,s \models {\mathsf {Y}^i(\psi _1 \mathcal {R}\,\psi _2)} \end{aligned}$$
  2. 2.

    if \(\exists k \ge s. (\sigma ,k \models {\mathsf {Y}^i\psi _1} \wedge \forall k \le l \le k. \sigma ,l \models {\mathsf {Y}^i\psi _2})\), then:

    $$\begin{aligned} \exists k \ge s-i. (\sigma ,k \models \psi _1 \wedge \forall s-i \le l \le k. \sigma ,l \models \psi _2) \Leftrightarrow&\sigma ,s-i \models {\psi _1 \mathcal {R}\,\psi _2} \\ \Leftrightarrow&\sigma ,s \models {\mathsf {Y}^i(\psi _1 \mathcal {R}\,\psi _2)} \end{aligned}$$

This concludes the proof for the \(\bar{R_4}\) case.

The case for \(\bar{R_5}\) is simple, and it consists in the following steps. For all state sequences \(\sigma \) and for all positions s, it holds that:

$$\begin{aligned} \sigma ,s \models {\mathsf {G}\, \mathsf {G}\,\psi } \Leftrightarrow&\forall i \ge s. \sigma ,i \models {\mathsf {G}\,\psi } \\ \Leftrightarrow&\forall i \ge s. \forall j \ge i. \sigma ,j \models \psi \\ \Leftrightarrow&\forall i \ge s. \sigma ,i \models \psi \\ \Leftrightarrow&\sigma ,s \models {\mathsf {G}\, \psi } \end{aligned}$$

Consider the \(\bar{R_6}\) strong equivalence. We first prove the left-to-right direction. Suppose that \(\sigma ,s \models {\mathsf {G}\,(\psi _1 \mathcal {R}\,\psi _2)}\), for a given state sequence \(\sigma \) and a given position s. It holds that \(\forall i \ge s. \sigma ,i \models {\psi _1 \mathcal {R}\,\psi _2}\). We divide in cases, depending on the semantics of the release operator:

  1. 1.

    if \(\forall i \ge s. \forall j \ge i. \sigma ,j \models \psi _2\). In this case we have that \(\forall i \ge s. \sigma ,i \models \psi _2\), that is \(\sigma ,s \models {\mathsf {G}\,\psi _2}\).

  2. 2.

    otherwise, \(\forall i \ge s. \exists j \ge i. ( \sigma ,j \models \psi _1 \wedge \forall i \le k \le j. \sigma ,k \models \psi _2)\). In particular, for \(k=i\), we have that \(\forall i \ge s. \sigma ,i \models \psi _2\), that is \(\sigma ,s \models {\mathsf {G}\,\psi _2}\).

We prove the right-to-left direction for the \(\bar{R_6}\) case. Suppose that \(\sigma ,s \models {\mathsf {G}\,\psi _2}\), for a given state sequence \(\sigma \) and position s. It holds that:

$$\begin{aligned} \sigma ,s \models {\mathsf {G}\,\psi _2} \Leftrightarrow&\forall i \ge s. \sigma ,i \models \psi _2 \\ \Leftrightarrow&\forall i \ge s. \forall j \ge i. \sigma ,j \models \psi _2 \\ \Rightarrow&\forall i \ge s. \sigma ,i \models {\psi _1 \mathcal {R}\,\psi _2} \\ \Leftrightarrow&\sigma ,s \models {\mathsf {G}\,(\psi _1 \mathcal {R}\,\psi _2)} \end{aligned}$$

Finally, consider the case for the \(\bar{R_7}\) strong equivalence. We first prove the left-to-right direction. Suppose that \(\sigma ,s \models {\psi _1 \mathcal {R}\,(\mathsf {G}\,\psi _2)}\) for a given state sequence \(\sigma \) and position s. We divide in cases, depending on the semantics of the release operator:

  1. 1.

    if \(\forall i \ge s. \sigma ,i \models {\mathsf {G}\,\psi _2}\), then for \(i=s\) we have that \(\sigma ,s \models {\mathsf {G}\,\psi _2}\).

  2. 2.

    otherwise, \(\exists i \ge s.(\sigma ,i \models \psi _1 \wedge \forall s \le j \le i . \sigma ,j \models {\mathsf {G}\,\psi _2})\). In particular, for \(j=s\), \(\sigma ,s \models {\mathsf {G}\,\psi _2}\).

Therefore, in both cases we have that \(\sigma ,s \models {\mathsf {G}\,\psi _2}\). For the right-to-left direction, suppose that \(\sigma ,s \models {\mathsf {G}\,\psi _2}\). Then, \(\forall i \ge s. \sigma ,i \models {\mathsf {G}\,\psi _2}\). This implies that \(\sigma ,s \models {\psi _1 \mathcal {R}\,(\mathsf {G}\,\psi _2)}\). This concludes the proof of all the auxiliary strong equivalences.

We can now prove the remaining rules \(R_3\)-\(R_7\). Consider first \(R_3\) in the case \(i>j\): we have to prove that \(\sigma ,s \models {(\mathsf {X}^i \psi _1) \mathcal {R}\,(\mathsf {X}^j \psi _2) \ {\leftrightarrow }\ \sigma ,s \models \mathsf {X}^i(\psi _1 \mathcal {R}\,(\mathsf {Y}^{i-j}\psi _2))}\), for all states sequences \(\sigma \) and all positions s. This can be simply done by means of the auxiliary rules \(\bar{R_2}\) and \(\bar{R_3}\):

Consider now the rule \(R_3\) in the case \(i \le j\). We have to prove that \(\sigma ,s \models {(\mathsf {X}^i \psi _1) \mathcal {R}\,(\mathsf {X}^j \psi _2) \ {\leftrightarrow }\ \sigma ,s \models \mathsf {X}^j((\mathsf {Y}^{j-i}\psi _1) \mathcal {R}\,\psi _2)}\). This can be done using the auxiliary equivalences \(\bar{R_1}\) and \(\bar{R_3}\):

Consider the \(R_4\) rule in the case \(i>j\). It holds that:

Finally, consider the \(R_4\) rule in the case \(i \le j\). It holds that:

Consider the \(R_5\) rule. It can be proven by means of the rules \(R_4\) and \(\bar{R_5}\) as follows. For all state sequences \(\sigma \) and all positions s, it holds that:

Consider the \(R_6\) rule. It can be prove by means of the rules \(R_4\) and \(\bar{R_6}\) as follows. For all state sequences \(\sigma \) and positions s it holds that:

Consider the \(R_7\) rule. It can be proven by means of the rules \(R_4\) and \(\bar{R_7}\) as follows. Let \(\sigma \) be a state sequence and let s be a position. We divide in cases. If \(i>j\), then:

Otherwise, it holds that \(i \le j\) and:

This concludes the case for the rules \(R_1\)-\(R_7\).

It remains the case for the \(R_{flat}\) rule, for which we have to prove only equivalence. We first prove the left-to-right direction, for all \(n \ge 3\). Suppose that:

$$\begin{aligned}&\sigma ,0 \models {\mathsf {X}^i( \psi _1 \mathcal {R}\,(\psi _2 \mathcal {R}\,( \dots (\psi _{n-1} \mathcal {R}\,\psi _n) \dots )) )} \\ \Leftrightarrow&\sigma ,i \models { \psi _1 \mathcal {R}\,(\psi _2 \mathcal {R}\,( \dots (\psi _{n-1} \mathcal {R}\,\psi _n) \dots ))} \end{aligned}$$

This formula contains exactly n release operators. Each of these can be satisfied in two ways: (i) universally, that is if for all the future positions the right-hand side formula holds, or (ii) existentially, if there exists a position in the future where the left-hand side formula holds and the right-hand side formula holds until then. Therefore, we have a total of \(2^{n-1}\) cases.

We consider first the cases in which there exists a release operator that is universally satisfied. These correspond to \(2^{n-1}-1\) cases. Let m be the index of the outermost between these operators. Let \(k_1 = i\). We have that:

$$\begin{aligned}&\exists j_1 \ge k_1. ( \sigma ,j_1 \models \psi _1 \wedge \forall k_1 \le k_2 \le j_1. \\&\exists j_2 \ge k_2. ( \sigma ,j_2 \models \psi _2 \wedge \dots \wedge \forall k_{m-1} \le k_{m-1} \le j_{m-2} . \\&\forall k_m \ge k_{m-1}. (\sigma ,k_m \models {\psi _m \mathcal {R}\,(\dots (\psi _{n-1} \mathcal {R}\,\psi _n)\dots )}) )\dots ) \end{aligned}$$

Which is equivalent to:

$$\begin{aligned}&\exists j_1 \ge k_1. ( \sigma ,j_1 \models \psi _1 \wedge \forall k_1 \le k_2 \le j_1. \\&\exists j_2 \ge k_2. ( \sigma ,j_2 \models \psi _2 \wedge \dots \wedge \forall k_{m-1} \le k_{m-1} \le j_{m-2} . \\&(\sigma ,k_{m-1} \models {\mathsf {G}\, (\psi _m \mathcal {R}(\dots (\psi _{n-1} \mathcal {R}\, \psi _n) \dots ))} )\dots )) \end{aligned}$$

By the repeated application of the \(\bar{R_6}\) auxiliary rule \(n-m\) times, we have that:

$$\begin{aligned}&\exists j_1 \ge k_1. ( \sigma ,j_1 \models \psi _1 \wedge \forall k_1 \le k_2 \le j_1. \\&\exists j_2 \ge k_2. ( \sigma ,j_2 \models \psi _2 \wedge \dots \wedge \forall k_{m-1} \le k_{m-1} \le j_{m-2} . (\sigma ,k_{m-1} \models {\mathsf {G}\, \psi _n} )\dots )) \end{aligned}$$

that is:

$$\begin{aligned}&\exists j_1 \ge k_1. ( \sigma ,j_1 \models \psi _1 \wedge \forall k_1 \le k_2 \le j_1. \\&\exists j_2 \ge k_2. ( \sigma ,j_2 \models \psi _2 \wedge \dots \wedge \forall k_{m-1} \le k_{m-1} \le j_{m-2} . \\&\forall k \ge k_{m-1}.(\sigma ,k \models \psi _n )\dots )) \end{aligned}$$

In particular, for \(k_1 = k_2 = \dots = k_{m-2} = k_{m-1}\), we have that:

$$\begin{aligned} \forall k \ge k_1. \sigma ,k \models \psi _n \end{aligned}$$

Since by definition \(k_1 = i\), we have that \(\forall k \ge i. \sigma ,k \models \psi _n\), and thus . The remaining case is when all the release operators are existentially satisfied. Suppose that:

$$\begin{aligned}&\exists j_1 \ge k_1. ( \sigma ,j_1 \models \psi _1 \wedge \forall k_1 \le k_2 \le j_1. \\&\exists j_2 \ge k_2. ( \sigma ,j_2 \models \psi _2 \wedge \dots \wedge \forall k_{n-1} \le k_{n-1} \le j_{n-2} . \\&\exists j_{n-1} \ge k_{n-1}. ( \sigma , j_{n-1} \models \psi _{n-1} \wedge \forall k_{n-1} \le k_n \le j_{n-1}. \sigma ,k_n \models \psi _n ) )\dots ) \end{aligned}$$

where \(k_1 = i\). This implies that:

$$\begin{aligned}&\exists j_1 \ge i. ( \sigma ,j_1 \models \psi _1 \wedge \\&\exists j_2 \ge j_1. ( \sigma ,j_2 \models \psi _2 \wedge \dots \wedge \\&\exists j_{n-1} \ge j_{n-2}. ( \sigma , j_{n-1} \models \psi _{n-1} \wedge \forall i \le k \le j_{n-1}. \sigma ,k \models \psi _n ) \dots )) \end{aligned}$$

This is equivalent to:

$$\begin{aligned}&\exists j_{n-1} \ge i. ( \sigma ,j_{n-1} \models \psi _{n-1} \wedge \\&\exists i \le j_{n-2} \le j_{n-1}. ( \sigma ,j_{n-2} \models \psi _{n-2} \wedge \dots \wedge \\&\exists i \le j_1 \le j_2. ( \sigma , j_1 \models \psi _1 ) \dots ) \wedge \forall i \le k \le j_{n-1}. \sigma ,k \models \psi _n) \end{aligned}$$

This in turn is equivalent to:

This is the definition of the existential semantics of the formula , starting from position i. Therefore, .

We now prove the right-to-left direction for \(R_{flat}\). Suppose that . Therefore, . We divide in cases:

  1. 1.

    if \(\forall j \ge i. \ \sigma ,j \models \psi _n\), then \(\sigma ,0 \models {\mathsf {X}^i( \psi _1 \mathcal {R}(\psi _2 \mathcal {R}(\dots (\psi _{n-1} \mathcal {R}\,\psi _n) \dots )) )}\)

  2. 2.

    otherwise, .

With the former case, we are done. Instead, the latter is equivalent to:

In turn, this is equivalent to:

$$\begin{aligned}&\exists j_{n-1} \ge i. ( \sigma ,j_{n-1} \models \psi _{n-1} \wedge \\&\exists i \le j_{n-2} \le j_{n-1}.( \sigma ,j_{n-2} \models \psi _{n-2} \wedge \dots \\&\exists i \le j_1 \le j_2.(\sigma ,j_1 \models \psi _1 ) \dots ) \wedge \forall i \le k \le j_{n-1}. \sigma ,k \models \psi _n ) \end{aligned}$$

This is equivalent to:

$$\begin{aligned}&\exists j_{1} \ge i. ( \sigma ,j_{1} \models \psi _{1} \wedge \\&\exists j_2 \ge j_1. ( \sigma ,j_{2} \models \psi _{2} \wedge \dots \\&\exists j_{n-1} \ge j_{n-2}. (\sigma ,j_{n-1} \models \psi _{n-1} ) \dots ) \wedge \forall i \le k \le j_{1}. \sigma ,k \models \psi _n ) \end{aligned}$$

which implies that:

$$\begin{aligned}&\exists j_{1} \ge i. ( \sigma ,j_{1} \models \psi _{1} \wedge \forall i \le k_1 \le j_1. \\&\exists j_2 \ge j_1. ( \sigma ,j_{2} \models \psi _{2} \wedge \dots \wedge \forall k_{n-2} \le k_{n-1} \le j_{n-1} . \\&\exists j_{n-1} \ge j_{n-2}. (\sigma ,j_{n-1} \models \psi _{n-1} \wedge \forall k_{n-1} \le k \le j_{n-1}. \sigma ,k \models \psi _n ) \dots )) \end{aligned}$$

This is the definition of the existential semantics of the formula \({\psi _1 \mathcal {R}\,(\psi _2 \mathcal {R}\,(\dots (\psi _{n-1} \mathcal {R}\,\psi _n) \dots ))}\), starting from position i. Therefore, \(\sigma ,0 \models {\mathsf {X}^i( \psi _1 \mathcal {R}\,(\psi _2 \mathcal {R}\,(\dots (\psi _{n-1} \mathcal {R}\,\psi _n) \dots )) )}\). This concludes the proof of Lemma A.1. \(\square \)

Lemma A.2

Let \(\psi _1\), \(\psi _2\) and \(\psi _3\) be \(\textsf {LTL}_{\textsf {P}}\) formulas. Let \(\phi \) be a formula of type \({{\mathsf {X} }^j\psi _2}\), \({{\mathsf {X} }^j{\mathsf {G} }\psi _2}\) or \({{\mathsf {X} }^j(\psi _2 \mathcal {R}\psi _3)}\). For each state sequence \(\sigma \) and position i, it holds that:

  1. 1.

    \(\sigma ,i \models {{\mathsf {G} }\,\phi } \ {\leftrightarrow }\ \sigma ,i \models \texttt {resolve\_globally}(\phi )\)

  2. 2.

    \(\sigma ,i \models {({\mathsf {X} }^i\psi _1)\mathcal {R}\phi } \ {\leftrightarrow }\ \sigma ,i \models \texttt {resolve\_release}({{\mathsf {X} }^i\psi _1, \phi })\)

Proof

We prove the second point, for the release operator. The subroutine resolve_release divides in cases, depending on the structure of \(\phi \):

  • if \(\phi = {\mathsf {X}^j\psi _2}\) and \(i>j\), then:

    $$\begin{aligned} \texttt {resolve\_release}({\mathsf {X}^i\psi _1,\mathsf {X}^j\psi _2}) :={\mathsf {X}^i(\psi _1 \mathcal {R}\,(\mathsf {Y}^{i-j}\psi _2 ))} \end{aligned}$$

    By rule \(R_3\) of Lemma A.1, we have that \(\sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\phi } {\leftrightarrow }\sigma ,i \models {} \texttt {resolve\_release}({\mathsf {X}^i\psi _1, \phi })\).

  • if \(\phi = {\mathsf {X}^j\psi _2}\) and \(i\le j\), then

    $$\begin{aligned} \texttt {resolve\_release}({\mathsf {X}^i\psi _1,\mathsf {X}^j\psi _2}) :={\mathsf {X}^j((\mathsf {Y}^{j-i}\psi _1)\mathcal {R}\psi _2)} \end{aligned}$$

    By rule \(R_3\) of Lemma A.1, we have that \(\sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\phi } {\leftrightarrow }\sigma ,i \models \texttt {resolve\_release}({\mathsf {X}^i\psi _1, \phi })\).

  • if \(\phi = {\mathsf {X}^j(\psi _2 \mathcal {R}\,\psi _3)}\) and \(i>j\), then

    $$\begin{aligned} \texttt {resolve\_release}({\mathsf {X}^i\psi _1,\mathsf {X}^j(\psi _2 \mathcal {R}\,\psi _3)}) :={\mathsf {X}^i( \psi _1 \mathcal {R}\,((\mathsf {Y}^{i-j}\psi _2) \mathcal {R}\,(\mathsf {Y}^{i-j} \psi _3) ) )} \end{aligned}$$

    By rule \(R_4\) of Lemma A.1, we have that \(\sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\phi } {\leftrightarrow }\sigma ,i \models \texttt {resolve\_release}({\mathsf {X}^i\psi _1, \phi })\).

  • if \(\phi = {\mathsf {X}^j(\psi _2 \mathcal {R}\, \psi _3)}\) and \(i\le j\), then

    $$\begin{aligned} \texttt {resolve\_release}({\mathsf {X}^i\psi _1,\mathsf {X}^j(\psi _2 \mathcal {R}\, \psi _3)}) :={\mathsf {X}^j( (\mathsf {Y}^{j-i}\psi _1 ) \mathcal {R}\,(\psi _2 \mathcal {R}\,\psi _3) )} \end{aligned}$$

    By rule \(R_4\) of Lemma A.1, we have that \(\sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\phi } {\leftrightarrow }\sigma ,i \models \texttt {resolve\_release}({\mathsf {X}^i\psi _1, \phi })\).

  • if \(\phi = {\mathsf {X}^j \mathsf {G}\, \psi _2 }\) and \(i>j\), then

    $$\begin{aligned} \texttt {resolve\_release}({\mathsf {X}^i\psi _1,\mathsf {X}^j \mathsf {G}\, \psi _2 }) :={\mathsf {X}^i \mathsf {G}\,\mathsf {Y}^{i-j} \psi _2} \end{aligned}$$

    By rule \(R_7\) of Lemma A.1, we have that \(\sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\phi } {\leftrightarrow }\sigma ,i \models \texttt {resolve\_release}({\mathsf {X}^i\psi _1, \phi })\).

  • if \(\phi = {\mathsf {X}^j \mathsf {G}\,\psi _2 }\) and \(i\le j\), then

    $$\begin{aligned} \texttt {resolve\_release}({\mathsf {X}^i\psi _1,\mathsf {X}^j \mathsf {G}\,\psi _2 }) :={\mathsf {X}^j \mathsf {G}\,\psi _2} \end{aligned}$$

    By rule \(R_7\) of Lemma A.1, we have that \(\sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\,\phi } {\leftrightarrow }\sigma ,i \models \texttt {resolve\_release}({\mathsf {X}^i\psi _1, \phi })\).

The case for \(\texttt {resolve\_globally}(\phi )\) is analogous. \(\square \)

Lemma A.3

(Soundness of \({\textsf {applyR1R7}} (\cdot )\)) For any \({\mathsf {Pastified}}{\textsf {LTL}}_{{\textsf {EBR}}}\) formula \(\phi \), for any state sequence \(\sigma \) and for any position i, it holds that \(\sigma ,i \models \phi \) iff \(\sigma ,i \models {\textsf {applyR1R7}} (\phi )\).

Proof

Consider the pseudo-code of \({\textsf {applyR1R7}} (\cdot )\) as described in Fig. 2. We prove this claim by induction on the complexity of formula \(\phi \).

The base case corresponds to the case when \(\phi \) is a \(\textsf {LTL}_{\textsf {P}}\) formula. In this case, the \({\textsf {applyR1R7}} (\cdot )\) algorithm returns \(\phi \) it self. Obviously, \(\phi \) is strongly equivalent to \({\textsf {applyR1R7}} (\phi )\)

For the inductive step, we divide in cases. If \({\phi := \mathsf {X}\phi _1}\), then \(\sigma ,i+1 \models \phi _1\). By inductive hypothesis \(\sigma ^\prime ,i^\prime \models \phi _1\) iff \(\sigma ^\prime ,i^\prime \models {\textsf {applyR1R7}} (\phi _1)\), for all state sequences \(\sigma ^\prime \) and positions \(i^\prime \). Therefore:

$$\begin{aligned} \sigma ,i \models {\mathsf {X}\phi _1} \Leftrightarrow&\sigma ,i+1 \models \phi _1 \\ \Leftrightarrow&\sigma ,i+1 \models {\textsf {applyR1R7}} (\phi _1) \qquad \hbox {by inductive hypothesis} \\ \Leftrightarrow&\sigma ,i \models {\mathsf {X}\,({\textsf {applyR1R7}} (\phi _1))} \end{aligned}$$

In general, \({\textsf {applyR1R7}} (\phi _1)\) is a conjunction of formulas of type \({\mathsf {X}^j\psi }\), \({\mathsf {X}^j\mathsf {G}\,\psi }\), \({\mathsf {X}^j((\mathsf {X}^k\psi _1) \mathcal {R}\, \psi _2)}\), that is:

$$\begin{aligned} {\textsf {applyR1R7}} (\phi _1) :=\phi ^c_2 \wedge \dots \wedge \phi ^c_n \end{aligned}$$

and thus:

$$\begin{aligned} \sigma ,i \models {\mathsf {X}\phi _1} \ \Leftrightarrow&\sigma ,i \models {\mathsf {X}\,(\phi ^c_2 \wedge \dots \wedge \phi ^c_n)} \end{aligned}$$

Using rule \(R_1\) of Lemma A.1, we have that:

$$\begin{aligned} \sigma ,i \models {\mathsf {X}\phi _1}&\Leftrightarrow \sigma ,i \models {\mathsf {X}\,(\phi ^c_2 \wedge \dots \wedge \phi ^c_n)} \\&\Leftrightarrow \sigma ,i \models {\mathsf {X}\phi ^c_2 \wedge \dots \wedge \mathsf {X}\phi ^c_n} \qquad \hbox {by rule } R_1 \hbox { of Lemma}~A.1 \\ \sigma ,i \models \phi&\Leftrightarrow \sigma ,i \models {\textsf {applyR1R7}} (\phi ) \end{aligned}$$

This concludes the case for \(\phi :={\mathsf {X}\phi _1}\). Consider the case \({\phi := (\mathsf {X}^i\psi _1)\mathcal {R}\phi _1}\). Since by inductive hypothesis \(\sigma ^\prime , i^\prime \models \phi _1\) iff \(\sigma ^\prime , i^\prime \models {\textsf {applyR1R7}} (\phi _1)\), for all state sequences \(\sigma ^\prime \) and positions \(i^\prime \), we have that:

$$\begin{aligned} \sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\phi _1} \Leftrightarrow&\sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}({\textsf {applyR1R7}} (\phi _1))} \\&\sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}(\phi ^c_2 \wedge \dots \wedge \phi ^c_n)} \end{aligned}$$

where \(\phi ^c_i\) is a formula of type \({\mathsf {X}^j\psi }\), \({\mathsf {X}^j\mathsf {G}\,\psi }\), \({\mathsf {X}^j((\mathsf {X}^k\psi _1) \mathcal {R}\psi _2)}\), for each \(1 < i \le n\). By rule \(R_2\) of Lemma A.1, we have that:

$$\begin{aligned} \sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\phi _1}&\Leftrightarrow \sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}(\phi ^c_2 \wedge \dots \wedge \phi ^c_n)} \\&\Leftrightarrow \sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}(\phi ^c_2)} \wedge \dots \wedge {(\mathsf {X}^i\psi _1)\mathcal {R}(\phi ^c_n)} \end{aligned}$$

Let \(\phi ^r_i \equiv \texttt {resolve\_release}({\mathsf {X}^i\psi _1},\phi ^c_i)\), for all \(1 < i \le n\). By Lemma A.2:

$$\begin{aligned} \sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}\phi _1}&\Leftrightarrow \sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}(\phi ^c_2)} \wedge \dots \wedge {(\mathsf {X}^i\psi _1)\mathcal {R}(\phi ^c_n)} \\&\Leftrightarrow \sigma ,i \models {(\mathsf {X}^i\psi _1)\mathcal {R}(\phi ^r_2)} \wedge \dots \wedge {(\mathsf {X}^i\psi _1)\mathcal {R}(\phi ^r_n)} \qquad \hbox {by Lemma}~A.2 \\&\Leftrightarrow \sigma ,i \models {\textsf {applyR1R7}} (\phi ) \qquad \hbox {by definition of}\,{\textsf {applyR1R7}} \end{aligned}$$

This concludes the case for \(\phi :={\phi := (\mathsf {X}^i\psi _1)\mathcal {R}\phi _1}\). The case for the globally operator is analogous to the proof for the release one. \(\square \)

Lemma A.4

(Soundness of \({\textsf {flatten}} (\cdot )\)) For any \({\mathsf {Pastified}}{\textsf {LTL}}_{{\textsf {EBR}}}\) formula \(\phi \), it holds that \(\phi \equiv {\textsf {flatten}} (\phi )\).

Proof

We prove this lemma by induction on the number n of top-level conjucts or disjuncts. The base case corresponds to the case of \(n=0\). We divide in cases:

  • if \(\phi :={\mathsf {X}^i(\psi _1 \mathcal {R}\, (\psi _2 \mathcal {R}\, (\dots (\psi _{n-1} \mathcal {R}\, \psi _n)\dots )))}\), then . By the \(R_{flat}\) rule of Lemma A.1, \(\phi \equiv {\textsf {flatten}} (\phi )\).

  • otherwise, the \({\textsf {flatten}} \) algorithm falls in the default case. In this case, \({\textsf {flatten}} (\phi ) :=\phi \), and obviously \(\phi \equiv {\textsf {flatten}} (\phi )\).

For the inductive step, we divide in cases as well.

  • if \(\phi :=\phi _1 \wedge \phi _2\), then by inductive hypothesis \(\phi _1 \equiv {\textsf {flatten}} (\phi _1)\) and \(\phi _2 \equiv {\textsf {flatten}} (\phi _2)\). Thus \(\phi \equiv {\textsf {flatten}} (\phi _1) \wedge {\textsf {flatten}} (\phi _2)\), that is \(\phi \equiv {\textsf {flatten}} (\phi )\).

  • if \(\phi :=\phi _1 \wedge \phi _2\), then by inductive hypothesis \(\phi _1 \equiv {\textsf {flatten}} (\phi _1)\) and \(\phi _2 \equiv {\textsf {flatten}} (\phi _2)\). Thus \(\phi \equiv {\textsf {flatten}} (\phi _1) \vee {\textsf {flatten}} (\phi _2)\), that is \(\phi \equiv {\textsf {flatten}} (\phi )\).

\(\square \)

Lemma A.5

(Soundness of \({\textsf {canonize}} (\cdot )\)) For any \({\mathsf {Pastified}}{\textsf {LTL}}_{{\textsf {EBR}}}\) formula \(\phi \), it holds that \(\phi \) and \({\textsf {canonize}} (\phi )\) are equivalent and \({\textsf {canonize}} (\phi )\) is a Canonical \({\mathsf {Pastified}}{\textsf {LTL}}_{{\textsf {EBR}}}\) formula.

Proof

Recall that \({\textsf {canonize}} (\phi )\) is defined as the formula \({\textsf {flatten}} ({\textsf {applyR1R7}} (\phi ))\), where applyR1R7 is the algorithm in Fig. 2 and flatten is the algorithm in Fig. 4. By Lemma A.3, for each state sequence \(\sigma \) and position i, we have that \(\sigma ,i \models \phi \) iff \(\sigma ,i \models {\textsf {applyR1R7}} (\phi )\). In particular, for \(i=0\), this means that \(\phi \equiv {\textsf {applyR1R7}} (\phi )\). By Lemma A.4, we have that \({\textsf {flatten}} ({\textsf {applyR1R7}} (\phi )) \equiv {\textsf {applyR1R7}} (\phi )\), and thus \(\phi \equiv {\textsf {flatten}} ({\textsf {applyR1R7}} (\phi ))\), and by definition \(\phi \equiv {\textsf {canonize}} (\phi )\).

Finally, it is easy to see that all the rules of Lemma A.1, except for \(R_4\), replace a formula with a one in Canonical \({\mathsf {Pastified}}{\textsf {LTL}}_{{\textsf {EBR}}}\). Thus \({\textsf {canonize}} (\phi )\) would be a Canonical \({\mathsf {Pastified}}{\textsf {LTL}}_{{\textsf {EBR}}}\) formula if we did not consider the nested release operators. Since this is exactly the case solved by the \(R_{flat}\) rule and thus by the flatten algorithm (which produces a formula in canonical form), we have that \({\textsf {flatten}} ({\textsf {applyR1R7}} (\phi ))\), which by definition is \({\textsf {canonize}} (\phi )\), is in Canonical \({\mathsf {Pastified}}{\textsf {LTL}}_{{\textsf {EBR}}}\). \(\square \)

Proposition 7.1

(Complexity of \({\textsf {canonize}} (\cdot )\)) For any \({\mathsf {Pastified}}{\textsf {LTL}}_{{\textsf {EBR}}}\) formula \(\phi \), \({\textsf {canonize}} (\phi )\) can be built in \(\mathcal {O}(n)\) time, and the size of \({\textsf {canonize}} (\phi )\) is \(\mathcal {O}(n)\), where \(n = |\phi |\).

Proof

Since \({\textsf {canonize}} (\phi ) :={\textsf {flatten}} ({\textsf {applyR1R7}} (\phi ))\), we study the complexity of both applyR1R7 and flatten. At each iteration, algorithm \({\textsf {applyR1R7}} (\phi )\) makes at most one recursive call on a formula \(\phi ^\prime \) of size \(|\phi ^\prime | < |\phi |\) and thus it stop at most after \(\mathcal {O}(n)\) iterations. The same holds for flatten. At each iteration, applyR1R7 and flatten produce a formula of constant size with respect to the size of the formula produced by the recursive call; therefore the recurrence equation describing the size of the formula produced by \({\textsf {canonize}} (\phi )\) is:

$$\begin{aligned} S(n)= {\left\{ \begin{array}{ll} \mathcal {O}(1) &{} \text {if}\ n=1 \\ S(n-1) + \mathcal {O}(1) &{} \text {otherwise} \end{array}\right. } \end{aligned}$$

Therefore:

$$\begin{aligned} S(n)&= S(n-1-i) + i \cdot \mathcal {O}(1) \\&= S(1) + \mathcal {O}(n)&\text {for } i=n-2 \\&\in \mathcal {O}(n) \end{aligned}$$

\(\square \)

B Pseudocodes

See Fig. 23.

Fig. 23
figure 23

toPastLtlEbr algorithm

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Cimatti, A., Geatti, L., Gigante, N. et al. Extended bounded response LTL: a new safety fragment for efficient reactive synthesis. Form Methods Syst Des (2021). https://doi.org/10.1007/s10703-021-00383-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10703-021-00383-3

Keywords

Navigation