Reseña: Parallelizing an interactive theorem prover: Functional programming and proofs with ACL2

Una de las líneas de trabajo en la automatización del razonamiento es la paralelización de las demostraciones. En dicha línea se inscribe la Tesis doctoral Parallelizing an interactive theorem prover: Functional programming and proofs with ACL2 presentada por David L. Rager en la Univ. de Texas en Austin el pasado 20 de Agosto.

Su resumen es

Multi-core systems have become commonplace, however, theorem provers often do not take advantage of the additional computing resources in an interactive setting. This research explores automatically using these additional resources to lessen the delay between when users submit conjectures to the theorem prover and when they receive feedback from the prover that is useful in discovering how to successfully complete the proof of a particular theorem.

This research contributes mechanisms that permit applicative programs to execute in parallel while simultaneously preparing these programs for verification by a semi-automatic reasoning system. It also contributes a parallel version of an automated theorem prover, with management of user interaction issues, such as output and how inherently single-threaded, user-level proof features can be configured for use with parallel computation. Finally, this dissertation investigates the types of proofs that are amenable to parallel execution. This investigation yields the result that almost all proof attempts that require a non-trivial amount of time can benefit from parallel execution. Proof attempts executed in parallel almost always provide the aforementioned feedback sooner than if they executed serially, and their execution time is often significantly reduced.

Las transparencias de la presentación se encuentran aquí.

LI2012: Decisión de propiedades de la lógica proposicional. Deducción natural

En primera parte de la clase de hoy del curso Lógica Informática se han resuelto cuestiones abiertas sobre la lógica proposicional; es decir, dada una conjeturas sobre la lógica proposicional decidir si son ciertas o falsas.

Concretamente, se han comentado soluciones de los ejercicios 32 a 37 del capítulo 1 del libro de ejercicios.

En la segunda parte hemos comenzado el estudio de la deducción natural proposicional. Las reglas que se han visto en la clase de hoy son las de la conjunción, de la doble negación, de eliminación del condicional, de modus tollens y de introducción del condicional.

Como tarea pendiente se propone la resolución de los 22 primeros apartados del ejercicio 5 del tema 2 del libro de ejercicios.

Las transparencias de esta clase son las páginas 1-10 del tema 2
Read More “LI2012: Decisión de propiedades de la lógica proposicional. Deducción natural”

I1M2012: Tipos y clases en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado los tipos y las clases en Haskell. Los objetivos de tema son aprender

  • qué es un tipo,
  • cómo expresar que una expresión tiene un tipo determinado,
  • cómo preguntar a Haskell por el tipo de una expresión,
  • cómo determinar el tipo de una expresión,
  • cuáles son las ventajas de los tipos en programación,
  • cuáles son los tipos básicos (Bool, Char, String, Int, Integer, Float y Double),
  • cuáles son los tipos compuestos (listas, tuplas y funciones),
  • qué es el polimorfismo y la sobrecarga de funciones y
  • cuáles son las clases básicas (Eq, Ord, Show, Read, Num, Integral y Fractional), sus métodos e instancias.

Las transparencias usadas en la clase son las del tema 3:

I1M2012: Definiciones por comprensión

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos estudiado cómo definir funciones en Haskell usando listas de comprensión. En concreto, hemos visto cóm definir:

  • listas con un generador,
  • listas con varios generadores,
  • listas con generadores dependientes,
  • listas con guardas,
  • listas con guardas e igualdad y
  • emparejamiento de listas con zip.

Como tarea para la próxima clase se ha propuesto escribir de manera colaborativa las soluciones de los ejercicios de la 4ª relación.

Las transparencias usadas en la clase son las comprendidas entre las páginas 1 y 11 del tema 5:
Read More “I1M2012: Definiciones por comprensión”