On a Mathematical Model of Programs

Summary. We continue the work on mathematical modeling of hardware and software started in [17]. The main objective of this paper is the definition of a program. We start with the concept of partial product, i.e. the set of all partial functions f from I to S i∈I Ai, fulfilling the condition f.i ∈ Ai for i ∈ domf. The computation and the result of a computation are defined in usual way. A finite partial state is called autonomic if the result of a computation starting with it does not depend on the remaining memory and an AMI is called programmable if it has a non empty autonomic partial finite state. We prove the consistency of the following set of properties of an AMI: data-oriented, halting, steadyprogrammed, realistic and programmable. For this purpose we define a trivial AMI. It has only the instruction counter and one instruction location. The only instruction of it is the halt instruction. A preprogram is a finite partial state that halts. We conclude with the definition of a program of a partial function F mapping the set of the finite partial states into itself. It is a finite partial state s such that for every finite partial state s ′ ∈ domF the result of any computation starting with s+s ′ includes F.s ′ .