Program Specialization as a Tool for Solving Word Equations

Antonina Nepeivoda

The paper focuses on the automatic generating of the witnesses for the word equation satisfiability problem by means of specializing an interpreter which tests whether a composition of variable substitutions of a given word equation system produces its solution. We specialize such an interpreter w.r.t. the equation system, while the substitutions are unknown. We show that several variants of such interpreters, when specialized using the basic unfold/fold specialization methods, are able to construct the whole solution sets for some classes of the word equations whose left- and right-hand sides share variables. We prove that the specialization process wrt the constructed interpreters gives a simple syntactic criterion of the satisfiability of the equations considered, and show that the suggested approach can solve some equations not solvable by Z3str3 and CVC4, the widely-used SMT-solvers.

In Alexei Lisitsa and Andrei P. Nemytykh: Proceedings of the 9th International Workshop on Verification and Program Transformation (VPT 2021), Luxembourg, Luxembourg, 27th and 28th of March 2021, Electronic Proceedings in Theoretical Computer Science 341, pp. 42–72.
Published: 6th September 2021.

ArXived at: https://dx.doi.org/10.4204/EPTCS.341.4 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org