1 Introduction Program schemata (also called schemes, or abstract programs) are widely known as devices for treating properties of computer programs which are invariant across a range of interpretatio ns. Since the intent of schemata is to formalize a specific aspect of effective computation, the properties studied are usually those which have been prescribed in other models of computation: e.g., totality, equivalence, decision power. It is perhaps for this reason that the methodology for dealing with schemata has evolved around constructive mathematics and direct demonstration rather than continuous mathematics, transfinite mathematics and indirect proof. Recently, however, it has been pointed out (Kfoury [3], DeMillo [2]) that useful properties of schemata can be established using arguments which rest on nonconstructi ve foundations; in this case the model theory of first order logic. The outcome of this activity has been to recast some deep questions regarding, for instance, what can and cannot be proved about computer programs into a form which is similar to the corresponding logical questions, where some of the answers are known. In this note,* we present three such applications of model theory. We allow a free wheeling notion of schemata (allowing, for example, first order oracles of any sort desired) and show that direct limitations exist in the ability to draw inferences about schemata by examining finite entailment and axiomatizability. The third application shows that even the expansive concept of effectiveness allowed here does not admit more relative decision power than the standard models of computation. 2 Notation Logical notation follows such standard sources as Bell and Slomson [1]. In particular, such notions as first order language, similarity type, relational structure, and interpretation are assumed in this presentation. A given first order language always talks about
Read full abstract