Computation by 'While' programs on topological partial algebras
Theoretical Computer Science
The language of while programs is a fundamental model for imperative programming on any data type. It leads to a generalisation of the theory of computable functions on the natural numbers to the theory of computable functions on any many-sorted algebra. The language is used to express many algorithms in scientific computing where while programs are applied to continuous data. In the theory of data, continuous data types are modelled by topological many-sorted algebras. We study both exact and
... pproximate computations by while programs, and while programs with arrays, over topological many-sorted algebras with partial operations. First, we establish that partial operations are necessary in order to compute a wide range of continuous functions. We prove basic continuity properties of our abstract computability: Any purtiul f&ction computuble over u partial topologicul algebru by u while-urruy program is continuous. Any set semicomputuble, or computable, over (I partial topological ulgebra by u while-arruy program is open, or clopen, respectively. Secondly, we contrast exact and approximate computations. The class of functions that can be computed exactly can be quite limited. We show that on connected total algebras, the while and while-array computable functions are precisely those that are explicitly definable by terms. We show that for certain general classes of topological algebras, the total functions that can be approximated by while programs are precisely those that can be effectively approximated by terms. This property we call generulised Weierstruss upproximution. An application of this result is that a function on the set Iw of reals is computable in the sense of computable analysis if, and only if, it is while program approximable on a simple algebra based on iw.