Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Two-Level Hybrid: A System for Reasoning Using Higher-Order Abstract Syntax
Electronic Notes in Theoretical Computer Science (ENTCS)
Reasoning with hypothetical judgments and open terms in hybrid
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Combining de Bruijn indices and higher-order abstract syntax in Coq
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Journal of Automated Reasoning
Hi-index | 0.00 |
We present recent work on the Hybrid system, a logical framework for specifying and reasoning about languages and deductive systems. One of the main areas of application of this system is developing formal proofs of properties of programming languages. It is well-known that those languages that are formally proven to be sound can better provide a solid basis for building software systems that are reliable and secure. Hybrid is designed to exploit the advantages of higher-order abstract syntax within the well-understood setting of higher-order logic as implemented in a variety of general theorem proving systems. It is currently implemented in both Isabelle/HOL and Coq. Hybrid is definitional and introduces no new axioms. In particular, a de Bruijn representation of lambda-terms provides 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. We describe a variety of features of Hybrid, including two-level reasoning and inductive reasoning about open terms, and we present case studies to illustrate these features. We also discuss both classical and constructive versions of Hybrid.