Theoretical Computer Science
Co-induction in relational semantics
Theoretical Computer Science
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
Reasoning with higher-order abstract syntax in a logical framework
ACM Transactions on Computational Logic (TOCL)
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Combining Higher Order Abstract Syntax with Tactical Theorem Proving and (Co)Induction
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Towards Machine-Checked Compiler Correctness for Higher-order Pure Functional Languages
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
Implementing the Meta-Theory of Deductive Systems
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Two-Level Meta-reasoning in Coq
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
A New Approach to Abstract Syntax Involving Binders
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Automating the meta theory of deductive systems
Automating the meta theory of deductive systems
A definitional approach to primitivexs recursion over higher order abstract syntax
MERLIN '03 Proceedings of the 2003 ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
Reasoning on an imperative object-based calculus in Higher Order Abstract Syntax
MERLIN '03 Proceedings of the 2003 ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
A formalization of an Ordered Logical Framework in Hybrid with applications to continuation machines
MERLIN '03 Proceedings of the 2003 ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
Toward a general theory of names: binding and scope
Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
Reasoning about Object-based Calculi in (Co)Inductive Type Theory and the Theory of Contexts
Journal of Automated Reasoning
Two-Level Hybrid: A System for Reasoning Using Higher-Order Abstract Syntax
Electronic Notes in Theoretical Computer Science (ENTCS)
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
Proof pearl: the power of higher-order encodings in the logical framework LF
TPHOLs'07 Proceedings of the 20th international conference on Theorem proving in higher order logics
Proof-theoretic and higher-order extensions of logic programming
A 25-year perspective on logic programming
Recursion principles for syntax with bindings and substitution
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Journal of Automated Reasoning
Hi-index | 0.00 |
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.