Results 11 - 20
of
31
Dependent Record Types, Subtyping and Proof Reutilization
"... . We present an example of formalization of systems of algebras using an extension of Martin-Lof's theory of types with record types and subtyping. This extension has been presented in [5]. In this paper we intend to illustrate all the features of the extended theory that we consider relevant for th ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
. We present an example of formalization of systems of algebras using an extension of Martin-Lof's theory of types with record types and subtyping. This extension has been presented in [5]. In this paper we intend to illustrate all the features of the extended theory that we consider relevant for the task of formalizing algebraic constructions. We also provide code of the formalization as accepted by a type checker that has been implemented. 1. Introduction We shall use an extension of Martin-Lof's theory of logical types [14] with dependent record types and subtyping as the formal language in which constructions concerning systems of algebras are going to be represented. The original formulation of Martin-Lof's theory of types, from now on referred to as the logical framework, has been presented in [15, 7]. The system of types that this calculus embodies are the type Set (the type of inductively defined sets), dependent function types and for each set A, the type of the elements of A...
A general method to prove the normalization theorem for first and second order typed λ-calculi
- Mathematical Structures in Computer Science
, 1999
"... and second order typed λ-calculi ..."
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 4 (1 self)
- Add to MetaCart
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.
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 3 (2 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 first-class (higher-rank and even impredicative) polymorphism, and is complete for predicative polymorphism (including ML-style polymorphism and higher-rank 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 first-class polymorphism.
On the Algebraic Foundation of Proof Assistants for Intuitionistic Type Theory
, 2008
"... An algebraic presentation of Martin-Löf’s intuitionistic type theory is given which is based on the notion of a category with families with extra structure. We then present a type-checking algorithm for the normal forms of this theory, and sketch how it gives rise to an initial category with familie ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
An algebraic presentation of Martin-Löf’s intuitionistic type theory is given which is based on the notion of a category with families with extra structure. We then present a type-checking algorithm for the normal forms of this theory, and sketch how it gives rise to an initial category with families with extra structure. In this way we obtain a purely algebraic formulation of the correctness of the type-checking algorithm which provides the core of proof assistants for intuitionistic type theory.
Simply Easy! An Implementation of a Dependently Typed Lambda Calculus
, 2007
"... We present an implementation in Haskell of a dependently-typed lambda calculus that can be used as the core of a programming language. We show that a dependently-typed lambda calculus is no more difficult to implement than other typed lambda calculi. In fact, our implementation is almost as easy as ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We present an implementation in Haskell of a dependently-typed lambda calculus that can be used as the core of a programming language. We show that a dependently-typed lambda calculus is no more difficult to implement than other typed lambda calculi. In fact, our implementation is almost as easy as an implementation of the simply typed lambda calculus, which we emphasize by discussing the modifications necessary to go from one to the other. We explain how to add data types and write simple programs in the core language, and discuss the steps necessary to build a full-fledged programming language on top of our simple core.
Typed Applicative Structures and Normalization by Evaluation for System F ω
"... Abstract. We present a normalization-by-evaluation (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 2 (0 self)
- Add to MetaCart
Abstract. We present a normalization-by-evaluation (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.
A Machine Assisted Proof of the Hahn-Banach Theorem
, 1997
"... We describe an implementation of a pointfree proof of the Alaoglu and the HahnBanach theorems in Type Theory. The proofs described here are formalisations of the proofs presented in "The Hahn-Banach Theorem in Type Theory" [4]. The implementation was partially developed simultaneously with [4] and i ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We describe an implementation of a pointfree proof of the Alaoglu and the HahnBanach theorems in Type Theory. The proofs described here are formalisations of the proofs presented in "The Hahn-Banach Theorem in Type Theory" [4]. The implementation was partially developed simultaneously with [4] and it was a help in the development of the informal proofs. 1 Introduction We present a machine assisted formalisation of pointfree topology in Martin-Lof's type theory. The continuum and the basic definitions needed in a pointfree approach to functional analysis are given and in this setting we describe implementations of localic formulations of the Alaoglu and the Hahn-Banach theorems. The classical Hahn-Banach theorem says that, if M is a subspace of a normed linear space A and f is a bounded linear functional on M , then f can be extended to a linear functional F on A so that kFk = kfk. (In our proof we use the equivalent formulation: if kfk 1 then f can be extended to F so that kFk 1.) A...
An implementation of Type:Type
, 2000
"... This paper is a complement to [5]. Here we were using untyped abstraction and could not use a domain model. 8 References ..."
Abstract
- Add to MetaCart
This paper is a complement to [5]. Here we were using untyped abstraction and could not use a domain model. 8 References
An Implementation of the Heine-Borel Covering Theorem in Type Theory
"... . We describe an implementation, in type theory, of a proof of a pointfree formulation of the Heine-Borel covering theorem for intervals with rational endpoints. 1 Introduction The proof presented here is a complete formalisation of the proof presented in "A constructive proof of the Heine-Borel co ..."
Abstract
- Add to MetaCart
. We describe an implementation, in type theory, of a proof of a pointfree formulation of the Heine-Borel covering theorem for intervals with rational endpoints. 1 Introduction The proof presented here is a complete formalisation of the proof presented in "A constructive proof of the Heine-Borel covering theorem for formal reals" [CN]. We describe an implementation, in type theory, of a proof of a pointfree formulation of the Heine-Borel covering theorem for intervals with rational endpoints. The implementations also contain a definition of formal spaces as a type, and definitions of the continuum and the closed rational interval as instances of that type. The paper is organised as follows: in section 2 we describe the proof-checker Half, in which the implementation has been done, and the type theory it is based on. The rest of the paper is devoted to formal definitions and the proof of the Heine-Borel covering theorem. In section 3 some general definitions are given. In section 4 we ...

