Combining Higher Order Abstract Syntax with Tactical Theorem Proving and (Co)Induction

Combining Higher Order Abstract Syntax (HOAS) and induction is well known to be problematic. We have implemented a tool called Hybrid, within Isabelle HOL, which does allow object logics to be represented using HOAS, and reasoned about using tactical theorem proving in general and principles of (co)induction in particular. In this paper we describe Hybrid, and illustrate its use with case studies. We also provide some theoretical adequacy results which underpin our practical work.

[1]  Dale Miller,et al.  Reasoning with higher-order abstract syntax in a logical framework , 2000, TOCL.

[2]  S. Abramsky The lazy lambda calculus , 1990 .

[3]  Frank Pfenning,et al.  System Description: Twelf - A Meta-Logical Framework for Deductive Systems , 1999, CADE.

[4]  Amy P. Felty,et al.  Higher-Order Abstract Syntax in Coq , 1995, TLCA.

[5]  Elsa L. Gunter Why we can't have SML-style datatype Declarations in HOL , 1992, TPHOLs.

[6]  Nick Benton,et al.  Monads, Effects and Transformations , 1999, Electron. Notes Theor. Comput. Sci..

[7]  Martin Hofmann Semantical analysis of higher-order abstract syntax , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[8]  Andrew D. Gordon,et al.  Five Axioms of Alpha-Conversion , 1996, TPHOLs.

[9]  T. Melham A mechanized theory of the π-calculus in HOL , 1992 .

[10]  Andrew M. Pitts,et al.  A new approach to abstract syntax involving binders , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[11]  Patrick J. Hayes,et al.  Computation and Deduction , 1973, MFCS.

[12]  Marino Miculan Developing (Meta)Theory of Lambda-calculus in the Theory of Context , 2001, Electron. Notes Theor. Comput. Sci..

[13]  Furio Honsell,et al.  An Axiomatic Approach to Metareasoning on Nominal Algebras in HOAS , 2001, ICALP.

[14]  Joachim Parrow,et al.  An Introduction to the π-Calculus , 2001, Handbook of Process Algebra.

[15]  Joëlle Despeyroux,et al.  Metatheoretic results for a modal-calculus , 2000 .

[16]  Gordon D. Plotkin,et al.  Abstract syntax and variable binding , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[17]  James Brotherston,et al.  A formalised first-order confluence proof for the -calculus using one-sorted variable names , 2003, Inf. Comput..

[18]  Marino Miculan,et al.  Developing (Meta)Theory of λ-calculus in the Theory of Contexts1 1Work partially supported by Italian MURST project tosca and EC-WG types. , 2001 .

[19]  Frank Pfenning,et al.  Primitive recursion for higher-order abstract syntax , 1997, Theoretical Computer Science.

[20]  Furio Honsell,et al.  pi-calculus in (Co)inductive-type theory , 2001, Theor. Comput. Sci..

[21]  Joachim Parrow,et al.  An introduction to the pi-calculus , 2001 .

[22]  Andrew M. Pitts,et al.  A First Order Theory of Names and Binding , 2001 .

[23]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[24]  James Brotherston,et al.  A Formalised First-Order Con uence Proof for the λ-Calculus Using One-Sorted Variable Names (Barendregt Was Right after all ... almost) , 2001 .

[25]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[26]  Dale Miller,et al.  Reasoning in a logic with definitions and induction , 1997 .

[27]  Lars Hallnäs Partial inductive definitions , 1991 .

[28]  Ian A. Mason,et al.  Operational Techniques in PVS - A Preliminary Evaluation , 2001, Electron. Notes Theor. Comput. Sci..

[29]  Andrew D. Gordon,et al.  A Mechanisation of Name-Carrying Syntax up to Alpha-Conversion , 1993, HUG.

[30]  Simon J. Gay A Framework for the Formalisation of Pi Calculus Type Systems in Isabelle/HOL , 2001, TPHOLs.

[31]  Thomas F. Melham A Mechanized Theory of the Pi-Calculus in HOL , 1994, Nord. J. Comput..

[32]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.