Two-Level Meta-reasoning in Coq

  • Authors:
  • Amy P. Felty

  • Affiliations:
  • -

  • Venue:
  • TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

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驴驴N (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驴驴N, 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驴驴N 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.