58 votos

¿Hasta qué punto son ciertos los teoremas demostrados por Coq?

En tono menos irónico, ¿se sabe cuál es la consistencia relativa de los teoremas demostrados con un demostrador automático de teoremas? Por supuesto, esto depende en cierta medida de las suposiciones que se hagan con respecto a la predicatividad y demás. Pero para concretar, tomemos uno de los paquetes populares con su instalación estándar.

Tal vez se trate de una lata de gusanos, o de un trozo de cuerda de longitud indeterminada, pero el reciente aumento del interés por la Fundamentos univalentes de Voevodsky plantea dudas sobre la solidez de la coherencia del sistema HoTT que él (y otros) proponen.

0 votos

Por lo que me han enseñado, las pruebas de Coq son prácticamente las mejores pruebas que se pueden obtener: sólo requieren lógica intuicionista en el sentido fuerte (no en el ruso). Por supuesto, no sé cuáles son los "paquetes populares" y si alguno de ellos incluye ZFC de contrabando...

0 votos

David: Pensé que te interesaría más la cita de Pollack. Según Pollack, lo que usted considera "sistema formal subyacente" tiene coerciones "especificadas informalmente" que pueden utilizarse en las pruebas. Una pregunta interesante es "¿dónde está el completo sistema formal de Coq descrito/aprobado" (no pude encontrar tal cosa, encontré artículos que cubrían partes del código...)

0 votos

@joro Hace poco vi una charla acerca de MetaCoq que está intentando verificar Coq, y aparentemente hay muchas cosas que ni siquiera están documentadas, por no hablar del sistema formal completo que se está describiendo de todos modos.

46voto

Dean Hill Puntos 2006

Para sistemas como Coq, que se basan en la teoría de tipos, esta pregunta es más difícil de responder de lo que cabría esperar.

En primer lugar, ¿qué hace falta para "conocer" la fuerza de consistencia de algún sistema? Clásicamente, los sistemas lógicos más estudiados se basan en la lógica de primer orden, utilizando el lenguaje de la aritmética elemental o el de la teoría de conjuntos. Así que si eres capaz de decir: "El sistema X es equiconsistente con ZF" (o con PA, o PRA, o ZFC + infinitos inaccesibles, etc.), entonces la mayoría de la gente sentirá que "conoce" la fuerza de consistencia de X, porque lo has calibrado contra una jerarquía familiar de sistemas.

Coq, sin embargo, se basa en algo llamado Cálculo de Construcciones Inductivas (CIC). Sin entrar en una explicación detallada de lo que es, permítanme mencionar que el núcleo de CIC no tiene ningún axioma, pero por lo general la gente añade axiomas según sea necesario. Por ejemplo, si quieres lógica clásica, puedes añadir la ley del medio excluido como axioma. Para obtener más potencia se pueden añadir más axiomas (aunque hay que tener cuidado porque se sabe que ciertas combinaciones de axiomas son inconsistentes). Pero intentar comparar los distintos sistemas que se pueden obtener de este modo con sistemas aritméticos o de teoría de conjuntos más familiares es una tarea complicada. Normalmente, no podemos esperar una calibración exacta, pero podemos interpretar varios fragmentos de la teoría de conjuntos en la teoría de tipos y viceversa, mostrando que la consistencia de la CIC más ciertos axiomas se intercala entre dos sistemas diferentes en el lado de la teoría de conjuntos. Si quieres profundizar en los detalles, te recomiendo el artículo Conjuntos en Coq, Coq en Conjuntos de Bruno Barras como punto de partida.

0 votos

Hmm, así que incluso en Coq (y presumiblemente entre los sistemas formales en general), tenemos un poset de fuerza de consistencia, en lugar de una disposición más lineal como la teoría de conjuntos. Pensé que la teoría de conjuntos podría ser en general incomparable en fuerza a los sistemas formales (y Coq específicamente), pero no consideré el caso de que hubiera ramificación a un nivel tan bajo.

10 votos

@DavidRoberts La jerarquía de fuerzas de consistencia en la teoría de conjuntos (e incluso en la aritmética) no es lineal: se pueden construir sentencias cuyas fuerzas de consistencia sean incomparables. Mientras tanto, hay una naturaleza lineal aproximada para muchos axiomas cardinales grandes, y algunas personas van más allá e insisten en que la jerarquía de fuerza de consistencia cardinal grande es definitivamente lineal. Pero hay que tener en cuenta que no tenemos pruebas de ello y que hay muchos pares de conceptos cardinales grandes cuya relación exacta de fuerza de consistencia no se conoce. Nótese también que esencialmente no tenemos métodos para probar la no linealidad.

1 votos

Cuando este tema surgió recientemente en la lista de correo de Fundamentos de las Matemáticas, Freek Wiedijk mencionó otro artículo relevante: "On Relating Type Theories and Set Theories", de Peter Aczel, en Tipos para pruebas y programas Lecture Notes in Computer Science Volumen 1657, 1999, pp 1-18.

18voto

Matt Gallagher Puntos 10431

En folclore resultado es que existe un modelo "simple" de la teoría subyacente de Coq en $\mathrm{ZFC}+\omega$ -muchos inaccesibles.

Una buena introducción a este modelo es "El modelo no tan simple de prueba irrelevante de CC" por Miquel y Werner.

Benjamin Werner también esbozado una prueba de consistencia para el sistema más general con universos: Sobre la fuerza de las teorías de tipos irrelevantes para la prueba . Creo que la comunidad está suplicando una construcción formal y limpia de este modelo. Creo que esto es lo que está haciendo Bruno Barras (como menciona Tim Chow en su respuesta).

En límite inferior es aún más difícil de alcanzar. Sólo conozco 2 resultados para límites inferiores:

Werner construye de nuevo una interpretación de ZFC en CIC + algunos axiomas plausibles desde el punto de vista de la teoría de conjuntos. Conjuntos en tipos, tipos en conjuntos .

Miquel (de nuevo) construye una interpretación de Teoría de conjuntos de Zermelo en $\mathrm{F}_{\omega^2}$ el fragmento no dependiente de $\mathrm{CoC}$ con universos. El artículo es de lectura obligada: $\lambda Z$ : Teoría de conjuntos de Zermelo como PTS con 4 Sorts .

Si no me falla la memoria, en su doctorado muestra el resultado más general de que $\mathrm{CoC}$ con universos es equi-consistente con la teoría de Zermelo con $\omega$ -muchos universos (Zermelo). Lamentablemente, la tesis está en francés.

No estoy nada seguro de que $\mathrm{CIC}$ con universos es más poderoso que $\mathrm{CoC}$ con universos si no se añaden axiomas adicionales . Intuitivamente, esto se debe a que los tipos de datos inductivos pueden construirse en el "2º nivel" utilizando el truco de codificación habitual y, AFAIK, tienen la misma fuerza que los tipos de datos inductivos "incorporados" (pero son significativamente menos cómodos de utilizar).

Como puede ver, queda mucho por hacer para despejar estas incógnitas.

1 votos

Sería mejor personalizar la situación, como en "Lamentablemente, la tesis está en un idioma que no conozco (francés)". Gerhard "La apariencia importa (a los franceses)" Paseman, 2015.05.29

9 votos

Bueno, para ser justos, yo do conozco el idioma, pero cada vez que intento vender a la gente esta excelente obra, el hecho de que esté en francés es un obstáculo. La triste realidad es que el inglés es un de facto lengua estándar para la comunicación científica, como lo era el latín hace 300 años.

1 votos

@cody hay que señalar el artículo de McLarty que afirma que la HoTT con el axioma de univalencia es consistente con la aritmética de orden finito ( arxiv.org/abs/1412.6714 ), aunque no estoy seguro de que las cuestiones planteadas por Awodey se hayan resuelto del todo.

11voto

Linulin Puntos 2317

He aquí algunas publicaciones relacionadas con su pregunta:

En Inconsistencia de Pollack ( publicado en Electronic Notes in Theoretical Computer Science ), Freek Wiedijk demuestra que los asistentes de pruebas más populares son inconsistentes con Pollack.

En un puesto de internet Pollack habla de las coacciones de Coq:

El problema es que las coerciones de Coq se especifican de manera informal y se comportan un tanto impredecibles. Una teoría formal de las coerciones, como la de Luo Coercive subtyping (con teoría de la prueba y semántica) eliminaría esta cuestión del significado de las afirmaciones que utilizan coerciones. Sin embargo, la teoría de la prueba de las coerciones es complicada.


Añadido más tarde

La coherencia y la capacidad expresiva de Coq dependen del tiempo y de los errores corregidos frente a los introducidos.

Algunas versiones de Coq no consiguen demostrar teoremas demostrables, por ejemplo, comprobar ¿Cómo verifico la prueba de Coq de Feit-Thompson?

El error que obtienes es real, pero no está en la demostración del teorema del orden de impar. Está en Coq. Seré más claro: un error en el núcleo de Coq

Los fallos de inconsistencia parecen más comunes, Recopilación preliminar de errores críticos en las versiones estables de Coq . En Alrededor de 2008 informé de un error de incoherencia y para mi sorpresa Los desarrolladores de Coq llamaron al código de prueba de concepto exploit .

0 votos

Hola Joro, gracias por las referencias. Leí la segunda de ellas no hace mucho, pero después de haber publicado esta pregunta. Sin embargo, buscaba más la fuerza de consistencia del sistema formal subyacente en Coq, que la noción de si creemos que Coq ha demostrado lo que pensábamos que había demostrado.

0 votos

David: Pensé que te interesaría más la cita de Pollack. Según Pollack, lo que usted considera "sistema formal subyacente" tiene coerciones "especificadas informalmente" que pueden utilizarse en las pruebas.

8voto

Jeroen Dirks Puntos 2515

Algunos comprobadores de pruebas/probadores automáticos como Mizar utilizan teorías bastante fuertes: Teoría de Conjuntos (ZFC o algo así) junto con la suposición de que existe un cardinal inaccesible, si no recuerdo mal.

@Snark: Creo que al OP no le preocupa tanto la posibilidad de que el prover automático tenga bugs, sino que el sistema de axiomas subyacente sea realmente defectuoso, es decir, inconsistente.

3 votos

Es aún peor: la teoría de conjuntos de Tarski-Grothendieck utilizada por Mizar es equivalente a ZFC + existe una clase propia de cardinales inaccesibles.

0 votos

Ah, eso es interesante. Estaba bajo la suposición, obviamente errónea, de que los demostradores automáticos de teoremas rehuían teorías tan fuertes (que no son tan fuertes en el gran esquema de las cosas, pero más fuertes que Coq, por ejemplo)

11 votos

@David: Filosóficamente, los comprobadores automáticos de pruebas están más motivados por el problema del error humano que se cuela en el proceso de verificación de pruebas que por el escepticismo sobre la "verdad" de los axiomas fuertes. A la inversa, si eres escéptico sobre los conjuntos, o la verdad, o el infinito, o la impredicatividad, o lo que sea, entonces estarás naturalmente interesado en sistemas lógicos que eviten esas cosas, pero eso no significa necesariamente que insistirás en la verificación automática de todo.

6voto

Lester Cheung Puntos 460

Hay varias cosas que decir: en primer lugar, un demostrador automático de teoremas no sólo dice "Esto es cierto", sino que dice "Es cierto y aquí hay una prueba: ...".

El hecho de que exista una prueba ya es algo que da confianza al resultado, porque significa que se puede comprobar de forma independiente. Y con eso me refiero a que un comprobador automático de pruebas puede ir a la prueba y buscar errores. O los humanos pueden comprobar cada paso (aunque eso sería muy, muy aburrido comparado con las pruebas escritas por humanos).

Debo insistir en que si la comprobación la hace un programa, entonces debería hacerse sobre una base de código diferente a la del prover -- porque existe el riesgo de que si un bug hizo defectuosa la prueba, ese mismo bug hará defectuoso al comprobador de forma similar.

A partir de estas consideraciones, creo que las pruebas automáticas pueden ser tan convincentes como las humanas. No tan satisfactorias, pero sí convincentes.

Confío en los libros y los artículos que leo porque compruebo su coherencia básica, y sé que otros también lo hicieron. ¿Por qué no iba a fiarme de los resultados que se han comprobado de la misma manera?

2 votos

Snark - Stefan tiene razón en su interpretación. No busco cuánta fe ponemos en las pruebas generadas por sistemas formales, sino la fuerza de consistencia relativa de los resultados producidos. Pero es un buen punto que no sólo obtenemos un resultado, sino también una prueba de ello.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X