On Role Logic
Author(s)
Kuncak, Viktor; Rinard, Martin
DownloadMIT-CSAIL-TR-2003-025.ps (25.06Mb)
Additional downloads
Other Contributors
Computer Architecture
Metadata
Show full item recordAbstract
We present role logic, a notation for describing propertiesof relational structures in shape analysis, databases, andknowledge bases. We construct role logic using the ideas ofde Bruijn's notation for lambda calculus, an encoding offirst-order logic in lambda calculus, and a simple rule forimplicit arguments of unary and binary predicates.The unrestricted version of role logic has the expressivepower of first-order logic with transitive closure. Using asyntactic restriction on role logic formulas, we identify anatural fragment RL^2 of role logic. We show that the RL^2fragment has the same expressive power as two-variable logicwith counting C^2 and is therefore decidable.We present a translation of an imperative language into thedecidable fragment RL^2, which allows compositionalverification of programs that manipulate relationalstructures. In addition, we show how RL^2 encodes booleanshape analysis constraints and an expressive descriptionlogic.
Date issued
2003-10-24Other identifiers
MIT-CSAIL-TR-2003-025
MIT-LCS-TR-925
Series/Report no.
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory