Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Extracting &ohgr;'s programs from proofs in the calculus of constructions
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Computation and reasoning: a type theory for computer science
Computation and reasoning: a type theory for computer science
Cayenne—a language with dependent types
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Conservativity of Equality Reflection over Intensional Type Theory
TYPES '95 Selected papers from the International Workshop on Types for Proofs and Programs
TYPES '00 Selected papers from the International Workshop on Types for Proofs and Programs
Extensional Equality in Intensional Type Theory
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Dependent types in practical programming
Dependent types in practical programming
Journal of Functional Programming
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Simple unification-based type inference for GADTs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
System F with type equality coercions
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Containers: constructing strictly positive types
Theoretical Computer Science - Applied semantics: Selected topics
Normalization by Evaluation for Martin-Lof Type Theory with Typed Equality Judgements
LICS '07 Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science
Extensionality in the calculus of constructions
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Proceedings of the 3rd workshop on Programming languages meets program verification
Coalgebraic Reasoning in Coq: Bisimulation and the λ-Coiteration Scheme
Types for Proofs and Programs
Packaging Mathematical Structures
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Let's see how things unfold: reconciling the infinite with the intensional
CALCO'09 Proceedings of the 3rd international conference on Algebra and coalgebra in computer science
Outrageous but meaningful coincidences: dependent type-safe syntax and evaluation
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Epigram prime: a demonstration
Proceedings of the third ACM SIGPLAN workshop on Mathematically structured functional programming
Canonicity for 2-dimensional type theory
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
ΠΣ: dependent types without the sugar
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Inductive consequences in the calculus of constructions
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Inductive Types in Homotopy Type Theory
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
A Computational Interpretation of Parametricity
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
System FC with explicit kind equality
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
New equations for neutral terms: a sound and complete decision procedure, formalized
Proceedings of the 2013 ACM SIGPLAN workshop on Dependently-typed programming
Leveling up dependent types: generic programming over a predicative hierarchy of universes
Proceedings of the 2013 ACM SIGPLAN workshop on Dependently-typed programming
Calculating the Fundamental Group of the Circle in Homotopy Type Theory
LICS '13 Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
Hi-index | 0.00 |
This paper has something new and positive to say about propositional equality in programming and proof systems based on the Curry-Howard correspondence between propositions and types. We have found a way to present a propositional equality type which is substitutive, allowing us to reason by replacing equal for equal in propositions;which reflects the observable behaviour of values rather than their construction: in particular, we have extensionality-- functions are equal if they take equal inputs to equal outputs;which retains strong normalisation, decidable typechecking and canonicity--the property that closed normal forms inhabiting datatypes have canonical constructors; which allows inductive data structures to be expressed in terms of a standard characterisation of well-founded trees;which is presented syntactically--you can implement it directly, and we are doing so this approach stands at the core of Epigram 2;which you can play with now: we have simulated our system by a shallow embedding in Agda 2, shipping as part of the standard examples package for that system [21].. Until now, it has always been necessary to sacrifice some of these aspects. The closest attempt in the literature is Altenkirch's construction of a setoid-model for a system with canonicity and extensionality on top of an intensional type theory with proof-irrelevant propositions [4]. Our new proposal simplifies Altenkirch's construction by adopting McBride's heterogeneous approach to equality [19].