Nothing Special   »   [go: up one dir, main page]

Skip to main content

Another Look at LTL Modulo Theory over Finite and Infinite Traces

  • Chapter
  • First Online:
Principles of Verification: Cycling the Probabilistic Landscape

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 15260))

  • 69 Accesses

Abstract

Linear Temporal Logic is a de facto standard for specification of properties of complex systems. Fundamental problems in formal verification include satisfiability checking and model checking. Extensions and variants of LTL have gained significant interest: with \(\textit{LTL}_f\), the temporal formulas are interpreted over finite traces; with safety fragments of LTL, model checking can be reduced to search for finite trace counterexamples; in the context of Verification Modulo Theories, LTL includes first-order atoms interpreted over background theories. In this paper we propose a symbolic, automata-theoretic approach for these variants of LTL in a general and comprehensive framework, show the correctness of the reduction to liveness and invariant checking, and present a library of open benchmarks and support tools.

We acknowledge the support of the PNRR project FAIR - Future AI Research (PE00000013), under the NRRP MUR program funded by the NextGenerationEU.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    The approach also supports LTL validity and satisfiability checking. \(\models \varphi \) is reduced to a model checking problem \(S_U\models \varphi \), where \(S_U\) is the universal transition system. Satisfiability is obtained by dualization, i.e. \(\varphi \) is satisfiable iff \(S_U\not \models \lnot \varphi \).

  2. 2.

    It should be noted that it is possible to restrict the amount of fairness constraint considering only \(\beta _1U\beta _2\in Sub(\phi )\) occurring positively in \(\phi \).

References

  1. Artale, A., Geatti, L., Gigante, N., Mazzullo, A., Montanari, A.: Complexity of safety and cosafety fragments of linear temporal logic. In: AAAI, pp. 6236–6244. AAAI Press (2023)

    Google Scholar 

  2. Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)

    Google Scholar 

  3. Barrett, C., Fontaine, P., Tinelli, C.: The SMT-LIB Standard: Version 2.6. Technical report (2021). https://smtlib.cs.uiowa.edu/papers/smt-lib-reference-v2.6-r2021-05-12.pdf

  4. Barrett, C., Tinelli, C.: Satisfiability modulo theories. In: Handbook of Model Checking, pp. 305–343. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-10575-8_11

    Chapter  Google Scholar 

  5. Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. (TOSEM) 20(4), 1–64 (2011)

    Article  Google Scholar 

  6. Beyer, D.: Competition on software verification - (SV-COMP). In: Sankaranarayanan, S., Sharygina, N. (eds.) TACAS 2023. LNCS, vol. 7214, pp. 504–524. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-031-30820-8_29

    Chapter  Google Scholar 

  7. Biere, A., Artho, C., Schuppan, V.: Liveness checking as safety checking. Electron. Notes Theor. Comput. Sci. 66(2), 160–177 (2002)

    Article  Google Scholar 

  8. Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded model checking. Adv. Comput. 58, 117–148 (2003)

    Article  Google Scholar 

  9. Biere, A., Heljanko, K., Wieringa, S.: AIGER 1.9 and beyond. Technical Report 11/2, Institute for Formal Models and Verification, Johannes Kepler University, Altenbergerstr. 69, 4040 Linz, Austria (2011)

    Google Scholar 

  10. Bjørner, N., Gurfinkel, A., McMillan, K., Rybalchenko, A.: Horn clause solvers for program verification. In: Beklemishev, L.D., Blass, A., Dershowitz, N., Finkbeiner, B., Schulte, W. (eds.) Fields of Logic and Computation II. LNCS, vol. 9300, pp. 24–51. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23534-9_2

    Chapter  Google Scholar 

  11. Bliudze, S., et al.: Formal verification of infinite-state BIP models. In: Finkbeiner, B., Pu, G., Zhang, L. (eds.) ATVA 2015. LNCS, vol. 9364, pp. 326–343. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-24953-7_25

    Chapter  Google Scholar 

  12. Bloem, R., et al.: RATSY – a new requirements analysis tool with synthesis. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 425–429. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14295-6_37

    Chapter  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  14. Bombardelli, A., Cimatti, A., Tonetta, S., Zamboni, M.: Symbolic model checking of relative safety LTL properties. In: Herber, P., Wijs, A. (eds.) iFM 2023, vol. 14300, pp. 302–320. Springer, Heidelberg (2023). https://doi.org/10.1007/978-3-031-47705-8_16

    Chapter  Google Scholar 

  15. Bozzano, M., et al.: Formal design and safety analysis of AIR6110 wheel brake system. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 518–535. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21690-4_36

    Chapter  Google Scholar 

  16. Bradley, A.R.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 70–87. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-18275-4_7

    Chapter  Google Scholar 

  17. Bradley, A.R., Somenzi, F., Hassan, Z., Zhang, Y.: An incremental approach to model checking progress properties. In: FMCAD, pp. 144–153. FMCAD Inc. (2011)

    Google Scholar 

  18. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 10\({\hat{\,}}\)20 states and beyond. In: LICS, pp. 428–439. IEEE Computer Society (1990)

    Google Scholar 

  19. Bustan, D., Flaisher, A., Grumberg, O., Kupferman, O., Vardi, M.Y.: Regular vacuity. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 191–206. Springer, Heidelberg (2005). https://doi.org/10.1007/11560548_16

    Chapter  Google Scholar 

  20. Camacho, A., Triantafillou, E., Muise, C.J., Baier, J.A., McIlraith, S.A.: Non-deterministic planning with temporally extended goals: LTL over finite and infinite traces. In: AAAI, pp. 3716–3724. AAAI Press (2017)

    Google Scholar 

  21. Chang, E., Manna, Z., Pnueli, A.: Characterization of temporal property classes. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, pp. 474–486. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55719-9_97

    Chapter  Google Scholar 

  22. Cimatti, A., Geatti, L., Gigante, N., Montanari, A., Tonetta, S.: Fairness, assumptions, and guarantees for extended bounded response LTL+P synthesis. Softw. Syst. Model. 23(2), 427–453 (2024)

    Article  Google Scholar 

  23. Cimatti, A., Griggio, A., Magnago, E.: LTL falsification in infinite-state systems. Inf. Comput. 289, 104977 (2022)

    Article  MathSciNet  Google Scholar 

  24. Cimatti, A., Griggio, A., Magnago, E., Roveri, M., Tonetta, S.: SMT-based satisfiability of first-order LTL with event freezing functions and metric operators. Inf. Comput. 272, 104502 (2020)

    Article  MathSciNet  Google Scholar 

  25. Cimatti, A., Griggio, A., Mover, S., Roveri, M., Tonetta, S.: Verification modulo theories. Formal Methods Syst. Des. 60(3), 452–481 (2022)

    Article  Google Scholar 

  26. Cimatti, A., Griggio, A., Mover, S., Tonetta, S.: Verifying LTL properties of hybrid systems with K-Liveness. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 424–440. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08867-9_28

    Chapter  Google Scholar 

  27. Cimatti, A., Griggio, A., Mover, S., Tonetta, S.: Infinite-state invariant checking with IC3 and predicate abstraction. Formal Methods Syst. Des. 49, 190–218 (2016)

    Article  Google Scholar 

  28. Cimatti, A., Griggio, A., Tonetta, S.: The VMT-LIB language and tools. In: SMT 2022, vol. 3185 of CEUR Workshop Proceedings, pp. 80–89. CEUR-WS.org (2022)

    Google Scholar 

  29. Cimatti, A., Roveri, M., Susi, A., Tonetta, S.: Validation of requirements for hybrid systems: a formal approach. ACM Trans. Softw. Eng. Methodol. (TOSEM) 21(4), 1–34 (2013)

    Article  Google Scholar 

  30. Cimatti, A., Roveri, M., Tonetta, S.: Symbolic compilation of PSL. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 27(10), 1737–1750 (2008)

    Article  Google Scholar 

  31. Cimatti, A., Tian, C., Tonetta, S.: Assumption-based runtime verification. Formal Methods Syst. Des. 60(2), 277–324 (2022)

    Article  Google Scholar 

  32. Cimatti, A., Tonetta, S.: Contracts-refinement proof system for component-based embedded systems. Sci. Comput. Program. 97, 333–348 (2015)

    Article  Google Scholar 

  33. Claessen, K., Eén, N., Sterin, B.: A circuit approach to ltl model checking. In: 2013 Formal Methods in Computer-Aided Design, pp. 53–60 (2013)

    Google Scholar 

  34. Claessen, K., Sörensson, N.: A liveness checking algorithm that counts. In: 2012 Formal Methods in Computer-Aided Design (FMCAD), pp. 52–59 (2012)

    Google Scholar 

  35. Clarke, E.M., Grumberg, O., Hamaguchi, K.: Another look at ltl model checking. Formal Methods Syst. Des. 10, 47–71 (1994)

    Article  Google Scholar 

  36. Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory-efficient algorithms for the verification of temporal properties. Formal Methods Syst. Des. 1(2/3), 275–288 (1992)

    Article  Google Scholar 

  37. Daniel, J., Cimatti, A., Griggio, A., Tonetta, S., Mover, S.: Infinite-state liveness-to-safety via implicit abstraction and well-founded relations. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9779, pp. 271–291. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41528-4_15

    Chapter  Google Scholar 

  38. Fainekos, G.E., Girard, A., Kress-Gazit, H., Pappas, G.J.: Temporal logic motion planning for dynamic robots. Automatica 45(2), 343–352 (2009)

    Article  MathSciNet  Google Scholar 

  39. Finkbeiner, B.: Synthesis of reactive systems. In: Dependable Software Systems Engineering, vol. 45 of NATO Science for Peace and Security Series - D: Information and Communication Security, pp. 72–98. IOS Press (2016)

    Google Scholar 

  40. Fionda, V., Greco, G.: The complexity of LTL on finite traces: Hard and easy fragments. In: AAAI, pp. 971–977. AAAI Press (2016)

    Google Scholar 

  41. Fisher, M., Wooldridge, M.J.: Temporal reasoning in agent-based systems. In: Handbook of Temporal Reasoning in Artificial Intelligence, vol. 1 of Foundations of Artificial Intelligence, pp. 469–495. Elsevier (2005)

    Google Scholar 

  42. Gario, M., Micheli, A.: PySMT: a solver-agnostic library for fast prototyping of SMT-based algorithms. In: SMT Workshop 2015 (2015)

    Google Scholar 

  43. Gerth, R., Peled, D.A., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: PSTV, vol. 38 of IFIP Conference Proceedings, pp. 3–18. Chapman & Hall (1995)

    Google Scholar 

  44. Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D.: Combination methods for satisfiability and model-checking of infinite-state systems. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 362–378. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73595-3_25

    Chapter  Google Scholar 

  45. Giacomo, G.D., Vardi, M.Y.: Linear temporal logic and linear dynamic logic on finite traces. In: IJCAI, pp. 854–860. IJCAI/AAAI (2013)

    Google Scholar 

  46. Henzinger, T.A.: Sooner is safer than later. Inf. Process. Lett. 43, 135–141 (1992)

    Article  MathSciNet  Google Scholar 

  47. Hoder, K., Bjørner, N.: Generalized property directed reachability. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 157–171. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31612-8_13

    Chapter  Google Scholar 

  48. Holzmann, G.J., Peled, D.A., Yannakakis, M.: On nested depth first search. In: The Spin Verification System, vol. 32 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pp. 23–31. DIMACS/AMS (1996)

    Google Scholar 

  49. Hong, H.S., Lee, I., Sokolsky, O., Ural, H.: A temporal logic based theory of test coverage and generation. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 327–341. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46002-0_23

    Chapter  Google Scholar 

  50. Jovanovic, D., Dutertre, B.: Property-directed k-induction. In: FMCAD, pp. 85–92. IEEE (2016)

    Google Scholar 

  51. Kesten, Y., Pnueli, A., Raviv, L.: Algorithmic verification of linear temporal logic specifications. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 1–16. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0055036

    Chapter  Google Scholar 

  52. Komuravelli, A., Gurfinkel, A., Chaki, S.: SMT-based model checking for recursive programs. Formal Methods Syst. Des. 48(3), 175–205 (2016)

    Article  Google Scholar 

  53. Kupferman, O., Vardi, M.Y.: Model checking of safety properties. Formal Methods Syst. Des. 19(3), 291–314 (2001)

    Article  Google Scholar 

  54. Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 424–437. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_39

    Chapter  Google Scholar 

  55. Li, J., Pu, G., Zhang, Y., Vardi, M.Y., Rozier, K.Y.: Sat-based explicit ltlf satisfiability checking. Artif. Intell. 289, 103369 (2020)

    Article  Google Scholar 

  56. Lichtenstein, O., Pnueli, A., Zuck, L.: The glory of the past. In: Parikh, R. (ed.) Logic of Programs 1985. LNCS, vol. 193, pp. 196–218. Springer, Heidelberg (1985). https://doi.org/10.1007/3-540-15648-8_16

    Chapter  Google Scholar 

  57. McMillan, K.L.: Interpolation and SAT-based model checking. In: Hunt, W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45069-6_1

    Chapter  Google Scholar 

  58. Niemetz, A., Preiner, M., Wolf, C., Biere, A.: Btor2, BtorMC and Boolector 3.0. In: Chockler, H., Weissenbacher, G. (eds.) CAV 2018. LNCS, vol. 10981, pp. 587–595. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96145-3_32

    Chapter  Google Scholar 

  59. Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57. IEEE Computer Society (1977)

    Google Scholar 

  60. Pyvmt (2022). https://github.com/pyvmt/pyvmt

  61. Rodríguez, A., Sánchez, C.: Boolean abstractions for realizability modulo theories. In: CAV (3), vol. 13966, pp. 305–328. Springer, Heidelberg (2023). https://doi.org/10.1007/978-3-031-37709-9_15

  62. Rodríguez, A., Sánchez, C.: Adaptive reactive synthesis for LTL and ltlf modulo theories. In: AAAI, pp. 10679–10686. AAAI Press (2024)

    Google Scholar 

  63. Schuppan, V., Darmawan, L.: Evaluating LTL satisfiability solvers. In: Bultan, T., Hsiung, P.-A. (eds.) ATVA 2011. LNCS, vol. 6996, pp. 397–413. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24372-1_28

    Chapter  Google Scholar 

  64. Sheeran, M., Singh, S., Stålmarck, G.: Checking safety properties using induction and a SAT-solver. In: Hunt, W.A., Johnson, S.D. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 127–144. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-40922-X_8

    Chapter  Google Scholar 

  65. Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logics. J. ACM 32(3), 733–749 (1985)

    Article  MathSciNet  Google Scholar 

  66. Sutcliffe, G.: The TPTP problem library and associated infrastructure - from CNF to th0, TPTP v6.4.0. J. Autom. Reason. 59(4), 483–502 (2017)

    Google Scholar 

  67. Vardi, M.Y.: Branching vs. linear time: final showdown. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 1–22. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45319-9_1

    Chapter  Google Scholar 

  68. Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of the First Symposium on Logic in Computer Science, pp. 322–331. IEEE Computer Society (1986)

    Google Scholar 

  69. Xia, Y., Cimatti, A., Griggio, A., Li, J.: Avoiding the shoals - a new approach to liveness checking. In: Gurfinkel, A., Ganesh, V. (eds.) CAV, pp. 234–254. Springer, Heidelberg (2024). https://doi.org/10.1007/978-3-031-65627-9_12

    Chapter  Google Scholar 

  70. Zhu, S., Tabajara, L.M., Li, J., Pu, G., Vardi, M.Y.: Symbolic LTLf synthesis. In: IJCAI, pp. 1362–1369. ijcai.org (2017)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alessandro Cimatti .

Editor information

Editors and Affiliations

A Proofs

A Proofs

1.1 A.1 Proofs of Section 3

Proof of Theorem 2From validity to model checking:

Proof

To prove the equivalence between the model checking of universal model \(S_U\) and the validity, we show that the set of infinite (resp. finite) traces of \(S_U\) is equal to \(\varPi ^M(V)\) (resp. \(\varPi ^M_f(V)\)).

Let \(S = \{ \pi | \pi \text {is a trace infinite trace of } S_U\}\) and \(S_f = \{ \pi | \pi \text {is a trace finite} {trace of } S_U\}\). \(S = \varPi ^M(V)\) and \(S_f = \varPi ^M_f(V)\)

We split the proof in two parts using set inclusion: one direction is trivial \(Q \subseteq \varPi ^M(V)\) and \(Q^f \subseteq \varPi ^M_f(V)\) since the traces of \(S_U\) are all traces over \(V\).

We prove the other direction by w.o.c. considering an infinite (resp. finite) trace \(\pi \) (\(\pi '\)) s.t. \(\pi \in \varPi ^M(V)\) (\(\pi ' \in \varPi ^M_f(V)\)) and \(\pi \notin Q\) (\(\pi ' \notin Q_f\)). Since \(\pi \) (\(\pi '\)) is not a trace of \(S_U\) then either \(\pi (\pi '), 0 \not \models I_U\) or for all \(0 \le i < |\pi | (|\pi '|) - 1\) \(\pi (\pi ')\not \models T_U\). Since \(I_U = T_U = \top \) from the semantics we obtain that no trace violates \(\top \) by definition contradicting the claim. Therefore, as expected the universal model contains all the traces over \(V\) proving the mapping from validity to model checking.

From model checking to validity:

Proof

(\(\Rightarrow \)):
\(\bullet \):

We want to prove that: \(S \models \varphi \Rightarrow I \wedge GT \rightarrow \varphi \) is valid over \(\textit{LTL} (\mathcal {T})\). By contradiction we say that \(S \models \varphi \) and \(I \wedge GT \rightarrow \varphi \) is not valid over \(\textit{LTL} (\mathcal {T})\). Which means that there is an infinite trace \(\pi \) that violates the formula i.e. \(\pi \models I \wedge GT \wedge \lnot \phi \). However, by satisfaction we derive that \(\pi , 0 \models I\) and forall \(i\ge 0: \pi , i \models T\) from which we derive that \(\pi \) is a trace of S; however, by assumption the infinite traces of S satisfy \(\varphi \) (contradiction).

\(\bullet \):

We want to prove that: \(S \models _{fin} \varphi \Rightarrow I \wedge G(X\top \rightarrow T) \rightarrow \varphi \) is valid over \(\textit{LTL}_f (\mathcal {T})\).

By contradiction we say that \(S \models _{fin} \varphi \) and \(I \wedge G(X\top \rightarrow T) \rightarrow \varphi \) is not valid over \(\textit{LTL}_f (\mathcal {T})\). Which means that there is a finite trace \(\pi \) that violates the formula i.e. \(\pi \models I \wedge G(X\top \rightarrow T) \wedge \lnot \varphi \). However, by satisfaction we obtain that \(\pi , 0 \models I\) and for all \(i\le |\pi | -1: \pi , i \models X\top \rightarrow T\). We can simplify the latter one as for all \(i < |\pi |-1\): \(\pi , i \models T\) since \(X\top \) holds when \(i < |\pi | -1\). As for the case with infinite traces we obtain that \(\pi \) is a trace of S ending up with a contradiction. It should be note that without \(X\top \) a finite trace \(\pi \) disproving the property could have existed; indeed, the \(X\top \) guard is crucial for the correctness of the theorem.

(\(\Leftarrow \)):
\(\bullet \):

We want to prove that: \(I \wedge GT \rightarrow \varphi \) is valid over \(\textit{LTL} (\mathcal {T})\) \(\Rightarrow S \models \varphi \). By contradiction we say that \(I \wedge GT \rightarrow \varphi \) is valid over \(\textit{LTL} (\mathcal {T})\) and there is an infinite trace of S violating \(\varphi \). If immediately follows that being a trace of S satisfies I in the initial state and T at each transition; thus contradicting the claim.

\(\bullet \):

We want to prove that: \(I \wedge G(X\top \rightarrow T) \rightarrow \varphi \) is valid over \(\textit{LTL}_f (\mathcal {T})\) \(\Rightarrow S \models _{fin} \varphi \).

By contradiction we say that \(I \wedge G(X\top \rightarrow T) \rightarrow \varphi \) is valid over \(\textit{LTL} (\mathcal {T})\) and there is a finite trace of S violating \(\varphi \). If immediately follows that being a trace of S satisfies I in the initial state and T at each transition which formally means: \(\pi , 0 \models _{fin} I\) and for all \(0 \le i < |\pi | -1\) \(\pi , i \models T\). Since \(X\top \) is valid iff \(i < |\pi | -1\) then for all \(0 \le i \le |\pi | -1: \pi , i \models X\top \rightarrow T\). From which we show the contradiction.

1.2 A.2 Symbolic Compilation Correctness

Proof of Theorem 7

Definition 9

Let us define the function State taking an LTL formula and a trace \(\sigma \) and returning a set of variables:

  • \(State^{sng}(a,\sigma , i)=\emptyset \)

  • \(State^{sgn}(\lnot \psi , \sigma , i) = State^{\overline{sgn}}(\psi , \sigma , i)\)

  • \(State^{-}(\psi _1\vee \psi _2,\sigma , i)= State^{-}(\psi _1,\sigma , i) \cup State^{-}(\psi _2,\sigma , i)\)

  • \(State^{+}(\psi _1\vee \psi _2,\sigma , i)={\left\{ \begin{array}{ll}State^{+}(\psi _1,\sigma , i)& \text { if }\sigma , i\models \psi _1\\ State^{+}(\psi _2,\sigma , i) & \text { else }\end{array}\right. }\)

  • \(State^+(\psi _1 U \psi _2,\sigma , i) = {\left\{ \begin{array}{ll}State^+(\psi _2,\sigma , i)& \text { if }\sigma , i \models \psi _2\\ State^+(\psi _1,\sigma , i)\cup \{v_{X(\psi _1 U \psi _2)}\} & \text { else }\end{array}\right. }\)

  • \(State^+(Y\psi ,\sigma , i)=\{v_{Y\psi }\}\)

  • \(State^+(\psi _1 S \psi _2,\sigma , i) = {\left\{ \begin{array}{ll}State^+(\psi _2,\sigma , i)& \text { if }\sigma , i \models \psi _2\\ State^+(\psi _1,\sigma , i)\cup \{v_{Y(\psi _1 S \psi _2)}\} & \text { else }\end{array}\right. }\)

  • \(State^-(\mathcal{O}\mathcal{P}1(\psi ), \sigma , i) = \emptyset \)

  • \(State^-((\psi _1) \mathcal{O}\mathcal{P}2 (\psi _2), \sigma , i) = \emptyset \)

where \(sgn \in \{ -, +\}\), \(\overline{sgn} = -\) if \(sgn=+\), \(\overline{sgn} = +\) if \(sng =-\), \(\mathcal{O}\mathcal{P}1 \in \{ X, Y\}\) and \(\mathcal{O}\mathcal{P}2 \in \{ U, S\}\)

Proof

(\(\Leftarrow \)):

\(\exists \pi \) of \(S_{\lnot \varphi }\times S^{deg}_{F_{\lnot \varphi }}\) visiting \(f^l_{\lnot \varphi }\) infinitely often \(\Rightarrow \) \(\sigma \models \lnot \varphi \).

Given a subformula \(\psi \) of \(\lnot \varphi \), we prove that for all \(i\ge 0\), (i) if \(\psi \) occurs positively in \(\lnot \phi \) \(\pi , i\models Enc(\psi )\) implies \(\pi , i \models \psi \); (ii)if \(\psi \) occurs negatively in \(\lnot \phi \): \(\pi , i\models \lnot Enc(\psi )\) implies \(\pi , i \models \lnot \psi \) From this the theorem follows immediately, since the initial state \(\pi , 0\models Enc(\lnot \phi )\). We prove the claim by induction on \(\psi \):

\(\bullet \):

\(\psi = p\): \(\pi , i \models \psi \) by construction

\(\bullet \):

\(\psi = \psi _1 \vee \psi _2\): trivially by induction

\(\bullet \):

\(\psi = \psi _1 \wedge \psi _2\): Trivial induction

\(\bullet \):

\(\psi = \lnot \psi '\). Trivially holds by induction. (if \(\psi '\) occurs negative the subformula occurs positively and vice versa).

\(\bullet \):

\(\psi = X\psi '\): From the transition relation \(\pi , i \models v_{X\psi '}\) iff \(\pi , i+1\models Enc(\psi ')\); thus, \(\pi , i+1 \models \psi '\) by induction.

\(\bullet \):

\(\psi = \psi _1 \, U\psi _2\): We split the two cases (positive, negative occurrence). In the first case, either \(Enc(\psi _2)\) holds or \(Enc(\psi _1)\) holds and \(v_{X(\psi _1 U\psi _2)}\) holds. The first case is managed by induction over \(\psi _2\). For the second case we apply the induction for \(\psi _1\) and, since \(Enc(\psi ) \rightarrow Enc(\psi _2) \in F_{\lnot \psi }\) then there is a point \(k \ge i\) s.t. \(\pi , k \models Enc(\psi _2)\) and (from prophecy variable transition relation) for all \(i \le j < k: \pi , j \models Enc(\psi _1)\); from which we can apply induction and derive the result (for the positive occurrence).

In the other case, \(\pi , i \not \models Enc(\psi _2)\) and either \(\pi , i \not \models Enc(\psi _1)\) or \(\pi , i \not \models v_{X(\psi _1 U\psi _2)}\). By the transition relation we know that \(v_{X(\psi _1 U\psi _2)} \leftrightarrow Enc(\psi _2)' \vee Enc(\psi _1)' \wedge v_{X_{\psi _1 U\psi _2)}}'\); therefore, since \(v_{X(\psi _1 U\psi _2)}\) is violated either there is a point k in the future s.t. \(\psi _1\) is violated and all the points j between i and j violates \(Enc(\psi _2)\) as well or it is never true that \(Enc(\psi _2)\) holds.

We can prove this claim by w.o.c. suppose that exists a \(k\ge i\) s.t. \(\pi , k \models Enc(\psi _2)\) and for all \(i \le j < k: \pi , j \models Enc(\psi _1)\). From the transition relation definition we get that \(\pi , k -1 \models v_{X(\psi _1 U\psi _2)}\). Since by hypothesis in all the index \(i \le j < k: \pi , j \models Enc(\psi _1)\) with a straightforward inductive reasoning down to i we derive that \(\pi , i \models Enc(\psi _1 U\psi _2)\) which contradicts the statement.

Finally, we apply induction to \(Enc(\psi _1)\) and \(Enc(\psi _2)\) and we derive the semantics of the negation of until.

\(\bullet \):

\(\psi = Y\psi '\): \(\pi , i \models v_{Y\psi }\) iff \(i > 0\) (from initial condition) and \(\pi , i-1\models \psi '\) (from transition relation); thus, \(\pi , i \models v_{Y\psi '} \Leftrightarrow i > 0 \text { and }\pi , i-1 \models Enc(\psi ')\). Finally from induction we obtain \(i > 0\) and \(\pi , i-1 \models \psi '\) proving the case.

\(\bullet \):

\(\psi = \psi _1 \, S\psi _2\): we prove this case by induction on i; for the base case, we consider the index 0; in this case, all variables \(v_{Y\beta }\) are false in \(\pi ,0\) and the claim follows trivially; suppose the claim holds for \(i-1\), we prove it for i: \(\pi , i \models v_{Y(\psi _1 \, S\psi _2)}\) iff \(i > 0\) (initial condition) and either \(\pi , i-1 \models \psi _2\) and thus \(\pi , i-1\models \psi _2\) by induction, or that \(\pi , i-1 \models \psi _1 \wedge v_{Y(\psi _1 \, S\psi _2)}\) and thus \(\pi , i-1 \models \psi \) by induction.

\(\Rightarrow \):

\(\sigma \models \lnot \varphi \Rightarrow \exists \pi \) of \(S_{\lnot \varphi }\times S^{deg}_{F_{\lnot \varphi }}\) visiting \(f^l_{\lnot \varphi }\) infinitely often.

Given a trace \(\sigma \) and an LTL property \(\varphi \) such that \(\sigma \models \lnot \varphi \). Let us define the sequence of states \(s_i\) as follows: \(s_0=State^+(Enc(\lnot \varphi ))\); for all \(i>0\), \(s_i=State^+(\bigwedge _{v_{X\beta }\in s_{i-1}}\beta )\). The sequence \(\pi =s_0,s_1,\ldots \) is a path of \(S^l_{\lnot \varphi }\) over the trace \(\pi \). It is easy to see that in each point i if each subformula \(\psi \) is satisfied by \(\sigma \) then \(\pi , i \models State^+(\psi )\). Therefore, for untils \(v_{X(\psi _1 U\psi _2)}\) is true iff in the future there is a point satisfying \(\psi _2\) which guarantees that the degeneralized fairness holds infinitely often.

Proof of Theorem 8

Definition 10

Let us define the function \(State_f\) taking an LTL formula and a trace \(\sigma \) and returning a set of variables:

  • \(State_f(a,\sigma , i)=\emptyset \)

  • \(State_f(\psi _1\wedge \psi _2,\sigma , i)= State_f(\psi _1,\sigma , i) \cup State_f(\psi _2,\sigma , i)\)

  • \(State_f(\psi _1\vee \psi _2,\sigma , i)={\left\{ \begin{array}{ll}State_f(\psi _1,\sigma , i)& \text { if }\sigma , i\models \psi _1\\ State_f(\psi _2,\sigma , i) & \text { else }\end{array}\right. }\)

  • \(State_f(X\psi ,\sigma , i)=\{v_{X\psi }\}\)

  • \(State_f(N\psi ,\sigma , i)=\{v_{N\psi }\}\)

  • \(State_f(\psi _1 U\psi _2,\sigma , i) = {\left\{ \begin{array}{ll}State_f(\psi _2,\sigma , i)& \text { if }\sigma , i \models \psi _2\\ State_f(\psi _1,\sigma , i)\cup \{v_{X(\psi _1 U \psi _2}\} & \text { else}\end{array}\right. }\)

  • \(State_f(\psi _1 R\psi _2,\sigma , i) = {\left\{ \begin{array}{ll}State_f(\psi _2,\sigma , i) \cup State_f(\psi _1, \sigma , i)& \text { if }\sigma , i \models \psi _2 \wedge \psi _1\\ State_f(\psi _1,\sigma , i)\cup \{v_{X(\psi _1 R\psi _2}\} & \text { else }\end{array}\right. }\)

  • \(State_f(Y\psi ,\sigma , i)=\{v_{Y\psi }\}\)

  • \(State_f(\psi _1 S\psi _2,\sigma , i) = {\left\{ \begin{array}{ll}State_f(\psi _2,\sigma , i)& \text { if }\sigma , i \models \psi _2\\ State_f(\psi _1,\sigma , i)\cup \{v_{Y(\psi _1 S\psi _2}\} & \text { else }\end{array}\right. }\)

Proof

(\(\Leftarrow \)):

Given a subformula \(\psi \) of \(\phi \), we prove that for all \(i\ge 0\), if \(\pi , i\models Enc(\psi )\), then \(\pi , i \models \psi \). From this the theorem follows immediately, since the initial state \(\pi , 0 \models Enc(\phi )\).

We prove the claim by induction on \(\psi \):

\(\bullet \):

\(\psi = p\): \(\pi , i \models \psi \) by construction

\(\bullet \):

\(\psi = \psi _1 \vee \psi _2\): Trivial induction

\(\bullet \):

\(\psi = \psi _1 \wedge \psi _2\): Trivial induction

\(\bullet \):

\(\psi = N\psi ':\) \(\pi , i \models v_{N\psi '}\) by construction, then the transition requires, if \(i < |\pi | -1\), that \(\pi , i+1\models _{fin} Enc(\psi ')\); thus, \(\pi , i+1 \models _{fin} \psi '\) by induction; if \(i = |\pi | -1\) then \(\pi , i \models _{fin} N\psi '\) vacuously.

\(\bullet \):

\(\psi = X\psi '\): Identical to the previous if \(i < |\pi | -1\). We can show that when \(v_{X\psi '}\) is true i is not the final assignment. That follows from the assumption that \(\pi \) reaches \(f^b_{\lnot \varphi }\) which is composed of the conjunction of the negation of all the proof obligations including \(v_{X\psi '}\)

\(\bullet \):

\(\psi = \psi _1 \, U\psi _2\): we prove this case by induction on i; for the base case, we consider the index \( = |\pi | -1\) as base case; in this case, all the prophecy variables of \(\phi \) are false in \(\pi , i\) and the claim follows trivially; suppose the claim holds for \(i+1\) (which is guaranteed to stay in the path bounds), we prove it for i: \(\pi , i \models _{fin} v_{X(\psi _1 \, U\psi _2)}\) by construction (\(\psi _2\) does not hold), then the transition requires either that \(\pi , i+1 \models _{fin} Enc(\psi _2)\) and thus \(\pi , i+1 \models _{fin} \psi _2\) by induction, or that \(\pi i+1\models _{fin} Enc(\psi _1) \wedge v_{X(\psi _1 \, U\psi _2))}\) and thus \(\pi , i+1 \models _{fin} \psi \) by induction.

\(\bullet \):

\(\psi = \psi _1 R\psi _2\): The proof is similar to the previous case, the only difference is that in this case in the last state you don’t need \(v_{N(\psi _1 R\psi _2)}\) to be false to prove the property while the inductive case is more or less the same.

\(\bullet \):

\(\psi = Y\psi '\): \(\pi , i \models _{fin} v_{Y\psi }\) by construction, then if \(i > 0\) the transition requires that \(\pi , i-1\models _{fin} \psi '\); thus, \(\pi , i-1 \models _{fin} \psi '\)

\(\bullet \):

\(\psi = \psi _1 \, S\psi _2\): we prove this case by induction on i; for the base case, we consider the index 0; in this case, all variables \(v_{Y\beta }\) are false in \(\pi , 0\) and the claim follows trivially; suppose the claim holds for \(i-1\), we prove it for i: \(\pi , i \models _{fin} v_{Y(\psi _1 \, S\psi _2)}\) by construction, then if \(i > 0\) the transition require either that \(\pi , i - 1\models _{fin} \psi _2 \) and thus \(\pi , i-1 \models _{fin}\psi _2\) by induction, or that \(\pi , i-1 \models _{fin} \psi _1 \wedge v_{ Y(\psi _1 \, S\psi _2)}\) and thus \(\pi , i-1 \models _{fin} \psi \) by induction.

\(\bullet \):

the other cases (\(Z, T\)) are similar to the previous ones.

(\(\Rightarrow \)):

Given a trace \(\sigma \) and an \(\textit{LTL}_f\) property \(\varphi \) with \(\phi = \textsc {nnf}_f(\lnot \varphi )\) such that \(\sigma \models \phi \). Let us define the sequence of states \(s_i\) as follows: \(s_0=State_f(Enc(\lnot \varphi ))\); for all \(i>0\), \(s_i=State(\bigwedge _{v_{X\beta }\in s_{i-1}}\beta )\). The sequence \(\pi =s_0,s_1,\ldots \) is a path of \(S^b_{\lnot \varphi }\) over the trace \(\pi \). Let d be the size of \(\sigma \), then \(\pi , d \models _{fin} f^b_{\lnot \varphi }\)

Proof of Theorem 9

Definition 11

Let us define the function State taking an LTL formula and a trace \(\sigma \) and returning a set of variables:

  • \(State(a,\sigma , i)=\emptyset \)

  • \(State(\psi _1\wedge \psi _2,\sigma , i)= State(\psi _1,\sigma , i) \cup State(\psi _2,\sigma , i)\)

  • \(State(\psi _1\vee \psi _2,\sigma , i)={\left\{ \begin{array}{ll}State(\psi _1,\sigma , i)& \text { if }\sigma , i\models \psi _1\\ State(\psi _2,\sigma , i) & \text { else }\end{array}\right. }\)

  • \(State(X\psi ,\sigma , i)=\{v_{X\psi }\}\)

  • \(State(\psi _1 U \psi _2,\sigma , i) = {\left\{ \begin{array}{ll}State(\psi _2,\sigma , i)& \text { if }\sigma , i \models \psi _2\\ State(\psi _1,\sigma , i)\cup \{v_{X(\psi _1 U \psi _2}\} & \text { else }\end{array}\right. }\)

  • \(State(Y\psi ,\sigma , i)=\{v_{Y\psi }\}\)

  • \(State(\psi _1 S \psi _2,\sigma , i) = {\left\{ \begin{array}{ll}State(\psi _2,\sigma , i)& \text { if }\sigma , i \models \psi _2\\ State(\psi _1,\sigma , i)\cup \{v_{Y(\psi _1 S \psi _2}\} & \text { else }\end{array}\right. }\)

Proof

(\(\Leftarrow \)):

Given a subformula \(\psi \) of \(\phi \), we prove that for all \(i\ge 0\), if \(\pi , i\models Enc(\psi )\), then \(\pi , i \models \psi \). From this the theorem follows immediately, since the initial state \(\pi , 0 \models Enc(\phi ')\).

We prove the claim by induction on \(\psi \):

\(\bullet \):

\(\psi = p\): \(\pi , i \models \psi \) by construction

\(\bullet \):

\(\psi = \psi _1 \vee \psi _2\): Trivial induction

\(\bullet \):

\(\psi = X\psi '\): \(\pi , i \models v_{X\psi '}\) by construction, then the transition requires that \(\pi , i+1\models Enc(\psi ')\); thus, \(\pi , i+1 \models \psi '\) by induction

\(\bullet \):

\(\psi = \psi _1 \, U\psi _2\): we prove this case by induction on i; for the base case, we consider the index i in which \(\pi , i\) reaches \(f^b_{\lnot \varphi }\); in this case, all the prophecy variables of \(\phi \) are false in \(\pi , i\) and the claim follows trivially; suppose the claim holds for \(i+1\), we prove it for i: \(\pi , i \models v_{X(\psi _1 \, U\psi _2)}\) by construction (\(\psi _2\) does not hold), then the transition requires either that \(\pi (i+1)\models Enc(\psi _2)\) and thus \(\pi , i+1 \models \psi _2\) by induction, or that \(\pi i+1\models E(\psi _1 \wedge X(\psi _1 \, U\psi _2))\) and thus \(\pi , i+1 \models \psi \) by induction.

\(\bullet \):

\(\psi = Y\psi '\): \(\pi , i \models v_{Y\psi }\) by construction, then if \(i > 0\) the transition requires that \(\pi , i-1\models \psi '\); thus, \(\pi , i-1 \models \psi '\)

\(\bullet \):

\(\psi = \psi _1 \, S\psi _2\): we prove this case by induction on i; for the base case, we consider the index 0; in this case, all variables \(v_{Y\beta }\) are false in \(\pi , 0\) and the claim follows trivially; suppose the claim holds for \(i-1\), we prove it for i: \(\pi , i \models v_{Y(\psi _1 \, S\psi _2)}\) by construction, then if \(i > 0\) the transition require either that \(\pi , i - 1\models \psi _2 \) and thus \(\pi , i-1 \models \psi _2\) by induction, or that \(\pi , i-1 \models \psi _1 \wedge v_{ Y(\psi _1 \, S\psi _2)}\) and thus \(\pi , i-1 \models \psi \) by induction.

\(\bullet \):

the other cases (\(Z, T\)) are similar to the previous ones.

(\(\Rightarrow \)):

Given a trace \(\sigma \) and a safety property \(\varphi \) such that \(\sigma \not \models \varphi \) and \(\phi := \textsc {nnf}(\lnot \phi )\). Let us define the sequence of states \(s_i\) as follows: \(s_0=State(Enc(\phi ))\); for all \(i>0\), \(s_i=State(\bigwedge _{v_{X\beta }\in s_{i-1}}\beta )\). The sequence \(\pi =s_0,s_1,\ldots \) is a path of \(S^b_{\lnot \varphi }\) over the trace \(\pi \). Let d be the size of the bad prefix of \(\sigma \) violating \(\phi \). Then \(\pi , d \models f^b_{\lnot \varphi }\)

Rights and permissions

Reprints and permissions

Copyright information

© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Bombardelli, A., Cimatti, A., Griggio, A., Tonetta, S. (2025). Another Look at LTL Modulo Theory over Finite and Infinite Traces. In: Jansen, N., et al. Principles of Verification: Cycling the Probabilistic Landscape. Lecture Notes in Computer Science, vol 15260. Springer, Cham. https://doi.org/10.1007/978-3-031-75783-9_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-75783-9_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-75782-2

  • Online ISBN: 978-3-031-75783-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics