Tengo lo que llamaría una pregunta filosófica sobre el cálculo λ.
Cuando explore el cálculo λ, se sorprenderá al ver todas las cosas que puede hacer allí. Puede definir enteros, operaciones aritméticas, booleanos, sentencias if-then-else, bucles, funciones recursivas, etc. Creo que se ha demostrado que es computacionalmente completo.
Pero, por otro lado, si considera lo que puede hacer con las funciones en el cálculo λ, se da cuenta de que lo único que puede hacer es alimentar una función y le devuelve otra función. Y ese proceso nunca termina.
Entonces, ¿cómo puede extraer un resultado de un cálculo?
Supongamos que el resultado de una expresión es función f. Desea verificar si fes lo que esperaba. Puede probarlo, tomar una función que conozca, solicitarla fy recibirla g. Pero para verificar ges correcto, ahora necesita verificar lo que ghace. Y comienzas de nuevo. Entonces, ¿cómo puedes contar algo f?
Me parece que puede reemplazar todas las funciones en cálculo λ por una sola función, la función de identidad I = λx.x, y todo sigue funcionando como se describe en cálculo λ. El número de la Iglesia 3cuando se da fy xregresa f(f(f(x))). Pero desde fy xsolo puede ser I, vuelve I. Iaplicado Iy Itambién regresa I. Entonces Isatisface la definición de 3. Los "booleanos" (λxy.x)y (λxy.y)necesitan 2 argumentos, que serán Iy Ientonces ambos booleanos volverán I. Cada uno es equivalente a la identidad, a pesar de que se comportan exactamente de acuerdo con sus definiciones.
Entonces, ¿cómo haces la diferencia? ¿Cómo muestra que el cálculo λ trata con algo más que una sola función?
¿Existe un concepto de identidad? ¿Puedes identificar una función inmediatamente sin evaluarla? Creo que se demostró que no hay forma de probar 2 funciones para la igualdad.
¿O el cálculo λ no se trata de funciones, sino de la descripción formal de lo que hacen? Eso significaría que las expresiones λ no solo definen lo que hacen las funciones sino que también son los datos que las funciones manipulan. Así que cuando se escribe A B, que no se aplican Aa B, pero se aplica la función descrita por la cadena Ade definición formal de una función contenida en Bvolver otra definición formal.
¿Qué está pasando realmente en el cálculo λ? ¿Cuáles son los objetos matemáticos con los que trata?
Seguimiento:
Bien, de la respuesta a continuación parece que el cálculo λ no se trata tanto de funciones en el sentido matemático, sino del subconjunto de funciones que se pueden expresar como expresiones λ. O incluso más sobre la manipulación de las expresiones λ.