# Recursion and parameter mechanisms: An axiomatic approach

## 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 basepoint 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 Recursive Procedure Correctness Proof## Preview

Unable to display preview. Download preview PDF.

## Bibliography

- [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]Burstall, R.M.,
*Proving properties of programs by structural induction*, Comput. J., 12 (1969), 41–48.Google Scholar - [3]Cadiou, J.M.,
*Recursive definitions of partial functions and their computations*, Thesis, Stanford University, 1972.Google Scholar - [4]De Bakker, J.W.,
*Recursive procedures*, Mathematical Centre Tracts 24, Amsterdam, 1971.Google Scholar - [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]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]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]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]De Roever, W.P.,
*Operational, mathematical and axiomatized semantics for recursive procedures and data structures*, Mathematical Centre Report ID/1, Amsterdam.Google Scholar - [10]Dijkstra, E.W.,
*Notes on structured programming*, in Hoare, C.A.R., Dijkstra, E.W., and O.J. Dahl,*Structured Programming*, Academic Press, New York, 1972.Google Scholar - [11]Dijkstra, E.W.,
*A simple axiomatic basis for programming language constructs*, Indagationes Mathematicae, 36 (1974) 1–15.Google Scholar - [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]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]Hitchcock, P.,
*An approach to formal reasoning about programs*, Thesis, University of Warwick, Coventry, England, 1974.Google Scholar - [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]Hoare, C.A.R.,
*An axiomatic basis for computer programming*, Comm. ACM, 12 (1969) 576–583.CrossRefGoogle Scholar - [17]Hotz, G.,
*Eindeutigkeit und Mehrdeutigkeit formaler Sprachen*, Electron. Informationsverarbeit. Kybernetik, 2 (1966), 235–246.Google Scholar - [18]Karp, R.M.,
*Some applications of logical syntax to digital computer programming*, Thesis, Harvard University, 1959.Google Scholar - [19]Knuth, D.E.,
*The Art of Computer Programming*, Vol. 1,*Fundamental Algorithms*, Addison Wesley, Reading (Mass.), 1968.Google Scholar - [20]Manna, Z., and J. Vuillemin,
*Fixpoint approach to the theory of computation*, Comm. ACM, 15 (1972) 528–536.CrossRefGoogle Scholar - [21]Mazurkiewicz, A.,
*Proving properties of processes*, PRACE CO PAN-CC, PAS Reports 134, Warsaw, 1973.Google Scholar - [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]Milner, R.,
*Algebraic theory of computable polyadic functions*, Computer Science Memorandum 12, University College of Swansea, 1970.Google Scholar - [24]Morris Jr., J.H.,
*Another recursion induction principle*, Comm. ACM, 14 (1971) 351–354.CrossRefGoogle Scholar - [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]Park, D.,
*Notes on a formalism for reasoning about schemes*, Unpublished notes, University of Warwick, 1970.Google Scholar - [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]Scott, D.,
*Lattice theory, data types, and semantics*, in NYU Symposium on formal semantics, pp. 64–106, Prentice Hall, 1972.Google Scholar - [29]Scott, D., and J.W. de Bakker,
*A theory of programs*, Unpublished notes, IBM Seminar, Vienna, 1969.Google Scholar - [30]
- [31]Vuillemin, J.,
*Proof techniques for recursive programs*, Thesis, Stanford University, 1972.Google Scholar - [32]Wirth, N.,
*Program development by stepwise refinement*, Comm. ACM, 14 (1971) 221–227.CrossRefGoogle Scholar - [33]Wright, J.B.,
*Characterization of recursively enumerable sets*, J. Symbolic Logic, 37 (1972) 507–511.Google Scholar