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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 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.
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
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)
Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)
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
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
Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. (TOSEM) 20(4), 1–64 (2011)
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
Biere, A., Artho, C., Schuppan, V.: Liveness checking as safety checking. Electron. Notes Theor. Comput. Sci. 66(2), 160–177 (2002)
Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded model checking. Adv. Comput. 58, 117–148 (2003)
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)
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
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
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
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)
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
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
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
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)
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)
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
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)
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
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)
Cimatti, A., Griggio, A., Magnago, E.: LTL falsification in infinite-state systems. Inf. Comput. 289, 104977 (2022)
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)
Cimatti, A., Griggio, A., Mover, S., Roveri, M., Tonetta, S.: Verification modulo theories. Formal Methods Syst. Des. 60(3), 452–481 (2022)
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
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)
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)
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)
Cimatti, A., Roveri, M., Tonetta, S.: Symbolic compilation of PSL. IEEE Trans. Comput.-Aided Des. Integr. Circ. Syst. 27(10), 1737–1750 (2008)
Cimatti, A., Tian, C., Tonetta, S.: Assumption-based runtime verification. Formal Methods Syst. Des. 60(2), 277–324 (2022)
Cimatti, A., Tonetta, S.: Contracts-refinement proof system for component-based embedded systems. Sci. Comput. Program. 97, 333–348 (2015)
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)
Claessen, K., Sörensson, N.: A liveness checking algorithm that counts. In: 2012 Formal Methods in Computer-Aided Design (FMCAD), pp. 52–59 (2012)
Clarke, E.M., Grumberg, O., Hamaguchi, K.: Another look at ltl model checking. Formal Methods Syst. Des. 10, 47–71 (1994)
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)
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
Fainekos, G.E., Girard, A., Kress-Gazit, H., Pappas, G.J.: Temporal logic motion planning for dynamic robots. Automatica 45(2), 343–352 (2009)
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)
Fionda, V., Greco, G.: The complexity of LTL on finite traces: Hard and easy fragments. In: AAAI, pp. 971–977. AAAI Press (2016)
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)
Gario, M., Micheli, A.: PySMT: a solver-agnostic library for fast prototyping of SMT-based algorithms. In: SMT Workshop 2015 (2015)
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)
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
Giacomo, G.D., Vardi, M.Y.: Linear temporal logic and linear dynamic logic on finite traces. In: IJCAI, pp. 854–860. IJCAI/AAAI (2013)
Henzinger, T.A.: Sooner is safer than later. Inf. Process. Lett. 43, 135–141 (1992)
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
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)
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
Jovanovic, D., Dutertre, B.: Property-directed k-induction. In: FMCAD, pp. 85–92. IEEE (2016)
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
Komuravelli, A., Gurfinkel, A., Chaki, S.: SMT-based model checking for recursive programs. Formal Methods Syst. Des. 48(3), 175–205 (2016)
Kupferman, O., Vardi, M.Y.: Model checking of safety properties. Formal Methods Syst. Des. 19(3), 291–314 (2001)
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
Li, J., Pu, G., Zhang, Y., Vardi, M.Y., Rozier, K.Y.: Sat-based explicit ltlf satisfiability checking. Artif. Intell. 289, 103369 (2020)
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
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
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
Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57. IEEE Computer Society (1977)
Pyvmt (2022). https://github.com/pyvmt/pyvmt
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
Rodríguez, A., Sánchez, C.: Adaptive reactive synthesis for LTL and ltlf modulo theories. In: AAAI, pp. 10679–10686. AAAI Press (2024)
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
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
Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logics. J. ACM 32(3), 733–749 (1985)
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)
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
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)
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
Zhu, S., Tabajara, L.M., Li, J., Pu, G., Vardi, M.Y.: Symbolic LTLf synthesis. In: IJCAI, pp. 1362–1369. ijcai.org (2017)
Author information
Authors and Affiliations
Corresponding author
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
Copyright information
© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
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)