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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call