Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Do-it-yourself type theory

Published: 01 March 1989 Publication History

Abstract

This paper provides a tutorial introduction to a constructive theory of types based on, but incorporating some extensions to, that originally developed by Per Martin-Löf. The emphasis is on the relevance of the theory to the construction of computer programs and, in particular, on the formal relationship between program and data structure. Topics discussed include the principle of propositions as types, free types, congruence types, types with information loss and mutually recursive types. Several examples of program development within the theory are also discussed in detail.

References

References

[1]
Allen, S.: A Non-Type-Theoretic Semantics for Type-Theoretic Language. PhD thesis, Cornell University, September 1987.
[2]
Backhouse, R. C.: Notes on Martin-Löf's Theory of Types, parts 1 and 2. In:FACS ACTS, British Computer Society, 1986.
[3]
Backhouse, R. C.:On the Meaning and Construction of the Rules in Martin-Löf's Theory of Types. Computing Science Notes CS 8606, Department of Mathematics and Computing Science, University of Groningen, 1986.
[4]
Backhouse, R. C.:Program Construction and Verification. Prentice-Hall International, 1986.
[5]
Boyer, R. S. and Moore, J. S.:A Computational Logic. Academic Press, 1979.
[6]
Boyer, R. S. and Moore, J. S.:MJRTY — A Fast Majority Vote Algorithm. Technical Report ICSCA-CMP-32, Institute for Computing Science and Computer Application, University of Texas at Austin, 1982.
[7]
de Bruijn, N. G.: A Survey of the Project Automath. In:Essays in Combinatory Logic, Lambda Calculus, and Formalism, J. P. Seldin and J. R. Hindley, (eds.), pp. 589–606, Academic Press, 1980.
[8]
Chisholm P. Derivation of a Parsing Algorithm in Martin-Löf's Theory of Types Science of Computer Programming 1987 8 1-42
[9]
Chisholm P. Investigations into Martin-Löf Type Theory as a Programming Logic PhD thesis 1988 Edinburgh Department of Computer Science, Heriot-Watt University
[10]
Church A. Annals of Mathematical Studies The Calculi of Lambda-Conversion. Vol. 6 1951 Princeton Princeton University Press
[11]
Cleaveland, R. and Panangaden, P.:Type Theory and Concurrency. Technical Report TR 85–714, Department of Computer Science, Cornell University, December 1985.
[12]
Constable R. L. Constructive Mathematics as a Programming Logic 1: Some Principles of Theory Annals of Discrete Mathematics 1985 24 21-38
[13]
Constable R. L., Knoblock T. B., and Bates J. L. Writing Programs that Construct Proofs Journal of Automated Reasoning 1985 1 285-326
[14]
Constable, R. L. and Mendler, N. P.: Recursive Definitions in Type Theory. In:Proc. Logics of Programs Conference, LNCS 193, pp. 61–78, Springer-Verlag, 1985.
[15]
Constable, R. L. and Smith, S. F.: Partial Objects in Constructive Type Theory. In:Proc. IEEE Symp. on Logic in Computer Science, pp. 183–193, Computer Society Press of the IEEE, 1987.
[16]
Constable, R. L. et al.:Implementing Mathematics in the Nuprl Proof Development System. Prentice-Hall, 1986.
[17]
Coquand, T. and Huet, G: Constructions: a Higher Order Proof System for Mechanizing Mathematics. In:Proc. of EUROCAL 85, Linz, Austria, April 1985.
[18]
Curry, H. B. and Feys, R.:Combinatory Logic. Vol. 1. North-Holland, 1958.
[19]
Dahl, O.-J., Dijkstra, E. W. and Hoare, C. A. R.:Structured Programming. Academic Press, 1972.
[20]
Dijkstra, E. W.:A Discipline of Programming. Prentice-Hall, 1976.
[21]
Dijkstra, E. W. and Feijen, W. H.-J.:Een Methode van Programmeren. Academic Service, 1984. Now available asA Method of Programming, Addison-Wesley, 1988.
[22]
Dybjer, P.: Inductively Defined Sets in Martin-Löf's Set Theory. In:Workshop on General Logic, A. Avron, R. Harper, F. Honsell, I. Mason and G. Plotkin, (eds.), Report ECS-LFCS-88-52, Department of Computer Science, University of Edinburgh, February, 1987.
[23]
Dyckhoff, R.:Category Theory as an Extension of Martin-Löf Type Theory. Technical Report CS/86/3, Department of Computational Science, University of St. Andrews, 1985.
[24]
Gentzen, G.: Investigations into Logical Deduction. In:The Collected Papers of Gerhard Gentzen, M. E. Szabo, (ed.), pp. 68–213, North-Holland, 1969.
[25]
Glivenko V. Sur Quelques Points de la Logique de m. Brouwer Bulletins de la classe des sciences 1929 15 183-188
[26]
Gordon, M. J., Milner, R. and Wadsworth, C. P.:Edinburgh LCF. Springer-Verlag, 1979.
[27]
Gries, D.:The Science of Programming. Springer-Verlag, 1981.
[28]
Harper, R., Honsell, F. A. and Plotkin, G.: A Framework for Defining Logics. In:Proc. Second Annual Conf. on Logic in Computer Science, Cornell, December 1987.
[29]
Hehner, E. R. C.:The Logic of Programming. Prentice-Hall, 1984.
[30]
Harper, R., Milner, R. and Tofte, M.:The Definition of Standard ML: Version 2. Report No. ECS-LFC-88-62, Laboratory for Foundations of Computer Science, University of Edinburgh, 1988.
[31]
Hoare, C. A. R.: Notes on Data Structuring. In:Structured Programming, O.-J. Dahl, E. W. Dijkstra and C. A. R. Hoare, (eds.), Academic Press, 1972.
[32]
Howard, W. A.: The Formulas-as-Types Notion of Construction. In:To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism, J. P. Seldin and J. R. Hindley, (eds.), pp. 479–490, Academic Press, 1980.
[33]
Hughes, J.:Why Functional Programming Matters. Technical Report, Department of Computer Science, University of Göteborg/Chalmers, 1984.
[34]
Jackson, M. A.:Principles of Program Design. Academic Press, 1975.
[35]
Jensen, K. and Wirth, N.:PASCAL: User Manual and Report. Springer-Verlag, 1975.
[36]
Kleene S. C. Introduction to Metamathematics 1952 Amsterdam North-Holland
[37]
Knuth D. E., Morris J. H., and Pratt V. R. Fast Pattern Matching in Strings SIAM Journal of Computing 1977 6 325-350
[38]
Lambek, J. and Scott, P. J.:Studies in Advanced Mathematics Vol 7, Introduction to Higher Order Categorical Logic. Cambridge University Press, 1986.
[39]
Malcolm, G. R. and Chisholm, P.:Polymorphism and Information Loss in Martin-Löf's Type Theory. Report CS 8814, Department of Mathematics and Computing Science, University of Groningen, 1988.
[40]
Martin-Löf, P.: An Intuitionistic Theory of Types: Predicative Part. In:Logic Colloquium 1973, H. E. Rose and J. C. Shepherdson (eds.), pp. 73–118, North-Holland, 1975.
[41]
Martin-Löf, P.: Constructive Mathematics and Computer Programming. In:Logic, Methodology and Philosophy of Science, IV, L. J. Cohen, J. Los, H. Pfeiffer and K.-P. Podewski (eds.) pp. 153–175, North-Holland, 1982.
[42]
Martin-Löf, P.: Constructive Mathematics and Computer Programming. In:Mathematical Logic and Computer Programming, C. A. R. Hoare and J. C. Shepherdson (eds.), pp. 167–184, Prentice-Hall, 1984.
[43]
Martin-Löf, P.:Intuitionistic Type Theory. Bibliopolis, 1984. Notes by Giovanni Sambin of a series of lectures given in Padova.
[44]
Meertens, L.: Algorithmics — Towards Programming as a Mathematical Activity. In:Proc. CWI Symp. on Mathematics and Computer Science, pp. 289–334, North-Holland, 1986.
[45]
Mendler, N. P.: Inductive Definitions in Type Theory. PhD thesis, Cornell University, September 1987.
[46]
Milner R. A Theory of Type Polymorphism in Programming Journal of Computer System Sciences 1977 17 348-375
[47]
Misra J. and Gries D. Finding Repeated Elements Science of Computer Programming 1982 2 143-152
[48]
Mitchell, J. and Plotkin, G.: Abstract Types have Existential Types. In:Proc. 12th ACM Symp. on Principles of Programming Languages, pp. 37–51, 1985.
[49]
Nordström, B.: Multilevel Functions in Type Theory. In:Programs as Data Objects, N. Jones (ed.), Springer-Verlag, LNCS 217, 1985.
[50]
Nordström, B.:Terminating General Recursion. Technical Report, Programming Methodology Group, University of Göteborg/Chalmers, September 1987.
[51]
Nordström, B. and Petersson, K.: Types and Specifications. In:IFIP'83, R. E. Mason (ed.), pp. 915–920, Elsevier Science Publishers, 1983.
[52]
Nordström, B. and Petersson, K.:The Semantics of Module Specifications in Martin-Löf's Type Theory. Technical Report 36, Programming Methodology Group, University of Göteborg/Chalmers, October 1985.
[53]
Nordström, B., Petersson, K. and Smith, J.:An Introduction to Martin-Löf's Theory of Types. Technical Report, Programming Methodology Group, University of Göteborg/Chalmers, 1986.
[54]
Paulson L. C. Constructing Recursion Operators in Intuitionistic Type Theory Journal of Symbolic Computation 1986 2 325-355
[55]
Petersson, K. and Synek, D.,A Set Constructor for Trees in Intuitionistic Type Theory. Technical Report, Department of Computer Science, University of Göteborg/Chalmers, August 1987.
[56]
Prawitz, D.: Proofs and the Meaning and Completeness of the Logical Constants. In:Essays on Mathematical and Philosophical Logic, J. Hintikka, I. Niiniluoto and E. Saarinen (eds.), pp. 25–40, Reidel, 1979.
[57]
Reynolds, J. C.:The Craft of Programming. Prentice-Hall, 1981.
[58]
Saaman, E. and Malcolm, G. R.:Well-founded Recursion in Type Theory. Computing Science Notes CS 8701, Department of Mathematics and Computer Science, University of Groningen, 1987.
[59]
Schmidt, D.:Denotational Semantics: A Methodology for Language Development. Allyn and Bacon, 1986.
[60]
Schröder-Heister, P.: A Natural Extension of Natural Deduction.The Journal of Symbolic Logic,49, 1984.
[61]
Smith, J.: On a Nonconstructive Type Theory and Program Derivation. In:Mathematical Logic and its Applications, D. G. Skordev (ed.), pp. 331–340, Plenum Publishing Corporation, 1987.
[62]
Stoy, J.:Denotational Semantics. The MIT Press, 1977.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Aspects of Computing
Formal Aspects of Computing  Volume 1, Issue 1
Mar 1989
410 pages
ISSN:0934-5043
EISSN:1433-299X
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 March 1989
Accepted: 15 November 1988
Received: 15 October 1988
Published in FAC Volume 1, Issue 1

Author Tags

  1. Constructive type theory
  2. Data structures
  3. Intuitionistic logic
  4. Program development and correctness
  5. Propositions-as-types

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)5
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media