¿Por qué es imposible declarar un principio de inducción para los números de la Iglesia?

17

Imagínese, definimos números naturales en cálculo lambda tipeado de forma dependiente como números de la Iglesia. Se pueden definir de la siguiente manera:

SimpleNat = (R : Set) → R → (R → R) → R

zero : SimpleNat
zero = λ R z _ → z

suc : SimpleNat → SimpleNat
suc sn = λ R z s → s (sn R z s)

SimpleNatRec : (R : Set) → R → (R → R) → SimpleNat → R
SimpleNatRec R z s sn = sn R z s

Sin embargo, parece que no podemos definir los números de la Iglesia con el siguiente tipo de principio de Inducción:

NatInd : (C : Nat -> Set) -> (C zero) -> ((n : Nat) -> C n -> C (suc n)) -> (n : Nat) -> (C n)

¿Por que es esto entonces? ¿Cómo puedo probar esto? Parece que el problema es definir un tipo para Nat que se vuelve recursivo. ¿Es posible modificar el cálculo lambda para permitir esto?

Konstantin Solomatov
fuente

Respuestas:

20

La pregunta que hace es interesante y conocida. Está utilizando la llamada codificación impredicativa de los números naturales. Déjame explicarte un poco de los antecedentes.

Dado un constructor de tipos , podríamos estar interesados ​​en el tipo "mínimo" A que satisface A T ( A ) . En términos de teoría de categorías, T es un functor y A es el álgebra T inicial . Por ejemplo, si T ( X ) = 1 + XT:TypagmiTypagmiUNUNT(UN)TUNTT(X)=1+X entonces corresponde a los números naturales. Si T ( X ) = 1 +UN entonces A es el tipo de árboles binarios finitos.T(X)=1+X×XUN

Una idea con una larga historia es que la inicial -algebra es el tipo A : = Π X : T y p e ( T ( X ) X ) X . (Está usando la notación Agda para productos dependientes, pero yo estoy usando una notación matemática más tradicional). ¿Por qué debería ser esto? Bueno, A esencialmente codifica el principio de recursión para el álgebra T inicial : dado cualquier T álgebra Y con una estructura de morfismo f : T ( YT

UN:=X:Typagmi(T(X)X)X.
UNTTY , obtenemos un álgebra homomorfismo ϕ : A Y por ϕ ( a ) = aF:T(Y)Yϕ:UNY Entonces vemos que A esdébilmenteinicial con seguridad. Para que sea inicial, deberíamos saber que ϕ también es único. Esto no es cierto sin más suposiciones, pero los detalles son técnicos y desagradables y requieren la lectura de algunos antecedentes. Por ejemplo, si podemos mostrar un resultado satisfactorio
ϕ(un)=unYF.
UNϕ teorema de paramétrica , entonces ganamos, pero también hay otros métodos (como masajear la definición de y asumir elaxioma K y la extensionalidad de la función).UNK

Apliquemos lo anterior a : N a t = X : T y p e ( ( 1 + X ) X ) X = X : T y p e ( X × ( X X ) ) X = X ( X XT(X)=1+X ¡Tenemos números de la Iglesia! Y también entendemos ahora que obtendremos un principio de recursión gratis, porque los números de la Iglesiasonel principio de recursión para los números, pero no obtendremos inducción sin paramétrica o un dispositivo similar.

norteunt=X:Typagmi((1+X)X)X=X:Typagmi(X×(XX))X=X:TypagmiX(XX)X.

La respuesta técnica a su pregunta es la siguiente: existen modelos de teoría de tipos en los que el tipo SimpleNatcontiene elementos exóticos que no corresponden a los números y, además, estos elementos rompen el principio de inducción. El tipo SimpleNaten estos modelos es demasiado grande y solo es un álgebra inicial débil .

Andrej Bauer
fuente
8
Estoy de acuerdo en que la respuesta es excelente, pero algunas referencias podrían ser útiles aquí: el documento de Geuvers sobre la no derivabilidad de la inducción y el documento de Neel K y Derek Dreyer sobre cómo obtener (algo) de inducción de la paramétrica . Sin embargo, no conozco un documento que explore completamente la relación.
cody
No soy demasiado fuerte en las referencias en esta área, ¡gracias @cody!
Andrej Bauer