Journal of Automated Reasoning

, Volume 48, Issue 1, pp 43–105

Hybrid

A Definitional Two-Level Approach to Reasoning with Higher-Order Abstract Syntax
Article

DOI: 10.1007/s10817-010-9194-x

Cite this article as:
Felty, A. & Momigliano, A. J Autom Reasoning (2012) 48: 43. doi:10.1007/s10817-010-9194-x

Abstract

Combining higher-order abstract syntax and (co)-induction in a logical framework is well known to be problematic. We describe the theory and the practice of a tool called Hybrid, within Isabelle/HOL and Coq, which aims to address many of these difficulties. It allows object logics to be represented using higher-order abstract syntax, and reasoned about using tactical theorem proving and principles of (co)induction. Moreover, it is definitional, which guarantees consistency within a classical type theory. The idea is to have a de Bruijn representation of λ-terms providing a definitional layer that allows the user to represent object languages using higher-order abstract syntax, while offering tools for reasoning about them at the higher level. In this paper we describe how to use Hybrid in a multi-level reasoning fashion, similar in spirit to other systems such as Twelf and Abella. By explicitly referencing provability in a middle layer called a specification logic, we solve the problem of reasoning by (co)induction in the presence of non-stratifiable hypothetical judgments, which allow very elegant and succinct specifications of object logic inference rules. We first demonstrate the method on a simple example, formally proving type soundness (subject reduction) for a fragment of a pure functional language, using a minimal intuitionistic logic as the specification logic. We then prove an analogous result for a continuation-machine presentation of the operational semantics of the same language, encoded this time in an ordered linear logic that serves as the specification layer. This example demonstrates the ease with which we can incorporate new specification logics, and also illustrates a significantly more complex object logic whose encoding is elegantly expressed using features of the new specification logic.

Keywords

Logical frameworks Higher-order abstract syntax Interactive theorem proving Induction Variable binding Isabelle/HOL Coq 

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  1. 1.School of Information Technology and EngineeringUniversity of OttawaOttawaCanada
  2. 2.Laboratory for the Foundations of Computer Science, School of InformaticsUniversity of EdinburghEdinburghScotland

Personalised recommendations