Natural deduction as higher-order resolution
Journal of Logic Programming
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Elf: a language for logic definition and verified metaprogramming
Proceedings of the Fourth Annual Symposium on Logic in computer science
Research topics in functional programming
Theoretical Computer Science
Semantics of programming languages: structures and techniques
Semantics of programming languages: structures and techniques
A framework for defining logics
Journal of the ACM (JACM)
A finitary version of the calculus of partial inductive definitions
ELP'91 Conference Proceedings on Extensions of logic programming
Using typed lambda calculus to implement formal systems on a machine
Journal of Automated Reasoning
Logic programming in a fragment of intuitionistic linear logic
Papers presented at the IEEE symposium on Logic in computer science
Papers presented at the second annual Workshop on Logical environments
Experience with FS100 as a framework theory
Papers presented at the second annual Workshop on Logical environments
The ALF proof editor and its proof engine
TYPES '93 Proceedings of the international workshop on Types for proofs and programs
Proof theoretic approach to specification languages
Proof theoretic approach to specification languages
Proving congruence of bisimulation in functional programming languages
Information and Computation
Foundations of programming languages
Foundations of programming languages
Forum: a multiple-conclusion specification logic
ALP Proceedings of the fourth international conference on Algebraic and logic programming
Cut-elimination for a logic with definitions and induction
Theoretical Computer Science - Special issue on proof-search in type-theoretic languages
Mode and Termination Checking for Higher-Order Logic Programs
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
Higher-Order Abstract Syntax with Induction in Coq
LPAR '94 Proceedings of the 5th International Conference on Logic Programming and Automated Reasoning
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second 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
Cut Elimination for Logics with Definitional Reflection
Proceedings of the International Workshop on Nonclassical Logics and Information Processing
Finitary Partial Inductive Definitions as a General Logic
ELP '93 Proceedings of the 4th International Workshop on Extensions of Logic Programming
Specifying Theorem Provers in a Higher-Order Logic Programming Language
Proceedings of the 9th International Conference on Automated Deduction
Implementing the Meta-Theory of Deductive Systems
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Pi: an Interactive Derivation Editor for the Calculus of Partial Inductive Definitions
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
A Practical Implementation of Simple Consequence Relations Using Inductive Definitions
CADE-14 Proceedings of the 14th International Conference on Automated Deduction
Automated Theorem Proving in a Simple Meta-Logic for LF
CADE-15 Proceedings of the 15th International Conference on Automated Deduction: Automated Deduction
Encoding transition systems in sequent calculus
Theoretical Computer Science - Linear logic
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Investigating a proof-theoretic meta-language for functional programs
Investigating a proof-theoretic meta-language for functional programs
The machine-assisted proof of programming language properties
The machine-assisted proof of programming language properties
Reasoning in a logic with definitions and induction
Reasoning in a logic with definitions and induction
Higher Order Unification 30 Years Later
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
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
FoSSaCS '01 Proceedings of the 4th International Conference on Foundations of Software Science and Computation Structures
FST TCS '02 Proceedings of the 22nd Conference Kanpur on Foundations of Software Technology and Theoretical Computer Science
Two-Level Meta-reasoning in Coq
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
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
A proof theory for generic judgments
ACM Transactions on Computational Logic (TOCL)
Consistency of the theory of contexts
Journal of Functional Programming
A Logic for Reasoning about Generic Judgments
Electronic Notes in Theoretical Computer Science (ENTCS)
Mechanized metatheory model-checking
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Two-Level Hybrid: A System for Reasoning Using Higher-Order Abstract Syntax
Electronic Notes in Theoretical Computer Science (ENTCS)
The Abella Interactive Theorem Prover (System Description)
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
Reasoning in Abella about Structural Operational Semantics Specifications
Electronic Notes in Theoretical Computer Science (ENTCS)
On the Expressivity of Minimal Generic Quantification
Electronic Notes in Theoretical Computer Science (ENTCS)
Formalizing Operational Semantic Specifications in Logic
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
Proof search specifications of bisimulation and modal logics for the π-calculus
ACM Transactions on Computational Logic (TOCL)
A Proof Search Specification of the π-Calculus
Electronic Notes in Theoretical Computer Science (ENTCS)
Multi-level meta-reasoning with higher-order abstract syntax
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
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
Information and Computation
Reasoning about computations using two-levels of logic
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Journal of Automated Reasoning
Programming with binders and indexed data-types
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Representing and reasoning with operational semantics
IJCAR'06 Proceedings of the Third international joint 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
A Two-Level Logic Approach to Reasoning About Computations
Journal of Automated Reasoning
Stratification in logics of definitions
IJCAR'12 Proceedings of the 6th international joint conference on Automated Reasoning
A supposedly fun thing i may have to do again: a HOAS encoding of Howe's method
Proceedings of the seventh international workshop on Logical frameworks and meta-languages, theory and practice
A formal framework for specifying sequent calculus proof systems
Theoretical Computer Science
Reasoning about higher-order relational specifications
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
Logical frameworks based on intuitionistic or linear logics with higher-type quantification have been successfully used to give high-level, modular, and formal specifications of many important judgments in the area of programming languages and inference systems. Given such specifications, it is natural to consider proving properties about the specified systems in the framework: for example, given the specification of evaluation for a functional programming language, prove that the language is deterministic or that evaluation preserves types. One challenge in developing a framework for such reasoning is that higher-order abstract syntax (HOAS), an elegant and declarative treatment of object-level abstraction and substitution, is difficult to treat in proofs involving induction. In this article, we present a meta-logic that can be used to reason about judgments coded using HOAS; this meta-logic is an extension of a simple intuitionistic logic that admits higher-order quantification over simply typed λ-terms (key ingredients for HOAS) as well as induction and a notion of definition. The latter concept of definition is a proof-theoretic device that allows certain theories to be treated as "closed" or as defining fixed points. We explore the difficulties of formal meta-theoretic analysis of HOAS encodings by considering encodings of intuitionistic and linear logics, and formally derive the admissibility of cut for important subsets of these logics. We then propose an approach to avoid the apparent trade-off between the benefits of higher-order abstract syntax and the ability to analyze the resulting encodings. We illustrate this approach through examples involving the simple functional and imperative programming languages PCF and PCF:=. We formally derive such properties as unicity of typing, subject reduction, determinacy of evaluation, and the equivalence of transition semantics and natural semantics presentations of evaluation.