|
ABSTRACT
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].
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Andreas Abel. A Polymorphic Lambda-Calculus with Sized Higher-Order Types. PhD thesis, Ludwig-Maximilians-Universität München, 2006.
|
| |
3
|
|
| |
4
|
|
 |
5
|
|
| |
6
|
Alexandre Buisse and Peter Dybjer. Formalizing categorical models of type theory in type theory. In International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice, 2007.
|
| |
7
|
R. L. Constable , S. F. Allen , H. M. Bromley , W. R. Cleaveland , J. F. Cremer , R. W. Harper , D. J. Howe , T. B. Knoblock , N. P. Mendler , P. Panangaden , J. T. Sasaki , S. F. Smith, Implementing mathematics with the Nuprl proof development system, Prentice-Hall, Inc., Upper Saddle River, NJ, 1986
|
| |
8
|
Thierry Coquand. Pattern matching with dependent types. In BNordström, KPettersson, and GPlotkin, editors, Informal Proceedings Workshop on Types for Proofs and Programs, Båstad, Sweden, 8--12 June 1992, pages 71--84. Dept. of Computing Science, Chalmers Univ. of Technology and Göteborg Univ., 1992.
|
| |
9
|
|
| |
10
|
|
| |
11
|
Conor McBride et al. Epigram, 2004. http://www.e-pig.org.
|
| |
12
|
Healfdene Goguen, Conor McBride, and James McKinna. Eliminating dependent pattern matching. In Kokichi Futatsugi, Jean-Pierre Jouannaud, and José Meseguer, editors, Essays Dedicated to Joseph A. Goguen, volume 4060 of Lecture Notes in Computer Science, pages 521--540. Springer, 2006.
|
| |
13
|
|
| |
14
|
Martin Hofmann. Extensional concepts in intensional type theory. PhD thesis, Laboratory for Foundations of Computer Science, University of Edinburgh, 1995. Available from http://www.lfcs.informatics.ed.ac.uk/reports/95/ECS-LFCS-95-327/.
|
| |
15
|
Martin Hofmann and Thomas Streicher. A groupoid model refutes uniqueness of identity proofs. In LICS 94, pages 208--212, 1994.
|
| |
16
|
GHuet and ASaïbi. Constructive Category Theory. MIT Press, 1998.
|
| |
17
|
|
| |
18
|
Conor McBride. Dependently Typed Functional Programs and their Proofs. PhD thesis, University of Edinburgh, 1999. Available from http://www.lfcs.informatics.ed.ac.uk/reports/00/ECS-LFCS-00-419/.
|
| |
19
|
|
| |
20
|
|
| |
21
|
Ulf Norell. Agda 2. http://appserv.cs.chalmers.se/users/ulfn/wiki/agda.php.
|
| |
22
|
Nicolas Oury. Extensionality in the calculus of constructions. In TPHOL 05, pages 278--293, 2005.
|
 |
23
|
|
 |
24
|
Simon Peyton Jones , Dimitrios Vytiniotis , Stephanie Weirich , Geoffrey Washburn, Simple unification-based type inference for GADTs, Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming, September 16-21, 2006, Portland, Oregon, USA
|
 |
25
|
|
 |
26
|
Martin Sulzmann , Manuel M. T. Chakravarty , Simon Peyton Jones , Kevin Donnelly, System F with type equality coercions, Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation, January 16-16, 2007, Nice, Nice, France
[doi> 10.1145/1190315.1190324]
|
| |
27
|
David A. Turner. A new formulation of constructive type theory. In Peter Dybjer et al., editor, Proceedings of the Workshop on Programming Logic. Programming Methodology Group, University of Gothenburg and Chalmers University of Technology, 1989.
|
| |
28
|
B. Werner. Une Théorie des Constructions Inductives. PhD thesis, Université Paris 7, 1994.
|
| |
29
|
|
|