<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/LMF2015/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mjoseh</id>
	<title>Lógica matemática y fundamentos (2014-15) - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/LMF2015/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mjoseh"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php/Especial:Contribuciones/Mjoseh"/>
	<updated>2026-07-18T11:59:05Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=334</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=334"/>
		<updated>2015-06-03T15:26:19Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 16&amp;#039;&amp;#039;&amp;#039;: Resolución en lógica de primer orden.([[R16 |Enunciado]] y [[Relación 16 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Segundo examen (resuelto)&amp;#039;&amp;#039;&amp;#039;:([[Ejercicio 4 (a) |Solución_4a]], [[Ejercicio 4 (b)|Solución_4b]],[[Ejercicio 5 (a) |Solución_5a]] y [[Ejercicio 5 (b) |Solución_5b]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=333</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=333"/>
		<updated>2015-06-03T15:25:53Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 16&amp;#039;&amp;#039;&amp;#039;: Resolución en lógica de primer orden.([[R16 |Enunciado]] y [[Relación 16 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Segundo examen (resuelto)&amp;#039;&amp;#039;&amp;#039;:([[Ejercicio 4 (a) |Solución_4a]], [[Ejercicio 4 (b)|Solución_4b]],[[Ejercicio 5 (a) |Solución_5a]] y [[Ejercicio 5 (b) |Solución_5b]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 17&amp;#039;&amp;#039;&amp;#039;: Resolución.([[R17 |Enunciado]] y [[Relación 17 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=332</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=332"/>
		<updated>2015-06-03T15:24:17Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 16&amp;#039;&amp;#039;&amp;#039;: Resolución en lógica de primer orden.([[R16 |Enunciado]] y [[Relación 16 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Segundo examen (resuelto)&amp;#039;&amp;#039;&amp;#039;:([[Ejercicio 4 (a) |Solución_4a]], [[Ejercicio 4 (b)|Solución_4b]],[[Ejercicio 5 (a) |Solución_5a]] y [[Ejercicio 5 (b) |Solución_5b]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=331</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=331"/>
		<updated>2015-06-03T15:22:12Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 16&amp;#039;&amp;#039;&amp;#039;: Resolución en lógica de primer orden.([[R16 |Enunciado]] y [[Relación 16 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Segundo examen (resuelto)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;([[Ejerciio 4 (a) |Solución_4a]], [[Ejerciio 4 (b)|Solución_4b]],[[Ejerciio 5 (a) |Solución_5a]] y [[Ejerciio 5 (b) |Solución_5b]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=330</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=330"/>
		<updated>2015-06-03T15:20:54Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 16&amp;#039;&amp;#039;&amp;#039;: Resolución en lógica de primer orden.([[R16 |Enunciado]] y [[Relación 16 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Segundo examen (resuelto)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** ([[Ejerciio 4 (a) |Solución_4a]]).&lt;br /&gt;
** [[Ejerciio 4 (b) |Solución_4b]].&lt;br /&gt;
** [[Ejerciio 5 (a) |Solución_5a]].&lt;br /&gt;
** [[Ejerciio 5 (b) |Solución_5b]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=329</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=329"/>
		<updated>2015-06-03T15:19:28Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 16&amp;#039;&amp;#039;&amp;#039;: Resolución en lógica de primer orden.([[R16 |Enunciado]] y [[Relación 16 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Segundo examen (resuelto)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
**[[Ejerciio 4 (a) |Solución_4a]].&lt;br /&gt;
**[[Ejerciio 4 (b) |Solución_4b]].&lt;br /&gt;
**[[Ejerciio 5 (a) |Solución_5a]].&lt;br /&gt;
**[[Ejerciio 5 (b) |Solución_5b]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=328</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=328"/>
		<updated>2015-06-03T15:18:47Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 16&amp;#039;&amp;#039;&amp;#039;: Resolución en lógica de primer orden.([[R16 |Enunciado]] y [[Relación 16 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Segundo examen (resuelto)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
**[[Ejerciio 4 (a) |Solución_4a]].&lt;br /&gt;
**[[Ejerciio 4 (b) |Solución_4b]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=324</id>
		<title>R16</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=324"/>
		<updated>2015-05-22T07:43:22Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Protegió «R16» ([edit=sysop] (indefinido) [move=sysop] (indefinido))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 16: Resolución en Lógica de primer orden  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:&lt;br /&gt;
&lt;br /&gt;
  reflexiva:  ∀x R(x,x)&lt;br /&gt;
  simétrica:  ∀x ∀y (R(x,y) → R(y,x))&lt;br /&gt;
  transitiva: ∀x ∀y ∀z (R(x,y) ∧ R(y,z) → R(x,z))&lt;br /&gt;
  notrivial:  ∀x ∃ R(x,y)&lt;br /&gt;
&lt;br /&gt;
* Demostrar que reflexiva no es consecuencia lógica de {transitiva, simétrica}.&lt;br /&gt;
* Demostrar por resolución que {transitiva, simétrica, notrivial}⊧ reflexiva.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Demostrar, por resolución, que si toda persona rica tiene un padre rico, entonces existe una persona rica que tiene un abuelo rico. Usar la relación R(x) para representar que x es rico, y la función p(x) para representar el padre de x.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación: “Hay estudiantes &lt;br /&gt;
inteligentes y hay estudiantes trabajadores. Por tanto, hay estudiantes &lt;br /&gt;
inteligentes y trabajadores”.&lt;br /&gt;
&lt;br /&gt;
* Formalizar la argumentación usando los siguientes símbolos: P(x) para representar que x es un estudiante inteligente y Q(x) para representar que x es un estudiante trabajador.&lt;br /&gt;
* Decidir, mediante resolución, la validez de la argumentación mostrando una prueba o un contramodelo de Herbrand obtenido a partir de la resolución.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan al menos dos elementos.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan dos elementos como máximo.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente dos elementos.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente tres elementos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación:&lt;br /&gt;
&lt;br /&gt;
Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero que le impida el paso. A algunas personas motorizadas que intentan entrar en un país le impiden el paso únicamente personas motorizadas. Ninguna persona  motorizada tiene pasaporte. Por tanto, ciertos aduaneros están motorizados.&lt;br /&gt;
&lt;br /&gt;
Las premisas pueden formalizarse por:&lt;br /&gt;
 ∀x(E(x) ∧ ¬P(x) → ∃y(A(y) ∧ I(y, x)))&lt;br /&gt;
 ∃x(M(x) ∧ E(x) ∧ ∀y(I(y, x) → M(y)))&lt;br /&gt;
 ∀x(M(x) → ¬P(x))&lt;br /&gt;
&lt;br /&gt;
Decidir mediante resolución si el argumento es correcto.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 6.&amp;#039;&amp;#039;&amp;#039; Decidir por resolución si la la fórmula ∃x(P(x, a) ∧ P( f (x), b)) es consecuencia del conjunto de fórmulas S = { ∀x(P(a, x) → P(b, f (x))), ∀x(P( f (x), x) → (∀zP(z, b))),P(a, f (a)) ∧ P( f (b), b)}. En el caso de que no lo sea, construir a partir de la resolución un modelo de Herbrand de S que no sea modelo de la fórmula.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_16&amp;diff=323</id>
		<title>Relación 16</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_16&amp;diff=323"/>
		<updated>2015-05-22T07:43:08Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;=== Relación 16: Resolución en Lógica de primer orden  ===  ---- &amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:    reflexiva:  ∀x R(x,x)   simétrica:  ∀x ∀...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 16: Resolución en Lógica de primer orden  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:&lt;br /&gt;
&lt;br /&gt;
  reflexiva:  ∀x R(x,x)&lt;br /&gt;
  simétrica:  ∀x ∀y (R(x,y) → R(y,x))&lt;br /&gt;
  transitiva: ∀x ∀y ∀z (R(x,y) ∧ R(y,z) → R(x,z))&lt;br /&gt;
  notrivial:  ∀x ∃ R(x,y)&lt;br /&gt;
&lt;br /&gt;
* Demostrar que reflexiva no es consecuencia lógica de {transitiva, simétrica}.&lt;br /&gt;
* Demostrar por resolución que {transitiva, simétrica, notrivial}⊧ reflexiva.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Demostrar, por resolución, que si toda persona rica tiene un padre rico, entonces existe una persona rica que tiene un abuelo rico. Usar la relación R(x) para representar que x es rico, y la función p(x) para representar el padre de x.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación: “Hay estudiantes &lt;br /&gt;
inteligentes y hay estudiantes trabajadores. Por tanto, hay estudiantes &lt;br /&gt;
inteligentes y trabajadores”.&lt;br /&gt;
&lt;br /&gt;
* Formalizar la argumentación usando los siguientes símbolos: P(x) para representar que x es un estudiante inteligente y Q(x) para representar que x es un estudiante trabajador.&lt;br /&gt;
* Decidir, mediante resolución, la validez de la argumentación mostrando una prueba o un contramodelo de Herbrand obtenido a partir de la resolución.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan al menos dos elementos.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan dos elementos como máximo.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente dos elementos.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente tres elementos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación:&lt;br /&gt;
&lt;br /&gt;
Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero que le impida el paso. A algunas personas motorizadas que intentan entrar en un país le impiden el paso únicamente personas motorizadas. Ninguna persona  motorizada tiene pasaporte. Por tanto, ciertos aduaneros están motorizados.&lt;br /&gt;
&lt;br /&gt;
Las premisas pueden formalizarse por:&lt;br /&gt;
 ∀x(E(x) ∧ ¬P(x) → ∃y(A(y) ∧ I(y, x)))&lt;br /&gt;
 ∃x(M(x) ∧ E(x) ∧ ∀y(I(y, x) → M(y)))&lt;br /&gt;
 ∀x(M(x) → ¬P(x))&lt;br /&gt;
&lt;br /&gt;
Decidir mediante resolución si el argumento es correcto.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 6.&amp;#039;&amp;#039;&amp;#039; Decidir por resolución si la la fórmula ∃x(P(x, a) ∧ P( f (x), b)) es consecuencia del conjunto de fórmulas S = { ∀x(P(a, x) → P(b, f (x))), ∀x(P( f (x), x) → (∀zP(z, b))),P(a, f (a)) ∧ P( f (b), b)}. En el caso de que no lo sea, construir a partir de la resolución un modelo de Herbrand de S que no sea modelo de la fórmula.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=322</id>
		<title>R16</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=322"/>
		<updated>2015-05-22T07:42:31Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 16: Resolución en Lógica de primer orden  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:&lt;br /&gt;
&lt;br /&gt;
  reflexiva:  ∀x R(x,x)&lt;br /&gt;
  simétrica:  ∀x ∀y (R(x,y) → R(y,x))&lt;br /&gt;
  transitiva: ∀x ∀y ∀z (R(x,y) ∧ R(y,z) → R(x,z))&lt;br /&gt;
  notrivial:  ∀x ∃ R(x,y)&lt;br /&gt;
&lt;br /&gt;
* Demostrar que reflexiva no es consecuencia lógica de {transitiva, simétrica}.&lt;br /&gt;
* Demostrar por resolución que {transitiva, simétrica, notrivial}⊧ reflexiva.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Demostrar, por resolución, que si toda persona rica tiene un padre rico, entonces existe una persona rica que tiene un abuelo rico. Usar la relación R(x) para representar que x es rico, y la función p(x) para representar el padre de x.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación: “Hay estudiantes &lt;br /&gt;
inteligentes y hay estudiantes trabajadores. Por tanto, hay estudiantes &lt;br /&gt;
inteligentes y trabajadores”.&lt;br /&gt;
&lt;br /&gt;
* Formalizar la argumentación usando los siguientes símbolos: P(x) para representar que x es un estudiante inteligente y Q(x) para representar que x es un estudiante trabajador.&lt;br /&gt;
* Decidir, mediante resolución, la validez de la argumentación mostrando una prueba o un contramodelo de Herbrand obtenido a partir de la resolución.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan al menos dos elementos.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan dos elementos como máximo.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente dos elementos.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente tres elementos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación:&lt;br /&gt;
&lt;br /&gt;
Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero que le impida el paso. A algunas personas motorizadas que intentan entrar en un país le impiden el paso únicamente personas motorizadas. Ninguna persona  motorizada tiene pasaporte. Por tanto, ciertos aduaneros están motorizados.&lt;br /&gt;
&lt;br /&gt;
Las premisas pueden formalizarse por:&lt;br /&gt;
 ∀x(E(x) ∧ ¬P(x) → ∃y(A(y) ∧ I(y, x)))&lt;br /&gt;
 ∃x(M(x) ∧ E(x) ∧ ∀y(I(y, x) → M(y)))&lt;br /&gt;
 ∀x(M(x) → ¬P(x))&lt;br /&gt;
&lt;br /&gt;
Decidir mediante resolución si el argumento es correcto.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 6.&amp;#039;&amp;#039;&amp;#039; Decidir por resolución si la la fórmula ∃x(P(x, a) ∧ P( f (x), b)) es consecuencia del conjunto de fórmulas S = { ∀x(P(a, x) → P(b, f (x))), ∀x(P( f (x), x) → (∀zP(z, b))),P(a, f (a)) ∧ P( f (b), b)}. En el caso de que no lo sea, construir a partir de la resolución un modelo de Herbrand de S que no sea modelo de la fórmula.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=321</id>
		<title>R16</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=321"/>
		<updated>2015-05-22T07:41:41Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 16: Resolución en Lógica de primer orden  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:&lt;br /&gt;
&lt;br /&gt;
  reflexiva:  ∀x R(x,x)&lt;br /&gt;
  simétrica:  ∀x ∀y (R(x,y) → R(y,x))&lt;br /&gt;
  transitiva: ∀x ∀y ∀z (R(x,y) ∧ R(y,z) → R(x,z))&lt;br /&gt;
  notrivial:  ∀x ∃ R(x,y)&lt;br /&gt;
&lt;br /&gt;
* Demostrar que reflexiva no es consecuencia lógica de {transitiva, simétrica}.&lt;br /&gt;
* Demostrar por resolución que {transitiva, simétrica, notrivial}⊧ reflexiva.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Demostrar, por resolución, que si toda persona rica tiene un padre rico, entonces existe una persona rica que tiene un abuelo rico. Usar la relación R(x) para representar que x es rico, y la función p(x) para representar el padre de x.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación: “Hay estudiantes &lt;br /&gt;
inteligentes y hay estudiantes trabajadores. Por tanto, hay estudiantes &lt;br /&gt;
inteligentes y trabajadores”.&lt;br /&gt;
&lt;br /&gt;
* Formalizar la argumentación usando los siguientes símbolos: P(x) para representar que x es un estudiante inteligente y Q(x) para representar que x es un estudiante trabajador.&lt;br /&gt;
* Decidir, mediante resolución, la validez de la argumentación mostrando una prueba o un contramodelo de Herbrand obtenido a partir de la resolución.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan al menos dos elementos.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan dos elementos como máximo.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente dos elementos.&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente tres elementos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación:&lt;br /&gt;
&lt;br /&gt;
Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero que le impida el paso. A algunas personas motorizadas que intentan entrar en un país le impiden el paso únicamente personas motorizadas. Ninguna persona  motorizada tiene pasaporte. Por tanto, ciertos aduaneros están motorizados.&lt;br /&gt;
&lt;br /&gt;
Las premisas pueden formalizarse por:&lt;br /&gt;
 ∀x(E(x) ∧ ¬P(x) → ∃y(A(y) ∧ I(y, x)))&lt;br /&gt;
 ∃x(M(x) ∧ E(x) ∧ ∀y(I(y, x) → M(y)))&lt;br /&gt;
 ∀x(M(x) → ¬P(x))&lt;br /&gt;
&lt;br /&gt;
Decidir mediante resolución si el argumento es correcto.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 6.&amp;#039;&amp;#039;&amp;#039; Decidir por resolución si la la fórmula &lt;br /&gt;
∃x(P(x, a) ∧ P( f (x), b)) es consecuencia del conjunto de fórmulas&lt;br /&gt;
S = { ∀x(P(a, x) → P(b, f (x))), ∀x(P( f (x), x) → (∀zP(z, b))),&lt;br /&gt;
     P(a, f (a)) ∧ P( f (b), b)}&lt;br /&gt;
&lt;br /&gt;
En el caso de que no lo sea, construir a partir de la resolución un &lt;br /&gt;
modelo de Herbrand de S que no sea modelo de la fórmula.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=320</id>
		<title>R16</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=320"/>
		<updated>2015-05-22T07:40:05Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 16: Resolución en Lógica de primer orden  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:&lt;br /&gt;
&lt;br /&gt;
  reflexiva:  ∀x R(x,x)&lt;br /&gt;
  simétrica:  ∀x ∀y (R(x,y) → R(y,x))&lt;br /&gt;
  transitiva: ∀x ∀y ∀z (R(x,y) ∧ R(y,z) → R(x,z))&lt;br /&gt;
  notrivial:  ∀x ∃ R(x,y)&lt;br /&gt;
&lt;br /&gt;
* Demostrar que reflexiva no es consecuencia lógica de {transitiva, simétrica}.&lt;br /&gt;
* Demostrar por resolución que {transitiva, simétrica, notrivial}⊧ reflexiva.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Demostrar, por resolución, que si toda persona rica tiene un padre rico, entonces existe una persona rica que tiene un abuelo rico. Usar la relación R(x) para representar que x es rico, y la función p(x) para representar el padre de x.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación: “Hay estudiantes &lt;br /&gt;
inteligentes y hay estudiantes trabajadores. Por tanto, hay estudiantes &lt;br /&gt;
inteligentes y trabajadores”.&lt;br /&gt;
&lt;br /&gt;
* Formalizar la argumentación usando los siguientes símbolos: P(x) para representar que x es un estudiante inteligente y Q(x) para representar que x es un estudiante trabajador.&lt;br /&gt;
* Decidir, mediante resolución, la validez de la argumentación mostrando una prueba o un contramodelo de Herbrand obtenido a partir de la resolución.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan al menos&lt;br /&gt;
  dos elementos.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan dos &lt;br /&gt;
  elementos como máximo.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente&lt;br /&gt;
  dos elementos.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente&lt;br /&gt;
  tres elementos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación:&lt;br /&gt;
&lt;br /&gt;
Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero&lt;br /&gt;
que le impida el paso. A algunas personas motorizadas que intentan entrar en un &lt;br /&gt;
país le impiden el paso únicamente personas motorizadas. Ninguna persona &lt;br /&gt;
motorizada tiene pasaporte. Por tanto, ciertos aduaneros están motorizados.&lt;br /&gt;
Las premisas pueden formalizarse por:&lt;br /&gt;
1. ∀x(E(x) ∧ ¬P(x) → ∃y(A(y) ∧ I(y, x)))&lt;br /&gt;
2. ∃x(M(x) ∧ E(x) ∧ ∀y(I(y, x) → M(y)))&lt;br /&gt;
3. ∀x(M(x) → ¬P(x))&lt;br /&gt;
&lt;br /&gt;
Decidir mediante resolución si el argumento es correcto.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 6.&amp;#039;&amp;#039;&amp;#039; Decidir por resolución si la la fórmula &lt;br /&gt;
∃x(P(x, a) ∧ P( f (x), b)) es consecuencia del conjunto de fórmulas&lt;br /&gt;
S = { ∀x(P(a, x) → P(b, f (x))), ∀x(P( f (x), x) → (∀zP(z, b))),&lt;br /&gt;
     P(a, f (a)) ∧ P( f (b), b)}&lt;br /&gt;
&lt;br /&gt;
En el caso de que no lo sea, construir a partir de la resolución un &lt;br /&gt;
modelo de Herbrand de S que no sea modelo de la fórmula.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=319</id>
		<title>R16</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=319"/>
		<updated>2015-05-22T07:38:56Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 16: Resolución en Lógica de primer orden  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:&lt;br /&gt;
&lt;br /&gt;
  reflexiva:  ∀x R(x,x)&lt;br /&gt;
  simétrica:  ∀x ∀y (R(x,y) → R(y,x))&lt;br /&gt;
  transitiva: ∀x ∀y ∀z (R(x,y) ∧ R(y,z) → R(x,z))&lt;br /&gt;
  notrivial:  ∀x ∃ R(x,y)&lt;br /&gt;
&lt;br /&gt;
* Demostrar que reflexiva no es consecuencia lógica de {transitiva, simétrica}.&lt;br /&gt;
* Demostrar por resolución que {transitiva, simétrica, notrivial}⊧ reflexiva.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Demostrar, por resolución, que si toda persona rica tiene un &lt;br /&gt;
padre rico, entonces existe una persona rica que tiene un abuelo rico.&lt;br /&gt;
Usar la relación R(x) para representar que x es rico, y la función p(x) para&lt;br /&gt;
representar el padre de x.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación: “Hay estudiantes &lt;br /&gt;
inteligentes y hay estudiantes trabajadores. Por tanto, hay estudiantes &lt;br /&gt;
inteligentes y trabajadores”.&lt;br /&gt;
&lt;br /&gt;
* Formalizar la argumentación usando los siguientes símbolos: P(x) para &lt;br /&gt;
representar que x es un estudiante inteligente y Q(x) para representar &lt;br /&gt;
que x es un estudiante trabajador.&lt;br /&gt;
* Decidir, mediante resolución, la validez de la argumentación mostrando &lt;br /&gt;
una prueba o un contramodelo de Herbrand obtenido a partir de la resolución.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan al menos&lt;br /&gt;
  dos elementos.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan dos &lt;br /&gt;
  elementos como máximo.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente&lt;br /&gt;
  dos elementos.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente&lt;br /&gt;
  tres elementos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación:&lt;br /&gt;
&lt;br /&gt;
Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero&lt;br /&gt;
que le impida el paso. A algunas personas motorizadas que intentan entrar en un &lt;br /&gt;
país le impiden el paso únicamente personas motorizadas. Ninguna persona &lt;br /&gt;
motorizada tiene pasaporte. Por tanto, ciertos aduaneros están motorizados.&lt;br /&gt;
Las premisas pueden formalizarse por:&lt;br /&gt;
1. ∀x(E(x) ∧ ¬P(x) → ∃y(A(y) ∧ I(y, x)))&lt;br /&gt;
2. ∃x(M(x) ∧ E(x) ∧ ∀y(I(y, x) → M(y)))&lt;br /&gt;
3. ∀x(M(x) → ¬P(x))&lt;br /&gt;
&lt;br /&gt;
Decidir mediante resolución si el argumento es correcto.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 6.&amp;#039;&amp;#039;&amp;#039; Decidir por resolución si la la fórmula &lt;br /&gt;
∃x(P(x, a) ∧ P( f (x), b)) es consecuencia del conjunto de fórmulas&lt;br /&gt;
S = { ∀x(P(a, x) → P(b, f (x))), ∀x(P( f (x), x) → (∀zP(z, b))),&lt;br /&gt;
     P(a, f (a)) ∧ P( f (b), b)}&lt;br /&gt;
&lt;br /&gt;
En el caso de que no lo sea, construir a partir de la resolución un &lt;br /&gt;
modelo de Herbrand de S que no sea modelo de la fórmula.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=318</id>
		<title>R16</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=318"/>
		<updated>2015-05-22T07:38:27Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 16: Resolución en Lógica de primer orden  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:&lt;br /&gt;
&lt;br /&gt;
  reflexiva:  ∀x R(x,x)&lt;br /&gt;
  &lt;br /&gt;
  simétrica:  ∀x ∀y (R(x,y) → R(y,x))&lt;br /&gt;
  &lt;br /&gt;
  transitiva: ∀x ∀y ∀z (R(x,y) ∧ R(y,z) → R(x,z))&lt;br /&gt;
  &lt;br /&gt;
  notrivial:  ∀x ∃ R(x,y)&lt;br /&gt;
&lt;br /&gt;
* Demostrar que reflexiva no es consecuencia lógica de {transitiva, simétrica}.&lt;br /&gt;
* Demostrar por resolución que {transitiva, simétrica, notrivial}⊧ reflexiva.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Demostrar, por resolución, que si toda persona rica tiene un &lt;br /&gt;
padre rico, entonces existe una persona rica que tiene un abuelo rico.&lt;br /&gt;
Usar la relación R(x) para representar que x es rico, y la función p(x) para&lt;br /&gt;
representar el padre de x.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación: “Hay estudiantes &lt;br /&gt;
inteligentes y hay estudiantes trabajadores. Por tanto, hay estudiantes &lt;br /&gt;
inteligentes y trabajadores”.&lt;br /&gt;
&lt;br /&gt;
* Formalizar la argumentación usando los siguientes símbolos: P(x) para &lt;br /&gt;
representar que x es un estudiante inteligente y Q(x) para representar &lt;br /&gt;
que x es un estudiante trabajador.&lt;br /&gt;
* Decidir, mediante resolución, la validez de la argumentación mostrando &lt;br /&gt;
una prueba o un contramodelo de Herbrand obtenido a partir de la resolución.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan al menos&lt;br /&gt;
  dos elementos.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan dos &lt;br /&gt;
  elementos como máximo.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente&lt;br /&gt;
  dos elementos.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente&lt;br /&gt;
  tres elementos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación:&lt;br /&gt;
&lt;br /&gt;
Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero&lt;br /&gt;
que le impida el paso. A algunas personas motorizadas que intentan entrar en un &lt;br /&gt;
país le impiden el paso únicamente personas motorizadas. Ninguna persona &lt;br /&gt;
motorizada tiene pasaporte. Por tanto, ciertos aduaneros están motorizados.&lt;br /&gt;
Las premisas pueden formalizarse por:&lt;br /&gt;
1. ∀x(E(x) ∧ ¬P(x) → ∃y(A(y) ∧ I(y, x)))&lt;br /&gt;
2. ∃x(M(x) ∧ E(x) ∧ ∀y(I(y, x) → M(y)))&lt;br /&gt;
3. ∀x(M(x) → ¬P(x))&lt;br /&gt;
&lt;br /&gt;
Decidir mediante resolución si el argumento es correcto.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 6.&amp;#039;&amp;#039;&amp;#039; Decidir por resolución si la la fórmula &lt;br /&gt;
∃x(P(x, a) ∧ P( f (x), b)) es consecuencia del conjunto de fórmulas&lt;br /&gt;
S = { ∀x(P(a, x) → P(b, f (x))), ∀x(P( f (x), x) → (∀zP(z, b))),&lt;br /&gt;
     P(a, f (a)) ∧ P( f (b), b)}&lt;br /&gt;
&lt;br /&gt;
En el caso de que no lo sea, construir a partir de la resolución un &lt;br /&gt;
modelo de Herbrand de S que no sea modelo de la fórmula.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=317</id>
		<title>R16</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R16&amp;diff=317"/>
		<updated>2015-05-22T07:37:17Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039; === Relación 16: Resolución en Lógica de primer orden  ===  ---- &amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:  reflexiva:  ∀x R(x,x) simétrica:  ∀x ∀y (...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Relación 16: Resolución en Lógica de primer orden  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Se consideran las siguientes fórmulas:&lt;br /&gt;
&lt;br /&gt;
reflexiva:  ∀x R(x,x)&lt;br /&gt;
simétrica:  ∀x ∀y (R(x,y) → R(y,x))&lt;br /&gt;
transitiva: ∀x ∀y ∀z (R(x,y) ∧ R(y,z) → R(x,z))&lt;br /&gt;
notrivial:  ∀x ∃ R(x,y)&lt;br /&gt;
&lt;br /&gt;
* Demostrar que reflexiva no es consecuencia lógica de {transitiva, simétrica}.&lt;br /&gt;
* Demostrar por resolución que {transitiva, simétrica, notrivial}⊧ reflexiva.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Demostrar, por resolución, que si toda persona rica tiene un &lt;br /&gt;
padre rico, entonces existe una persona rica que tiene un abuelo rico.&lt;br /&gt;
Usar la relación R(x) para representar que x es rico, y la función p(x) para&lt;br /&gt;
representar el padre de x.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación: “Hay estudiantes &lt;br /&gt;
inteligentes y hay estudiantes trabajadores. Por tanto, hay estudiantes &lt;br /&gt;
inteligentes y trabajadores”.&lt;br /&gt;
&lt;br /&gt;
* Formalizar la argumentación usando los siguientes símbolos: P(x) para &lt;br /&gt;
representar que x es un estudiante inteligente y Q(x) para representar &lt;br /&gt;
que x es un estudiante trabajador.&lt;br /&gt;
* Decidir, mediante resolución, la validez de la argumentación mostrando &lt;br /&gt;
una prueba o un contramodelo de Herbrand obtenido a partir de la resolución.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan al menos&lt;br /&gt;
  dos elementos.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan dos &lt;br /&gt;
  elementos como máximo.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente&lt;br /&gt;
  dos elementos.&lt;br /&gt;
&lt;br /&gt;
* Dar un ejemplo de una fórmula F tal que todos sus modelos tengan exactamente&lt;br /&gt;
  tres elementos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Se considera la siguiente argumentación:&lt;br /&gt;
&lt;br /&gt;
Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero&lt;br /&gt;
que le impida el paso. A algunas personas motorizadas que intentan entrar en un &lt;br /&gt;
país le impiden el paso únicamente personas motorizadas. Ninguna persona &lt;br /&gt;
motorizada tiene pasaporte. Por tanto, ciertos aduaneros están motorizados.&lt;br /&gt;
Las premisas pueden formalizarse por:&lt;br /&gt;
1. ∀x(E(x) ∧ ¬P(x) → ∃y(A(y) ∧ I(y, x)))&lt;br /&gt;
2. ∃x(M(x) ∧ E(x) ∧ ∀y(I(y, x) → M(y)))&lt;br /&gt;
3. ∀x(M(x) → ¬P(x))&lt;br /&gt;
&lt;br /&gt;
Decidir mediante resolución si el argumento es correcto.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 6.&amp;#039;&amp;#039;&amp;#039; Decidir por resolución si la la fórmula &lt;br /&gt;
∃x(P(x, a) ∧ P( f (x), b)) es consecuencia del conjunto de fórmulas&lt;br /&gt;
S = { ∀x(P(a, x) → P(b, f (x))), ∀x(P( f (x), x) → (∀zP(z, b))),&lt;br /&gt;
     P(a, f (a)) ∧ P( f (b), b)}&lt;br /&gt;
&lt;br /&gt;
En el caso de que no lo sea, construir a partir de la resolución un &lt;br /&gt;
modelo de Herbrand de S que no sea modelo de la fórmula.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=316</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=316"/>
		<updated>2015-05-22T07:36:57Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 16&amp;#039;&amp;#039;&amp;#039;: Resolución en lógica de primer orden.([[R16 |Enunciado]] y [[Relación 16 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=315</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=315"/>
		<updated>2015-05-18T16:05:14Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R12_sol&amp;diff=314</id>
		<title>R12 sol</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R12_sol&amp;diff=314"/>
		<updated>2015-05-18T16:04:59Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt; -- ResolucionProposicional.hs -- Resolución proposicional. -- ---------------------------------------------------------------------  module Resolucion...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- ResolucionProposicional.hs&lt;br /&gt;
-- Resolución proposicional.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
module ResolucionProposicional where&lt;br /&gt;
&lt;br /&gt;
import SintaxisSemantica&lt;br /&gt;
import FormasNormales&lt;br /&gt;
import Clausulas&lt;br /&gt;
import Data.List&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Resolventes                                                        --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir la función&lt;br /&gt;
--    resolvente :: Cláusula -&amp;gt; Cláusula -&amp;gt; Literal -&amp;gt; Cláusula&lt;br /&gt;
-- tal que (resolvente c1 c2 l) es la resolvente de c1 y c2 respecto del&lt;br /&gt;
-- literal l. Por ejemplo,&lt;br /&gt;
--    resolvente [no p,q] [no q,r] q  ==&amp;gt;  [no p,r]&lt;br /&gt;
--    resolvente [no p,no q] [q,r] (no q)  ==&amp;gt;  [no p,r]&lt;br /&gt;
--    resolvente [no p,q] [no p,no q] q  ==&amp;gt;  [no p]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
resolvente :: Cláusula -&amp;gt; Cláusula -&amp;gt; Literal -&amp;gt; Cláusula&lt;br /&gt;
resolvente c1 c2 l =&lt;br /&gt;
    union (delete l c1) (delete (complementario l) c2) &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir la función&lt;br /&gt;
--    resolventes :: Cláusula -&amp;gt; Cláusula -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (resolventes c1 c2) es el conjunto de las resolventes de c1 y&lt;br /&gt;
-- c2. Por ejemplo,&lt;br /&gt;
--    resolventes [no p,q] [p,no q]  ==&amp;gt;  [[q,no q],[no p,p]]&lt;br /&gt;
--    resolventes [no p,q] [p,q]     ==&amp;gt;  [[q]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
resolventes :: Cláusula -&amp;gt; Cláusula -&amp;gt; [Cláusula]&lt;br /&gt;
resolventes c1 c2 =&lt;br /&gt;
    [resolvente c1 c2 l | l &amp;lt;- c1, (complementario l) `elem` c2]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3: Definir la función&lt;br /&gt;
--    resolventesCláusulaConjunto :: Cláusula -&amp;gt; [Cláusula] -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (resolventes c s) es el conjunto de las resolventes de c y&lt;br /&gt;
-- s. Por ejemplo, &lt;br /&gt;
--    resolventesCláusulaConjunto [no p,q] [[p,q],[p,r],[no q,s]]&lt;br /&gt;
--    ==&amp;gt; [[q],[q,r],[no p,s]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
resolventesCláusulaConjunto :: Cláusula -&amp;gt; [Cláusula] -&amp;gt; [Cláusula]&lt;br /&gt;
resolventesCláusulaConjunto c s =&lt;br /&gt;
    uniónGeneral [resolventes c c1 | c1 &amp;lt;- s]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Eliminación de tautologías                                         --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir la función&lt;br /&gt;
--    esTautología :: Cláusula -&amp;gt; Bool&lt;br /&gt;
-- tal que (esTautología c) se verifica si c es una tautología. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esTautología [p, q, no p]  ==&amp;gt;  True&lt;br /&gt;
--    esTautología [p, q, no r]  ==&amp;gt;  False&lt;br /&gt;
--    esTautología []            ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esTautología :: Cláusula -&amp;gt; Bool&lt;br /&gt;
esTautología c = &lt;br /&gt;
    [f | f &amp;lt;- c, elem (complementario f) c] /= []&lt;br /&gt;
&lt;br /&gt;
esTautología2 :: Cláusula -&amp;gt; Bool&lt;br /&gt;
esTautología2 c = &lt;br /&gt;
   or [elem (complementario f) c | f &amp;lt;- c]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir la función&lt;br /&gt;
--    eliminaTautologías :: [Cláusula] -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (eliminaTautologías s) es el conjunto obtenido eliminando las&lt;br /&gt;
-- tautologías de s. Por ejemplo,&lt;br /&gt;
--    eliminaTautologías [[p, q], [p, q, no p]]  ==&amp;gt;  [[p,q]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
eliminaTautologías :: [Cláusula] -&amp;gt; [Cláusula]&lt;br /&gt;
eliminaTautologías s =&lt;br /&gt;
    [c | c &amp;lt;- s, not (esTautología c)]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Decisión de inconsistencia por resolución                          --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4: Definir la función&lt;br /&gt;
--    esInconsistentePorResolución :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esInconsistentePorResolución s) se verifica si s es&lt;br /&gt;
-- inconsistente mediante resolución. Por ejemplo,&lt;br /&gt;
--    esInconsistentePorResolución [[p],[no p,q],[no q]]&lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esInconsistentePorResolución [[p],[no p,q]]&lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
--    esInconsistentePorResolución [[p,q],[no p,q],[p,no q],[no p,no q]]&lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esInconsistentePorResolución [[p,q],[p,r],[no q,no r],[no p]]&lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esInconsistentePorResolución :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
esInconsistentePorResolución s =&lt;br /&gt;
    esInconsistentePorResolución&amp;#039; s []&lt;br /&gt;
&lt;br /&gt;
esInconsistentePorResolución&amp;#039; :: [Cláusula] -&amp;gt; [Cláusula] -&amp;gt; Bool&lt;br /&gt;
esInconsistentePorResolución&amp;#039; soporte usables &lt;br /&gt;
    | null soporte    = False&lt;br /&gt;
    | elem [] soporte = True&lt;br /&gt;
    | otherwise       =&lt;br /&gt;
        esInconsistentePorResolución&amp;#039; soporte&amp;#039; usables&amp;#039;&lt;br /&gt;
        where actual   = head soporte&lt;br /&gt;
              usables&amp;#039; = union [actual] usables&lt;br /&gt;
              soporte&amp;#039; = union (tail soporte)&lt;br /&gt;
                               [c &lt;br /&gt;
                                | c &amp;lt;- resolventesCláusulaConjunto&lt;br /&gt;
                                       actual &lt;br /&gt;
                                       usables&amp;#039;&lt;br /&gt;
                                , not (esTautología c)&lt;br /&gt;
                                , notElem c soporte&lt;br /&gt;
                                , notElem c usables&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Validez mediante resolución                                        --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5: Definir la función&lt;br /&gt;
--    esVálidaPorResolución :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esVálidaPorResolución f) se verifica si f es válida por&lt;br /&gt;
-- resolución. Por ejemplo, &lt;br /&gt;
--    esVálidaPorResolución (p --&amp;gt; p)                 ==&amp;gt;  True&lt;br /&gt;
--    esVálidaPorResolución ((p --&amp;gt; q) \/ (q --&amp;gt; p))  ==&amp;gt;  True&lt;br /&gt;
--    esVálidaPorResolución (p --&amp;gt; q)                 ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esVálidaPorResolución :: Prop -&amp;gt; Bool&lt;br /&gt;
esVálidaPorResolución f =&lt;br /&gt;
    esInconsistentePorResolución &lt;br /&gt;
    (eliminaTautologías (cláusulas (Neg f)))&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Consecuencia mediante resolución                                   --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6: Definir la función&lt;br /&gt;
--    esConsecuenciaPorResolución :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConsecuenciaPorResolución s f) se verifica si f es&lt;br /&gt;
-- consecuencia de s mediante el método de resolución. Por ejemplo,&lt;br /&gt;
--    esConsecuenciaPorResolución [p --&amp;gt; q, q --&amp;gt; r] (p --&amp;gt; r)  &lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esConsecuenciaPorResolución [p --&amp;gt; q, q --&amp;gt; r] (p &amp;lt;--&amp;gt; r)&lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConsecuenciaPorResolución :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esConsecuenciaPorResolución s f =&lt;br /&gt;
    esInconsistentePorResolución &lt;br /&gt;
    (eliminaTautologías (cláusulasConjunto ((Neg f):s)))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=313</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=313"/>
		<updated>2015-05-18T16:04:17Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[R12 sol | Una solución ]])).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Una_soluci%C3%B3n&amp;diff=312</id>
		<title>Una solución</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Una_soluci%C3%B3n&amp;diff=312"/>
		<updated>2015-05-18T16:03:29Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- FormasNormales.hs&lt;br /&gt;
-- Formas normales.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
module FormasNormales where&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Librería suxiliares                                                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import SintaxisSemantica &lt;br /&gt;
import Data.List&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Equivalencia lógica                                                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir la función&lt;br /&gt;
--    esEquivalente :: Prop -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esEquivalente f g) se verifica si f y g son&lt;br /&gt;
-- equivalentes. Por ejemplo,&lt;br /&gt;
--    esEquivalente (p &amp;lt;--&amp;gt; q) ((p --&amp;gt; q) /\ (q --&amp;gt; p))  ==&amp;gt;  True&lt;br /&gt;
--    esEquivalente (p --&amp;gt; q)  ((no p) \/ q)             ==&amp;gt;  True&lt;br /&gt;
--    esEquivalente (p /\ q)   (no ((no p) \/ (no q)))   ==&amp;gt;  True&lt;br /&gt;
--    esEquivalente (p \/ q)   (no ((no p) /\ (no q)))   ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esEquivalente :: Prop -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esEquivalente f g = esVálida (Equi f g)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Transformación a forma normal negativa                             --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir la función&lt;br /&gt;
--    eliminaEquivalencias :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (eliminaEquivalencias f) es una fórmula equivalente a f sin&lt;br /&gt;
-- signos de equivalencia. Por ejemplo,&lt;br /&gt;
--    eliminaEquivalencias (p &amp;lt;--&amp;gt; q)&lt;br /&gt;
--    ==&amp;gt; ((p --&amp;gt; q) /\ (q --&amp;gt; p))&lt;br /&gt;
--    eliminaEquivalencias ((p &amp;lt;--&amp;gt; q) /\ (q &amp;lt;--&amp;gt; r))&lt;br /&gt;
--    ==&amp;gt; (((p --&amp;gt; q) /\ (q --&amp;gt; p)) /\ ((q --&amp;gt; r) /\ (r --&amp;gt; q)))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
eliminaEquivalencias :: Prop -&amp;gt; Prop&lt;br /&gt;
eliminaEquivalencias (Atom f)   = &lt;br /&gt;
    (Atom f)&lt;br /&gt;
eliminaEquivalencias (Neg f)    = &lt;br /&gt;
    Neg (eliminaEquivalencias f) &lt;br /&gt;
eliminaEquivalencias (Conj f g) = &lt;br /&gt;
    Conj (eliminaEquivalencias f) (eliminaEquivalencias g) &lt;br /&gt;
eliminaEquivalencias (Disj f g) = &lt;br /&gt;
    Disj (eliminaEquivalencias f) (eliminaEquivalencias g) &lt;br /&gt;
eliminaEquivalencias (Impl f g) = &lt;br /&gt;
    Impl (eliminaEquivalencias f) (eliminaEquivalencias g) &lt;br /&gt;
eliminaEquivalencias (Equi f g) = &lt;br /&gt;
    Conj (Impl (eliminaEquivalencias f) (eliminaEquivalencias g))&lt;br /&gt;
         (Impl (eliminaEquivalencias g) (eliminaEquivalencias f))&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3: Definir la función&lt;br /&gt;
--    eliminaImplicaciones :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (eliminaImplicaciones f) es una fórmula equivalente a f sin&lt;br /&gt;
-- signos de implicación. Por ejemplo,&lt;br /&gt;
--    eliminaImplicaciones (p --&amp;gt; q)&lt;br /&gt;
--    ==&amp;gt; (no p \/ q)&lt;br /&gt;
--    eliminaImplicaciones (eliminaEquivalencias (p &amp;lt;--&amp;gt; q))&lt;br /&gt;
--    ==&amp;gt; ((no p \/ q) /\ (no q \/ p))&lt;br /&gt;
-- Nota: Se supone que f no tiene signos de equivalencia.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
eliminaImplicaciones :: Prop -&amp;gt; Prop&lt;br /&gt;
eliminaImplicaciones (Atom f)   = &lt;br /&gt;
    (Atom f)&lt;br /&gt;
eliminaImplicaciones (Neg f)    = &lt;br /&gt;
    Neg (eliminaImplicaciones f) &lt;br /&gt;
eliminaImplicaciones (Conj f g) = &lt;br /&gt;
    Conj (eliminaImplicaciones f) (eliminaImplicaciones g) &lt;br /&gt;
eliminaImplicaciones (Disj f g) = &lt;br /&gt;
    Disj (eliminaImplicaciones f) (eliminaImplicaciones g) &lt;br /&gt;
eliminaImplicaciones (Impl f g) = &lt;br /&gt;
    Disj (Neg (eliminaImplicaciones f)) (eliminaImplicaciones g) &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4: Definir la función&lt;br /&gt;
--    interiorizaNegación :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (interiorizaNegación f) es una fórmula equivalente a f donde&lt;br /&gt;
-- las negaciones se aplican sólo a fórmulas atómicas. Por ejemplo,&lt;br /&gt;
--    interiorizaNegación (no (no p))         ==&amp;gt;  p&lt;br /&gt;
--    interiorizaNegación (no (p /\ q))       ==&amp;gt;  (no p \/ no q)&lt;br /&gt;
--    interiorizaNegación (no (p \/ q))       ==&amp;gt;  (no p /\ no q)&lt;br /&gt;
--    interiorizaNegación (no (no (p \/ q)))  ==&amp;gt;  (p \/ q)&lt;br /&gt;
--    interiorizaNegación (no ((no p) \/ q))  ==&amp;gt;  (p /\ no q)&lt;br /&gt;
-- Nota: Se supone que f no tiene equivalencias ni implicaciones. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interiorizaNegación :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaNegación (Atom f)   = &lt;br /&gt;
    (Atom f)&lt;br /&gt;
interiorizaNegación (Neg f)    = &lt;br /&gt;
    interiorizaNegaciónAux f&lt;br /&gt;
interiorizaNegación (Conj f g) = &lt;br /&gt;
    Conj (interiorizaNegación f) (interiorizaNegación g) &lt;br /&gt;
interiorizaNegación (Disj f g) = &lt;br /&gt;
    Disj (interiorizaNegación f) (interiorizaNegación g) &lt;br /&gt;
&lt;br /&gt;
interiorizaNegaciónAux :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaNegaciónAux (Atom f)   = &lt;br /&gt;
    Neg (Atom f)&lt;br /&gt;
interiorizaNegaciónAux (Neg f)    = &lt;br /&gt;
    interiorizaNegación f &lt;br /&gt;
interiorizaNegaciónAux (Conj f g) = &lt;br /&gt;
    Disj (interiorizaNegaciónAux f) (interiorizaNegaciónAux g) &lt;br /&gt;
interiorizaNegaciónAux (Disj f g) = &lt;br /&gt;
    Conj (interiorizaNegaciónAux f) (interiorizaNegaciónAux g) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5: Definir la función&lt;br /&gt;
--    formaNormalNegativa :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (formaNormalNegativa f) es una fórmula equivalente a f en&lt;br /&gt;
-- forma normal negativa. Por ejemplo,&lt;br /&gt;
--    formaNormalNegativa (p &amp;lt;--&amp;gt; q)&lt;br /&gt;
--    ==&amp;gt; ((no p \/ q) /\ (no q \/ p))&lt;br /&gt;
--    formaNormalNegativa ((p \/ (no q)) --&amp;gt; r)&lt;br /&gt;
--    ==&amp;gt; ((no p /\ q) \/ r)&lt;br /&gt;
--    formaNormalNegativa ((p /\ (q --&amp;gt; r)) --&amp;gt; s)&lt;br /&gt;
--    ==&amp;gt; ((no p \/ (q /\ no r)) \/ s)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
formaNormalNegativa :: Prop -&amp;gt; Prop&lt;br /&gt;
formaNormalNegativa f =&lt;br /&gt;
    interiorizaNegación (eliminaImplicaciones (eliminaEquivalencias f))&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Literales                                                          --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6: Definir la función&lt;br /&gt;
--    literal :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (literal f) se verifica si la fórmula F es un literal. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    literal p               ==&amp;gt;  True&lt;br /&gt;
--    literal (no p)          ==&amp;gt;  True&lt;br /&gt;
--    literal (no (p --&amp;gt; q))  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
literal :: Prop -&amp;gt; Bool&lt;br /&gt;
literal (Atom f)       = True&lt;br /&gt;
literal (Neg (Atom f)) = True&lt;br /&gt;
literal _              = False&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7: Definir el tipo de dato Literal como sinónimo de&lt;br /&gt;
-- fórmula. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
type Literal = Prop&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8: Definir la función&lt;br /&gt;
--    complementario :: Literal -&amp;gt; Literal&lt;br /&gt;
-- tal que (complementario l) es el complementario de l. Por ejemplo,&lt;br /&gt;
--    complementario p       ==&amp;gt;  no p&lt;br /&gt;
--    complementario (no p)  ==&amp;gt;  p&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
complementario :: Literal -&amp;gt; Literal&lt;br /&gt;
complementario (Atom f)       = Neg (Atom f)&lt;br /&gt;
complementario (Neg (Atom f)) = Atom f&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9: Definir la función&lt;br /&gt;
--    literalesFórmulaFNN :: Prop -&amp;gt; [Literal]&lt;br /&gt;
-- tal que (literalesFórmulaFNN f) es el conjunto de los literales de la&lt;br /&gt;
-- fórmula en forma normal negativa f.&lt;br /&gt;
--    literalesFórmulaFNN (p \/ ((no q) \/ r))  ==&amp;gt;  [p,no q,r]&lt;br /&gt;
--    literalesFórmulaFNN p                     ==&amp;gt;  [p]&lt;br /&gt;
--    literalesFórmulaFNN (no p)                ==&amp;gt;  [no p]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
literalesFórmulaFNN :: Prop -&amp;gt; [Literal]&lt;br /&gt;
literalesFórmulaFNN (Disj f g) =&lt;br /&gt;
    (literalesFórmulaFNN f) `union` (literalesFórmulaFNN g)&lt;br /&gt;
literalesFórmulaFNN (Conj f g) =&lt;br /&gt;
    (literalesFórmulaFNN f) `union` (literalesFórmulaFNN g)&lt;br /&gt;
literalesFórmulaFNN f          = [f]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Transformación a forma normal conjuntiva                           --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10: Definir la función&lt;br /&gt;
--    interiorizaDisyunción :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (interiorizaDisyunción f) es una fórmula equivalente a f&lt;br /&gt;
-- donde las disyunciones sólo se aplica a disyunciones o literales. Por&lt;br /&gt;
-- ejemplo,  &lt;br /&gt;
--    interiorizaDisyunción (p \/ (q /\ r))  ==&amp;gt;  ((p \/ q) /\ (p \/ r))&lt;br /&gt;
--    interiorizaDisyunción ((p /\ q) \/ r)  ==&amp;gt;  ((p \/ r) /\ (q \/ r))&lt;br /&gt;
-- Nota: Se supone que f está en forma normal negativa.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interiorizaDisyunción :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaDisyunción (Disj (Conj f1 f2) g) =&lt;br /&gt;
    interiorizaDisyunción &lt;br /&gt;
    (Conj (Disj (interiorizaDisyunción f1) (interiorizaDisyunción g))&lt;br /&gt;
          (Disj (interiorizaDisyunción f2) (interiorizaDisyunción g)))&lt;br /&gt;
interiorizaDisyunción (Disj f (Conj g1 g2)) =&lt;br /&gt;
    interiorizaDisyunción&lt;br /&gt;
    (Conj (Disj (interiorizaDisyunción f) (interiorizaDisyunción g1))&lt;br /&gt;
          (Disj (interiorizaDisyunción f) (interiorizaDisyunción g2)))&lt;br /&gt;
interiorizaDisyunción (Conj f g) =&lt;br /&gt;
    Conj (interiorizaDisyunción f) (interiorizaDisyunción g)&lt;br /&gt;
interiorizaDisyunción f = f&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11: Definir la función&lt;br /&gt;
--    formaNormalConjuntiva :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (formaNormalConjuntiva f) es una fórmula equivalente a f en&lt;br /&gt;
-- forma normal conjuntiva. Por ejemplo,&lt;br /&gt;
--    formaNormalConjuntiva (p /\ (q --&amp;gt; r))&lt;br /&gt;
--    ==&amp;gt; (p /\ (no q \/ r))&lt;br /&gt;
--    formaNormalConjuntiva (no (p /\ (q --&amp;gt; r)))&lt;br /&gt;
--    ==&amp;gt; ((no p \/ q) /\ (no p \/ no r))&lt;br /&gt;
--    formaNormalConjuntiva (no(p &amp;lt;--&amp;gt; r))&lt;br /&gt;
--    ==&amp;gt; (((p \/ r) /\ (p \/ no p)) /\ ((no r \/ r) /\ (no r \/ no p)))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
formaNormalConjuntiva :: Prop -&amp;gt; Prop&lt;br /&gt;
formaNormalConjuntiva f =&lt;br /&gt;
    interiorizaDisyunción (formaNormalNegativa f)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- Ejercicio 11.2: Definir la función&lt;br /&gt;
--    validaPorFNC:: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (validaPorFNC f) comprueba si f es válida. Por ejemplo,&lt;br /&gt;
--    validaPorFNC ((p --&amp;gt; q) \/ (q --&amp;gt; p))    == True&lt;br /&gt;
--    validaPorFNC ((p \/ q) /\ ((no q) \/ r)) == False&lt;br /&gt;
--    validaPorFNC (p --&amp;gt; p)                   == True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
validaPorFNC:: Prop -&amp;gt; Bool&lt;br /&gt;
validaPorFNC f = all tieneParComplementario (listaLiterales f)&lt;br /&gt;
    where tieneParComplementario xs = or [(complementario p) `elem` xs | p &amp;lt;- xs]&lt;br /&gt;
&lt;br /&gt;
listaLiterales :: Prop -&amp;gt; [[Prop]]&lt;br /&gt;
listaLiterales f = &lt;br /&gt;
    map listaLiteralesDisyuncion &lt;br /&gt;
            (listaDisyuncionesFNC (formaNormalConjuntiva f))&lt;br /&gt;
&lt;br /&gt;
listaDisyuncionesFNC :: Prop -&amp;gt; [Prop]&lt;br /&gt;
listaDisyuncionesFNC (Conj f g) = (listaDisyuncionesFNC f) `union`&lt;br /&gt;
                                  (listaDisyuncionesFNC g)         &lt;br /&gt;
listaDisyuncionesFNC f = [f]&lt;br /&gt;
&lt;br /&gt;
listaLiteralesDisyuncion :: Prop -&amp;gt; [Prop]&lt;br /&gt;
listaLiteralesDisyuncion (Disj f g) = (listaLiteralesDisyuncion f) `union`&lt;br /&gt;
                                      (listaLiteralesDisyuncion g)&lt;br /&gt;
listaLiteralesDisyuncion f = [f]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Transformación a forma normal disyuntiva                           --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12: Definir la función&lt;br /&gt;
--    interiorizaConjunción :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (interiorizaConjunción f) es una fórmula equivalente a f&lt;br /&gt;
-- donde las conjunciones sólo se aplica a conjunciones o literales. Por&lt;br /&gt;
-- ejemplo,  &lt;br /&gt;
--    interiorizaConjunción (p /\ (q \/ r))  ==&amp;gt;  ((p /\ q) \/ (p /\ r))&lt;br /&gt;
--    interiorizaConjunción ((p \/ q) /\ r)  ==&amp;gt;  ((p /\ r) \/ (q /\ r))&lt;br /&gt;
-- Nota: Se supone que f está en forma normal negativa.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interiorizaConjunción :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaConjunción (Conj (Disj f1 f2) g) =&lt;br /&gt;
    interiorizaConjunción&lt;br /&gt;
    (Disj (Conj (interiorizaConjunción f1) (interiorizaConjunción g))&lt;br /&gt;
          (Conj (interiorizaConjunción f2) (interiorizaConjunción g)))&lt;br /&gt;
interiorizaConjunción (Conj f (Disj g1 g2)) =&lt;br /&gt;
    interiorizaConjunción&lt;br /&gt;
    (Disj (Conj (interiorizaConjunción f) (interiorizaConjunción g1))&lt;br /&gt;
          (Conj (interiorizaConjunción f) (interiorizaConjunción g2)))&lt;br /&gt;
interiorizaConjunción (Disj f g) =&lt;br /&gt;
    Disj (interiorizaConjunción f) (interiorizaConjunción g)&lt;br /&gt;
interiorizaConjunción f = f&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13: Definir la función&lt;br /&gt;
--    formaNormalDisyuntiva :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (formaNormalDisyuntiva f) es una fórmula equivalente a f en&lt;br /&gt;
-- forma normal disyuntiva. Por ejemplo,&lt;br /&gt;
--    formaNormalDisyuntiva (p /\ (q --&amp;gt; r))&lt;br /&gt;
--    ==&amp;gt; ((p /\ no q) \/ (p /\ r))&lt;br /&gt;
--    formaNormalDisyuntiva (no (p /\ (q --&amp;gt; r)))&lt;br /&gt;
--    ==&amp;gt; (no p \/ (q /\ no r))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
formaNormalDisyuntiva :: Prop -&amp;gt; Prop&lt;br /&gt;
formaNormalDisyuntiva f =&lt;br /&gt;
    interiorizaConjunción (formaNormalNegativa f)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 14: Definir la función&lt;br /&gt;
--     satisfaciblePorFND:: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (satisfaciblePorFND f) comprueba si f es satisfacible. Por&lt;br /&gt;
-- ejemplo,&lt;br /&gt;
--     satisfaciblePorFND ((p \/ q) /\ ((no q) \/ r)) == True&lt;br /&gt;
--     satisfaciblePorFND (p /\ (no p))               == False&lt;br /&gt;
--     satisfaciblePorFND ((p --&amp;gt; q) \/ (q --&amp;gt; p))    == True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
satisfaciblePorFND:: Prop -&amp;gt; Bool&lt;br /&gt;
satisfaciblePorFND f = any noTieneParComplementario (listaLiterales&amp;#039; f)&lt;br /&gt;
    where noTieneParComplementario xs = &lt;br /&gt;
              and [not ((complementario p) `elem` xs) | p &amp;lt;- xs]&lt;br /&gt;
&lt;br /&gt;
listaLiterales&amp;#039; :: Prop -&amp;gt; [[Prop]]&lt;br /&gt;
listaLiterales&amp;#039; f = &lt;br /&gt;
    map listaLiteralesConjuncion &lt;br /&gt;
            (listaConjuncionesFND (formaNormalDisyuntiva f))&lt;br /&gt;
&lt;br /&gt;
listaConjuncionesFND :: Prop -&amp;gt; [Prop]&lt;br /&gt;
listaConjuncionesFND (Disj f g) = (listaConjuncionesFND f) `union`&lt;br /&gt;
                                  (listaConjuncionesFND g)         &lt;br /&gt;
listaConjuncionesFND f = [f]&lt;br /&gt;
&lt;br /&gt;
listaLiteralesConjuncion :: Prop -&amp;gt; [Prop]&lt;br /&gt;
listaLiteralesConjuncion (Conj f g) = (listaLiteralesConjuncion f) `union`&lt;br /&gt;
                                      (listaLiteralesConjuncion g)&lt;br /&gt;
listaLiteralesConjuncion f = [f]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R7_sol&amp;diff=311</id>
		<title>R7 sol</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R7_sol&amp;diff=311"/>
		<updated>2015-05-18T16:01:57Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt; -- TablerosSemánticos.hs -- Tableros semánticos proposicionales. -- ---------------------------------------------------------------------  module Tab...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- TablerosSemánticos.hs&lt;br /&gt;
-- Tableros semánticos proposicionales.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
module TablerosSemanticos where&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Librerías auxiliares                                               --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import SintaxisSemantica&lt;br /&gt;
import Data.List &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Literales                                                          --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6: Definir la función&lt;br /&gt;
--    literal :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (literal f) se verifica si la fórmula F es un literal. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    literal p               ==&amp;gt;  True&lt;br /&gt;
--    literal (no p)          ==&amp;gt;  True&lt;br /&gt;
--    literal (no (p --&amp;gt; q))  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
literal :: Prop -&amp;gt; Bool&lt;br /&gt;
literal (Atom f)       = True&lt;br /&gt;
literal (Neg (Atom f)) = True&lt;br /&gt;
literal _              = False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Notación uniforme                                                  --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir la función&lt;br /&gt;
--    dobleNegación :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (dobleNegación f) se verifica si f es una doble negación. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    dobleNegación (no (no p))     ==&amp;gt;  True&lt;br /&gt;
--    dobleNegación (no (p --&amp;gt; q))  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
dobleNegación :: Prop -&amp;gt; Bool&lt;br /&gt;
dobleNegación (Neg (Neg _)) = True&lt;br /&gt;
dobleNegación _             = False&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir la función&lt;br /&gt;
--    alfa :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (alfa f) se verifica si f es una fórmula alfa.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
alfa :: Prop -&amp;gt; Bool&lt;br /&gt;
alfa (Conj _ _)       = True&lt;br /&gt;
alfa (Neg (Impl _ _)) = True&lt;br /&gt;
alfa (Neg (Disj _ _)) = True&lt;br /&gt;
alfa _                = False&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3: Definir la función&lt;br /&gt;
--    beta :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (beta d) se verifica si f es una fórmula beta.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
beta :: Prop -&amp;gt; Bool&lt;br /&gt;
beta (Disj _ _)       = True&lt;br /&gt;
beta (Impl _ _)       = True&lt;br /&gt;
beta (Neg (Conj _ _)) = True&lt;br /&gt;
beta (Equi _ _)       = True&lt;br /&gt;
beta (Neg (Equi _ _)) = True&lt;br /&gt;
beta _                = False&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4: Definir la función&lt;br /&gt;
--    componentes :: Prop -&amp;gt; [Prop]&lt;br /&gt;
-- tal que (componentes ) es la lista de las componentes de la fórmula&lt;br /&gt;
-- f. Por ejemplo, &lt;br /&gt;
--    componentes (p /\ q --&amp;gt; r)       ==&amp;gt;  [no (p /\ q),r]&lt;br /&gt;
--    componentes (no (p /\ q --&amp;gt; r))  ==&amp;gt;  [(p /\ q),no r]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
componentes :: Prop -&amp;gt; [Prop]&lt;br /&gt;
componentes (Neg (Neg f))    = [f]&lt;br /&gt;
componentes (Conj f g)       = [f, g]&lt;br /&gt;
componentes (Neg (Impl f g)) = [f, Neg g]&lt;br /&gt;
componentes (Neg (Disj f g)) = [Neg f, Neg g]&lt;br /&gt;
componentes (Disj f g)       = [f, g]&lt;br /&gt;
componentes (Impl f g)       = [Neg f, g]&lt;br /&gt;
componentes (Neg (Conj f g)) = [Neg f, Neg g]&lt;br /&gt;
componentes (Equi f g)       = [Conj f g, Conj (Neg f) (Neg g)]&lt;br /&gt;
componentes (Neg (Equi f g)) = [Conj f (Neg g), Conj (Neg f) g]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Modelos mediante tableros                                          --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5: Definir la función&lt;br /&gt;
--    conjuntoDeLiterales :: [Prop] -&amp;gt; Bool&lt;br /&gt;
-- tal que (conjuntoDeLiterales fs) se verifica si fs es un conjunto de&lt;br /&gt;
-- literales. Por ejemplo, &lt;br /&gt;
--    conjuntoDeLiterales [p --&amp;gt; q, no r, r /\ s, p]  ==&amp;gt;  False&lt;br /&gt;
--    conjuntoDeLiterales [p, no q, r]                ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
conjuntoDeLiterales :: [Prop] -&amp;gt; Bool&lt;br /&gt;
conjuntoDeLiterales fs =&lt;br /&gt;
    and [literal f | f &amp;lt;- fs]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6: Definir la función&lt;br /&gt;
--    tieneContradicción :: [Prop] -&amp;gt; Bool&lt;br /&gt;
-- tal que (tieneContradicción fs) se verifica si fs contiene una&lt;br /&gt;
-- fórmula y su negación. Por ejemplo,&lt;br /&gt;
--    tieneContradicción [r, p /\ q, s, no(p /\ q)]  ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
tieneContradicción :: [Prop] -&amp;gt; Bool&lt;br /&gt;
-- tieneContradicción fs &lt;br /&gt;
--     | trace (&amp;quot;  &amp;quot; ++ show fs) False = undefined&lt;br /&gt;
tieneContradicción fs =&lt;br /&gt;
    [f | f &amp;lt;- fs, elem (Neg f) fs] /= []&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7: Definir la función&lt;br /&gt;
--    expansiónDN :: [Prop] -&amp;gt; Prop -&amp;gt; [[Prop]]&lt;br /&gt;
-- tal que (expansiónDN fs f) es la expansión de fs mediante la doble&lt;br /&gt;
-- negación f. Por ejemplo,&lt;br /&gt;
--    expansiónDN [p, no(no q), r] (no(no q))  ==&amp;gt;  [[q,p,r]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
expansiónDN :: [Prop] -&amp;gt; Prop -&amp;gt; [[Prop]]&lt;br /&gt;
expansiónDN fs f =&lt;br /&gt;
    [(componentes f) `union` (delete f fs)]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8: Definir la función&lt;br /&gt;
--    expansiónAlfa :: [Prop] -&amp;gt; Prop -&amp;gt; [[Prop]]&lt;br /&gt;
-- tal que (expansiónAlfa fs f) es la expansión de fs mediante la&lt;br /&gt;
-- fórmula alfa f. Por ejemplo,&lt;br /&gt;
--    expansiónAlfa [q, (p1 /\ p2) , r] (p1 /\ p2)  ==&amp;gt;  [[p1,p2,q,r]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
expansiónAlfa :: [Prop] -&amp;gt; Prop -&amp;gt; [[Prop]]&lt;br /&gt;
expansiónAlfa fs f =&lt;br /&gt;
    [(componentes f) `union` (delete f fs)]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9: Definir la función&lt;br /&gt;
--    expansiónBeta :: [Prop] -&amp;gt; Prop -&amp;gt; [[Prop]]&lt;br /&gt;
-- tal que (expansiónBeta fs f) es la expansión de fs mediante la&lt;br /&gt;
-- fórmula beta f. Por ejemplo,&lt;br /&gt;
--    expansiónBeta [q, (p1 \/ p2) , r] (p1 \/ p2)  ==&amp;gt;  [[p1,q,r],[p2,q,r]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
expansiónBeta :: [Prop] -&amp;gt; Prop -&amp;gt; [[Prop]]&lt;br /&gt;
expansiónBeta fs f =&lt;br /&gt;
    [[g] `union` (delete f fs) | g &amp;lt;- componentes f]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10: Definir la función&lt;br /&gt;
--    sucesores :: [Prop] -&amp;gt; [[Prop]]&lt;br /&gt;
-- tal que (sucesores fs) es la lista de sucesores de fs. Por ejemplo,&lt;br /&gt;
--    sucesores [q \/ s, no(no r), p1 /\ p2] =&amp;gt; [[r,(q \/ s),(p1 /\ p2)]]&lt;br /&gt;
--    sucesores [r,(q \/ s),(p1 /\ p2)]      =&amp;gt; [[p1,p2,r,(q \/ s)]]&lt;br /&gt;
--    sucesores [p1,p2,r,(q \/ s)]           =&amp;gt; [[q,p1,p2,r],[s,p1,p2,r]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sucesores :: [Prop] -&amp;gt; [[Prop]]&lt;br /&gt;
sucesores fs &lt;br /&gt;
    | doblesNegación /= []  = expansiónDN   fs (head doblesNegación)&lt;br /&gt;
    | alfas /= []           = expansiónAlfa fs (head alfas)&lt;br /&gt;
    | betas /= []           = expansiónBeta fs (head betas)&lt;br /&gt;
    where doblesNegación = [f | f &amp;lt;- fs, dobleNegación f]&lt;br /&gt;
          alfas          = [f | f &amp;lt;- fs, alfa f]&lt;br /&gt;
          betas          = [f | f &amp;lt;- fs, beta f]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11: Definir la función&lt;br /&gt;
--    modelosTab :: [Prop] -&amp;gt; [[Prop]]&lt;br /&gt;
-- tal que (modelosTab fs) es el conjunto de los modelos de fs&lt;br /&gt;
-- calculados mediante el método de tableros semánticos. Por ejemplo,&lt;br /&gt;
--    modelosTab [p --&amp;gt; q, no(q --&amp;gt; p)]  &lt;br /&gt;
--    ==&amp;gt; [[no p,q],[q,no p]]&lt;br /&gt;
--    modelosTab [p --&amp;gt; q, no q --&amp;gt; no p]  &lt;br /&gt;
--    ==&amp;gt; [[q,no p],[no p],[q],[no p,q]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
modelosTab :: [Prop] -&amp;gt; [[Prop]]&lt;br /&gt;
modelosTab fs &lt;br /&gt;
    | tieneContradicción fs  = []&lt;br /&gt;
    | conjuntoDeLiterales fs = [fs]&lt;br /&gt;
    | otherwise              = uniónGeneral [modelosTab gs &lt;br /&gt;
                                             | gs &amp;lt;- sucesores fs]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12: Definir la función&lt;br /&gt;
--    subconjunto :: Eq a =&amp;gt; [a] -&amp;gt; [a] -&amp;gt; Bool&lt;br /&gt;
-- tal que (subconjunto x y) se verifica si x es subconjunto de y. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    subconjunto [1,3] [3,2,1]    ==&amp;gt;  True&lt;br /&gt;
--    subconjunto [1,3,5] [3,2,1]  ==&amp;gt; False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
subconjunto :: Eq a =&amp;gt; [a] -&amp;gt; [a] -&amp;gt; Bool&lt;br /&gt;
subconjunto xs ys =&lt;br /&gt;
    and [elem x ys | x &amp;lt;- xs]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13: Definir la función&lt;br /&gt;
--    modelosGenerales :: [Prop] -&amp;gt; [[Prop]]&lt;br /&gt;
-- tal que (modelosGenerales fs) es el conjunto de los modelos generales&lt;br /&gt;
-- de fs calculados mediante el método de tableros semánticos. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    modelosGenerales [p --&amp;gt; q, no q --&amp;gt; no p]  ==&amp;gt;  [[no p],[q]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
modelosGenerales :: [Prop] -&amp;gt; [[Prop]]&lt;br /&gt;
modelosGenerales fs =&lt;br /&gt;
    [gs | gs &amp;lt;- modelos&lt;br /&gt;
        , [hs | hs &amp;lt;- delete gs modelos, subconjunto hs gs] == []]&lt;br /&gt;
    where modelos = modelosTab fs&lt;br /&gt;
&lt;br /&gt;
modelosGenerales&amp;#039; :: [Prop] -&amp;gt; [[Prop]]&lt;br /&gt;
modelosGenerales&amp;#039; fs =&lt;br /&gt;
    [gs | gs &amp;lt;- modelos&lt;br /&gt;
        , and [not (subconjunto hs gs) | hs &amp;lt;- delete gs modelos]]&lt;br /&gt;
    where modelos = modelosTab fs&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Teoremas por tableros                                              --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 14: Definir la función&lt;br /&gt;
--    esTeoremaPorTableros :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esTeoremaPorTableros f) se verifica si la fórmula f es&lt;br /&gt;
-- teorema (mediante tableros semánticos). Por ejemplo,  &lt;br /&gt;
--    esTeoremaPorTableros (p --&amp;gt; p)  ==&amp;gt;  True&lt;br /&gt;
--    esTeoremaPorTableros (p --&amp;gt; q)  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esTeoremaPorTableros :: Prop -&amp;gt; Bool&lt;br /&gt;
esTeoremaPorTableros f =&lt;br /&gt;
    modelosTab [Neg f] == []&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Consecuencia por tableros                                          --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 15: Definir la función&lt;br /&gt;
--    esDeduciblePorTableros :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esDeduciblePorTableros fs f) se verifica si la fórmula f es&lt;br /&gt;
-- consecuencia (mediante tableros) del conjunto de fórmulas fs. Por&lt;br /&gt;
-- ejemplo,&lt;br /&gt;
--    esDeduciblePorTableros [p --&amp;gt; q, q --&amp;gt; r] (p --&amp;gt; r)   ==&amp;gt;  True&lt;br /&gt;
--    esDeduciblePorTableros [p --&amp;gt; q, q --&amp;gt; r] (p &amp;lt;--&amp;gt; r)  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esDeduciblePorTableros :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esDeduciblePorTableros fs f =&lt;br /&gt;
    modelosTab ((Neg f):fs) == []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=310</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=310"/>
		<updated>2015-05-18T16:01:16Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]], [[Relación 7 |Solución colaborativa]] y [[R7 sol | Una solución ]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R2a_sol&amp;diff=309</id>
		<title>R2a sol</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R2a_sol&amp;diff=309"/>
		<updated>2015-05-18T15:59:32Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt; -- SintaxisSemanticaProp.hs -- Lógica proposicional: Sintaxis y semántica -- ---------------------------------------------------------------------  m...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- SintaxisSemanticaProp.hs&lt;br /&gt;
-- Lógica proposicional: Sintaxis y semántica&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
module SintaxisSemantica where&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Librerías auxiliares                                               --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import Data.List &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Gramática de fórmulas prosicionales                                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir los siguientes tipos de datos:&lt;br /&gt;
-- * SímboloProposicional para representar los símbolos de proposiciones&lt;br /&gt;
-- * Prop para representar las fórmulas proposicionales usando los&lt;br /&gt;
--   constructores Atom, Neg, Conj, Disj, Impl y Equi para las fórmulas&lt;br /&gt;
--   atómicas, negaciones, conjunciones, implicaciones y equivalencias,&lt;br /&gt;
--   respectivamente.  &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
type SímboloProposicional = String&lt;br /&gt;
&lt;br /&gt;
data Prop = Atom SímboloProposicional&lt;br /&gt;
          | Neg Prop &lt;br /&gt;
          | Conj Prop Prop &lt;br /&gt;
          | Disj Prop Prop &lt;br /&gt;
          | Impl Prop Prop &lt;br /&gt;
          | Equi Prop Prop &lt;br /&gt;
          deriving (Eq,Ord)&lt;br /&gt;
&lt;br /&gt;
instance Show Prop where&lt;br /&gt;
    show (Atom p)   = p&lt;br /&gt;
    show (Neg p)    = &amp;quot;no &amp;quot; ++ show p&lt;br /&gt;
    show (Conj p q) = &amp;quot;(&amp;quot; ++ show p ++ &amp;quot; /\\ &amp;quot; ++ show q ++ &amp;quot;)&amp;quot;&lt;br /&gt;
    show (Disj p q) = &amp;quot;(&amp;quot; ++ show p ++ &amp;quot; \\/ &amp;quot; ++ show q ++ &amp;quot;)&amp;quot;&lt;br /&gt;
    show (Impl p q) = &amp;quot;(&amp;quot; ++ show p ++ &amp;quot; --&amp;gt; &amp;quot; ++ show q ++ &amp;quot;)&amp;quot;&lt;br /&gt;
    show (Equi p q) = &amp;quot;(&amp;quot; ++ show p ++ &amp;quot; &amp;lt;--&amp;gt; &amp;quot; ++ show q ++ &amp;quot;)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir las siguientes fórmulas proposicionales&lt;br /&gt;
-- atómicas: p, p1, p2, q, r, s, t y u.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p, p1, p2, q, r, s, t, u :: Prop&lt;br /&gt;
p  = Atom &amp;quot;p&amp;quot;&lt;br /&gt;
p1 = Atom &amp;quot;p1&amp;quot;&lt;br /&gt;
p2 = Atom &amp;quot;p2&amp;quot;&lt;br /&gt;
q  = Atom &amp;quot;q&amp;quot;&lt;br /&gt;
r  = Atom &amp;quot;r&amp;quot;&lt;br /&gt;
s  = Atom &amp;quot;s&amp;quot;&lt;br /&gt;
t  = Atom &amp;quot;t&amp;quot;&lt;br /&gt;
u  = Atom &amp;quot;u&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3: Definir la función&lt;br /&gt;
--    no :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (no f) es la negación de f.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
no :: Prop -&amp;gt; Prop&lt;br /&gt;
no = Neg&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4: Definir los siguientes operadores&lt;br /&gt;
--    (/\), (\/), (--&amp;gt;), (&amp;lt;--&amp;gt;) :: Prop -&amp;gt; Prop -&amp;gt; Prop&lt;br /&gt;
-- tales que&lt;br /&gt;
--    f /\ g      es la conjunción de f y g&lt;br /&gt;
--    f \/ g      es la disyunción de f y g&lt;br /&gt;
--    f --&amp;gt; g     es la implicación de f a g&lt;br /&gt;
--    f &amp;lt;--&amp;gt; g    es la equivalencia entre f y g&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
infixr 5 \/&lt;br /&gt;
infixr 4 /\&lt;br /&gt;
infixr 3 --&amp;gt;&lt;br /&gt;
infixr 2 &amp;lt;--&amp;gt;&lt;br /&gt;
(/\), (\/), (--&amp;gt;), (&amp;lt;--&amp;gt;) :: Prop -&amp;gt; Prop -&amp;gt; Prop&lt;br /&gt;
(/\)   = Conj&lt;br /&gt;
(\/)   = Disj&lt;br /&gt;
(--&amp;gt;)  = Impl&lt;br /&gt;
(&amp;lt;--&amp;gt;) = Equi&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Símbolos proposicionales de una fórmula                            --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5: Definir la función&lt;br /&gt;
--    símbolosPropFórm :: Prop -&amp;gt; [Prop]&lt;br /&gt;
-- tal que (símbolosPropFórm f) es el conjunto formado por todos los&lt;br /&gt;
-- símbolos proposicionales que aparecen en f. Por ejemplo,&lt;br /&gt;
--    símbolosPropFórm (p /\ q --&amp;gt; p)  ==&amp;gt; [p,q]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
símbolosPropFórm :: Prop -&amp;gt; [Prop]&lt;br /&gt;
símbolosPropFórm (Atom f)   = [(Atom f)]&lt;br /&gt;
símbolosPropFórm (Neg f)    = símbolosPropFórm f&lt;br /&gt;
símbolosPropFórm (Conj f g) = símbolosPropFórm f `union` símbolosPropFórm g&lt;br /&gt;
símbolosPropFórm (Disj f g) = símbolosPropFórm f `union` símbolosPropFórm g&lt;br /&gt;
símbolosPropFórm (Impl f g) = símbolosPropFórm f `union` símbolosPropFórm g&lt;br /&gt;
símbolosPropFórm (Equi f g) = símbolosPropFórm f `union` símbolosPropFórm g&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Interpretaciones                                                   --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6: Definir el tipo de datos Interpretación para&lt;br /&gt;
-- representar las interpretaciones como listas de fórmulas atómicas.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
type Interpretación = [Prop]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Significado de una fórmula en una interpretación                   --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7: Definir la función&lt;br /&gt;
--    significado :: Prop -&amp;gt; Interpretación -&amp;gt; Bool&lt;br /&gt;
-- tal que (significado f i) es el significado de f en i. Por ejemplo,&lt;br /&gt;
--    significado ((p \/ q) /\ ((no q) \/ r)) [r]    ==&amp;gt;  False&lt;br /&gt;
--    significado ((p \/ q) /\ ((no q) \/ r)) [p,r]  ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
significado :: Prop -&amp;gt; Interpretación -&amp;gt; Bool&lt;br /&gt;
significado (Atom f)   i = (Atom f) `elem` i&lt;br /&gt;
significado (Neg f)    i = not (significado f i)&lt;br /&gt;
significado (Conj f g) i = (significado f i) &amp;amp;&amp;amp; (significado g i)&lt;br /&gt;
significado (Disj f g) i = (significado f i) || (significado g i)&lt;br /&gt;
significado (Impl f g) i = significado (Disj (Neg f) g) i&lt;br /&gt;
significado (Equi f g) i = significado (Conj (Impl f g) (Impl g f)) i&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Interpretaciones de una fórmula                                    --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8: Definir la función&lt;br /&gt;
--    subconjuntos :: [a] -&amp;gt; [[a]]&lt;br /&gt;
-- tal que (subconjuntos x) es la lista de los subconjuntos de x. Por&lt;br /&gt;
-- ejmplo, &lt;br /&gt;
--    subconjuntos &amp;quot;abc&amp;quot;  ==&amp;gt;  [&amp;quot;abc&amp;quot;,&amp;quot;ab&amp;quot;,&amp;quot;ac&amp;quot;,&amp;quot;a&amp;quot;,&amp;quot;bc&amp;quot;,&amp;quot;b&amp;quot;,&amp;quot;c&amp;quot;,&amp;quot;&amp;quot;]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
subconjuntos :: [a] -&amp;gt; [[a]]&lt;br /&gt;
subconjuntos []     = [[]]&lt;br /&gt;
subconjuntos (x:xs) = [x:ys | ys &amp;lt;- xss] ++ xss&lt;br /&gt;
                      where xss = subconjuntos xs&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9: Definir la función&lt;br /&gt;
--    interpretacionesFórm :: Prop -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (interpretacionesFórm f) es la lista de todas las&lt;br /&gt;
-- interpretaciones de f. Por ejemplo, &lt;br /&gt;
--    interpretacionesFórm (p /\ q --&amp;gt; p)  ==&amp;gt;  [[p,q],[p],[q],[]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interpretacionesFórm :: Prop -&amp;gt; [Interpretación]&lt;br /&gt;
interpretacionesFórm f = subconjuntos (símbolosPropFórm f)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Modelos de fórmulas                                                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10: Definir la función&lt;br /&gt;
--    esModeloFórmula :: Interpretación -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esModeloFórmula i f) se verifica si i es un modelo de f. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esModeloFórmula [r]   ((p \/ q) /\ ((no q) \/ r))    ==&amp;gt;  False&lt;br /&gt;
--    esModeloFórmula [p,r] ((p \/ q) /\ ((no q) \/ r))    ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esModeloFórmula :: Interpretación -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esModeloFórmula i f = significado f i&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11: Definir la función&lt;br /&gt;
--    modelosFórmula :: Prop -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (modelosFórmula f) es la lista de todas las interpretaciones&lt;br /&gt;
-- de f que son modelo de F. Por ejemplo,&lt;br /&gt;
--    modelosFórmula ((p \/ q) /\ ((no q) \/ r)) &lt;br /&gt;
--    ==&amp;gt; [[p,q,r],[p,r],[p],[q,r]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
modelosFórmula :: Prop -&amp;gt; [Interpretación]&lt;br /&gt;
modelosFórmula f =&lt;br /&gt;
    [i | i &amp;lt;- interpretacionesFórm f,&lt;br /&gt;
         esModeloFórmula i f]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Fórmulas válidas, satisfacibles e insatisfacibles                  --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12: Definir la función&lt;br /&gt;
--    esVálida :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esVálida f) se verifica si f es válida. Por ejemplo,&lt;br /&gt;
--    esVálida (p --&amp;gt; p)                 ==&amp;gt;  True&lt;br /&gt;
--    esVálida (p --&amp;gt; q)                 ==&amp;gt;  False&lt;br /&gt;
--    esVálida ((p --&amp;gt; q) \/ (q --&amp;gt; p))  ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esVálida :: Prop -&amp;gt; Bool&lt;br /&gt;
esVálida f = &lt;br /&gt;
    modelosFórmula f == interpretacionesFórm f&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13: Definir la función&lt;br /&gt;
--    esInsatisfacible :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esInsatisfacible f) se verifica si f es insatisfacible. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esInsatisfacible (p /\ (no p))             ==&amp;gt;  True&lt;br /&gt;
--    esInsatisfacible ((p --&amp;gt; q) /\ (q --&amp;gt; r))  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esInsatisfacible :: Prop -&amp;gt; Bool&lt;br /&gt;
esInsatisfacible f =&lt;br /&gt;
    modelosFórmula f == []&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 14: Definir la función&lt;br /&gt;
--    esSatisfacible :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esSatisfacible f) se verifica si f es satisfacible. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esSatisfacible (p /\ (no p))             ==&amp;gt;  False&lt;br /&gt;
--    esSatisfacible ((p --&amp;gt; q) /\ (q --&amp;gt; r))  ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esSatisfacible :: Prop -&amp;gt; Bool&lt;br /&gt;
esSatisfacible f =&lt;br /&gt;
    modelosFórmula f /= []&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Símbolos proposicionales de un conjunto de fórmulas                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 15: Definir la función&lt;br /&gt;
--    uniónGeneral :: Eq a =&amp;gt; [[a]] -&amp;gt; [a]&lt;br /&gt;
-- tal que (uniónGeneral x) es la unión de los conjuntos de la lista de&lt;br /&gt;
-- conjuntos x. Por ejemplo,&lt;br /&gt;
--    uniónGeneral []                 ==&amp;gt;  []&lt;br /&gt;
--    uniónGeneral [[1]]              ==&amp;gt;  [1]&lt;br /&gt;
--    uniónGeneral [[1],[1,2],[2,3]]  ==&amp;gt;  [1,2,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
uniónGeneral :: Eq a =&amp;gt; [[a]] -&amp;gt; [a]&lt;br /&gt;
uniónGeneral []     = []&lt;br /&gt;
uniónGeneral (x:xs) = x `union` uniónGeneral xs &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 16: Definir la función&lt;br /&gt;
--    símbolosPropConj :: [Prop] -&amp;gt; [Prop]&lt;br /&gt;
-- tal que (símbolosPropConj s) es el conjunto de los símbolos&lt;br /&gt;
-- proposiciones de s. Por ejemplo,&lt;br /&gt;
--    símbolosPropConj [p /\ q --&amp;gt; r, p --&amp;gt; s]  ==&amp;gt;  [p,q,r,s]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
símbolosPropConj :: [Prop] -&amp;gt; [Prop]&lt;br /&gt;
símbolosPropConj s&lt;br /&gt;
    = uniónGeneral [símbolosPropFórm f | f &amp;lt;- s]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Interpretaciones de un conjunto de fórmulas                        --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 17: Definir la función&lt;br /&gt;
--    interpretacionesConjunto :: [Prop] -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (interpretacionesConjunto s) es la lista de las&lt;br /&gt;
-- interpretaciones de s. Por ejemplo,&lt;br /&gt;
--    interpretacionesConjunto [p --&amp;gt; q, q --&amp;gt; r]&lt;br /&gt;
--    ==&amp;gt; [[p,q,r],[p,q],[p,r],[p],[q,r],[q],[r],[]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interpretacionesConjunto :: [Prop] -&amp;gt; [Interpretación]&lt;br /&gt;
interpretacionesConjunto s =&lt;br /&gt;
    subconjuntos (símbolosPropConj s)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Modelos de conjuntos de fórmulas                                   --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 18: Definir la función&lt;br /&gt;
--    esModeloConjunto :: Interpretación -&amp;gt; [Prop] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esModeloConjunto i s) se verifica si i es modelo de s. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esModeloConjunto [p,r] [(p \/ q) /\ ((no q) \/ r), q --&amp;gt; r]&lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esModeloConjunto [p,r] [(p \/ q) /\ ((no q) \/ r), r --&amp;gt; q]&lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esModeloConjunto :: Interpretación -&amp;gt; [Prop] -&amp;gt; Bool&lt;br /&gt;
esModeloConjunto i s =&lt;br /&gt;
    and [esModeloFórmula i f | f &amp;lt;- s]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 19: Definir la función&lt;br /&gt;
--    modelosConjunto :: [Prop] -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (modelosConjunto s) es la lista de modelos del conjunto&lt;br /&gt;
-- s. Por ejemplo,&lt;br /&gt;
--    modelosConjunto [(p \/ q) /\ ((no q) \/ r), q --&amp;gt; r]&lt;br /&gt;
--    ==&amp;gt; [[p,q,r],[p,r],[p],[q,r]]&lt;br /&gt;
--    modelosConjunto [(p \/ q) /\ ((no q) \/ r), r --&amp;gt; q]&lt;br /&gt;
--    ==&amp;gt; [[p,q,r],[p],[q,r]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
modelosConjunto :: [Prop] -&amp;gt; [Interpretación]&lt;br /&gt;
modelosConjunto s =&lt;br /&gt;
    [i | i &amp;lt;- interpretacionesConjunto s,&lt;br /&gt;
         esModeloConjunto i s]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Conjuntos consistentes e inconsistentes de fórmulas                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 20: Definir la función&lt;br /&gt;
--    esConsistente :: [Prop] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConsistente s) se verifica si s es consistente. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esConsistente [(p \/ q) /\ ((no q) \/ r), p --&amp;gt; r]        &lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esConsistente [(p \/ q) /\ ((no q) \/ r), p --&amp;gt; r, no r]  &lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConsistente :: [Prop] -&amp;gt; Bool&lt;br /&gt;
esConsistente s =&lt;br /&gt;
    modelosConjunto s /= []&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 21: Definir la función&lt;br /&gt;
--    esInconsistente :: [Prop] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esInconsistente s) se verifica si s es inconsistente. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esInconsistente [(p \/ q) /\ ((no q) \/ r), p --&amp;gt; r]        &lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
--    esInconsistente [(p \/ q) /\ ((no q) \/ r), p --&amp;gt; r, no r]  &lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esInconsistente :: [Prop] -&amp;gt; Bool&lt;br /&gt;
esInconsistente s =&lt;br /&gt;
    modelosConjunto s == []&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Consecuencia lógica                                                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 22: Definir la función&lt;br /&gt;
--    esConsecuencia :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConsecuencia s f) se verifica si f es consecuencia de&lt;br /&gt;
-- s. Por ejemplo,&lt;br /&gt;
--    esConsecuencia [p --&amp;gt; q, q --&amp;gt; r] (p --&amp;gt; r)  ==&amp;gt;  True&lt;br /&gt;
--    esConsecuencia [p] (p /\ q)                  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConsecuencia :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esConsecuencia s f =&lt;br /&gt;
    null [i | i &amp;lt;- interpretacionesConjunto (f:s),&lt;br /&gt;
              esModeloConjunto i s,&lt;br /&gt;
              not (esModeloFórmula i f)]&lt;br /&gt;
&lt;br /&gt;
esConsecuencia2 :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esConsecuencia2 s f =&lt;br /&gt;
    and [esModeloFórmula i f | i &amp;lt;- interpretacionesConjunto (f:s),&lt;br /&gt;
                               esModeloConjunto i s]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=308</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=308"/>
		<updated>2015-05-18T15:58:21Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]], [[Relación 2a |Solución colaborativa]] y [[R2a sol | Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R15&amp;diff=307</id>
		<title>R15</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R15&amp;diff=307"/>
		<updated>2015-05-17T07:59:18Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 15: Tableros semánticos en LPO  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
⊧ ∀x (P(x) → R(x,x)) → ∀x ∃ y (R(x,y) ∨ ¬ P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∃ y (R(x,y) ∨ ¬ P(y)) ⊧ ∀x (P(x) → R(x,x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∀ y (R(x,y) → R(y,x)) ⊧ ∀x ∀y ∀z (R(x,y) ∧ R(x,z) → ∃u (R(y,u) ∧ R(z,u)))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
* ⊧ (∃x P(x)) → P(a)&lt;br /&gt;
* {∀x(P(x) → Q(x)), ∀y(Q(a) ∨ R(y) → S(a))} ⊧ ∀x (P(x) → S(a))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_15&amp;diff=306</id>
		<title>Relación 15</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_15&amp;diff=306"/>
		<updated>2015-05-17T07:58:48Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 15: Tableros semánticos en LPO  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
⊧ ∀x (P(x) → R(x,x)) → ∀x ∃ y (R(x,y) ∨ ¬ P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∃ y (R(x,y) ∨ ¬ P(y)) ⊧ ∀x (P(x) → R(x,x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∀ y (R(x,y) → R(y,x)) ⊧ ∀x ∀y ∀z (R(x,y) ∧ R(x,z) → ∃u (R(y,u) ∧ R(z,u)))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
* ⊧ (∃x P(x)) → P(a)&lt;br /&gt;
* {∀x(P(x) → Q(x)), ∀y(Q(a) ∨ R(y) → S(a))} ⊧ ∀x (P(x) → S(a))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R15&amp;diff=305</id>
		<title>R15</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R15&amp;diff=305"/>
		<updated>2015-05-15T11:44:45Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Protegió «R15» ([edit=sysop] (indefinido) [move=sysop] (indefinido))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 15: Tableros semánticos en LPO  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
⊧ ∀x (P(x) → R(x,x)) → ∀x ∃ y (R(x,y) ∨ ¬ P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∃ y (R(x,y) ∨ ¬ P(y)) ⊧ ∀x (P(x) → R(x,x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∀ y (R(x,y) → R(y,x)) ⊧ ∀x ∀y ∀z (R(x,y) ∧ R(x,z) → ∃u (R(y,u) ∧ R(z,u)))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → R(x,x)) ⊧ ∀x ∃y (R(x,y) ∨ ¬P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R15&amp;diff=304</id>
		<title>R15</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R15&amp;diff=304"/>
		<updated>2015-05-15T11:44:34Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 15: Tableros semánticos en LPO  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
⊧ ∀x (P(x) → R(x,x)) → ∀x ∃ y (R(x,y) ∨ ¬ P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∃ y (R(x,y) ∨ ¬ P(y)) ⊧ ∀x (P(x) → R(x,x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∀ y (R(x,y) → R(y,x)) ⊧ ∀x ∀y ∀z (R(x,y) ∧ R(x,z) → ∃u (R(y,u) ∧ R(z,u)))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → R(x,x)) ⊧ ∀x ∃y (R(x,y) ∨ ¬P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_15&amp;diff=303</id>
		<title>Relación 15</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_15&amp;diff=303"/>
		<updated>2015-05-15T11:43:37Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 15: Tableros semánticos en LPO  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
⊧ ∀x (P(x) → R(x,x)) → ∀x ∃ y (R(x,y) ∨ ¬ P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∃ y (R(x,y) ∨ ¬ P(y)) ⊧ ∀x (P(x) → R(x,x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∀ y (R(x,y) → R(y,x)) ⊧ ∀x ∀y ∀z (R(x,y) ∧ R(x,z) → ∃u (R(y,u) ∧ R(z,u)))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → R(x,x)) ⊧ ∀x ∃y (R(x,y) ∨ ¬P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_15&amp;diff=302</id>
		<title>Relación 15</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_15&amp;diff=302"/>
		<updated>2015-05-15T11:43:04Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;=== Relación 15: Tableros semánticos en LPO  ===  ---- &amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:  ∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))  ----  &amp;#039;...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 15: Tableros semánticos en LPO  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
⊧ ∀x (P(x) → R(x,x)) → ∀x ∃ y (R(x,y) ∨ ¬ P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∃ y (R(x,y) ∨ ¬ P(y)) ⊧ ∀x (P(x) → R(x,x))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
∀x ∀ y (R(x,y) → R(y,x)) ⊧ ∀x ∀y ∀z (R(x,y) ∧ R(x,z) → ∃u (R(y,u) ∧ R(z,u)))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → R(x,x)) ⊧ ∀x ∃y (R(x,y) ∨ ¬P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R15&amp;diff=301</id>
		<title>R15</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R15&amp;diff=301"/>
		<updated>2015-05-15T11:42:46Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039; === Relación 15: Tableros semánticos en LPO  ===  ---- &amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:  ∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))  ----  ...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Relación 15: Tableros semánticos en LPO  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → Q(x)) ⊧ (∃x P(x)) → (∃ x Q(x))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
⊧ ∀x (P(x) → R(x,x)) → ∀x ∃ y (R(x,y) ∨ ¬ P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x ∃ y (R(x,y) ∨ ¬ P(y)) ⊧ ∀x (P(x) → R(x,x))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
∀x ∀ y (R(x,y) → R(y,x)) ⊧ ∀x ∀y ∀z (R(x,y) ∧ R(x,z) → ∃u (R(y,u) ∧ R(z,u)))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Decidir por tableros semánticos, si:&lt;br /&gt;
&lt;br /&gt;
∀x (P(x) → R(x,x)) ⊧ ∀x ∃y (R(x,y) ∨ ¬P(y))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=300</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=300"/>
		<updated>2015-05-15T11:42:27Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]] y [[Relación 2a |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 15&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos en lógica de primer orden.([[R15 |Enunciado]] y [[Relación 15 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R14&amp;diff=296</id>
		<title>R14</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R14&amp;diff=296"/>
		<updated>2015-05-11T12:34:32Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Protegió «R14» ([edit=sysop] (indefinido) [move=sysop] (indefinido))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R14: Argumentación y Deducción natural en lógica de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R14&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 1: Existe un hombre al que todos desprecian. &lt;br /&gt;
   (a) Demostrar que existe al menos un hombre que se desprecia a sí mismo. &lt;br /&gt;
   (b) ¿La conclusión sería cierta en el caso de que sólo supiéramos que &lt;br /&gt;
       existe un hombre al que algunos desprecian? &lt;br /&gt;
&lt;br /&gt;
  Simbología: H(x): x es hombre, D(x,y): x desprecia a y. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 2: Si todas las medicinas están contaminadas, entonces todos los&lt;br /&gt;
  técnicos negligentes son unos bribones. Si hay medicinas contaminadas,&lt;br /&gt;
  entonces todas las medicinas están contaminadas y son peligrosas. Todos los&lt;br /&gt;
  germicidas son medicinas. Sólo los negligentes son distraídos. &lt;br /&gt;
  (a) Demostrar que si cualquier técnico es distraído y si algunos germicidas &lt;br /&gt;
      están contaminados, los técnicos son bribones. &lt;br /&gt;
  (b) ¿Podemos asegurar lo mismo en el caso de que sólo supiéramos que hay&lt;br /&gt;
      técnicos distraídos?&lt;br /&gt;
&lt;br /&gt;
  Simbología: M(x): x es medicina. C(x): x está contaminada, &lt;br /&gt;
              T(x): x es técnico, N(x): x es un negligente, &lt;br /&gt;
              B(x): x es un bribón, G(x): x es germicida, &lt;br /&gt;
              D(x): x es distraído. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 3: Ningún individuo que sea candidato será derrotado si hace una&lt;br /&gt;
  buena campaña. Todo individuo que se postula es un candidato. Cualquier&lt;br /&gt;
  candidato que no sea derrotado, será elegido. Todo individuo que sea elegido&lt;br /&gt;
  hace una buena campaña.&lt;br /&gt;
  (a) Demostrar que todo individuo que se postula será elegido si y&lt;br /&gt;
      sólo si hace una buena campaña. &lt;br /&gt;
  (b) Si algún individuo se postula, ¿habrá candidatos que no sean&lt;br /&gt;
      elegidos?&lt;br /&gt;
&lt;br /&gt;
  Simbología: I(x): x es individuo, C(x): x es candidato,&lt;br /&gt;
              D(x): x es derrotado, B(x): x hace una buena campaña, &lt;br /&gt;
              P(x): x se postula, E(x): x es elegido. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 27: Todo ejecutivo que sea poeta es un hombre&lt;br /&gt;
  imaginativo. Todo hombre imaginativo es amante del riesgo. Si todo&lt;br /&gt;
  amante del riesgo no es poeta, entonces, ningún poeta es amante del&lt;br /&gt;
  riesgo. &lt;br /&gt;
  (a) Demostrar que si todo hombre imaginativo no es poeta, entonces, &lt;br /&gt;
      ningún ejecutivo es poeta. &lt;br /&gt;
  (b) ¿Es cierto el recíproco?&lt;br /&gt;
&lt;br /&gt;
  Simbología: E(x): x es ejecutivo, P(x): x es poeta, I(x): x es imaginativo, &lt;br /&gt;
  R(x): x es amante del riesgo. *}&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R14&amp;diff=295</id>
		<title>R14</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R14&amp;diff=295"/>
		<updated>2015-05-11T12:34:25Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;gt; header {* R14: Argumentación y Deducción natural en lógica de primer orden *}  theory R14 imports Main  begin   text {* Ej. 1: Existe un hombre al que ...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R14: Argumentación y Deducción natural en lógica de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R14&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 1: Existe un hombre al que todos desprecian. &lt;br /&gt;
   (a) Demostrar que existe al menos un hombre que se desprecia a sí mismo. &lt;br /&gt;
   (b) ¿La conclusión sería cierta en el caso de que sólo supiéramos que &lt;br /&gt;
       existe un hombre al que algunos desprecian? &lt;br /&gt;
&lt;br /&gt;
  Simbología: H(x): x es hombre, D(x,y): x desprecia a y. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 2: Si todas las medicinas están contaminadas, entonces todos los&lt;br /&gt;
  técnicos negligentes son unos bribones. Si hay medicinas contaminadas,&lt;br /&gt;
  entonces todas las medicinas están contaminadas y son peligrosas. Todos los&lt;br /&gt;
  germicidas son medicinas. Sólo los negligentes son distraídos. &lt;br /&gt;
  (a) Demostrar que si cualquier técnico es distraído y si algunos germicidas &lt;br /&gt;
      están contaminados, los técnicos son bribones. &lt;br /&gt;
  (b) ¿Podemos asegurar lo mismo en el caso de que sólo supiéramos que hay&lt;br /&gt;
      técnicos distraídos?&lt;br /&gt;
&lt;br /&gt;
  Simbología: M(x): x es medicina. C(x): x está contaminada, &lt;br /&gt;
              T(x): x es técnico, N(x): x es un negligente, &lt;br /&gt;
              B(x): x es un bribón, G(x): x es germicida, &lt;br /&gt;
              D(x): x es distraído. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 3: Ningún individuo que sea candidato será derrotado si hace una&lt;br /&gt;
  buena campaña. Todo individuo que se postula es un candidato. Cualquier&lt;br /&gt;
  candidato que no sea derrotado, será elegido. Todo individuo que sea elegido&lt;br /&gt;
  hace una buena campaña.&lt;br /&gt;
  (a) Demostrar que todo individuo que se postula será elegido si y&lt;br /&gt;
      sólo si hace una buena campaña. &lt;br /&gt;
  (b) Si algún individuo se postula, ¿habrá candidatos que no sean&lt;br /&gt;
      elegidos?&lt;br /&gt;
&lt;br /&gt;
  Simbología: I(x): x es individuo, C(x): x es candidato,&lt;br /&gt;
              D(x): x es derrotado, B(x): x hace una buena campaña, &lt;br /&gt;
              P(x): x se postula, E(x): x es elegido. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 27: Todo ejecutivo que sea poeta es un hombre&lt;br /&gt;
  imaginativo. Todo hombre imaginativo es amante del riesgo. Si todo&lt;br /&gt;
  amante del riesgo no es poeta, entonces, ningún poeta es amante del&lt;br /&gt;
  riesgo. &lt;br /&gt;
  (a) Demostrar que si todo hombre imaginativo no es poeta, entonces, &lt;br /&gt;
      ningún ejecutivo es poeta. &lt;br /&gt;
  (b) ¿Es cierto el recíproco?&lt;br /&gt;
&lt;br /&gt;
  Simbología: E(x): x es ejecutivo, P(x): x es poeta, I(x): x es imaginativo, &lt;br /&gt;
  R(x): x es amante del riesgo. *}&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_14&amp;diff=294</id>
		<title>Relación 14</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_14&amp;diff=294"/>
		<updated>2015-05-11T12:34:06Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R14: Argumentación y Deducción natural en lógica de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R14&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 1: Existe un hombre al que todos desprecian. &lt;br /&gt;
   (a) Demostrar que existe al menos un hombre que se desprecia a sí mismo. &lt;br /&gt;
   (b) ¿La conclusión sería cierta en el caso de que sólo supiéramos que &lt;br /&gt;
       existe un hombre al que algunos desprecian? &lt;br /&gt;
&lt;br /&gt;
  Simbología: H(x): x es hombre, D(x,y): x desprecia a y. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 2: Si todas las medicinas están contaminadas, entonces todos los&lt;br /&gt;
  técnicos negligentes son unos bribones. Si hay medicinas contaminadas,&lt;br /&gt;
  entonces todas las medicinas están contaminadas y son peligrosas. Todos los&lt;br /&gt;
  germicidas son medicinas. Sólo los negligentes son distraídos. &lt;br /&gt;
  (a) Demostrar que si cualquier técnico es distraído y si algunos germicidas &lt;br /&gt;
      están contaminados, los técnicos son bribones. &lt;br /&gt;
  (b) ¿Podemos asegurar lo mismo en el caso de que sólo supiéramos que hay&lt;br /&gt;
      técnicos distraídos?&lt;br /&gt;
&lt;br /&gt;
  Simbología: M(x): x es medicina. C(x): x está contaminada, &lt;br /&gt;
              T(x): x es técnico, N(x): x es un negligente, &lt;br /&gt;
              B(x): x es un bribón, G(x): x es germicida, &lt;br /&gt;
              D(x): x es distraído. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 3: Ningún individuo que sea candidato será derrotado si hace una&lt;br /&gt;
  buena campaña. Todo individuo que se postula es un candidato. Cualquier&lt;br /&gt;
  candidato que no sea derrotado, será elegido. Todo individuo que sea elegido&lt;br /&gt;
  hace una buena campaña.&lt;br /&gt;
  (a) Demostrar que todo individuo que se postula será elegido si y&lt;br /&gt;
      sólo si hace una buena campaña. &lt;br /&gt;
  (b) Si algún individuo se postula, ¿habrá candidatos que no sean&lt;br /&gt;
      elegidos?&lt;br /&gt;
&lt;br /&gt;
  Simbología: I(x): x es individuo, C(x): x es candidato,&lt;br /&gt;
              D(x): x es derrotado, B(x): x hace una buena campaña, &lt;br /&gt;
              P(x): x se postula, E(x): x es elegido. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 27: Todo ejecutivo que sea poeta es un hombre&lt;br /&gt;
  imaginativo. Todo hombre imaginativo es amante del riesgo. Si todo&lt;br /&gt;
  amante del riesgo no es poeta, entonces, ningún poeta es amante del&lt;br /&gt;
  riesgo. &lt;br /&gt;
  (a) Demostrar que si todo hombre imaginativo no es poeta, entonces, &lt;br /&gt;
      ningún ejecutivo es poeta. &lt;br /&gt;
  (b) ¿Es cierto el recíproco?&lt;br /&gt;
&lt;br /&gt;
  Simbología: E(x): x es ejecutivo, P(x): x es poeta, I(x): x es imaginativo, &lt;br /&gt;
  R(x): x es amante del riesgo. *}&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_14&amp;diff=293</id>
		<title>Relación 14</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_14&amp;diff=293"/>
		<updated>2015-05-11T12:33:53Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;lt;&lt;br /&gt;
header {* R14: Argumentación y Deducción natural en lógica de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R14&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 1: Existe un hombre al que todos desprecian. &lt;br /&gt;
   (a) Demostrar que existe al menos un hombre que se desprecia a sí mismo. &lt;br /&gt;
   (b) ¿La conclusión sería cierta en el caso de que sólo supiéramos que &lt;br /&gt;
       existe un hombre al que algunos desprecian? &lt;br /&gt;
&lt;br /&gt;
  Simbología: H(x): x es hombre, D(x,y): x desprecia a y. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 2: Si todas las medicinas están contaminadas, entonces todos los&lt;br /&gt;
  técnicos negligentes son unos bribones. Si hay medicinas contaminadas,&lt;br /&gt;
  entonces todas las medicinas están contaminadas y son peligrosas. Todos los&lt;br /&gt;
  germicidas son medicinas. Sólo los negligentes son distraídos. &lt;br /&gt;
  (a) Demostrar que si cualquier técnico es distraído y si algunos germicidas &lt;br /&gt;
      están contaminados, los técnicos son bribones. &lt;br /&gt;
  (b) ¿Podemos asegurar lo mismo en el caso de que sólo supiéramos que hay&lt;br /&gt;
      técnicos distraídos?&lt;br /&gt;
&lt;br /&gt;
  Simbología: M(x): x es medicina. C(x): x está contaminada, &lt;br /&gt;
              T(x): x es técnico, N(x): x es un negligente, &lt;br /&gt;
              B(x): x es un bribón, G(x): x es germicida, &lt;br /&gt;
              D(x): x es distraído. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 3: Ningún individuo que sea candidato será derrotado si hace una&lt;br /&gt;
  buena campaña. Todo individuo que se postula es un candidato. Cualquier&lt;br /&gt;
  candidato que no sea derrotado, será elegido. Todo individuo que sea elegido&lt;br /&gt;
  hace una buena campaña.&lt;br /&gt;
  (a) Demostrar que todo individuo que se postula será elegido si y&lt;br /&gt;
      sólo si hace una buena campaña. &lt;br /&gt;
  (b) Si algún individuo se postula, ¿habrá candidatos que no sean&lt;br /&gt;
      elegidos?&lt;br /&gt;
&lt;br /&gt;
  Simbología: I(x): x es individuo, C(x): x es candidato,&lt;br /&gt;
              D(x): x es derrotado, B(x): x hace una buena campaña, &lt;br /&gt;
              P(x): x se postula, E(x): x es elegido. *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* Ej. 27: Todo ejecutivo que sea poeta es un hombre&lt;br /&gt;
  imaginativo. Todo hombre imaginativo es amante del riesgo. Si todo&lt;br /&gt;
  amante del riesgo no es poeta, entonces, ningún poeta es amante del&lt;br /&gt;
  riesgo. &lt;br /&gt;
  (a) Demostrar que si todo hombre imaginativo no es poeta, entonces, &lt;br /&gt;
      ningún ejecutivo es poeta. &lt;br /&gt;
  (b) ¿Es cierto el recíproco?&lt;br /&gt;
&lt;br /&gt;
  Simbología: E(x): x es ejecutivo, P(x): x es poeta, I(x): x es imaginativo, &lt;br /&gt;
  R(x): x es amante del riesgo. *}&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_14&amp;diff=292</id>
		<title>Relación 14</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_14&amp;diff=292"/>
		<updated>2015-05-11T12:33:31Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;lt;  &amp;lt;/source&amp;gt;&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;lt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=291</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=291"/>
		<updated>2015-05-11T12:33:06Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]] y [[Relación 2a |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden.([[R14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=290</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=290"/>
		<updated>2015-05-11T12:32:36Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]] y [[Relación 2a |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Argumentación y Deducción natural en lógica de primer orden&lt;br /&gt;
 ([[Rel_14 |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_13&amp;diff=289</id>
		<title>Relación 13</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_13&amp;diff=289"/>
		<updated>2015-05-10T15:32:53Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 13: Cuestiones  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar la siguiente afirmación:&lt;br /&gt;
&lt;br /&gt;
* Para toda fórmula F se tiene que si G es una forma de Skolem de F entonces ⊧ F ⇔ G.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Dar una fórmula F, tal que todo modelo de F tenga al menos 3 elementos. Generalizarlo a n cualquiera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Dar una fórmula F satisfacible, tal que todos sus modelos sean necesariamante infinitos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; ¿Cuántos elementos han de tener los modelos de la fórmula F: ∀x f(f(x))= x ∧ ∀x f(x) ≠ x?&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_13&amp;diff=288</id>
		<title>Relación 13</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_13&amp;diff=288"/>
		<updated>2015-05-10T15:32:21Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039; === Relación 13: Cuestiones  ===  ---- &amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar la siguiente afirmación:  * Para toda fórmula F se tiene que si G es una forma de Skolem de F e...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Relación 13: Cuestiones  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar la siguiente afirmación:&lt;br /&gt;
&lt;br /&gt;
* Para toda fórmula F se tiene que si G es una forma de Skolem de F entonces ⊧ F ⇔ G.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Dar una fórmula F, tal que todo modelo de F tenga al menos 3 elementos. Generalizarlo a n cualquiera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Dar una fórmula F satisfacible, tal que todos sus modelos sean necesariamante infinitos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; ¿Cuántos elementos han de tener los modelos de la fórmula F = ∀x f(f(x))= x ∧ ∀x f(x) ≠ x?&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R13&amp;diff=287</id>
		<title>R13</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R13&amp;diff=287"/>
		<updated>2015-05-10T15:32:09Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Protegió «R13» ([edit=sysop] (indefinido) [move=sysop] (indefinido))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Relación 13: Cuestiones  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar la siguiente afirmación:&lt;br /&gt;
&lt;br /&gt;
* Para toda fórmula F se tiene que si G es una forma de Skolem de F entonces ⊧ F ⇔ G.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Dar una fórmula F, tal que todo modelo de F tenga al menos 3 elementos. Generalizarlo a n cualquiera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Dar una fórmula F satisfacible, tal que todos sus modelos sean necesariamante infinitos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; ¿Cuántos elementos han de tener los modelos de la fórmula F = ∀x f(f(x))= x ∧ ∀x f(x) ≠ x?&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R13&amp;diff=286</id>
		<title>R13</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=R13&amp;diff=286"/>
		<updated>2015-05-10T15:31:52Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039; === Relación 13: Cuestiones  ===  ---- &amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar la siguiente afirmación:  * Para toda fórmula F se tiene que si G es una forma de Skolem de F e...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Relación 13: Cuestiones  ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar la siguiente afirmación:&lt;br /&gt;
&lt;br /&gt;
* Para toda fórmula F se tiene que si G es una forma de Skolem de F entonces ⊧ F ⇔ G.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Dar una fórmula F, tal que todo modelo de F tenga al menos 3 elementos. Generalizarlo a n cualquiera.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Dar una fórmula F satisfacible, tal que todos sus modelos sean necesariamante infinitos.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; ¿Cuántos elementos han de tener los modelos de la fórmula F = ∀x f(f(x))= x ∧ ∀x f(x) ≠ x?&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=285</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=285"/>
		<updated>2015-05-10T15:31:22Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]] y [[Relación 2a |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R13 |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_12&amp;diff=279</id>
		<title>Relación 12</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_12&amp;diff=279"/>
		<updated>2015-04-29T10:24:49Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt; -- ResolucionProposicional.hs -- Resolución proposicional. -- ---------------------------------------------------------------------  module Resolucion...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- ResolucionProposicional.hs&lt;br /&gt;
-- Resolución proposicional.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
module ResolucionProposicional where&lt;br /&gt;
&lt;br /&gt;
import SintaxisSemantica&lt;br /&gt;
import FormasNormales&lt;br /&gt;
import Clausulas&lt;br /&gt;
import Data.List&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Resolventes                                                        --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir la función&lt;br /&gt;
--    resolvente :: Cláusula -&amp;gt; Cláusula -&amp;gt; Literal -&amp;gt; Cláusula&lt;br /&gt;
-- tal que (resolvente c1 c2 l) es la resolvente de c1 y c2 respecto del&lt;br /&gt;
-- literal l. Por ejemplo,&lt;br /&gt;
--    resolvente [no p,q] [no q,r] q  ==&amp;gt;  [no p,r]&lt;br /&gt;
--    resolvente [no p,no q] [q,r] (no q)  ==&amp;gt;  [no p,r]&lt;br /&gt;
--    resolvente [no p,q] [no p,no q] q  ==&amp;gt;  [no p]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
resolvente :: Cláusula -&amp;gt; Cláusula -&amp;gt; Literal -&amp;gt; Cláusula&lt;br /&gt;
resolvente c1 c2 l = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir la función&lt;br /&gt;
--    resolventes :: Cláusula -&amp;gt; Cláusula -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (resolventes c1 c2) es el conjunto de las resolventes de c1 y&lt;br /&gt;
-- c2. Por ejemplo,&lt;br /&gt;
--    resolventes [no p,q] [p,no q]  ==&amp;gt;  [[q,no q],[no p,p]]&lt;br /&gt;
--    resolventes [no p,q] [p,q]     ==&amp;gt;  [[q]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
resolventes :: Cláusula -&amp;gt; Cláusula -&amp;gt; [Cláusula]&lt;br /&gt;
resolventes c1 c2 = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3: Definir la función&lt;br /&gt;
--    resolventesCláusulaConjunto :: Cláusula -&amp;gt; [Cláusula] -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (resolventes c s) es el conjunto de las resolventes de c y&lt;br /&gt;
-- s. Por ejemplo, &lt;br /&gt;
--    resolventesCláusulaConjunto [no p,q] [[p,q],[p,r],[no q,s]]&lt;br /&gt;
--    ==&amp;gt; [[q],[q,r],[no p,s]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
resolventesCláusulaConjunto :: Cláusula -&amp;gt; [Cláusula] -&amp;gt; [Cláusula]&lt;br /&gt;
resolventesCláusulaConjunto c s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Eliminación de tautologías                                         --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir la función&lt;br /&gt;
--    esTautología :: Cláusula -&amp;gt; Bool&lt;br /&gt;
-- tal que (esTautología c) se verifica si c es una tautología. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esTautología [p, q, no p]  ==&amp;gt;  True&lt;br /&gt;
--    esTautología [p, q, no r]  ==&amp;gt;  False&lt;br /&gt;
--    esTautología []            ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esTautología :: Cláusula -&amp;gt; Bool&lt;br /&gt;
esTautología c = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir la función&lt;br /&gt;
--    eliminaTautologías :: [Cláusula] -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (eliminaTautologías s) es el conjunto obtenido eliminando las&lt;br /&gt;
-- tautologías de s. Por ejemplo,&lt;br /&gt;
--    eliminaTautologías [[p, q], [p, q, no p]]  ==&amp;gt;  [[p,q]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
eliminaTautologías :: [Cláusula] -&amp;gt; [Cláusula]&lt;br /&gt;
eliminaTautologías s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Decisión de inconsistencia por resolución                          --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4: Definir la función&lt;br /&gt;
--    esInconsistentePorResolución :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esInconsistentePorResolución s) se verifica si s es&lt;br /&gt;
-- inconsistente mediante resolución. Por ejemplo,&lt;br /&gt;
--    esInconsistentePorResolución [[p],[no p,q],[no q]]&lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esInconsistentePorResolución [[p],[no p,q]]&lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
--    esInconsistentePorResolución [[p,q],[no p,q],[p,no q],[no p,no q]]&lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esInconsistentePorResolución [[p,q],[p,r],[no q,no r],[no p]]&lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esInconsistentePorResolución :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
esInconsistentePorResolución s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Validez mediante resolución                                        --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5: Definir la función&lt;br /&gt;
--    esVálidaPorResolución :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esVálidaPorResolución f) se verifica si f es válida por&lt;br /&gt;
-- resolución. Por ejemplo, &lt;br /&gt;
--    esVálidaPorResolución (p --&amp;gt; p)                 ==&amp;gt;  True&lt;br /&gt;
--    esVálidaPorResolución ((p --&amp;gt; q) \/ (q --&amp;gt; p))  ==&amp;gt;  True&lt;br /&gt;
--    esVálidaPorResolución (p --&amp;gt; q)                 ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esVálidaPorResolución :: Prop -&amp;gt; Bool&lt;br /&gt;
esVálidaPorResolución f = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Consecuencia mediante resolución                                   --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6: Definir la función&lt;br /&gt;
--    esConsecuenciaPorResolución :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConsecuenciaPorResolución s f) se verifica si f es&lt;br /&gt;
-- consecuencia de s mediante el método de resolución. Por ejemplo,&lt;br /&gt;
--    esConsecuenciaPorResolución [p --&amp;gt; q, q --&amp;gt; r] (p --&amp;gt; r)  &lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esConsecuenciaPorResolución [p --&amp;gt; q, q --&amp;gt; r] (p &amp;lt;--&amp;gt; r)&lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConsecuenciaPorResolución :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esConsecuenciaPorResolución s f = undefined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_11&amp;diff=278</id>
		<title>Relación 11</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Relaci%C3%B3n_11&amp;diff=278"/>
		<updated>2015-04-29T10:24:05Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt; -- Clausulas.hs -- Cláusulas. -- ---------------------------------------------------------------------  module Clausulas where  -- -------------------...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- Clausulas.hs&lt;br /&gt;
-- Cláusulas.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
module Clausulas where&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Librería suxiliares                                                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import SintaxisSemantica&lt;br /&gt;
import FormasNormales&lt;br /&gt;
import Data.List&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Cláusulas                                                          --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir el tipo de datos Cláusula como una lista de&lt;br /&gt;
-- literales. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
type Cláusula = [Literal]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir la función&lt;br /&gt;
--    cláusula :: Prop -&amp;gt; Cláusula&lt;br /&gt;
-- tal que (cláusula f) es la cláusula de la fórmula-clausal f. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cláusula p                                 ==&amp;gt;  [p]&lt;br /&gt;
--    cláusula (no p)                            ==&amp;gt;  [no p]&lt;br /&gt;
--    cláusula (((no p) \/ r) \/ ((no p) \/ q))  ==&amp;gt;  [q,r,no p]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cláusula :: Prop -&amp;gt; Cláusula&lt;br /&gt;
cláusula f = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3: Definir la función&lt;br /&gt;
--    cláusulasFNC :: Prop -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (cláusulasFNC f) es el conjunto de cláusulas de la fórmula en&lt;br /&gt;
-- forma normal conjuntiva f. Por ejmplo,&lt;br /&gt;
--    cláusulasFNC (p /\ ((no q) \/ r))&lt;br /&gt;
--    ==&amp;gt; [[p],[r, no q]]&lt;br /&gt;
--    cláusulasFNC (((no p) \/ q) /\ ((no p) \/ (no r)))&lt;br /&gt;
--    ==&amp;gt; [[q, no p],[no p,no r]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cláusulasFNC :: Prop -&amp;gt; [Cláusula]&lt;br /&gt;
cláusulasFNC = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4: Definir la función&lt;br /&gt;
--    cláusulas :: Prop -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (cláusulas f) es un conjunto de cláusulas equivalente a&lt;br /&gt;
-- f. Por ejemplo,&lt;br /&gt;
--    cláusulas (p /\ (q --&amp;gt; r))       &lt;br /&gt;
--    ==&amp;gt; [[p],[r,no q]]&lt;br /&gt;
--    cláusulas (no (p /\ (q --&amp;gt; r)))  &lt;br /&gt;
--    ==&amp;gt; [[q,no p],[no p,no r]]&lt;br /&gt;
--    cláusulas (no(p &amp;lt;--&amp;gt; r))         &lt;br /&gt;
--    ==&amp;gt; [[p,r],[p,no p],[r,no r],[no p,no r]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cláusulas :: Prop -&amp;gt; [Cláusula]&lt;br /&gt;
cláusulas f = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Cláusulas de un conjunto de fórmulas                               --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5: Definir la función&lt;br /&gt;
--    cláusulasConjunto :: [Prop] -&amp;gt; [Cláusula]&lt;br /&gt;
-- tal que (cláusulasConjunto s) es un conjunto de cláusulas equivalente&lt;br /&gt;
-- a s. Por ejemplo,&lt;br /&gt;
--    cláusulasConjunto [p --&amp;gt; q, q --&amp;gt; r]   ==&amp;gt;  [[q,no p],[r,no q]]&lt;br /&gt;
--    cláusulasConjunto [p --&amp;gt; q, q &amp;lt;--&amp;gt; p]  ==&amp;gt;  [[q,no p],[p,no q]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cláusulasConjunto :: [Prop] -&amp;gt; [Cláusula]&lt;br /&gt;
cláusulasConjunto s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Símbolos proposicionales de una cláusula                           --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6: Definir la función&lt;br /&gt;
--    símbolosProposicionalesCláusula :: Cláusula -&amp;gt; [Prop]&lt;br /&gt;
-- tal que (símbolosProposicionalesCláusula c) es el conjunto de los&lt;br /&gt;
-- símbolos proposicionales de c. Por ejemplo,&lt;br /&gt;
--    símbolosProposicionalesCláusula [p, q, no p]  ==&amp;gt;  [p,q]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
símbolosProposicionalesCláusula :: Cláusula -&amp;gt; [Prop]&lt;br /&gt;
símbolosProposicionalesCláusula = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Símbolos proposicionales de un conjunto de cláusulas               --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7: Definir la función&lt;br /&gt;
--    símbolosProposicionalesConjuntoCláusula :: [Cláusula] -&amp;gt; [Prop]&lt;br /&gt;
-- tal que (símbolosProposicionalesConjuntoCláusula s) es el conjunto de los&lt;br /&gt;
-- símbolos proposicionales de s. Por ejemplo,&lt;br /&gt;
--    símbolosProposicionalesConjuntoCláusula [[p, q],[no q, r]]&lt;br /&gt;
--    ==&amp;gt; [p,q,r]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
símbolosProposicionalesConjuntoCláusula :: [Cláusula] -&amp;gt; [Prop]&lt;br /&gt;
símbolosProposicionalesConjuntoCláusula s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Interpretaciones de una cláusula                                   --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8: Definir la función&lt;br /&gt;
--    interpretacionesCláusula :: Cláusula -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (interpretacionesCláusula c) es el conjunto de&lt;br /&gt;
-- interpretaciones de c. Por ejemplo,&lt;br /&gt;
--    interpretacionesCláusula [p, q, no p]  ==&amp;gt;  [[p,q],[p],[q],[]]&lt;br /&gt;
--    interpretacionesCláusula []            ==&amp;gt;  [[]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interpretacionesCláusula :: Cláusula -&amp;gt; [Interpretación]&lt;br /&gt;
interpretacionesCláusula c = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Interpretaciones de un conjunto de cláusulas                       --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9: Definir la función&lt;br /&gt;
--    interpretacionesConjuntoCláusula :: [Cláusula] -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (interpretacionesConjuntoCláusula s) es el conjunto de&lt;br /&gt;
-- interpretaciones de s. Por ejemplo,&lt;br /&gt;
--    interpretacionesConjuntoCláusula [[p, no q],[no p, q]]&lt;br /&gt;
--    ==&amp;gt; [[p,q],[p],[q],[]]&lt;br /&gt;
--    interpretacionesConjuntoCláusula []&lt;br /&gt;
--    ==&amp;gt; [[]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interpretacionesConjuntoCláusula :: [Cláusula] -&amp;gt; [Interpretación]&lt;br /&gt;
interpretacionesConjuntoCláusula c = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Modelos de cláusulas                                               --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10: Definir la función&lt;br /&gt;
--    esModeloLiteral :: Interpretación -&amp;gt; Literal -&amp;gt; Bool&lt;br /&gt;
-- tal que (esModeloLiteral i l) se verifica si i es modelo de l. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esModeloLiteral [p,r] p       ==&amp;gt;  True&lt;br /&gt;
--    esModeloLiteral [p,r] q       ==&amp;gt;  False&lt;br /&gt;
--    esModeloLiteral [p,r] (no p)  ==&amp;gt;  False&lt;br /&gt;
--    esModeloLiteral [p,r] (no q)  ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esModeloLiteral :: Interpretación -&amp;gt; Literal -&amp;gt; Bool&lt;br /&gt;
esModeloLiteral = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11: Definir la función&lt;br /&gt;
--    esModeloCláusula :: Interpretación -&amp;gt; Cláusula -&amp;gt; Bool&lt;br /&gt;
-- tal que (esModeloCláusula i c) se verifica si i es modelo de c . Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esModeloCláusula [p,r] [p, q]     ==&amp;gt;  True&lt;br /&gt;
--    esModeloCláusula [r] [p, no q]    ==&amp;gt;  True&lt;br /&gt;
--    esModeloCláusula [q,r] [p, no q]  ==&amp;gt;  False&lt;br /&gt;
--    esModeloCláusula [q,r] []         ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esModeloCláusula :: Interpretación -&amp;gt; Cláusula -&amp;gt; Bool&lt;br /&gt;
esModeloCláusula i c = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12: Definir la función&lt;br /&gt;
--    modelosCláusula :: Cláusula -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (modelosCláusula c) es la lista de los modelos de c. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    modelosCláusula [no p, q]  ==&amp;gt;  [[p,q],[q],[]]&lt;br /&gt;
--    modelosCláusula [no p, p]  ==&amp;gt;  [[p],[]]&lt;br /&gt;
--    modelosCláusula []         ==&amp;gt;  []&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
modelosCláusula :: Cláusula -&amp;gt; [Interpretación]&lt;br /&gt;
modelosCláusula c = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Modelos de conjuntos de cláusulas                                  --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13: Definir la función&lt;br /&gt;
--    esModeloConjuntoCláusulas :: Interpretación -&amp;gt; [Cláusula] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esModeloConjuntoCláusulas i c) se verifica si i es modelo de&lt;br /&gt;
-- c. Por ejemplo,&lt;br /&gt;
--    esModeloConjuntoCláusulas [p,r] [[p, no q], [r]]  ==&amp;gt;  True&lt;br /&gt;
--    esModeloConjuntoCláusulas [p] [[p, no q], [r]]    ==&amp;gt;  False&lt;br /&gt;
--    esModeloConjuntoCláusulas [p] []                  ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esModeloConjuntoCláusulas :: Interpretación -&amp;gt; [Cláusula] -&amp;gt; Bool&lt;br /&gt;
esModeloConjuntoCláusulas i s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 14: Definir la función&lt;br /&gt;
--    modelosConjuntoCláusulas :: [Cláusula] -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (modelosConjuntoCláusulas s) es la lista de los modelos de&lt;br /&gt;
-- s. Por ejemplo, &lt;br /&gt;
--    modelosConjuntoCláusulas [[no p, q], [no q, p]]    &lt;br /&gt;
--    ==&amp;gt; [[p,q],[]]&lt;br /&gt;
--    modelosConjuntoCláusulas [[no p, q], [p], [no q]]  &lt;br /&gt;
--    ==&amp;gt; []&lt;br /&gt;
--    modelosConjuntoCláusulas [[p, no p, q]]            &lt;br /&gt;
--    ==&amp;gt; [[p,q],[p],[q],[]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
modelosConjuntoCláusulas :: [Cláusula] -&amp;gt; [Interpretación]&lt;br /&gt;
modelosConjuntoCláusulas s = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Cláusulas válidas, satisfacibles e insatisfacibles                 --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 15: Definir la función&lt;br /&gt;
--    esCláusulaVálida :: Cláusula -&amp;gt; Bool&lt;br /&gt;
-- tal que (esCláusulaVálida c) se verifica si la cláusula c es&lt;br /&gt;
-- válida. Por ejemplo, &lt;br /&gt;
--    esCláusulaVálida [p, q, no p]  ==&amp;gt;  True&lt;br /&gt;
--    esCláusulaVálida [p, q, no r]  ==&amp;gt;  False&lt;br /&gt;
--    esCláusulaVálida []            ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esCláusulaVálida :: Cláusula -&amp;gt; Bool&lt;br /&gt;
esCláusulaVálida c = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 16: Definir la función&lt;br /&gt;
--    esCláusulaInsatisfacible :: Cláusula -&amp;gt; Bool&lt;br /&gt;
-- tal que (esCláusulaInsatisfacible c) se verifica si la cláusula c es&lt;br /&gt;
-- insatisfacible. Por ejemplo, &lt;br /&gt;
--    esCláusulaInsatisfacible [p, q, no p]  ==&amp;gt;  False&lt;br /&gt;
--    esCláusulaInsatisfacible [p, q, no r]  ==&amp;gt;  False&lt;br /&gt;
--    esCláusulaInsatisfacible []            ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esCláusulaInsatisfacible :: Cláusula -&amp;gt; Bool&lt;br /&gt;
esCláusulaInsatisfacible c = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 17: Definir la función&lt;br /&gt;
--    esCláusulaSatisfacible :: Cláusula -&amp;gt; Bool&lt;br /&gt;
-- tal que (esCláusulaSatisfacible c) se verifica si la cláusula c es&lt;br /&gt;
-- satisfacible. Por ejemplo, &lt;br /&gt;
--    esCláusulaSatisfacible [p, q, no p]  ==&amp;gt;  True&lt;br /&gt;
--    esCláusulaSatisfacible [p, q, no r]  ==&amp;gt;  True&lt;br /&gt;
--    esCláusulaSatisfacible []  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esCláusulaSatisfacible :: Cláusula -&amp;gt; Bool&lt;br /&gt;
esCláusulaSatisfacible c = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Conjuntos válidos, consistentes e inconsistentes de cláusulas      --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 18: Definir la función&lt;br /&gt;
--    esConjuntoVálidoDeCláusulas :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConjuntoVálidoDeCláusulas s) se verifica si el conjunto de&lt;br /&gt;
-- cláusulas s es válido. Por ejemplo,&lt;br /&gt;
--    esConjuntoVálidoDeCláusulas [[no p, q], [no q, p]]  ==&amp;gt;  False&lt;br /&gt;
--    esConjuntoVálidoDeCláusulas [[no p, p], [no q, q]]  ==&amp;gt;  True&lt;br /&gt;
--    esConjuntoVálidoDeCláusulas []                      ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConjuntoVálidoDeCláusulas :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
esConjuntoVálidoDeCláusulas s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 19: Definir la función&lt;br /&gt;
--    esConjuntoConsistenteDeCláusulas :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConjuntoConsistenteDeCláusulas s) se verifica si el&lt;br /&gt;
-- conjunto de cláusulas s es consistente. Por ejemplo,&lt;br /&gt;
--    esConjuntoConsistenteDeCláusulas [[no p, q], [no q, p]]  ==&amp;gt;  True&lt;br /&gt;
--    esConjuntoConsistenteDeCláusulas [[no p, p], [no q, q]]  ==&amp;gt;  True&lt;br /&gt;
--    esConjuntoConsistenteDeCláusulas []                      ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConjuntoConsistenteDeCláusulas :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
esConjuntoConsistenteDeCláusulas s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 20: Definir la función&lt;br /&gt;
--    esConjuntoInconsistenteDeCláusulas :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConjuntoInconsistenteDeCláusulas s) se verifica si el&lt;br /&gt;
-- conjunto de cláusulas s es consistente. Por ejemplo,&lt;br /&gt;
--    esConjuntoInconsistenteDeCláusulas [[no p,q],[no q,p]]  ==&amp;gt;  False&lt;br /&gt;
--    esConjuntoInconsistenteDeCláusulas [[no p],[p]]         ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConjuntoInconsistenteDeCláusulas :: [Cláusula] -&amp;gt; Bool&lt;br /&gt;
esConjuntoInconsistenteDeCláusulas s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Validez de fórmulas mediante cláusulas                             --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 21: Definir la función&lt;br /&gt;
--    esVálidaPorCláusulas :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esVálidaPorCláusulas f) se verifica si el conjunto de&lt;br /&gt;
-- cláusulas de f es válido. Por ejemplo,&lt;br /&gt;
--    esVálidaPorCláusulas (p --&amp;gt; q)                 ==&amp;gt;  False&lt;br /&gt;
--    esVálidaPorCláusulas (p --&amp;gt; p)                 ==&amp;gt;  True&lt;br /&gt;
--    esVálidaPorCláusulas ((p --&amp;gt; q) \/ (q --&amp;gt; p))  ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esVálidaPorCláusulas :: Prop -&amp;gt; Bool&lt;br /&gt;
esVálidaPorCláusulas f = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Consecuencia mediante cláusulas                                    --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 22: Definir la función&lt;br /&gt;
--    esConsecuenciaEntreCláusulas :: [Cláusula] -&amp;gt; [Cláusula] -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConsecuenciaEntreCláusulas s1 s2) se verifica si todos los&lt;br /&gt;
-- modelos de s1 son modelos de s2. Por ejemplo,&lt;br /&gt;
--    esConsecuenciaEntreCláusulas [[no p,q],[no q,r]] [[no p,r]]  &lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esConsecuenciaEntreCláusulas [[p]] [[p],[q]]                 &lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConsecuenciaEntreCláusulas :: [Cláusula] -&amp;gt; [Cláusula] -&amp;gt; Bool&lt;br /&gt;
esConsecuenciaEntreCláusulas s1 s2 = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 23: Definir la función&lt;br /&gt;
--    esConsecuenciaPorCláusulas1 :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esConsecuenciaPorCláusulas s f) se verifica si las cláusulas&lt;br /&gt;
-- de f son consecuencias de las de s. Por ejemplo,&lt;br /&gt;
--    esConsecuenciaPorCláusulas [(p --&amp;gt; q), (q --&amp;gt; r)] (p --&amp;gt; r)&lt;br /&gt;
--    ==&amp;gt; True&lt;br /&gt;
--    esConsecuenciaPorCláusulas [p] (p /\ q)&lt;br /&gt;
--    ==&amp;gt; False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esConsecuenciaPorCláusulas :: [Prop] -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esConsecuenciaPorCláusulas s f = undefined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Archivo:ResolucionProposicional.hs&amp;diff=277</id>
		<title>Archivo:ResolucionProposicional.hs</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Archivo:ResolucionProposicional.hs&amp;diff=277"/>
		<updated>2015-04-29T10:23:17Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Archivo:Clausulas.hs&amp;diff=276</id>
		<title>Archivo:Clausulas.hs</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Archivo:Clausulas.hs&amp;diff=276"/>
		<updated>2015-04-29T10:23:03Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Una_soluci%C3%B3n&amp;diff=275</id>
		<title>Una solución</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=Una_soluci%C3%B3n&amp;diff=275"/>
		<updated>2015-04-29T10:22:29Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: Página creada con &amp;#039;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt; -- FormasNormales.hs -- Formas normales. -- ---------------------------------------------------------------------  module FormasNormales where  -- ----...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- FormasNormales.hs&lt;br /&gt;
-- Formas normales.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
module FormasNormales where&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Librería suxiliares                                                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import SintaxisSemantica &lt;br /&gt;
import Data.List&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Equivalencia lógica                                                --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1: Definir la función&lt;br /&gt;
--    esEquivalente :: Prop -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esEquivalente f g) se verifica si f y g son&lt;br /&gt;
-- equivalentes. Por ejemplo,&lt;br /&gt;
--    esEquivalente (p &amp;lt;--&amp;gt; q) ((p --&amp;gt; q) /\ (q --&amp;gt; p))  ==&amp;gt;  True&lt;br /&gt;
--    esEquivalente (p --&amp;gt; q)  ((no p) \/ q)             ==&amp;gt;  True&lt;br /&gt;
--    esEquivalente (p /\ q)   (no ((no p) \/ (no q)))   ==&amp;gt;  True&lt;br /&gt;
--    esEquivalente (p \/ q)   (no ((no p) /\ (no q)))   ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
esEquivalente :: Prop -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esEquivalente f g = esVálida (Equi f g)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Transformación a forma normal negativa                             --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2: Definir la función&lt;br /&gt;
--    eliminaEquivalencias :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (eliminaEquivalencias f) es una fórmula equivalente a f sin&lt;br /&gt;
-- signos de equivalencia. Por ejemplo,&lt;br /&gt;
--    eliminaEquivalencias (p &amp;lt;--&amp;gt; q)&lt;br /&gt;
--    ==&amp;gt; ((p --&amp;gt; q) /\ (q --&amp;gt; p))&lt;br /&gt;
--    eliminaEquivalencias ((p &amp;lt;--&amp;gt; q) /\ (q &amp;lt;--&amp;gt; r))&lt;br /&gt;
--    ==&amp;gt; (((p --&amp;gt; q) /\ (q --&amp;gt; p)) /\ ((q --&amp;gt; r) /\ (r --&amp;gt; q)))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
eliminaEquivalencias :: Prop -&amp;gt; Prop&lt;br /&gt;
eliminaEquivalencias (Atom f)   = &lt;br /&gt;
    (Atom f)&lt;br /&gt;
eliminaEquivalencias (Neg f)    = &lt;br /&gt;
    Neg (eliminaEquivalencias f) &lt;br /&gt;
eliminaEquivalencias (Conj f g) = &lt;br /&gt;
    Conj (eliminaEquivalencias f) (eliminaEquivalencias g) &lt;br /&gt;
eliminaEquivalencias (Disj f g) = &lt;br /&gt;
    Disj (eliminaEquivalencias f) (eliminaEquivalencias g) &lt;br /&gt;
eliminaEquivalencias (Impl f g) = &lt;br /&gt;
    Impl (eliminaEquivalencias f) (eliminaEquivalencias g) &lt;br /&gt;
eliminaEquivalencias (Equi f g) = &lt;br /&gt;
    Conj (Impl (eliminaEquivalencias f) (eliminaEquivalencias g))&lt;br /&gt;
         (Impl (eliminaEquivalencias g) (eliminaEquivalencias f))&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3: Definir la función&lt;br /&gt;
--    eliminaImplicaciones :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (eliminaImplicaciones f) es una fórmula equivalente a f sin&lt;br /&gt;
-- signos de implicación. Por ejemplo,&lt;br /&gt;
--    eliminaImplicaciones (p --&amp;gt; q)&lt;br /&gt;
--    ==&amp;gt; (no p \/ q)&lt;br /&gt;
--    eliminaImplicaciones (eliminaEquivalencias (p &amp;lt;--&amp;gt; q))&lt;br /&gt;
--    ==&amp;gt; ((no p \/ q) /\ (no q \/ p))&lt;br /&gt;
-- Nota: Se supone que f no tiene signos de equivalencia.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
eliminaImplicaciones :: Prop -&amp;gt; Prop&lt;br /&gt;
eliminaImplicaciones (Atom f)   = &lt;br /&gt;
    (Atom f)&lt;br /&gt;
eliminaImplicaciones (Neg f)    = &lt;br /&gt;
    Neg (eliminaImplicaciones f) &lt;br /&gt;
eliminaImplicaciones (Conj f g) = &lt;br /&gt;
    Conj (eliminaImplicaciones f) (eliminaImplicaciones g) &lt;br /&gt;
eliminaImplicaciones (Disj f g) = &lt;br /&gt;
    Disj (eliminaImplicaciones f) (eliminaImplicaciones g) &lt;br /&gt;
eliminaImplicaciones (Impl f g) = &lt;br /&gt;
    Disj (Neg (eliminaImplicaciones f)) (eliminaImplicaciones g) &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4: Definir la función&lt;br /&gt;
--    interiorizaNegación :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (interiorizaNegación f) es una fórmula equivalente a f donde&lt;br /&gt;
-- las negaciones se aplican sólo a fórmulas atómicas. Por ejemplo,&lt;br /&gt;
--    interiorizaNegación (no (no p))         ==&amp;gt;  p&lt;br /&gt;
--    interiorizaNegación (no (p /\ q))       ==&amp;gt;  (no p \/ no q)&lt;br /&gt;
--    interiorizaNegación (no (p \/ q))       ==&amp;gt;  (no p /\ no q)&lt;br /&gt;
--    interiorizaNegación (no (no (p \/ q)))  ==&amp;gt;  (p \/ q)&lt;br /&gt;
--    interiorizaNegación (no ((no p) \/ q))  ==&amp;gt;  (p /\ no q)&lt;br /&gt;
-- Nota: Se supone que f no tiene equivalencias ni implicaciones. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interiorizaNegación :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaNegación (Atom f)   = &lt;br /&gt;
    (Atom f)&lt;br /&gt;
interiorizaNegación (Neg f)    = &lt;br /&gt;
    interiorizaNegaciónAux f&lt;br /&gt;
interiorizaNegación (Conj f g) = &lt;br /&gt;
    Conj (interiorizaNegación f) (interiorizaNegación g) &lt;br /&gt;
interiorizaNegación (Disj f g) = &lt;br /&gt;
    Disj (interiorizaNegación f) (interiorizaNegación g) &lt;br /&gt;
&lt;br /&gt;
interiorizaNegaciónAux :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaNegaciónAux (Atom f)   = &lt;br /&gt;
    Neg (Atom f)&lt;br /&gt;
interiorizaNegaciónAux (Neg f)    = &lt;br /&gt;
    interiorizaNegación f &lt;br /&gt;
interiorizaNegaciónAux (Conj f g) = &lt;br /&gt;
    Disj (interiorizaNegaciónAux f) (interiorizaNegaciónAux g) &lt;br /&gt;
interiorizaNegaciónAux (Disj f g) = &lt;br /&gt;
    Conj (interiorizaNegaciónAux f) (interiorizaNegaciónAux g) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
interiorizaNegacion :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaNegacion (Atom p) = Atom p&lt;br /&gt;
interiorizaNegacion (Neg (Atom p)) = Neg (Atom p)&lt;br /&gt;
interiorizaNegacion (Conj p q) = Conj (interiorizaNegacion p)&lt;br /&gt;
                                 (interiorizaNegacion q)&lt;br /&gt;
interiorizaNegacion (Disj p q) = Disj (interiorizaNegacion p)&lt;br /&gt;
                                 (interiorizaNegacion q)&lt;br /&gt;
interiorizaNegacion (Neg (Neg p)) = interiorizaNegacion p &lt;br /&gt;
interiorizaNegacion (Neg (Conj p q)) = Disj (interiorizaNegacion(Neg p)) &lt;br /&gt;
                                       (interiorizaNegacion(Neg q))&lt;br /&gt;
interiorizaNegacion (Neg (Disj p q)) = Conj (interiorizaNegacion(Neg p)) &lt;br /&gt;
                                       (interiorizaNegacion(Neg q))&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5: Definir la función&lt;br /&gt;
--    formaNormalNegativa :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (formaNormalNegativa f) es una fórmula equivalente a f en&lt;br /&gt;
-- forma normal negativa. Por ejemplo,&lt;br /&gt;
--    formaNormalNegativa (p &amp;lt;--&amp;gt; q)&lt;br /&gt;
--    ==&amp;gt; ((no p \/ q) /\ (no q \/ p))&lt;br /&gt;
--    formaNormalNegativa ((p \/ (no q)) --&amp;gt; r)&lt;br /&gt;
--    ==&amp;gt; ((no p /\ q) \/ r)&lt;br /&gt;
--    formaNormalNegativa ((p /\ (q --&amp;gt; r)) --&amp;gt; s)&lt;br /&gt;
--    ==&amp;gt; ((no p \/ (q /\ no r)) \/ s)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
formaNormalNegativa :: Prop -&amp;gt; Prop&lt;br /&gt;
formaNormalNegativa f =&lt;br /&gt;
    interiorizaNegación (eliminaImplicaciones (eliminaEquivalencias f))&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Literales                                                          --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6: Definir la función&lt;br /&gt;
--    literal :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (literal f) se verifica si la fórmula F es un literal. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    literal p               ==&amp;gt;  True&lt;br /&gt;
--    literal (no p)          ==&amp;gt;  True&lt;br /&gt;
--    literal (no (p --&amp;gt; q))  ==&amp;gt;  False&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
literal :: Prop -&amp;gt; Bool&lt;br /&gt;
literal (Atom f)       = True&lt;br /&gt;
literal (Neg (Atom f)) = True&lt;br /&gt;
literal _              = False&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7: Definir el tipo de dato Literal como sinónimo de&lt;br /&gt;
-- fórmula. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
type Literal = Prop&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8: Definir la función&lt;br /&gt;
--    complementario :: Literal -&amp;gt; Literal&lt;br /&gt;
-- tal que (complementario l) es el complementario de l. Por ejemplo,&lt;br /&gt;
--    complementario p       ==&amp;gt;  no p&lt;br /&gt;
--    complementario (no p)  ==&amp;gt;  p&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
complementario :: Literal -&amp;gt; Literal&lt;br /&gt;
complementario (Atom f)       = Neg (Atom f)&lt;br /&gt;
complementario (Neg (Atom f)) = Atom f&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9: Definir la función&lt;br /&gt;
--    literalesFórmulaFNN :: Prop -&amp;gt; [Literal]&lt;br /&gt;
-- tal que (literalesFórmulaFNN f) es el conjunto de los literales de la&lt;br /&gt;
-- fórmula en forma normal negativa f.&lt;br /&gt;
--    literalesFórmulaFNN (p \/ ((no q) \/ r))  ==&amp;gt;  [p,no q,r]&lt;br /&gt;
--    literalesFórmulaFNN p                     ==&amp;gt;  [p]&lt;br /&gt;
--    literalesFórmulaFNN (no p)                ==&amp;gt;  [no p]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
literalesFórmulaFNN :: Prop -&amp;gt; [Literal]&lt;br /&gt;
literalesFórmulaFNN (Disj f g) =&lt;br /&gt;
    (literalesFórmulaFNN f) `union` (literalesFórmulaFNN g)&lt;br /&gt;
literalesFórmulaFNN (Conj f g) =&lt;br /&gt;
    (literalesFórmulaFNN f) `union` (literalesFórmulaFNN g)&lt;br /&gt;
literalesFórmulaFNN f          = [f]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Transformación a forma normal conjuntiva                           --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10: Definir la función&lt;br /&gt;
--    interiorizaDisyunción :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (interiorizaDisyunción f) es una fórmula equivalente a f&lt;br /&gt;
-- donde las disyunciones sólo se aplica a disyunciones o literales. Por&lt;br /&gt;
-- ejemplo,  &lt;br /&gt;
--    interiorizaDisyunción (p \/ (q /\ r))  ==&amp;gt;  ((p \/ q) /\ (p \/ r))&lt;br /&gt;
--    interiorizaDisyunción ((p /\ q) \/ r)  ==&amp;gt;  ((p \/ r) /\ (q \/ r))&lt;br /&gt;
-- Nota: Se supone que f está en forma normal negativa.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interiorizaDisyunción :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaDisyunción (Disj (Conj f1 f2) g) =&lt;br /&gt;
    interiorizaDisyunción &lt;br /&gt;
    (Conj (Disj (interiorizaDisyunción f1) (interiorizaDisyunción g))&lt;br /&gt;
          (Disj (interiorizaDisyunción f2) (interiorizaDisyunción g)))&lt;br /&gt;
interiorizaDisyunción (Disj f (Conj g1 g2)) =&lt;br /&gt;
    interiorizaDisyunción&lt;br /&gt;
    (Conj (Disj (interiorizaDisyunción f) (interiorizaDisyunción g1))&lt;br /&gt;
          (Disj (interiorizaDisyunción f) (interiorizaDisyunción g2)))&lt;br /&gt;
interiorizaDisyunción (Conj f g) =&lt;br /&gt;
    Conj (interiorizaDisyunción f) (interiorizaDisyunción g)&lt;br /&gt;
interiorizaDisyunción f = f&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11: Definir la función&lt;br /&gt;
--    formaNormalConjuntiva :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (formaNormalConjuntiva f) es una fórmula equivalente a f en&lt;br /&gt;
-- forma normal conjuntiva. Por ejemplo,&lt;br /&gt;
--    formaNormalConjuntiva (p /\ (q --&amp;gt; r))&lt;br /&gt;
--    ==&amp;gt; (p /\ (no q \/ r))&lt;br /&gt;
--    formaNormalConjuntiva (no (p /\ (q --&amp;gt; r)))&lt;br /&gt;
--    ==&amp;gt; ((no p \/ q) /\ (no p \/ no r))&lt;br /&gt;
--    formaNormalConjuntiva (no(p &amp;lt;--&amp;gt; r))&lt;br /&gt;
--    ==&amp;gt; (((p \/ r) /\ (p \/ no p)) /\ ((no r \/ r) /\ (no r \/ no p)))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
formaNormalConjuntiva :: Prop -&amp;gt; Prop&lt;br /&gt;
formaNormalConjuntiva f =&lt;br /&gt;
    interiorizaDisyunción (formaNormalNegativa f)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- Ejercicio 11.2: Definir la función&lt;br /&gt;
--    validaPorFNC:: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (validaPorFNC f) comprueba si f es válida. Por ejemplo,&lt;br /&gt;
--    validaPorFNC ((p --&amp;gt; q) \/ (q --&amp;gt; p))    == True&lt;br /&gt;
--    validaPorFNC ((p \/ q) /\ ((no q) \/ r)) == False&lt;br /&gt;
--    validaPorFNC (p --&amp;gt; p)                   == True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
validaPorFNC:: Prop -&amp;gt; Bool&lt;br /&gt;
validaPorFNC f = all tieneParComplementario (listaLiterales f)&lt;br /&gt;
    where tieneParComplementario xs = or [(complementario p) `elem` xs | p &amp;lt;- xs]&lt;br /&gt;
&lt;br /&gt;
listaLiterales :: Prop -&amp;gt; [[Prop]]&lt;br /&gt;
listaLiterales f = &lt;br /&gt;
    map listaLiteralesDisyuncion &lt;br /&gt;
            (listaDisyuncionesFNC (formaNormalConjuntiva f))&lt;br /&gt;
&lt;br /&gt;
listaDisyuncionesFNC :: Prop -&amp;gt; [Prop]&lt;br /&gt;
listaDisyuncionesFNC (Conj f g) = (listaDisyuncionesFNC f) `union`&lt;br /&gt;
                                  (listaDisyuncionesFNC g)         &lt;br /&gt;
listaDisyuncionesFNC f = [f]&lt;br /&gt;
&lt;br /&gt;
listaLiteralesDisyuncion :: Prop -&amp;gt; [Prop]&lt;br /&gt;
listaLiteralesDisyuncion (Disj f g) = (listaLiteralesDisyuncion f) `union`&lt;br /&gt;
                                      (listaLiteralesDisyuncion g)&lt;br /&gt;
listaLiteralesDisyuncion f = [f]&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Transformación a forma normal disyuntiva                           --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12: Definir la función&lt;br /&gt;
--    interiorizaConjunción :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (interiorizaConjunción f) es una fórmula equivalente a f&lt;br /&gt;
-- donde las conjunciones sólo se aplica a conjunciones o literales. Por&lt;br /&gt;
-- ejemplo,  &lt;br /&gt;
--    interiorizaConjunción (p /\ (q \/ r))  ==&amp;gt;  ((p /\ q) \/ (p /\ r))&lt;br /&gt;
--    interiorizaConjunción ((p \/ q) /\ r)  ==&amp;gt;  ((p /\ r) \/ (q /\ r))&lt;br /&gt;
-- Nota: Se supone que f está en forma normal negativa.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
interiorizaConjunción :: Prop -&amp;gt; Prop&lt;br /&gt;
interiorizaConjunción (Conj (Disj f1 f2) g) =&lt;br /&gt;
    interiorizaConjunción&lt;br /&gt;
    (Disj (Conj (interiorizaConjunción f1) (interiorizaConjunción g))&lt;br /&gt;
          (Conj (interiorizaConjunción f2) (interiorizaConjunción g)))&lt;br /&gt;
interiorizaConjunción (Conj f (Disj g1 g2)) =&lt;br /&gt;
    interiorizaConjunción&lt;br /&gt;
    (Disj (Conj (interiorizaConjunción f) (interiorizaConjunción g1))&lt;br /&gt;
          (Conj (interiorizaConjunción f) (interiorizaConjunción g2)))&lt;br /&gt;
interiorizaConjunción (Disj f g) =&lt;br /&gt;
    Disj (interiorizaConjunción f) (interiorizaConjunción g)&lt;br /&gt;
interiorizaConjunción f = f&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13: Definir la función&lt;br /&gt;
--    formaNormalDisyuntiva :: Prop -&amp;gt; Prop&lt;br /&gt;
-- tal que (formaNormalDisyuntiva f) es una fórmula equivalente a f en&lt;br /&gt;
-- forma normal disyuntiva. Por ejemplo,&lt;br /&gt;
--    formaNormalDisyuntiva (p /\ (q --&amp;gt; r))&lt;br /&gt;
--    ==&amp;gt; ((p /\ no q) \/ (p /\ r))&lt;br /&gt;
--    formaNormalDisyuntiva (no (p /\ (q --&amp;gt; r)))&lt;br /&gt;
--    ==&amp;gt; (no p \/ (q /\ no r))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
formaNormalDisyuntiva :: Prop -&amp;gt; Prop&lt;br /&gt;
formaNormalDisyuntiva f =&lt;br /&gt;
    interiorizaConjunción (formaNormalNegativa f)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 14: Definir la función&lt;br /&gt;
--     satisfaciblePorFND:: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (satisfaciblePorFND f) comprueba si f es satisfacible. Por&lt;br /&gt;
-- ejemplo,&lt;br /&gt;
--     satisfaciblePorFND ((p \/ q) /\ ((no q) \/ r)) == True&lt;br /&gt;
--     satisfaciblePorFND (p /\ (no p))               == False&lt;br /&gt;
--     satisfaciblePorFND ((p --&amp;gt; q) \/ (q --&amp;gt; p))    == True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
satisfaciblePorFND:: Prop -&amp;gt; Bool&lt;br /&gt;
satisfaciblePorFND f = any noTieneParComplementario (listaLiterales&amp;#039; f)&lt;br /&gt;
    where noTieneParComplementario xs = &lt;br /&gt;
              and [not ((complementario p) `elem` xs) | p &amp;lt;- xs]&lt;br /&gt;
&lt;br /&gt;
listaLiterales&amp;#039; :: Prop -&amp;gt; [[Prop]]&lt;br /&gt;
listaLiterales&amp;#039; f = &lt;br /&gt;
    map listaLiteralesConjuncion &lt;br /&gt;
            (listaConjuncionesFND (formaNormalDisyuntiva f))&lt;br /&gt;
&lt;br /&gt;
listaConjuncionesFND :: Prop -&amp;gt; [Prop]&lt;br /&gt;
listaConjuncionesFND (Disj f g) = (listaConjuncionesFND f) `union`&lt;br /&gt;
                                  (listaConjuncionesFND g)         &lt;br /&gt;
listaConjuncionesFND f = [f]&lt;br /&gt;
&lt;br /&gt;
listaLiteralesConjuncion :: Prop -&amp;gt; [Prop]&lt;br /&gt;
listaLiteralesConjuncion (Conj f g) = (listaLiteralesConjuncion f) `union`&lt;br /&gt;
                                      (listaLiteralesConjuncion g)&lt;br /&gt;
listaLiteralesConjuncion f = [f]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=274</id>
		<title>Lógica matemática y fundamentos (2014-15)</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2015/index.php?title=L%C3%B3gica_matem%C3%A1tica_y_fundamentos_(2014-15)&amp;diff=274"/>
		<updated>2015-04-29T10:12:14Z</updated>

		<summary type="html">&lt;p&gt;Mjoseh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Relaciones de ejercicios ==&lt;br /&gt;
En esta página se publicarán las relaciones de ejercicios y sus soluciones colaborativas.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(a)&amp;#039;&amp;#039;&amp;#039;: Iniciación a la programación con Haskell ([[Media:Rel_1.hs |Enunciado]] y [[Relación 1 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 1(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1. ([[R2 |Enunciado]] y [[Relación 2 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(a)&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la lógica proposicional en Haskell. ([[Media:SintaxisSemantica.hs |Enunciado]] y [[Relación 2a |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 2(b)&amp;#039;&amp;#039;&amp;#039;: Tema 1:  cuestiones ([[R2b |Enunciado]] y [[Relación 2b |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 3&amp;#039;&amp;#039;&amp;#039;: Deducción natural proposicional con Isabelle/HOL. ([[Rel_3 |Enunciado]] y [[Relación 3 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;lt;font style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Relación 5 (resuelta)&amp;lt;/font&amp;gt;&amp;#039;&amp;#039;&amp;#039;:[[Relación 5 (resuelta) |Solución]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Sintaxis y semántica de la Lógica de primer orden ([[R6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:TablerosSemanticos.hs |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Cuestiones sobre tableros semánticos ([[R8 |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]],[[Relación 9 |Solución colaborativa]] y [[Una solución | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cuestiones. ([[R10 |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 12 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 8&amp;#039;&amp;#039;&amp;#039;: [[Tema 8 | Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]], [[Relación 9 |Solución colaborativa]] y [[Media:Clausulas_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]], [[Relación 10 |Solución colaborativa]] y [[Media:ResolucionProposicional_sol.hs | una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[R11.thy |Enunciado]], [[Relación 11 |Solución colaborativa]] y [[Solución Relación 11 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Cuantificadores sobre listas en Isabelle/HOL. ([[R12.thy |Enunciado]], [[Relación 12 |Solución colaborativa]] y [[Solución Relación 12 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Recorridos de árboles. ([[R13.thy |Enunciado]], [[Relación 13 |Solución colaborativa]] y [[Solución Relación 13 |Una solución]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 2&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex-30-b.hs |Primera parte]] y [[Segunda parte |Segunda parte]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 3&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex3_sol.hs |Primera parte]], [[Media:Sintaxis.hs |Sintaxis]] y [[Segunda parte (ex.3) |Segunda parte (ex3)]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Examen 4&amp;#039;&amp;#039;&amp;#039;: Soluciones ([[Media:ex4_sol.hs |Primera parte]] y [[Segunda parte (ex.4) |Segunda parte (ex. 4)]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 13&amp;#039;&amp;#039;&amp;#039;: [[Tema 13 | Razonamiento sobre programas con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Razonamiento por casos y por inducción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Verificación de la ordenación por inserción]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 16&amp;#039;&amp;#039;&amp;#039;: [[Tema 16 | Verificación de un compilador de expresiones aritméticas]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 4&amp;#039;&amp;#039;&amp;#039;: Argumentación proposicional con Isabelle/HOL. ([[Rel_4 |Enunciado]] y [[Relación 4 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 5&amp;#039;&amp;#039;&amp;#039;: Eliminación de conectivas. ([[Rel_5 |Enunciado]] y [[Relación 5 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 6&amp;#039;&amp;#039;&amp;#039;: Formalización de argumentos en lógica de primer orden. ([[Rel_6 |Enunciado]] y [[Relación 6 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 7&amp;#039;&amp;#039;&amp;#039;: Deducción natural en lógica de primer con Isabelle/HOL. ([[Rel_7 |Enunciado]] y [[Relación 7 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 8&amp;#039;&amp;#039;&amp;#039;: Tableros semánticos proposicionales en Haskell. ([[Media:Rel_8.hs |Enunciado]] y [[Relación 8 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 9&amp;#039;&amp;#039;&amp;#039;: Formas normales en lógica proposicional en Haskell ([[Media:FormasNormales.hs |Enunciado]] y [[Relación 9 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 10&amp;#039;&amp;#039;&amp;#039;: Cláusulas proposicionales en Haskell. ([[Media:Clausulas.hs |Enunciado]] y [[Relación 10 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 11&amp;#039;&amp;#039;&amp;#039;: Resolución proposicional en Haskell. ([[Media:ResolucionProposicional.hs |Enunciado]] y [[Relación 11 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 12&amp;#039;&amp;#039;&amp;#039;: Aplicaciones de la Lógica Proposicional en Haskell. ([[Media:AplicacionesLP.hs |Enunciado]] y [[AplicacionesLP |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 13&amp;#039;&amp;#039;&amp;#039;: Programación funcional en Isabelle/HOL. ([[Media:R13.thy |Enunciado]] y [[Relación 13 |Solución colaborativa]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relación 14&amp;#039;&amp;#039;&amp;#039;: Razonamiento sobre programas con Isabelle/HOL. ([[Media:R14.thy |Enunciado]] y [[Relación 14 |Solución colaborativa]]).&lt;br /&gt;
&lt;br /&gt;
=== Teorías Isabelle/HOL ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 2&amp;#039;&amp;#039;&amp;#039;: [[Tema 2 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 14&amp;#039;&amp;#039;&amp;#039;: [[Tema 14 | Programación funcional en Isabelle/HOL]] ([[Media:T14.thy |Teoría]]).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tema 15&amp;#039;&amp;#039;&amp;#039;: [[Tema 15 | Razonamiento sobre programas con Isabelle/HOL]] ([[Media:T15.thy |Teoría]]).&lt;br /&gt;
&lt;br /&gt;
=== Ejercicios evaluables ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 1&amp;#039;&amp;#039;&amp;#039;: [[Relación 3 | Deducción natural en lógica proposicional con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 2&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 2 |Deducción natural en lógica de primer orden con Isabelle/HOL]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nota al ejercicio 2&amp;#039;&amp;#039;&amp;#039;: los lemas auxiliares que se usen en una demostración por deducción natural han de ser probados de forma no automática. Se amplía el plazo hasta el viernes 3 de mayo para que se envíe el ejercicio 2 teniendo en cuenta esta aclaración.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 3&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 3 |Argumentación, deducción natural en lógica de primer orden con Isabelle/HOL y tableros semánticos]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 4&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 4 | Algoritmos de lógica proposicional en Haskell]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ejercicio 5 (opcional)&amp;#039;&amp;#039;&amp;#039;: [[Ejercicio 5 | Formas normales condicionales (Haskell e Isabelle/HOL)]].&lt;br /&gt;
&lt;br /&gt;
=== Problemas semanales ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 1&amp;#039;&amp;#039;&amp;#039;: [[Problema 1 | Inducción sobre fórmulas]].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Problema 2&amp;#039;&amp;#039;&amp;#039;: [[Problema 2 | Subconjuntos inconsistentes]].&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
</feed>