|
ABSTRACT
A function has a <i>dependent type</i> when the type of its result depends upon the value of its argument. Dependent types originated in the type theory of intuitionistic mathematics and have reappeared independently in programming languages such as CLU, Pebble, and Russell. Some of these languages make the assumption that there exists a <i>type-of-all-types</i> which is its own type as well as the type of all other types. Girard proved that this approach is inconsistent from the perspective of intuitionistic logic. We apply Girard's techniques to establish that the type-of-all-types assumption creates serious pathologies from a programming perspective: a system using this assumption is inherently not normalizing, term equality is undecidable, and the resulting theory fails to be a conservative extension of the theory of the underlying base types. The failure of conservative extension means that classical reasoning about programs in such a system is not sound.
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
|
Reference manual for the Ada programming language. G.P.O. 008-000-00354-8, 1980.
|
| |
2
|
H. P. Barendregt. <i>The Lambda Calculus: Its Syntax and Semantics.</i> Volume 103 of <i>Studies in Logic and the Foundations of Mathematics,</i> North-Holland, Amsterdam, second edition, 1984.
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
|
| |
8
|
H. B. Curry and R. Feys. <i>Combinatory Logic.</i> Volume 1, North-Holland, Amsterdam, 1958.
|
| |
9
|
N. G. de Bruijn. Lambda-calculus notation with nameless dummies. <i>Indag. Math.,</i> 34(5):381--392, 1972.
|
| |
10
|
N. G. de Bruijn. A survey of the project AUTOMATH. In J. P. Seldin and R. Hindley, editors, <i>To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus, and Formalism,</i> pages 579--606, Academic Press, New York, 1980.
|
 |
11
|
|
 |
12
|
|
| |
13
|
G. Gentzen. Investigations into logical deduction. In M. E. Szabo, editor, <i>The Collected Papers of Gerhard Gentzen,</i> North-Holland, Amsterdam, 1969.
|
| |
14
|
G. Gentzen. Investigations into logical deduction. <i>Mathematische Zeitschrift,</i> 39:176--210 and 405--431, 1934. See {13} for an English translation.
|
| |
15
|
J. Girard. <i>Interprétation fonctionelle et élimination des coupures dans l'arithmétique d'ordre supéricure.</i> Ph.D. thesis, Université Paris VII, 1972.
|
| |
16
|
W. A. Howard. The formulae-as-types notion of construction. 1969. Recently published as {17}.
|
| |
17
|
W. A. Howard. The formulae-as-types notion of construction. In J. P. Seldin and R. Hindley, editors, <i>To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus, and Formalism,</i> pages 479--490, Academic Press, New York, 1980.
|
| |
18
|
B Liskov , E Moss , A Snyder , R Atkinson , J C. Schaffert , T Bloom , R Scheifler, CLU reference manual, Springer-Verlag New York, Inc., New York, NY, 1984
|
| |
19
|
P. Martin-Löf. An intuitionistic theory of types: predicative part. In F. Rose and J. Sheperdson, editors, <i>Logic Colloquium III,</i> pages 73--118, North-Holland, Amsterdam, July 1973.
|
| |
20
|
P. Martin-Löf. <i>A Theory of Types.</i> Report 71--3, Department of Mathematics, University of Stockholm, February 1971.
|
| |
21
|
|
| |
22
|
|
| |
23
|
J. C. Mitchell. <i>Lambda Calculus Models of Typed Programming Languages.</i> Ph.D. thesis, Massachusetts Institute of Technology, Cambridge, Massachusetts, August 1984.
|
 |
24
|
|
| |
25
|
|
| |
26
|
G. D. Plotkin. Personal communication, March 1985.
|
| |
27
|
D. Prawitz. <i>Natural Deduction: A Proof-Theoretical Study.</i> Volume 3 of <i>Stockholm Studies in Philosophy,</i> Almqvist and Wiksell, Stockholm, 1965.
|
| |
28
|
J. C. Reynolds. Polymorphism is not set-theoretic. In G. Kahn, D. B. MacQueen, and G. D. Plotkin, editors, <i>Semantics of Data Types,</i> pages 145--156, Springer-Verlag, Berlin, June 1984.
|
| |
29
|
|
| |
30
|
J. C. Reynolds. Types, abstraction, and parametric polymorphism. In R. E. A. Mason, editor, <i>Information Processing 83,</i> pages 513--523, North-Holland, 1983.
|
| |
31
|
A. Rezus. <i>Abstract AUTOMATH.</i> Mathematical Centre Tract 160, Mathematisch Centrum, Amsterdam, 1983.
|
CITED BY 14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. R. Meyer , J. C. Mitchell , E. Moggi , R. Statman, Empty types in polymorphic lambda calculus, Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.253-262, January 21-23, 1987, Munich, West Germany
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Andrew P. Black , Norman C. Hutchinson , Eric Jul , Henry M. Levy, The development of the Emerald programming language, Proceedings of the third ACM SIGPLAN conference on History of programming languages, p.11-1-11-51, June 09-10, 2007, San Diego, California
|
|
|
|
|