Decision Procedures for Sequence Theories (Technical Report)
Artur Je\.z, Anthony W. Lin, Oliver Markgraf, Philipp R\"ummer

TL;DR
This paper extends the decidability of string theories with concatenation and regular constraints to sequence theories over Boolean algebra alphabet theories, introduces a new solver SeCo, and explores the limits of automata interpretations.
Contribution
It demonstrates decidability results for sequence theories with parametric automata and develops a new solver, SeCo, for practical applications.
Findings
Decidability holds with parametric automata but not with register automata.
SeCo effectively handles array invariants and symbolic register automata benchmarks.
Adding length constraints makes the problem Turing-equivalent to word equations.
Abstract
Sequence theories are an extension of theories of strings with an infinite alphabet of letters, together with a corresponding alphabet theory (e.g. linear integer arithmetic). Sequences are natural abstractions of extendable arrays, which permit a wealth of operations including append, map, split, and concatenation. In spite of the growing amount of tool support for theories of sequences by leading SMT-solvers, little is known about the decidability of sequence theories, which is in stark contrast to the state of the theories of strings. We show that the decidable theory of strings with concatenation and regular constraints can be extended to the world of sequences over an alphabet theory that forms a Boolean algebra, while preserving decidability. In particular, decidability holds when regular constraints are interpreted as parametric automata (which extend both symbolic automata and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
Topicssemigroups and automata theory · Logic, programming, and type systems · Formal Methods in Verification
