Type-theory in color

@article{Bernardy2013TypetheoryIC,
  title={Type-theory in color},
  author={Jean-Philippe Bernardy and Guilhem Moulin},
  journal={Proceedings of the 18th ACM SIGPLAN international conference on Functional programming},
  year={2013}
}
Dependent type-theory aims to become the standard way to formalize mathematics at the same time as displacing traditional platforms for high-assurance programming. However, current implementations of type theory are still lacking, in the sense that some obvious truths require explicit proofs, making type-theory awkward to use for many applications, both in formalization and programming. In particular, notions of erasure are poorly supported. In this paper we propose an extension of type-theory… 

Figures from this paper

A sequent-calculus presentation of type-theory
TLDR
This work thinks that “natural deduction” style is the source of efficiency issues in the presence of inference, and proposes to use a core language in sequent calculus style to solve those issues.
Pure Type Systems with an Internalized Parametricity Theorem
TLDR
This thesis defines for any sufficiently strong Pure Type System O an extension P in which each instance of the parametricity theorem can be proved internally, and proves inside the system that each term of type forall A is an identity.
A role for dependent types in Haskell
TLDR
This work shows how to incorporate roles into dependent types systems and proves, using the Coq proof assistant, that the resulting system is sound.
Logical Relations as Types
TLDR
A fresh “synthetic” take on program modules that treats modules as the fundamental constructs, in which the usual suspects of prior module calculi are rendered as derived notions in terms of a modal type-theoretic account of the phase distinction.
Logical Relations as Types: Proof-Relevant Parametricity for Program Modules
TLDR
A fresh “synthetic” take on program modules that treats modules as the fundamental constructs, in which the usual suspects of prior module calculi are rendered as derived notions in terms of a modal type-theoretic account of the phase distinction.
Type theory in a type theory with quotient inductive types
TLDR
The syntax of a basic type theory with dependent function space, a base type and a family over the base type is defined as a quotient inductive inductive type (a special case of higher inductive types from homotopy type theory).
Practical Erasure in Dependently Typed Languages
TLDR
This paper presents a new erasure mechanism based on whole-program analysis, currently implemented in the Idris programming language, and shows that with it, erasure can lead to asymptotically faster code thanks to the ability to erase not only proofs but also indices.
Zero-Cost Coercions for Program and Proof Reuse
TLDR
This work introduces the notion of identity coercions between non-indexed and indexed variants of inductive datatypes, such as lists and vectors, and relies crucially on erasure to introduce definitional equalities between underlying untyped terms.
Internalizing Relational Parametricity in the Extensional Calculus of Constructions
TLDR
The key idea behind the approach is to interpret types as so-called quasi-PERs (or zigzag-complete relations), which enable us to model the symmetry and transitivity of equality while at the same time allowing abstract types with different representations to be equated.
A Presheaf Model of Parametric Type Theory
...
...

References

SHOWING 1-10 OF 22 REFERENCES
Towards a practical programming language based on dependent type theory
TLDR
This thesis is concerned with bridging the gap between the theoretical presentations of type theory and the requirements on a practical programming language.
On Irrelevance and Algorithmic Equality in Predicative Type Theory
TLDR
Pfenning's type theory with irrelevant quantification is considered which is compatible with a type-based notion of equality that respects eta-laws and its meta-theory is extended to universes and large eliminations and developed.
Canonicity for 2-dimensional type theory
TLDR
This paper develops a novel judgemental formulation of a two-dimensional type theory, which enjoys a canonicity property: a closed term of boolean type is definitionally equal to true or false.
Lambda Calculus with Types
This handbook with exercises reveals in formalisms, hitherto mainly used for hardware and software design and verification, unexpected mathematical beauty. The lambda calculus forms a prototype
Proofs for free
TLDR
It is shown how a typing judgement in System F can be translated into a relational statement (in second-order predicate logic) about inhabitants of the type, and it is obtained that for pure type systems (PTSs) there is a PTS that can be used as a logic for parametricity.
A Computational Interpretation of Parametricity
TLDR
This paper describes an extension of the Pure Type Systems with a special parametricity rule (with computational content), and proves fundamental properties such as Church-Rosser's and strong normalization.
Erasure and Polymorphism in Pure Type Systems
TLDR
The execution model of EPTS generalizes the familiar notions of type erasure and parametric polymorphism, and it is believed functional programmers will find it quite natural to program in such a setting.
Realizability and Parametricity in Pure Type Systems
TLDR
A systematic method to build a logic from any programming language described as a Pure Type System (PTS) that defines a parametricity theory about programs and a realizability theory for the logic, which is expressive enough to internalize both theories.
Intensionality, extensionality, and proof irrelevance in modal type theory
  • F. Pfenning
  • Philosophy
    Proceedings 16th Annual IEEE Symposium on Logic in Computer Science
  • 2001
TLDR
A uniform type theory that integrates intensionality, extensionality and proof irrelevance as judgmental concepts is developed that contrasts with previous approaches that, a priori, distinguished propositions from specifications.
Parametricity and dependent types
TLDR
Reynolds' abstraction theorem shows how a typing judgement in System F can be translated into a relational statement about inhabitants of the type, and a similar result is obtained for a single lambda calculus, in which terms, types and their relations are expressed.
...
...