Results 1  10
of
15
Irrelevance in Type Theory with a Heterogeneous Equality Judgement
"... Abstract. Dependently typed programs contain an excessive amount of static terms which are necessary to please the type checker but irrelevant for computation. To obtain reasonable performance of not only the compiled program but also the type checker such static terms need to be erased as early as ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Dependently typed programs contain an excessive amount of static terms which are necessary to please the type checker but irrelevant for computation. To obtain reasonable performance of not only the compiled program but also the type checker such static terms need to be erased as early as possible, preferably immediately after type checking. To this end, Pfenning’s type theory with irrelevant quantification, that models a distinction between static and dynamic code, is extended to universes and large eliminations. Novel is a heterogeneously typed implementation of equality which allows the smooth construction of a universal Kripke model that proves normalization, consistency and decidability.
A modular typechecking algorithm for type theory with singleton types and proof irrelevance
 IN TLCA’09, VOLUME 5608 OF LNCS
, 2009
"... ..."
(Show Context)
Typed Applicative Structures and Normalization by Evaluation for System F ω
"... Abstract. We present a normalizationbyevaluation (NbE) algorithm for System F ω with βηequality, the simplest impredicative type theory with computation on the type level. Values are kept abstract and requirements on values are kept to a minimum, allowing many different implementations of the alg ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We present a normalizationbyevaluation (NbE) algorithm for System F ω with βηequality, the simplest impredicative type theory with computation on the type level. Values are kept abstract and requirements on values are kept to a minimum, allowing many different implementations of the algorithm. The algorithm is verified through a general model construction using typed applicative structures, called type and object structures. Both soundness and completeness of NbE are conceived as an instance of a single fundamental theorem.
Greedy Bidirectional Polymorphism
, 2009
"... Bidirectional typechecking has become popular in advanced type systems because it works in many situations where inference is undecidable. In this paper, I show how to cleanly handle parametric polymorphism in a bidirectional setting. The key contribution is a bidirectional type system for a subset ..."
Abstract

Cited by 6 (4 self)
 Add to MetaCart
Bidirectional typechecking has become popular in advanced type systems because it works in many situations where inference is undecidable. In this paper, I show how to cleanly handle parametric polymorphism in a bidirectional setting. The key contribution is a bidirectional type system for a subset of ML that supports firstclass (higherrank and even impredicative) polymorphism, and is complete for predicative polymorphism (including MLstyle polymorphism and higherrank polymorphism). The system’s power comes from bidirectionality combined with a “greedy ” method of finding polymorphic instances inspired by Cardelli’s early work on System F<:. This work demonstrates that bidirectionality is a good foundation for traditionally vexing features like firstclass polymorphism.
A Partial Type Checking Algorithm for Type: Type
, 2008
"... We analyze a partial type checking algorithm for the inconsistent domainfree pure type system Type:Type(**). We show that the algorithm is sound and partially complete using a coinductive specification of algorithmic equality. This entails that the algorithm will only diverge due to the presence of ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
(Show Context)
We analyze a partial type checking algorithm for the inconsistent domainfree pure type system Type:Type(**). We show that the algorithm is sound and partially complete using a coinductive specification of algorithmic equality. This entails that the algorithm will only diverge due to the presence of divergingcomputations, in particular it will terminate for all typeable terms.
Towards Normalization by Evaluation for the βηCalculus of Constructions
"... Abstract. We consider the Calculus of Constructions with typed betaeta equality and an algorithm which computes long normal forms. The normalization algorithm evaluates terms into a semantic domain, and reifies the values back to terms in normal form. To show termination, we interpret types as part ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Abstract. We consider the Calculus of Constructions with typed betaeta equality and an algorithm which computes long normal forms. The normalization algorithm evaluates terms into a semantic domain, and reifies the values back to terms in normal form. To show termination, we interpret types as partial equivalence relations between values and type constructors as operators on PERs. This models also yields consistency of the betaetaCalculus of Constructions. The model construction can be carried out directly in impredicative type theory, enabling a formalization in Coq. 1
Complete and Easy Bidirectional Typechecking for HigherRank Polymorphism
"... Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability (unlike DamasMilner type inference, bidirectional typing remains decidable even for very expressive type systems), its error reporting, and its relative ea ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
(Show Context)
Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its scalability (unlike DamasMilner type inference, bidirectional typing remains decidable even for very expressive type systems), its error reporting, and its relative ease of implementation. Following design principles from proof theory, bidirectional typing can be applied to many type constructs. The principles underlying a bidirectional approach to polymorphism, however, are less obvious. We give a declarative, bidirectional account of higherrank polymorphism, grounded in proof theory; this calculus enjoys many properties such as ηreduction and predictability of annotations. We give an algorithm for implementing the declarative system; our algorithm is remarkably simple and wellbehaved, despite being both sound and complete. 1.
Weak βηnormalization and normalization by evaluation for System F
 In LPAR’08, volume 5330 of LNAI
, 2008
"... Abstract. A general version of the fundamental theorem for System F is presented which can be instantiated to obtain proofs of weak β and βηnormalization and normalization by evaluation. 1 Introduction and Related Work Dependently typed lambdacalculi have been successfully used as proof languages ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
Abstract. A general version of the fundamental theorem for System F is presented which can be instantiated to obtain proofs of weak β and βηnormalization and normalization by evaluation. 1 Introduction and Related Work Dependently typed lambdacalculi have been successfully used as proof languages in proof assistants like Agda [Nor07], Coq [INR07], LEGO [Pol94], and NuPrl [Ct86]. Since types may depend on values in these type theories, checking equality of types, which is crucial for type and, thus, proof checking, is nontrivial for these
Extensional normalization in the logical framework with proof irrelevant equality
 In Workshop on Normalization by Evaluation, affiliated to LiCS 2009, Los Angeles
, 2009
"... We extend the Logical Framework by proof irrelevant equality types and present an algorithm that computes unique long normal forms. The algorithm is inspired by normalizationbyevaluation. Equality proofs which are not reflexivity are erased to a single object ∗. The algorithm decides judgmental eq ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
We extend the Logical Framework by proof irrelevant equality types and present an algorithm that computes unique long normal forms. The algorithm is inspired by normalizationbyevaluation. Equality proofs which are not reflexivity are erased to a single object ∗. The algorithm decides judgmental equality, its completeness is established by a PER model. 1.