<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/LMF2016/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Soccuacre</id>
	<title>Lógica Matemática y fundamentos (2015-16) - Contribuciones del usuario [es]</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/LMF2016/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Soccuacre"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php/Especial:Contribuciones/Soccuacre"/>
	<updated>2026-07-18T18:24:08Z</updated>
	<subtitle>Contribuciones del usuario</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_3&amp;diff=120</id>
		<title>Relación 3</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_3&amp;diff=120"/>
		<updated>2016-03-10T02:10:44Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;gt;header {* R3: Deducción natural proposicional *}&lt;br /&gt;
&lt;br /&gt;
theory R3&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  --------------------------------------------------------------------- &lt;br /&gt;
  El objetivo de esta relación es demostrar cada uno de los ejercicios&lt;br /&gt;
  usando sólo las reglas básicas de deducción natural de la lógica&lt;br /&gt;
  proposicional (sin usar el método auto).&lt;br /&gt;
&lt;br /&gt;
  Las reglas básicas de la deducción natural son las siguientes:&lt;br /&gt;
  · conjI:      ⟦P; Q⟧ ⟹ P ∧ Q&lt;br /&gt;
  · conjunct1:  P ∧ Q ⟹ P&lt;br /&gt;
  · conjunct2:  P ∧ Q ⟹ Q  &lt;br /&gt;
  · notnotD:    ¬¬ P ⟹ P&lt;br /&gt;
  · notnotI:    P ⟹ ¬¬ P&lt;br /&gt;
  · mp:         ⟦P ⟶ Q; P⟧ ⟹ Q &lt;br /&gt;
  · mt:         ⟦F ⟶ G; ¬G⟧ ⟹ ¬F &lt;br /&gt;
  · impI:       (P ⟹ Q) ⟹ P ⟶ Q&lt;br /&gt;
  · disjI1:     P ⟹ P ∨ Q&lt;br /&gt;
  · disjI2:     Q ⟹ P ∨ Q&lt;br /&gt;
  · disjE:      ⟦P ∨ Q; P ⟹ R; Q ⟹ R⟧ ⟹ R &lt;br /&gt;
  · FalseE:     False ⟹ P&lt;br /&gt;
  · notE:       ⟦¬P; P⟧ ⟹ R&lt;br /&gt;
  · notI:       (P ⟹ False) ⟹ ¬P&lt;br /&gt;
  · iffI:       ⟦P ⟹ Q; Q ⟹ P⟧ ⟹ P = Q&lt;br /&gt;
  · iffD1:      ⟦Q = P; Q⟧ ⟹ P &lt;br /&gt;
  · iffD2:      ⟦P = Q; Q⟧ ⟹ P&lt;br /&gt;
  · ccontr:     (¬P ⟹ False) ⟹ P&lt;br /&gt;
  --------------------------------------------------------------------- &lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Se usarán las reglas notnotI y mt que demostramos a continuación. *}&lt;br /&gt;
&lt;br /&gt;
lemma notnotI: &amp;quot;P ⟹ ¬¬ P&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
lemma mt: &amp;quot;⟦F ⟶ G; ¬G⟧ ⟹ ¬F&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
section {* Implicaciones *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 1. Demostrar&lt;br /&gt;
       p ⟶ q, p ⊢ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
          &amp;quot;p&amp;quot;&lt;br /&gt;
  shows &amp;quot;q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
show &amp;quot;q&amp;quot; using assms(1,2) by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Demostrar&lt;br /&gt;
     p ⟶ q, q ⟶ r, p ⊢ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
          &amp;quot;q ⟶ r&amp;quot;&lt;br /&gt;
          &amp;quot;p&amp;quot; &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1: &amp;quot;q&amp;quot; using assms(1,3) by (rule mp)&lt;br /&gt;
show &amp;quot;r&amp;quot; using assms(2)  1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ r), p ⟶ q, p ⊢ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
          &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
          &amp;quot;p&amp;quot;&lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1: &amp;quot;q&amp;quot; using assms(2,3) by (rule mp) &lt;br /&gt;
have 2: &amp;quot;q⟶r&amp;quot; using assms(1,3) by (rule mp)&lt;br /&gt;
show &amp;quot;r&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Demostrar&lt;br /&gt;
     p ⟶ q, q ⟶ r ⊢ p ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
          &amp;quot;q ⟶ r&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ⟶ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;p&amp;quot; &lt;br /&gt;
have 2: &amp;quot;q&amp;quot; using assms(1) 1 ..&lt;br /&gt;
have 3: &amp;quot;r&amp;quot; using assms(2) 2 ..}&lt;br /&gt;
thus &amp;quot;p⟶r&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ r) ⊢ q ⟶ (p ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{assume 1: &amp;quot;q&amp;quot;&lt;br /&gt;
{assume 2: &amp;quot;p&amp;quot;&lt;br /&gt;
have 3: &amp;quot;q⟶r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
have  &amp;quot;r&amp;quot; using 3 1 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(q⟶(p⟶r))&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ r) ⊢ (p ⟶ q) ⟶ (p ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ⟶ q) ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p⟶q&amp;quot;&lt;br /&gt;
{assume 2: &amp;quot;p&amp;quot;&lt;br /&gt;
have 3: &amp;quot;q⟶r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
have 4: &amp;quot;q&amp;quot; using 1 2 by (rule mp)&lt;br /&gt;
have &amp;quot;r&amp;quot; using 3 4 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(p⟶q)⟶(p⟶r)&amp;quot; by (rule impI)&lt;br /&gt;
qed &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Demostrar&lt;br /&gt;
     p ⊢ q ⟶ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_7:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot;  &lt;br /&gt;
  shows   &amp;quot;q ⟶ p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;q&amp;quot;&lt;br /&gt;
have &amp;quot;p&amp;quot; using assms .}&lt;br /&gt;
thus &amp;quot;q⟶p&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Demostrar&lt;br /&gt;
     ⊢ p ⟶ (q ⟶ p)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof- &lt;br /&gt;
{assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
{assume 2:&amp;quot;q&amp;quot;&lt;br /&gt;
have 3: &amp;quot;p&amp;quot; using 1 .}&lt;br /&gt;
hence &amp;quot;q⟶p&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶p)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Demostrar&lt;br /&gt;
     p ⟶ q ⊢ (q ⟶ r) ⟶ (p ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(q ⟶ r) ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;q⟶r&amp;quot;&lt;br /&gt;
{assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
have 3:&amp;quot;q&amp;quot; using assms 2 .. &lt;br /&gt;
have &amp;quot;r&amp;quot; using 1 3 ..}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;(q⟶r)⟶(p⟶r) &amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ (r ⟶ s)) ⊢ r ⟶ (q ⟶ (p ⟶ s))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_10:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ (r ⟶ s))&amp;quot; &lt;br /&gt;
  shows   &amp;quot;r ⟶ (q ⟶ (p ⟶ s))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;r&amp;quot;&lt;br /&gt;
{assume 2:&amp;quot;q&amp;quot;&lt;br /&gt;
{assume 3:&amp;quot;p&amp;quot;&lt;br /&gt;
have 4:&amp;quot;q⟶(r⟶s)&amp;quot; using assms 3 ..&lt;br /&gt;
have 5: &amp;quot;r⟶s&amp;quot; using 4 2 ..&lt;br /&gt;
have 6: &amp;quot;s&amp;quot; using 5 1 ..}&lt;br /&gt;
hence &amp;quot;p⟶s&amp;quot; ..}&lt;br /&gt;
hence &amp;quot;q⟶(p⟶s)&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;r⟶(q⟶(p⟶s))&amp;quot; ..&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 11. Demostrar&lt;br /&gt;
     ⊢ (p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
 assume  3: &amp;quot;p⟶(q⟶r)&amp;quot;&lt;br /&gt;
 show &amp;quot;(p⟶q)⟶(p⟶r)&amp;quot;&lt;br /&gt;
proof(rule impI)&lt;br /&gt;
  assume  2:&amp;quot;p⟶q&amp;quot;&lt;br /&gt;
  show &amp;quot;p⟶r&amp;quot;&lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
    assume   1: &amp;quot;p&amp;quot;&lt;br /&gt;
    have 4:&amp;quot;q&amp;quot; using 2 1 ..&lt;br /&gt;
    have 5:&amp;quot;q⟶r&amp;quot; using 3 1 .. &lt;br /&gt;
    show &amp;quot;r&amp;quot; using 5 4 .. &lt;br /&gt;
    qed&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 12. Demostrar&lt;br /&gt;
     (p ⟶ q) ⟶ r ⊢ p ⟶ (q ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ q) ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
    {assume 3:&amp;quot;q&amp;quot;&lt;br /&gt;
      have 4:&amp;quot;p&amp;quot; using 1 .&lt;br /&gt;
      have 5:&amp;quot;q&amp;quot; using 3 .&lt;br /&gt;
      then have 6:&amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
      have &amp;quot;r&amp;quot; using assms 6 ..}&lt;br /&gt;
    hence &amp;quot;q⟶r&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; ..&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
section {* Conjunciones *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 13. Demostrar&lt;br /&gt;
     p, q ⊢  p ∧ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot;&lt;br /&gt;
          &amp;quot;q&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p∧q&amp;quot; using assms(1) assms(2) by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 14. Demostrar&lt;br /&gt;
     p ∧ q ⊢ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot;  &lt;br /&gt;
  shows   &amp;quot;p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 15. Demostrar&lt;br /&gt;
     p ∧ q ⊢ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_15:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;q&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 16. Demostrar&lt;br /&gt;
     p ∧ (q ∧ r) ⊢ (p ∧ q) ∧ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16:&lt;br /&gt;
  assumes &amp;quot;p ∧ (q ∧ r)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(p ∧ q) ∧ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1:&amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 2:&amp;quot;q∧r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
then have 3:&amp;quot;q&amp;quot; by (rule conjunct1)&lt;br /&gt;
have 4:&amp;quot;r&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
have &amp;quot;p∧q&amp;quot; using 1 3 by (rule conjI)&lt;br /&gt;
then show &amp;quot;(p∧q)∧r&amp;quot; using 4 by (rule conjI)&lt;br /&gt;
qed  &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 17. Demostrar&lt;br /&gt;
     (p ∧ q) ∧ r ⊢ p ∧ (q ∧ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17:&lt;br /&gt;
  assumes &amp;quot;(p ∧ q) ∧ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ (q ∧ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1:&amp;quot;p∧q&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 2:&amp;quot;r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 3:&amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 4:&amp;quot;q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 5:&amp;quot;q∧r&amp;quot; using 4 2 by (rule conjI)&lt;br /&gt;
show &amp;quot;p∧(q∧r)&amp;quot; using 3 5 by (rule conjI)&lt;br /&gt;
qed  &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 18. Demostrar&lt;br /&gt;
     p ∧ q ⊢ p ⟶ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1:&amp;quot;p&amp;quot; using assms ..&lt;br /&gt;
have 2:&amp;quot;q&amp;quot; using assms ..&lt;br /&gt;
then show &amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 19. Demostrar&lt;br /&gt;
     (p ⟶ q) ∧ (p ⟶ r) ⊢ p ⟶ q ∧ r   &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ q ∧ r&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1:&amp;quot;p⟶q&amp;quot; using assms ..&lt;br /&gt;
have 2:&amp;quot;p⟶r&amp;quot; using assms ..&lt;br /&gt;
{assume 3:&amp;quot;p&amp;quot;&lt;br /&gt;
have 4:&amp;quot;q&amp;quot; using 1 3 ..&lt;br /&gt;
have 5:&amp;quot;r&amp;quot; using 2 3 ..&lt;br /&gt;
have 6:&amp;quot;q∧r&amp;quot; using 4 5 ..}&lt;br /&gt;
thus &amp;quot;p ⟶ q ∧ r&amp;quot;  ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 20. Demostrar&lt;br /&gt;
     p ⟶ q ∧ r ⊢ (p ⟶ q) ∧ (p ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q ∧ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: p&lt;br /&gt;
have 2:&amp;quot;q∧r&amp;quot; using assms 1 ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using 2 ..}&lt;br /&gt;
hence 1:&amp;quot;p⟶r&amp;quot; ..&lt;br /&gt;
{assume 1: p&lt;br /&gt;
have 2:&amp;quot;q∧r&amp;quot; using assms 1 ..&lt;br /&gt;
have &amp;quot;q&amp;quot; using 2 ..}&lt;br /&gt;
hence 2:&amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
then show &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot; using 1 ..&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 21. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ r) ⊢ p ∧ q ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ q ⟶ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p∧q&amp;quot;&lt;br /&gt;
have 2:&amp;quot;p&amp;quot; using 1 ..&lt;br /&gt;
have 3:&amp;quot;q⟶r&amp;quot; using assms 2 ..&lt;br /&gt;
have 4: &amp;quot;q&amp;quot; using 1 ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using 3 4 ..}&lt;br /&gt;
thus &amp;quot;p∧q ⟶r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 22. Demostrar&lt;br /&gt;
     p ∧ q ⟶ r ⊢ p ⟶ (q ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22:&lt;br /&gt;
  assumes &amp;quot;p ∧ q ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
{assume 2:&amp;quot;q&amp;quot;&lt;br /&gt;
have 3:&amp;quot;p∧q&amp;quot; using 1 2 ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using assms 3 ..}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; ..  &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 23. Demostrar&lt;br /&gt;
     (p ⟶ q) ⟶ r ⊢ p ∧ q ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ q) ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ q ⟶ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p∧q&amp;quot;&lt;br /&gt;
have 2:&amp;quot;p&amp;quot; using 1 ..&lt;br /&gt;
{assume &amp;quot;p&amp;quot;&lt;br /&gt;
have 3: &amp;quot;q&amp;quot; using 1 ..}&lt;br /&gt;
hence 4:&amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using assms 4 ..}&lt;br /&gt;
thus &amp;quot;p∧q ⟶r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 24. Demostrar&lt;br /&gt;
     p ∧ (q ⟶ r) ⊢ (p ⟶ q) ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24:&lt;br /&gt;
  assumes &amp;quot;p ∧ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ⟶ q) ⟶ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;p⟶q&amp;quot;&lt;br /&gt;
have 2:&amp;quot;p&amp;quot; using assms ..&lt;br /&gt;
have 3:&amp;quot;q⟶r&amp;quot; using assms..&lt;br /&gt;
have 4:&amp;quot;q&amp;quot; using 1 2 ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using 3 4 ..}&lt;br /&gt;
thus &amp;quot;(p⟶q)⟶r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
section {* Disyunciones *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 25. Demostrar&lt;br /&gt;
     p ⊢ p ∨ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_25:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p∨q&amp;quot; using assms by (rule disjI1)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 26. Demostrar&lt;br /&gt;
     q ⊢ p ∨ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_26:&lt;br /&gt;
  assumes &amp;quot;q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p∨q&amp;quot; using assms by (rule disjI2)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 27. Demostrar&lt;br /&gt;
     p ∨ q ⊢ q ∨ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_27:&lt;br /&gt;
  assumes &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;q ∨ p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
  have &amp;quot;p ∨ q&amp;quot; using assms by this&lt;br /&gt;
  moreover&lt;br /&gt;
  { assume 2: &amp;quot;p&amp;quot;&lt;br /&gt;
    have &amp;quot;q ∨ p&amp;quot; using 2 by (rule disjI2) }&lt;br /&gt;
  moreover&lt;br /&gt;
  { assume 3: &amp;quot;q&amp;quot;&lt;br /&gt;
    have &amp;quot;q ∨ p&amp;quot; using 3 by (rule disjI1) }&lt;br /&gt;
  ultimately show &amp;quot;q ∨ p&amp;quot; by (rule disjE) &lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 28. Demostrar&lt;br /&gt;
     q ⟶ r ⊢ p ∨ q ⟶ p ∨ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_28:&lt;br /&gt;
  assumes &amp;quot;q ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∨ q ⟶ p ∨ r&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume  &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
  moreover&lt;br /&gt;
  { assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
    have &amp;quot;p ∨ r&amp;quot;  using 1 by (rule disjI1)}&lt;br /&gt;
  moreover &lt;br /&gt;
  { assume 2:&amp;quot;q&amp;quot;&lt;br /&gt;
    have 3:&amp;quot;r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
    have &amp;quot;p ∨ r&amp;quot; using 3 by (rule disjI2) }&lt;br /&gt;
   ultimately have  &amp;quot; p ∨ r&amp;quot; by (rule disjE)}&lt;br /&gt;
thus  &amp;quot;p ∨ q ⟶ p ∨ r&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 29. Demostrar&lt;br /&gt;
     p ∨ p ⊢ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29:&lt;br /&gt;
  assumes &amp;quot;p ∨ p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1: &amp;quot;p ∨ p&amp;quot; using assms by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
  have  &amp;quot;p&amp;quot; using 1 by this}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
  have  &amp;quot;p&amp;quot; using 2 by this}&lt;br /&gt;
ultimately show  &amp;quot;p&amp;quot; by (rule disjE)&lt;br /&gt;
&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 30. Demostrar&lt;br /&gt;
     p ⊢ p ∨ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_30:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∨ p&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
 show  &amp;quot;p ∨ p&amp;quot; using assms by (rule disjI1)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 31. Demostrar&lt;br /&gt;
     p ∨ (q ∨ r) ⊢ (p ∨ q) ∨ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31:&lt;br /&gt;
  assumes &amp;quot;p ∨ (q ∨ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
 have &amp;quot;p ∨ (q ∨ r)&amp;quot; using assms(1) by this&lt;br /&gt;
moreover &lt;br /&gt;
    { assume 1: &amp;quot;p&amp;quot;&lt;br /&gt;
       have 2: &amp;quot;p ∨ q&amp;quot; using 1 by (rule disjI1)&lt;br /&gt;
       have 3: &amp;quot;(p ∨ q) ∨ r&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
moreover&lt;br /&gt;
    { assume 4: &amp;quot;q ∨ r&amp;quot;&lt;br /&gt;
      moreover&lt;br /&gt;
      { assume 5: &amp;quot;q&amp;quot;&lt;br /&gt;
        have 6: &amp;quot;p ∨ q&amp;quot; using 5 by (rule disjI2)&lt;br /&gt;
        have 7: &amp;quot;(p ∨ q) ∨ r&amp;quot; using 6 by (rule disjI1)}&lt;br /&gt;
      moreover&lt;br /&gt;
      { assume 8: &amp;quot;r&amp;quot;&lt;br /&gt;
        have 9: &amp;quot;(p ∨ q) ∨ r&amp;quot; using 8 by (rule disjI2)}&lt;br /&gt;
      ultimately have &amp;quot;(p ∨ q) ∨ r&amp;quot; by (rule disjE)}&lt;br /&gt;
  ultimately show &amp;quot;(p ∨ q) ∨ r&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 32. Demostrar&lt;br /&gt;
     (p ∨ q) ∨ r ⊢ p ∨ (q ∨ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_32:&lt;br /&gt;
  assumes &amp;quot;(p ∨ q) ∨ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∨ (q ∨ r)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
 have &amp;quot;(p ∨ q) ∨ r&amp;quot; using assms(1) by this&lt;br /&gt;
moreover&lt;br /&gt;
   { assume 1: &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
     moreover&lt;br /&gt;
     { assume 2: &amp;quot;p&amp;quot;&lt;br /&gt;
       have 3: &amp;quot;p ∨ (q ∨ r)&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
     moreover&lt;br /&gt;
     { assume 4: &amp;quot;q&amp;quot;&lt;br /&gt;
       have 5: &amp;quot;q ∨ r&amp;quot; using 4 by (rule disjI1)&lt;br /&gt;
       have 6: &amp;quot;p ∨ (q ∨ r)&amp;quot; using 5 by (rule disjI2)}&lt;br /&gt;
     ultimately have &amp;quot;p ∨ (q ∨ r)&amp;quot; by (rule disjE)}&lt;br /&gt;
moreover&lt;br /&gt;
   { assume 7: &amp;quot;r&amp;quot;&lt;br /&gt;
     have 8: &amp;quot;q ∨ r&amp;quot; using 7 by (rule disjI2)&lt;br /&gt;
     have 9: &amp;quot;p ∨ (q ∨ r)&amp;quot; using 8 by (rule disjI2)}&lt;br /&gt;
ultimately show &amp;quot;p ∨ (q ∨ r)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 33. Demostrar&lt;br /&gt;
     p ∧ (q ∨ r) ⊢ (p ∧ q) ∨ (p ∧ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_33:&lt;br /&gt;
  assumes &amp;quot;p ∧ (q ∨ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ∧ q) ∨ (p ∧ r)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
 have 1: &amp;quot;p&amp;quot; using assms(1) by (rule conjunct1)&lt;br /&gt;
    have 2: &amp;quot;q ∨ r&amp;quot; using assms(1) by (rule conjunct2)&lt;br /&gt;
moreover&lt;br /&gt;
    { assume 3: &amp;quot;q&amp;quot;&lt;br /&gt;
      have 4: &amp;quot;p ∧ q&amp;quot; using 1 3 by (rule conjI)&lt;br /&gt;
      have 5: &amp;quot;(p ∧ q) ∨ (p ∧ r)&amp;quot; using 4 by (rule disjI1)}&lt;br /&gt;
moreover&lt;br /&gt;
    { assume 6: &amp;quot;r&amp;quot;&lt;br /&gt;
      have 7: &amp;quot;p ∧ r&amp;quot; using 1 6 by (rule conjI)&lt;br /&gt;
      have 8: &amp;quot;(p ∧ q) ∨ (p ∧ r)&amp;quot; using 7 by (rule disjI2)}&lt;br /&gt;
ultimately show &amp;quot;(p ∧ q) ∨ (p ∧ r)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 34. Demostrar&lt;br /&gt;
     (p ∧ q) ∨ (p ∧ r) ⊢ p ∧ (q ∨ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_34:&lt;br /&gt;
  assumes &amp;quot;(p ∧ q) ∨ (p ∧ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ (q ∨ r)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
 have &amp;quot;(p ∧ q) ∨ (p ∧ r)&amp;quot; using assms(1) by this&lt;br /&gt;
moreover&lt;br /&gt;
   { assume 1: &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
     have 2: &amp;quot;q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
     have 3: &amp;quot;q ∨ r&amp;quot; using 2 by (rule disjI1)&lt;br /&gt;
     have 4: &amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
     have 5: &amp;quot;p ∧ (q ∨ r)&amp;quot; using 4 3 by (rule conjI)}&lt;br /&gt;
moreover&lt;br /&gt;
   { assume 6: &amp;quot;p ∧ r&amp;quot;&lt;br /&gt;
     have 7: &amp;quot;r&amp;quot; using 6 by (rule conjunct2)&lt;br /&gt;
     have 8: &amp;quot;q ∨ r&amp;quot; using 7 by (rule disjI2)&lt;br /&gt;
     have 9: &amp;quot;p&amp;quot; using 6 by (rule conjunct1)&lt;br /&gt;
     have 10: &amp;quot;p ∧ (q ∨ r)&amp;quot; using 9 8 by (rule conjI)}&lt;br /&gt;
ultimately show &amp;quot;p ∧ (q ∨ r)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 35. Demostrar&lt;br /&gt;
     p ∨ (q ∧ r) ⊢ (p ∨ q) ∧ (p ∨ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_35:&lt;br /&gt;
  assumes &amp;quot;p ∨ (q ∧ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ∨ q) ∧ (p ∨ r)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
have &amp;quot;p ∨ (q ∧ r)&amp;quot; using assms(1) by this&lt;br /&gt;
moreover&lt;br /&gt;
   { assume 1: &amp;quot;p&amp;quot;&lt;br /&gt;
     have 2: &amp;quot;p ∨ q&amp;quot; using 1 by (rule disjI1)&lt;br /&gt;
     have 3: &amp;quot;p ∨ r&amp;quot; using 1 by (rule disjI1)&lt;br /&gt;
     have 4: &amp;quot;(p ∨ q) ∧ (p ∨ r)&amp;quot; using 2 3 by (rule conjI)}&lt;br /&gt;
moreover&lt;br /&gt;
   { assume 5: &amp;quot;q ∧ r&amp;quot;&lt;br /&gt;
     have 6: &amp;quot;q&amp;quot; using 5 by (rule conjunct1)&lt;br /&gt;
     have 7: &amp;quot;p ∨ q&amp;quot; using 6 by (rule disjI2)&lt;br /&gt;
     have 8: &amp;quot;r&amp;quot; using 5 by (rule conjunct2)&lt;br /&gt;
     have 9: &amp;quot;p ∨ r&amp;quot; using 8 by (rule disjI2)&lt;br /&gt;
     have 10: &amp;quot;(p ∨ q) ∧ (p ∨ r)&amp;quot; using 7 9 by (rule conjI)}&lt;br /&gt;
ultimately show &amp;quot;(p ∨ q) ∧ (p ∨ r)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 36. Demostrar&lt;br /&gt;
     (p ∨ q) ∧ (p ∨ r) ⊢ p ∨ (q ∧ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_36:&lt;br /&gt;
  assumes &amp;quot;(p ∨ q) ∧ (p ∨ r)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ∨ (q ∧ r)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have &amp;quot;(p ∨ q)&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
moreover&lt;br /&gt;
   {assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
    have &amp;quot;p ∨ (q ∧ r)&amp;quot; using 1 by (rule disjI1) }&lt;br /&gt;
moreover&lt;br /&gt;
    {assume 1:&amp;quot;q&amp;quot;&lt;br /&gt;
    have &amp;quot;(p ∨ r)&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
    moreover &lt;br /&gt;
    {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
      have &amp;quot;p ∨ (q ∧ r)&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
    moreover &lt;br /&gt;
    {assume 2:&amp;quot;r&amp;quot;&lt;br /&gt;
      have 3:&amp;quot;(q ∧ r)&amp;quot; using 1 2 by (rule conjI)&lt;br /&gt;
      have &amp;quot;p ∨ (q ∧ r)&amp;quot; using 3 by (rule disjI2)}&lt;br /&gt;
    ultimately have &amp;quot;p ∨ (q ∧ r)&amp;quot; by (rule disjE)}&lt;br /&gt;
ultimately show &amp;quot;p ∨ (q ∧ r)&amp;quot;  by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 37. Demostrar&lt;br /&gt;
     (p ⟶ r) ∧ (q ⟶ r) ⊢ p ∨ q ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_37:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ r) ∧ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∨ q ⟶ r&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume  &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
moreover &lt;br /&gt;
 {assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
  have 2:&amp;quot;(p ⟶ r)&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
  have &amp;quot;r&amp;quot; using 2 1 by (rule mp)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 1:&amp;quot;q&amp;quot;&lt;br /&gt;
  have 2:&amp;quot;(q ⟶ r)&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  have &amp;quot;r&amp;quot; using 2 1 by (rule mp)}&lt;br /&gt;
ultimately have &amp;quot;r&amp;quot; by (rule disjE)}&lt;br /&gt;
thus  &amp;quot;p ∨ q ⟶ r&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 38. Demostrar&lt;br /&gt;
     p ∨ q ⟶ r ⊢ (p ⟶ r) ∧ (q ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_38:&lt;br /&gt;
  assumes &amp;quot;p ∨ q ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ⟶ r) ∧ (q ⟶ r)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
section {* Negaciones *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 39. Demostrar&lt;br /&gt;
     p ⊢ ¬¬p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_39:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬¬p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 40. Demostrar&lt;br /&gt;
     ¬p ⊢ p ⟶ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_40:&lt;br /&gt;
  assumes &amp;quot;¬p&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 41. Demostrar&lt;br /&gt;
     p ⟶ q ⊢ ¬q ⟶ ¬p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_41:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬q ⟶ ¬p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 42. Demostrar&lt;br /&gt;
     p∨q, ¬q ⊢ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_42:&lt;br /&gt;
  assumes &amp;quot;p∨q&amp;quot;&lt;br /&gt;
          &amp;quot;¬q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 42. Demostrar&lt;br /&gt;
     p ∨ q, ¬p ⊢ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_43:&lt;br /&gt;
  assumes &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
          &amp;quot;¬p&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 40. Demostrar&lt;br /&gt;
     p ∨ q ⊢ ¬(¬p ∧ ¬q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_44:&lt;br /&gt;
  assumes &amp;quot;p ∨ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬(¬p ∧ ¬q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 45. Demostrar&lt;br /&gt;
     p ∧ q ⊢ ¬(¬p ∨ ¬q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_45:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬(¬p ∨ ¬q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 46. Demostrar&lt;br /&gt;
     ¬(p ∨ q) ⊢ ¬p ∧ ¬q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_46:&lt;br /&gt;
  assumes &amp;quot;¬(p ∨ q)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬p ∧ ¬q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 47. Demostrar&lt;br /&gt;
     ¬p ∧ ¬q ⊢ ¬(p ∨ q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_47:&lt;br /&gt;
  assumes &amp;quot;¬p ∧ ¬q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬(p ∨ q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 48. Demostrar&lt;br /&gt;
     ¬p ∨ ¬q ⊢ ¬(p ∧ q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_48:&lt;br /&gt;
  assumes &amp;quot;¬p ∨ ¬q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(p ∧ q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 49. Demostrar&lt;br /&gt;
     ⊢ ¬(p ∧ ¬p)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_49:&lt;br /&gt;
  &amp;quot;¬(p ∧ ¬p)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 50. Demostrar&lt;br /&gt;
     p ∧ ¬p ⊢ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_50:&lt;br /&gt;
  assumes &amp;quot;p ∧ ¬p&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 51. Demostrar&lt;br /&gt;
     ¬¬p ⊢ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_51:&lt;br /&gt;
  assumes &amp;quot;¬¬p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 52. Demostrar&lt;br /&gt;
     ⊢ p ∨ ¬p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_52:&lt;br /&gt;
  &amp;quot;p ∨ ¬p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 53. Demostrar&lt;br /&gt;
     ⊢ ((p ⟶ q) ⟶ p) ⟶ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_53:&lt;br /&gt;
  &amp;quot;((p ⟶ q) ⟶ p) ⟶ p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 54. Demostrar&lt;br /&gt;
     ¬q ⟶ ¬p ⊢ p ⟶ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_54:&lt;br /&gt;
  assumes &amp;quot;¬q ⟶ ¬p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 55. Demostrar&lt;br /&gt;
     ¬(¬p ∧ ¬q) ⊢ p ∨ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_55:&lt;br /&gt;
  assumes &amp;quot;¬(¬p ∧ ¬q)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 56. Demostrar&lt;br /&gt;
     ¬(¬p ∨ ¬q) ⊢ p ∧ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_56:&lt;br /&gt;
  assumes &amp;quot;¬(¬p ∨ ¬q)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 57. Demostrar&lt;br /&gt;
     ¬(p ∧ q) ⊢ ¬p ∨ ¬q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_57:&lt;br /&gt;
  assumes &amp;quot;¬(p ∧ q)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬p ∨ ¬q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 58. Demostrar&lt;br /&gt;
     ⊢ (p ⟶ q) ∨ (q ⟶ p)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_58:&lt;br /&gt;
  &amp;quot;(p ⟶ q) ∨ (q ⟶ p)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_3&amp;diff=115</id>
		<title>Relación 3</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_3&amp;diff=115"/>
		<updated>2016-03-08T00:31:18Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;isar&amp;quot;&amp;gt;header {* R3: Deducción natural proposicional *}&lt;br /&gt;
&lt;br /&gt;
theory R3&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  --------------------------------------------------------------------- &lt;br /&gt;
  El objetivo de esta relación es demostrar cada uno de los ejercicios&lt;br /&gt;
  usando sólo las reglas básicas de deducción natural de la lógica&lt;br /&gt;
  proposicional (sin usar el método auto).&lt;br /&gt;
&lt;br /&gt;
  Las reglas básicas de la deducción natural son las siguientes:&lt;br /&gt;
  · conjI:      ⟦P; Q⟧ ⟹ P ∧ Q&lt;br /&gt;
  · conjunct1:  P ∧ Q ⟹ P&lt;br /&gt;
  · conjunct2:  P ∧ Q ⟹ Q  &lt;br /&gt;
  · notnotD:    ¬¬ P ⟹ P&lt;br /&gt;
  · notnotI:    P ⟹ ¬¬ P&lt;br /&gt;
  · mp:         ⟦P ⟶ Q; P⟧ ⟹ Q &lt;br /&gt;
  · mt:         ⟦F ⟶ G; ¬G⟧ ⟹ ¬F &lt;br /&gt;
  · impI:       (P ⟹ Q) ⟹ P ⟶ Q&lt;br /&gt;
  · disjI1:     P ⟹ P ∨ Q&lt;br /&gt;
  · disjI2:     Q ⟹ P ∨ Q&lt;br /&gt;
  · disjE:      ⟦P ∨ Q; P ⟹ R; Q ⟹ R⟧ ⟹ R &lt;br /&gt;
  · FalseE:     False ⟹ P&lt;br /&gt;
  · notE:       ⟦¬P; P⟧ ⟹ R&lt;br /&gt;
  · notI:       (P ⟹ False) ⟹ ¬P&lt;br /&gt;
  · iffI:       ⟦P ⟹ Q; Q ⟹ P⟧ ⟹ P = Q&lt;br /&gt;
  · iffD1:      ⟦Q = P; Q⟧ ⟹ P &lt;br /&gt;
  · iffD2:      ⟦P = Q; Q⟧ ⟹ P&lt;br /&gt;
  · ccontr:     (¬P ⟹ False) ⟹ P&lt;br /&gt;
  --------------------------------------------------------------------- &lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Se usarán las reglas notnotI y mt que demostramos a continuación. *}&lt;br /&gt;
&lt;br /&gt;
lemma notnotI: &amp;quot;P ⟹ ¬¬ P&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
lemma mt: &amp;quot;⟦F ⟶ G; ¬G⟧ ⟹ ¬F&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
section {* Implicaciones *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 1. Demostrar&lt;br /&gt;
       p ⟶ q, p ⊢ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
          &amp;quot;p&amp;quot;&lt;br /&gt;
  shows &amp;quot;q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
show &amp;quot;q&amp;quot; using assms(1,2) by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Demostrar&lt;br /&gt;
     p ⟶ q, q ⟶ r, p ⊢ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
          &amp;quot;q ⟶ r&amp;quot;&lt;br /&gt;
          &amp;quot;p&amp;quot; &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1: &amp;quot;q&amp;quot; using assms(1,3) by (rule mp)&lt;br /&gt;
show &amp;quot;r&amp;quot; using assms(2)  1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ r), p ⟶ q, p ⊢ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
          &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
          &amp;quot;p&amp;quot;&lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1: &amp;quot;q&amp;quot; using assms(2,3) by (rule mp) &lt;br /&gt;
have 2: &amp;quot;q⟶r&amp;quot; using assms(1,3) by (rule mp)&lt;br /&gt;
show &amp;quot;r&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Demostrar&lt;br /&gt;
     p ⟶ q, q ⟶ r ⊢ p ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
          &amp;quot;q ⟶ r&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ⟶ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;p&amp;quot; &lt;br /&gt;
have 2: &amp;quot;q&amp;quot; using assms(1) 1 ..&lt;br /&gt;
have 3: &amp;quot;r&amp;quot; using assms(2) 2 ..}&lt;br /&gt;
thus &amp;quot;p⟶r&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ r) ⊢ q ⟶ (p ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{assume 1: &amp;quot;q&amp;quot;&lt;br /&gt;
{assume 2: &amp;quot;p&amp;quot;&lt;br /&gt;
have 3: &amp;quot;q⟶r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
have  &amp;quot;r&amp;quot; using 3 1 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(q⟶(p⟶r))&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ r) ⊢ (p ⟶ q) ⟶ (p ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ⟶ q) ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p⟶q&amp;quot;&lt;br /&gt;
{assume 2: &amp;quot;p&amp;quot;&lt;br /&gt;
have 3: &amp;quot;q⟶r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
have 4: &amp;quot;q&amp;quot; using 1 2 by (rule mp)&lt;br /&gt;
have &amp;quot;r&amp;quot; using 3 4 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(p⟶q)⟶(p⟶r)&amp;quot; by (rule impI)&lt;br /&gt;
qed &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Demostrar&lt;br /&gt;
     p ⊢ q ⟶ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_7:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot;  &lt;br /&gt;
  shows   &amp;quot;q ⟶ p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;q&amp;quot;&lt;br /&gt;
have &amp;quot;p&amp;quot; using assms .}&lt;br /&gt;
thus &amp;quot;q⟶p&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Demostrar&lt;br /&gt;
     ⊢ p ⟶ (q ⟶ p)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof- &lt;br /&gt;
{assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
{assume 2:&amp;quot;q&amp;quot;&lt;br /&gt;
have 3: &amp;quot;p&amp;quot; using 1 .}&lt;br /&gt;
hence &amp;quot;q⟶p&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶p)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Demostrar&lt;br /&gt;
     p ⟶ q ⊢ (q ⟶ r) ⟶ (p ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(q ⟶ r) ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;q⟶r&amp;quot;&lt;br /&gt;
{assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
have 3:&amp;quot;q&amp;quot; using assms 2 .. &lt;br /&gt;
have &amp;quot;r&amp;quot; using 1 3 ..}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;(q⟶r)⟶(p⟶r) &amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ (r ⟶ s)) ⊢ r ⟶ (q ⟶ (p ⟶ s))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_10:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ (r ⟶ s))&amp;quot; &lt;br /&gt;
  shows   &amp;quot;r ⟶ (q ⟶ (p ⟶ s))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;r&amp;quot;&lt;br /&gt;
{assume 2:&amp;quot;q&amp;quot;&lt;br /&gt;
{assume 3:&amp;quot;p&amp;quot;&lt;br /&gt;
have 4:&amp;quot;q⟶(r⟶s)&amp;quot; using assms 3 ..&lt;br /&gt;
have 5: &amp;quot;r⟶s&amp;quot; using 4 2 ..&lt;br /&gt;
have 6: &amp;quot;s&amp;quot; using 5 1 ..}&lt;br /&gt;
hence &amp;quot;p⟶s&amp;quot; ..}&lt;br /&gt;
hence &amp;quot;q⟶(p⟶s)&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;r⟶(q⟶(p⟶s))&amp;quot; ..&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 11. Demostrar&lt;br /&gt;
     ⊢ (p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
 assume  3: &amp;quot;p⟶(q⟶r)&amp;quot;&lt;br /&gt;
 show &amp;quot;(p⟶q)⟶(p⟶r)&amp;quot;&lt;br /&gt;
proof(rule impI)&lt;br /&gt;
  assume  2:&amp;quot;p⟶q&amp;quot;&lt;br /&gt;
  show &amp;quot;p⟶r&amp;quot;&lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
    assume   1: &amp;quot;p&amp;quot;&lt;br /&gt;
    have 4:&amp;quot;q&amp;quot; using 2 1 ..&lt;br /&gt;
    have 5:&amp;quot;q⟶r&amp;quot; using 3 1 .. &lt;br /&gt;
    show &amp;quot;r&amp;quot; using 5 4 .. &lt;br /&gt;
    qed&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 12. Demostrar&lt;br /&gt;
     (p ⟶ q) ⟶ r ⊢ p ⟶ (q ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ q) ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
    {assume 3:&amp;quot;q&amp;quot;&lt;br /&gt;
      have 4:&amp;quot;p&amp;quot; using 1 .&lt;br /&gt;
      have 5:&amp;quot;q&amp;quot; using 3 .&lt;br /&gt;
      then have 6:&amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
      have &amp;quot;r&amp;quot; using assms 6 ..}&lt;br /&gt;
    hence &amp;quot;q⟶r&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; ..&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
section {* Conjunciones *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 13. Demostrar&lt;br /&gt;
     p, q ⊢  p ∧ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot;&lt;br /&gt;
          &amp;quot;q&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p∧q&amp;quot; using assms(1) assms(2) by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 14. Demostrar&lt;br /&gt;
     p ∧ q ⊢ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot;  &lt;br /&gt;
  shows   &amp;quot;p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 15. Demostrar&lt;br /&gt;
     p ∧ q ⊢ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_15:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;q&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 16. Demostrar&lt;br /&gt;
     p ∧ (q ∧ r) ⊢ (p ∧ q) ∧ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16:&lt;br /&gt;
  assumes &amp;quot;p ∧ (q ∧ r)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(p ∧ q) ∧ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1:&amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 2:&amp;quot;q∧r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
then have 3:&amp;quot;q&amp;quot; by (rule conjunct1)&lt;br /&gt;
have 4:&amp;quot;r&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
have &amp;quot;p∧q&amp;quot; using 1 3 by (rule conjI)&lt;br /&gt;
then show &amp;quot;(p∧q)∧r&amp;quot; using 4 by (rule conjI)&lt;br /&gt;
qed  &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 17. Demostrar&lt;br /&gt;
     (p ∧ q) ∧ r ⊢ p ∧ (q ∧ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17:&lt;br /&gt;
  assumes &amp;quot;(p ∧ q) ∧ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ (q ∧ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1:&amp;quot;p∧q&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 2:&amp;quot;r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 3:&amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 4:&amp;quot;q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 5:&amp;quot;q∧r&amp;quot; using 4 2 by (rule conjI)&lt;br /&gt;
show &amp;quot;p∧(q∧r)&amp;quot; using 3 5 by (rule conjI)&lt;br /&gt;
qed  &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 18. Demostrar&lt;br /&gt;
     p ∧ q ⊢ p ⟶ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1:&amp;quot;p&amp;quot; using assms ..&lt;br /&gt;
have 2:&amp;quot;q&amp;quot; using assms ..&lt;br /&gt;
then show &amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 19. Demostrar&lt;br /&gt;
     (p ⟶ q) ∧ (p ⟶ r) ⊢ p ⟶ q ∧ r   &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ q ∧ r&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1:&amp;quot;p⟶q&amp;quot; using assms ..&lt;br /&gt;
have 2:&amp;quot;p⟶r&amp;quot; using assms ..&lt;br /&gt;
{assume 3:&amp;quot;p&amp;quot;&lt;br /&gt;
have 4:&amp;quot;q&amp;quot; using 1 3 ..&lt;br /&gt;
have 5:&amp;quot;r&amp;quot; using 2 3 ..&lt;br /&gt;
have 6:&amp;quot;q∧r&amp;quot; using 4 5 ..}&lt;br /&gt;
thus &amp;quot;p ⟶ q ∧ r&amp;quot;  ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 20. Demostrar&lt;br /&gt;
     p ⟶ q ∧ r ⊢ (p ⟶ q) ∧ (p ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q ∧ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: p&lt;br /&gt;
have 2:&amp;quot;q∧r&amp;quot; using assms 1 ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using 2 ..}&lt;br /&gt;
hence 1:&amp;quot;p⟶r&amp;quot; ..&lt;br /&gt;
{assume 1: p&lt;br /&gt;
have 2:&amp;quot;q∧r&amp;quot; using assms 1 ..&lt;br /&gt;
have &amp;quot;q&amp;quot; using 2 ..}&lt;br /&gt;
hence 2:&amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
then show &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot; using 1 ..&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 21. Demostrar&lt;br /&gt;
     p ⟶ (q ⟶ r) ⊢ p ∧ q ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ q ⟶ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p∧q&amp;quot;&lt;br /&gt;
have 2:&amp;quot;p&amp;quot; using 1 ..&lt;br /&gt;
have 3:&amp;quot;q⟶r&amp;quot; using assms 2 ..&lt;br /&gt;
have 4: &amp;quot;q&amp;quot; using 1 ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using 3 4 ..}&lt;br /&gt;
thus &amp;quot;p∧q ⟶r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 22. Demostrar&lt;br /&gt;
     p ∧ q ⟶ r ⊢ p ⟶ (q ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22:&lt;br /&gt;
  assumes &amp;quot;p ∧ q ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
{assume 2:&amp;quot;q&amp;quot;&lt;br /&gt;
have 3:&amp;quot;p∧q&amp;quot; using 1 2 ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using assms 3 ..}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; ..}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; ..  &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 23. Demostrar&lt;br /&gt;
     (p ⟶ q) ⟶ r ⊢ p ∧ q ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ q) ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ q ⟶ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1:&amp;quot;p∧q&amp;quot;&lt;br /&gt;
have 2:&amp;quot;p&amp;quot; using 1 ..&lt;br /&gt;
{assume &amp;quot;p&amp;quot;&lt;br /&gt;
have 3: &amp;quot;q&amp;quot; using 1 ..}&lt;br /&gt;
hence 4:&amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using assms 4 ..}&lt;br /&gt;
thus &amp;quot;p∧q ⟶r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 24. Demostrar&lt;br /&gt;
     p ∧ (q ⟶ r) ⊢ (p ⟶ q) ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24:&lt;br /&gt;
  assumes &amp;quot;p ∧ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ⟶ q) ⟶ r&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;p⟶q&amp;quot;&lt;br /&gt;
have 2:&amp;quot;p&amp;quot; using assms ..&lt;br /&gt;
have 3:&amp;quot;q⟶r&amp;quot; using assms..&lt;br /&gt;
have 4:&amp;quot;q&amp;quot; using 1 2 ..&lt;br /&gt;
have &amp;quot;r&amp;quot; using 3 4 ..}&lt;br /&gt;
thus &amp;quot;(p⟶q)⟶r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
section {* Disyunciones *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 25. Demostrar&lt;br /&gt;
     p ⊢ p ∨ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_25:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p∨q&amp;quot; using assms by (rule disjI1)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 26. Demostrar&lt;br /&gt;
     q ⊢ p ∨ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_26:&lt;br /&gt;
  assumes &amp;quot;q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p∨q&amp;quot; using assms by (rule disjI2)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 27. Demostrar&lt;br /&gt;
     p ∨ q ⊢ q ∨ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_27:&lt;br /&gt;
  assumes &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;q ∨ p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
  have &amp;quot;p ∨ q&amp;quot; using assms by this&lt;br /&gt;
  moreover&lt;br /&gt;
  { assume 2: &amp;quot;p&amp;quot;&lt;br /&gt;
    have &amp;quot;q ∨ p&amp;quot; using 2 by (rule disjI2) }&lt;br /&gt;
  moreover&lt;br /&gt;
  { assume 3: &amp;quot;q&amp;quot;&lt;br /&gt;
    have &amp;quot;q ∨ p&amp;quot; using 3 by (rule disjI1) }&lt;br /&gt;
  ultimately show &amp;quot;q ∨ p&amp;quot; by (rule disjE) &lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 28. Demostrar&lt;br /&gt;
     q ⟶ r ⊢ p ∨ q ⟶ p ∨ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_28:&lt;br /&gt;
  assumes &amp;quot;q ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∨ q ⟶ p ∨ r&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume  &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
  moreover&lt;br /&gt;
  { assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
    have &amp;quot;p ∨ r&amp;quot;  using 1 by (rule disjI1)}&lt;br /&gt;
  moreover &lt;br /&gt;
  { assume 2:&amp;quot;q&amp;quot;&lt;br /&gt;
    have 3:&amp;quot;r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
    have &amp;quot;p ∨ r&amp;quot; using 3 by (rule disjI2) }&lt;br /&gt;
   ultimately have  &amp;quot; p ∨ r&amp;quot; by (rule disjE)}&lt;br /&gt;
thus  &amp;quot;p ∨ q ⟶ p ∨ r&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 29. Demostrar&lt;br /&gt;
     p ∨ p ⊢ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29:&lt;br /&gt;
  assumes &amp;quot;p ∨ p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1: &amp;quot;p ∨ p&amp;quot; using assms by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
  have  &amp;quot;p&amp;quot; using 1 by this}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
  have  &amp;quot;p&amp;quot; using 2 by this}&lt;br /&gt;
ultimately show  &amp;quot;p&amp;quot; by (rule disjE)&lt;br /&gt;
&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 30. Demostrar&lt;br /&gt;
     p ⊢ p ∨ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_30:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∨ p&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
 show  &amp;quot;p ∨ p&amp;quot; using assms by (rule disjI1)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 31. Demostrar&lt;br /&gt;
     p ∨ (q ∨ r) ⊢ (p ∨ q) ∨ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31:&lt;br /&gt;
  assumes &amp;quot;p ∨ (q ∨ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 32. Demostrar&lt;br /&gt;
     (p ∨ q) ∨ r ⊢ p ∨ (q ∨ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_32:&lt;br /&gt;
  assumes &amp;quot;(p ∨ q) ∨ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∨ (q ∨ r)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 33. Demostrar&lt;br /&gt;
     p ∧ (q ∨ r) ⊢ (p ∧ q) ∨ (p ∧ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_33:&lt;br /&gt;
  assumes &amp;quot;p ∧ (q ∨ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ∧ q) ∨ (p ∧ r)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 34. Demostrar&lt;br /&gt;
     (p ∧ q) ∨ (p ∧ r) ⊢ p ∧ (q ∨ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_34:&lt;br /&gt;
  assumes &amp;quot;(p ∧ q) ∨ (p ∧ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ (q ∨ r)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 35. Demostrar&lt;br /&gt;
     p ∨ (q ∧ r) ⊢ (p ∨ q) ∧ (p ∨ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_35:&lt;br /&gt;
  assumes &amp;quot;p ∨ (q ∧ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ∨ q) ∧ (p ∨ r)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 36. Demostrar&lt;br /&gt;
     (p ∨ q) ∧ (p ∨ r) ⊢ p ∨ (q ∧ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_36:&lt;br /&gt;
  assumes &amp;quot;(p ∨ q) ∧ (p ∨ r)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ∨ (q ∧ r)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 37. Demostrar&lt;br /&gt;
     (p ⟶ r) ∧ (q ⟶ r) ⊢ p ∨ q ⟶ r&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_37:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ r) ∧ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∨ q ⟶ r&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 38. Demostrar&lt;br /&gt;
     p ∨ q ⟶ r ⊢ (p ⟶ r) ∧ (q ⟶ r)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_38:&lt;br /&gt;
  assumes &amp;quot;p ∨ q ⟶ r&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ⟶ r) ∧ (q ⟶ r)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
section {* Negaciones *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 39. Demostrar&lt;br /&gt;
     p ⊢ ¬¬p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_39:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬¬p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 40. Demostrar&lt;br /&gt;
     ¬p ⊢ p ⟶ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_40:&lt;br /&gt;
  assumes &amp;quot;¬p&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 41. Demostrar&lt;br /&gt;
     p ⟶ q ⊢ ¬q ⟶ ¬p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_41:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬q ⟶ ¬p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 42. Demostrar&lt;br /&gt;
     p∨q, ¬q ⊢ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_42:&lt;br /&gt;
  assumes &amp;quot;p∨q&amp;quot;&lt;br /&gt;
          &amp;quot;¬q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 42. Demostrar&lt;br /&gt;
     p ∨ q, ¬p ⊢ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_43:&lt;br /&gt;
  assumes &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
          &amp;quot;¬p&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 40. Demostrar&lt;br /&gt;
     p ∨ q ⊢ ¬(¬p ∧ ¬q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_44:&lt;br /&gt;
  assumes &amp;quot;p ∨ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬(¬p ∧ ¬q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 45. Demostrar&lt;br /&gt;
     p ∧ q ⊢ ¬(¬p ∨ ¬q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_45:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬(¬p ∨ ¬q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 46. Demostrar&lt;br /&gt;
     ¬(p ∨ q) ⊢ ¬p ∧ ¬q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_46:&lt;br /&gt;
  assumes &amp;quot;¬(p ∨ q)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬p ∧ ¬q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 47. Demostrar&lt;br /&gt;
     ¬p ∧ ¬q ⊢ ¬(p ∨ q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_47:&lt;br /&gt;
  assumes &amp;quot;¬p ∧ ¬q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬(p ∨ q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 48. Demostrar&lt;br /&gt;
     ¬p ∨ ¬q ⊢ ¬(p ∧ q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_48:&lt;br /&gt;
  assumes &amp;quot;¬p ∨ ¬q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(p ∧ q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 49. Demostrar&lt;br /&gt;
     ⊢ ¬(p ∧ ¬p)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_49:&lt;br /&gt;
  &amp;quot;¬(p ∧ ¬p)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 50. Demostrar&lt;br /&gt;
     p ∧ ¬p ⊢ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_50:&lt;br /&gt;
  assumes &amp;quot;p ∧ ¬p&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 51. Demostrar&lt;br /&gt;
     ¬¬p ⊢ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_51:&lt;br /&gt;
  assumes &amp;quot;¬¬p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 52. Demostrar&lt;br /&gt;
     ⊢ p ∨ ¬p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_52:&lt;br /&gt;
  &amp;quot;p ∨ ¬p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 53. Demostrar&lt;br /&gt;
     ⊢ ((p ⟶ q) ⟶ p) ⟶ p&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_53:&lt;br /&gt;
  &amp;quot;((p ⟶ q) ⟶ p) ⟶ p&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 54. Demostrar&lt;br /&gt;
     ¬q ⟶ ¬p ⊢ p ⟶ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_54:&lt;br /&gt;
  assumes &amp;quot;¬q ⟶ ¬p&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 55. Demostrar&lt;br /&gt;
     ¬(¬p ∧ ¬q) ⊢ p ∨ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_55:&lt;br /&gt;
  assumes &amp;quot;¬(¬p ∧ ¬q)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 56. Demostrar&lt;br /&gt;
     ¬(¬p ∨ ¬q) ⊢ p ∧ q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_56:&lt;br /&gt;
  assumes &amp;quot;¬(¬p ∨ ¬q)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 57. Demostrar&lt;br /&gt;
     ¬(p ∧ q) ⊢ ¬p ∨ ¬q&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_57:&lt;br /&gt;
  assumes &amp;quot;¬(p ∧ q)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬p ∨ ¬q&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 58. Demostrar&lt;br /&gt;
     ⊢ (p ⟶ q) ∨ (q ⟶ p)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_58:&lt;br /&gt;
  &amp;quot;(p ⟶ q) ∨ (q ⟶ p)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=84</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=84"/>
		<updated>2016-02-25T17:47:10Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 2b: Sintaxis y semántica de la Lógica proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como &amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y &amp;lt;math&amp;gt;L \subset M&amp;lt;/math&amp;gt; un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Por Hipótesis, como M es consistente, entonces existe interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como L={Hi₁,Hi₂..Him}, L es consistente. Con esto es inmediato probar que S ∩ T es consistente, pues S ∩ T esta contenido en S.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así pues S ∩ T es consistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
&amp;lt;math&amp;gt;\lnot p,\lnot q , p \vee q &amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
La generalización a n fórmulas sería &amp;lt;math&amp;gt;\lnot p1,\lnot p2...\lnot p(n-1) &amp;lt;/math&amp;gt; y &amp;lt;math&amp;gt;Fn = p1 \vee p2 \vee ...\vee p(n-1)  &amp;lt;/math&amp;gt;&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=83</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=83"/>
		<updated>2016-02-25T17:39:58Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como (math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y &amp;lt;math&amp;gt;L \subset M&amp;lt;/math&amp;gt; un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Por Hipótesis, como M es consistente, entonces existe interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como L={Hi₁,Hi₂..Him}, L es consistente. Con esto es inmediato probar que S ∩ T es consistente, pues S ∩ T esta contenido en S.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así pues S ∩ T es consistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
&amp;lt;math&amp;gt;\lnot p,\lnot q , p \vee q &amp;lt;/math&amp;gt;&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=82</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=82"/>
		<updated>2016-02-25T17:39:04Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 2b: Sintaxis y semántica de la Lógica proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como (math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y &amp;lt;math&amp;gt;L \subset M&amp;lt;/math&amp;gt; un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Por Hipótesis, como M es consistente, entonces existe interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como L={Hi₁,Hi₂..Him}, L es consistente. Con esto es inmediato probar que S ∩ T es consistente, pues S ∩ T esta contenido en S.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así pues S ∩ T es consistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
&amp;lt;math&amp;gt;\lnot p,\lnot q , p \lvee q &amp;lt;/math&amp;gt;&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=81</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=81"/>
		<updated>2016-02-25T17:37:24Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 2b: Sintaxis y semántica de la Lógica proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como (math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y &amp;lt;math&amp;gt;L \subset M&amp;lt;/math&amp;gt; un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Por Hipótesis, como M es consistente, entonces existe interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como L={Hi₁,Hi₂..Him}, L es consistente. Con esto es inmediato probar que S ∩ T es consistente, pues S ∩ T esta contenido en S.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así pues S ∩ T es consistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
&amp;lt;math&amp;gt;\lnot p,\lnot q , p v q &amp;lt;/math&amp;gt;&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=80</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=80"/>
		<updated>2016-02-25T17:34:18Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como (math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y &amp;lt;math&amp;gt;L \subset M&amp;lt;/math&amp;gt; un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Por Hipótesis, como M es consistente, entonces existe interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como L={Hi₁,Hi₂..Him}, L es consistente. Con esto es inmediato probar que S ∩ T es consistente, pues S ∩ T esta contenido en S.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así pues S ∩ T es consistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
&amp;lt;math&amp;gt;\not p,\not q , p v q &amp;lt;/math&amp;gt;&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=79</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=79"/>
		<updated>2016-02-25T17:15:26Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 2b: Sintaxis y semántica de la Lógica proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como (math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y &amp;lt;math&amp;gt;L \subset M&amp;lt;/math&amp;gt; un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Por Hipótesis, como M es consistente, entonces existe interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como L={Hi₁,Hi₂..Him}, L es consistente. Con esto es inmediato probar que S ∩ T es consistente, pues S ∩ T esta contenido en S.&amp;lt;br /&amp;gt;&lt;br /&gt;
Así pues S ∩ T es consistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=78</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=78"/>
		<updated>2016-02-25T17:08:56Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como   (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y &amp;lt;math&amp;gt;L \subset M&amp;lt;/math&amp;gt; un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Como M&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(H₁∧H₂∧..∧Hn) Por Hipótesis, como M es consistente, entonces existe interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como L={Hi₁,Hi₂..Him}, L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=77</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=77"/>
		<updated>2016-02-25T17:03:38Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como   (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y &amp;lt;math&amp;gt;L \subset M&amp;lt;/math&amp;gt; un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Como M&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(H₁∧H₂∧..∧Hn) Por Hipótesis, como M es consistente, entonces existe interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
POr tanto &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=76</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=76"/>
		<updated>2016-02-25T17:00:24Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como   (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y L&amp;lt;math&amp;gt;\subset&amp;lt;/math&amp;gt;H un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Como M&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(H₁∧H₂∧..∧Hn) Por Hipótesis, como M es consistente, entonces Existe Interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \leq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
POr tanto &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=75</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=75"/>
		<updated>2016-02-25T16:58:30Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como   (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y L&amp;lt;math&amp;gt;\subset&amp;lt;/math&amp;gt;H un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Como M&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(H₁∧H₂∧..∧Hn) Por Hipótesis, como M es consistente, entonces Existe Interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt; 1 \geq i \leq n&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=74</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=74"/>
		<updated>2016-02-25T16:57:03Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como   (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
En primer lugar probemos la monotonía:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y L&amp;lt;math&amp;gt;\subset&amp;lt;/math&amp;gt;H un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Como M&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(H₁∧H₂∧..∧Hn) Por Hipótesis, como M es consistente, entonces Existe Interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt;1\geq i\leqn&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=73</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=73"/>
		<updated>2016-02-25T16:53:29Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solución:&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la primera afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como   (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Probemos la segunda afirmación:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
En primer lugar probemos la monotonía:&lt;br /&gt;
Sea M = {H₁,H₂..Hn} un conjunto cualquiera de fórmulas y L&amp;lt;math&amp;gt;\subset&amp;lt;/math&amp;gt;H un subconjunto.Entonces si M es consistente L es consistente.&amp;lt;br /&amp;gt;&lt;br /&gt;
Demostración:&amp;lt;br /&amp;gt;&lt;br /&gt;
Como M&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(H₁∧H₂∧..∧Hn) Por Hipótesis, como M es consistente, entonces Existe Interpretación I tal que I(Hi)=1 para todo &amp;lt;math&amp;gt;\leq i\geq&amp;lt;/math&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=72</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=72"/>
		<updated>2016-02-25T16:32:06Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
&lt;br /&gt;
&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;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Texto en negrita&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Probemos la primera afirmación:&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como   (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) = (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)  no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn),&amp;lt;br /&amp;gt; &lt;br /&gt;
lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Texto en negrita&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Probemos la segunda afirmación&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=71</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=71"/>
		<updated>2016-02-25T16:22:40Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
&lt;br /&gt;
&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;
Probemos la primera afirmación:&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;br /&amp;gt;&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;br /&amp;gt;&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tiene modelos, es decir; I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
&lt;br /&gt;
Como (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) =(F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)&amp;lt;br /&amp;gt;&lt;br /&gt;
no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn), lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=70</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=70"/>
		<updated>2016-02-25T16:20:12Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
&lt;br /&gt;
&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;
Probemos la primera afirmación:&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&lt;br /&gt;
&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&lt;br /&gt;
&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tienes modelos es decir I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
Como (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) =(F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)&lt;br /&gt;
no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn), lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=69</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=69"/>
		<updated>2016-02-25T16:16:07Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 2b: Sintaxis y semántica de la Lógica proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
&lt;br /&gt;
&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;
Probemos la primera afirmación:&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&lt;br /&gt;
&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tienes modelos es decir I(G₁∧G₂∧...∧Gn)= Para cualquier I.&lt;br /&gt;
Como (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) =(F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)&lt;br /&gt;
no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn), lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=68</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=68"/>
		<updated>2016-02-25T11:49:06Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
&lt;br /&gt;
&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;
Probemos la primera afirmación:&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&lt;br /&gt;
&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas&lt;br /&gt;
Por tanto como T es inconsistente G₁∧G₂∧...∧Gn no tienes modelos es decir I(G₁∧G₂∧...∧Gn)= Para cualquier I&lt;br /&gt;
Como (S ∪ T)&amp;lt;math&amp;gt;\equiv&amp;lt;/math&amp;gt;(F₁∧F₂∧..∧Fn∧G₁∧G₂∧..∧Gn) =(F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn)&lt;br /&gt;
no existe modelo para (F₁∧F₂∧..∧Fn)∧(G₁∧G₂∧..∧Gn), lo que implica que S ∪ T es inconsistente Q.E.D&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=67</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=67"/>
		<updated>2016-02-25T11:36:03Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
&lt;br /&gt;
&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;
probemos la primera afirmacion:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Por tanto como T es inconsistente G₁\wedge G₂\wedge...\wedge Gn no tienes modelos es decir I(G₁\wedge G₂\wedge...\wedge Gn)= Para cualquier I&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Como (S ∪ T)\equiv(F₁\wedgeF₂\wedge..\wedgeFn\wedgeG₁\wedge G₂\wedge...\wedge Gn =(F₁\wedgeF₂\wedge..\wedgeFn)\wedge(G₁\wedge G₂\wedge...\wedge Gn)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;no existe modelo para (F₁\wedgeF₂\wedge..\wedgeFn)\wedge(G₁\wedge G₂\wedge...\wedge Gn) lo que implica que S ∪ T es inconsistente &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=66</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=66"/>
		<updated>2016-02-25T11:32:42Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
&lt;br /&gt;
&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;
probemos la primera afirmacion:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Por tanto como T es inconsistente G₁\wedge G₂\wedge...\wedge Gn no tienes modelos es decir I(G₁\wedge G₂\wedge...\wedge Gn)= Para cualquier I.&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Como (S ∪ T)\equiv(F₁\wedgeF₂\wedge..\wedgeFn\wedgeG₁\wedge G₂\wedge...\wedge Gn =(F₁\wedgeF₂\wedge..\wedgeFn)\wedge(G₁\wedge G₂\wedge...\wedge Gn)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;no existe modelo para (F₁\wedgeF₂\wedge..\wedgeFn)\wedge(G₁\wedge G₂\wedge...\wedge Gn) lo que implica que S ∪ T es inconsistente Q.E.D&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=65</id>
		<title>Relación 2b</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2b&amp;diff=65"/>
		<updated>2016-02-25T11:28:52Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 2b: Sintaxis y semántica de la Lógica proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 2b: Sintaxis y semántica de la Lógica proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Un rey somete a un prisionero a la siguiente prueba: lo enfrenta a dos&lt;br /&gt;
puertas, de las que el prisionero debe elegir una, y entrar en la habitación correspondiente.&lt;br /&gt;
Se informa al prisionero que en cada una de las habitaciones puede haber un&lt;br /&gt;
tigre o una dama. Como es natural, el prisionero debe elegir la puerta que le lleva a&lt;br /&gt;
la dama (entre otras cosas, para no ser devorado por el tigre). Para ayudarle, en cada&lt;br /&gt;
puerta hay un letrero:&lt;br /&gt;
&lt;br /&gt;
* puerta 1: en esta habitación hay una dama y en la otra un tigre.&lt;br /&gt;
* puerta 2: en una de estas habitaciones hay una dama y en una de estas habitaciones&lt;br /&gt;
hay un tigre.&lt;br /&gt;
&lt;br /&gt;
Sabiendo que uno de los carteles dice la verdad y el otro no, determinar la puerta que&lt;br /&gt;
debe de elegir el prisionero.&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;
&amp;lt;math&amp;gt;Regla \quad 1: I(Puerta \quad 1) \neq I(Puerta \quad 2)&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;Regla \quad 2: \exists x=1,2 \quad : \quad I(Puerta \quad x) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;I(Puerta \quad 1) = 1 \rightarrow I(Puerta \quad 2) = 1 \rightarrow \leftarrow \quad (R1) &amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;\rightarrow I(Puerta \quad 1) = 0\rightarrow I(Puerta \quad 2) =1&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Luego, hay que entrar en la puerta 2.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes&lt;br /&gt;
afirmaciones: &lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.&lt;br /&gt;
* Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.&lt;br /&gt;
&lt;br /&gt;
probemos la primera afirmacion:&lt;br /&gt;
&lt;br /&gt;
Sea S = {F₁,F₂..Fn} y  T = {G₁,G₂..Gn}&lt;br /&gt;
&lt;br /&gt;
Sabemos que un conjunto de fórmulas es consistente syss existe un modelo para la conjuncion de todas sus formulas.&lt;br /&gt;
Por tanto como T es inconsistente G₁\wedge G₂\wedge...\wedge Gn no tienes modelos es decir I(G₁\wedge G₂\wedge...\wedge Gn)= Para cualquier I.&lt;br /&gt;
Como (S ∪ T)\equiv(F₁\wedgeF₂\wedge..\wedgeFn\wedgeG₁\wedge G₂\wedge...\wedge Gn =(F₁\wedgeF₂\wedge..\wedgeFn)\wedge(G₁\wedge G₂\wedge...\wedge Gn)&lt;br /&gt;
no existe modelo para (F₁\wedgeF₂\wedge..\wedgeFn)\wedge(G₁\wedge G₂\wedge...\wedge Gn) lo que implica que S ∪ T es inconsistente Q.E.D&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;&lt;br /&gt;
&lt;br /&gt;
Da un ejemplo de tres fórmulas F₁ , F₂ , y F₃ tales que F₁ ∧ F₂ ∧ F₃ sea&lt;br /&gt;
insatisfactible y donde cualquier conjunción de todas ellas menos una sea&lt;br /&gt;
satisfactible. Generalízalo a n fórmulas.&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;
* Probar que la fórmula (((p → q) → p) → p) es una tautología  &lt;br /&gt;
* Si definimos recursivamente A(0) = (p → q) y A(n+1) = (A(n) → p), ¿para qué valores de n es A es una tautologí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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2a&amp;diff=59</id>
		<title>Relación 2a</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2a&amp;diff=59"/>
		<updated>2016-02-24T02:46:25Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- SintaxisSemanticaProp.hs&lt;br /&gt;
-- Lógica proposicional: Sintaxis y semántica&lt;br /&gt;
-- José A. Alonso Jiménez &amp;lt;jalonso@us.es&amp;gt;&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 SimboloProposicional = String&lt;br /&gt;
 &lt;br /&gt;
data Prop = Atom SimboloProposicional&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;
simbolosPropForm :: Prop -&amp;gt; [Prop]&lt;br /&gt;
simbolosPropForm (Atom f) = [(Atom f)]&lt;br /&gt;
simbolosPropForm (Neg f) = simbolosPropForm f&lt;br /&gt;
simbolosPropForm (Conj f g) = union (simbolosPropForm f) (simbolosPropForm g)&lt;br /&gt;
simbolosPropForm (Disj f g) = union (simbolosPropForm f) (simbolosPropForm g) &lt;br /&gt;
simbolosPropForm (Impl f g) = union (simbolosPropForm f) (simbolosPropForm g)&lt;br /&gt;
simbolosPropForm (Equi f g) = union (simbolosPropForm f) (simbolosPropForm g)&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 Interpretacion = [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; Interpretacion -&amp;gt; Bool&lt;br /&gt;
significado (Atom f) i = (elem (Atom f) 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 (Equi f g) i = (significado f i)==(significado g i)&lt;br /&gt;
significado (Impl f g) i &lt;br /&gt;
                   |((significado f i)==True)&amp;amp;&amp;amp;((significado g i))==False=False&lt;br /&gt;
                   |otherwise = True&lt;br /&gt;
&lt;br /&gt;
&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) = (map (x:) (subconjuntos xs))++(subconjuntos xs)&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9: Definir la función&lt;br /&gt;
--    interpretacionesForm :: Prop -&amp;gt; [Interpretación]&lt;br /&gt;
-- tal que (interpretacionesForm f) es la lista de todas las&lt;br /&gt;
-- interpretaciones de f. Por ejemplo, &lt;br /&gt;
--    interpretacionesForm (p /\ q --&amp;gt; p)  ==&amp;gt;  [[p,q],[p],[q],[]]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
interpretacionesForm :: Prop -&amp;gt; [Interpretacion]&lt;br /&gt;
interpretacionesForm f = subconjuntos (simbolosPropForm 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;
--    esModeloFormula :: Interpretacion -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esModeloFormula i f) se verifica si i es un modelo de f. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    esModeloFormula [r]   ((p \/ q) /\ ((no q) \/ r))    ==&amp;gt;  False&lt;br /&gt;
--    esModeloFormula [p,r] ((p \/ q) /\ ((no q) \/ r))    ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
esModeloFormula :: Interpretacion -&amp;gt; Prop -&amp;gt; Bool&lt;br /&gt;
esModeloFormula i f = significado f i&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11: Definir la función&lt;br /&gt;
--    modelosFormula :: Prop -&amp;gt; [Interpretacion]&lt;br /&gt;
-- tal que (modelosFormula f) es la lista de todas las interpretaciones&lt;br /&gt;
-- de f que son modelo de F. Por ejemplo,&lt;br /&gt;
--    modelosFormula ((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;
modelosFormula :: Prop -&amp;gt; [Interpretacion]&lt;br /&gt;
modelosFormula f = [i|i &amp;lt;-(interpretacionesForm f), esModeloFormula 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;
--    esValida :: Prop -&amp;gt; Bool&lt;br /&gt;
-- tal que (esValida f) se verifica si f es válida. Por ejemplo,&lt;br /&gt;
--    esValida (p --&amp;gt; p)                 ==&amp;gt;  True&lt;br /&gt;
--    esValida (p --&amp;gt; q)                 ==&amp;gt;  False&lt;br /&gt;
--    esValida ((p --&amp;gt; q) \/ (q --&amp;gt; p))  ==&amp;gt;  True&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
esValida :: Prop -&amp;gt; Bool&lt;br /&gt;
esValida f = null((interpretacionesForm f)\\( modelosFormula 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 = null (modelosFormula 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 = not( null (modelosFormula 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;
--    unionGeneral :: Eq a =&amp;gt; [[a]] -&amp;gt; [a]&lt;br /&gt;
-- tal que (unionGeneral x) es la unión de los conjuntos de la lista de&lt;br /&gt;
-- conjuntos x. Por ejemplo,&lt;br /&gt;
--    unionGeneral []                 ==&amp;gt;  []&lt;br /&gt;
--    unionGeneral [[1]]              ==&amp;gt;  [1]&lt;br /&gt;
--    unionGeneral [[1],[1,2],[2,3]]  ==&amp;gt;  [1,2,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
unionGeneral :: Eq a =&amp;gt; [[a]] -&amp;gt; [a]&lt;br /&gt;
unionGeneral [] = []&lt;br /&gt;
unionGeneral (xs:xss) = union xs (unionGeneral xss) &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 16: Definir la función&lt;br /&gt;
--    simbolosPropConj :: [Prop] -&amp;gt; [Prop]&lt;br /&gt;
-- tal que (simbolosPropConj s) es el conjunto de los símbolos&lt;br /&gt;
-- proposiciones de s. Por ejemplo,&lt;br /&gt;
--    simbolosPropConj [p /\ q --&amp;gt; r, p --&amp;gt; s]  ==&amp;gt;  [p,q,r,s]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
simbolosPropConj :: [Prop] -&amp;gt; [Prop]&lt;br /&gt;
simbolosPropConj s = unionGeneral [simbolosPropForm f|f&amp;lt;-s]&lt;br /&gt;
 &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; [Interpretacion]&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; [Interpretacion]&lt;br /&gt;
interpretacionesConjunto s = undefined&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 :: Interpretacion -&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 :: Interpretacion -&amp;gt; [Prop] -&amp;gt; Bool&lt;br /&gt;
esModeloConjunto i s = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 19: Definir la función&lt;br /&gt;
--    modelosConjunto :: [Prop] -&amp;gt; [Interpretacion]&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; [Interpretacion]&lt;br /&gt;
modelosConjunto s = undefined&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 = undefined&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 = undefined&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 = undefined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_1&amp;diff=41</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_1&amp;diff=41"/>
		<updated>2016-02-21T19:34:12Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- LMF 2015-16: Rel_1.hs &lt;br /&gt;
-- Introducción a la programación con Haskell.&lt;br /&gt;
-- Departamento de Ciencias de la Computación e I.A.&lt;br /&gt;
-- Universidad de Sevilla&lt;br /&gt;
-- =====================================================================&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Introducción                                                       --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- En esta relación de ejercicios hacemos una introducción a Haskell, en&lt;br /&gt;
-- la que se recuerdan:&lt;br /&gt;
-- * las definiciones elementales de funciones,&lt;br /&gt;
-- * las definiciones de funciones por comprensión,&lt;br /&gt;
-- * las definiciones de funciones por recursión y&lt;br /&gt;
-- * los tipos de datos.&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Importación de librerías auxiliares                                  &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
import Test.QuickCheck&lt;br /&gt;
import Data.Char&lt;br /&gt;
import Control.Monad&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1. Definir la función media3 tal que (media3 x y z) es&lt;br /&gt;
-- la media aritmética de los números x, y y z. Por ejemplo, &lt;br /&gt;
--    media3 1 3 8     ==  4.0&lt;br /&gt;
--    media3 (-1) 0 7  ==  2.0&lt;br /&gt;
--    media3 (-3) 0 3  ==  0.0&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
media3 :: Float -&amp;gt; Float -&amp;gt; Float -&amp;gt; Float&lt;br /&gt;
media3 x y z = (x+y+z)/3&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2. Definir la función ultimaCifra tal que (ultimaCifra x)&lt;br /&gt;
-- es la última cifra del nímero x. Por ejemplo,&lt;br /&gt;
--    ultimaCifra 325  ==  5&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
ultimaCifra :: Integer -&amp;gt; Integer&lt;br /&gt;
ultimaCifra x = abs(rem x 10)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3. Definir la función rota tal que (rota n xs) es la lista&lt;br /&gt;
-- obtenida poniendo los n primeros elementos de xs al final de la&lt;br /&gt;
-- lista. Por ejemplo, &lt;br /&gt;
--    rota 1 [3,2,5,7]  ==  [2,5,7,3]&lt;br /&gt;
--    rota 2 [3,2,5,7]  ==  [5,7,3,2]&lt;br /&gt;
--    rota 3 [3,2,5,7]  ==  [7,3,2,5]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
rota :: Int -&amp;gt; [a] -&amp;gt; [a]&lt;br /&gt;
rota n xs | n &amp;lt; length xs = (drop n xs)++(take n xs)&lt;br /&gt;
          |otherwise = rota ( mod n (length xs)) xs &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.1. La disyunción excluyente xor de dos fórmulas se&lt;br /&gt;
-- verifica si una es verdadera y la otra es falsa.&lt;br /&gt;
-- &lt;br /&gt;
-- Definir la función xor_1 que calcule la disyunción excluyente a&lt;br /&gt;
-- partir de la tabla de verdad. Usar 4 ecuaciones, una por cada línea&lt;br /&gt;
-- de la tabla. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_1 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_1 True  True = False&lt;br /&gt;
xor_1 True  False = True&lt;br /&gt;
xor_1 False  True = True&lt;br /&gt;
xor_1 False False = False&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.2. Definir la función xor_2 que calcule la disyunción&lt;br /&gt;
-- excluyente a partir de la tabla de verdad y patrones. Usar 2&lt;br /&gt;
-- ecuaciones, una por cada valor del primer argumento.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_2 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_2 True q = not q&lt;br /&gt;
xor_2 False q = q&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.3. Definir la función xor_3 que calcule la disyunción&lt;br /&gt;
-- excluyente a partir de la disyunción (||), conjunción (&amp;amp;&amp;amp;) y negación&lt;br /&gt;
-- (not). Usar 1 ecuación.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_3 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_3 p q = (p &amp;amp;&amp;amp; (not q)) || ((not p) &amp;amp;&amp;amp; q)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.4. Definir la función xor_4 que calcule la disyunción&lt;br /&gt;
-- excluyente a partir de desigualdad (/=). Usar 1 ecuación.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_4 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_4 p q = p /= q&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5. Definir, por comprensión, la función&lt;br /&gt;
--    sumaDeCuadrados :: Integer -&amp;gt; Integer&lt;br /&gt;
-- tal que (sumaDeCuadrados n) es la suma de los cuadrados de los&lt;br /&gt;
-- primeros n números; es decir, 1^2 + 2^2 + ... + 100^2. Por ejemplo,&lt;br /&gt;
--    sumaDeCuadrados 3    ==  14&lt;br /&gt;
--    sumaDeCuadrados 100  ==  338350&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sumaDeCuadrados :: Integer -&amp;gt; Integer&lt;br /&gt;
sumaDeCuadrados n = sum (map (^2) [1..n])&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6. Una terna (x,y,z) de enteros positivos es pitagórica si &lt;br /&gt;
-- x^2 + y^2 = z^2. Usando una lista por comprensión, definir la función&lt;br /&gt;
--    pitagoricas :: Int -&amp;gt; [(Int, Int, Int)]&lt;br /&gt;
-- tal que (pitagoricas n) es la lista de todas las ternas pitagóricas&lt;br /&gt;
-- cuyas componentes están entre 1 y n. Por ejemplo, &lt;br /&gt;
--    *Main&amp;gt; pitagoricas 10 &lt;br /&gt;
--    [(3,4,5),(4,3,5),(6,8,10),(8,6,10)]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
pitagoricas :: Int -&amp;gt; [(Int, Int, Int)]&lt;br /&gt;
pitagoricas n = [(a,b,c)|a&amp;lt;-[1..n],b&amp;lt;-[1..n], c&amp;lt;-[1..n], a^2 + b^2==c^2] &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7. Un entero positivo es perfecto si es igual a la suma de&lt;br /&gt;
-- sus factores, excluyendo el propio número. Usando una lista por&lt;br /&gt;
-- comprensión y la función factores (del tema), definir la función &lt;br /&gt;
--    perfectos :: Int -&amp;gt; [Int]&lt;br /&gt;
-- tal que (perfectos n) es la lista de todos los números perfectos&lt;br /&gt;
-- menores que n. Por ejemplo: &lt;br /&gt;
--    *Main&amp;gt; perfectos 500&lt;br /&gt;
--    [6,28,496]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
factores :: Int -&amp;gt; [Int] &lt;br /&gt;
factores n = [x|x&amp;lt;-[1..(div n 2)], mod n x ==0]&lt;br /&gt;
perfectos :: Int -&amp;gt; [Int]&lt;br /&gt;
perfectos n = [x|x&amp;lt;-[1..n], sum (factores x)== x]&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8.1. Definir, por comprensión, la función&lt;br /&gt;
--    cuadradosC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (cuadradosC xs) es la lista de los cuadrados de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cuadradosC [1,2,3]  ==  [1,4,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cuadradosC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
cuadradosC xs= [y^2| y&amp;lt;-xs] &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8.2. Definir, por recursión, la función&lt;br /&gt;
--    cuadradosR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (cuadradosR xs) es la lista de los cuadrados de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cuadradosR [1,2,3]  ==  [1,4,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cuadradosR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
cuadradosR [] = []&lt;br /&gt;
cuadradoR (x:xs) = [x^2] ++ cuadradosR xs &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9.1. Definir, por comprensión, la función&lt;br /&gt;
--    imparesC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (imparesC xs) es la lista de los números impares de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    imparesC [1,2,3]  ==  [1,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
imparesC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
imparesC xs = [x|x&amp;lt;-xs, odd x]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9.2. Definir, por recursión, la función&lt;br /&gt;
--    imparesR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (imparesR xs) es la lista de los números impares de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    imparesR [1,2,3]  ==  [1,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
imparesR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
imparesR []= []&lt;br /&gt;
imparesR (x:xs) | odd x= x: (imparesR xs)&lt;br /&gt;
                | otherwise = imparesR xs&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10. Definir, por comprensión, la función&lt;br /&gt;
--    sumaConsecutivos :: [Int] -&amp;gt; [Int]&lt;br /&gt;
-- tal que (sumaConsecutivos xs) es la suma de los pares de elementos&lt;br /&gt;
-- consecutivos de la lista xs. Por ejemplo,&lt;br /&gt;
--    sumaConsecutivos [3,1,5,2]  ==  [4,6,7]&lt;br /&gt;
--    sumaConsecutivos [3]        ==  []&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sumaConsecutivos :: [Int] -&amp;gt; [Int]&lt;br /&gt;
sumaConsecutivos xs = zipWith (+) xs (tail xs)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11.  La distancia de Hamming entre dos listas es el número&lt;br /&gt;
-- de posiciones en que los correspondientes elementos son&lt;br /&gt;
-- distintos. Por ejemplo, la distancia de Hamming entre &amp;quot;roma&amp;quot; y &amp;quot;loba&amp;quot; &lt;br /&gt;
-- es 2 (porque hay 2 posiciones en las que los elementos&lt;br /&gt;
-- correspondientes son distintos: la 1ª y la 3ª). &lt;br /&gt;
--    &lt;br /&gt;
-- Definir la función distancia tal que (distancia xs ys) es la &lt;br /&gt;
-- distancia de Hamming entre xs e ys. Por ejemplo,&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;comino&amp;quot;  ==  2&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;camino&amp;quot;  ==  3&lt;br /&gt;
--    distancia &amp;quot;roma&amp;quot;   &amp;quot;comino&amp;quot;  ==  2&lt;br /&gt;
--    distancia &amp;quot;roma&amp;quot;   &amp;quot;camino&amp;quot;  ==  3&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;ron&amp;quot;     ==  1&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;cama&amp;quot;    ==  2&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;rama&amp;quot;    ==  1&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
distancia :: Eq a =&amp;gt; [a] -&amp;gt; [a] -&amp;gt; Int&lt;br /&gt;
distancia [] _ = 0&lt;br /&gt;
distancia _ [] = 0&lt;br /&gt;
distancia (x:xs) (y:ys) | x==y= distancia xs ys&lt;br /&gt;
                        |otherwise = 1 + distancia xs ys&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12. Definir la función&lt;br /&gt;
--    factoriales :: [Integer]&lt;br /&gt;
-- tal que factoriales es la lista de los factoriales. Por ejemplo,&lt;br /&gt;
--    take 10 factoriales  ==  [1,1,2,6,24,120,720,5040,40320,362880]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- Por comprensión:&lt;br /&gt;
&lt;br /&gt;
factoriales1 :: [Integer]&lt;br /&gt;
factoriales1 = 1:[factorial x|x&amp;lt;-[1..]]&lt;br /&gt;
factorial x = product[1..x]&lt;br /&gt;
&lt;br /&gt;
--otra forma sin necesidad de añadir el 1 a la lista&lt;br /&gt;
&lt;br /&gt;
factoriales1 :: [Integer]&lt;br /&gt;
factoriales1 = [product [1..n]|n&amp;lt;-[0..]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Usando zipWith:&lt;br /&gt;
&lt;br /&gt;
factoriales2 :: [Integer]&lt;br /&gt;
factoriales2 = 1: zipWith (*) [1..] factoriales2&lt;br /&gt;
&lt;br /&gt;
-- Por recursión:&lt;br /&gt;
&lt;br /&gt;
factoriales3 :: [Integer]&lt;br /&gt;
factoriales3 = 1: (aux 1 [1..])&lt;br /&gt;
    where aux n (x:xs) = (n*x):(aux (n*x) xs)&lt;br /&gt;
&lt;br /&gt;
--otra forma&lt;br /&gt;
factoriales3 :: [Integer]&lt;br /&gt;
factoriales3 = aux (1,1)&lt;br /&gt;
     where aux (x,y) = x: aux (x*y,y+1)&lt;br /&gt;
&lt;br /&gt;
-- Usando scanl1:&lt;br /&gt;
&lt;br /&gt;
factoriales4 :: [Integer]&lt;br /&gt;
factoriales4 = 1:scanl1 (*) [1..]&lt;br /&gt;
&lt;br /&gt;
-- Usando iterate:&lt;br /&gt;
&lt;br /&gt;
factoriales5 :: [Integer]&lt;br /&gt;
factoriales5 = map snd aux &lt;br /&gt;
        where aux = iterate aux2 (1,1) where aux2 (x,y) = (x+1,x*y)&lt;br /&gt;
&lt;br /&gt;
--otra forma&lt;br /&gt;
factoriales5 :: [Integer]&lt;br /&gt;
factoriales5 = map (fst) (iterate (\(x,y)-&amp;gt;(x*y,y+1)) (1,1))&lt;br /&gt;
&lt;br /&gt;
-- Comparación de los tiempos de evaluación:&lt;br /&gt;
-- *Main&amp;gt; :set +s&lt;br /&gt;
-- take 100 factoriales1 -&amp;gt; (0.20 secs, 0 bytes)&lt;br /&gt;
-- take 100 factoriales2 -&amp;gt; (0.05 secs, 0 bytes)&lt;br /&gt;
-- take 100 factoriales3 -&amp;gt; (0.02 secs, 0 bytes)&lt;br /&gt;
-- take 100 factoriales4 -&amp;gt; (0.00 secs, 20,605,760 bytes)&lt;br /&gt;
-- take 100 factoriales5 -&amp;gt; (0.02 secs, 0 bytes)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.0. En los siguientes ejercicios se demostrarán&lt;br /&gt;
-- propiedades de los árboles binarios definidos como sigue&lt;br /&gt;
--    data Arbol a = Hoja &lt;br /&gt;
--                 | Nodo a (Arbol a) (Arbol a)&lt;br /&gt;
--                 deriving (Show, Eq)&lt;br /&gt;
-- Como ejemplos se usarán los árboles&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
data Arbol a = Hoja &lt;br /&gt;
             | Nodo a (Arbol a) (Arbol a)&lt;br /&gt;
             deriving (Show, Eq)&lt;br /&gt;
 &lt;br /&gt;
arbol_1 = Nodo 9&lt;br /&gt;
               (Nodo 3 &lt;br /&gt;
                     (Nodo 2 Hoja Hoja) &lt;br /&gt;
                     (Nodo 4 Hoja Hoja)) &lt;br /&gt;
               (Nodo 7 Hoja Hoja)&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.1. Definir la función&lt;br /&gt;
--    espejo :: Arbol a -&amp;gt; Arbol a&lt;br /&gt;
-- tal que (espejo x) es la imagen especular del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; espejo arbol_1&lt;br /&gt;
--    Nodo 9 &lt;br /&gt;
--         (Nodo 7 Hoja Hoja) &lt;br /&gt;
--         (Nodo 3 &lt;br /&gt;
--               (Nodo 4 Hoja Hoja) &lt;br /&gt;
--               (Nodo 2 Hoja Hoja))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
espejo :: Arbol a -&amp;gt; Arbol a&lt;br /&gt;
espejo Hoja = Hoja&lt;br /&gt;
espejo (Nodo a i d) = Nodo a (espejo d) (espejo i) &lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.2. Comprobar con QuickCheck que para todo árbol x,&lt;br /&gt;
--    espejo (espejo x) = x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
prop_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_espejo x = espejo (espejo x) == x &lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.3. Demostrar por inducción que para todo árbol x,&lt;br /&gt;
--    espejo (espejo x) = x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
{-&lt;br /&gt;
-- Demostración por inducción en x&lt;br /&gt;
-- Caso base: El árbol es una Hoja. Por definición de espejo, espejo Hoja = Hoja, luego espejo (espejo Hoja) = Hoja.&lt;br /&gt;
-- Caso inductivo: El árbol tiene profundidad n. Se supone cierto que para este árbol se verifica que espejo (espejo x) = x&lt;br /&gt;
-- Demostración para un árbol de profundidad (n+1). Este árbol es de la forma (Nodo a i d) donde i, d son árboles de profundidad igual o menor&lt;br /&gt;
-- que n. &lt;br /&gt;
-- espejo (espejo (Nodo a i d)) = espejo (Nodo a (espejo d) (espejo i)) = Nodo a (espejo(espejo i)) (espejo(espejo d)) por definición de la&lt;br /&gt;
-- función espejo. Por hipótesis de inducción espejo(espejo i) = i y espejo(espejo d) = d, y queda demostrado.&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
 -- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.4. Definir la función&lt;br /&gt;
--    preorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
-- tal que (preorden x) es la lista correspondiente al recorrido&lt;br /&gt;
-- preorden del árbol x; es decir, primero visita la raíz del árbol, a&lt;br /&gt;
-- continuación recorre el subárbol izquierdo y, finalmente, recorre el&lt;br /&gt;
-- subárbol derecho. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; preorden arbol_1&lt;br /&gt;
--    [9,3,2,4,7]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
preorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
preorden Hoja = []&lt;br /&gt;
preorden (Nodo a i d)= a:(preorden i)++(preorden d) &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.5. Definir la función&lt;br /&gt;
--    postorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
-- tal que (postorden x) es la lista correspondiente al recorrido&lt;br /&gt;
-- postorden del árbol x; es decir, primero recorre el subárbol&lt;br /&gt;
-- izquierdo, a continuación el subárbol derecho y, finalmente, la raíz&lt;br /&gt;
-- del árbol. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; postorden arbol_1&lt;br /&gt;
--    [2,4,3,7,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
postorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
postorden Hoja = []&lt;br /&gt;
postorden (Nodo a i d) = (postorden i)++(postorden d)++[a]&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.6. Comprobar con QuickCheck que para todo árbol x,&lt;br /&gt;
--    postorden (espejo x) = reverse (preorden x)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_recorrido :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_recorrido x = postorden (espejo x) == reverse (preorden x) &lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.7. Demstrar por inducción que para todo árbol x,&lt;br /&gt;
--    postorden (espejo x) = reverse (preorden x)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración por inducción en x.&lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.8. Comprobar con QuickCheck que para todo árbol binario&lt;br /&gt;
-- x, se tiene que&lt;br /&gt;
--    reverse (preorden (espejo x)) = postorden x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_reverse_preorden_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_reverse_preorden_espejo x =&lt;br /&gt;
   reverse (preorden (espejo x)) == postorden x&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
--    *Main&amp;gt; quickCheck prop_reverse_preorden_espejo&lt;br /&gt;
--    OK, passed 100 tests.&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.9. Demostrar que para todo árbol binario x, se tiene que&lt;br /&gt;
--    reverse (preorden (espejo x)) = preorden x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración:&lt;br /&gt;
    reverse (preorden (espejo x))&lt;br /&gt;
    = postorden (espejo (espejo x))    [por ejercicio 13.7]&lt;br /&gt;
    = postorden x                      [por ejercicio 13.3]&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.10. Definir la función&lt;br /&gt;
--    nNodos :: Arbol a -&amp;gt; Int&lt;br /&gt;
-- tal que (nNodos x) es el número de nodos del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; nNodos arbol_1&lt;br /&gt;
--    5&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
nNodos :: Arbol a -&amp;gt; Int&lt;br /&gt;
nNodos = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.11. Comprobar con QuickCheck que el número de nodos de la&lt;br /&gt;
-- imagen especular de un árbol es el mismo que el número de nodos del&lt;br /&gt;
-- árbol. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_nNodos_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_nNodos_espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.12. Demostrar por inducción que el número de nodos de la&lt;br /&gt;
-- imagen especular de un árbol es el mismo que el número de nodos del&lt;br /&gt;
-- árbol. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración: &lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.13. Comprobar con QuickCheck que la longitud de la lista&lt;br /&gt;
-- obtenida recorriendo un árbol en sentido preorden es igual al número&lt;br /&gt;
-- de nodos del árbol.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_length_preorden :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_length_preorden = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.14. Demostrar por inducción que la longitud de la lista&lt;br /&gt;
-- obtenida recorriendo un árbol en sentido preorden es igual al número&lt;br /&gt;
-- de nodos del árbol.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración: &lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.15. Definir la función&lt;br /&gt;
--    profundidad :: Arbol a -&amp;gt; Int&lt;br /&gt;
-- tal que (profundidad x) es la profundidad del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; profundidad arbol_1&lt;br /&gt;
--    3&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
profundidad :: Arbol a -&amp;gt; Int&lt;br /&gt;
profundidad = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.16. Comprobar con QuickCheck que para todo árbol binario&lt;br /&gt;
-- x, se tiene que&lt;br /&gt;
--    nNodos x &amp;lt;= 2^(profundidad x) - 1&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_nNodosProfundidad :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_nNodosProfundidad = undefined&lt;br /&gt;
&lt;br /&gt;
-- La comprobación es&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Nota. Para comprobar propiedades de árboles con QuickCheck se&lt;br /&gt;
-- utilizará el siguiente generador.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
instance Arbitrary a =&amp;gt; Arbitrary (Arbol a) where&lt;br /&gt;
  arbitrary = sized arbol&lt;br /&gt;
    where&lt;br /&gt;
      arbol 0       = return Hoja &lt;br /&gt;
      arbol n | n&amp;gt;0 = oneof [return Hoja,&lt;br /&gt;
                             liftM3 Nodo arbitrary subarbol subarbol]&lt;br /&gt;
                      where subarbol = arbol (div n 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/haskell&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_1&amp;diff=32</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_1&amp;diff=32"/>
		<updated>2016-02-20T04:10:35Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- LMF 2015-16: Rel_1.hs &lt;br /&gt;
-- Introducción a la programación con Haskell.&lt;br /&gt;
-- Departamento de Ciencias de la Computación e I.A.&lt;br /&gt;
-- Universidad de Sevilla&lt;br /&gt;
-- =====================================================================&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Introducción                                                       --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- En esta relación de ejercicios hacemos una introducción a Haskell, en&lt;br /&gt;
-- la que se recuerdan:&lt;br /&gt;
-- * las definiciones elementales de funciones,&lt;br /&gt;
-- * las definiciones de funciones por comprensión,&lt;br /&gt;
-- * las definiciones de funciones por recursión y&lt;br /&gt;
-- * los tipos de datos.&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Importación de librerías auxiliares                                  &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
import Test.QuickCheck&lt;br /&gt;
import Data.Char&lt;br /&gt;
import Control.Monad&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1. Definir la función media3 tal que (media3 x y z) es&lt;br /&gt;
-- la media aritmética de los números x, y y z. Por ejemplo, &lt;br /&gt;
--    media3 1 3 8     ==  4.0&lt;br /&gt;
--    media3 (-1) 0 7  ==  2.0&lt;br /&gt;
--    media3 (-3) 0 3  ==  0.0&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
media3 :: Float -&amp;gt; Float -&amp;gt; Float -&amp;gt; Float&lt;br /&gt;
media3 x y z = (x+y+z)/3&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2. Definir la función ultimaCifra tal que (ultimaCifra x)&lt;br /&gt;
-- es la última cifra del nímero x. Por ejemplo,&lt;br /&gt;
--    ultimaCifra 325  ==  5&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
ultimaCifra :: Integer -&amp;gt; Integer&lt;br /&gt;
ultimaCifra x = abs(rem x 10)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3. Definir la función rota tal que (rota n xs) es la lista&lt;br /&gt;
-- obtenida poniendo los n primeros elementos de xs al final de la&lt;br /&gt;
-- lista. Por ejemplo, &lt;br /&gt;
--    rota 1 [3,2,5,7]  ==  [2,5,7,3]&lt;br /&gt;
--    rota 2 [3,2,5,7]  ==  [5,7,3,2]&lt;br /&gt;
--    rota 3 [3,2,5,7]  ==  [7,3,2,5]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
rota :: Int -&amp;gt; [a] -&amp;gt; [a]&lt;br /&gt;
rota n xs | n &amp;lt; length xs = (drop n xs)++(take n xs)&lt;br /&gt;
          |otherwise = rota ( mod n (length xs)) xs &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.1. La disyunción excluyente xor de dos fórmulas se&lt;br /&gt;
-- verifica si una es verdadera y la otra es falsa.&lt;br /&gt;
-- &lt;br /&gt;
-- Definir la función xor_1 que calcule la disyunción excluyente a&lt;br /&gt;
-- partir de la tabla de verdad. Usar 4 ecuaciones, una por cada línea&lt;br /&gt;
-- de la tabla. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_1 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_1 True  True = False&lt;br /&gt;
xor_1 True  False = True&lt;br /&gt;
xor_1 False  True = True&lt;br /&gt;
xor_1 False False = False&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.2. Definir la funciÃ³n xor_2 que calcule la disyunciÃ³n&lt;br /&gt;
-- excluyente a partir de la tabla de verdad y patrones. Usar 2&lt;br /&gt;
-- ecuaciones, una por cada valor del primer argumento.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_2 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_2 True q = not q&lt;br /&gt;
xor_2 False q = q&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.3. Definir la funciÃ³n xor_3 que calcule la disyunciÃ³n&lt;br /&gt;
-- excluyente a partir de la disyunciÃ³n (||), conjunciÃ³n (&amp;amp;&amp;amp;) y negaciÃ³n&lt;br /&gt;
-- (not). Usar 1 ecuaciÃ³n.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_3 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_3 p q = (p &amp;amp;&amp;amp; (not q)) || ((not p) &amp;amp;&amp;amp; q)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.4. Definir la funciÃ³n xor_4 que calcule la disyunciÃ³n&lt;br /&gt;
-- excluyente a partir de desigualdad (/=). Usar 1 ecuaciÃ³n.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_4 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_4 p q = p /= q&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5. Definir, por comprensiÃ³n, la funciÃ³n&lt;br /&gt;
--    sumaDeCuadrados :: Integer -&amp;gt; Integer&lt;br /&gt;
-- tal que (sumaDeCuadrados n) es la suma de los cuadrados de los&lt;br /&gt;
-- primeros n nÃºmeros; es decir, 1^2 + 2^2 + ... + 100^2. Por ejemplo,&lt;br /&gt;
--    sumaDeCuadrados 3    ==  14&lt;br /&gt;
--    sumaDeCuadrados 100  ==  338350&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sumaDeCuadrados :: Integer -&amp;gt; Integer&lt;br /&gt;
sumaDeCuadrados n = sum (map (^2) [1..n])&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6. Una terna (x,y,z) de enteros positivos es pitagórica si &lt;br /&gt;
-- x^2 + y^2 = z^2. Usando una lista por comprensión, definir la función&lt;br /&gt;
--    pitagoricas :: Int -&amp;gt; [(Int, Int, Int)]&lt;br /&gt;
-- tal que (pitagoricas n) es la lista de todas las ternas pitagóricas&lt;br /&gt;
-- cuyas componentes están entre 1 y n. Por ejemplo, &lt;br /&gt;
--    *Main&amp;gt; pitagoricas 10 &lt;br /&gt;
--    [(3,4,5),(4,3,5),(6,8,10),(8,6,10)]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
pitagoricas :: Int -&amp;gt; [(Int, Int, Int)]&lt;br /&gt;
pitagoricas n = [(a,b,c)|a&amp;lt;-[1..n],b&amp;lt;-[1..n], c&amp;lt;-[1..n], a^2 + b^2==c^2] &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7. Un entero positivo es perfecto si es igual a la suma de&lt;br /&gt;
-- sus factores, excluyendo el propio nÃºmero. Usando una lista por&lt;br /&gt;
-- comprensiÃ³n y la funciÃ³n factores (del tema), definir la funciÃ³n &lt;br /&gt;
--    perfectos :: Int -&amp;gt; [Int]&lt;br /&gt;
-- tal que (perfectos n) es la lista de todos los nÃºmeros perfectos&lt;br /&gt;
-- menores que n. Por ejemplo: &lt;br /&gt;
--    *Main&amp;gt; perfectos 500&lt;br /&gt;
--    [6,28,496]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
factores :: Int -&amp;gt; [Int] &lt;br /&gt;
factores n = [x|x&amp;lt;-[1..(div n 2)], mod n x ==0]&lt;br /&gt;
perfectos :: Int -&amp;gt; [Int]&lt;br /&gt;
perfectos n = [x|x&amp;lt;-[1..n], sum (factores x)== x]&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8.1. Definir, por comprensión, la función&lt;br /&gt;
--    cuadradosC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (cuadradosC xs) es la lista de los cuadrados de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cuadradosC [1,2,3]  ==  [1,4,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cuadradosC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
cuadradosC = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8.2. Definir, por recursión, la función&lt;br /&gt;
--    cuadradosR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (cuadradosR xs) es la lista de los cuadrados de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cuadradosR [1,2,3]  ==  [1,4,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cuadradosR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
cuadradosR = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9.1. Definir, por comprensión, la función&lt;br /&gt;
--    imparesC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (imparesC xs) es la lista de los números impares de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    imparesC [1,2,3]  ==  [1,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
imparesC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
imparesC = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9.2. Definir, por recursión, la función&lt;br /&gt;
--    imparesR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (imparesR xs) es la lista de los números impares de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    imparesR [1,2,3]  ==  [1,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
imparesR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
imparesR = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10. Definir, por comprensión, la función&lt;br /&gt;
--    sumaConsecutivos :: [Int] -&amp;gt; [Int]&lt;br /&gt;
-- tal que (sumaConsecutivos xs) es la suma de los pares de elementos&lt;br /&gt;
-- consecutivos de la lista xs. Por ejemplo,&lt;br /&gt;
--    sumaConsecutivos [3,1,5,2]  ==  [4,6,7]&lt;br /&gt;
--    sumaConsecutivos [3]        ==  []&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sumaConsecutivos :: [Int] -&amp;gt; [Int]&lt;br /&gt;
sumaConsecutivos = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11.  La distancia de Hamming entre dos listas es el número&lt;br /&gt;
-- de posiciones en que los correspondientes elementos son&lt;br /&gt;
-- distintos. Por ejemplo, la distancia de Hamming entre &amp;quot;roma&amp;quot; y &amp;quot;loba&amp;quot; &lt;br /&gt;
-- es 2 (porque hay 2 posiciones en las que los elementos&lt;br /&gt;
-- correspondientes son distintos: la 1ª y la 3ª). &lt;br /&gt;
--    &lt;br /&gt;
-- Definir la función distancia tal que (distancia xs ys) es la &lt;br /&gt;
-- distancia de Hamming entre xs e ys. Por ejemplo,&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;comino&amp;quot;  ==  2&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;camino&amp;quot;  ==  3&lt;br /&gt;
--    distancia &amp;quot;roma&amp;quot;   &amp;quot;comino&amp;quot;  ==  2&lt;br /&gt;
--    distancia &amp;quot;roma&amp;quot;   &amp;quot;camino&amp;quot;  ==  3&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;ron&amp;quot;     ==  1&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;cama&amp;quot;    ==  2&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;rama&amp;quot;    ==  1&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
distancia :: Eq a =&amp;gt; [a] -&amp;gt; [a] -&amp;gt; Int&lt;br /&gt;
distancia = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12. Definir la función&lt;br /&gt;
--    factoriales :: [Integer]&lt;br /&gt;
-- tal que factoriales es la lista de los factoriales. Por ejemplo,&lt;br /&gt;
--    take 10 factoriales  ==  [1,1,2,6,24,120,720,5040,40320,362880]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- Por comprensión:&lt;br /&gt;
&lt;br /&gt;
factoriales1 :: [Integer]&lt;br /&gt;
factoriales1 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando zipWith:&lt;br /&gt;
&lt;br /&gt;
factoriales2 :: [Integer]&lt;br /&gt;
factoriales2 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Por recursión:&lt;br /&gt;
&lt;br /&gt;
factoriales3 :: [Integer]&lt;br /&gt;
factoriales3 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando scanl1:&lt;br /&gt;
&lt;br /&gt;
factoriales4 :: [Integer]&lt;br /&gt;
factoriales4 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando iterate:&lt;br /&gt;
&lt;br /&gt;
factoriales5 :: [Integer]&lt;br /&gt;
factoriales5 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Comparación de los tiempos de evaluación:&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.0. En los siguientes ejercicios se demostrarán&lt;br /&gt;
-- propiedades de los árboles binarios definidos como sigue&lt;br /&gt;
--    data Arbol a = Hoja &lt;br /&gt;
--                 | Nodo a (Arbol a) (Arbol a)&lt;br /&gt;
--                 deriving (Show, Eq)&lt;br /&gt;
-- Como ejemplos se usarán los árboles&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
data Arbol a = Hoja &lt;br /&gt;
             | Nodo a (Arbol a) (Arbol a)&lt;br /&gt;
             deriving (Show, Eq)&lt;br /&gt;
 &lt;br /&gt;
arbol_1 = Nodo 9&lt;br /&gt;
               (Nodo 3 &lt;br /&gt;
                     (Nodo 2 Hoja Hoja) &lt;br /&gt;
                     (Nodo 4 Hoja Hoja)) &lt;br /&gt;
               (Nodo 7 Hoja Hoja)&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.1. Definir la función&lt;br /&gt;
--    espejo :: Arbol a -&amp;gt; Arbol a&lt;br /&gt;
-- tal que (espejo x) es la imagen especular del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; espejo arbol_1&lt;br /&gt;
--    Nodo 9 &lt;br /&gt;
--         (Nodo 7 Hoja Hoja) &lt;br /&gt;
--         (Nodo 3 &lt;br /&gt;
--               (Nodo 4 Hoja Hoja) &lt;br /&gt;
--               (Nodo 2 Hoja Hoja))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
espejo :: Arbol a -&amp;gt; Arbol a&lt;br /&gt;
espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.2. Comprobar con QuickCheck que para todo árbol x,&lt;br /&gt;
--    espejo (espejo x) = x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
prop_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.3. Demostrar por inducción que para todo árbol x,&lt;br /&gt;
--    espejo (espejo x) = x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
{-&lt;br /&gt;
 Demostración por inducción en x&lt;br /&gt;
 &lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
 -- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.4. Definir la función&lt;br /&gt;
--    preorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
-- tal que (preorden x) es la lista correspondiente al recorrido&lt;br /&gt;
-- preorden del árbol x; es decir, primero visita la raíz del árbol, a&lt;br /&gt;
-- continuación recorre el subárbol izquierdo y, finalmente, recorre el&lt;br /&gt;
-- subárbol derecho. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; preorden arbol_1&lt;br /&gt;
--    [9,3,2,4,7]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
preorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
preorden = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.5. Definir la función&lt;br /&gt;
--    postorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
-- tal que (postorden x) es la lista correspondiente al recorrido&lt;br /&gt;
-- postorden del árbol x; es decir, primero recorre el subárbol&lt;br /&gt;
-- izquierdo, a continuación el subárbol derecho y, finalmente, la raíz&lt;br /&gt;
-- del árbol. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; postorden arbol_1&lt;br /&gt;
--    [2,4,3,7,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
postorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
postorden = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.6. Comprobar con QuickCheck que para todo árbol x,&lt;br /&gt;
--    postorden (espejo x) = reverse (preorden x)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_recorrido :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_recorrido = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.7. Demstrar por inducción que para todo árbol x,&lt;br /&gt;
--    postorden (espejo x) = reverse (preorden x)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración por inducción en x.&lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.8. Comprobar con QuickCheck que para todo árbol binario&lt;br /&gt;
-- x, se tiene que&lt;br /&gt;
--    reverse (preorden (espejo x)) = postorden x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_reverse_preorden_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_reverse_preorden_espejo x =&lt;br /&gt;
   reverse (preorden (espejo x)) == postorden x&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
--    *Main&amp;gt; quickCheck prop_reverse_preorden_espejo&lt;br /&gt;
--    OK, passed 100 tests.&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.9. Demostrar que para todo árbol binario x, se tiene que&lt;br /&gt;
--    reverse (preorden (espejo x)) = preorden x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración:&lt;br /&gt;
    reverse (preorden (espejo x))&lt;br /&gt;
    = postorden (espejo (espejo x))    [por ejercicio 13.7]&lt;br /&gt;
    = postorden x                      [por ejercicio 13.3]&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.10. Definir la función&lt;br /&gt;
--    nNodos :: Arbol a -&amp;gt; Int&lt;br /&gt;
-- tal que (nNodos x) es el número de nodos del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; nNodos arbol_1&lt;br /&gt;
--    5&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
nNodos :: Arbol a -&amp;gt; Int&lt;br /&gt;
nNodos = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.11. Comprobar con QuickCheck que el número de nodos de la&lt;br /&gt;
-- imagen especular de un árbol es el mismo que el número de nodos del&lt;br /&gt;
-- árbol. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_nNodos_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_nNodos_espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.12. Demostrar por inducción que el número de nodos de la&lt;br /&gt;
-- imagen especular de un árbol es el mismo que el número de nodos del&lt;br /&gt;
-- árbol. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración: &lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.13. Comprobar con QuickCheck que la longitud de la lista&lt;br /&gt;
-- obtenida recorriendo un árbol en sentido preorden es igual al número&lt;br /&gt;
-- de nodos del árbol.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_length_preorden :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_length_preorden = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.14. Demostrar por inducción que la longitud de la lista&lt;br /&gt;
-- obtenida recorriendo un árbol en sentido preorden es igual al número&lt;br /&gt;
-- de nodos del árbol.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración: &lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.15. Definir la función&lt;br /&gt;
--    profundidad :: Arbol a -&amp;gt; Int&lt;br /&gt;
-- tal que (profundidad x) es la profundidad del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; profundidad arbol_1&lt;br /&gt;
--    3&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
profundidad :: Arbol a -&amp;gt; Int&lt;br /&gt;
profundidad = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.16. Comprobar con QuickCheck que para todo árbol binario&lt;br /&gt;
-- x, se tiene que&lt;br /&gt;
--    nNodos x &amp;lt;= 2^(profundidad x) - 1&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_nNodosProfundidad :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_nNodosProfundidad = undefined&lt;br /&gt;
&lt;br /&gt;
-- La comprobación es&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Nota. Para comprobar propiedades de árboles con QuickCheck se&lt;br /&gt;
-- utilizará el siguiente generador.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
instance Arbitrary a =&amp;gt; Arbitrary (Arbol a) where&lt;br /&gt;
  arbitrary = sized arbol&lt;br /&gt;
    where&lt;br /&gt;
      arbol 0       = return Hoja &lt;br /&gt;
      arbol n | n&amp;gt;0 = oneof [return Hoja,&lt;br /&gt;
                             liftM3 Nodo arbitrary subarbol subarbol]&lt;br /&gt;
                      where subarbol = arbol (div n 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/haskell&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_1&amp;diff=31</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_1&amp;diff=31"/>
		<updated>2016-02-20T03:24:43Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- LMF 2015-16: Rel_1.hs &lt;br /&gt;
-- Introducción a la programación con Haskell.&lt;br /&gt;
-- Departamento de Ciencias de la Computación e I.A.&lt;br /&gt;
-- Universidad de Sevilla&lt;br /&gt;
-- =====================================================================&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Introducción                                                       --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- En esta relación de ejercicios hacemos una introducción a Haskell, en&lt;br /&gt;
-- la que se recuerdan:&lt;br /&gt;
-- * las definiciones elementales de funciones,&lt;br /&gt;
-- * las definiciones de funciones por comprensión,&lt;br /&gt;
-- * las definiciones de funciones por recursión y&lt;br /&gt;
-- * los tipos de datos.&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Importación de librerías auxiliares                                  &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
import Test.QuickCheck&lt;br /&gt;
import Data.Char&lt;br /&gt;
import Control.Monad&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1. Definir la función media3 tal que (media3 x y z) es&lt;br /&gt;
-- la media aritmética de los números x, y y z. Por ejemplo, &lt;br /&gt;
--    media3 1 3 8     ==  4.0&lt;br /&gt;
--    media3 (-1) 0 7  ==  2.0&lt;br /&gt;
--    media3 (-3) 0 3  ==  0.0&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
media3 :: Float -&amp;gt; Float -&amp;gt; Float -&amp;gt; Float&lt;br /&gt;
media3 x y z = (x+y+z)/3&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2. Definir la función ultimaCifra tal que (ultimaCifra x)&lt;br /&gt;
-- es la última cifra del nímero x. Por ejemplo,&lt;br /&gt;
--    ultimaCifra 325  ==  5&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
ultimaCifra :: Integer -&amp;gt; Integer&lt;br /&gt;
ultimaCifra x = abs(rem x 10)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3. Definir la función rota tal que (rota n xs) es la lista&lt;br /&gt;
-- obtenida poniendo los n primeros elementos de xs al final de la&lt;br /&gt;
-- lista. Por ejemplo, &lt;br /&gt;
--    rota 1 [3,2,5,7]  ==  [2,5,7,3]&lt;br /&gt;
--    rota 2 [3,2,5,7]  ==  [5,7,3,2]&lt;br /&gt;
--    rota 3 [3,2,5,7]  ==  [7,3,2,5]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
rota :: Int -&amp;gt; [a] -&amp;gt; [a]&lt;br /&gt;
rota n xs | n &amp;lt; length xs = (drop n xs)++(take n xs)&lt;br /&gt;
          |otherwise = rota ( mod n (length xs)) xs &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.1. La disyunción excluyente xor de dos fórmulas se&lt;br /&gt;
-- verifica si una es verdadera y la otra es falsa.&lt;br /&gt;
-- &lt;br /&gt;
-- Definir la función xor_1 que calcule la disyunción excluyente a&lt;br /&gt;
-- partir de la tabla de verdad. Usar 4 ecuaciones, una por cada línea&lt;br /&gt;
-- de la tabla. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_1 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_1 True  True = False&lt;br /&gt;
xor_1 True  False = True&lt;br /&gt;
xor_1 False  True = True&lt;br /&gt;
xor_1 False False = False&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.2. Definir la funciÃ³n xor_2 que calcule la disyunciÃ³n&lt;br /&gt;
-- excluyente a partir de la tabla de verdad y patrones. Usar 2&lt;br /&gt;
-- ecuaciones, una por cada valor del primer argumento.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_2 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_2 True q = not q&lt;br /&gt;
xor_2 False q = q&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.3. Definir la funciÃ³n xor_3 que calcule la disyunciÃ³n&lt;br /&gt;
-- excluyente a partir de la disyunciÃ³n (||), conjunciÃ³n (&amp;amp;&amp;amp;) y negaciÃ³n&lt;br /&gt;
-- (not). Usar 1 ecuaciÃ³n.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_3 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_3 p q = (p &amp;amp;&amp;amp; (not q)) || ((not p) &amp;amp;&amp;amp; q)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.4. Definir la funciÃ³n xor_4 que calcule la disyunciÃ³n&lt;br /&gt;
-- excluyente a partir de desigualdad (/=). Usar 1 ecuaciÃ³n.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_4 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_4 p q = p /= q&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5. Definir, por comprensiÃ³n, la funciÃ³n&lt;br /&gt;
--    sumaDeCuadrados :: Integer -&amp;gt; Integer&lt;br /&gt;
-- tal que (sumaDeCuadrados n) es la suma de los cuadrados de los&lt;br /&gt;
-- primeros n nÃºmeros; es decir, 1^2 + 2^2 + ... + 100^2. Por ejemplo,&lt;br /&gt;
--    sumaDeCuadrados 3    ==  14&lt;br /&gt;
--    sumaDeCuadrados 100  ==  338350&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sumaDeCuadrados :: Integer -&amp;gt; Integer&lt;br /&gt;
sumaDeCuadrados n = sum (map (^2) [1..n])&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6. Una terna (x,y,z) de enteros positivos es pitagórica si &lt;br /&gt;
-- x^2 + y^2 = z^2. Usando una lista por comprensión, definir la función&lt;br /&gt;
--    pitagoricas :: Int -&amp;gt; [(Int, Int, Int)]&lt;br /&gt;
-- tal que (pitagoricas n) es la lista de todas las ternas pitagóricas&lt;br /&gt;
-- cuyas componentes están entre 1 y n. Por ejemplo, &lt;br /&gt;
--    *Main&amp;gt; pitagoricas 10 &lt;br /&gt;
--    [(3,4,5),(4,3,5),(6,8,10),(8,6,10)]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
pitagoricas :: Int -&amp;gt; [(Int, Int, Int)]&lt;br /&gt;
pitagoricas = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7. Un entero positivo es perfecto si es igual a la suma de&lt;br /&gt;
-- sus factores, excluyendo el propio número. Usando una lista por&lt;br /&gt;
-- comprensión y la función factores (del tema), definir la función &lt;br /&gt;
--    perfectos :: Int -&amp;gt; [Int]&lt;br /&gt;
-- tal que (perfectos n) es la lista de todos los números perfectos&lt;br /&gt;
-- menores que n. Por ejemplo: &lt;br /&gt;
--    *Main&amp;gt; perfectos 500&lt;br /&gt;
--    [6,28,496]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
perfectos :: Int -&amp;gt; [Int]&lt;br /&gt;
perfectos = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8.1. Definir, por comprensión, la función&lt;br /&gt;
--    cuadradosC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (cuadradosC xs) es la lista de los cuadrados de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cuadradosC [1,2,3]  ==  [1,4,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cuadradosC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
cuadradosC = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8.2. Definir, por recursión, la función&lt;br /&gt;
--    cuadradosR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (cuadradosR xs) es la lista de los cuadrados de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cuadradosR [1,2,3]  ==  [1,4,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cuadradosR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
cuadradosR = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9.1. Definir, por comprensión, la función&lt;br /&gt;
--    imparesC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (imparesC xs) es la lista de los números impares de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    imparesC [1,2,3]  ==  [1,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
imparesC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
imparesC = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9.2. Definir, por recursión, la función&lt;br /&gt;
--    imparesR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (imparesR xs) es la lista de los números impares de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    imparesR [1,2,3]  ==  [1,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
imparesR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
imparesR = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10. Definir, por comprensión, la función&lt;br /&gt;
--    sumaConsecutivos :: [Int] -&amp;gt; [Int]&lt;br /&gt;
-- tal que (sumaConsecutivos xs) es la suma de los pares de elementos&lt;br /&gt;
-- consecutivos de la lista xs. Por ejemplo,&lt;br /&gt;
--    sumaConsecutivos [3,1,5,2]  ==  [4,6,7]&lt;br /&gt;
--    sumaConsecutivos [3]        ==  []&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sumaConsecutivos :: [Int] -&amp;gt; [Int]&lt;br /&gt;
sumaConsecutivos = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11.  La distancia de Hamming entre dos listas es el número&lt;br /&gt;
-- de posiciones en que los correspondientes elementos son&lt;br /&gt;
-- distintos. Por ejemplo, la distancia de Hamming entre &amp;quot;roma&amp;quot; y &amp;quot;loba&amp;quot; &lt;br /&gt;
-- es 2 (porque hay 2 posiciones en las que los elementos&lt;br /&gt;
-- correspondientes son distintos: la 1ª y la 3ª). &lt;br /&gt;
--    &lt;br /&gt;
-- Definir la función distancia tal que (distancia xs ys) es la &lt;br /&gt;
-- distancia de Hamming entre xs e ys. Por ejemplo,&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;comino&amp;quot;  ==  2&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;camino&amp;quot;  ==  3&lt;br /&gt;
--    distancia &amp;quot;roma&amp;quot;   &amp;quot;comino&amp;quot;  ==  2&lt;br /&gt;
--    distancia &amp;quot;roma&amp;quot;   &amp;quot;camino&amp;quot;  ==  3&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;ron&amp;quot;     ==  1&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;cama&amp;quot;    ==  2&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;rama&amp;quot;    ==  1&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
distancia :: Eq a =&amp;gt; [a] -&amp;gt; [a] -&amp;gt; Int&lt;br /&gt;
distancia = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12. Definir la función&lt;br /&gt;
--    factoriales :: [Integer]&lt;br /&gt;
-- tal que factoriales es la lista de los factoriales. Por ejemplo,&lt;br /&gt;
--    take 10 factoriales  ==  [1,1,2,6,24,120,720,5040,40320,362880]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- Por comprensión:&lt;br /&gt;
&lt;br /&gt;
factoriales1 :: [Integer]&lt;br /&gt;
factoriales1 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando zipWith:&lt;br /&gt;
&lt;br /&gt;
factoriales2 :: [Integer]&lt;br /&gt;
factoriales2 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Por recursión:&lt;br /&gt;
&lt;br /&gt;
factoriales3 :: [Integer]&lt;br /&gt;
factoriales3 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando scanl1:&lt;br /&gt;
&lt;br /&gt;
factoriales4 :: [Integer]&lt;br /&gt;
factoriales4 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando iterate:&lt;br /&gt;
&lt;br /&gt;
factoriales5 :: [Integer]&lt;br /&gt;
factoriales5 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Comparación de los tiempos de evaluación:&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.0. En los siguientes ejercicios se demostrarán&lt;br /&gt;
-- propiedades de los árboles binarios definidos como sigue&lt;br /&gt;
--    data Arbol a = Hoja &lt;br /&gt;
--                 | Nodo a (Arbol a) (Arbol a)&lt;br /&gt;
--                 deriving (Show, Eq)&lt;br /&gt;
-- Como ejemplos se usarán los árboles&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
data Arbol a = Hoja &lt;br /&gt;
             | Nodo a (Arbol a) (Arbol a)&lt;br /&gt;
             deriving (Show, Eq)&lt;br /&gt;
 &lt;br /&gt;
arbol_1 = Nodo 9&lt;br /&gt;
               (Nodo 3 &lt;br /&gt;
                     (Nodo 2 Hoja Hoja) &lt;br /&gt;
                     (Nodo 4 Hoja Hoja)) &lt;br /&gt;
               (Nodo 7 Hoja Hoja)&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.1. Definir la función&lt;br /&gt;
--    espejo :: Arbol a -&amp;gt; Arbol a&lt;br /&gt;
-- tal que (espejo x) es la imagen especular del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; espejo arbol_1&lt;br /&gt;
--    Nodo 9 &lt;br /&gt;
--         (Nodo 7 Hoja Hoja) &lt;br /&gt;
--         (Nodo 3 &lt;br /&gt;
--               (Nodo 4 Hoja Hoja) &lt;br /&gt;
--               (Nodo 2 Hoja Hoja))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
espejo :: Arbol a -&amp;gt; Arbol a&lt;br /&gt;
espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.2. Comprobar con QuickCheck que para todo árbol x,&lt;br /&gt;
--    espejo (espejo x) = x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
prop_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.3. Demostrar por inducción que para todo árbol x,&lt;br /&gt;
--    espejo (espejo x) = x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
{-&lt;br /&gt;
 Demostración por inducción en x&lt;br /&gt;
 &lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
 -- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.4. Definir la función&lt;br /&gt;
--    preorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
-- tal que (preorden x) es la lista correspondiente al recorrido&lt;br /&gt;
-- preorden del árbol x; es decir, primero visita la raíz del árbol, a&lt;br /&gt;
-- continuación recorre el subárbol izquierdo y, finalmente, recorre el&lt;br /&gt;
-- subárbol derecho. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; preorden arbol_1&lt;br /&gt;
--    [9,3,2,4,7]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
preorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
preorden = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.5. Definir la función&lt;br /&gt;
--    postorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
-- tal que (postorden x) es la lista correspondiente al recorrido&lt;br /&gt;
-- postorden del árbol x; es decir, primero recorre el subárbol&lt;br /&gt;
-- izquierdo, a continuación el subárbol derecho y, finalmente, la raíz&lt;br /&gt;
-- del árbol. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; postorden arbol_1&lt;br /&gt;
--    [2,4,3,7,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
postorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
postorden = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.6. Comprobar con QuickCheck que para todo árbol x,&lt;br /&gt;
--    postorden (espejo x) = reverse (preorden x)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_recorrido :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_recorrido = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.7. Demstrar por inducción que para todo árbol x,&lt;br /&gt;
--    postorden (espejo x) = reverse (preorden x)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración por inducción en x.&lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.8. Comprobar con QuickCheck que para todo árbol binario&lt;br /&gt;
-- x, se tiene que&lt;br /&gt;
--    reverse (preorden (espejo x)) = postorden x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_reverse_preorden_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_reverse_preorden_espejo x =&lt;br /&gt;
   reverse (preorden (espejo x)) == postorden x&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
--    *Main&amp;gt; quickCheck prop_reverse_preorden_espejo&lt;br /&gt;
--    OK, passed 100 tests.&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.9. Demostrar que para todo árbol binario x, se tiene que&lt;br /&gt;
--    reverse (preorden (espejo x)) = preorden x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración:&lt;br /&gt;
    reverse (preorden (espejo x))&lt;br /&gt;
    = postorden (espejo (espejo x))    [por ejercicio 13.7]&lt;br /&gt;
    = postorden x                      [por ejercicio 13.3]&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.10. Definir la función&lt;br /&gt;
--    nNodos :: Arbol a -&amp;gt; Int&lt;br /&gt;
-- tal que (nNodos x) es el número de nodos del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; nNodos arbol_1&lt;br /&gt;
--    5&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
nNodos :: Arbol a -&amp;gt; Int&lt;br /&gt;
nNodos = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.11. Comprobar con QuickCheck que el número de nodos de la&lt;br /&gt;
-- imagen especular de un árbol es el mismo que el número de nodos del&lt;br /&gt;
-- árbol. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_nNodos_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_nNodos_espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.12. Demostrar por inducción que el número de nodos de la&lt;br /&gt;
-- imagen especular de un árbol es el mismo que el número de nodos del&lt;br /&gt;
-- árbol. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración: &lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.13. Comprobar con QuickCheck que la longitud de la lista&lt;br /&gt;
-- obtenida recorriendo un árbol en sentido preorden es igual al número&lt;br /&gt;
-- de nodos del árbol.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_length_preorden :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_length_preorden = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.14. Demostrar por inducción que la longitud de la lista&lt;br /&gt;
-- obtenida recorriendo un árbol en sentido preorden es igual al número&lt;br /&gt;
-- de nodos del árbol.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración: &lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.15. Definir la función&lt;br /&gt;
--    profundidad :: Arbol a -&amp;gt; Int&lt;br /&gt;
-- tal que (profundidad x) es la profundidad del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; profundidad arbol_1&lt;br /&gt;
--    3&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
profundidad :: Arbol a -&amp;gt; Int&lt;br /&gt;
profundidad = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.16. Comprobar con QuickCheck que para todo árbol binario&lt;br /&gt;
-- x, se tiene que&lt;br /&gt;
--    nNodos x &amp;lt;= 2^(profundidad x) - 1&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_nNodosProfundidad :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_nNodosProfundidad = undefined&lt;br /&gt;
&lt;br /&gt;
-- La comprobación es&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Nota. Para comprobar propiedades de árboles con QuickCheck se&lt;br /&gt;
-- utilizará el siguiente generador.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
instance Arbitrary a =&amp;gt; Arbitrary (Arbol a) where&lt;br /&gt;
  arbitrary = sized arbol&lt;br /&gt;
    where&lt;br /&gt;
      arbol 0       = return Hoja &lt;br /&gt;
      arbol n | n&amp;gt;0 = oneof [return Hoja,&lt;br /&gt;
                             liftM3 Nodo arbitrary subarbol subarbol]&lt;br /&gt;
                      where subarbol = arbol (div n 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/haskell&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_1&amp;diff=30</id>
		<title>Relación 1</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_1&amp;diff=30"/>
		<updated>2016-02-20T02:35:57Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
-- LMF 2015-16: Rel_1.hs &lt;br /&gt;
-- Introducción a la programación con Haskell.&lt;br /&gt;
-- Departamento de Ciencias de la Computación e I.A.&lt;br /&gt;
-- Universidad de Sevilla&lt;br /&gt;
-- =====================================================================&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Introducción                                                       --&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- En esta relación de ejercicios hacemos una introducción a Haskell, en&lt;br /&gt;
-- la que se recuerdan:&lt;br /&gt;
-- * las definiciones elementales de funciones,&lt;br /&gt;
-- * las definiciones de funciones por comprensión,&lt;br /&gt;
-- * las definiciones de funciones por recursión y&lt;br /&gt;
-- * los tipos de datos.&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Importación de librerías auxiliares                                  &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
import Test.QuickCheck&lt;br /&gt;
import Data.Char&lt;br /&gt;
import Control.Monad&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 1. Definir la función media3 tal que (media3 x y z) es&lt;br /&gt;
-- la media aritmética de los números x, y y z. Por ejemplo, &lt;br /&gt;
--    media3 1 3 8     ==  4.0&lt;br /&gt;
--    media3 (-1) 0 7  ==  2.0&lt;br /&gt;
--    media3 (-3) 0 3  ==  0.0&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
media3 :: Float -&amp;gt; Float -&amp;gt; Float -&amp;gt; Float&lt;br /&gt;
media3 x y z = (x+y+z)/3&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 2. Definir la función ultimaCifra tal que (ultimaCifra x)&lt;br /&gt;
-- es la última cifra del nímero x. Por ejemplo,&lt;br /&gt;
--    ultimaCifra 325  ==  5&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
ultimaCifra :: Integer -&amp;gt; Integer&lt;br /&gt;
ultimaCifra x = abs(rem x 10)&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 3. Definir la función rota tal que (rota n xs) es la lista&lt;br /&gt;
-- obtenida poniendo los n primeros elementos de xs al final de la&lt;br /&gt;
-- lista. Por ejemplo, &lt;br /&gt;
--    rota 1 [3,2,5,7]  ==  [2,5,7,3]&lt;br /&gt;
--    rota 2 [3,2,5,7]  ==  [5,7,3,2]&lt;br /&gt;
--    rota 3 [3,2,5,7]  ==  [7,3,2,5]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
rota :: Int -&amp;gt; [a] -&amp;gt; [a]&lt;br /&gt;
rota n xs | n &amp;lt; length xs = (drop n xs)++(take n xs)&lt;br /&gt;
          |otherwise = rota ( mod n (length xs)) xs &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.1. La disyunción excluyente xor de dos fórmulas se&lt;br /&gt;
-- verifica si una es verdadera y la otra es falsa.&lt;br /&gt;
-- &lt;br /&gt;
-- Definir la función xor_1 que calcule la disyunción excluyente a&lt;br /&gt;
-- partir de la tabla de verdad. Usar 4 ecuaciones, una por cada línea&lt;br /&gt;
-- de la tabla. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_1 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_1 = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.2. Definir la función xor_2 que calcule la disyunción&lt;br /&gt;
-- excluyente a partir de la tabla de verdad y patrones. Usar 2&lt;br /&gt;
-- ecuaciones, una por cada valor del primer argumento.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_2 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_2 = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.3. Definir la función xor_3 que calcule la disyunción&lt;br /&gt;
-- excluyente a partir de la disyunción (||), conjunción (&amp;amp;&amp;amp;) y negación&lt;br /&gt;
-- (not). Usar 1 ecuación.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_3 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_3 = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 4.4. Definir la función xor_4 que calcule la disyunción&lt;br /&gt;
-- excluyente a partir de desigualdad (/=). Usar 1 ecuación.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
xor_4 :: Bool -&amp;gt; Bool -&amp;gt; Bool&lt;br /&gt;
xor_4 = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 5. Definir, por comprensión, la función&lt;br /&gt;
--    sumaDeCuadrados :: Integer -&amp;gt; Integer&lt;br /&gt;
-- tal que (sumaDeCuadrados n) es la suma de los cuadrados de los&lt;br /&gt;
-- primeros n números; es decir, 1^2 + 2^2 + ... + 100^2. Por ejemplo,&lt;br /&gt;
--    sumaDeCuadrados 3    ==  14&lt;br /&gt;
--    sumaDeCuadrados 100  ==  338350&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sumaDeCuadrados = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 6. Una terna (x,y,z) de enteros positivos es pitagórica si &lt;br /&gt;
-- x^2 + y^2 = z^2. Usando una lista por comprensión, definir la función&lt;br /&gt;
--    pitagoricas :: Int -&amp;gt; [(Int, Int, Int)]&lt;br /&gt;
-- tal que (pitagoricas n) es la lista de todas las ternas pitagóricas&lt;br /&gt;
-- cuyas componentes están entre 1 y n. Por ejemplo, &lt;br /&gt;
--    *Main&amp;gt; pitagoricas 10 &lt;br /&gt;
--    [(3,4,5),(4,3,5),(6,8,10),(8,6,10)]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
pitagoricas :: Int -&amp;gt; [(Int, Int, Int)]&lt;br /&gt;
pitagoricas = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 7. Un entero positivo es perfecto si es igual a la suma de&lt;br /&gt;
-- sus factores, excluyendo el propio número. Usando una lista por&lt;br /&gt;
-- comprensión y la función factores (del tema), definir la función &lt;br /&gt;
--    perfectos :: Int -&amp;gt; [Int]&lt;br /&gt;
-- tal que (perfectos n) es la lista de todos los números perfectos&lt;br /&gt;
-- menores que n. Por ejemplo: &lt;br /&gt;
--    *Main&amp;gt; perfectos 500&lt;br /&gt;
--    [6,28,496]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
perfectos :: Int -&amp;gt; [Int]&lt;br /&gt;
perfectos = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8.1. Definir, por comprensión, la función&lt;br /&gt;
--    cuadradosC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (cuadradosC xs) es la lista de los cuadrados de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cuadradosC [1,2,3]  ==  [1,4,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cuadradosC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
cuadradosC = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 8.2. Definir, por recursión, la función&lt;br /&gt;
--    cuadradosR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (cuadradosR xs) es la lista de los cuadrados de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    cuadradosR [1,2,3]  ==  [1,4,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cuadradosR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
cuadradosR = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9.1. Definir, por comprensión, la función&lt;br /&gt;
--    imparesC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (imparesC xs) es la lista de los números impares de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    imparesC [1,2,3]  ==  [1,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
imparesC :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
imparesC = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 9.2. Definir, por recursión, la función&lt;br /&gt;
--    imparesR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
-- tal que (imparesR xs) es la lista de los números impares de xs. Por&lt;br /&gt;
-- ejemplo, &lt;br /&gt;
--    imparesR [1,2,3]  ==  [1,3]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
imparesR :: [Integer] -&amp;gt; [Integer]&lt;br /&gt;
imparesR = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 10. Definir, por comprensión, la función&lt;br /&gt;
--    sumaConsecutivos :: [Int] -&amp;gt; [Int]&lt;br /&gt;
-- tal que (sumaConsecutivos xs) es la suma de los pares de elementos&lt;br /&gt;
-- consecutivos de la lista xs. Por ejemplo,&lt;br /&gt;
--    sumaConsecutivos [3,1,5,2]  ==  [4,6,7]&lt;br /&gt;
--    sumaConsecutivos [3]        ==  []&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
sumaConsecutivos :: [Int] -&amp;gt; [Int]&lt;br /&gt;
sumaConsecutivos = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 11.  La distancia de Hamming entre dos listas es el número&lt;br /&gt;
-- de posiciones en que los correspondientes elementos son&lt;br /&gt;
-- distintos. Por ejemplo, la distancia de Hamming entre &amp;quot;roma&amp;quot; y &amp;quot;loba&amp;quot; &lt;br /&gt;
-- es 2 (porque hay 2 posiciones en las que los elementos&lt;br /&gt;
-- correspondientes son distintos: la 1ª y la 3ª). &lt;br /&gt;
--    &lt;br /&gt;
-- Definir la función distancia tal que (distancia xs ys) es la &lt;br /&gt;
-- distancia de Hamming entre xs e ys. Por ejemplo,&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;comino&amp;quot;  ==  2&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;camino&amp;quot;  ==  3&lt;br /&gt;
--    distancia &amp;quot;roma&amp;quot;   &amp;quot;comino&amp;quot;  ==  2&lt;br /&gt;
--    distancia &amp;quot;roma&amp;quot;   &amp;quot;camino&amp;quot;  ==  3&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;ron&amp;quot;     ==  1&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;cama&amp;quot;    ==  2&lt;br /&gt;
--    distancia &amp;quot;romano&amp;quot; &amp;quot;rama&amp;quot;    ==  1&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
distancia :: Eq a =&amp;gt; [a] -&amp;gt; [a] -&amp;gt; Int&lt;br /&gt;
distancia = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 12. Definir la función&lt;br /&gt;
--    factoriales :: [Integer]&lt;br /&gt;
-- tal que factoriales es la lista de los factoriales. Por ejemplo,&lt;br /&gt;
--    take 10 factoriales  ==  [1,1,2,6,24,120,720,5040,40320,362880]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- Por comprensión:&lt;br /&gt;
&lt;br /&gt;
factoriales1 :: [Integer]&lt;br /&gt;
factoriales1 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando zipWith:&lt;br /&gt;
&lt;br /&gt;
factoriales2 :: [Integer]&lt;br /&gt;
factoriales2 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Por recursión:&lt;br /&gt;
&lt;br /&gt;
factoriales3 :: [Integer]&lt;br /&gt;
factoriales3 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando scanl1:&lt;br /&gt;
&lt;br /&gt;
factoriales4 :: [Integer]&lt;br /&gt;
factoriales4 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Usando iterate:&lt;br /&gt;
&lt;br /&gt;
factoriales5 :: [Integer]&lt;br /&gt;
factoriales5 = undefined&lt;br /&gt;
&lt;br /&gt;
-- Comparación de los tiempos de evaluación:&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.0. En los siguientes ejercicios se demostrarán&lt;br /&gt;
-- propiedades de los árboles binarios definidos como sigue&lt;br /&gt;
--    data Arbol a = Hoja &lt;br /&gt;
--                 | Nodo a (Arbol a) (Arbol a)&lt;br /&gt;
--                 deriving (Show, Eq)&lt;br /&gt;
-- Como ejemplos se usarán los árboles&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
data Arbol a = Hoja &lt;br /&gt;
             | Nodo a (Arbol a) (Arbol a)&lt;br /&gt;
             deriving (Show, Eq)&lt;br /&gt;
 &lt;br /&gt;
arbol_1 = Nodo 9&lt;br /&gt;
               (Nodo 3 &lt;br /&gt;
                     (Nodo 2 Hoja Hoja) &lt;br /&gt;
                     (Nodo 4 Hoja Hoja)) &lt;br /&gt;
               (Nodo 7 Hoja Hoja)&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.1. Definir la función&lt;br /&gt;
--    espejo :: Arbol a -&amp;gt; Arbol a&lt;br /&gt;
-- tal que (espejo x) es la imagen especular del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; espejo arbol_1&lt;br /&gt;
--    Nodo 9 &lt;br /&gt;
--         (Nodo 7 Hoja Hoja) &lt;br /&gt;
--         (Nodo 3 &lt;br /&gt;
--               (Nodo 4 Hoja Hoja) &lt;br /&gt;
--               (Nodo 2 Hoja Hoja))&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
espejo :: Arbol a -&amp;gt; Arbol a&lt;br /&gt;
espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.2. Comprobar con QuickCheck que para todo árbol x,&lt;br /&gt;
--    espejo (espejo x) = x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
prop_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.3. Demostrar por inducción que para todo árbol x,&lt;br /&gt;
--    espejo (espejo x) = x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
{-&lt;br /&gt;
 Demostración por inducción en x&lt;br /&gt;
 &lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
 -- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.4. Definir la función&lt;br /&gt;
--    preorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
-- tal que (preorden x) es la lista correspondiente al recorrido&lt;br /&gt;
-- preorden del árbol x; es decir, primero visita la raíz del árbol, a&lt;br /&gt;
-- continuación recorre el subárbol izquierdo y, finalmente, recorre el&lt;br /&gt;
-- subárbol derecho. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; preorden arbol_1&lt;br /&gt;
--    [9,3,2,4,7]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
preorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
preorden = undefined&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.5. Definir la función&lt;br /&gt;
--    postorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
-- tal que (postorden x) es la lista correspondiente al recorrido&lt;br /&gt;
-- postorden del árbol x; es decir, primero recorre el subárbol&lt;br /&gt;
-- izquierdo, a continuación el subárbol derecho y, finalmente, la raíz&lt;br /&gt;
-- del árbol. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; postorden arbol_1&lt;br /&gt;
--    [2,4,3,7,9]&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
postorden :: Arbol a -&amp;gt; [a]&lt;br /&gt;
postorden = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.6. Comprobar con QuickCheck que para todo árbol x,&lt;br /&gt;
--    postorden (espejo x) = reverse (preorden x)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_recorrido :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_recorrido = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.7. Demstrar por inducción que para todo árbol x,&lt;br /&gt;
--    postorden (espejo x) = reverse (preorden x)&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración por inducción en x.&lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.8. Comprobar con QuickCheck que para todo árbol binario&lt;br /&gt;
-- x, se tiene que&lt;br /&gt;
--    reverse (preorden (espejo x)) = postorden x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_reverse_preorden_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_reverse_preorden_espejo x =&lt;br /&gt;
   reverse (preorden (espejo x)) == postorden x&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
--    *Main&amp;gt; quickCheck prop_reverse_preorden_espejo&lt;br /&gt;
--    OK, passed 100 tests.&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.9. Demostrar que para todo árbol binario x, se tiene que&lt;br /&gt;
--    reverse (preorden (espejo x)) = preorden x&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración:&lt;br /&gt;
    reverse (preorden (espejo x))&lt;br /&gt;
    = postorden (espejo (espejo x))    [por ejercicio 13.7]&lt;br /&gt;
    = postorden x                      [por ejercicio 13.3]&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.10. Definir la función&lt;br /&gt;
--    nNodos :: Arbol a -&amp;gt; Int&lt;br /&gt;
-- tal que (nNodos x) es el número de nodos del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; nNodos arbol_1&lt;br /&gt;
--    5&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
nNodos :: Arbol a -&amp;gt; Int&lt;br /&gt;
nNodos = undefined&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.11. Comprobar con QuickCheck que el número de nodos de la&lt;br /&gt;
-- imagen especular de un árbol es el mismo que el número de nodos del&lt;br /&gt;
-- árbol. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_nNodos_espejo :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_nNodos_espejo = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.12. Demostrar por inducción que el número de nodos de la&lt;br /&gt;
-- imagen especular de un árbol es el mismo que el número de nodos del&lt;br /&gt;
-- árbol. &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración: &lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.13. Comprobar con QuickCheck que la longitud de la lista&lt;br /&gt;
-- obtenida recorriendo un árbol en sentido preorden es igual al número&lt;br /&gt;
-- de nodos del árbol.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_length_preorden :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_length_preorden = undefined&lt;br /&gt;
 &lt;br /&gt;
-- La comprobación es&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.14. Demostrar por inducción que la longitud de la lista&lt;br /&gt;
-- obtenida recorriendo un árbol en sentido preorden es igual al número&lt;br /&gt;
-- de nodos del árbol.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
{-&lt;br /&gt;
 Demostración: &lt;br /&gt;
&lt;br /&gt;
-}&lt;br /&gt;
 &lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.15. Definir la función&lt;br /&gt;
--    profundidad :: Arbol a -&amp;gt; Int&lt;br /&gt;
-- tal que (profundidad x) es la profundidad del árbol x. Por ejemplo,&lt;br /&gt;
--    *Main&amp;gt; arbol_1&lt;br /&gt;
--    Nodo 9 (Nodo 3 (Nodo 2 Hoja Hoja) (Nodo 4 Hoja Hoja)) (Nodo 7 Hoja Hoja)&lt;br /&gt;
--    *Main&amp;gt; profundidad arbol_1&lt;br /&gt;
--    3&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
profundidad :: Arbol a -&amp;gt; Int&lt;br /&gt;
profundidad = undefined &lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Ejercicio 13.16. Comprobar con QuickCheck que para todo árbol binario&lt;br /&gt;
-- x, se tiene que&lt;br /&gt;
--    nNodos x &amp;lt;= 2^(profundidad x) - 1&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
-- La propiedad es&lt;br /&gt;
prop_nNodosProfundidad :: Arbol Int -&amp;gt; Bool&lt;br /&gt;
prop_nNodosProfundidad = undefined&lt;br /&gt;
&lt;br /&gt;
-- La comprobación es&lt;br /&gt;
&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
-- Nota. Para comprobar propiedades de árboles con QuickCheck se&lt;br /&gt;
-- utilizará el siguiente generador.&lt;br /&gt;
-- ---------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
instance Arbitrary a =&amp;gt; Arbitrary (Arbol a) where&lt;br /&gt;
  arbitrary = sized arbol&lt;br /&gt;
    where&lt;br /&gt;
      arbol 0       = return Hoja &lt;br /&gt;
      arbol n | n&amp;gt;0 = oneof [return Hoja,&lt;br /&gt;
                             liftM3 Nodo arbitrary subarbol subarbol]&lt;br /&gt;
                      where subarbol = arbol (div n 2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/haskell&amp;gt;&lt;/div&gt;</summary>
		<author><name>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=29</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=29"/>
		<updated>2016-02-20T01:34:47Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; ((T \wedge  P) \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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;
&amp;lt;math&amp;gt; (A \to (M \leftrightarrow \lnot B)) \wedge (A \vee B) \quad \vDash \lnot B \to M &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=28</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=28"/>
		<updated>2016-02-20T01:33:47Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; ((T \wedge  P) \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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;
&amp;lt;math&amp;gt; (A \to (M \longleftrightarrow \lnot B)) \wedge (A \vee B) \quad \vDash \lnot B \to M &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=27</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=27"/>
		<updated>2016-02-20T01:20:23Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; ((T \wedge  P) \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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;
&amp;lt;math&amp;gt; (A \to (M \leftrightarrow \lnot B)) \wedge (A \vee B) \quad \vDash \lnot B \to M &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=26</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=26"/>
		<updated>2016-02-20T00:40:10Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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;
&amp;lt;math&amp;gt; (A \to (M \leftrightarrow \lnot B)) \wedge (A \vee B) \quad \vDash \lnot B \to M &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=25</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=25"/>
		<updated>2016-02-20T00:38:40Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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;
&amp;lt;math&amp;gt; (A \to (M \to \lnot B)) \wedge (A \vee B) \quad \vDash \lnot B \to M &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=24</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=24"/>
		<updated>2016-02-20T00:36:25Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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;
&amp;lt;math&amp;gt; (A \to (M \to \lnot B)) \wedge (A \vee B) \quad \vDash \lnot B \to M &amp;lt;math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=23</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=23"/>
		<updated>2016-02-20T00:35:11Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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;
&amp;lt;math&amp;gt; (A \to (M \to \lnot B)) \wedge (A \vee B) \quad \vDash \lnot B \to M&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=22</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=22"/>
		<updated>2016-02-20T00:33:49Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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;
&amp;lt;math&amp;gt; (A \to (M \leftrightarrow \lnot B)) \wedge (A \vee B) \quad \vDash \lnot B \to M&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 5.&amp;#039;&amp;#039;&amp;#039; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=21</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=21"/>
		<updated>2016-02-19T23:27:47Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L) \quad  T \quad \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=20</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=20"/>
		<updated>2016-02-19T23:27:05Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L) \quad  T \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=19</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=19"/>
		<updated>2016-02-19T23:24:34Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L) &lt;br /&gt;
 T \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=18</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=18"/>
		<updated>2016-02-19T23:23:11Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L)  T \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=17</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=17"/>
		<updated>2016-02-19T23:20:02Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P \to \lnot L)  T \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=16</id>
		<title>Relación 2</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_2&amp;diff=16"/>
		<updated>2016-02-19T23:15:20Z</updated>

		<summary type="html">&lt;p&gt;Soccuacre: /* Relación 1(b): Representación del conocimiento proposicional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Relación 1(b): Representación del conocimiento proposicional ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 1.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Siempre que un número x es divisible por 10, acaba en 0. El número x no acaba en 0. Por lo tanto, x no es divisible por 10.&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
Usando los símbolos D: el número es divisible por 10 y C: el número acaba en cero.&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;
&amp;lt;math&amp;gt;D \to C \qquad \lnot C \to \lnot D&amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 2.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Si la válvula está abierta o la monitorización está preparada, entonces se envía una señal de reconocimiento y un mensaje de funcionamiento al controlador del ordenador. Si se envía un mensaje  de funcionamiento al controlador del ordenador o el sistema está en  estado normal, entonces se aceptan las órdenes del operador. Por lo tanto, si la válvula está abierta, entonces se aceptan las órdenes del operador.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos V: La válvula está abierta, P: La monitorización está preparada, R: Envía una señal de reconocimiento, F: Envía un mensaje de funcionamiento, A: Se aceptan órdenes del operador y N: El sistema está en estado normal.&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;
&amp;lt;math&amp;gt;&lt;br /&gt;
(V \vee P \to R \wedge F) \quad &lt;br /&gt;
(F \vee N \to A) \quad \vDash V\to A&amp;lt;/math&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 3.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Cuando tanto la temperatura como la presión atmosférica permanecen contantes, no llueve. La temperatura permanece constante. Por lo tanto, en caso de que llueva, la presión atmosférica no permanece constante.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos T: La temperatura permanece constante, P: La presión atmosférica permanece constante y L: Llueve&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;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
Falta un detalle en la solución&lt;br /&gt;
&amp;lt;math&amp;gt; (T \wedge  P) \to \lnot L  T \vDash L \to \lnot P &amp;lt;/math&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ejercicio 4.&amp;#039;&amp;#039;&amp;#039; Formalizar el siguiente argumento &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;En cierto experimento, cuando hemos empleado un fármaco A, el paciente ha mejorado considerablemente en el caso, y sólo en el caso, en que no se haya empleado también un fármaco B. Además, o se ha empleado el fármaco A o se ha empleado el fármaco B. En consecuencia, podemos afirmar que si no hemos empleado el fármaco B, el paciente ha mejorado considerablemente.&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Usando los símbolos A: Hemos empleado el fármaco A, B: Hemos empleado el fármaco B y M: El paciente ha mejorado notablemente.&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; Definir por recursión sobre fórmulas las siguientes funciones&lt;br /&gt;
&lt;br /&gt;
* nv(F) que calcula el número variables proposicionales que ocurren en la fórmula F. Por ejemplo,&lt;br /&gt;
: nv(p → p ∨ q) = 3.&lt;br /&gt;
* prof(F) que calcula la profundidad del árbol de análisis de la fórmula F. Por ejemplo,&lt;br /&gt;
: prof(p → p ∨ q) = 2.&lt;br /&gt;
&lt;br /&gt;
Demostrar por inducción, que para toda fórmula F,&lt;br /&gt;
: nv(F) ≤ 2^prof(F)&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
nv(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad  F Atomica \\&lt;br /&gt;
nv(G) \quad si \quad F= \lnot G \\&lt;br /&gt;
nv(G)+nv(H) \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
prof(F)=&lt;br /&gt;
\begin{cases}&lt;br /&gt;
1 \quad si \quad F Atomica \\&lt;br /&gt;
prof(G) \quad si \quad F= \lnot G&lt;br /&gt;
1+ max{prof(G),prof(H)} \quad si \quad F=(G*H)&lt;br /&gt;
\end{cases} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Demostración por inducción: &amp;lt;br /&amp;gt;&lt;br /&gt;
Se comprueba para lo que consideramos nuestro caso base, cuando F es atómica &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F \quad atomica \to nv(F)=1 \leqslant 2^{prof(F)}=2^1 &lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
Posteriormente suponemos que la desigualdad se da para &amp;lt;math&amp;gt;nv(F) \leqslant n+1&amp;lt;/math&amp;gt;, y lo comprobamos para &amp;lt;math&amp;gt;nv(F)=n+1&amp;lt;/math&amp;gt;: &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;nv(F)=n+1 \to F=(G*H) \to n(F)=nv(G)+nv(H) \quad &amp;lt;/math&amp;gt; .Pero &amp;lt;math&amp;gt;(nv(G)&amp;lt;n+1) \wedge (nv(H)&amp;lt;n+1) \to nv(F)=nv(G)+nv(H) \leqslant 2^{prof(G)}+2^{prof(H)} \leqslant 2^{prof(F)} &amp;lt;/math&amp;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; ¿Existe un conjunto S de tres fórmulas tal que de todos los subconjuntos de S sólo uno es consistente?&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 7.&amp;#039;&amp;#039;&amp;#039; ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es cierto, dar una explicación. Si no es cierto, dar un contraejemplo.&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 8.&amp;#039;&amp;#039;&amp;#039; Demostrar o refutar las siguientes proposiciones:&lt;br /&gt;
&lt;br /&gt;
# Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.&lt;br /&gt;
# Existen fórmulas válidas tales que todas sus subfórmulas son válidas.&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>Soccuacre</name></author>
		
	</entry>
</feed>