¿Cuál es la relación y la diferencia entre el cálculo de las construcciones inductivas y la teoría del tipo intuicionista?


25

Como se indica en el título, me pregunto si existe alguna relación y diferencia entre CIC e ITT. ¿Podría alguien explicarme o señalarme alguna literatura que compare estos dos sistemas? Gracias.


3
Para mí, ITT significa "teoría del tipo intuicionista", que podría significar varias cosas. En particular, hay una gran cantidad de variaciones sutiles de la descripción original de Martin-Lof (s), y ayudaría a la discusión si proporciona la referencia que describe la ITT en la que está pensando. La respuesta corta es esta: ITT en el sentido de Martin-Lof sin universo es una subteoría del CoC. En presencia de universos pero no de tipos inductivos, puede aplastar todos los universos en el universo único e impredecible del CoC. Con grandes tipos inductivos y gran eliminación, las cosas son más complejas.
cody

1
Ah y una buena discusión de algunas de estas cosas se puede encontrar en Geuvers: cs.ru.nl/~herman/PUBS/CC_CHiso.ps.gz
cody

Gracias por los comentarios y el artículo vinculado, cody. Se ve lo que estoy buscando.
día

1
Una versión en pdf del documento mencionado por @cody: cs.ru.nl/~herman/PUBS/CC_CHiso.pdf
Steven Shaw

Respuestas:


24

Ya he respondido un poco, pero intentaré dar una descripción más detallada del tipo de horizonte teórico, si es posible.

Estoy un poco confuso con los detalles históricos, por lo que los lectores más informados tendrán que perdonarme (¡y corregirme!). La historia básica es que Curry había descubierto la correspondencia básica entre los combinadores de tipo simple (o términos ) y la lógica proposicional, que fue extendida por Howard para cubrir la lógica de primer orden, y IIRC descubrió de forma independiente por De Bruijn en investigaciones sobre el enorme influyente sistema Automath .λ

El sistema Automath fue un refinamiento de la teoría de tipo simple de Church, que en sí misma fue una simplificación dramática de la teoría de tipo de Russel y Whitehead con universos y el axioma de la reducibilidad . Este era un terreno lógico relativamente conocido en la década de 1960.

Sin embargo, dar un sistema coherente, simple y fundamental que abarcara tanto los sistemas de prueba como los de término todavía era una pregunta muy abierta en 1970, y Per Martin-Löf dio una primera respuesta. Da una visión muy filosófica. el significado de las constantes lógicas y la justificación de las leyes lógicas . Él razona que tanto en lógica como en matemáticas, el significado de las construcciones se puede dar al examinar las reglas de introducción que permiten la formación de esas construcciones como juicios, por ejemplo, para la conjunción

UNAsiUNAsi

Determina la regla de eliminación correspondiente. Luego dio un sistema fundacional muy poderoso basado en tales juicios, permitiéndole dar un sistema fundacional similar a Automath usando muy pocas construcciones sintácticas. Girard descubrió que este sistema era contradictorio, lo que llevó a Martin-Löf a adoptar universos predicativos "al estilo de Russel" , limitando severamente la expresividad de la teoría (eliminando efectivamente el axioma de la reducibilidad) y haciéndola un poco más compleja (pero tenía la ventaja de haciéndolo consistente).

Sin embargo, las elegantes construcciones que permiten la definición de los símbolos lógicos ya no funcionaron, lo que llevó a ML a introducirlos en una forma diferente, como familias definidas inductivamente . Esta es una idea muy poderosa, ya que permite definir todo, desde la igualdad de juicio y los operadores lógicos hasta los números naturales y los tipos de datos funcionales como aparecen en la informática. Tenga en cuenta que cada familia que agreguemos es similar a agregar una serie de axiomas, que deben justificarse como consistentes en cada caso. Este sistema (tipos dependientes + universos + familias inductivas) es generalmente lo que se conoce como ITT .

Sin embargo, hubo una cierta frustración persistente, ya que el poderoso pero simple sistema fundacional era inconsistente, y el sistema resultante era más complejo y algo débil (en el sentido de que era difícil desarrollar gran parte del marco matemático moderno en él). Ingrese Thierry Coquand, quien con su supervisor Gerard Huet, presentó el Cálculo de Construcciones (CoC) , que en su mayoría resolvió estos problemas: un enfoque unificado para las pruebas y los tipos de datos, un poderoso sistema fundacional (impredicativo) y la capacidad de definir "construcciones "de la variedad lógica o matemática. Esto eventualmente maduró en una implementación real de un sistema diseñado como una alternativa moderna a Automath, que culminó en Coq sistema que conocemos y amamos.

Recomiendo encarecidamente este documento fundamental sobre CoC, ya que Thierry sabe una cantidad ridícula sobre el desarrollo histórico de la teoría de tipos, y probablemente explica esto mucho mejor que yo. También puede consultar su artículo sobre teoría de tipos, aunque no explique la correspondencia CH con mucho detalle.


55
Puede valer la pena señalar que el CoC, por todo el poder de su construcción de tipos de datos, no puede probar la inducción, y autores posteriores (por ejemplo, Paulin-Mohring) extendieron el CoC con construcciones inductivas a la Martin-Löf, produciendo el cálculo de construcciones inductivas, que se utiliza en Coq.
Martin Berger

1
10 0

1
Se agregaron tipos inductivos para mejorar el comportamiento computacional además de esto.
cody

1
Bueno, la función predecesora no se puede calcular en tiempo constante usando la definición impredecible de números naturales. Ver, por ejemplo, aquí o aquí .
cody

1
Sí, los números de la Iglesia, pero un resultado similar se mantendrá para tipos de datos más sensibles como listas enlazadas. ¡El ejemplo de la máquina de Turing tiende a sugerir que las máquinas de Turing tampoco son adecuadas para el cálculo práctico! :)
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.