Skip to main content
Log in

Visibly Linear Temporal Logic

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

We introduce Visibly Linear Temporal Logic (VLTL), a linear-time temporal logic that captures the full class of Visibly Pushdown Languages over infinite words. The novel logic avoids fix points and instead provides natural temporal operators with simple and intuitive semantics. We prove that the complexities of the satisfiability and visibly pushdown model checking problems are the same as for other well known logics, like CaRet and the nested word temporal logic NWTL, which in contrast are strictly more limited in expressive power than VLTL. Moreover, formulas of CaRet and NWTL can be translated inductively and in linear-time into VLTL.

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

Similar content being viewed by others

Notes

  1. From [7, 14]: “PSL and SVA balance well [...] expressiveness, usability, and implementability.”

  2. The origin of the name \(M\)-substitution is minimally well-matched substitution, while \(S\)-closure stands for Strict Minimally Well-Matched Closure, see [11, 12].

  3. Recall that \(F\subseteq \mathsf {M}\) and moves from secondary states lead to secondary states as well.

  4. AJA are strictly more expressive than their non-deterministic counterpart [10].

References

  1. Alur, R.: Marrying words and trees. In: Proceedings of 26th PODS, pp. 233–242. ACM (2007)

  2. Alur, R., Arenas, M., Barceló, P., Etessami, K., Immerman, N., Libkin, L.: First-order and temporal logics for nested words. In: Proceedings of 22nd LICS, pp. 151–160. IEEE Computer Society (2007)

  3. Alur, R., Etessami, K., Madhusudan, P.: A temporal logic of nested calls and returns. In: Proceedings of 10th TACAS. LNCS, vol. 2988, pp. 467–481. Springer, Berlin (2004)

  4. Alur, R., Madhusudan, P.: Visibly pushdown languages. In: Proceedings of 36th STOC, pp. 202–211. ACM (2004)

  5. Alur, R., Madhusudan, P.: Adding nesting structure to words. J. ACM 56(3), 1–43 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  6. Arenas, M., Barceló, P., Libkin, L.: Regular languages of nested words: fixed points, automata, and synchronization. In: Proceedings of 34th ICALP. LNCS, vol. 4596, pp. 888–900. Springer, Berlin (2007)

  7. Armoni, R., Fix, L., Flaisher, A., Gerth, R., Ginsburg, B., Kanza, T., Landver, A., Mador-Haim, S., Singerman, E., Tiemeyer, A., Vardi, M.Y.: The ForSpec temporal logic: a new temporal property-specification language. In: Proceedings of TACAS. LNCS, vol. 2280, pp. 296–211. Springer, Berlin (2002)

  8. Ball, T., Rajamani, S.K.: Bebop: a symbolic model checker for boolean programs. In: Proceedings of 7th SPIN. LNCS, vol. 1885, pp. 113–130. Springer, Berlin (2000)

  9. Bollig, B., Cyriac, A., Gastin, P., Zeitoun, M.: Temporal logics for concurrent recursive programs: satisfiability and model checking. In: Proceedings 36th MFCS. LNCS, vol. 6907, pp. 132–144. Springer, Berlin (2011)

  10. Bozzelli, L.: Alternating automata and a temporal fixpoint calculus for visibly pushdown languages. In: Proceedings of 18th CONCUR. LNCS, vol. 4703, pp. 476–491. Springer, Berlin (2007)

  11. Bozzelli, L., Sánchez, C.: Visibly rational expressions. In: Proceedings of FSTTCS, LIPIcs 18, pp. 211–223 (2012)

  12. Bozzelli, L., Sánchez, C.: Visibly rational expressions. Acta Inf. 51(1), 25–49 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  13. Dax, C., Klaedtke, F.: Alternation elimination for automata over nested words. In: Proceedings of 14th FOSSACS. LNCS, vol. 6604, pp. 168–183. Springer, Berlin (2011)

  14. Dax, C., Klaetke, F., Lange, M.: On regular temporal logic with past. Acta Inf. 47, 251–277 (2010)

    Article  MATH  Google Scholar 

  15. Fischer, M.J., Ladner, R.E.: Propositional dynamic logic of regular programs. J. Comput. Syst. Sci. 18(2), 194–211 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  16. Henriksen, J.G., Thiagarajan, P.S.: Dynamic linear time temporal logic. Ann. Pure Appl. Log. 96(1–3), 187–207 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  17. IEEE Standard for Property Specification Language (PSL): IEEE Standard 1850–2010, (2010)

  18. Kleene, S.C.: Representation of events in nerve nets and finite automata. In: Shannon, C. E., McCarthy, J. (eds.) Automata Studies, vol. 34, pp. 3–41. Princeton University Press, Princeton (1956)

  19. Kupferman, O., Vardi, M.Y.: Weak alternating automata are not that weak. ACM Trans. Comput. Log. 2(3), 408–429 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  20. Kupferman, O., Vardi, M.Y., Wolper, P.: An automata-theoretic approach to branching-time model checking. J. ACM 47(2), 312–360 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  21. Leucker, M., Sánchez, C.: Regular linear temporal logic. In: Proceedings of 4th ICTAC. LNCS, vol. 4711, pp. 291–305. Springer, Berlin (2007)

  22. Löding, C., Serre, O.: Propositional dynamic logic with recursive programs. In: Proceedings of 9th FoSSaCS. LNCS, vol. 3921, pp. 292–306. Springer, Berlin (2006)

  23. Madhusudan, P., Viswanathan, M.: Query automata for XML nested words. In: Proceedings of 34th MFCS. LNCS, vol. 5734, pp. 561–573. Springer, Berlin (2009)

  24. Mehlhorn, K.: Pebbling moutain ranges and its application of dcfl-recognition. In: Proceedings of 7th ICALP. LNCS, vol. 85, pp. 422–435. Springer, Berlin (1980)

  25. Miyano, S., Hayashi, T.: Alternating finite automata on \(\omega \)-words. Theor. Comput. Sci. 32, 321–330 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  26. Muller, D., Schupp, P.: Alternating automata on infinite trees. Theor. Comput. Sci. 54, 267–276 (1987)

    Article  MathSciNet  MATH  Google Scholar 

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

  28. Sánchez, C., Leucker, M.: Regular linear temporal logic with past. In: Proceedings of 11th VMCAI. LNCS, vol. 5944, pp. 295–311. Springer, Berlin (2010)

  29. Sánchez, C., Samborski-Forlese, J.: Efficient regular linear temporal logic using dualization and stratification. In: Proceedings of 19th TIME, pp. 13–20 (2012)

  30. Stockmeyer, L.J., Meyer, A.R.: Word problems requiring exponential time: preliminary report. In: Proceedings of 5th STOC, pp. 1–9. ACM (1973)

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

    Article  MathSciNet  MATH  Google Scholar 

  32. Weinert, A., Zimmermann, M.: Visibly linear dynamic logic. In: Proceedings of 36th FSTTCS, LIPIcs (2016) (To appear)

  33. Wolper, P.: Temporal logic can be more expressive. Inf. Control 56, 72–99 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  34. Zielonka, W.: Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theor. Comput. Sci. 200(1–2), 135–183 (1998)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

We would like to acknowledge the anonymous reviewers for their feedback and numerous suggestions about how to improve this paper. This work was funded in part by Spanish MINECO (Projects TIN2012-39391-CA04-01 STRONGSOFT, TIN2012-38137-C02 VIVAC, and TIN2015-71819-P RISCO), by the Madrid Regional Government under project N-Greens Software-CM (S2013/ICE-2731) and by EU COST Action IC1402 ArVi.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to César Sánchez.

Additional information

A preliminary version of this paper appears in the Proceedings of the 7th International Joint Conference on Automated Reasoning (IJCAR’14), Vienna, Austria, July 19–22, 2014.

Appendix: From NVPA to Well-Formed VRE

Appendix: From NVPA to Well-Formed VRE

In this section we prove the following result.

Theorem 9

Given an NVPA \(\mathcal {P}\), one can construct a well-formed VRE \(\alpha \) such that \(\mathcal {L}(\alpha )=\mathcal {L}(\mathcal {P})\).

In order to prove Theorem 9, we need additional definitions. We fix an NVPA \(\mathcal {P}=\langle Q,Q_{0},\varGamma ,\varDelta ,F \rangle \) over the pushdown alphabet \(\varSigma \). Given \(q,p\in Q\), a summary of \(\mathcal {P}\) from q to p is a run \(\pi \) of \(\mathcal {P}\) over some word \(w\in MWM (\varSigma )\) from a configuration of the form \((q,\beta )\) to a configuration of the form \((p,\beta ')\) for some stack contents \(\beta \) and \(\beta '\). Observe that if \(\pi \) is such a run over \(w\in MWM (\varSigma )\) from \((q,\beta )\) to \((p,\beta ')\), then \(\beta '=\beta \) and the portion of the stack corresponding to \(\beta \) is never read in \(\pi \). In particular, there is also a run of \(\mathcal {P}\) from \((q,\bot )\) to \((p,\bot )\) over w which uses the same transitions used by \(\pi \). Given a run \(\pi \) of \(\mathcal {\mathcal {P}}\) over some word w and \(\mathcal {S}\subseteq Q\times Q\), we say that the run \(\pi \) uses only sub-summaries from \(\mathcal {S}\) whenever for all \(q,p\in Q\), if there is sub-run of \(\pi \) which is a summary from q to p, then \((q,p)\in \mathcal {S}\).

Let \(\varLambda \) be the following alphabet, disjoint from \(\varSigma \), given by

$$\begin{aligned} \varLambda \,\mathop {=}\limits ^{\text {def}}\,\{\Box _{q p}\mid q,p\in Q\} \end{aligned}$$

For each \(\varLambda '\subseteq \varLambda \), we denote by \(\varSigma _{\varLambda '}\) the pushdown alphabet obtained by adding to \(\varSigma \) the additional symbols in \(\varLambda '\), which are interpreted as internal actions. Moreover, we define \(\mathcal {P}_\varLambda =\langle Q,Q_0,\varGamma ,\varDelta _\varLambda ,F \rangle \) as the NVPA over \(\varSigma _\varLambda \) obtained from \(\mathcal {P}\) by adding for each \((q,p)\in Q\times Q\), the internal transition \((q,\Box _{qp},p)\).

We prove that one can construct a well-formed VRE \(\alpha \) over \(\varSigma _\varLambda \) denoting \(\mathcal {L}(\mathcal {P})\) (the additional symbols in \(\varLambda \) are used only as parameters for intermediate substitutions). The proof consists of the following two Lemmata 8 and 9.

Lemma 8

Assume that for all \((q,p)\in Q\times Q\), one can construct a well-matched VRE \(\alpha (q,p)\) such that \(\mathcal {L}(\alpha (q,p))\) is the set of words in \( MWM (\varSigma )\) so that there is a summary of \(\mathcal {P}\) from q to p over w. Then, one can construct a well-formed VRE \(\alpha \) such that \(\mathcal {L}(\alpha )=\mathcal {L}(\mathcal {P})\).

Proof

Fix an ordering \(\{(q_1,p_1),\ldots ,(q_n,p_n)\}\) of \(Q\times Q\). Given a regular expression \(\xi \) over \(\varSigma _\varLambda \), let

$$\begin{aligned} \xi [\Box _{q_1 p_1} \leftarrow \alpha (q_1,p_1),\ldots ,\Box _{q_n p_n} \leftarrow \alpha (q_n,p_n)] \end{aligned}$$
(1)

be the VRE obtained from \(\xi \) by simultaneously replacing each occurrence of \(\Box _{q_i p_i}\) with the well-matched VRE \(\alpha (q_i,p_i)\). The following follows immediately:

Claim 5

The VRE given by Eq. (1) is well-formed and denotes the language

$$\begin{aligned} \mathcal {L}(\xi )\mathrel {\curvearrowleft _{\Box _{q_1 p_1}}} \mathcal {L}(\alpha (q_1,p_1))\ldots \mathrel {\curvearrowleft _{\Box _{q_n p_n}}} \mathcal {L}(\alpha (q_n,p_n)) \end{aligned}$$

Let \(\mathcal {A}_1=\langle Q,Q_{0},\varDelta _1,F \rangle \) and \(\mathcal {A}_2=\langle Q,Q_{0},\varDelta _2,F \rangle \) be the non-deterministic finite-state automata (NFA) over \(\varSigma _{\varLambda }\), where \(\varDelta _1\) and \(\varDelta _2\) are defined as follows:

  • \(\varDelta _1\) is obtained from the transition relation of \(\mathcal {P}_\varLambda \) by removing all the push and pop transitions, and by adding for each pop transition of \(\mathcal {P}_\varLambda \) of the form \((q,r,\bot ,p)\), the transition (qrp);

  • \(\varDelta _2\) is obtained from the transition relation of \(\mathcal {P}_\varLambda \) by removing all the push and pop transitions, and by adding for each push transition \((q,c,p,\gamma )\) of \(\mathcal {P}_\varLambda \), the transition (qcp).

Let

$$\begin{aligned} \mathcal {L}_\textit{reg} = \bigcup _{(q_0,q,p)\in Q_0\times Q\times F} \mathcal {L}_{1,q_0,q}\cdot \mathcal {L}_{2,q,p} \end{aligned}$$

where for all \(q,p\in Q\), \(\mathcal {L}_{1,q,p}\) and \(\mathcal {L}_{2,q,p}\) are the set of words w such that there is a run of the NFA \(\mathcal {A}_1\) and NFA \(\mathcal {A}_2\) over w from q to p. Then,

$$\begin{aligned} \mathcal {L}(\mathcal {P}) = \mathcal {L}_\textit{reg}\mathrel {\curvearrowleft _{\Box _{q_1 p_1}}} \mathcal {L}(\alpha (q_1,p_1))\ldots \mathrel {\curvearrowleft _{\Box _{q_n p_n}}} \mathcal {L}(\alpha (q_n,p_n)) \end{aligned}$$

Moreover, from Kleene’s Theorem for regular expressions [18], \(\mathcal {L}_\textit{reg}\) can be effectively captured by a regular expression \(\xi \). By Claim 5 above, we obtain that the well-formed VRE

$$\begin{aligned} \xi [\Box _{q_1 p_1} \leftarrow \alpha (q_1,p_1),\ldots ,\Box _{q_n p_n} \leftarrow \alpha (q_n,p_n)] \end{aligned}$$

which denotes the language \(\mathcal {L}\)(\(\mathcal {P}\)), as desired. \(\square \)

Lemma 9

For all \((q,p)\in Q\times Q\), one can construct a well-matched VRE denoting the set of words in \( MWM (\varSigma )\) so that there is a summary of \(\mathcal {P}\) from q to p over w.

Proof

Given \((q,p)\in Q\times Q\), \(\mathcal {S}\subseteq Q\times Q\), and \(\varLambda '\subseteq \varLambda \), we define the following two languages:

  • \(S(q,p,\mathcal {S},\varLambda ')\,\mathop {=}\limits ^{\text {def}}\,\) the set of words \(w\in MWM (\varSigma _{\varLambda '})\) such that there is a summary of \(\mathcal {P}_\varLambda \) over w from q to p which uses only sub-summaries from \(\mathcal {S}\).

  • \( WM (q,p,\mathcal {S},\varLambda ')\,\mathop {=}\limits ^{\text {def}}\,\) the set of words \(w\in WM (\varSigma _{\varLambda '})\) such that there is a run of \(\mathcal {P}_\varLambda \) over w from \((q,\bot )\) to some configuration of the form \((p,\beta )\) which uses only sub-summaries from \(\mathcal {S}\) (note that \(\beta =\bot \)).

We show by induction on the cardinality of the finite set \(\mathcal {S}\) that the languages \(S(q,p,\mathcal {S},\varLambda ')\), \( WM (q,p,\mathcal {S},\varLambda ')\), and \(\{c\}\cdot WM (q,p,\mathcal {S},\varLambda ') \cdot \{r\}\) with \(c\in \varSigma _{ call }\) and \(r\in \varSigma _{ ret }\) can be effectively denoted by well-matched VRE over \(\varSigma _{\varLambda '}\). The Lemma follows from this claim.

Base case: \(\mathcal {S}=\emptyset \). The result for \(S(q,p,\emptyset ,\varLambda ')\) follows immediately because \(S(q,p,\emptyset ,\varLambda ')=\emptyset \). We only need to prove that the language \( WM (q,p,\emptyset ,\varLambda ')\) can be effectively denoted by a regular expression over the set of internal actions given by \(\varSigma _{ int }\cup \varLambda '\). Let \(\mathcal {A}=\langle Q,Q_{0},\varDelta ',F \rangle \) be the non-deterministic finite-state automaton (NFA) over \(\varSigma _{ int }\cup \varLambda '\), where \(\varDelta '\) is obtained from the transition relation of \(\mathcal {P}_\varLambda \) by removing all push and pop transitions, and all internal transitions \((q',\Box _{q'p'},p')\) with \(\Box _{q'p'}\notin \varLambda '\). Since no word in \( WM (q,p,\emptyset ,\varLambda ')\) contains occurrences of calls or occurrences of returns, \( WM (q,p,\emptyset ,\varLambda ')\) is the set of words w over \(\varSigma _{ int }\cup \varLambda '\) such that there is a run of \(\mathcal {A}\) over w from q to p. Kleene’s Theorem [18] guarantees that one can construct a regular expression over \(\varSigma _{ int }\cup \varLambda '\) denoting \( WM (q,p,\emptyset ,\varLambda ')\).

Induction step: \(\mathcal {S}\ne \emptyset \). Let \((q',p')\in \mathcal {S}\) and \(P_{q'\rightarrow p'}\) be the set:

$$\begin{aligned} \{(s,c,r,s')\in Q\times \varSigma _{ call }\times \varSigma _{ ret }\times Q\mid \textit{ there is }\gamma \in \varGamma .\, (q',c,s,\gamma ),(s',r,\gamma ,p')\in \varDelta \} \end{aligned}$$

So, \(P_{q'\rightarrow p'}\) is the set of tuples \((s,c,r,s')\) such that there is a push transition from \(q'\) to s reading the call c and a matching pop transition from \(s'\) to \(p'\) reading r. It easily follows that

$$\begin{aligned}&S(q',p',\mathcal {S},\varLambda ')\\&\quad = \Bigl (\Bigl [\displaystyle {\bigcup _{(s,c,r,s')\in P_{q'\rightarrow p'}}}\{c\}\cdot WM (s,s',\mathcal {S}\setminus \{(q',p')\},\varLambda '\cup \{\Box _{q'p'}\})\cdot \{r\}\Bigr ]^{\curvearrowleft _{\Box _{q'p'}}}\Bigr ) \curvearrowleft _{\Box _{q'p'}} \\&\qquad \quad \Bigl [\displaystyle {\bigcup _{(s,c,r,s')\in P_{q'\rightarrow p'}}}\{c\}\cdot WM (s,s',\mathcal {S}\setminus \{(q',p')\},\varLambda ')\cdot \{r\}\Bigr ] \end{aligned}$$

By the induction hypothesis, the sets \(\{c\}\cdot WM (s,s',\mathcal {S}\setminus \{(q,'p')\},\varLambda '\cup \{\Box _{q'p'}\})\cdot \{r\}\) and \(\{c\}\cdot WM (s,s',\mathcal {S}\setminus \{(q,'p')\},\varLambda ')\cdot \{r\}\) can be effectively denoted by well-matched VRE. Thus, for each \((q',p')\in \mathcal {S}\), the set \(S(q',p',\mathcal {S},\varLambda ')\) can be effectively denoted by a well-matched VRE.

Fix an ordering \(\{(p_1,q_1),\ldots ,(p_n,q_n)\}\) of \(\mathcal {S}\) and let \(\varLambda _\mathcal {S}\) be the subset of \(\varLambda \) given by \(\{\Box _{q_1 p_1},\ldots ,\Box _{q_n p_n} \}\). Now, we observe that for all calls c and returns r,

$$\begin{aligned} WM (q,p,\mathcal {S},\varLambda ')&= WM (q,p,\emptyset ,\varLambda '\cup \varLambda _\mathcal {S}) \mathrel {\curvearrowleft _{\Box _{q_1 p_1}}} (S(q_1,p_1,\mathcal {S},\varLambda ')\cup \varLambda ')\\&\quad \ldots \mathrel {\curvearrowleft _{\Box _{q_n p_n}}} (S(q_n,p_n,\mathcal {S},\varLambda ')\cup \varLambda ')\\ \{c\}\cdot WM (q,p,\mathcal {S},\varLambda ') \cdot \{r\}&= \{c\}\cdot WM (q,p,\emptyset ,\varLambda '\cup \varLambda _\mathcal {S})\cdot \{r\} \mathrel {\curvearrowleft _{\Box _{q_1 p_1}}} \\&\quad (S(q_1,p_1,\mathcal {S},\varLambda ')\cup \varLambda ')\ldots \mathrel {\curvearrowleft _{\Box _{q_n p_n}}} (S(q_n,p_n,\mathcal {S},\varLambda ')\cup \varLambda ') \end{aligned}$$

Moreover, note that if \((q,p)\notin \mathcal {S}\), then \(S(q,p,\mathcal {S},\varLambda ')=\emptyset \). Hence, the result follows. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bozzelli, L., Sánchez, C. Visibly Linear Temporal Logic. J Autom Reasoning 60, 177–220 (2018). https://doi.org/10.1007/s10817-017-9410-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-017-9410-z

Keywords

Navigation