81 votos

Se busca: un "Coq para el matemático que trabaja"

Lo siento por posiblemente el off-topic pregunta-hay cuatro StackExchange subs de cada uno de los cuales podría ser interpretado como el lugar adecuado para esta pregunta, y yo he elegido el que estoy más familiarizado.

Estoy tratando de obtener un conocimiento de trabajo de la Coq lenguaje de programación es suficiente para ser capaz de codificar y (tener) verificar constructivo pruebas en la combinatoria y el álgebra abstracta. Las pruebas, o al menos una parte de ellos lo suficientemente alta como para hacerme feliz, realmente no son sondear los límites de constructivo de las matemáticas; que no requieren univalence, no coinduction, y probablemente ni siquiera la fuerza inductiva de los tipos distintos de las $\mathbb N$ (creo que la aritmética de Peano).

Obviamente mi primera idea fue buscar en la internet para los tutoriales, pero me pareció que el tipo de introducción que quiero ser sorprendentemente escasa si no no disponible. Me pregunto si alguien sabe de una fuente o de uno está siendo escrito (si es así, ¿cómo se puede aportar?). Aquí está un resumen de lo que estoy buscando:

  • La atención debería centrarse en el uso de Coq para la verificación de las pruebas constructivo de las matemáticas, o incluso más conservador de los subconjuntos de la misma. No debería estar jugando con axiomas adicionales (univalence, la lógica clásica) o en otros sistemas (lógica temporal, etc.); tampoco debería ser en la práctica de verificación de software. Tampoco debería ser un lógicas de un libro de texto con Coq utiliza como ilustración de los conceptos. Estoy en abstracto interesados en cada una de las cosas que acabo de mencionar, pero lo que estoy buscando es un tutorial escrito para los matemáticos en general, más que para los lógicos, o HoTTists.

  • Debe proporcionar las manos en los ejemplos de las pruebas que no son totalmente toylike o artificial. (Me imagino cosas como "el conjugado del conjugado de una partición de la partición antigua" o "si usted ordenar cada fila de una matriz en orden creciente y, a continuación, hacer lo mismo con cada una de las columnas, las filas se sigue en aumento" o "$-1$ es un residuo cuadrático módulo de la extraña prime $p$ fib $p \equiv 1 \mod 4$".)

  • Idealmente debería dar alguna orientación sobre cómo configurar una Coq proyecto (i. e., más de uno .archivo v) y cómo escribir alfabetizado Coq/TeX.

  • El texto debe proveer al lector con un kit de supervivencia de la sintaxis y tácticas básicas como temprano como sea posible, que teóricamente permite la formalización de cualquier constructivo prueba en la escuela primaria combinatoria y teoría de números con la suficiente paciencia. A continuación, debe ir con el más avanzado de las tácticas que hacen que esta a menos de un dolor, posiblemente, incluso los de ssreflect (si el paquete es lo suficientemente estable).

Los textos actualmente estoy tratando de seguir son Coq de Arte y Fundaciones Software, pero parece que en realidad no entra en la descripción mucho (y la única versión en inglés de la Coq Art es a partir de 2004, el cual no es muy reciente en ciencias de la computación de cálculo).

EDIT: Ligeramente off-topic, también me pregunto lo que llevaría a la liberación de Coq liado con su más importante para el usuario-hecho contribuciones como ssreflect, haciendo que la curva de aprendizaje, al menos, un poco menos pronunciada por la eliminación de la PITA de la compilación de un ocaml de los ecosistemas de la fuente...

EDIT 2: Florent Hivert del Coq-Combi proyecto parece ser la cosa que estaba tratando de construir, y sospecho que la lectura de sus fuentes será un buen paso hacia el aprendizaje de Coq al menos para mí. Por otro lado, Pierre-Yves Strub ofrece un paquete con Coq y SSReflect para Windows, la cual resuelve otro problema que tenía (la advertencia de que las versiones no son los más nuevos). Parece Coq se está convirtiendo utilizable :)

EDIT3: siento que, con el progreso hecho por ahora (sobre todo por Florent Hivert y otros en Coq-Combi), podría aprender Coq y obtener la suficiente experiencia en el plazo de un año y medio de no tener que preocuparse acerca de las publicaciones, la enseñanza y pretender mantener un seguimiento de los desarrollos actuales. Me pregunto si esto se debe principalmente a mí, o es que todos en la combinatoria es un medio año de distancia de ser capaces de enseñar su trabajo a su equipo. Mientras tanto, me gustaría compartir una charla por Neil Strickland acabo de descubrir, que es lo que mejor despotricar sobre el estado actual de los asuntos de lo que yo pudiera escribir.

25voto

Brennan Puntos 4532

Mi intento de hacer algo así para Agda está aquí: http://neil-strickland.staff.shef.ac.uk/formal/ . También me gustaría ver un equivalente de Coq (también Isabelle, Mizar, etc.) pero actualmente no tengo el conocimiento para escribir uno yo mismo.

16voto

George Puntos 91

Yo podría sugerir el libro ideado para la biblioteca en GitHub, Matemática Componentes (el autor de la pregunta es reconocido dentro de la realidad). No hace suposiciones sobre el lector en términos de experiencia de programación. Hay, por supuesto, me imagino que la abundancia de las publicaciones que se desarrollaron estas herramientas, así que estaba feliz y yo no encontramos ningún fondo especializado destinado el libro de los lectores. Está escrito en inglés y está dirigido hacia el proyecto para formalizar la matemática en GitHub, y que encontrará en la introducción que en más formas de las que los tratamientos típicos de Coq que son para principiantes un doblado que es hacia la matemática progresos realizados con Coq. Me encantaría escuchar opiniones para el texto en los comentarios a esta respuesta. Yo mismo acaba de empezar.

7voto

Kevin Loney Puntos 163

Este libro online por Adam Chlipala no ha sido mencionado:

Certificado de Programación con Tipos Dependientes de

La razón por la que sugerimos es debido a esta demanda por el autor en la introducción:

"La mayoría de las ideas para Coq están apenas se difundió entre los expertos, digamos que se establecen en un tutorial de la forma. Espero usar este libro para ir un largo camino para remediar eso."

Así que no es un libro dirigido a los matemáticos, pero espero que útil para empezar, no obstante.

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