HOME

TheInfoList



OR:

Indirect self-reference describes an object referring to itself ''indirectly''. For example, define the function f such that f(x) = x(x). Any function passed as an argument to f is invoked with itself as an argument, and thus in any use of that argument is indirectly referring to itself. This example is similar to the Scheme expression "((lambda(x)(x x)) (lambda(x)(x x)))", which is expanded to itself by beta reduction, and so its evaluation loops indefinitely despite the lack of explicit looping constructs. An equivalent example can be formulated in
lambda calculus Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation t ...
. Indirect self-reference is special in that its self-referential quality is not explicit, as it is in the sentence "this sentence is false." The phrase "this sentence" refers directly to the sentence as a whole. An indirectly self-referential sentence would replace the phrase "this sentence" with an expression that effectively still referred to the sentence, but did not use the pronoun "this." An example will help to explain this. Suppose we define the
quine Quine may refer to: * Quine (surname), people with the surname ''Quine'' * Willard Van Orman Quine, the philosopher, or things named after him: ** Quine (computing), a program that produces its source code as output ** Quine–McCluskey algorithm, ...
of a phrase to be the quotation of the phrase followed by the phrase itself. So, the quine of: is a sentence fragment would be: "is a sentence fragment" is a sentence fragment which, incidentally, is a true statement. Now consider the sentence: "when quined, makes quite a statement" when quined, makes quite a statement The quotation here, plus the phrase "when quined," indirectly refers to the entire sentence. The importance of this fact is that the remainder of the sentence, the phrase "makes quite a statement," can now make a statement about the sentence as a whole. If we had used a pronoun for this, we could have written something like "this sentence makes quite a statement." It seems silly to go through this trouble when pronouns will suffice (and when they make more sense to the casual reader), but in systems of
mathematical logic Mathematical logic is the study of formal logic within mathematics. Major subareas include model theory, proof theory, set theory, and recursion theory. Research in mathematical logic commonly addresses the mathematical properties of formal ...
, there is generally no analog of the pronoun. It is somewhat surprising, in fact, that self-reference can be achieved at all in these systems. Upon closer inspection, it can be seen that in fact, the Scheme example above uses a
quine Quine may refer to: * Quine (surname), people with the surname ''Quine'' * Willard Van Orman Quine, the philosopher, or things named after him: ** Quine (computing), a program that produces its source code as output ** Quine–McCluskey algorithm, ...
, and f(x) is actually the quine function itself. Indirect self-reference was studied in great depth by W. V. Quine (after whom the operation above is named), and occupies a central place in the proof of Gödel's incompleteness theorem. Among the paradoxical statements developed by Quine is the following: "yields a false statement when preceded by its quotation" yields a false statement when preceded by its quotation


See also

*
Actor model The actor model in computer science is a mathematical model of concurrent computation that treats ''actor'' as the universal primitive of concurrent computation. In response to a message it receives, an actor can: make local decisions, create mor ...
* Diagonal lemma * Fixed point *
Fixed point combinator In mathematics and computer science in general, a '' fixed point'' of a function is a value that is mapped to itself by the function. In combinatory logic for computer science, a fixed-point combinator (or fixpoint combinator) is a higher-order ...
* Gödel, Escher, Bach *
Indirection In computer programming, indirection (also called dereferencing) is the ability to reference something using a name, reference, or container instead of the value itself. The most common form of indirection is the act of manipulating a value throug ...
* Self-interpreter {{DEFAULTSORT:Indirect Self-Reference Self-reference Theoretical computer science