On Role Logic

dc.creatorKuncak, Viktor
dc.creatorRinard, Martin
dc.date2004-08-05
dc.date.accessioned2026-07-07T03:21:38Z
dc.date.available2026-07-07T03:21:38Z
dc.descriptionWe present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn's notation for lambda calculus, an encoding of first-order logic in lambda calculus, and a simple rule for implicit arguments of unary and binary predicates. The unrestricted version of role logic has the expressive power of first-order logic with transitive closure. Using a syntactic restriction on role logic formulas, we identify a natural fragment RL^2 of role logic. We show that the RL^2 fragment has the same expressive power as two-variable logic with counting C^2 and is therefore decidable. We present a translation of an imperative language into the decidable fragment RL^2, which allows compositional verification of programs that manipulate relational structures. In addition, we show how RL^2 encodes boolean shape analysis constraints and an expressive description logic.
dc.description20 pages. Our later SAS 2004 result builds on this work
dc.identifierhttps://arxiv.org/abs/cs/0408018
dc.identifierhttp://arxiv.org/abs/cs/0408018
dc.identifier.urihttp://salesiana.dossiersoluciones.com/handle/123456789/32277
dc.subjectProgramming Languages
dc.subjectLogic in Computer Science
dc.subjectD.2.4; D.3.1; D.3.3; F.3.1; F.3.2; F.4.1
dc.titleOn Role Logic
dc.typetext

Files

Collections