A framework for defining logics
Journal of the ACM (JACM)
Unification under a mixed prefix
Journal of Symbolic Computation
The lazy Lambda calculus in a concurrency scenario
Information and Computation
Cut-elimination for a logic with definitions and induction
Theoretical Computer Science - Special issue on proof-search in type-theoretic languages
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
STACS '87 Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science
Abstract Syntax for Variable Binders: An Overview
CL '00 Proceedings of the First International Conference on Computational Logic
System Description: Teyjus - A Compiler and Abstract Machine Based Implementation of lambda-Prolog
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
COLOG '88 Proceedings of the International Conference on Computer Logic
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
Automating the meta theory of deductive systems
Automating the meta theory of deductive systems
Nominal logic, a first order theory of names and binding
Information and Computation - TACS 2001
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
A logical framework for reasoning about logical specifications
A logical framework for reasoning about logical specifications
A proof theory for generic judgments
ACM Transactions on Computational Logic (TOCL)
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Nominal Techniques in Isabelle/HOL
Journal of Automated Reasoning
Focusing on Binding and Computation
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
The Bedwyr System for Model Checking over Syntactic Expressions
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
The Abella Interactive Theorem Prover (System Description)
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
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 framework for specifying, prototyping, and reasoning about computational systems
A framework for specifying, prototyping, and reasoning about computational systems
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Information and Computation
Journal of Automated Reasoning
Mechanized metatheory for the masses: the PoplMark challenge
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Proof pearl: abella formalization of λ-calculus cube property
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
A formal framework for specifying sequent calculus proof systems
Theoretical Computer Science
Towards extracting explicit proofs from totality checking in twelf
Proceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice
Reasoning about higher-order relational specifications
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
Relational descriptions have been used in formalizing diverse computational notions, including, for example, operational semantics, typing, and acceptance by non-deterministic machines. We therefore propose a (restricted) logical theory over relations as a language for specifying such notions. Our specification logic is further characterized by an ability to explicitly treat binding in object languages. Once such a logic is fixed, a natural next question is how we might prove theorems about specifications written in it. We propose to use a second logic, called a reasoning logic, for this purpose. A satisfactory reasoning logic should be able to completely encode the specification logic. Associated with the specification logic are various notions of binding: for quantifiers within formulas, for eigenvariables within sequents, and for abstractions within terms. To provide a natural treatment of these aspects, the reasoning logic must encode binding structures as well as their associated notions of scope, free and bound variables, and capture-avoiding substitution. Further, to support arguments about provability, the reasoning logic should possess strong mechanisms for constructing proofs by induction and co-induction. We provide these capabilities here by using a logic called ${\cal G}$ which represents relations over 驴-terms via definitions of atomic judgments, contains inference rules for induction and co-induction, and includes a special generic quantifier. We show how provability in the specification logic can be transparently encoded in ${\cal G}$ . We also describe an interactive theorem prover called Abella that implements ${\cal G}$ and this two-level logic approach and we present several examples that demonstrate the efficacy of Abella in reasoning about computations.