Este documento presenta una clasificación exhaustiva de las codificaciones de ordinales (números naturales) dentro del cálculo lambda, un sistema formal fundamental en teoría de la computación. Se organizan en tres categorías principales: Lineal, Afín y No-Lineal, cada una con múltiples encodings propuestos por diferentes autores a lo largo de la historia. Al cálculo lambda es un lenguaje formal que permite representar funciones y su evaluación mediante tres elementos básicos: Variables (como x, y), Abstracción (notación x⇒b para definir funciones) y Aplicación (f←a para aplicar funciones). La β-reducción es el mecanismo central que permite evaluar funciones, sustituyendo argumentos en el cuerpo de la función. En la categoría Lineal, los encodings de Mackie (2019) y Parigot (1989) construyen los números encadenando aplicaciones de la función identidad. Por ejemplo, ⟨0⟩ se representa como x⇒x, mientras que ⟨3⟩ resulta en una cadena de tres aplicaciones sucesivas. La categoría Afín, propuesta por Scott (1963) e implementada por Borner (2026), introduce la idea de crear “huecos” (guiones bajos) que representan Variables no vinculadas, permitiendo una codificación más eficiente. ⟨n⟩ se construye con n huecos seguidos de la variable final y aplicaciones adicionales. Para la categoría No-Lineal, Church (1932) permite la duplicación explícita de Variables cuando se necesitan múltiples usos, generando estructuras más complejas pero también más expresivas. Mogensen (2001) extendió este enfoque para bases arbitrarias, permitiendo representar números en binario u otras bases numéricas. Cada encoding tiene propiedades distintas en términos de eficiencia computacional y expresividad, siendo útil para diferentes implementaciones de lenguajes de programación funcionales y pruebas formales en teoría de tipos.
Estudio presenta clasificación de ordinales en cálculo lambda por categorías
Fuentes:
Extraordinary Ordinals
