Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Information and Computation - Semantics of Data Types
Parallel reductions in λ-calculus
Journal of Symbolic Computation
ISSAC '89 Proceedings of the ACM-SIGSAM 1989 international symposium on Symbolic and algebraic computation
ECC, and extended calculus of constructions
Proceedings of the Fourth Annual Symposium on Logic in computer science
A framework for defining logics
Journal of the ACM (JACM)
Adding algebraic rewriting to the untyped lambda calculus
Information and Computation
Combinatory reduction systems: introduction and survey
Theoretical Computer Science - A collection of contributions in honour of Corrado Bo¨hm on the occasion of his 70th birthday
Using typed lambda calculus to implement formal systems on a machine
Journal of Automated Reasoning
&pgr;-calculus in (Co)inductive-type theory
Theoretical Computer Science - Special issues on models and paradigms for concurrency
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Handbook of automated reasoning
Proof-assistants using dependent type systems
Handbook of automated reasoning
Journal of Automated Reasoning
A Language for Verification and Manipulation of Web Documents
Electronic Notes in Theoretical Computer Science (ENTCS)
A logical framework with dependently typed records
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Theoretical Computer Science
A Conditional Logical Framework
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
LFP: a logical framework with external predicates
Proceedings of the seventh international workshop on Logical frameworks and meta-languages, theory and practice
25 years of formal proof cultures: some problems, some philosophy, bright future
Proceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice
Hi-index | 0.02 |
In this paper, we introduce a General Logical Framework, called GLF, for defining Logical Frameworks, based on dependent types, in the style of the well known Edinburgh Logical Framework LF. The framework GLF features a generalized form of lambda abstraction where @b-reductions fire provided the argument satisfies a logical predicate and may produce an n-ary substitution. The type system keeps track of when reductions have yet to fire. The framework GLF subsumes, by simple instantiation, LF as well as a large class of generalized constrained-based lambda calculi, ranging from well known restricted lambda calculi, such as Plotkin's call-by-value lambda calculus, to lambda calculi with patterns. But it suggests also a wide spectrum of new calculi which have intriguing potential as Logical Frameworks. We investigate the metatheoretical properties of the calculus underpinning GLF and illustrate its expressive power. In particular, we focus on two interesting instantiations of GLF. The first is the Pattern Logical Framework (PLF), where applications fire via pattern-matching in the style of Cirstea, Kirchner, and Liquori. The second is the Closed Logical Framework (CLF) which features, besides standard @b-reduction, also a reduction which fires only if the argument is a closed term. For both these instantiations of GLF we discuss standard metaproperties, such as subject reduction, confluence and strong normalization. The GLF framework is particularly suitable, as a metalanguage, for encoding rewriting logics and logical systems, where rules require proof terms to have special syntactic constraints, e.g. logics with rules of proof, in addition to rules of derivations, such as, e.g., modal logic, and call-by-value lambda calculus.