# On Role Logic

@article{Kuncak2004OnRL, title={On Role Logic}, author={Viktor Kuncak and Martin C. Rinard}, journal={ArXiv}, year={2004}, volume={cs.PL/0408018} }

We 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…

## Figures and Topics from this paper

## 15 Citations

Decision Procedures for Set-Valued Fields

- Computer ScienceElectron. Notes Theor. Comput. Sci.
- 2005

This paper explores reasoning techniques for programs that manipulate data structures specified using set-valued abstract fields associated with container objects, and compares the expressive power and the complexity of specification languages based on 1) decidable prefix vocabulary classes of first-order logic, 2) twovariable logic with counting, and 3) Nelson-Oppen combinations of multisorted theories.

Description logics for shape analysis

- Computer ScienceThird IEEE International Conference on Software Engineering and Formal Methods (SEFM'05)
- 2005

A predicate abstraction based shape analysis, parameterized by description logics to represent the abstraction predicates is proposed, whichDepending on the particular logic chosen sharing, reachability and separation in pointer data structures are expressible.

On Spatial Conjunction as Second-Order Logic

- Computer ScienceArXiv
- 2004

These results explain the great expressive power of spatial conjunction and can be used to show that adding unrestricted spatial conjunction to a decidable logic leads to an un-decidable logic.

On the Complexity of the Bernays-Schönfinkel Class with Datalog

- Computer ScienceLPAR
- 2010

It is proved that both satisfiability and entailment for the new logic are decidable in NEXPTIME and a matching lower bound for the original logic is given, which establishes N EXPTIME-completeness of the satisfiabilityand entailment problems for both of them.

Role analysis

- Computer SciencePOPL '02
- 2002

An interprocedural, compositional, and context-sensitive role analysis algorithm that verifies that a program maintains role constraints is presented.

Bounded Model Checking of Pointer Programs

- Computer ScienceCSL
- 2005

A small model theorem is scored for the 2-variable fragment of the Bernays-Schonfinkel class extended with least fixed points expressible by certain monadic Datalog programs that shows that this fragment is closed under computing weakest preconditions.

Inductive Reasoning for Shape Invariants

- Computer ScienceFTP
- 2009

An approach for verifying that imperative programs that destructively manipulate heap data structures do not corrupt their data structures is proposed and off-the-shelf first-order theorem provers are used to reason about these specifications.

Generalized Records and Spatial Conjunction in Role Logic

- Computer ScienceSAS
- 2004

A natural fragment of role logic corresponds to two-variable logic with counting and is therefore decidable and can be applied to relational structures in shape analysis, databases and knowledge bases.

Model-Checking of Array-Based Systems: from Foundations to Implementation

- Computer ScienceFTP
- 2009

The notion of array based systems is presented and a suitable format for initial/unsafe states and transition formulae can be designed: this format is sufficiently expressive to cover interesting classes of infinite state systems and, at the same time, generates proof obligations that can be discharged by instantiation and SMT solving techniques for quantifier-free formULae.

On Modular Pluggable Analyses Using Set Interfaces

- Computer Science
- 2003

A technique that enables the focused application of multiple analyses to different modules in the same program, and the key soundness property that an analysis plugin must satisfy to successfully participate in this system is characterized.

## References

SHOWING 1-10 OF 87 REFERENCES

On the Relative Expressiveness of Description Logics and Predicate Logics

- Mathematics, Computer ScienceArtif. Intell.
- 1996

It is shown that the descriptions built using the constructors usually considered in the DL literature are characterized exactly as the predicates definable by formulas in \ tL3, the subset of first-order predicate calculus with monadic and dyadic predicates which allows only three variable symbols.

BI as an assertion language for mutable data structures

- Computer SciencePOPL '01
- 2001

A model in which the law of the excluded middleholds is given is given, thus showing that the approach is compatible with classical logic, and a local character enjoyed by specifications in the logic is described, which enables a class of frame axioms, which say what parts of the heap don't change, to be inferred automatically.

Deciding validity in a spatial logic for trees

- Computer ScienceTLDI '03
- 2003

A sequent calculus is introduced for the logic, and it is shown to be sound and complete with respect to an interpretation in terms of satisfaction and validity, and a small programming language is described based on this idea.

Designing an Algorithm for Role Analysis

- Computer Science
- 2001

An interprocedural, compositional, and context-sensitive role analysis that verifies that a program respects the role constraints across procedure calls is presented, and a programming model that allows temporary violations of role constraints is introduced.

Graphs and Decidable Transductions based on Edge Constraints

- Mathematics
- 1994

We give examples to show that not even c-edNCE , the most general known notion of context-free graph grammar, is suited for the specification of some common data structures. To overcome this problem,…

Automatic verification of pointer programs using monadic second-order logic

- Computer SciencePLDI '97
- 1997

A technique for automatic verification of pointer programs based on a decision procedure for the monadic second-order logic on finite strings that can be used to verify extensive properties of smaller pointer programs and could be particularly useful in a teaching environment.

Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem

- Mathematics
- 1994

Abstract In ordinary lambda calculus the occurrences of a bound variable are made recognizable by the use of one and the same (otherwise irrelevant) name at all occurrences. This convention is known…

On the Theory of Structural Subtyping

- Mathematics, Computer ScienceArXiv
- 2004

The notion of -term-power of C is introduced, which generalizes the structure arising in structural subtyping and gives an embedding of the monadic second- order theory of infinite binary tree into the first-order theory of structuralSubtyping of recursive types.

Separation logic: a logic for shared mutable data structures

- Computer ScienceProceedings 17th Annual IEEE Symposium on Logic in Computer Science
- 2002

An extension of Hoare logic that permits reasoning about low-level imperative programs that use shared mutable data structure is developed, including extensions that permit unrestricted address arithmetic, dynamically allocated arrays, and recursive procedures.

The pointer assertion logic engine

- Computer SciencePLDI '01
- 2001

A new framework for verifying partial specifications of programs in order to catch type and memory errors and check data structure invariants and can verify a large class of data structures, namely all those that can be expressed as graph types.