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.
Similar content being viewed by others
References
Abelson, H. and Sussman, G. J.: Structure and Interpretation of Computer Programs, MIT Press, Cambridge, Mass., 1985.
Aho, A., Hopcroft, J., and Ullman, J.: Data Structures and Algorithms, Addison-Wesley, Reading, Mass., 1983.
Alagic, S. and Arbib, M. A.: The Design of Well-Constructed and Correct Programs, Springer-Verlag, New York, 1978.
Anderson, B. and Moore, R.: Linear Optimal Control, Prentice-Hall, Englewood Cliffs, NJ. 1971.
Bell, J. and Machover, M.: A Course in Mathematical Logic, North-Holland, Amsterdam, 1977.
Caines, P. E.: Linear Stochastic Systems, Wiley, New York, 1988.
Ehresmann, C.: Categories et structures, Dunod, Paris, 1965.
Eilenberg, S. and Elgot, C.: Recursiveness, Academic Press, New York 1970.
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.
Goldblatt, R.: Logic of Time and Computation, Center for Study of Language and Information, Palo Alto, 1987.
Goldblatt, R. Topoi, North-Holland, Amsterdam, 1984.
Hermann, R.: Geometry, Physics, and Systems, M. Dekker, New York 1973.
Hoard, C. A. R.: An axiomatic basis for computer programming, Comm. ACM 12, (1969) 576–580.
Johnstone, P. T.: Stone Spaces, Cambridge University Press, 1982.
Jonsson, B. and Tarski, A.: Boolean algebras with operators, I., Amer. J. Math. 1952.
Knuth, D.: The Art of Computer Programming, Vols. 1–3, Addison-Wesley, Reading, Mass.
Lie, S.: Geometrie der Beruhrungstransformationen, Leipzig, 1896. Reprinted by Chelsea, New York, 1977.
MacLane, S.: Categories for the Working Mathematician, Springer-Verlag, New York, 1976.
Manes, E. G. and Arbib, M. A.: Algebraic Approaches to Program Semantics, Springer-Verlag, New York, 1986.
Manna, Z.: Lectures on the Logic of Computer Programming, Society for Industrial and Applied Mathematics, Philadelphia, 1980.
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.
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.
Sedgewick, R.: Algorithms, Addison-Wesley, Reading, Mass., 1983.
Stoy, J. E.: Denotational Semantics: The Scott-Strachey Approach to Programming Languages, MIT Press, Cambridge, Mass., 1977.
Wirth, N.: Algorithms+Data Structures=Programs, Prentice-Hall, Englewood Cliffs, NJ, 1976.
Author information
Authors and Affiliations
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
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
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF00046564