We provide a positive answer to a long-standing open question of the decidability of the not-contains string predicate. Not-contains is practically relevant, for instance in symbolic execution of string manipulating programs. Particularly, we show that the predicate ¬Contains(x1…xn,y1…ym), where x1…xn and y1…ym are sequences of string variables constrained by regular languages, is decidable. Decidability of a not-contains predicate combined with chain-free word equations and regular membership constraints follows.
Cite
@article{arxiv.2506.22061,
title = {Negated String Containment is Decidable (Technical Report)},
author = {Vojtěch Havlena and Michal Hečko and Lukáš Holík and Ondřej Lengál},
journal= {arXiv preprint arXiv:2506.22061},
year = {2025}
}