Solving Equations on Words with Morphisms and Antimorphisms

Word equations are combinatorial equalities between strings of symbols, variables and functions, which can be used to model problems in a wide range of domains. While some complexity results for the solving of specific classes of equations are known, currently there does not exist any equation solver publicly available. Recently, we have proposed the implementation of such a solver based on Boolean satisfiability that leverages existing SAT solvers for this purpose. In this paper, we propose a new representation of equations on words having fixed length, by using an enriched graph data structure. We discuss the implementation as well as experimental results obtained on a sample of equations.

[1]  M. Lothaire,et al.  Algebraic Combinatorics on Words: Index of Notation , 2002 .

[2]  Klaus U. Schulz Word Equations and Related Topics , 1990, Lecture Notes in Computer Science.

[3]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[4]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[5]  M. Lothaire Applied Combinatorics on Words (Encyclopedia of Mathematics and its Applications) , 2005 .

[6]  Wojciech Plandowski Satisfiability of word equations with constants is in PSPACE , 2004, JACM.

[7]  Michael D. Ernst,et al.  HAMPI: A solver for word equations over strings, regular expressions, and context-free grammars , 2012, TSEM.

[8]  Srecko Brlek,et al.  Interactions between Digital Geometry and Combinatorics on Words , 2011, WORDS.

[9]  G. Makanin The Problem of Solvability of Equations in a Free Semigroup , 1977 .

[10]  Sylvain Hallé,et al.  Solving equations on words through boolean satisfiability , 2013, SAC '13.

[11]  Wojciech Plandowski Satisfiability of word equations with constants is in NEXPTIME , 1999, STOC '99.

[12]  Michael D. Ernst,et al.  HAMPI: a solver for string constraints , 2009, ISSTA.

[13]  Alexandre Blondin Massé,et al.  Combinatorial properties of double square tiles , 2013, Theor. Comput. Sci..

[14]  Aviezri S. Fraenkel,et al.  How Many Squares Can a String Contain? , 1998, J. Comb. Theory, Ser. A.

[15]  Xiang Fu,et al.  A String Constraint Solver for Detecting Web Application Vulnerability , 2010, SEKE.

[16]  Oscar H. Ibarra,et al.  Relational String Verification Using Multi-Track Automata , 2011, Int. J. Found. Comput. Sci..

[17]  Habib Abdulrab Implementation of Makanin's Algorithm , 1990, IWWERT.

[18]  M. Lothaire Algebraic Combinatorics on Words , 2002 .