RA2010: Razonamiento por inducción sobre tipos recursivos

En la clase de hoy del curso de Razonamiento automático se han presentado las técnicas de demostración en Isabelle por inducción sobre tipos recursivos. En concreto se han estudiado los esquemas de inducción para las listas y para los árboles binarios.

Las transparencias usadas en clase son las páginas 31-34 del tema 3 (Distinción decasos e inducción). El código correspondiente se encuentra en Cap_3.thy.

ProofWiki y la verificación de las demostraciones matemáticas

ProofWiki es un compendio de demostraciones matemáticas escritas de manera colaborativa en una wiki. Su objetivo es colecionar y clasificar demostraciones de teoremas matemáticos.

El proyecto empezó en marzo de 2008 y actualmente incluye 2.804 demostraciones escritas por sus 297 usuarios. Las demostraciones se encuentran clasificadas en 34 categorías. Una de las categorías particularmente interesante es la de teoremas con nombres en la que aparecen 247 teoremas. También es interesante la página de los teoremas más populares según el número de visitas.

ProofWiki podría servir de base para otro proyecto cuyo objetivo final fuese la verificación formal de las demostraciones matemáticas. Para ello se podría crear una wiki y, de forma colaborativa, escribir las verificaciones de las demostraciones de ProofWiki usando los distintos sistemas de razonamiento asistido por ordenador (como Isabelle/HOL/Isar, PVS, ACL2, Coq, HOL, HOL Light o Mizar).

Errores aritméticos en Haskell y en Lisp

La primera vez que uno se encuentra con los siguientes cálculos aritméticos en Haskell puede sorprenderse.

El mismo comportamiento se da en Common Lisp

Para comprender estos cálculos es aconsejable leer What Every Computer Scientist Should Know About Floating-Point Arithmetic.