si (λ x. xx) tiene un tipo, ¿entonces el sistema de tipos es inconsistente?


20

Si un sistema de tipos puede asignar un tipo a λ x . x x, o al que no termina (λx . x x) (λ x . x x), ¿entonces ese sistema es inconsistente como consecuencia? ¿Todos los tipos bajo ese sistema están habitados? ¿Puedes probar que es falso?

Respuestas:


29

Ciertamente, asignando un tipo a no es suficiente para la inconsistencia: en el sistema F , podemos derivar λ x . x x : ( X . X ) ( X . X )λx.x xF

λx.x x:(X.X)(X.X)

de una manera bastante directa (¡este es un buen ejercicio!). Sin embargo, puede no estar bien escrito en este sistema, suponiendo ω -consistency de segunda aritmética orden, ya que esto implica que tales términos así-tecleado están normalizando.(λx.x x)(λx.x x) ω

Además, el sistema es consistente. Esto se sigue de cualquiera de normalización, como se puede mostrar que cualquier término de tipo X . X no puede tener una forma normal, o un argumento mucho más simple, en el que se asigna cada tipo un conjunto, ya sea o { } y se puede demostrar que todos los tipos derivables se asignan { } , y X . A X se le asigna (y, por lo tanto, no es derivable).FX.X{}{}X.X

El último argumento puede llevarse a cabo en aritmética de primer orden. El hecho de que puede estar bien tipado en un sistema consistente, puede verse como algo perturbador y es una consecuencia de la impredicatividad de los sistemas . No debería sorprendernos que algunas personas cuestionen la confiabilidad de los sistemas de lógica impredecibles. Sin embargo, hasta ahora no se han encontrado inconsistencias en tales sistemas.λx.x x

(λx.x x)(λx.x x)

Se pueden encontrar más detalles en mi respuesta a una pregunta relacionada: /cstheory//a/31321/3984


44
Al leer esas respuestas, veo que obviamente tienes una gran comprensión del asunto. Me gustaría aprender más, pero no estoy seguro de dónde buscar. He echado un vistazo al libro TAPL y no menciona nada de eso, así que no estoy seguro de que este sea un tema de Teoría de Tipos. ¿Podría indicarme qué áreas de CS / matemáticas están relacionadas con esta pregunta y quizás algunos libros / artículos? Muchas gracias.
MaiaVictor

2
No estoy seguro de que estas preguntas sean un "área de investigación" per se , más bien como algunas preguntas divertidas que hubieran sido respondidas hace mucho tiempo si hubiera un esfuerzo serio por parte de los expertos. Definitivamente es un tema de teoría de tipos, y la teoría de Pure Type Systems tiene la ventaja de hacer que el problema sea definitivo y limitado. Probablemente recomendaría el papel Coquand-Herbelin del otro hilo.
cody

3
Se han hecho preguntas similares, por ejemplo aquí y aquí . Agregaría los "cálculos lambda con tipos" de Barendregt a la lista.
cody

1
λx:(X.X).ΛY.x[YY](x[Y])(X.X)(X.X)

1
λλx:(X.X).x[(X.X)(X.X)] xSi te gusta. La inferencia de tipos es indecidible aquí, pero esto es algo ortogonal a la pregunta. Por supuesto, las cosas no son tan claras cuando tiene tipos dependientes, pero hay versiones de, por ejemplo, el CoC con cuantificaciones implícitas (cálculo de construcciones implícitas de Miquel), por lo que la pregunta sigue siendo relevante.
cody
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.