Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Parikh’s Theorem Made Symbolic

Published: 05 January 2024 Publication History

Abstract

Parikh’s Theorem is a fundamental result in automata theory with numerous applications in computer science. These include software verification (e.g. infinite-state verification, string constraints, and theory of arrays), verification of cryptographic protocols (e.g. using Horn clauses modulo equational theories) and database querying (e.g. evaluating path-queries in graph databases), among others. Parikh’s Theorem states that the letter-counting abstraction of a language recognized by finite automata or context-free grammars is definable in Linear Integer Arithmetic (a.k.a. Presburger Arithmetic). In fact, there is a linear-time algorithm computing existential Presburger formulas capturing such abstractions, which enables an efficient analysis via SMT-solvers. Unfortunately, real-world applications typically require large alphabets (e.g. Unicode, containing a ‍million of characters) — which are well-known to be not amenable to explicit treatment of the alphabets — or even worse infinite alphabets.
Symbolic automata have proven in the last decade to be an effective algorithmic framework for handling large finite or even infinite alphabets. A symbolic automaton employs an effective boolean algebra, which offers a symbolic representation of character sets (i.e. in terms of predicates) and often lends itself to an exponentially more succinct representation of a language. Instead of letter-counting, Parikh’s Theorem for symbolic automata amounts to counting the number of times different predicates are satisfied by an input sequence. Unfortunately, naively applying Parikh’s Theorem from classical automata theory to symbolic automata yields existential Presburger formulas of exponential size. In this paper, we provide a new construction for Parikh’s Theorem for symbolic automata and grammars, which avoids this exponential blowup: our algorithm computes an existential formula in polynomial-time over (quantifier-free) Presburger and the base theory. In fact, our algorithm extends to the model of parametric symbolic grammars, which are one of the most expressive models of languages over infinite alphabets. We have implemented our algorithm and show it can be used to solve string constraints that are difficult to solve by existing solvers.

References

[1]
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen, Bui Phi Diep, Lukás Holík, Ahmed Rezine, and Philipp Rümmer. 2017. Flatten and conquer: a framework for efficient analysis of string constraints. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, Barcelona, Spain, June 18-23, 2017, Albert Cohen and Martin T. Vechev (Eds.). ACM, 602–617. https://doi.org/10.1145/3062341.3062384
[2]
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen, Bui Phi Diep, Lukás Holík, Ahmed Rezine, and Philipp Rümmer. 2018. Trau: SMT solver for string constraints. In 2018 Formal Methods in Computer Aided Design, FMCAD 2018, Austin, TX, USA, October 30 - November 2, 2018, Nikolaj S. Bjørner and Arie Gurfinkel (Eds.). IEEE, 1–5. https://doi.org/10.23919/FMCAD.2018.8602997
[3]
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen, Lukás Holík, Ahmed Rezine, Philipp Rümmer, and Jari Stenman. 2014. String Constraints for Verification. In Computer Aided Verification - 26th International Conference, CAV 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, July 18-22, 2014. Proceedings, Armin Biere and Roderick Bloem (Eds.) (Lecture Notes in Computer Science, Vol. 8559). Springer, 150–166. https://doi.org/10.1007/978-3-319-08867-9_10
[4]
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Bui Phi Diep, Lukás Holík, and Petr Janku. 2019. Chain-Free String Constraints. In Automated Technology for Verification and Analysis - 17th International Symposium, ATVA 2019, Taipei, Taiwan, October 28-31, 2019, Proceedings, Yu-Fang Chen, Chih-Hong Cheng, and Javier Esparza (Eds.) (Lecture Notes in Computer Science, Vol. 11781). Springer, 277–293. https://doi.org/10.1007/978-3-030-31784-3_16
[5]
Roberto Amadini, Mak Andrlon, Graeme Gange, Peter Schachte, Harald Søndergaard, and Peter J. Stuckey. 2019. Constraint Programming for Dynamic Symbolic Execution of JavaScript. In Integration of Constraint Programming, Artificial Intelligence, and Operations Research - 16th International Conference, CPAIOR 2019, Thessaloniki, Greece, June 4-7, 2019, Proceedings, Louis-Martin Rousseau and Kostas Stergiou (Eds.) (Lecture Notes in Computer Science, Vol. 11494). Springer, 1–19. https://doi.org/10.1007/978-3-030-19212-9_1
[6]
Haniel Barbosa, Clark W. Barrett, Martin Brain, Gereon Kremer, Hanna Lachnitt, Makai Mann, Abdalrhman Mohamed, Mudathir Mohamed, Aina Niemetz, Andres Nötzli, Alex Ozdemir, Mathias Preiner, Andrew Reynolds, Ying Sheng, Cesare Tinelli, and Yoni Zohar. 2022. cvc5: A Versatile and Industrial-Strength SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part I, Dana Fisman and Grigore Rosu (Eds.) (Lecture Notes in Computer Science, Vol. 13243). Springer, 415–442. https://doi.org/10.1007/978-3-030-99524-9_24
[7]
Pablo Barceló, Leonid Libkin, Anthony Widjaja Lin, and Peter T. Wood. 2012. Expressive Languages for Path Queries over Graph-Structured Data. ACM Trans. Database Syst., 37, 4 (2012), 31:1–31:46. https://doi.org/10.1145/2389241.2389250
[8]
S. Barner. 2006. H3 mit Gleichheitstheorien. Technische Universitaet Muenchen.
[9]
Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2017. The SMT-LIB Standard: Version 2.6. Department of Computer Science, The University of Iowa. Available at www.SMT-LIB.org
[10]
Michael Benedikt, Rastislav Lenhardt, and James Worrell. 2013. LTL Model Checking of Interval Markov Chains. In Tools and Algorithms for the Construction and Analysis of Systems - 19th International Conference, TACAS 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings, Nir Piterman and Scott A. Smolka (Eds.) (Lecture Notes in Computer Science, Vol. 7795). Springer, 32–46. https://doi.org/10.1007/978-3-642-36742-7_3
[11]
Frantisek Blahoudek, Yu-Fang Chen, David Chocholatý, Vojtech Havlena, Lukás Holík, Ondrej Lengál, and Juraj Síc. 2023. Word Equations in Synergy with Regular Constraints. In Formal Methods - 25th International Symposium, FM 2023, Lübeck, Germany, March 6-10, 2023, Proceedings, Marsha Chechik, Joost-Pieter Katoen, and Martin Leucker (Eds.) (Lecture Notes in Computer Science, Vol. 14000). Springer, 403–423. https://doi.org/10.1007/978-3-031-27481-7_23
[12]
Ahmed Bouajjani, Javier Esparza, and Tayssir Touili. 2003. A generic approach to the static analysis of concurrent programs with procedures. In Conference Record of POPL 2003: The 30th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New Orleans, Louisisana, USA, January 15-17, 2003, Alex Aiken and Greg Morrisett (Eds.). ACM, 62–73. https://doi.org/10.1145/604131.604137
[13]
Paul Brunet and Alexandra Silva. 2019. A Kleene Theorem for Nominal Automata. In 46th International Colloquium on Automata, Languages, and Programming, ICALP 2019, July 9-12, 2019, Patras, Greece, Christel Baier, Ioannis Chatzigiannakis, Paola Flocchini, and Stefano Leonardi (Eds.) (LIPIcs, Vol. 132). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 107:1–107:13. https://doi.org/10.4230/LIPIcs.ICALP.2019.107
[14]
Taolue Chen, Alejandro Flores-Lamas, Matthew Hague, Zhilei Han, Denghang Hu, Shuanglong Kan, Anthony W. Lin, Philipp Rümmer, and Zhilin Wu. 2022. Solving string constraints with Regex-dependent functions through transducers with priorities and variables. Proc. ACM Program. Lang., 6, POPL (2022), 1–31. https://doi.org/10.1145/3498707
[15]
Taolue Chen, Matthew Hague, Jinlong He, Denghang Hu, Anthony Widjaja Lin, Philipp Rümmer, and Zhilin Wu. 2020. A Decision Procedure for Path Feasibility of String Manipulating Programs with Integer Data Type. In Automated Technology for Verification and Analysis - 18th International Symposium, ATVA 2020, Hanoi, Vietnam, October 19-23, 2020, Proceedings. 325–342. https://doi.org/10.1007/978-3-030-59152-6_18
[16]
Taolue Chen, Matthew Hague, Anthony W. Lin, Philipp Rümmer, and Zhilin Wu. 2019. Decision procedures for path feasibility of string-manipulating programs with complex operations. Proc. ACM Program. Lang., 3, POPL (2019), 49:1–49:30. https://doi.org/10.1145/3290362
[17]
Aske Simon Christensen, Anders Møller, and Michael I. Schwartzbach. 2003. Precise Analysis of String Expressions. In Static Analysis, 10th International Symposium, SAS 2003, San Diego, CA, USA, June 11-13, 2003, Proceedings, Radhia Cousot (Ed.) (Lecture Notes in Computer Science, Vol. 2694). Springer, 1–18. https://doi.org/10.1007/3-540-44898-5_1
[18]
Przemyslaw Daca, Thomas A. Henzinger, and Andrey Kupriyanov. 2016. Array Folds Logic. In Computer Aided Verification - 28th International Conference, CAV 2016, Toronto, ON, Canada, July 17-23, 2016, Proceedings, Part II, Swarat Chaudhuri and Azadeh Farzan (Eds.) (Lecture Notes in Computer Science, Vol. 9780). Springer, 230–248. https://doi.org/10.1007/978-3-319-41540-6_13
[19]
Loris D’Antoni and Rajeev Alur. 2014. Symbolic Visibly Pushdown Automata. In Computer Aided Verification - 26th International Conference, CAV 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, July 18-22, 2014. Proceedings, Armin Biere and Roderick Bloem (Eds.) (Lecture Notes in Computer Science, Vol. 8559). Springer, 209–225. https://doi.org/10.1007/978-3-319-08867-9_14
[20]
Loris D’Antoni, Tiago Ferreira, Matteo Sammartino, and Alexandra Silva. 2019. Symbolic Register Automata. In CAV, Isil Dillig and Serdar Tasiran (Eds.). 11561, Springer, 3–21. https://doi.org/10.1007/978-3-030-25540-4_1
[21]
Loris D’Antoni and Margus Veanes. 2017. The Power of Symbolic Automata and Transducers. In Computer Aided Verification - 29th International Conference, CAV 2017, Heidelberg, Germany, July 24-28, 2017, Proceedings, Part I, Rupak Majumdar and Viktor Kuncak (Eds.) (Lecture Notes in Computer Science, Vol. 10426). Springer, 47–67. https://doi.org/10.1007/978-3-319-63387-9_3
[22]
Loris D’Antoni and Margus Veanes. 2021. Automata modulo theories. Commun. ACM, 64, 5 (2021), 86–95. https://doi.org/10.1145/3419404
[23]
Claire David, Leonid Libkin, and Tony Tan. 2012. Efficient reasoning about data trees via integer linear programming. ACM Trans. Database Syst., 37, 3 (2012), 19:1–19:28. https://doi.org/10.1145/2338626.2338632
[24]
L. Mendonça de Moura and N. Bjørner. 2008. Z3: An Efficient SMT Solver. In TACAS (Lecture Notes in Computer Science, Vol. 4963). Springer, 337–340. https://doi.org/10.1007/978-3-540-78800-3_24
[25]
Friedrich Eisenbrand and Gennady Shmonin. 2006. Carathéodory bounds for integer cones. Operations Research Letters, 34, 5 (2006), 564–568. issn:0167-6377 https://doi.org/10.1016/j.orl.2005.09.008
[26]
Javier Esparza. 1997. Petri Nets, Commutative Context-Free Grammars, and Basic Parallel Processes. Fundam. Informaticae, 31, 1 (1997), 13–25. https://doi.org/10.3233/FI-1997-3112
[27]
Javier Esparza and Pierre Ganty. 2011. Complexity of pattern-based verification for multithreaded programs. In Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2011, Austin, TX, USA, January 26-28, 2011, Thomas Ball and Mooly Sagiv (Eds.). ACM, 499–510. https://doi.org/10.1145/1926385.1926443
[28]
Rachel Faran and Orna Kupferman. 2020. On Synthesis of Specifications with Arithmetic. In SOFSEM 2020: Theory and Practice of Computer Science - 46th International Conference on Current Trends in Theory and Practice of Informatics, SOFSEM 2020, Limassol, Cyprus, January 20-24, 2020, Proceedings, Alexander Chatzigeorgiou, Riccardo Dondi, Herodotos Herodotou, Christos A. Kapoutsis, Yannis Manolopoulos, George A. Papadopoulos, and Florian Sikora (Eds.) (Lecture Notes in Computer Science, Vol. 12011). Springer, 161–173. https://doi.org/10.1007/978-3-030-38919-2_14
[29]
Diego Figueira, Artur Jeż, and Anthony W. Lin. 2022. Data Path Queries over Embedded Graph Databases. In PODS ’22: International Conference on Management of Data, Philadelphia, PA, USA, June 12 - 17, 2022. 189–201. https://doi.org/10.1145/3517804.3524159
[30]
Diego Figueira and Anthony Widjaja Lin. 2022. Reasoning on Data Words over Numeric Domains. In LICS ’22: 37th Annual ACM/IEEE Symposium on Logic in Computer Science, Haifa, Israel, August 2 - 5, 2022. 37:1–37:13. https://doi.org/10.1145/3531130.3533354
[31]
Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, and Peter J. Stuckey. 2015. A Tool for Intersecting Context-Free Grammars and Its Applications. In NASA Formal Methods - 7th International Symposium, NFM 2015, Pasadena, CA, USA, April 27-29, 2015, Proceedings, Klaus Havelund, Gerard J. Holzmann, and Rajeev Joshi (Eds.) (Lecture Notes in Computer Science, Vol. 9058). Springer, 422–428. https://doi.org/10.1007/978-3-319-17524-9_31
[32]
Graeme Gange, Jorge A. Navas, Peter Schachte, Harald Søndergaard, and Peter J. Stuckey. 2016. A complete refinement procedure for regular separability of context-free languages. Theor. Comput. Sci., 625 (2016), 1–24. https://doi.org/10.1016/j.tcs.2016.01.026
[33]
Orna Grumberg, Orna Kupferman, and Sarai Sheinvald. 2010. Variable Automata over Infinite Alphabets. In Language and Automata Theory and Applications, 4th International Conference, LATA 2010, Trier, Germany, May 24-28, 2010. Proceedings, Adrian-Horia Dediu, Henning Fernau, and Carlos Martín-Vide (Eds.) (Lecture Notes in Computer Science, Vol. 6031). Springer, 561–572. https://doi.org/10.1007/978-3-642-13089-2_47
[34]
Matthew Hague and Anthony Widjaja Lin. 2011. Model Checking Recursive Programs with Numeric Data Types. In Computer Aided Verification - 23rd International Conference, CAV 2011, Snowbird, UT, USA, July 14-20, 2011. Proceedings. 743–759. https://doi.org/10.1007/978-3-642-22110-1_60
[35]
Matthew Hague and Anthony Widjaja Lin. 2012. Synchronisation- and Reversal-Bounded Analysis of Multithreaded Programs with Counters. In Computer Aided Verification - 24th International Conference, CAV 2012, Berkeley, CA, USA, July 7-13, 2012 Proceedings. 260–276. https://doi.org/10.1007/978-3-642-31424-7_22
[36]
Piotr Hofman, Marta Juzepczuk, Slawomir Lasota, and Mohnish Pattathurajan. 2021. Parikh’s theorem for infinite alphabets. In 36th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2021, Rome, Italy, June 29 - July 2, 2021. IEEE, 1–13. https://doi.org/10.1109/LICS52264.2021.9470626
[37]
Petr Janku and Lenka Turonová. 2019. Solving String Constraints with Approximate Parikh Image. In Computer Aided Systems Theory - EUROCAST 2019 - 17th International Conference, Las Palmas de Gran Canaria, Spain, February 17-22, 2019, Revised Selected Papers, Part I, Roberto Moreno-Díaz, Franz Pichler, and Alexis Quesada-Arencibia (Eds.) (Lecture Notes in Computer Science, Vol. 12013). Springer, 491–498. https://doi.org/10.1007/978-3-030-45093-9_59
[38]
Artur Jeż, Anthony W. Lin, Oliver Markgraf, and Philipp Rümmer. 2023. Decision Procedures for Sequence Theories. In Computer Aided Verification - 35th International Conference, CAV 2023, Paris, France, July 17-22, 2023, Proceedings, Part II, Constantin Enea and Akash Lal (Eds.) (Lecture Notes in Computer Science, Vol. 13965). Springer, 18–40. https://doi.org/10.1007/978-3-031-37703-7_2
[39]
Eryk Kopczynski and Anthony Widjaja To. 2010. Parikh Images of Grammars: Complexity and Applications. In Proceedings of the 25th Annual IEEE Symposium on Logic in Computer Science, LICS 2010, 11-14 July 2010, Edinburgh, United Kingdom. 80–89. https://doi.org/10.1109/LICS.2010.21
[40]
Dexter C. Kozen. 1997. Automata and Computability. Springer.
[41]
Daniel Kroening and Ofer Strichman. 2008. Decision Procedures. Springer. isbn:978-3-540-74104-6 https://doi.org/10.1007/978-3-540-74105-3
[42]
François Laroussinie, Antoine Meyer, and Eudes Petonnet. 2010. Counting LTL. In TIME 2010 - 17th International Symposium on Temporal Representation and Reasoning, Paris, France, 6-8 September 2010, Nicolas Markey and Jef Wijsen (Eds.). IEEE Computer Society, 51–58. https://doi.org/10.1109/TIME.2010.20
[43]
François Laroussinie, Antoine Meyer, and Eudes Petonnet. 2012. Counting CTL. Log. Methods Comput. Sci., 9, 1 (2012), 1–34. https://doi.org/10.2168/LMCS-9(1:3)2013
[44]
Anthony Widjaja Lin and Pablo Barceló. 2016. String solving with word equations and transducers: towards a logic for analysing mutation XSS. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, January 20 - 22, 2016. 123–136. https://doi.org/10.1145/2837614.2837641
[45]
Zhenyue Long, Georgel Calin, Rupak Majumdar, and Roland Meyer. 2012. Language-Theoretic Abstraction Refinement. In Fundamental Approaches to Software Engineering - 15th International Conference, FASE 2012, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2012, Tallinn, Estonia, March 24 - April 1, 2012. Proceedings, Juan de Lara and Andrea Zisman (Eds.) (Lecture Notes in Computer Science, Vol. 7212). Springer, 362–376. https://doi.org/10.1007/978-3-642-28872-2_25
[46]
Blake Loring, Duncan Mitchell, and Johannes Kinder. 2019. Sound regular expression semantics for dynamic symbolic execution of JavaScript. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, Phoenix, AZ, USA, June 22-26, 2019, Kathryn S. McKinley and Kathleen Fisher (Eds.). ACM, 425–438. https://doi.org/10.1145/3314221.3314645
[47]
Yasuhiko Minamide. 2005. Static approximation of dynamically generated Web pages. In Proceedings of the 14th international conference on World Wide Web, WWW 2005, Chiba, Japan, May 10-14, 2005, Allan Ellis and Tatsuya Hagino (Eds.). ACM, 432–441. https://doi.org/10.1145/1060745.1060809
[48]
Joshua Moerman, Matteo Sammartino, Alexandra Silva, Bartek Klin, and Michal Szynwelski. 2017. Learning nominal automata. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, Paris, France, January 18-20, 2017, Giuseppe Castagna and Andrew D. Gordon (Eds.). ACM, 613–625. https://doi.org/10.1145/3009837.3009879
[49]
Dan Moseley, Mario Nishio, Jose Perez Rodriguez, Olli Saarikivi, Stephen Toub, Margus Veanes, Tiki Wan, and Eric Xu. 2023. Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking Semantics. Proc. ACM Program. Lang., 7, PLDI (2023), 1026–1049. https://doi.org/10.1145/3591262
[50]
Greg Nelson and Derek C. Oppen. 1979. Simplification by Cooperating Decision Procedures. ACM Trans. Program. Lang. Syst., 1, 2 (1979), oct, 245–257. issn:0164-0925 https://doi.org/10.1145/357073.357079
[51]
Rohit Parikh. 1966. On Context-Free Languages. J. ACM, 13, 4 (1966), 570–581. https://doi.org/10.1145/321356.321364
[52]
Long H. Pham, Quang Loc Le, Quoc-Sang Phan, Jun Sun, and Shengchao Qin. 2018. Testing heap-based programs with Java StarFinder. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, ICSE 2018, Gothenburg, Sweden, May 27 - June 03, 2018, Michel Chaudron, Ivica Crnkovic, Marsha Chechik, and Mark Harman (Eds.). ACM, 268–269. https://doi.org/10.1145/3183440.3194964
[53]
Rodrigo Raya. 2023. The Complexity of Checking Non-Emptiness in Symbolic Tree Automata. https://infoscience.epfl.ch/record/304426
[54]
Prateek Saxena, Devdatta Akhawe, Steve Hanna, Feng Mao, Stephen McCamant, and Dawn Song. 2010. A Symbolic Execution Framework for JavaScript. In 31st IEEE Symposium on Security and Privacy, S&P 2010, 16-19 May 2010, Berleley/Oakland, California, USA. IEEE Computer Society, 513–528. https://doi.org/10.1109/SP.2010.38
[55]
Michael Sipser. 2013. Introduction to the Theory of Computation (third ed.). Course Technology, Boston, MA. isbn:113318779X
[56]
2022. The International Satisfiability Modulo Theories (SMT) Competition 2022. https://smt-comp.github.io/2022/ Accessed: 7 July 2023
[57]
Caleb Stanford, Margus Veanes, and Nikolaj S. Bjørner. 2021. Symbolic Boolean derivatives for efficiently solving extended regular expression constraints. In PLDI ’21: 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Virtual Event, Canada, June 20-25, 2021, Stephen N. Freund and Eran Yahav (Eds.). ACM, 620–635. https://doi.org/10.1145/3453483.3454066
[58]
2023. Parikh’s Theorem Made Symbolic: Artifact. https://doi.org/10.5281/zenodo.10125861 Accessed: 23 October 2023
[59]
2023. Parikh’s Theorem Made Symbolic. https://gitlab.cim.rhul.ac.uk/uxac009/symparikh Accessed: 23 October 2023
[60]
Anthony Widjaja To. 2009. Model Checking FO(R) over One-Counter Processes and beyond. In Computer Science Logic, 23rd international Workshop, CSL 2009, 18th Annual Conference of the EACSL, Coimbra, Portugal, September 7-11, 2009. Proceedings, Erich Grädel and Reinhard Kahle (Eds.) (Lecture Notes in Computer Science, Vol. 5771). Springer, 485–499. https://doi.org/10.1007/978-3-642-04027-6_35
[61]
2023. OSTRICH. https://github.com/uuverifiers/ostrich Accessed: 12 June 2023
[62]
Margus Veanes, Pieter Hooimeijer, Benjamin Livshits, David Molnar, and Nikolaj Bjorner. 2012. Symbolic Finite State Transducers: Algorithms and Applications. SIGPLAN Not., 47, 1 (2012), jan, 137–150. issn:0362-1340 https://doi.org/10.1145/2103621.2103674
[63]
Kumar Neeraj Verma, Helmut Seidl, and Thomas Schwentick. 2005. On the Complexity of Equational Horn Clauses. In Automated Deduction - CADE-20, 20th International Conference on Automated Deduction, Tallinn, Estonia, July 22-27, 2005, Proceedings, Robert Nieuwenhuis (Ed.) (Lecture Notes in Computer Science, Vol. 3632). Springer, 337–352. https://doi.org/10.1007/11532231_25

Cited By

View all
  • (2024)Succinct ordering and aggregation constraints in algebraic array theoriesJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100978140(100978)Online publication date: Aug-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Programming Languages
Proceedings of the ACM on Programming Languages  Volume 8, Issue POPL
January 2024
2820 pages
EISSN:2475-1421
DOI:10.1145/3554315
Issue’s Table of Contents
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 January 2024
Published in PACMPL Volume 8, Issue POPL

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. Abstraction
  2. Decision Procedures
  3. Infinite Alphabets
  4. Satisfiability Modulo Theories
  5. Sequence Theory
  6. String Constraints
  7. Symbolic Automata

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)390
  • Downloads (Last 6 weeks)44
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Succinct ordering and aggregation constraints in algebraic array theoriesJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.100978140(100978)Online publication date: Aug-2024

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media