Saltar al contenido

Cálculo lambda

Avanzado Lógica Computación

La mayoría de las matemáticas describe cosas que existen — números, figuras, probabilidades. El cálculo lambda (cálculo λ) describe algo distinto: la computación misma. Es un sistema formal diminuto inventado por el lógico Alonzo Church en los años 30, y es famoso por una afirmación salvaje: con casi nada dentro, puede computar cualquier cosa que una computadora pueda computar.

Todo es una función

El cálculo lambda tiene exactamente tres clases de expresión:

x una variable — un nombre que representa algo λx.M una función — «toma x, devuelve M» M N aplicación — «alimenta N dentro de M»

Sin números. Sin cadenas. Sin if. Sin bucles. Sin nombres que perduren. Solo variables, funciones anónimas y alimentar una con otra — para siempre.

Léelo en voz alta λx.M se lee como «una función que toma x y devuelve M». Así que λx.x es «toma x, devuelve x» — la función que retorna lo que sea que le entregues. Los matemáticos la llaman la función identidad.

La única regla

La computación en el cálculo λ es una sola regla de reescritura. Cuando una función se encuentra con un argumento —

(λx.M) N → M, con cada x sustituida por N

Eso es todo. Esa regla se llama β-reducción, y todo el campo es lo que cae de aplicarla una y otra vez. Pruébalo:

(λx.x) y → y la identidad simplemente devuelve el argumento (λx.x) 7 → 7 funciona con cualquier cosa — incluso cosas que el cálculo λ no tiene

Por qué a alguien le importa

Advertencia justa El cálculo λ es honesto pero austero. Sumar dos números significa construir primero los números a partir de funciones. Ese es el punto — para la última página de este recorrido habrás construido aritmética, lógica y recursión a partir de nada más que esa única regla de reescritura.

El camino por delante

Práctica

¿Cuántas clases de expresión tiene el cálculo λ?

λx.x es…

Reduce: (λx.x) y → ___

El nombre de la única regla de cómputo es…