Skip to main content
Log in

A ‘geometric’ view of the dynamics of trajectories of computer programs

  • Published:
Acta Applicandae Mathematica Aims and scope Submit manuscript

Abstract

This paper applies mathematical ideas which arise from differential geometry and control theory to computer programming theory. For the sake of simplicity, most questions of logic and language are put to the side. A computer program is regarded as a collection of data, considered as a collection of cross-sections of a fiber space whose base is a discrete space. These distinguished cross-sections are called the trajectories of the computer program system. For the simplest von Neumann type of program, the base space is the nonnegative integers: The trajectories may then often be thought of as the orbits of a discretetime dynamical system. Feedback control theory enters when one attempts to provide a ‘rational’ way of generating such dynamical systems, satisfying certain conditions, such as termination and correctness. The greatest common divisor and bubble sort programs — standard examples in computer science textbooks — are treated as models for the development of a general theory.

Geometrically, we will also consider them as the discrete analogue of what are called path systems in differential geometry. These examples can also be treated as the analogue of closed-loop feedback control systems — themselves a sort of path system — that are ‘driven’ to the final answer by a process that is similar to the way that Lyapunov theory is used in the linear regulator problem of control theory. This use of the Lyapunov ideas of dynamical system theory gives a technique for proving the correctness and termination of some programs. In order to provide a mathematical structure to a programming theory that is, in some sense, analogous to the group-theoretic structure of fiber bundle differential geometry, an algebraic structure of a category which acts on the fiber space is associated with such programs. The computation of the binomial coefficients will also be treated as an example of a system of partial difference equations, leading to the description of some features of concurrent programs. Prolongations and correspondences are defined for programs, based on the analogous ideas for differential systems. Finally, some of the geometric background of modal logic is developed, particularly as it is used in following the temporal development of computer programs. The approach is related to the classical geometric notion of correspondence, and to the Jonsson-Tarski theory of operators on Boolean algebras.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abelson, H. and Sussman, G. J.: Structure and Interpretation of Computer Programs, MIT Press, Cambridge, Mass., 1985.

    Google Scholar 

  2. Aho, A., Hopcroft, J., and Ullman, J.: Data Structures and Algorithms, Addison-Wesley, Reading, Mass., 1983.

    Google Scholar 

  3. Alagic, S. and Arbib, M. A.: The Design of Well-Constructed and Correct Programs, Springer-Verlag, New York, 1978.

    Google Scholar 

  4. Anderson, B. and Moore, R.: Linear Optimal Control, Prentice-Hall, Englewood Cliffs, NJ. 1971.

    Google Scholar 

  5. Bell, J. and Machover, M.: A Course in Mathematical Logic, North-Holland, Amsterdam, 1977.

    Google Scholar 

  6. Caines, P. E.: Linear Stochastic Systems, Wiley, New York, 1988.

    Google Scholar 

  7. Ehresmann, C.: Categories et structures, Dunod, Paris, 1965.

    Google Scholar 

  8. Eilenberg, S. and Elgot, C.: Recursiveness, Academic Press, New York 1970.

    Google Scholar 

  9. Floyd, R. W.: Assigning meanings to programs, in J. T. Schwartz, (ed.), Proc. Symp. Appl. Math. vol. 19, Amer. Math. Soc. Providence, R.I., 1967, pp. 19–32.

    Google Scholar 

  10. Goldblatt, R.: Logic of Time and Computation, Center for Study of Language and Information, Palo Alto, 1987.

    Google Scholar 

  11. Goldblatt, R. Topoi, North-Holland, Amsterdam, 1984.

    Google Scholar 

  12. Hermann, R.: Geometry, Physics, and Systems, M. Dekker, New York 1973.

    Google Scholar 

  13. Hoard, C. A. R.: An axiomatic basis for computer programming, Comm. ACM 12, (1969) 576–580.

    Google Scholar 

  14. Johnstone, P. T.: Stone Spaces, Cambridge University Press, 1982.

  15. Jonsson, B. and Tarski, A.: Boolean algebras with operators, I., Amer. J. Math. 1952.

  16. Knuth, D.: The Art of Computer Programming, Vols. 1–3, Addison-Wesley, Reading, Mass.

  17. Lie, S.: Geometrie der Beruhrungstransformationen, Leipzig, 1896. Reprinted by Chelsea, New York, 1977.

  18. MacLane, S.: Categories for the Working Mathematician, Springer-Verlag, New York, 1976.

    Google Scholar 

  19. Manes, E. G. and Arbib, M. A.: Algebraic Approaches to Program Semantics, Springer-Verlag, New York, 1986.

    Google Scholar 

  20. Manna, Z.: Lectures on the Logic of Computer Programming, Society for Industrial and Applied Mathematics, Philadelphia, 1980.

    Google Scholar 

  21. Manna, Z. and Pneueli, A.: Verification of concurrent programs: the temporal framework, in R. S. Boyer and J S. Moore (eds.), The Correctness Problem in Computer Science, Academic Press, New York, 1981.

    Google Scholar 

  22. Scott, D. S.: Lectures on a mathematical theory of computation, in M. Broy and G. Schmidt, (eds.), Theoretical Foundations of Programming Methodology, D. Reidel, Dordrecht, 1982.

    Google Scholar 

  23. Sedgewick, R.: Algorithms, Addison-Wesley, Reading, Mass., 1983.

    Google Scholar 

  24. Stoy, J. E.: Denotational Semantics: The Scott-Strachey Approach to Programming Languages, MIT Press, Cambridge, Mass., 1977.

    Google Scholar 

  25. Wirth, N.: Algorithms+Data Structures=Programs, Prentice-Hall, Englewood Cliffs, NJ, 1976.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This work was supported by grants from the Ames Research Center of NASA and the Applied Mathematics Program of the National Science Foundation.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hermann, R. A ‘geometric’ view of the dynamics of trajectories of computer programs. Acta Appl Math 18, 145–182 (1990). https://doi.org/10.1007/BF00046564

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00046564

AMS subject classifications (1980)

Key words

Navigation