LMF2012: Sustituciones en la lógica de primer orden

En la segunda parte de la clase de hoy del curso Lógica matemática y fundamentos se ha estudiado la sustituciones en la lógica de primer orden. Concretamente, se ha definido el concepto de sustitución y cómo se aplica a términos y fórmulas. Finalmente, se ha comentado que hay sustituciones que aplicadas a una fórmula satisfacible puede dar una fórmula insatisfacible. Esto motiva la definición de las sustituciones libres.

Las transparencias de esta clase son las páginas 1 a 8 del tema 7.

LMF2012: Semántica de la lógica de primer orden (2)

En la primera parte de la clase de hoy del curso Lógica matemática y fundamentos se ha continuado la presentación de la semántica de la lógica de primer orden, extendiendo los conceptos semánticos de las fórmulas a los conjuntos. Concretamente, se ha definido los siguientes conceptos:

  • realizaciones y modelos de conjuntos de fórmulas,
  • conjuntos consistentes e inconsistentes,
  • consecuencia lógica y
  • fórmulas equivalentes.

También se ha estudiado las relaciones entre dichos conceptos

Las transparencias de esta clase son las páginas 39 a 45 del tema 6.

Sistemas de ternas de Steiner en Haskell

Un sistema de Steiner de ternas de orden n, S(n), es un conjunto de ternas tal que los elementos de cada terna son números del 1 al n y cualquier par de elementos \{i,j\} (con 1 \leq i < j \leq n[/latex]) pertenece exactamente a una terna. Por ejemplo, [latex]S(3) = \{\{1,2,3\}\}[/latex] [latex]S(7) = \{\{1,2,4\}, \{2,3,5\}, \{3,4,6\}, \{4,5,7\}, \{5,6,1\}, \{6,7,2\}, \{7,1,3\}\}[/latex] Se verifica que [latex]S(n)[/latex] es no vacío si, y sólo si, si [latex]n[/latex] es congruente con 1 o con 3 módulo 6. En ese caso, el número de elementos de [latex]S(n)[/latex] es [latex]\frac{n(n-1)}{6}[/latex]. En la Wikipedia se encuentra más información sobre los sistemas de Steiner.

El objetivo de esta relación es definir en Haskell una función para calcular los sistemas de ternas de Steiner de orden n.
Read More "Sistemas de ternas de Steiner en Haskell"

I1M2011: Operaciones con el TAD de los polinomios en Haskell (3)

En la clase de hoy de Informática de 1º del Grado en Matemáticas hemos continuado estudiando la implementación en Haskell de operaciones con los polinomios utilizando las implementaciones del TAD de los polinomios estudiadas en las clases anteriores.

En los ejercicios se usan las siguientes librerías:

  • PolRepTDA: Implementación de los polinomios mediante tipos de datos algebraicos.
  • PolRepDispersa: Implementación de los polinomios mediante listas dispersas.
  • PolRepDensa: Implementación de los polinomios mediante listas densas.
  • PolOperaciones: Operaciones con el TAD de los polinomios.

Los ejercicios, y sus soluciones, se muestran a continuación.
Read More “I1M2011: Operaciones con el TAD de los polinomios en Haskell (3)”