A Constraint Solving Approach to Parikh Images of Regular Languages
Amanda Stjerna, Philipp Rümmer
Abstract
A common problem in string constraint solvers is computing the Parikh image, a linear arithmetic formula that describes all possible combinations of character counts in strings of a given language. Automata-based string solvers frequently need to compute the Parikh image of products (or intersections) of finite-state automata, in particular when solving string constraints that also include the integer data-type due to operations like string length and indexing. In this context, the computation of Parikh images often turns out to be both prohibitively slow and memory-intensive. This paper contributes a new understanding of how the reasoning about Parikh images can be cast as a constraint solving problem, and questions about Parikh images be answered without explicitly computing the product automaton or the exact Parikh image. The paper shows how this formulation can be efficiently implemented as a calculus, PC*, embedded in an automated theorem prover supporting Presburger logic. The resulting standalone tool Catra is evaluate on constraints produced by the Ostrich+ string solver when solving standard string constraint benchmarks involving integer operations. The experiments show that PC* strictly outperforms the standard approach by Verma et al. to extract Parikh images from finite-state automata, as well as the over-approximating method recently described by Janků and Turoňová by a wide margin, and for realistic timeouts (under 60 s) also the nuXmv model checker. When added as the Parikh image backend of Ostrich+ to the Ostrich string constraint solver’s portfolio, it boosts its results on the quantifier-free strings with linear integer algebra track of SMT-COMP 2023 (QF_SLIA) enough to solve the most Unsat instances in that track of all competitors.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 0b1c32e9-bc6d-4da9-9dda-163fead03efaBuilds on3
- Symbolic Boolean derivatives for efficiently solving extended regular expression constraintsCaleb Stanford, Margus Veanes, Nikolaj S. BjørnerPLDI 2021 · 38 citations
- An SMT Solver for Regular Expressions and Linear Arithmetic over String LengthMurphy Berzish, Mitja Kulczynski, Federico Mora, Florin Manea et al.CAV 2021 · 37 citations
- Z3str4: A Multi-armed String SolverFederico Mora, Murphy Berzish, Mitja Kulczynski, Dirk Nowotka et al.FM 2021 · 30 citations
Related papers
- A Uniform Framework for Handling Position Constraints in String SolvingYu-Fang Chen, Vojtech Havlena, Michal Hecko, Lukás Holík et al.PLDI 2025
- Parikh's Theorem Made SymbolicMatthew Hague, Artur Jez, Anthony W. LinPOPL 2024 · 3 citations
- The Power of Regular Constraint PropagationMatthew Hague, Artur Jez, Anthony Widjaja Lin, Oliver Markgraf et al.OOPSLA 2025 · 2 citations
- Solving String Constraints Using SATKevin Lotz, Amit Goel, Bruno Dutertre, Benjamin Kiesl-Reiter et al.CAV 2023 · 11 citations
- Solving String Constraints with Lengths by StabilizationYu-Fang Chen, David Chocholatý, Vojtech Havlena, Lukás Holík et al.OOPSLA 2023 · 18 citations
