Two-Level Meta-reasoning in Coq
The use of higher-order abstract syntax is central to the direct, concise, and modular specification of languages and deductive systems in a logical framework. Developing a framework in which it is also possible to reason about such deductive systems is particularly challenging. One difficulty is th...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buchkapitel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | The use of higher-order abstract syntax is central to the direct, concise, and modular specification of languages and deductive systems in a logical framework. Developing a framework in which it is also possible to reason about such deductive systems is particularly challenging. One difficulty is that the use of higher-order abstract syntax complicates reasoning by induction because it leads to definitions for which there are no monotone inductive operators. In this paper, we present a methodology which allows Coq to be used as a framework for such meta-reasoning. This methodology is directly inspired by the two-level approach to reasoning used in the FOλΔℕ (pronounced fold-n) logic. In our setting, the Calculus of Inductive Constructions (CIC) implemented by Coq represents the highest level, or meta-logic, and a separate specification logic is encoded as an inductive definition in Coq. Then, in our method as in FOλΔℕ, the deductive systems that we want to reason about are the object logics which are encoded in the specification logic. We first give an approach to reasoning in Coq which very closely mimics reasoning in FOλΔℕillustrating a close correspondence between the two frameworks. We then generalize the approach to take advantage of other constructs in Coq such as the use of direct structural induction provided by inductive types. |
---|---|
ISSN: | 0302-9743 1611-3349 |
DOI: | 10.1007/3-540-45685-6_14 |