Observaciones Filosóficas - La propiedad de la recursión en el "Tractatus Logico-Philosophicus" de Wittgenstein y su relación con la Teoría de la Computabilidad y la Lógica Matemática
Buscar//InicioNúmero ActualArtículosDocumentosAgendaPostgradoQuienes SomosContactoLinks//
--------------------------
Revista Observaciones Filosóficas


Revista Observaciones Filosóficas

Categorías
Psicología y Antropología | Filosofía Contemporánea | Lógica y Filosofía de la Ciencia | Estética y Teoría del Arte
Literatura y Lingüística Aplicada | Ética y Filosofía Política

Artículos Relacionados


enviar Imprimir

art of articleart of articleLa propiedad de la recursión en el "Tractatus Logico-Philosophicus" de Wittgenstein y su relación con la Teoría de la Computabilidad y la Lógica Matemática*

Mg. Sergio Mota - Universidad Autónoma de Madrid
Resumen
El concepto de recursión ha recibido mucha atención en los últimos años desde diferentes disciplinas. Así, es empleado tanto dentro de la lógica matemática (y de la teoría de la computabilidad) como de la ciencia cognitiva. El objetivo principal de este artículo es analizar la importancia de la recursión en los procedimientos generativos presentados por Wittgenstein en su Tractatus.

The property of recursion in the Wittgenstein’s "Tractatus Logico-Philosophicus" and its relation to Computability Theory and Mathematical Logic

Abstract
The concept of recursion has received a great deal of attention over the last years from different disciplines. Thus, it is employed within both mathematical logic (and computability theory), and cognitive science. The main goal of this paper is to analyze the relevance of recursion in the generative procedures proposed by Wittgenstein in his Tractatus.

Palabras clave
Wittgenstein, recursión, iteración, Tractatus, procedimiento generativo.

Keywords
Wittgenstein, recursion, iteration,
Tractatus, generative procedure.

Revista Observaciones Filosóficas - Nº 17 / 2013 - 2014

Introducción al concepto de recursión: de la lógica matemática y la teoría de la computabilidad a la ciencia cognitiva

El concepto de recursión ha sido empleado de forma ambigua dentro de diferentes disciplinas, como son la lógica matemática, y más concretamente dentro de una rama especializada de ésta, la teoría de la computabilidad, y la ciencia cognitiva. En el primer caso, el término ‘recursión’ ha significado tanto ‘definición por recursión’ (o ‘por inducción’) como ‘computabilidad’ (Soare, 2009). El primer uso del término ‘recursión’ se aplica cuando se quiere predicar recursividad de una función. Así, se dice que una función es recursiva, esto es, está definida por recursión en un sentido técnico, cuando para definir un argumento y hacemos uso de sus propios valores previamente computados para argumentos menores que y; pudiendo emplearse también funciones previamente definidas (Soare, 1996, 1999, 2009; véase también Gödel, 1931; Kleene, 1952, 2002; Cutland, 1980). Este es el significado original y primario del término ‘recursión’, empleado tanto por Dedekind como por Peano en el siglo XIX.

En este sentido, Epstein y Carnielli (1989) indican que en su forma más simple, la definición recursiva de una función f sería como sigue (siendo g una función previamente definida): f(0) = m; f(n+1) = g(f(n)). Este sistema de ecuaciones recursivas puede instanciarse fácilmente y de una manera perspicua en la función suma (Kleene, 1952, 2002; Boolos y Jeffrey, 1974). Así, el caso base sería: 2+0 = 2, mientras que el paso recursivo sería 2+2 = (2+1)+1; siendo g en el esquema de arriba la función sucesor (S(a) = a+1).

Sin embargo, tal y como señala Soare (1996, 1999, 2009), el concepto de recursión se comenzó a aplicar para significar ‘computabilidad’. El término ‘computabilidad’ (o ‘computable’) se refiere a una función para la que existe un procedimiento mecánico finito (esto es, un procedimiento generativo o algoritmo) por medio del cual es computada o calculada. Desde 1996, Soare ha propuesto volver a emplear el concepto de recursión en su sentido original, distinguiéndolo del de computabilidad, un concepto relacionado pero no coextensivo, dado que hay formalismos que no proceden recursivamente, como la máquina de Turing.1

Por otro lado, la propiedad de la recursividad ha suscitado mucho interés en el campo de la ciencia cognitiva. Es muy conocido el ya clásico trabajo de Hauser, Chomsky y Fitch (2002) en el que proponen que la recursión es una propiedad central de la facultad del lenguaje. Estos autores toman como referencia el Programa Minimista previamente formulado por Chomsky (1995). Para Chomsky (1959, 1995, 2005, 2007, 2008, 2010, 2011, 2012), el lenguaje, esto es, el I-language como él lo define, puede ser entendido como un procedimiento generativo o sistema de cómputo capaz de generar una cantidad potencialmente infinita de expresiones jerárquicas internas. De este modo, la teoría de la gramática, que comprende el estudio del lenguaje así entendido, es el estudio de una clase especial de funciones recursivas dentro de la teoría de la computación (Chomsky, 1959, 2012).

Dentro de este planteamiento, Chomsky (2007, 2008) distingue claramente entre dos niveles de análisis. Podemos denominar a dichos niveles como el nivel del ‘qué’ y el nivel del ‘cómo’. El concepto de recursión es aplicado a estos dos niveles en el mismo sentido técnico derivado de la teoría de la computabilidad. Así, con respecto al nivel de análisis que formula qué hace un procedimiento generativo, podemos decir que lo que hace es generar recursivamente valores (objetos sintácticos, proposiciones de la lógica, términos de una serie de formas, números naturales, etc.). Esto quiere decir que cada nuevo valor se genera usando valores previamente computados, tal y como he señalado en relación con las funciones recursivas en el campo de la teoría de computabilidad.

Con respecto al segundo nivel de análisis, aquel que formula cómo genera esos valores un procedimiento generativo, esto es, cómo procede, tanto de manera abstracta como en tiempo real, encontramos que o bien puede proceder recursivamente o iterativamente. En el primer caso, el procedimiento se llama a sí mismo exactamente en el modo indicado por la definición recursiva. Así, si se quiere computar 2+2, el procedimiento invoca un valor previamente computado para un argumento menor, esto es, se computaría (2+1)+1. En el segundo caso, el procedimiento no se llama a sí mismo y sencillamente se aplica la misma operación sobre el último valor generado. Esto es, se obtiene el sucesor de 1 (1+1) y al resultado (2) se le añade 1, y al resultado (3) se le suma 1, hasta que se alcanza el valor ‘4’. Mediante tal implementación iterativa, una operación genera sucesivamente valores desde un argumento a otro sin usar valores previamente calculados para argumentos menores.

Conviene señalar que aunque un procedimiento se defina recursivamente, éste no tiene que implementarse de manera recursiva necesariamente (Abelson et al., 1996). Un ejemplo de esto acaba de ofrecerse en relación con la implementación recursiva e iterativa. En esta distinción repara también Chomsky (2007, 2008) cuando establece que el procedimiento generativo que subyace a la facultad del lenguaje genera recursivamente objetos sintácticos, pero su operación fundamental, Merge, procede iterativamente.2

Sin embargo, en la ciencia cognitiva el concepto de recursión también se aplica a la organización interna de las estructuras que estudia. Así, una estructura recursiva se define como aquella en la cual un constituye (o una estructura Xn) contiene a otro constituyente (o estructura Xn+1) del mismo tipo (Pinker y Jackendoff, 2005; Moro, 2008; Karlsson, 2010; Kinsella, 2010). Ejemplos de tales estructuras son tanto “[la casa de [la sierra]SN]SN es de piedra”, como “[el ratón [que el gato [que el perro perseguía]O mordió]O corría]O”.

Este uso del término ‘recursión’ añade un significado adicional que nada tiene que ver con su sentido original, a saber, el de auto-inclusión (self-embedding en inglés). Así, de acuerdo con Chomsky (1965), una estructura con auto-inclusión es aquella en la que el sintagma (o estructura) A esta auto-incluido en B si A está anidado en B y, además, A es un sintagma (o una estructura) del mismo tipo que B (es importante hacer ver que el concepto de recursión no es empleado en la definición de estructuras con auto-inclusión).

Por su parte, Moro (2008), muestra que todos los sintagmas, como por ejemplo, muchas casas viejas, presentan el esquema asimétrico universal siguiente: [Especificador-[Núcleo-Complemento]]. Así, el especificador es muchas, el núcleo es casas y el complemento es viejas. Tal y como señala Moro, tanto el especificador como el complemento (que añaden diferente información sobre el núcleo) pueden presentar el mismo esquema asimétrico (op. cit., p. 71), que aplicado al ejemplo anterior sería […Núcleo…-[…Núcleo…-[…Núcleo…]]]. Esto lleva a aplicar la noción de recursión tales estructuras, sin embargo, tal empleo sigue significando lo mismo que en el caso de los constituyentes, a saber: auto-inclusión: esquemas dentro de esquemas del mismo tipo.

Esto refleja con claridad la falta de precisión conceptual y la consecuente confusión en ciencia cognitiva, empleando de manera superficial el concepto de recursión y usándolo cuando en realidad se quiere significar la auto-inclusión de estructuras dentro de otras del mismo tipo.3 Por otro lado, el concepto de auto-inclusión no es empleado en la definición original de ‘recursión’, la cual he mostrado unas líneas más arriba. Es claro, por tanto, que ambas nociones hacen referencia a propiedades independientes entre sí, y conviene recordar que usar una palabra con significados distintos sólo da lugar a equívocos.

Así, el significado de recursión empleado en este trabajo es el que originalmente se empleó en la teoría de la computabilidad, el cual, por cierto, siempre empleó Wittgenstein, al igual que Chomsky, y que nada tiene que ver con el que se predica en relación con la organización jerárquica interna de las estructuras.

Veamos a continuación donde se localiza la propiedad de la recursión en el Tractatus de Wittgenstein, una cuestión que no ha recibido suficiente atención, a mi juicio, en grandes obras centradas en la figura de Wittgenstein, como las de Baker y Hacker (1980, 1985) Hacker (1990) o Potter (2009), por poner unos ejemplos. Más bien, este trabajo está en la línea de aquellos realizados por autores como Marion (1995, 1998), Frascolla (1994) u Odifreddi (2001), los cuales destacan la importancia del trabajo de Wittgenstein en el dominio la filosofía y los fundamentos de la matemática, complementando a los anteriormente citados.

La recursión en el Tractatus Logico-Philosophicus
art of article

Antes de entrar de lleno en el objetivo fundamental de este apartado, conviene indicar dos cosas de cierta relevancia. La primera es que con la formulación del programa finitista de Hilbert, uno de los objetivos prioritarios de la lógica matemática y de la teoría de la computabilidad fue el de dar una definición formal de un procedimiento mecánico finito (esto es, un procedimiento generativo). Wittgenstein contribuyó a este propositico y definió unos procedimientos capaces de generar todas las proposiciones de la lógica de enunciados así como la serie de los números naturales sobre la que la aritmética se define, postulando la recursión como propiedad central de tales series de formas. En segundo lugar, y al igual que Chomsky, Wittgenstein también distingue entre los niveles de análisis en torno a qué hace un procedimiento generativo y cómo lo hace, algo que se aprecia con claridad en el Tractatus (1922).

Dicho esto, es necesario ver con claridad qué entiende Wittgenstein por ‘operación’ para así comprender mejor tanto la definición formal como la aplicación de tales procedimientos.

Para Wittgenstein, una operación “muestra cómo se puede pasar de una forma de proposición a otra” (5.24). Dado que una serie de formas “es una serie que está ordenada por relaciones internas” (4.1252)4 y “[l]as estructuras de las proposiciones están en relaciones internas entre sí” (5.2), se puede concluir que una serie de proposiciones es una serie de formas. La serie de los números naturales también es una serie de formas, tal y como señala Wittgenstein en 4.1252. En este sentido, “[l]a relación interna que ordena una serie equivale a la operación mediante la que un término resulta a partir de otro” (5.232), siendo posible sólo de esta manera “la progresión de un término a otro en una serie de formas” (5.252).

Veamos a continuación cuál es el procedimiento generativo que propone Wittgenstein para generar una serie de formas. Este procedimiento queda expresado en la denominada forma general (o término general) de una serie de formas: [a, x, O’x]. En 5.2522, Wittgenstein explica en qué consiste esta notación. Así, “[e]l primer término…es el comienzo de la serie de formas, el segundo es la forma de un término x cualquiera de la serie y el tercero la forma de aquel término de la serie que sigue inmediatamente a x”.

Este procedimiento genera series como la siguiente: a, O’(a), O’(O’(a)), y así sucesivamente. Esta operación se aplica iterativamente, esto es, de manera sucesiva, sobre su último resultado producido (5.2521).

Dicho esto, podemos aplicar ahora los dos niveles anteriormente definidos sobre la generación de una serie de formas. Así, podemos decir que lo que hace este procedimiento es generar recursivamente términos de la serie en el que cada término está definido por recursión; esto es, cada nuevo término de la serie (por ejemplo, O’(O’(a))) está definido por términos de la serie previamente computados (esto es, a y O’(a)). Por su parte, cómo hace el procedimiento para generar tales términos queda explicado mediante la aplicación sucesiva (iterativa) de la operación O’ sobre el último elemento generado en cada paso. Formalmente, este procedimiento puede definirse como sigue: O’(0)(a) = a; [el caso base] O’(n)(a) = O’(O’(n-1)(a)) [el paso recursivo]. Este análisis se aplica exactamente igual al procedimiento generativo que queda expresado mediante la forma general de una proposición que Wittgenstein presenta en 6: [, ξ̃, N(ξ̃)]. El primer término de la expresión se refiere al conjunto de las proposiciones base o elementales, el segundo término se refiere a una variable proposicional (véase 5.501) y el tercer término es aquel que se obtiene al aplicar la operación N ( ) a ξ̃ (véase 5.22, 5.23, 5.502 y 5.51).

Es necesario, antes de continuar, apuntar brevemente algunas cuestiones sobre la operación N(ξ̃). Como el propio Wittgenstein señala en 5.502, “N(ξ̃) es la negación de todos los valores de la variable proposicional ξ”. Por tanto, como indica en 5.51, si ξ = p, entonces N(ξ̃) = (FVFV) (p). Por otra parte, si ξ = p,q, entonces N(ξ̃) = (FFFV) (p,q). Así, la operación N(ξ̃) es equivalente a la operación de la negación conjunta, la cual se representa por medio de la barra de Sheffer (Mounce, 1981). Como Mounce (op. cit., p, 50) señala, cuando Wittgenstein escribió el Tractatus ya se había demostrado con claridad que todas las constantes lógicas podías reemplazarse por una sola, la mencionada barra de Sheffer. Tal descubrimiento, permite ver de manera más perspicua las relaciones internas entre las formas de las proposiciones, tal y como indica Wittgenstein en 5.13, 5.131 y 5.1311. De este modo, por medio de la negación conjunta, podemos hacer surgir una nueva proposición N(ξ̃) a partir de ξ, previamente generada. Veamos esto con un poco más de detalle: En 5.22, Wittgenstein establece que “[l]a operación es la expresión de una relación entre las estructuras de su resultado y las de sus bases”. Así, “[l]a operación es lo le ha de suceder a una proposición para hacer surgir otra distinta a partir de ella” (5.23). Como el propio Wittgenstein se encarga de establecer, “[e]sto no dice sino que toda proposición es un resultado de aplicaciones sucesivas de la operación N(ξ̃) a proposiciones elementales” (6.001; véase también 6.002).

Aplicando de nuevo los dos niveles de análisis, vemos que, como en el caso anterior, lo que hace este procedimiento es generar recursivamente las proposiciones de la lógica proposicional. Un ejemplo de dicha generación recursiva sería esta: p,q, N(p,q), N(N(p,q)), y así sucesivamente. Así, cada nueva proposición (por ejemplo, N(N(p,q))) es generada haciendo uso de preposiciones previamente computadas (por ejemplo, N(p,q)). Dado que dicha serie recursiva es una serie de formas, su definición formal sería: N(0)(p,q) = p,q; [el caso base] N(n)(p,q) = N(N(n-1)(p,q)) [el paso recursivo] (nótese que esta definición se aplica igual para ξ = p). Por otro lado, el nivel de análisis del cómo caracteriza la aplicación iterativa de la operación N(ξ̃) sobre el último resultado generado.

Por último, Wittgenstein también proporciona un procedimiento generativo que permite generar la serie de los números naturales; serie sobre la que se sustenta toda la aritmética. Así, la forma general de un número natural (o entero positivo) es ‘[0, ξ, ξ + 1]’ tal y como Wittgenstein establece en 6.03.5 Así, el primer término de la expresión hace referencia al primer término de la serie, el segundo es una variable numérica que puede adoptar cualquier valor de la misma y el tercero hace referencia al número que sigue inmediatamente al anterior.

Análogamente a lo señalada con referencia a los dos procedimientos anteriores, lo que hace el presente procedimiento es generar recursivamente la serie de los números naturales: (I)+I, ((I)+I)+I, (((I)+I)+I)+I, y así sucesivamente (Wittgenstein, 1978). Por otra parte, procede de manera iterativa aplicando al último resultado la operación ‘+1’.6

Teniendo en consideración todo lo dicho hasta aquí, es posible generalizar la formulación de la forma general de una serie de formas a la forma general de un procedimiento generativo. Muy brevemente, la definición formal de un procedimiento mecánico finito ocupó gran parte de la teoría de la computabilidad. Mediante dicha definición, se pretendía capturar la clase de las funciones computables; esto es, las funciones para las que existía un algoritmo o una serie de pasos que permitían calcularla.

Las formulaciones más relevantes fueron hechas por Skolem (1923) quien formuló varias funciones recursivas primitivas como Gödel (1931), quien amplió la clase de las funciones recursivas primitivas a la clase de las funciones recursivas generales (Gödel, 1934). La diferencia fundamental entre una clase y otra es que mientras que en las funciones recursivas primitivas el paso recursivo se aplica a una sola variable (el otro argumento es un parámetro fijo) en las funcione recursivas generales el paso recursivo se aplica, al menos, a dos variables simultáneamente (Soare, 1996, p. 286).

Por su parte, Church (1932) formuló el cálculo-λ y posteriormente demostró que dicho formalismo era equivalente a las funciones recursivas generales, lo que le llevó a formular la famosa Tesis de Church, que establece que toda función efectivamente computable es recursiva general (Church, 1936). Turing también formalizó la noción de computación mediante el formalismo conocido como la máquina de Turing (1937; véase la nota al pie 1). En su caso, la Tesis de Turing, asevera que una función es computable si y sólo si es computable por una máquina de Turing (Soare, 2009, p. 373).

Otro autor de gran importancia es Post (1921, 1941, 1943, 1946), cuyo formalismo consiste en un sistema capaz de generar todas las proposiciones de la lógica de enunciados. Así, sea g un enunciado de la lógica proposicional y P una variable operacional aplicada a dicho enunciado, el sistema produce un enunciado g’ que sustituye a g. Esto se expresa en su sistema de producción normal como sigue: gP→Pg’ (Post, 1943, p. 199). Su tesis, conocida como la Tesis de Post, establece que un conjunto no vacío (como el de las proposiciones de las lógica de enunciados) es efectivamente numerable si y sólo si es derivado de un sistema de producción (normal) [derivado de su sistema canónico (normal)] (Davis, 1982; Soare, 2009).

También es importante destacar el formalismo de Kleene (1938, 1943, 1952), quien definió la clase de las funciones recursivas parciales (la cual identifica correctamente la clase de las funciones computables [Kleene, 1952, pp. 323-348]), una clase que recibe su nombre por el hecho de que una función no necesita estar definida para todas las n-tuplas de números naturales que toma como argumentos, y que incluyen las funciones recursivas primitivas y las funciones recursivas generales, estas últimas como aquellas funciones parciales para las cuales está definido todo el conjunto de sus argumentos. Así, es posible definir la Tesis de Kleene, una tesis no formulada explícitamente, que establece que una función es computable si y sólo si es una función recursiva parcial (o está definida por el formalismo de Kleene). Asimismo, y dado que el formalismo de Kleene es extensionalmente equivalente a la máquina de Turing (Epstein y Carnielli, 1989), es posible establecer otra tesis no formulada explícitamente, a saber, la Tesis de Turing-Kleene, que establece que una función es computable si y sólo si es computable por una función recursiva parcial o, de forma equivalente, por una máquina de Turing.

Presentado este marco general, voy a mostrar a continuación que Wittgenstein presentó lo que es común a todos ellos como objetos matemáticos formales, mediante su formulación de una serie de formas. Así, todos estos procedimientos mecánicos finitos constan de: un conjunto de inputs base (σ̃), una variable que puede adoptar el valor de un subconjunto de dichos inputs (ε̃) y una variable operacional (Õ( )) que genera nuevos valores (Õ(ε̃)) haciendo uso de valores previamente computados (ε̃) mediante la aplicación en sucesión de la variable operacional ( ). Además, tal expresión muestra claramente como la recursión sería una propiedad esencial referente a lo que hacen tales procedimientos. Esta formulación puede resumirse en al siguiente expresión: [σ̃, ε̃, Õ(ε̃)].

Así, sean los inputs base números naturales o enunciados de la lógica proposicional, y adopte la variable operacional ( ) el valor que adopte (por ejemplo, la operación de sumar, como en el caso de las funciones recursivas; los operadores de la lógica proposicional, como en el caso de los formalismos de Wittgenstein o Post; o las operaciones que lleva a cabo una máquina de Turing) se pueden definir para todos ellos la siguiente serie recursiva: ε̃, Õ(ε̃), Õ(Õ(ε̃))… y así sucesivamente. Cada miembro se genera mediante la aplicación iterativa de la variable operacional en cada paso, pero cada miembro (y por tanto, la serie completa) son definidos por recursión: Def. (0)(ε̃) = ε̃ [el caso base]; (n)(ε̃) = ((n-1)(ε̃)). Y es que, tal y como señaló Wittgenstein (1975b, § 154), un sistema formal, como lo son todos y cada uno de los sistemas arriba mencionados, es una serie de formas, esto es, cada uno de sus miembros ordenados en la serie se encuentran relacionados internamente entre sí, tal y como acabo de explicar.

Veamos esto con un ejemplo. En el caso de las funciones recursivas, podemos ilustrar lo dicho mediante la función suma. σ̃ sería un miembro inicial de la serie del conjunto de los número naturales 1, 2, 3,…n; ε̃ sería una variable que adoptaría los valores de dos números de la serie; y (ε̃) hace referencia al valor que se genera haciendo uso de valores previamente computados para argumentos menores aplicando ( ). Un ejemplo concreto de la serie formal ε̃, Õ(ε̃), Õ(Õ(ε̃)) puede ser (2+2), (2+2)+1, ((2+2)+1)+1. Tal serie puede generarse recursivamente mediante el sistema de ecuaciones recursivas arriba presentado como sigue:

(0)(2,2) = 2,2
(2)(2,2) = ((2,2))

lo cual equivale a
(2+2) = (2+2)
((2+2)+1)+1 = ((2+2)+1)

y esto último puede escribirse como
(2+4) = (2+3)+1

Así la serie de la suma consiste en el sucesor de φ(a,b) [= (a+b)]. Recuérdese que la función suma y la función sucesor son dos funciones diferentes y que lo que convierte en recursivo tal expresión no es la presencia de la función sucesor, si no el hecho de que para definir un nuevo valor se hace uso de valores previamente computados para argumentos menores.7

Tal sistema puede expresarse en el formalismo de Wittgenstein, aquí reproducido como [Ω0x, Ωv-1x, Ωvx]. Así pues, sea la serie Ω2+2x, Ω(2+2)+1x, Ω(2+2)+1)+1x vemos que:

Ω2+2x = Ω2Ω2x
Ω(2+2)+1)+1x = Ω(Ω(2+2)+1)x

Como muestra Wittgenstein en 6.241, esto sería válido también para la multiplicación y, presumiblemente, para todas las operaciones de la teoría de números, las cuales subyacen a diferentes procedimientos mecánicos finitos, así como para las otras clases de funciones recursivas mencionadas aquí, recogidos todos ellos bajo esta forma general de una serie de formas. Si esto se puede generalizar a otros procedimientos mecánicos finitos, como parece que así es8, se puede definir la forma general de un procedimiento mecánico finito, equivalente a la forma general de una serie de formas, o dicho de otra manera, sería una instancia de una serie de formas, que recoge lo esencial y común a todos ellos desde un punto de vista formal, esto es, expresa lo común a todos ellos como objetos matemáticos formales, especificando que lo que hacen es generar recursivamente distintos valores relacionados internamente entre sí y constituyendo, por tanto, series de formas.

Sin embargo, hay algunos aspectos que no son esenciales a la definición formal de un procedimiento generativo arriba señalada. Uno de estos aspectos es cómo implementamos dicho procedimiento. Esto no quiere decir que no sea importante buscar la mejor manera de implementar un algoritmo, sencillamente quiere decir que la forma general de un procedimiento generativo (esto es, su definición formal) es independiente del modo (o modos) en que se implementa un procedimiento (o algoritmo).

Por otro lado, las distintas formulaciones de los diferentes procedimientos generativos no son sino instancias del concepto de procedimiento generativo mecánico finito definido formalmente en el Tractatus Logico-Philosophicus por Wittgenstein. Así, cómo operan o proceden los distintos sistemas generativos o procedimientos mecánicos finitos no es esencial a dicho concepto. De este modo, las diferencias intensionales, aunque válidas para identificar cuáles pueden ser las formulaciones de un procedimiento más claras y perspicuas, no son esenciales para definir formalmente el concepto de procedimiento mecánico finito, puesto que todas ellas caen bajo dicha forma general. La razón fundamental es porque lo esencial a todo procedimiento es lo que todos ellos tienen en común entre sí. Lo esencial es, así, lo recogido en la forma general.

Conclusiones

Los diferentes procedimientos generativos propuestos por Wittgenstein en el Tractatus están, en un sentido técnico, definidos por recursión. De hecho, gracias a las formulaciones presentadas por Wittgenstein en su Tractatus, es posible establecer la forma general de un procedimiento generativo (mecánico finito) de manera análoga a la formulación de la forma general de una serie de formas. En dicha formulación se muestra claramente cómo la recursión es una propiedad que puede definir todo procedimiento, al menos en el dominio de lo que cada uno hace, a saber, generar recursivamente una serie de términos o miembros (esto es, una serie de formas). Dicho forma general expresa lo que todos ellos tienen en común, lo que es esencial a todos ellos; del mismo modo que, tal y como Wittgenstein indica, “la forma general de la proposición es la esencia de la proposición” (5.471).

El Tractatus de Wittgenstein puede entenderse, desde este punto de vista, como una aproximación a las funciones efectivamente computables o calculables.



Sergio Mota
Department of Basic Psychology
Universidad Autónoma de Madrid
Licenciado en Psicología por la Universidad Autónoma de Madrid y Máster en Crítica y Argumentación Filosófica por esta misma universidad. Actualmente se encuentra terminando su tesis doctoral para obtener el título de Doctor en Psicología. Los puntos principales los desarrollo a continuación. Mi director es José Manuel Igoa y colaboro externamente con él en distintos proyectos de investigación concedidos al Grupo de Investigación en Psicolingüística.



REFERENCIAS
Abelson, H. & Sussman, G. J. with Sussman, J. (1996). Structure and interpretation of computer programs. Cambridge, MA: MIT Press.
Baker, G. & Hacker, P. (1985). Wittgenstein: Rules, grammar and necessity. Oxford: Blackwell.
Baker, G.P. & Hacker, P.M.S. (1980). Wittgenstein: Understanding and meaning. Vol. 1. Oxford: Blackwell.
Boolos, G. & Jeffrey, R. (1974). Computability and logic. Cambridge: Cambridge University Press.
Chomsky, N. (1959). On certain formal properties of grammars. Information and Control, 2, 137-167.
Chomsky, N. (1965). Aspects of theory of syntax. Cambridge. MA: MIT Press
Chomsky, N. (1995). The minimalist program. Cambridge. MA: MIT Press.
Chomsky, N. (2005). Three factor in language design, Linguistic Inquiry, 36, 1-22.
Chomsky, N. (2007). Approaching UG from below. In U. Sauerland & H. M. Gärtner (Eds.), Interfaces + Recursion = Language? (pp. 1-30). Berlin: Mouton.
Chomsky, N. (2008). On phases. In R. Freidin, C. Otero, & M. L. Zubizarreta (Eds.), Foundational issues in linguistic theory (pp. 133-166). Cambridge. MA: MIT Press.
Chomsky, N. (2010). Some simple evo devo theses: How true might they be for language? In R. Larson, V. Déprez & H. Yamakido (Eds.), The evolution of human language (pp. 45-62). Cambridge: Cambridge University Press.
Chomsky, N. (2011). Language and other cognitive systems. What is special about language?. Language Learning and Development, 7, 263-278.
Chomsky, N. (2012). Some core contested concepts. Proceedings of the CUNY 2012, 1-18.
Church, A. (1932). A set of postulates for the foundation of logic, The Annals of Mathematics, 33, 346-366.
Church, A. (1936). An unsolvable problem of elementary number theory. In M. Davis (Ed.), The undecidable (pp. 88-107). New York: Raven Press.
Cutland, N. (1980). Computability: an introduction to recursive function theory. Cambridge: Cambridge University Press.
Davis, M. (1982). Why Gödel didn’t have Church Thesis, Information and Control, 54, 3-24.
Epstein, R. & Carnielli, W. (1989). Computability: computable functions, logic, and the foundations of mathematics. Pacific Grove, CA: Wadsworth & Brooks/Cole.
Frascolla, P. (1994). Wittgenstein’s philosophy of mathematics. London: Routledge.
Gödel, K. (1931). On formally undecidable propositions of the Principia Mathematica and related systems. I. In M. Davis (Ed.), The undecidable (pp. 4-38). New York: Raven Press.
Gödel, K. (1934). On undecidable propositions of formal mathematical systems. In M. Davis (Ed.), The undecidable (pp. 39-74). New York: Raven Press.
Hacker, P.M.S. (1990). Wittgenstein: Meaning and Mind. Oxford: Blackwell.
Hauser, M., Chomsky, N. & Fitch, T. (2002). The faculty of language: What is, who has it, and how did it evolve?, Science, 298, 1569-1579.
Karlsson, F. (2010). Syntactic recursion and iteration. In H. van der Hulst (Ed.), Recursion and human language (pp. 43-67).
Kinsella, A. (2010). Was recursion the key step in the evolution of the human language faculty? In H. van der Hulst (Ed.), Recursion and human language (pp. 179-191).
Kleene, S. C. (1938). On notation for ordinal numbers, The Journal of Symbolic Logic, 3, 150-5.
Kleene, S. C. (1943). Recursive predicates and quantifiers, Transactions of the American Mathematical Society, 53, 41-73.
Kleene, S. C. (1952). Introduction to metamathematics. Amsterdam: North-Holland Publishing.
Kleene, S. C. (2002). Mathematical logic. Mineola, NY: Dover Publications.
Marion, M. (1995). Wittgenstein and finitism, Synthese, 105, 141-176.
Marion, M. (1998). Wittgenstein, finitism, and the foundations of mathematics. Oxford: Oxford University Press.
Moro, A. (2008). The boundaries of Babel. Cambridge, MA: MIT Press.
Mounce, H.O. (1981). Wittgenstein’s Tractatus. An introduction. Oxford: Blackwell.
Odifreddi, P. (2001). Recursive functions: an archeological look. In C.S. Claude, M.J. Dinneen & S. Sburlan (Eds.), Combinatorics, Computability and Logic (pp. 13-31). London: Springer-Verlag.
Pinker, S. & Jackendoff, R. (2005). The faculty of language: What’s special about it?, Cognition, 95, 201-236.
Post, E. (1921). Introduction to a general theory of elementary propositions, American Journal of Mathematics, 43, 163-185.
Post, E. (1936). Finite combinatory processes. Formulation I. In M. Davis (Ed.), The undecidable (pp. 289-291). New York: Raven Press.
Post, E. (1943). Formal reductions of the general combinatorial decision problem, American Journal of Mathematics, 65, 197-215.
Post, E. (1944). Recursively enumerable sets of positive integers and their decision problems. In M. Davis (Ed.), The undecidable (pp. 305-337). New York: Raven Press.
Potter, M. (2009). Wittgenstein’s notes on logic. Oxford. Oxford University Press.
Skolem, T. (1923). The foundations of elementary arithmetic established by means of the recursive mode of thought, without the use of apparent variables ranging over infinite domains. In J. Van Heijenoort (Ed.), From Frege to Gödel. A source book in mathematical logic, 1879-1931 (pp. 302-333). Cambridge, MA: Harvard University Press.
Soare, R. (1996). Computability and logic, The Bulletin of Symbolic Logic, 2, 284-321.
Soare, R. (1999). The history and concept of computability. In E.R. Griffor (Ed.), Handbook of computability theory (pp. 3-36,). Amsterdam: North-Holland Publishing.
Soare, R. (2009). Turing oracles machines, online computing, and three displacements in computability theory, Annals of Pure and Applied Logic, 160, 368-399.
Turing, A. (1937). On computable numbers, with an application to the Entscheidungsproblem. In M. Davis (Ed.), The undecidable (pp. 116-151). New York: Raven Press.
Wittgenstein, L. (1922). Tractatus logico-philosophicus. Traducción e introducción por Luis M. Valdés Villanueva, ed. 2007. Madrid. Tecnos.
Wittgenstein, L. (1974). Philosophical grammar. Oxford: Blackwell.
Wittgenstein, L. (1975a). Wittgenstein’s lectures on the foundations of mathematics, Cambridge, 1939. Chicago: University of Chicago Press.
Wittgenstein, L. (1975b). Philosophical remarks. Oxford: Blackwell.
Wittgenstein, L. (1978). Remarks on the foundations of mathematics. Oxford: Blackwell.


Fecha de recepción: 12 de octubre de 2013

Fecha de Aprobación: 6 de diciembre de 2013


* Mi gratitud al profesor José Hierro S. Pescador

1 Turing (1937) presentó un formalismo que consistía en una máquina de carácter abstracto equipada con cinta potencialmente infinita dividida en cuadrados, cada uno de los cuales podía expresar un símbolo. Asimismo, la máquina cuenta con una cabeza lectora que escanea un único cuadrado de la cinta cada vez. De forma muy esquemática, dicha máquina cuneta con una serie finita de condiciones (q1qn), que son las distintas configuraciones de la máquina, una serie de símbolos (por ejemplo, 0 y 1) y, un conjunto de operaciones (como por ejemplo, escribir un nuevo símbolo; borrar un símbolo escrito; o mover su cabeza lectora un cuadrado hacia la izquierda o hacia la derecha). Así, es frecuente expresar las instrucciones de la máquina aludiendo a su estado inicial, el símbolo que está escaneando, el estado siguiente y la operación a realizar. Esta cuádrupla se suele expresar de la siguiente forma: E0, 0, E1, 1. Lo cual significa que la máquina está en el estado E0, escaneando el símbolo ‘0’ y pasa al estado E1 al sustituir ‘0’ por ‘1’. Esta manera de proceder es iterativa dado que se llevan a cabo diferentes operaciones de manera sucesiva, pasando así de una configuración a otra (esto es, de un estado a otro en función del símbolo escaneado y de la operación a realizar). Esto, no niega el hecho de que los miembros generados y la serie constituida por estos, pueda definirse recursivamente, como demuestro en la sección 2.

2 De manera muy breve, podemos expresar la forma general de Merge de la siguiente manera, siguiendo el ejemplo de Wittgenstein: [N, Os, M(Os)]. Así, N hace referencia a ítems léxicos y objetos sintácticos que configuran la numeración, Os hace referencia a un objeto sintáctico cualquiera de la serie generada y M(Os) hace referencia a un objeto sintáctico nuevo generado a partir de Os mediante la aplicación de M ( ). Así, sea la numeración N = {Juan, grita, muy, alto}, lo que Merge hace es tomar dos ítems léxicos (definida aquí como una operación binaria) ‘muy’ y ‘alto’ y forma el objeto sintáctico {muy, alto} = {X,Y}. Mediante otra aplicación, Merge genera un nuevo objeto sintáctico {grita, {muy, alto}}, formado a partir de un objeto previamente computado ({muy, alto});por último, Merge genera {Juan, {grita, {muy, alto}}}. Así, y de manera esquemática, vemos que lo que Merge hace (esto es, generar recursivamente objetos sintácticos) queda expresado mediante la siguiente serie recursiva: Os, M(Os), M(M(Os)),…; en el ejemplo: Os{muy, alto}; Mgrita (Os{muy, alto});MJuan(Mgrita (Os{muy, alto})). Esto puede definirse recursivamente de manera formal como sigue: M(0)(Os) = Os [el caso base], lo cual permite definir ítems léxicos/objetos sintácticos iniciales; M(n)(Os) = M(M(n-1)(Os) [el paso recursivo], que permite generar objetos sintácticos nuevos en términos de objetos sintácticos previamente computados. Por su parte, la aplicación iterativa queda explicada mediante la siguiente serie, que muestra, en cada paso, las n veces que Merge se aplica de forma sucesiva: M(0), M(1), M(2),…M(n)
.
3 Un procedimiento generativo, como son los sistemas de ecuaciones recursivas, no puede contenerse a sí mismo por dos razones fundamentales. Primero, la expresión ‘a+bʹ = (a+b)+1’, que hace referencia al paso recursivo, contiene una auto-llamada, esto es, la función suma aparece tanto al lado izquierdo (a+bʹ) como al lado derecho (a+b) del signo ‘=’, pero en la expresión derecha no hay una función suma dentro de otra función suma, sino que está constituida por una función suma ‘(a+b)’ y la función sucesor ‘+1’, dos funciones claramente diferentes. La otra razón es que tales expresiones son reglas gramaticales (Wittgenstein, 1975a). Las reglas gramaticales (a diferencia de las no-convencionales), tal y como Wittgenstein apunta en las Observaciones Filosóficas (1975b, § 7), “no permiten que se les justifique mediante la descripción de lo representado. Toda descripción así presupone ya las reglas de la gramática”. Tales reglas, por tanto, no rinden cuentas ante ninguna realidad y no hay lugar a la discusión de si estas u otras reglas son las o las adecuadas (Wittgenstein, 1974, § 133); las reglas gramaticales son, de este modo, a priori (Wittgenstein, 1975b, § 1).
Así, las reglas gramaticales constituyen el cálculo y el significado de sus signos (Wittgenstein, 1958, 1975b, § 163), y determinan como hay que proceder; esto es, sustituyendo la expresión del lado izquierdo por la del derecho. Tal substitución justifica la autollamada, puesto que la función suma aparece en ambos lados del signo ‘=’, pero no tiene sentido decir que el procedimiento se incluye a sí mismo. Podemos decir, entonces, que una subclase de las reglas gramaticales son las reglas recursivas.

4 De hecho, Wittgenstein establece que las funciones de verdad pueden ordenarse en series (5.1).

5 Wittgenstein estableció en 6.02 la forma general de un número natural mediante la expresión ‘[x, ξ, Ω’ξ]’ y en 6.021 mediante esta otra ‘[Ω0x, Ωvx, Ωv+1x]’. Así, como Frascolla (1994), Marion (1998) y Odifreddi (2001) han mostrado, Wittgenstein (1922) y Church (1932, 1936) presentaron una formulación muy parecida para generar la secuencia de los números naturales. Así, Wittgenstein aplica la variable operacional Ω n veces sobre x, lo que da lugar a la serie: x, Ω(x), Ω(Ω(x)),… (véase 6.02 para las series propuestas). Por su parte, Church definió la serie de los números naturales bajo la formulación del cálculo-λ. De forma muy breve, el cálculo-λ está basado principalmente en las operaciones de aplicación (una operación F se aplica sobre un argumento X) y de abstracción (que genera fórmulas tales como λxM, o más explícitamente, (λx.M[X])N donde x es una variable en la función M[X] que toma a N es un argumento: (λx.M[X])N = M[N] (veamos un ejemplo: (λx.2+x+x)1 = 2+1+1 = 4). La serie de los números naturales puede generarse, así, mediante la aplicación del operador F sobre X. Así, la definición recursiva para ambos procedimientos es como sigue: Ω0x = x (en el caso del formalismo de Church: F(0)(X) = X) [el caso base]; Ωv+1x = Ω’Ωvx (en el caso del formalismo de Church: F(n+1)(X) = F(F(n)(X))) [el paso recursivo].

6 Es importante señalar que aunque la función sucesor subyazca a este procedimiento generativo, no es lo que le hace recursivo. De hecho, la operación ‘+1’ no implica necesariamente recursión, puesto que la infinitud discreta ‘1, 2, 3, 4…n’ puede generarse aplicando iterativamente (esto es, sucesivamente) dicha operación. Por tanto, la presencia de la función sucesor no es suficiente y en otros procedimientos no es ni tan siquiera necesaria para predicar recursión. La propiedad de la recursión se encuentra, como he mostrado en los diferentes formalismos arriba propuestos, en el hecho de que cada nuevo valor está generado empleando valores previamente computados para argumentos menores, independientemente de que esté presente o no la función sucesor.

7 De hecho, una definición recursiva de dicha función caería bajo el sistema de ecuaciones arriba presentado, cuyo caso base sería S(0)(ε̃) = ε̃ y cuyo paso recursivo sería S(n)(ε̃) = S(S(n-1)(ε̃)). Esto muestra que la definición de la función sucesor como S(a) = a+1 no muestra un paso recursivo, pues sólo indica que a+1 = a+1, o de forma equivalente, que a+1 = aʹ y no hace uso de valores previamente computados para argumentos menores de esa función. Sin embargo, esta función no es intrínsecamente recursiva, como ninguna otra, puesto que puede generar iterativamente la serie de los números naturales (cf. nota al pie 6).

8 En el caso del formalismo de Post, la serie generada por medio de la aplicación la variable operacional P sobre enunciados g sería: g, Pg, P(P(g)),… y así sucesivamente. De este modo, vemos que dados unos enunciados base (las proposiciones simples), mediante la aplicación de la variable operacional P (las operaciones lógicas, reemplazadas por la barra de Sheffer), el sistema produce nuevas proposiciones (complejas). Dicho esto, es evidente las semejanzas entre el formalismo de Post, y el presentado por Wittgenstein mediante la forma general de una proposición.
Con respecto al formalismo de Turing, hay que señalar que partiendo de un input base, por ejemplo, el símbolo ‘0’, este formalismo genera, aplicando las diferentes operaciones señaladas en la nota al pie 1, los distintos miembros de la serie. Tal serie es igual que la que he presentado arriba: 0, (0), ((0)),…y así sucesivamente. De este modo, la máquina de Turing puede generar, por ejemplo, la serie de los números naturales.

Revista Observaciones Filosóficas - Nº 17 / 2013 - 2014



| Revista Observaciones Filosóficas © 2005 -    [Director) | Daniel Vásquez [Diseño] -