RA2012: Deducción natural en lógica proposicional con Isabelle/HOL (1)

En la clase de hoy del curso de Razonamiento automático se ha presentado la deducción natural en lógica proposicional con Isabelle/HOL. La presentación se basa en los ejemplos de tema 2 del curso LI (Lógica informática), que a su vez se basa en el libro de de Huth y Ryan Logic in Computer Science. La página al lado de cada ejemplo indica la página de las transparencias de LI donde se encuentra la demostración.

Para cada ejemplo se presentan distintas demostraciones. La primera intenta reflejar la demostración de la transparencia, las siguientes van eliminando detalles de la prueba hasta la última que es automática.

A los largos de los ejemplos se van comentando los elementos del lenguaje conforme van entrando en el juego.

La teoría con los ejemplos presentados en la clase es la siguiente:
Read More “RA2012: Deducción natural en lógica proposicional con Isabelle/HOL (1)”

RA2012: Introducción a la demostración asistida con Isabelle/HOL

En la clase de hoy del curso de Razonamiento automático se ha presentado:

El ejemplo que se ha visto para introducir los elementos del lenguaje de demostración es el siguiente
Read More “RA2012: Introducción a la demostración asistida con Isabelle/HOL”

LMF2013: Deducción natural proposicional en Isabelle/HOL

En la clase de hoy del curso Lógica matemática y fundamentos se ha empezado la formalización en Isabelle/HOL de las demostraciones por deducción natural estudiadas en el tema 2.

Para cada uno de los ejemplos se ha presentado distintas demostraciones: detallada (que sea parecida a la mostrada en las transparencias), estructurada y automática.

La teoría con los ejemplos presentados en la clase es la siguiente:
Read More “LMF2013: Deducción natural proposicional en Isabelle/HOL”

DAO2012: Razonamiento sobre programas con Isabelle

En la sesión de hoy del seminario Demostración asistida por ordenador (DAO2012) se ha presentado cómo se puede demostrar con Isabelle propiedades de programas.

En el tema 8 del curso de I1M vimos cómo se puede razonar sobre programas funcionales. Hoy hemos visto cómo Isabelle puede hacer automáticamente las demostraciones de dicho tema. Los métodos que hemos usado son

  • simplificación (con simp),
  • automático (con auto),
  • inducción sobre números naturales y listas (con induct),
  • inducción con variables libres (con arbitrary) y
  • inducción en varias variables (con induct rule).

La teoría correspondiente a la clase es T3_Razonamiento_sobre_programas.thy cuyo contenido se muestra a continuación
Read More “DAO2012: Razonamiento sobre programas con Isabelle”

DAO2012: Programación funcional en Isabelle

En la sesión de hoy del seminario Demostración asistida por ordenador (DAO2011) se ha presentado Isabelle como un sistema de programación funcional que permite

  • evaluar expresiones aritméticas y lógicas (con value),
  • definir funciones no recursivas (con definition),
  • definir funciones recursivas (con fun),
  • enunciar propiedades (con lemma) y
  • demostrar propiedades por simplificación (con simp).

La teoría correspondiente a la clase es T2_Programacion_funcional_en_Isabelle.thy cuyo contenido se muestra a continuación
Read More “DAO2012: Programación funcional en Isabelle”