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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
Recall that \(F\subseteq \mathsf {M}\) and moves from secondary states lead to secondary states as well.
AJA are strictly more expressive than their non-deterministic counterpart [10].
References
Alur, R.: Marrying words and trees. In: Proceedings of 26th PODS, pp. 233–242. ACM (2007)
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)
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)
Alur, R., Madhusudan, P.: Visibly pushdown languages. In: Proceedings of 36th STOC, pp. 202–211. ACM (2004)
Alur, R., Madhusudan, P.: Adding nesting structure to words. J. ACM 56(3), 1–43 (2009)
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)
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)
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)
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)
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)
Bozzelli, L., Sánchez, C.: Visibly rational expressions. In: Proceedings of FSTTCS, LIPIcs 18, pp. 211–223 (2012)
Bozzelli, L., Sánchez, C.: Visibly rational expressions. Acta Inf. 51(1), 25–49 (2014)
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)
Dax, C., Klaetke, F., Lange, M.: On regular temporal logic with past. Acta Inf. 47, 251–277 (2010)
Fischer, M.J., Ladner, R.E.: Propositional dynamic logic of regular programs. J. Comput. Syst. Sci. 18(2), 194–211 (1979)
Henriksen, J.G., Thiagarajan, P.S.: Dynamic linear time temporal logic. Ann. Pure Appl. Log. 96(1–3), 187–207 (1999)
IEEE Standard for Property Specification Language (PSL): IEEE Standard 1850–2010, (2010)
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)
Kupferman, O., Vardi, M.Y.: Weak alternating automata are not that weak. ACM Trans. Comput. Log. 2(3), 408–429 (2001)
Kupferman, O., Vardi, M.Y., Wolper, P.: An automata-theoretic approach to branching-time model checking. J. ACM 47(2), 312–360 (2000)
Leucker, M., Sánchez, C.: Regular linear temporal logic. In: Proceedings of 4th ICTAC. LNCS, vol. 4711, pp. 291–305. Springer, Berlin (2007)
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)
Madhusudan, P., Viswanathan, M.: Query automata for XML nested words. In: Proceedings of 34th MFCS. LNCS, vol. 5734, pp. 561–573. Springer, Berlin (2009)
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)
Miyano, S., Hayashi, T.: Alternating finite automata on \(\omega \)-words. Theor. Comput. Sci. 32, 321–330 (1984)
Muller, D., Schupp, P.: Alternating automata on infinite trees. Theor. Comput. Sci. 54, 267–276 (1987)
Pnueli, A.: The temporal logic of programs. In: Proceedings of 18th FOCS, pp. 46–57. IEEE Computer Society (1977)
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)
Sánchez, C., Samborski-Forlese, J.: Efficient regular linear temporal logic using dualization and stratification. In: Proceedings of 19th TIME, pp. 13–20 (2012)
Stockmeyer, L.J., Meyer, A.R.: Word problems requiring exponential time: preliminary report. In: Proceedings of 5th STOC, pp. 1–9. ACM (1973)
Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Inf. Comput. 115, 1–37 (1994)
Weinert, A., Zimmermann, M.: Visibly linear dynamic logic. In: Proceedings of 36th FSTTCS, LIPIcs (2016) (To appear)
Wolper, P.: Temporal logic can be more expressive. Inf. Control 56, 72–99 (1983)
Zielonka, W.: Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theor. Comput. Sci. 200(1–2), 135–183 (1998)
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
Corresponding author
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
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
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
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 (q, r, p);
-
\(\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 (q, c, p).
Let
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,
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
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:
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
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,
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-017-9410-z