Computer Science Logic

Volume 3210 of the series Lecture Notes in Computer Science pp 160-174

The Boundary Between Decidability and Undecidability for Transitive-Closure Logics

  • Neil ImmermanAffiliated withDept. of Comp. Sci., Univ. of Massachusetts
  • , Alex RabinovichAffiliated withSchool of Comp. Sci., Tel Aviv Univ.
  • , Tom RepsAffiliated withComp. Sci. Dept., Univ. of Wisconsin
  • , Mooly SagivAffiliated withSchool of Comp. Sci., Tel Aviv Univ.
  • , Greta YorshAffiliated withSchool of Comp. Sci., Tel Aviv Univ.

* Final gross prices may vary according to local VAT.

Get Access


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  + [E])that goes beyond trees, includes a version of transitive closure, and is decidable. We show that satisfiability of ∃ ∀ (DTC  + [E]) is NEXPTIME complete. We furthermore show that essentially any reasonable extension of ∃ ∀ (DTC  + [E]) is undecidable.

Our main contribution is to demonstrate these sharp divisions between decidable and undecidable. We also compare the complexity and expressibility of ∃ ∀ (DTC  + [E]) with related decidable languages including MSO(trees) and guarded fixed point logics.

We mention possible applications to systems some of us are building that use decidable logics to reason about programs.