В печально известном тексте из « Трактата » 3.333 Витгенштейн утверждает, что функция, имеющая значение в одном аргументе, не может быть повторно использована в другом. Следовательно, рекурсивные функции бессмысленны. Это касается его отношения к Гёделю и Расселу.
Это не критика теории рекурсии и рекурсивных определений [кстати, теория рекурсии возникла в 1930-х годах, а « Трактат » был написан во время первой мировой войны и впервые опубликован на немецком языке в 1921 году . пятнадцати лет: в 1929 году он опубликовал докторскую диссертацию, в которой установил полноту исчисления предикатов первого порядка].
Контекстом является R&W теория типов . Видеть:
3.331 . Из этого наблюдения мы обратимся к «теории типов» Рассела. Видно, что Рассел должен был ошибаться, так как ему пришлось упомянуть о значении знаков при установлении для них правил.
3.332. Ни одно предложение не может сделать утверждение о себе, потому что пропозициональный знак не может содержаться в себе (в этом вся «теория типов»).
Таким образом, 3.333 следует читать в этом контексте:
Причина, по которой функция не может быть своим собственным аргументом, заключается в том, что знак функции уже содержит прототип ее аргумента и не может содержать саму себя.
Витгенштейн обсуждает основы формального синтаксиса: выражение имеет определенные правила, которым необходимо следовать при использовании выражения для создания сложного выражения.
Так, например, функциональный символ F(x) должен быть «дополнен» (насыщен) терминальным символом («именем»), чтобы получить осмысленное предложение: F(a) .
Выражение F(F) синтаксически неправильно написано (неправильное) и, следовательно, бессмысленно.
Мы можем сравнить ее с категориальной грамматикой :
семейство формализмов в синтаксисе естественного языка, основанное на принципе композиционности и организованное в соответствии с представлением о том, что синтаксические составляющие обычно должны сочетаться как функции или в соответствии с отношением функция-аргумент.
Это не то, как работает рекурсия . В рекурсивном определении мы используем значение функции F , например, для аргумента n , чтобы вычислить значение F для аргумента n+1 .
производство