“Know thyself.”
Greek proverb
Abstract
The interest is in characterizing insightfully the power of program self-reference in effective programming systems ( \(\mathsf{epses}\) ), the computability-theoretic analogs of programming languages (for the partial computable functions). In an \(\mathsf{eps}\) in which the constructive form of Kleene’s Recursion Theorem (KRT) holds, it is possible to construct, algorithmically, from an arbitrary algorithmic task, a self-referential program that, in a sense, creates a self-copy and then performs that task on the self-copy. In an \(\mathsf{eps}\) in which the not-necessarily-constructive form of Kleene’s Recursion Theorem (krt) holds, such self-referential programs exist, but cannot, in general, be found algorithmically.
In an earlier effort, Royer proved that there is no collection of recursive denotational control structures whose implementability characterizes the \(\mathsf{epses}\) in which KRT holds. One main result herein, proven by a finite injury priority argument, is that the \(\mathsf{epses}\) in which krt holds are, similarly, not characterized by the implementability of some collection of recursive denotational control structures.
On the positive side, however, a characterization of such \(\mathsf{epses}\) of a rather different sort is shown herein. Though, perhaps not the insightful characterization sought after, this surprising result reveals that a hidden and inherent constructivity is always present in krt.
Similar content being viewed by others
References
Adami, C.: What do robots dream of? Science 314, 1093–1094 (2006)
Blum, M.: A machine independent theory of the complexity of recursive functions. J. ACM 14, 322–336 (1967)
Bongard, J., Zykov, V., Lipson, H.: Resilient machines through continuous self-modeling. Science 314, 1118–1121 (2006)
Case, J.: Effectivizing inseparability. Z. Math. Log. Grundlagen Math. 37, 97–111 (1991). Missing set complement signs in definitions in journal version corrected in version at http://www.cis.udel.edu/~case/papers/mkdelta.ps
Case, J.: Infinitary self-reference in learning theory. J. Exp. Theor. Artif. Intell. 6, 3–16 (1994)
Case, J., Moelius III, S.E.: Characterizing programming systems allowing program self-reference. In: Computation and Logic in the Real World—Third Conference of Computability in Europe (CiE 2007). Lecture Notes in Computer Science, vol. 4497, pp. 125–134. Springer, Berlin (2007)
Case, J., Moelius III, S.E.: Properties complementary to program self-reference. In: 32nd International Symposium on Mathematical Foundations of Computer Science (MFCS’07). Lecture Notes in Computer Science, vol. 4708, pp. 253–263. Springer, Berlin (2007)
Case, J., Jain, S., Suraj, M.: Control structures in hypothesis spaces: The influence on learning. Theor. Comput. Sci. 270(1–2), 287–308 (2002)
Conduit, R.: To sleep, perchance to dream. Science 315(5816), 1219–1220 (2007). A letter, including responses from C. Adami and from H. Lipson, V. Zykov, and J. Bongard
Freivalds, R., Kinber, E., Wiehagen, R.: Inductive inference and computable one-one numberings. Z. Math. Log. Grundlagen Math. 28, 463–479 (1982)
Friedman, H.: [FOM] 305: Proofs of Godel’s Second. Communication to the Foundations of Mathematics electronic mailing list (21 December 2006)
Goncharov, S., Sorbi, A.: Generalized computable numberings and non-trivial Rogers semilattices. Algebra Log. 36, 359–369 (1997)
Jain, S., Nessel, J.: Some independence results for control structures in complete numberings. J. Symb. Log. 66(1), 357–382 (2001)
Kozen, D.: Indexings of subrecursive classes. Theor. Comput. Sci. 11, 277–301 (1980)
Machtey, M., Young, P.: An Introduction to the General Theory of Algorithms. North-Holland, New York (1978)
Manna, Z.: Mathematical Theory of Computation. McGraw-Hill, New York (1974). Reprinted: Dover (2003)
Manna, Z., Vuillemin, J.: Fixpoint approach to the theory of computation. Commun. ACM 15(7), 528–536 (1972)
Mendelson, E.: Introduction to Mathematical Logic, 4th. edn. Chapman & Hall, London (1997)
Riccardi, G.: The independence of control structures in abstract programming systems. Ph.D. thesis, SUNY Buffalo (1980)
Riccardi, G.: The independence of control structures in abstract programming systems. J. Comput. Syst. Sci. 22, 107–143 (1981)
Rogers, H.: Gödel numberings of partial recursive functions. J. Symb. Log. 23, 331–341 (1958)
Rogers, H.: Theory of Recursive Functions and Effective Computability. McGraw-Hill, New York (1967). Reprinted: MIT Press (1987)
Royer, J.: A Connotational Theory of Program Structure. Lecture Notes in Computer Science, vol. 273. Springer, Berlin (1987)
Royer, J., Case, J.: Subrecursive Programming Systems: Complexity and Succinctness. Progress in Theoretical Computer Science. Birkhäuser, Boston (1994)
Smith, B.: Reflection and semantics in a procedural language. Technical report MIT-TR-272, MIT Laboratory for Computer Science (1982)
Smorynski, C.: Fifty years of self-reference in arithmetic. Notre Dame J. Formal Log. 22(4), 357–374 (1981)
Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. Foundations of Computing Series. MIT Press, Cambridge (1993)
Zeugmann, T., Lange, S.: A guided tour across the boundaries of learning recursive languages. In: Jantke, K.P., Lange, S. (eds.) Algorithmic Learning for Knowledge-Based Systems. Lecture Notes in Artificial Intelligence, vol. 961, pp. 190–258. Springer, Berlin (1995)
Author information
Authors and Affiliations
Corresponding author
Additional information
This paper is an expanded version of [6]. This paper received support from NSF Grant CCR-0208616.
Rights and permissions
About this article
Cite this article
Case, J., Moelius, S.E. Characterizing Programming Systems Allowing Program Self-Reference. Theory Comput Syst 45, 756–772 (2009). https://doi.org/10.1007/s00224-009-9168-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00224-009-9168-8