Multi-level meta-reasoning with higher-order abstract syntax

  • Authors:
  • Alberto Momigliano;Simon J. Ambler

  • Affiliations:
  • Department of Mathematics and Computer Science, University of Leicester, Leicester, U.K.;Department of Mathematics and Computer Science, University of Leicester, Leicester, U.K.

  • Venue:
  • FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Combining Higher Order Abstract Syntax (HOAS) and (co)- induction is well known to be problematic. In previous work [1] we have described the implementation of a tool called Hybrid, within Isabelle HOL, which allows object logics to be represented using HOAS, and reasoned about using tactical theorem proving and principles of (co)induction. Moreover, it is definitional, which guarantees consistency within a classical type theory. In this paper we describe how to use it in a multi-level reasoning fashion, similar in spirit to other metalogics such FOλΔN and Twelf. By explicitly referencing provability, we solve the problem of reasoning by (co)induction in presence of non-stratifiable hypothetical judgments, which allow very elegant and succinct specifications. We demonstrate the method by formally verifying the correctness of a compiler for (a fragment) of Mini-ML, following [10]. To further exhibit the flexibility of our system, we modify the target language with a notion of non-well-founded closure, inspired by Milner & Tofte [16] and formally verify via co-induction a subject reduction theorem for this modified language.