Abstract
We propose a lazy decision procedure for the logic WS\(k\)S. It builds a term-based symbolic representation of the state space of the tree automaton (TA) constructed by the classical WS\(k\)S decision procedure. The classical decision procedure transforms the symbolic representation into a TA via a bottom-up traversal and then tests its language non-emptiness, which corresponds to satisfiability of the formula. On the other hand, we start evaluating the representation from the top, construct the state space on the fly, and utilize opportunities to prune away parts of the state space irrelevant to the language emptiness test. In order to do so, we needed to extend the notion of language terms (denoting language derivatives) used in our previous procedure for the linear fragment of the logic (the so-called WS1S) into automata terms. We implemented our decision procedure and identified classes of formulae on which our prototype implementation is significantly faster than the classical procedure implemented in the Mona tool.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
Note that our definition of projection differs from the usual one, which would create a symbol over the alphabet \({\mathbb {X}}\setminus {\mathbb {Y}}\); in the example, it would produce a single symbol \(\{Y \mapsto 0\}\) over the alphabet of symbols over \(\{Y\}\).
The implementation is available at https://github.com/vhavlena/lazy-wsks.
References
Abdulla, P.A., Chen, Y.F., Holík, L., Mayr, R., Vojnar, T.: When simulation meets antichains (on Checking language inclusion of NFAs). In: TACAS’10, LNCS, vol. 6015, pp. 158–174. Springer (2010)
Basin, D., Klarlund, N.: Automata based symbolic reasoning in hardware verification. In: CAV’98, LNCS, pp. 349–361. Springer (1998)
Baukus, K., Bensalem, S., Lakhnech, Y., Stahl, K.: Abstracting WS1S systems to verify parameterized networks. In: TACAS’00, LNCS, vol. 1785, pp. 188–203. Springer (2000)
Bodeveix, J., Filali, M.: FMona: A tool for expressing validation techniques over infinite state systems. In: TACAS’00, LNCS, vol. 1785, pp. 204–219. Springer (2000)
Bouajjani, A., Habermehl, P., Holík, L., Touili, T., Vojnar, T.: Antichain-based universality and inclusion testing over nondeterministic finite tree automata. In: CIAA’08, LNCS, vol. 5148, pp. 57–67. Springer (2008)
Bozga, M., Iosif, R., Sifakis, J.: Structural invariants for parametric verification of systems with almost linear architectures. Tech. Rep. arXiv:1902.02696 (2019)
Büchi, J.R.: On a decision method in restricted second-order arithmetic. In: International Congress on Logic, Methodology, and Philosophy of Science, pp. 1–11. Stanford University Press (1962)
Chin, W., David, C., Nguyen, H.H., Qin, S.: Automated verification of shape, size and bag properties via user-defined predicates in separation logic. Sci. Comput. Program. 77(9), 1006–1036 (2012)
Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree automata techniques and applications (2008)
D’Antoni, L., Veanes, M.: Minimization of symbolic automata. In: POPL’14., pp. 541–554 (2014)
Doyen, L., Raskin, J.F.: Antichain algorithms for finite automata. In: TACAS’10, LNCS, vol. 6015, pp. 2–22. Springer (2010)
Elgaard, J., Klarlund, N., Møller, A.: MONA 1.x: New techniques for WS1S and WS2S. In: CAV’98. LNCS, vol. 1427, pp. 516–520. Department of Computer Science, Aarhus University, Springer, BRICS (1998)
Fiedor, T., Holík, L., Janků, P., Lengál, O., Vojnar, T.: Lazy automata techniques for WS1S. In: TACAS’17, LNCS, vol. 10205, pp. 407–425. Springer (2017)
Fiedor, T., Holík, L., Lengál, O., Vojnar, T.: Nested antichains for WS1S. In: TACAS’15, LNCS, vol. 9035. Springer (2015)
Ganzow, T., Kaiser, L.: New Algorithm for weak monadic second-order logic on inductive structures. In: CSL’10, LNCS, vol. 6247, pp. 366–380. Springer (2010)
Glenn, J., Gasarch, W.: Implementing WS1S via finite automata. In: Workshop on Implementing Automata, LNCS, vol. 1260, pp. 50–63. Springer (1996)
Habermehl, P., Holík, L., Rogalewicz, A., Šimáček, J., Vojnar, T.: Forest automata for verification of heap manipulation. Formal Methods Syst. Des. 41(1), 83–106 (2012)
Hamza, J., Jobstmann, B., Kuncak, V.: Synthesis for regular specifications over unbounded domains. In: FMCAD’10, pp. 101–109. IEEE Computer Science (2010)
Havlena, V., Holík, L., Lengál, O., Vojnar, T.: Automata terms in a lazy WS\(k\)S decision procedure. In: Proceedings of of CADE-27, LNCS, vol. 11716, pp. 300–318. Springer (2019)
Hune, T., Sandholm, A.: A case study on using automata in control synthesis. In: FASE’00, LNCS, vol. 1783, pp. 349–362. Springer (2000)
Klarlund, N.: A theory of restrictions for logics and automata. In: CAV’99, LNCS, vol. 1633, pp. 406–417. Springer (1999)
Klarlund, N., Møller, A.: MONA Version 1.4 user manual. BRICS, Department of Computer Science, Aarhus University (2001). Notes Series NS-01-1. Available from http://www.brics.dk/mona/. Revision of BRICS NS-98-3
Klarlund, N., Møller, A., Schwartzbach, M.I.: MONA implementation secrets. Int. J. Found. Comput. Sci. 13(4), 571–586 (2002)
Klarlund, N., Nielsen, M., Sunesen, K.: A case study in automated verification based on trace abstractions. In: Formal System Specification, The RPC-Memory Specification Case Study, LNCS, vol. 1169. Springer (1996)
Madhusudan, P., Parlato, G., Qiu, X.: Decidable logics combining heap structures and data. In: POPL’11, pp. 611–622. ACM (2011)
Madhusudan, P., Qiu, X.: Efficient decision procedures for heaps using STRAND. In: SAS’11, LNCS, vol. 6887, pp. 43–59. Springer (2011)
Margaria, T., Steffen, B., Topnik, C.: Second-order value numbering. In: GraMoT’10, ECEASST, vol. 30, pp. 1–15. EASST (2010)
Møller, A., Schwartzbach, M.: The pointer assertion logic engine. In: PLDI’01. ACM Press (2001). Also in SIGPLAN Notices 36(5) (2001)
Morawietz, F., Cornell, T.: The logic-automaton connection in linguistics. In: LACL’97, LNAI, vol. 1582. Springer (1997)
Rabin, M.O.: Decidability of second order theories and automata on infinite trees. Trans. Am. Math. Soc. 141, 1–35 (1969)
Sandholm, A., Schwartzbach, M.I.: Distributed safety controllers for web services. In: FASE’98, pp. 270–284. Springer (1998)
Smith, M.A., Klarlund, N.: Verification of a sliding window protocol using IOA and MONA. In: FORTE/PSTV’00, IFIP, vol. 183, pp. 19–34. Kluwer (2000)
Stockmeyer, L.J., Meyer, A.R.: Word problems requiring exponential time (preliminary report). In: Fifth Annual ACM Symposium on Theory of Computing. STOC’73, pp. 1–9. ACM, New York (1973)
Tateishi, T., Pistoia, M., Tripp, O.: Path- and index-sensitive string analysis based on monadic second-order logic. ACM Trans. Comput. Log. 22(4), 33:1–33:33 (2013)
Thatcher, J.W., Wright, J.B.: Generalized finite automata theory with an application to a decision problem of second-order logic. Math. Syst. Theory 2(1), 57–81 (1968)
Topnik, C., Wilhelm, E., Margaria, T., Steffen, B.: jMosel: a stand-alone tool and jABC plugin for M2L(Str). In: SPIN’06, LNCS, vol. 3925, pp. 293–298. Springer (2006)
Traytel, D.: A coalgebraic decision procedure for WS1S. In: 24th EACSL Annual Conference on Computer Science Logic (CSL’15). Leibniz International Proceedings in Informatics (LIPIcs), vol. 41, pp. 487–503. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany (2015)
Wies, T., Muñiz, M., Kuncak, V.: An efficient decision procedure for imperative tree data structures. In: CADE’11, LNCS, vol. 6803, pp. 476–491. Springer (2011)
Wulf, M.D., Doyen, L., Henzinger, T.A., Raskin, J.F.: Antichains: a new algorithm for checking universality of finite automata. In: CAV’06, LNCS, vol. 4144, pp. 17–30. Springer (2006)
Wulf, M.D., Doyen, L., Maquet, N., Raskin, J.F.: Antichains: alternative algorithms for LTL satisfiability and model-checking. In: TACAS’08, LNCS, vol. 4693. Springer (2008)
Wulf, M.D., Doyen, L., Raskin, J.F.: A lattice theory for solving games of imperfect information. In: HSCC’06, LNCS, vol. 3927. Springer (2006)
Zee, K., Kuncak, V., Rinard, M.C.: Full functional verification of linked data structures. In: POPL’08, pp. 349–361. ACM (2008)
Zhou, M., He, F., Wang, B., Gu, M., Sun, J.: Array theory of bounded elements and its applications. J. Autom. Reason. 52(4), 379–405 (2014)
Acknowledgements
We thank the anonymous reviewers, both of the conference and the journal version of the paper, for their careful reading of the drafts, the spotted bugs, and the helpful comments on how to improve the exposition in this paper. This work was supported by the Czech Science Foundation project 19-24397S, the FIT BUT internal project FIT-S-20-6427, and The Ministry of Education, Youth and Sports from the National Programme of Sustainability (NPU II) project IT4Innovations excellence in science—LQ1602.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Havlena, V., Holík, L., Lengál, O. et al. Automata Terms in a Lazy WSkS Decision Procedure. J Autom Reasoning 65, 971–999 (2021). https://doi.org/10.1007/s10817-021-09597-w
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-021-09597-w