Results 11  20
of
36
Operational Techniques in PVS – A Preliminary Evaluation
 In Proceedings of the Australasian Theory Symposium, CATS ’01
, 2001
"... In this paper we present a preliminary analysis of the suitability of using PVS as a tool for developing operational semantics and programming logics in a semiautomatic fashion. To this end we present a formalized proof of the Church–Rosser theorem for a version of the callbyvalue lambda calculu ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
In this paper we present a preliminary analysis of the suitability of using PVS as a tool for developing operational semantics and programming logics in a semiautomatic fashion. To this end we present a formalized proof of the Church–Rosser theorem for a version of the callbyvalue lambda calculus in the spirit of Landin’s ISWIM. The proof is developed in the PVS system, and is used as a test bed or benchmark for evaluating the applicability of that system for carrying out more complex operational arguments. Our approach is relatively unusual in that it is based on the named variable approach, and concentrates on the callbyvalue version of the rule. Although there are numerous computerbased proofs of the Church– Rosser theorem in the literature, all of the existing proofs eliminate the need to treat conversion. The novel aspects of our approach are that: we use the PVS system, especially its builtin abstract data types facility, to verify a version of the Church–Rosser theorem; we formalize a version of the calculus, as it normally appears in textbooks, rather than tailoring it to suit the machine or system; we treat an ISWIM variation on the callbyvalue version of the calculus, rather than the simpler traditional callbyname version. However the main aim of the work reported here was to evaluate PVS as a tool for developing, state of the art, operational based programming logics for realistic programming languages.
Elf: A MetaLanguage for Deductive Systems (System Description)
 In 12th International Conference on Automated Deduction
, 1994
"... ce describing the Elf language is [10]. Gentler introductions can be found in [12] and [6]. Elf has also been used in a graduate course on the theory of programming languages. A draft of the course notes may be available from the author upon request. Below we provide a brief overview of how specific ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
(Show Context)
ce describing the Elf language is [10]. Gentler introductions can be found in [12] and [6]. Elf has also been used in a graduate course on the theory of programming languages. A draft of the course notes may be available from the author upon request. Below we provide a brief overview of how specification, implementation, and metatheory tasks are supported in the Elf language. The subsequent sections list some case studies and describe the implementation of Elf. Object Language Specification. LF generalizes firstorder terms by allowing objects from a dependently typed calculus to represent object language expressions. This allows variables in the object language to be represented by variables in the metalanguage, using the technique of higherorder abstract syntax. Common operations ? Internet address: fp@cs.cmu.edu (e.g., renaming of bound variables or substitution) and sideconditions on infer
Mechanizing Language Definitions
, 2006
"... We present a technical introduction to mechanizing language definitions and metatheory using LF and Twelf. LF is a logical framework designed for representing languages that are specified by inductivelydefined judgements. Twelf is an implementation of LF that includes additional support for checki ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
We present a technical introduction to mechanizing language definitions and metatheory using LF and Twelf. LF is a logical framework designed for representing languages that are specified by inductivelydefined judgements. Twelf is an implementation of LF that includes additional support for checking metatheorems about represented languages. In this article, we first summarize a canonicalforms presentation of LF, following the treatment of CLF by Watkins et al. Next, we use the simplytyped #calculus as a running example of mechanization in LF and Twelf: we show how to adequately encode the simplytyped #calculus in LF, and then we prove type preservation and strengthening as examples of Twelf metatheory.
Polishing Up the TaitMartinLöf Proof of the ChurchRosser Theorem
, 1995
"... Introduction The TaitMartinLof proof is the best known and simplest proof of confluence (the ChurchRosser theorem) for various lambda calculi. It is explained in detail, for example, in [Bar84, HS86, Rev88]. The desire to clarify this proof has inspired work on concrete representation of bindi ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
Introduction The TaitMartinLof proof is the best known and simplest proof of confluence (the ChurchRosser theorem) for various lambda calculi. It is explained in detail, for example, in [Bar84, HS86, Rev88]. The desire to clarify this proof has inspired work on concrete representation of binding [dB72, Coq91]. Perhaps the best modern version is given in [Tak95]. Formal proofs are reported in [Hue94, MP93, Pfe92, Sha88] 1 . In this note I outline the innovation given in [Tak95] (and formalized by McKinna [MP93]), and present a further improvement which I believe has not appeared in the literature before. 1.1 Preliminary Definitions Let Rel2 be the class of binary relations, and R; T 2 Rel2 ; we write aRb for (a; b) 2 R . For R 2 Rel2 the transitive reflexive closure of R , wri
A proof of the churchrosser theorem for the lambda calculus in higher order logic
 TPHOLs’01: Supplemental Proceedings
, 2001
"... Abstract. This paper describes a proof of the ChurchRosser theorem within the Higher Order Logic (HOL) theorem prover. This follows the proof by Tait/MartinLöf, preserving the elegance of the classic presentation by Barendregt. We model the lambda calculus with a namecarrying syntax, as in practi ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
Abstract. This paper describes a proof of the ChurchRosser theorem within the Higher Order Logic (HOL) theorem prover. This follows the proof by Tait/MartinLöf, preserving the elegance of the classic presentation by Barendregt. We model the lambda calculus with a namecarrying syntax, as in practical languages. The proof is simplified by forming a quotient of the namecarrying syntax by the αequivalence relation, thus separating the concerns of αequivalence and βreduction. 1
Confluence of Untyped Lambda Calculus Via Simple Types
"... We present a new proof of confluence of the untyped lambda calculus by embedding untyped lambda terms into simply typed lambda terms. This embedding allows us to define a reduction on all lambda terms, whose transitive closure is the betareduction, using an auxiliary reduction and the betareductio ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
We present a new proof of confluence of the untyped lambda calculus by embedding untyped lambda terms into simply typed lambda terms. This embedding allows us to define a reduction on all lambda terms, whose transitive closure is the betareduction, using an auxiliary reduction and the betareduction on simply typed lambda terms. The confluence of the auxiliary reduction makes explicit the joining of the sets of redexes to be reduced. This embedding allows us to use the confluence of betareduction on simply typed lambda terms and thus prove the confluence of the reduction defined. As a consequence we obtain the confluence of betareduction in the untyped lambda calculus.
A Computational Meta Logic for the Horn Fragment of LF
, 1995
"... The logical framework LF is a type theory defined by Harper, Honsell and Plotkin. It is wellsuited to serve as a meta language to represent deductive systems. LF and its logic programming implementation Elf are also wellsuited to represent metatheoretic proofs and their computational content, but ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
The logical framework LF is a type theory defined by Harper, Honsell and Plotkin. It is wellsuited to serve as a meta language to represent deductive systems. LF and its logic programming implementation Elf are also wellsuited to represent metatheoretic proofs and their computational content, but search for such proofs lies outside the framework. This thesis proposes a computational meta logic (MLF) for the Horn fragment of LF. The Horn fragment is a significant restriction of LF but it is powerful enough to represent nontrivial problems. This thesis demonstrates how MLF can be used for the problem of compiler verification. It also discusses some theoretical properties of MLF. Contents 1 Introduction 1 2 Motivation 3 2.1 An Example : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 2.1.1 A Toy Language : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 2.1.2 Natural Semantics : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :...
Refinement Types for Logical Frameworks
, 2010
"... The logical framework LF and its metalogic Twelf can be used to encode and reason about a wide variety of logics, languages, and other deductive systems in a formal, machinecheckable way. Recent studies have shown that MLlike languages can profitably be extended with a notion of subtyping called r ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
The logical framework LF and its metalogic Twelf can be used to encode and reason about a wide variety of logics, languages, and other deductive systems in a formal, machinecheckable way. Recent studies have shown that MLlike languages can profitably be extended with a notion of subtyping called refinement types. A refinement type discipline uses an extra layer of term classification above the usual type system to more accurately capture certain properties of terms. I propose that adding refinement types to LF is both useful and practical. To support the claim, I exhibit an extension of LF with refinement types called LFR, work out important details of its metatheory, delineate a practical algorithm for refinement type reconstruction, and present several case studies that highlight the utility of refinement types for formalized mathematics. In the end I find that refinement types and LF are a match made in heaven: refinements enable many rich new modes of expression, and the simplicity of