Classifying is a central activity in object-oriented programming and distinguishes it from procedural programming. Traditional logic, initiated by Aristotle, assigns classificatio...
We present a general framework for logics of transition systems based on Stone duality. Transition systems are modelled as coalgebras for a functor T on a category X. The propositi...
This paper presents a method for representing trees using constraint logic programming over finite domains. We describe a class of trees that is of particular interest to us and h...
Decision procedures have long been a fixture in program analysis, and reasoning about string constraints is a key element in many program analyses and testing frameworks. Recent ...
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 ...
Neil Immerman, Alexander Moshe Rabinovich, Thomas ...