Recursive Definition and Complexity of Functions Over Arbitrary Data Structures

  • J. Richard Büchi
  • Bernd Mahr
  • Dirk Siefkes


We present a language REC in which we define the computable functions over arbitrary data structures through recursive definitions in familiar mathematical notation. We describe computatixons as derivations in production systems, independent of the representation of data. We measure the cost of computations through book-keeping of weighted evaluation steps. By employing familiar evaluation strategies we model different types of complexity.


Function Variable Function Symbol Recursive Function Function Definition Data Term 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Backus, J., 1978: Can Programming be Liberated from the von-Neumann Style? A Functional Style and Its Algebra of Programs. Comm. ACM vol.21, pp. 613–641MathSciNetMATHGoogle Scholar
  2. 2.
    J.A. Bergstra, M. Broy, J.V. Tucker, M. Wirsing, 1981: On the power of algebraic specification. Proceedings 10th MFCS, Springer-Verlag, pp. 193–204Google Scholar
  3. 3.
    Bird, R., 1976: Programs and machines. WileyMATHGoogle Scholar
  4. 4.
    Brainerd, W., Landweber, L., 1974: Theory of Computation. WileyGoogle Scholar
  5. 5.
    J. R. Büchi, B. Mahr, D. Siefkes, 1983: Manual on REC — a language for use and cost analysis of recursion over arbitrary data structures. Technical Report, FB Informatik, Techn. Universität BerlinGoogle Scholar
  6. 6.
    J. M. Cadiou, Z. Manna, 1972: Recursive definitions of partial functions and their computations. Proc. of an ACM conference on proving assertions about programs, SIGPLAN Notices 7.1 and SIGACT News 14, pp. 58–65Google Scholar
  7. 7.
    H. Ehrig, B.K. Rosen, 1980: Parallelism and Concurrency in Graph Manipulations. Theoret. Comp. Sci. 11, pp. 247–275MathSciNetMATHCrossRefGoogle Scholar
  8. 8.
    Fleischmann, K., Mahr, B., Siefkes, D., 1977: Algorithmentheorie. Lect. Notes FB. Informatik, Techn. Univ. Berlin, 1977 ff.Google Scholar
  9. 9.
    Fleischmann, K., Müller, F., Siefkes, D., 1975: Theorie der Berechenbarkeit. Lect. Notes FB Informatik, Techn. Universität Berlin, 1975/76 and 76/77Google Scholar
  10. 10.
    Gödel, K., 1934: On Undecidable Propositions of Formal Mathematical Systems. Lect. Notes Institute Advanced Study, Princeton, 28 pp.Google Scholar
  11. 11.
    Goguen, J.A., Thatcher, J.W., Wagner, E.G., Wright, J.B., 1977: Initial Algebra Semantics and Continuous Algebras. Journal ACM vol. 24, pp. 68–95.MathSciNetMATHCrossRefGoogle Scholar
  12. 12.
    Hoffmann, C.M., O’Donnell, M.J., 1979: Programming with Equations. Techn. Report Comp. Sci. Dept., Purdue University, 36 pp.Google Scholar
  13. 13.
    D. Kapur, S. Mandayam, 1979: Expressions of the Operation Set of a Data Abstraction. Computation Structures Group Memo 179–1, M.I.T., Laboratory for Computer ScienceGoogle Scholar
  14. 14.
    A.J. Kfoury, R.N. Moll, M.A. Arbib, 1982: A Programming Approach to Computability Theory. Springer-VerlagGoogle Scholar
  15. 15.
    Kirchner, W., Röhrieh, T., Siefkes, D., 1979: Synchronizing Computations by Conditions. Extended Abstract, FB Informatik, Techn. Univ. Berlin, 9 pp.Google Scholar
  16. 16.
    H. A. Klaeren, 1980: A simple class of algorithmic specifications for abstract software modules. Proc. 9th Symp. on Math. Found. of Comp. Sci., Lect. Notes in CS 88, Springer-Verlag, pp. 362–374Google Scholar
  17. 17.
    Kleene, S.C., 1936: General Recursive Functions of Natural Numbers. Math. Ann. vol. 112, pp. 727–742MathSciNetCrossRefGoogle Scholar
  18. 17.a)
    ) Kleene, S.C., 1943: Recursive predicates and quantifiers. Transactions AMS vol. 53, pp. 41–73MathSciNetMATHCrossRefGoogle Scholar
  19. 17.b)
    ) Kleene, S.C., 1952: Introductions to Metamathematies. Wolters-Noordhoff and North-HollandGoogle Scholar
  20. 18.
    J. Loeckx, 1981: Implementations of Abstract Data Types and their Verification. Proc. GI-11. Jahrestagung München, pp.96–108Google Scholar
  21. 19.
    B. Mahr, D. Siefkes, 1981: Relating uniform and nonuniform models of computations. Proc. GI-11. Jahrestagung München, pp. 41–48Google Scholar
  22. 20.
    Z. Manna, 1974: Mathematical Theory of Computation. McGraw HillMATHGoogle Scholar
  23. 21.
    Z. Manna, S. Ness, J. Vuillemin, 1972: Inductive methods for proving properties of programs. Proc. of an ACM conference on proving assertions about programs, SIGPLAN Notices 7.1 and SIGACT News 14, pp. 27–50Google Scholar
  24. 22.
    M. J. O’Donnell, 1977: Computing in Systems Described by Equations. Lect. Notes in Comp. Sci. 58, Springer-VerlagMATHGoogle Scholar
  25. 23.
    P. Padawitz, 1983: Correctness, Completeness and Consistency of Equational Data Type Specifications. Bericht-Nr. 83–15, FB Informatik, Techn. Univ. BerlinGoogle Scholar
  26. 24.
    Post, E.L., 1921: Introduction to a general theory of elementary propositions. Am. Journ. Math. vol. 43, pp. 163–185MathSciNetMATHCrossRefGoogle Scholar
  27. 24.a)
    ) Post, E.L., 1936: Finite combinatory processes — formulation I. Journ. Symb. Logic vol. 1, pp. 103–105MATHCrossRefGoogle Scholar
  28. 24.b)
    ) Post, E.L., 1943: Formal reductions of the general combinatorial decision problem. Am. Journ. Math. vol. 65, pp. 197–215MathSciNetMATHCrossRefGoogle Scholar
  29. 25.
    J.-C. Raoult, J. Vuillemin, 1980: Operational and Semantic Equivalence Between Recursive Programs. Journ. ACM 27,pp.772–796MathSciNetMATHCrossRefGoogle Scholar
  30. 26.
    Scott, D., Strachey, C., 1971: Toward a mathematical semantics for computer languages. PRG-6, Oxford UniversityGoogle Scholar
  31. 27.
    Siefkes, D., 1979: Recursive Equations as a Programming System. In: “Begriffsschrift” Jenaer Frege-Konferenz, Universität Jena, pp. 433–448Google Scholar
  32. 27.a)
    ) Siefkes, D., 1980: Programming with Recursion. Techn. Report CSD-TR 331, Purdue University, 72 pp.Google Scholar
  33. 28.
    J. Vuillemin, 1974: Correct and Optimal Implementations of Recursion in a Simple Programming Language. Journ. of Comp. System Sci., vol. 9, pp. 332–354MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag New York Inc. 1990

Authors and Affiliations

  • J. Richard Büchi
    • 1
  • Bernd Mahr
    • 2
  • Dirk Siefkes
    • 2
  1. 1.Mathematics and Computer Sciences DepartmentPurdue UniversityUSA
  2. 2.FB InformatikTechnische Universität BerlinGermany

Personalised recommendations