Abstract. We present a decision procedure for the problem of, given a set of regular expressions R1, . . . , Rn, determining whether R = R1 ∩ · · · ∩ Rn is empty. Our solver, revenant, finitely unrolls automata for R1, . . . , Rn, encoding each as a set of propositional constraints. If a SAT solver determines satisfiability then R is non-empty. Otherwise our solver uses unbounded model checking techniques to extract an interpolant from the bounded proof. This interpolant serves as an overapproximation of R. If the solver reaches a fixed-point with the constraints remaining unsatisfiable, it has proven R to be empty. Otherwise, it increases the unrolling depth and repeats. We compare revenant with other stateof-the-art string solvers. Evaluation suggests that it behaves better for constraints that express the intersection of sets of regular languages, a case of interest in the context of verification.