  The chase is a widely implemented approach to reason with tuple-generating
dependencies (tgds), used in data exchange, data integration, and
ontology-based query answering. However, it is merely a semi-decision
procedure, which may fail to terminate. Many decidable conditions have been
proposed for tgds to ensure chase termination, typically by forbidding some
kind of "cycle" in the chase process. We propose a new criterion that
explicitly allows some such cycles, and yet ensures termination of the standard
chase under reasonable conditions. This leads to new decidable fragments of
tgds that are not only syntactically more general but also strictly more
expressive than the fragments defined by prior acyclicity conditions. Indeed,
while known terminating fragments are restricted to PTime data complexity, our
conditions yield decidable languages for any k-ExpTime. We further refine our
syntactic conditions to obtain fragments of tgds for which an optimised chase
procedure decides query entailment in PSpace or k-ExpSpace, respectively.
