Team Parsifal

Overall Objectives
Scientific Foundations
Application Domains
New Results
Other Grants and Activities

Section: New Results

Two level of logic

Participants : Andrew Gacek, Dale Miller.

Relational descriptions have been widely used in formalizing diverse computational notions, including, for example, operational semantics, typing, acceptance by non-deterministic machines, etc . Such relational specifications can be faithfully captured by a (restricted) logical theory over relations. Such a specification logic can be picked so that it explicitly treats binding in object languages. Once such a logic is fixed, a natural next question is what devices should be used to prove theorems about specifications written in it. Within the team, we have a second logic, called the reasoning logic , to reason about provability in the first logic. To be adequate for this purpose, the reasoning logic should be able to completely encode the specification logic, including notions of binding, such as quantifiers within formulas, for eigenvariables within sequents, and for abstractions within terms. To provide a natural treatment of these aspects, the reasoning logic must encode binding structures as well as their associated notions of scope, free/bound variables, and capture-avoiding substitution. Furthermore, the reasoning logic should possess strong mechanisms for constructing proofs by induction and co-induction.

Within the context of the Gacek's PhD thesis [37] and the submitted paper [40] by Gacek, Miller, and Nadathur, the logic Im1 $\#119970 $ was present: this logic represents relations over $ \lambda$ -terms via definitions of atomic judgments, contains inference rules for induction and co-induction, and includes a special quantifier called $ \nabla$ and a related generalization of equality over $ \lambda$ -terms called nominal abstraction . The interactive theorem prover Abella [39] [37] implements Im1 $\#119970 $ and supports this two-level logic approach to reasoning about computation. Gacek and others have now contributed a large number of interesting examples showing the utility of using this two-level approach to reasoning: see the Abella web site for many examples. In particular, the POPLMark challenge problems 1a and 2a [25] have nice, declarative solutions within Abella.


Logo Inria