To reason effectively about programs, it is important to have some version of a transitive-closure operator so that we can describe such notions as the set of nodes reachable from a program's variables. On the other hand, with a few notable exceptions, adding transitive closure to even very tame logics makes them undecidable. In this paper, we explore the boundary between decidability and undecidability for transitive-closure logics. Rabin proved that the monadic second-order theory of trees is decidable, although the complexity of the decision procedure is not elementary. If we go beyond trees, however, undecidability comes immediately. We have identified a rather weak language called ∃∀(DTC We mention possible applications to systems some of us are building that use decidable logics to reason about programs.
The boundary between decidable and undecidable versions of first-order logics with transitive closure is investigated in REF .
The Boundary Between Decidability and Undecidability for Transitive-Closure Logics
CSL
Computer Science