In a notorious text from the Tractatus 3.333 Wittgenstein argues that a function that has a value in one argument cannot be re-used in a another. Hence recursive functions are meaningless. This touches on his attitude to Godel and Russell.
1 Answer
It is not a criticism of recursion theory and recursive definitions [by the way, recursion theory originated in the 1930s while the Tractatus was written during the first world war and was first published in German in 1921. And also, in 1921 Kurt Gödel was only fifteen years old: he published his doctoral dissertation, where he established the completeness of the first-order predicate calculus, in 1929].
The context is R&W theory of types. See:
3.331 From this observation we turn to Russell’s ‘theory of types’. It can be seen that Russell must be wrong, because he had to mention the meaning of signs when establishing the rules for them.
3.332 No proposition can make a statement about itself, because a propositional sign cannot be contained in itself (that is the whole of the ‘theory of types’).
Thus, 3.333 must be read in this context:
The reason why a function cannot be its own argument is that the sign for a function already contains the prototype of its argument, and it cannot contain itself.
What Wittgenstein is discussing is the basics of formal syntax: an expression has specific rules that must be followed in using the expression to build up a complex one.
Thus, e.g. a function symbol F(x) must be "completed" (saturated) with a term symbol (a "name") in order to get a meaningful sentence: F(a).
The expression F(F) is syntactically wrong-written (not well-formed) and thus meaningless.
We may compare it with Categorial grammar :
a family of formalisms in natural language syntax motivated by the principle of compositionality and organized according to the view that syntactic constituents should generally combine as functions or according to a function-argument relationship.
This is not the way recursion works. In a recursive definition we use the value of a function F for e.g. an argument n to compute the value of F for the argument n+1.
-
-
1Does that mean that function that decides whether its argument halts does not exist?– AlpedarMay 21, 2018 at 11:59
-
3@rus9384 - NO. Assuming some familiarity with math, we can consider the function sine : sin(x). For the value 1 of the argument, we have sin(1), which is a number. We can write as well sin(sin(1)) because, being sin(1) a number, it fits as value for the argument of the function sin(x). What we cannot do is to write sin(sin()) because without a number as input, the function sin(x) is not a number and thus it does not fit as argument for any function. May 21, 2018 at 12:02
-
Well, there are functions which return result for empty input. Therefore, functions taking nothing as an argument are not meaningless.– rus9384May 21, 2018 at 13:11
-
4@stuartstevenson - Ok; let's try with another example, regarding natural language "Fido barks" is well-formed, because the verb "... barks" needs the name of a "subject" (dog,man) to produce a meaningful sentence. "Bark barks" instead is not well-formed, because "bark" is the name of a verb. May 21, 2018 at 15:11