27 votos

¿Por qué no podemos formalizar el cálculo lambda en la lógica de primer orden?

Estoy leyendo el libro de Hindley y Seldin sobre el cálculo lambda y la lógica combinatoria. En el libro, los autores expresan que, aunque la lógica combinatoria se puede expresar como una teoría equacional en lógica de primer orden, el cálculo lambda no puede. Entiendo un poco por qué esto es cierto, pero no logro descubrir el problema con el siguiente método. ¿Acaso los términos de la lógica de primer orden son arbitrarios (construidos a partir de constantes, funciones y variables, etc.)? ¿Por qué no podemos definir la composición y la abstracción lambda como funciones sobre variables, y luego considerar una teoría equacional sobre estos términos? ¿En qué sistemas lógicos se puede formalizar el cálculo lambda como una teoría equacional?

En particular, consideramos un lenguaje de primer orden con un solo predicado binario, la igualdad. Tomamos un conjunto $V$ de términos sobre el cálculo $\lambda$, que veremos como constantes en la teoría de primer orden envolvente y, para cada $x \in V$, agregaremos una función $f_x$, correspondiente a la abstracción $\lambda$. También agregamos una función binaria $c$ correspondiente a la composición. Añadimos los axiomas estándar de igualdad, además de las reglas de conversión $\beta$ y $\alpha$, que son una secuencia de infinitos axiomas producidos sobre los términos formados a partir de los términos $\lambda$ de composición y abstracción $\lambda$. Dudo que esto sea finitamente axiomatizable, pero sigue siendo una teoría de primer orden.

2voto

Jason Puntos 33

El $\lambda$-cálculo sin tipos y los términos combinatorios no tipados tienen ambos una forma del combinador $Y$, por lo que introducimos tipos para evitar reducciones infinitas. Como sistemas (sin tipos), son equivalentes solamente como teorías ecuacionales. Para elaborar;

Tomemos $(\Lambda , \rightarrow_{\beta\eta})$ como el conjunto de términos $\lambda$ equipados con la relación $\beta\eta$ (sólo abstracción y aplicación, estoy considerando el caso más simple) y $(\mathcal{C}, \rightarrow_R)$ como el conjunto de términos combinatorios equipados con reducción. Queremos una traducción $T$, que sea una biyección entre los dos conjuntos que respete la reducción. El problema es que la reducción en términos combinatorios ocurre "demasiado rápido" en comparación con $\beta\eta$, por lo que tal traducción no existe. Cuando se ven como teorías ecuacionales, es decir, $(\Lambda , =_{\beta\eta}) y $(\mathcal{C}, =_R)$, podemos encontrar una traducción que respete las igualdades.

Un hecho interesante es que $=_{\beta\eta} \approx =_{ext}$, donde $=_{ext}$ es una forma de igualdad extensional en términos $\lambda$.

Para responder a tu pregunta, cuando ves estos sistemas como teorías ecuacionales, ambos son expresables (en FOL) ya que uno de ellos lo es y esta traducción existe. Pero al usar sólo reducción, el $\lambda$-cálculo tiene la noción de variables ligadas, mientras que la lógica combinatoria no. Las variables ligadas requieren más expresividad en el sistema, más que FOL. Necesitas tener acceso a expresiones de FOL para diferenciarlas de las variables libres, lo cual no puedes hacer desde dentro del sistema.

Conceptos relacionados con, y explicativos de mi abuso de terminología cuando digo "necesitas tener acceso a expresiones de FOL" son el $\lambda$-cubo y lógicas de orden superior de sistemas formales, y "niveles lingüísticos" de lingüística. Informalmente, es el nivel de precisión que tiene el sistema en cuestión. Toma por ejemplo el alfabeto $\{a,b\}$ y considera todas las palabras de este alfabeto. Este lenguaje requiere la cantidad mínima de precisión para ser expresado, ya que es el lenguaje más grande que puedo crear a partir de este alfabeto. Ahora considera sólo palabras de la forma $a^nb^n$. Este lenguaje requiere un nivel más alto de precisión para que un sistema pueda expresarlo, porque necesitas ser capaz de "mirar dentro" de una palabra para determinar si pertenece al lenguaje o no. Puedes leer más sobre este tema en https://devopedia.org/chomsky-hierarchy

1voto

El problema con tu enfoque es que en la semántica del cálculo lambda, si tienes que la interpretación de dos variables es igual en un modelo, entonces sus abstracciones lambda también necesitarán serlo. Tu situación puede tener $[[x]]=[[y]]$ pero $[[f_x]]$ y $[[f_y]]$ distintos. Por lo tanto, no tiene la misma semántica que el cálculo lambda, por lo que no lo axiomatiza exitosamente (puedes ver esto, ya que tu axiomatización es universal, por lo que estará cerrada bajo subestructura, mientras que la semántica del cálculo $\lambda$ no está cerrada bajo subestructura).

Hay dos enfoques adicionales que funcionan: podrías tener un predicado $V$ representando 'ser una variable' y axiomas que dicen $V(A)$ para cada $A$ que $\beta$-reduce a una variable, y axiomas que dicen $\neg V(A)$ para todos los demás $A$. Luego puedes introducir tu función de abstracción lambda parcial como un predicado ternario, es decir, $\lambda (A,B,C)$ representa que $\lambda A.B$ está definido y $=C$. Luego puedes axiomatizar solamente la capacidad de abstraer sobre una variable: $\forall A,B (\exists C \lambda (A,B,C))\iff V(A)$ y luego proceder a escribir el resto de la teoría utilizando estos predicados.

Esto funciona, pero dado que si un término se reduce a una variable es indesicable, estos axiomas no son recursivamente enumerables, lo cual es molesto para los lógicos. El enfoque final y mejor, es notar que los modelos de Scott-Meyer del cálculo $\lambda$ se describen esencialmente de una manera de primer orden.

Entonces puedes tener una axiomatización utilizando 3 constantes (s, k, e) y una función binaria $\cdot$ con los axiomas:
$\forall a,b \, \, \, \, \, \, \, \, k \cdot a \cdot b$ $= a$
$\forall a,b,c \, \, \, \, \, \, s \cdot a \cdot b\cdot c$ $= a\cdot c \cdot (b\cdot c)$
$e \cdot e = e$
$\forall a,b \, \, \, \, \, \, \, \, e \cdot a \cdot b$ $= a\cdot b$
$\forall a,b \, \, \, \, \, \, \, \, \forall c \, \, a \cdot c$ $= b\cdot c \to e \cdot a = e \cdot b$

Esta es una teoría (en un lenguaje diferente) que tiene los mismos modelos (de Conjuntos) que el cálculo $\lambda$. Aunque ahora es de primer orden, ya no es una axiomatización algebraica.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X