Razonamiento formalizado: Del sueño a la realidad de las pruebas

Jean-Paul Delahaye ha publicado en Interstices un artículo panorámico sobre razonamiento asistido por ordenador titulado Du rêve à la réalité des preuves. Una versión anterior de este trabajo se publicó en la revista Pour la Science.

El artículo comienza con una pequeña historia del razonamiento formalizado. Comienza con el sueño de Leibniz en el siglo XVII de reducir el razonamiento al cálculo. El sueño fue parcialmente realizado por los Principia Mathematica (1910-13) de Alfred Whitehead y Bertrand Russell en los que se intenta reducir las matemáticas a la lógica. En esta obra se muestra cómo las matemáticas pueden ser formalizables en teoría, pero no en la realidad (ya que la formalización que proponen es demasiado compleja para realizarla prácticamente). A este trabajo le han sucedido otras formalizaciones, como la de Bourbaki en los años 30, basada en la teoría de conjuntos pero con parecidos inconvenientes.

Sin embargo, la informática y un siglo de trabajo de los lógicos han hecho realidad el sueño y logrado formalizaciones prácticas y reales de las matemáticas. El primer trabajo de formalización de las matemáticas fue el proyecto Automath desarrollado por Nicolaas de Bruijn a partir de 1966. Su trabajo fue seguido por otros proyectos como Mizar, HOL, Isabelle y Coq. La idea de estos asistentes de prueba es poner a disposición del usuario un sistema interactivo y un formalismo que le permita elaborar una versión formal de conomiento matemático.

Una forma de mostrar el éxito obtenido con los asitentes de prueba en la formalización de las matemáticas es comprobando las formalizaciones de los 100 principales teoremas de la lista de Nathan Kahn. Actualmente se ha formalizado el 87% de la lista entre los que destacan las demostraciones de

Algunos de los 13 teoremas de la listas pendientes de formalizar son

Aparte de las anteriores formalizaciones de los anteriores teoremas, la utilidad de los asistentes de prueba se aprecia en los teoremas enormes como el de Thomas Hales que resuelve la conjetura de Kepler o el de clasificación de los grupos simples.

Otro campo de aplicación de los asistentes de prueba se encuentra en la verificación de programas y sistemas informáticos.

A pesar de los éxitos obtenidos se plantean varios problemas como son:

  • la confianza en la corrección en los propios asistentes de prueba. Se consigue aumentarla reduciendo el núcleo del sistema a pocas líneas que sen simples y legibles, comprobando los núcleos con numerosos ejemplos y demostrando la correción de los núcleos con otros asistentes de prueba.
  • la dificultad del trabajo de formalizar (que se traduce en más de un día de trabajo para formalizar una página de texto matemático),
  • la escasa utilización de los asistentes en la investigación matemática, aunque especialistas como Henk Barendregt y Freek Wiedijk vaticinan que en el próximo decenio producirán un cambio en los hábitos de investigación matemática.

LI2012: Resolución en lógica de primer orden

En la clase de hoy del curso Lógica Informática se ha presentado la resolución en la lógica de primer orden como ampliación del presentado en el tema 5 para la lógica proposicional.

Las principales diferencias se encuentran en la unificación, separación de variables y factorización.

Además, se ha presentado el sistema Prover9 que busca automáticamente demostraciones por resolución.

Como tarea pendientes se propone la resolución de los ejercicios del tema 11 del libro de ejercicios.

Las transparencias de esta clase son las del tema 12
Read More “LI2012: Resolución en lógica de primer orden”

DAO2012: Deducción natural proposicional con Isabelle/HOL

En la sesión de hoy del seminario Demostración asistida por ordenador (DAO2012) se ha presentado cómo se puede hacer con Isabelle/HOL demostraciones por deducción natural en la lógica proposicional.

La presentencaión se realiza a través de los ejemplos del tema de deducción natural proposicional del libro de Huth y Ryan Logic in Computer Science y, más concretamente, a la forma como se explica en la asignatura de Lógica informática (LI).

La página al lado de cada ejemplo indica la página de las transparencias
de LI donde se encuentra la demostración.

La teoría correspondiente a la clase es DNLP.thy cuyo contenido se muestra a continuación
Read More “DAO2012: Deducción natural proposicional con Isabelle/HOL”

I1M2012: Ceros finales del factorial

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos comentado la solución con Haskell de un problema propuesto para la Olimpiada Internacional de Matemáticas de 1987 cuyo enunciado es

”Calcular el menor número natural n tal que n! termina exactamente en 1987 ceros.”

Resolverlo con Haskell.

Para resolverlo, empezamos definiendo la función cerosDelFactorial tal que (cerosDelFactorial n) es el número de ceros en que termina el factorial de n. Por ejemplo,

Presentamos dos definiciones la primera es

donde (ceros n) es el número de ceros en los que termina el número n. Por ejemplo,

y (factorial n) es el factorial n. Por ejemplo,

La segunda es

Se puede comprobar la equivalencia de las dos definiciones

y que la segunda es más eficiente

En lo que sigue, usaremos la segunda definición

A continuación definimos la función menorFactorial tal que (menorFactorial m) es el menor número cuyo factorial termina en m ceros exactamente. Por ejemplo,

Finalmente definimos la solución del problema; es decir, el menor número natural n tal que n! termina exactamente en 1987 ceros.

El cálculo de la solución es