Hostname: page-component-76fb5796d-wq484 Total loading time: 0 Render date: 2024-04-25T13:30:43.180Z Has data issue: false hasContentIssue false

The formal language of recursion

Published online by Cambridge University Press:  12 March 2014

Yiannis N. Moschovakis*
Affiliation:
Department of Mathematics, University of California at Los Angeles, Los Angeles, California 90024

Extract

This is the first of a sequence of papers in which we will develop a foundation for the theory of computation based on a precise, mathematical notion of abstract algorithm. To understand the aim of this program, one should keep in mind clearly the distinction between an algorithm and the object (typically a function) computed by that algorithm. The theory of computable functions (on the integers and on abstract structures) is obviously relevant to this work, but we will focus on making rigorous and identifying the mathematical properties of the finer (intensional) notion of algorithm.

It is characteristic of this approach that we take recursion to be a fundamental (primitive) process for constructing algorithms, not a derived notion which must be reduced to others—e.g. iteration or application and abstraction, as in the classical λ-calculus. We will model algorithms by recursors, the set-theoretic objects one would naturally choose to represent (syntactically described) recursive definitions. Explicit and iterative algorithms are modelled by (appropriately degenerate) recursors.

The main technical tool we will use is the formal language of recursion, FLR, a language of terms with two kinds of semantics: on each suitable structure, the denotation of a term t of FLR is a function, while the intension of t is a recursor (i.e. an algorithm) which computes the denotation of t. FLR is meant to be intensionally complete, in the sense that every (intuitively understood) “algorithm” should “be” (faithfully modelled, in all its essential properties by) the intension of some term of FLR on a suitably chosen structure.

Type
Research Article
Copyright
Copyright © Association for Symbolic Logic 1989

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Footnotes

1

During the preparation of this paper the author was partially supported by an NSF Grant.

2

I thank the referee for the many errors found, and for numerous critical comments which prompted me to simplify and clarify the text in several places.

References

REFERENCES

Greibach, S. A. [1975], Theory of program structures: schemes, semantics, verification, Lecture Notes in Computer Science, vol. 36, Springer-Verlag, Berlin, 1975.CrossRefGoogle Scholar
Kleene, S. C. [1952], Introduction to metamathematics, Van Nostrand, Princeton, New Jersey, 1952.Google Scholar
Manna, Z. [1975], Mathematical theory of computation, McGraw-Hill, New York, 1975.Google Scholar
McCarthy, J. [1960], Recursive functions of symbolic expressions and their computation by machine. Part I, Communications of the Association for Computing Machinery, vol. 3 (1960), pp. 184195.CrossRefGoogle Scholar
Milner, R. [1980], A calculus of communicating systems, Lecture Notes in Computer Science, vol. 92, Springer-Verlag, Berlin, 1980.CrossRefGoogle Scholar
Moschovakis, Y. N. [1984] (ARFTA), Abstract recursion as a foundation of the theory of algorithms, Computation and proof theory. Lecture Notes in Mathematics, vol. 1104, Springer-Verlag, Berlin, 1984, pp. 289364.CrossRefGoogle Scholar
Moschovakis, Y. N.[alg], A mathematical modeling of pure, recursive algorithms, to appear in the proceedings of the Logic at Botik '89 meeting (Pereslavl-Zalessky, 07 2-9, 1989).CrossRefGoogle Scholar
Park, D. [1980], On the semantics of fair parallelism, Abstract software specifications, 1979 Copenhagen winter school, Lecture Notes in Computer Science, vol. 86, Springer-Verlag, Berlin, 1980, pp. 504526.Google Scholar