POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Logic programming in the LF logical framework
Logical frameworks
A framework for defining logics
Journal of the ACM (JACM)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mode and Termination Checking for Higher-Order Logic Programs
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
A Formalization of the Strong Normalization Proof for System F in LEGO
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Primitive Recursion for Higher-Order Abstract Syntax
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Verifying Termination and Reduction Properties about Higher-Order Logic Programs
Journal of Automated Reasoning
Towards a mechanized metatheory of standard ML
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A certified type-preserving compiler from lambda calculus to assembly language
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Two-Level Hybrid: A System for Reasoning Using Higher-Order Abstract Syntax
Electronic Notes in Theoretical Computer Science (ENTCS)
ACM Transactions on Computational Logic (TOCL)
Programming with proofs and explicit contexts
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
The Abella Interactive Theorem Prover (System Description)
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
System Description: Delphin -- A Functional Programming Language for Deductive Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Case Analysis of Higher-Order Data
Electronic Notes in Theoretical Computer Science (ENTCS)
Higher-order constraint simplification in dependent type theory
Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice
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
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
A verified compiler for an impure functional language
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Mechanized metatheory for the masses: the PoplMark challenge
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Beluga: a framework for programming and reasoning with deductive systems (system description)
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Reasoning with higher-order abstract syntax and contexts: a comparison
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Hi-index | 0.00 |
In this paper, we present an overview to programming with proofs in the reasoning framework, Beluga. Beluga supports the specification of formal systems given by axioms and inference rules within the logical framework LF. It also supports implementing proofs about formal systems as dependently typed recursive functions. What distinguishes Beluga from other frameworks is that it not only represents binders using higher-order abstract syntax, but directly supports reasoning with contexts and contextual objects. Contextual types allows us to characterize precisely hypothetical and parametric derivations, i.e. derivations which depend on variables and assumptions, and lead to a direct and elegant implementation of inductive proofs as recursive functions. Because of the intrinsic support for binders and contexts, one can think of the design of Beluga as the most advanced technology for specifying and prototyping formal systems together with their meta-theory.