RA2016: Razonamiento por casos y por inducción en Isabelle/HOL

En la segunda parte de la clase de hoy del curso de Razonamiento automático hemos profundizado en el estudio de las demostraciones por casos y por inducción. En concreto, se ha estudiado

  • el razonamiento por casos booleanos,
  • el razonamiento por casos booleanos sobre una variable,
  • el razonamiento por casos sobre listas,
  • el razonamiento por inducción sobre números naturales con patrones,
  • el razonamiento sobre definiciones con existenciales,
  • el uso de librerías auxiliares (como Parity) y
  • el uso de otros métodos de demostración (como presburg).

La teoría con los ejemplos presentados en la clase es la siguiente:
Read More “RA2016: Razonamiento por casos y por inducción en Isabelle/HOL”

I1M2016: Declaraciones de clases y de instancias

En la segunda parte de la clase de hoy de Informática de 1º del Grado en Matemáticas se ha estudiado las clases en Haskell. Concretamente,

  • cómo definir clases con class,
  • cómo se define la clase Eq,
  • cómo ver en GHCi la información de una clase con :info Eq,
  • cómo definir instancias con instance,
  • cómo se define Bool como instancia de Eq,
  • cómo definir subclases,
  • cómo se define Ord como subclase de Eq,
  • cómo se define Bool como instancia de Ord y
  • cómo definir tipos de datos con clases derivadas.

Los apuntes correspondientes a la clase son