Multilevel functions in Martin-Löf's type theory
Multilevel arrays have been used in the VDL and VDM projects for representing abstract syntax trees. In the same way as the function type can be seen as a generalization of the array type, it is possible to generalize multilevel arrays to multilevel functions. They are general trees with finite depth but arbitrary branching. In this paper, a definition of multilevel functions is given in the framework of Martin-Löf's type theory. The formal rules associated with the new data type is given and justified using the semantics of type theory. The paper contains some programs for manipulating the functions and some data types (vectors, natural numbers, lists, binary trees and functions) are seen as special cases of multilevel functions.
KeywordsFunction Type Type Theory Form Leaf Finite Depth Constructive Mathematic
Unable to display preview. Download preview PDF.
- J. A. Bergstra, H. J. M. Goeman, A. Ollongren, G. A. Terpstra, and Th. P. van der Weide, "Axioms for Multilevel Objects", Annales Societatis Mathematicae Polonae, Series IV: Fundamenta Informaticae, Vol. III.2, pp. 171–180 (1979).Google Scholar
- P. Martin-Löf, "Constructive Mathematics and Computer Programming", pp. 153–175 in Logic, Methodology and Philosophy of Science, VI, North-Holland Publishing Company, Amsterdam (1982), Proceedings of the 6th International Congress, Hannover, 1979.Google Scholar
- B. Nordström and K. Petersson, "Types and Specifications", pp. 915–920 in Proceedings IFIP '83, Paris, ed. R. E. A. Mason, Elsevier Science Publishers (North-Holland), Amsterdam (1983).Google Scholar
- B. Nordström and J. Smith, "Propositions, Types and Specifications of Programs in Martin-Löf's Type Theory", BIT, Vol. 24, no. 3, pp. 288–301 (October 1984).Google Scholar
- B. Nordström, K. Petersson, and J. Smith, An Introduction to Type Theory, Programming Methodology Group, Chalmers University of Technology, Göteborg (1985), In preparation.Google Scholar
- A. Ollongren, Definition of Programming Languages by Interpreting Automata, Academic Press APIC Series No II (1974).Google Scholar
- A. L. Rosenberg and J. E. Thatcher, "What is a multilevel array?", IBM Journal of Research and Development, Vol. 19, pp. 163–169 (1975).Google Scholar
- P. Wegner, "The Vienna Definition Language", Computing Surveys, 1972.Google Scholar