# Recursion and Parameter Mechanisms: An Axiomatic Approach

• W. P. De Roever
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 14)

## Abstract

Minimal fixed point operators were introduced by Scott and De Bakker in order to describe the input-output behaviour of recursive procedures. As they considered recursive procedures acting upon a monolithic state only, i.e., procedures acting upon one variable, the problem remained open how to describe this input-output behaviour in the presence of an arbitrary number of components which as a parameter may be either called-by-value or called-by-name. More precisely, do we need different formalisms in order to describe the input-output behaviour of these procedures for different parameter mechanisms, or do we need different minimal fixed point operators within the same formalism, or do different parameter mechanisms give rise to different transformations, each subject to the same minimal fixed point operator? Using basepoiht preserving relations over cartesian products of sets with unique basepoints, we provide a single formalism in which the different combinations of call-by-value and call-by-name are represented by different products of relations, and in which only one minimal fixed point operator is needed. Moreover this mathematical description is axiomatized, thus yielding a relational calculus for recursive procedures with a variety of possible parameter mechanisms.

## Keywords

Binary Relation Parameter Mechanism Projection Function Identity Relation Recursive Procedure
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## Preview

Unable to display preview. Download preview PDF.

## Bibliography

1. [1]
Blikle, A., and A. Mazurkiewicz, An algebraic approach to the theory of programs, algorithms, languages and recursiveness, in Proc. of an International Symposium and Summer School on the Mathematical Foundations of Computer Science, Warsaw-Jablonna, 1972.Google Scholar
2. [2]
Burstall, R.M., Proving properties of programs by structural induction,Comput. J., 12 (1969) 41–48.Google Scholar
3. [3]
Cadiou, J.M., Recursive definitions of partial functions and their computations, Thesis, Stanford University, 1972.Google Scholar
4. [4]
De Bakker, J.W., Recursive procedures, Mathematical Centre Tracts 24, Amsterdam, 1971.Google Scholar
5. [5]
De Bakker, J.W., Recursion, induction and symbol manipulation, in Proc. MC-25 Informatica Symposium, Mathematical Centre Tracts 37, Amsterdam, 1971.Google Scholar
6. [6]
De Bakker, J.W., and W.P. de Roever, A calculus for recursive program schemes, in Proc. IRIA Symposium on Automata, Formal languages and Programming, M. Nivat (ed.), North-Holland, Amsterdam, 1972.Google Scholar
7. [7]
De Bakker, J.W., and L.G.L.Th. Meertens, On the completeness of the inductive assertion method, Prepublication, Mathematical Centre Report IW 12/73, Amsterdam, 1973.Google Scholar
8. [8]
De Roever, W.P., Operational and mathematical semantics for recursive polyadic program schemata (Extended abstract), in Proceedings of Symposium and Summer School “Mathematical Foundations of Computer Science”, 3–8 September 1973, High Tatras, Czechoslovakia, pp. 293–298.Google Scholar
9. [9]
De Roever, W.P., Operational, mathematical and axiomatized semantics for recursive procedures and data structures,Mathematical Centre Report ID/1, Amsterdam.Google Scholar
10. [10]
Dijkstra, E.W., Notes on structured programming, in Hoare, C.A.R., Dijkstra., E.W., and 0.J. Dahl, Structured Programming, Academic Press, New York, 1972.Google Scholar
11. [11]
Dijkstra, E.W., A simple axiomatic basis for programming language constructs, Indagationes Mathematicae, 36 (1974) 1–15.Google Scholar
12. [12]
Garland, S.J., and D.C. Luckham, Translating recursion schemes into program schemes, in Proc. of an ACM Conference on Proving Assertions about Programs, Las Cruces, New Mexico, January 6–7, 1972.Google Scholar
13. [13]
Guessarian, I., Sur une réduction des schémas de programmes polyadiques à des schémas monadiques et ses applications, Memo GRIT,no. 73. 05, Université de Paris, 1973.Google Scholar
14. [14]
Hitchcock, P., An approach to forma/ reasoning about programs, Thesis, University of Warwick, Coventry, England, 1974.Google Scholar
15. [15]
Hitchcock, P., and D. Park, Induction rules and proofs of termination, in Proc. IRIA Symposium on Automata, Formal Languages and Programming, M. Nivat (ed.), North-Holland, Amsterdam, 1972.Google Scholar
16. [16]
Hoare, C.A.R., An axiomatic basis for computer programming, Comm. ACM, 12 (1969) 576–583.Google Scholar
17. [17]
Hotz, G., Eindeutigkeit and Mehrdeutigkeit formaler Sprachen, Electron. Informationsverarbeit. Kybernetik, 2 (1966), 235–246.Google Scholar
18. [18]
Karp, R.M., Some applications of logical syntax to digital computer programming, Thesis, Harvard University, 1959.Google Scholar
19. [19]
Knuth, D.E., The Art of Computer Programming, Vol. 1, Fundamental Algorithms, Addison Wesley, Reading (Mass. ), 1968.Google Scholar
20. [20]
Manna, Z., and J. Vuillemin, Fixpoint approach to the theory of computation, Comm. ACM, 15 (1972) 528–536.
21. [21]
Mazurkiewicz, A., Proving properties of processes, PRACE CO PAN-CC, PAS Reports 134, Warsaw, 1973.Google Scholar
22. [22]
McCarthy, J., A basis for a mathematical theory of computation, in Computer Programming and Formal Systems, pp.33–70, P. Braffort and D. Hirschberg (eds.), North-Holland, Amsterdam, 1963.Google Scholar
23. [23]
Milner, R., Algebraic theory of computable polyadic functions, Computer Science Memorandum 12, University College of Swansea, 1970.Google Scholar
24. [24]
Morris Jr., J.H., Another recursion induction principle, Comm. ACM, 14 (1971) 351–354.Google Scholar
25. [25]
Park, D., Fixpoint induction and proof of program semantics, in Machine Intelligence, Vol. 5, pp.59–78, B. Meltzer and D. Michie (eds.), Edinburgh University Press, Edinburgh, 1970.Google Scholar
26. [26]
Park, D., Notes on a formalism for reasoning about schemes, Unpublished notes, University of Warwick, 1970.Google Scholar
27. [27]
Scott, D., Outline of a mathematical theory of computation, in Proceedings of the Fourth Annual Princeton Conference on Information Sciences and Systems, pp.169–176, Princeton. 1970.Google Scholar
28. [28]
Scott, D., Lattice theory, data types, and semantics, in NYU Symposium on formal semantics, pp.64–106, Prentice Hall, 1972.Google Scholar
29. [29]
Scott, D., and J.W. de Bakker, A theory of programs, Unpublished notes, IBM Seminar, Vienna, 1969.Google Scholar
30. [30]
Tarski, A., On the calculus of relations, J. Symbolic Logic, 6 (1941) 73–89.Google Scholar
31. [31]
Vuillemin, J., Proof techniques for recursive programs, Thesis, Stanford University, 1972.Google Scholar
32. [32]
Wirth, N., Program development by stepwise refinement,Comm. ACM, 14 (1971) 221–227.Google Scholar
33. [33]
Wright, J.B., Characterization of recursively enumerable sets, J. Symbolic Logic, 37 (1972) 507–511.Google Scholar