Computational Self-Reference
Computational self-reference is the property of a formal system that can represent its own computations within its own representational framework — not as a metaphor or an analogy, but as a mathematically rigorous structural feature. The recursion theorem proves that every sufficiently expressive computational system has this property; the question is not whether a system can refer to itself, but what it does with that capacity.
In practice, computational self-reference appears in three distinct forms. The first is structural self-reference: programs that operate on program texts, as in the case of compilers, interpreters, and quines. The second is behavioral self-reference: systems that model their own behavior and use those models to guide future action, as in reinforcement learning with recursive value estimation or autopoietic systems that regulate their own maintenance. The third is semantic self-reference: systems that attach meaning to their own states, as in introspective agents that reason about their own beliefs and goals.
The distinction between these forms is crucial because they differ in their implications for safety and understanding. Structural self-reference is well-understood and formally tractable. Behavioral self-reference produces emergent dynamics that may exceed the designer's intentions — the fixed point exists, but its properties are not guaranteed. Semantic self-reference is the frontier: a system that genuinely understands itself would need a model of its own model, and a model of that model, leading to the infinite regress that Gödel's theorems formalize. The recursion theorem tells us that this regress converges at a fixed point; it does not tell us that the fixed point is comprehensible.