Results 1  10
of
10
Mechanizing the metatheory of Standard ML
, 2007
"... We present an internal language with equivalent expressive power to Standard ML, and discuss its formalization in LF and the machinechecked verification of its type safety in Twelf. The internal language is intended to serve as the target of elaboration in an elaborative semantics for Standard ML ..."
Abstract

Cited by 80 (11 self)
 Add to MetaCart
We present an internal language with equivalent expressive power to Standard ML, and discuss its formalization in LF and the machinechecked verification of its type safety in Twelf. The internal language is intended to serve as the target of elaboration in an elaborative semantics for Standard ML in the style of Harper and Stone. Therefore, it includes all the programming mechanisms necessary to implement Standard ML, including translucent modules, abstraction, polymorphism, higher kinds, references, exceptions, recursive types, and recursive functions. Our successful formalization of the proof involved a careful interplay between the precise formulations of the various mechanisms, and required the invention of new representation and proof techniques of general interest.
Higherorder Representation of Substructural Logics
, 2009
"... We present a technique for higherorder representation of substructural logics such as linear or modal logic. We show that such logics can be encoded in the (ordinary) Logical Framework, without any linear or modal extensions. Using this encoding, metatheoretic proofs about such logics can easily be ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
We present a technique for higherorder representation of substructural logics such as linear or modal logic. We show that such logics can be encoded in the (ordinary) Logical Framework, without any linear or modal extensions. Using this encoding, metatheoretic proofs about such logics can easily be developed in the Twelf proof assistant.
A Review of Three Techniques for Formally Representing Variable Binding
, 2006
"... This paper compares three models for formal reasoning about programming languages with binding. Higher order abstract syntax (hoas) uses metalevel binding to represent objectlevel binding [PE88]. Nominal Logic couples a concrete representation of bound variables with a formal apparatus for safel ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
This paper compares three models for formal reasoning about programming languages with binding. Higher order abstract syntax (hoas) uses metalevel binding to represent objectlevel binding [PE88]. Nominal Logic couples a concrete representation of bound variables with a formal apparatus for safely manipulating bound variables [Pit03]. The locally named binding representation places bound and free variables in different syntactic sorts [MP99]. This paper surveys each binding model, and compares it to the others and to Gordon and Melham’s axiomatization of the untyped lambda calculus [GM97]. Comparisons are made based on expressive power, transparency to human readers, and suitability for mechanized reasoning of each binding model. Each system excels in one area; hoas is most expressive, Nominal Logic most transparent, and locally named most mechanizable.
A Simple Proof of CallbyValue Standardization
"... We give a simple proof of the Standardization Theorem for callbyvalue based on Takahashi’s method of parallel reduction. The proof is formalized in Twelf. 1 ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
We give a simple proof of the Standardization Theorem for callbyvalue based on Takahashi’s method of parallel reduction. The proof is formalized in Twelf. 1
Explicit Contexts in LF (Revised)
"... The standard methodology for representing deductive systems in LF identifies the object’s language’s context with the LF context. Consequently, any variable dealt with explicitly by any judgement or metatheorem must be last in the context. When the object language is dependently typed, this can pose ..."
Abstract
 Add to MetaCart
(Show Context)
The standard methodology for representing deductive systems in LF identifies the object’s language’s context with the LF context. Consequently, any variable dealt with explicitly by any judgement or metatheorem must be last in the context. When the object language is dependently typed, this can pose a problem for establishing some metatheoretic results, since dependent hypotheses cannot be reordered at will. This paper presents a general technique that addresses such problems, based on representing the object language’s context as an explicit object in LF while retaining the use of higherorder representation for the object language’s syntax. A central result is that it is possible to convert between explicit and implicit contexts, which makes it feasible to use the standard methodology for most developments, but use explicit contexts where necessary. We do not propose any extensions to LF; the technique can be utilized in standard LF. 1
Published In A Simple Proof of CallbyValue Standardization
"... We give a simple proof of the Standardization Theorem for callbyvalue based on Takahashi’s method of parallel reduction. The proof is formalized in Twelf. 1 ..."
Abstract
 Add to MetaCart
(Show Context)
We give a simple proof of the Standardization Theorem for callbyvalue based on Takahashi’s method of parallel reduction. The proof is formalized in Twelf. 1
HigherOrder Abstract Syntax: Setting the Record
"... 2005). I am always looking for contributions. If you have any suggestion concerning the content of the Logic Column, or if you would like to contribute by writing a column yourself, feel free to get in touch with me. ..."
Abstract
 Add to MetaCart
(Show Context)
2005). I am always looking for contributions. If you have any suggestion concerning the content of the Logic Column, or if you would like to contribute by writing a column yourself, feel free to get in touch with me.
(Revised)
"... The standard methodology for representing deductive systems in LF identifies the object’s language’s context with the LF context. Consequently, any variable dealt with explicitly by any judgement or metatheorem must be last in the context. When the object language is dependently typed, this can pose ..."
Abstract
 Add to MetaCart
(Show Context)
The standard methodology for representing deductive systems in LF identifies the object’s language’s context with the LF context. Consequently, any variable dealt with explicitly by any judgement or metatheorem must be last in the context. When the object language is dependently typed, this can pose a problem for establishing some metatheoretic results, since dependent hypotheses cannot be reordered at will. This paper presents a general technique that addresses such problems, based on representing the object language’s context as an explicit object in LF while retaining the use of higherorder representation for the object language’s syntax. A central result is that it is possible to convert between explicit and implicit contexts, which makes it feasible to use the standard methodology for most developments, but use explicit contexts where necessary. We do not propose any extensions to LF; the technique can be utilized in standard LF. 1
Published In Explicit Contexts in LF
"... The standard methodology for representing deductive systems in LF identifies the object’s language’s context with the LF context. Consequently, any variable dealt with explicitly by any judgement or metatheorem must be last in the context. When the object language is dependently typed, this can po ..."
Abstract
 Add to MetaCart
(Show Context)
The standard methodology for representing deductive systems in LF identifies the object’s language’s context with the LF context. Consequently, any variable dealt with explicitly by any judgement or metatheorem must be last in the context. When the object language is dependently typed, this can pose a problem for establishing some metatheoretic results, since dependent hypotheses cannot be reordered at will. This paper presents a general technique that addresses such problems, based on representing the object language’s context as an explicit object in LF while retaining the use of higherorder representation for the object language’s syntax. A central result is that it is possible to convert between explicit and implicit contexts, which makes it feasible to use the standard methodology for most developments, but use explicit contexts where necessary. We do not propose any extensions to LF; the technique can be utilized in standard LF. 1
Published In Higherorder Representation of Substructural Logics
"... We present a technique for higherorder representation of substructural logics such as linear or modal logic. We show that such logics can be encoded in the (ordinary) Logical Framework, without any linear or modal extensions. Using this encoding, metatheoretic proofs about such logics can easily be ..."
Abstract
 Add to MetaCart
(Show Context)
We present a technique for higherorder representation of substructural logics such as linear or modal logic. We show that such logics can be encoded in the (ordinary) Logical Framework, without any linear or modal extensions. Using this encoding, metatheoretic proofs about such logics can easily be developed in the Twelf proof assistant. 1