The Independence of Control Structures in Abstract Programming Systems

Abstract An instance of a control structure is a mapping which takes one or more programs into a new program whose behavior is based on that of the original programs. An instance of a control structure is effective iff it is effectively computable. In order to study the interrelationships of control structures, . we consider abstract programming systems (numberings of the partial recursive functions) in which some control structures, effective or otherwise, are present, but others are not. This paper uses the techniques of recursive function theory, including recursion theorems and priority arguments to prove the independence of certain control structures in abstract programming systems. For example, we have obtained the following results. In effective numberings of the partial recursive functions, the one-one effective Kleene recursion theorem and the one-one effective (partial) if-then-else control structure are independent, but together, they yield all effective control structures. In any effective numbering, the effective Kleene form of the double recursion theorem yields all effective control structures.

[1]  Allan Borodin,et al.  Subrecursive Programming Languages, Part I: efficiency and program structure , 1972, JACM.

[2]  Richard J. Lipton,et al.  Space and Time Hierarchies for Classes of Control Structures and Data Structures , 1976, JACM.

[3]  Donald E. Knuth,et al.  Structured Programming with go to Statements , 1974, CSUR.

[4]  Marian Boykan Pour-El Gödel numberings versus Friedberg numberings , 1964 .

[5]  Stephen Cole Kleene,et al.  Origins of recursive function theory , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[6]  J. D. Aron The Program Development Process , 1974 .

[7]  W. Ackermann Zum Hilbertschen Aufbau der reellen Zahlen , 1928 .

[8]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[9]  Donald A. Alton "Natural" Complexity Measures and Time versus Memory: Some Definitional Proposals , 1977, ICALP.

[10]  Paul Young,et al.  An introduction to the general theory of algorithms , 1978 .

[11]  Marvin V. Zelkowitz,et al.  Programming Languages: Design and Implementation , 1975 .

[12]  Corrado Böhm,et al.  Flow diagrams, turing machines and languages with only two formation rules , 1966, CACM.

[13]  R. Smullyan Theory of formal systems , 1962 .

[14]  Richard M. Friedberg,et al.  Three theorems on recursive enumeration. I. Decomposition. II. Maximal set. III. Enumeration without duplication , 1958, Journal of Symbolic Logic.

[15]  Robert I. Soare,et al.  The infinite injury priority method , 1976, Journal of Symbolic Logic.

[16]  Manuel Blum On the Size of Machines , 1967, Inf. Control..

[17]  Stephen Cole Kleene,et al.  On notation for ordinal numbers , 1938, Journal of Symbolic Logic.

[18]  Albert R. Meyer Program Size in Restricted Programming Languages , 1972, Inf. Control..

[19]  Dennis M. Ritchie,et al.  The complexity of loop programs , 1967, ACM National Conference.

[20]  David C. Luckham,et al.  On Formalised Computer Programs , 1970, J. Comput. Syst. Sci..

[21]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[22]  David Harel,et al.  On folk theorems , 1980, CACM.

[23]  Manuel Blum,et al.  A Machine-Independent Theory of the Complexity of Recursive Functions , 1967, JACM.

[24]  Karl Winklmann,et al.  Simple Gödel Numberings, Isomorphisms, and Programming Properties , 1978, SIAM J. Comput..

[25]  Walter S. Brainerd,et al.  Theory of computation , 1974 .

[26]  Hartley Rogers,et al.  Gödel numberings of partial recursive functions , 1958, Journal of Symbolic Logic.

[27]  Jr. Hartley Rogers Theory of Recursive Functions and Effective Computability , 1969 .

[28]  G. Sacks Degrees of unsolvability , 1965 .

[29]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[30]  Juris Hartmanis,et al.  On Simple Gödel Numberings and Translations , 1975, SIAM J. Comput..