<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/LMF2020/index.php?action=history&amp;feed=atom&amp;title=Rel_2</id>
	<title>Rel 2 - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?action=history&amp;feed=atom&amp;title=Rel_2"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_2&amp;action=history"/>
	<updated>2026-07-19T20:56:12Z</updated>
	<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_2&amp;diff=262&amp;oldid=prev</id>
		<title>Mjoseh: Protegió «Rel 2» ([Editar=Solo administradores] (indefinido) [Trasladar=Solo administradores] (indefinido))</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_2&amp;diff=262&amp;oldid=prev"/>
		<updated>2020-03-17T16:12:19Z</updated>

		<summary type="html">&lt;p&gt;Protegió «&lt;a href=&quot;/~jalonso/LMF2020/index.php/Rel_2&quot; title=&quot;Rel 2&quot;&gt;Rel 2&lt;/a&gt;» ([Editar=Solo administradores] (indefinido) [Trasladar=Solo administradores] (indefinido))&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 16:12 17 mar 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;es&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Sin diferencias)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_2&amp;diff=261&amp;oldid=prev</id>
		<title>Mjoseh: Página creada con «&lt;source lang = &quot;isabelle&quot;&gt; chapter  ‹  R2: Deducción natural proposicional(I)  ›  theory R2_sol imports Main  begin  text  ‹    -------------------------------------…»</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2020/index.php?title=Rel_2&amp;diff=261&amp;oldid=prev"/>
		<updated>2020-03-17T16:12:08Z</updated>

		<summary type="html">&lt;p&gt;Página creada con «&amp;lt;source lang = &amp;quot;isabelle&amp;quot;&amp;gt; chapter  ‹  R2: Deducción natural proposicional(I)  ›  theory R2_sol imports Main  begin  text  ‹    -------------------------------------…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang = &amp;quot;isabelle&amp;quot;&amp;gt;&lt;br /&gt;
chapter  ‹  R2: Deducción natural proposicional(I)  ›&lt;br /&gt;
&lt;br /&gt;
theory R2_sol&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;
  · excluded_middle: ¬P ∨ 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_1a:&lt;br /&gt;
  assumes 1: &amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          2: &amp;quot;p&amp;quot;&lt;br /&gt;
  shows &amp;quot;q&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
   show &amp;quot;q&amp;quot; using 1 2 by (rule mp) &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1b:&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;
proof -&lt;br /&gt;
  show &amp;quot;q&amp;quot; using assms by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1c:&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;
proof -&lt;br /&gt;
  show &amp;quot;q&amp;quot; using assms ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1d:&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;
proof -&lt;br /&gt;
  show &amp;quot;q&amp;quot; using assms by auto&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1e: &amp;quot;⟦p ⟶ q; p⟧ ⟹ q&amp;quot; &lt;br /&gt;
  apply (erule mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  done&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_2a:&lt;br /&gt;
  assumes 1:&amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          2:&amp;quot;q ⟶ r&amp;quot; and&lt;br /&gt;
          3:&amp;quot;p&amp;quot; &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have 4: &amp;quot;q&amp;quot; using 1 3 by (rule mp)&lt;br /&gt;
  show 5: &amp;quot;r&amp;quot; using 2 4 by (rule mp) &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2b:&lt;br /&gt;
  assumes 1:&amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          2:&amp;quot;q ⟶ r&amp;quot; and&lt;br /&gt;
          3:&amp;quot;p&amp;quot; &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have 4: &amp;quot;q&amp;quot; using 1 3 by (rule mp)&lt;br /&gt;
  show &amp;quot;r&amp;quot; using 2 4 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2c:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          &amp;quot;q ⟶ r&amp;quot; and&lt;br /&gt;
          &amp;quot;p&amp;quot; &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have &amp;quot;q&amp;quot; using assms(1,3) .. &lt;br /&gt;
  show &amp;quot;r&amp;quot; using assms(2) `q` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2d:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          &amp;quot;q ⟶ r&amp;quot; and&lt;br /&gt;
          &amp;quot;p&amp;quot; &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;r&amp;quot; using assms by auto&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ej2_aplicativa: &amp;quot;⟦p ⟶ q; q ⟶ r; p⟧ ⟹ r&amp;quot;&lt;br /&gt;
  apply (erule mp)+&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done  &lt;br /&gt;
&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_3a:&lt;br /&gt;
  assumes 1: &amp;quot;p ⟶ (q ⟶ r)&amp;quot; and&lt;br /&gt;
          2: &amp;quot;p ⟶ q&amp;quot;       and&lt;br /&gt;
          3: &amp;quot;p&amp;quot;           &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
   have 4: &amp;quot;q ⟶ r&amp;quot; using 1 3 by (rule mp)&lt;br /&gt;
   have 5: &amp;quot;q&amp;quot; using 2 3 by (rule mp)&lt;br /&gt;
   show 6: &amp;quot;r&amp;quot; using 4 5 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3b:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; and&lt;br /&gt;
          &amp;quot;p ⟶ q&amp;quot;       and&lt;br /&gt;
          &amp;quot;p&amp;quot;           &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
   have 4: &amp;quot;q ⟶ r&amp;quot; using assms(1,3) ..&lt;br /&gt;
   have &amp;quot;q&amp;quot; using assms(2,3) ..&lt;br /&gt;
   show &amp;quot;r&amp;quot; using 4 `q` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3c:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; and&lt;br /&gt;
          &amp;quot;p ⟶ q&amp;quot;       and&lt;br /&gt;
          &amp;quot;p&amp;quot;           &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
   have &amp;quot;q&amp;quot; using assms(2,3) ..&lt;br /&gt;
   have &amp;quot;q ⟶ r&amp;quot; using assms(1,3) ..&lt;br /&gt;
   then show &amp;quot;r&amp;quot; using `q` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3d:&lt;br /&gt;
  assumes &amp;quot;p ⟶ (q ⟶ r)&amp;quot; and&lt;br /&gt;
          &amp;quot;p ⟶ q&amp;quot;       and&lt;br /&gt;
          &amp;quot;p&amp;quot;           &lt;br /&gt;
  shows &amp;quot;r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
   show &amp;quot;r&amp;quot; using assms by auto&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ej3c: &amp;quot;⟦p ⟶ (q ⟶ r); p ⟶ q; p⟧ ⟹ r&amp;quot;&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption+&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
lemma ej3d: &amp;quot;⟦p ⟶ (q ⟶ r); p ⟶ q; p⟧ ⟹ r&amp;quot;&lt;br /&gt;
  apply (drule mp, assumption+)+&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
thm impE&lt;br /&gt;
&lt;br /&gt;
lemma ej3a: &amp;quot;⟦p ⟶ (q ⟶ r); p ⟶ q; p⟧ ⟹ r&amp;quot;&lt;br /&gt;
  apply (erule impE)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (erule impE)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (erule impE)&lt;br /&gt;
   apply assumption+&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
lemma ej3b: &amp;quot;⟦p ⟶ (q ⟶ r); p ⟶ q; p⟧ ⟹ r&amp;quot;&lt;br /&gt;
  apply (erule impE, assumption+)+&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&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_4a:&lt;br /&gt;
  assumes 1: &amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          2: &amp;quot;q ⟶ r&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ⟶ r&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  {assume 3:&amp;quot;p&amp;quot; &lt;br /&gt;
    have 4: &amp;quot;q&amp;quot; using 1 3 by (rule mp)&lt;br /&gt;
    have 5: &amp;quot;r&amp;quot; using 2 4 by (rule mp)}&lt;br /&gt;
  then show &amp;quot;p⟶ r&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4b:&lt;br /&gt;
  assumes 1: &amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          2: &amp;quot;q ⟶ r&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ⟶ r&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume 3:&amp;quot;p&amp;quot; &lt;br /&gt;
    have &amp;quot;q&amp;quot; using 1 3 by (rule mp)&lt;br /&gt;
    show &amp;quot;r&amp;quot; using 2 `q` by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4c:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          &amp;quot;q ⟶ r&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ⟶ r&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;p&amp;quot; &lt;br /&gt;
    have &amp;quot;q&amp;quot; using assms(1) `p` ..&lt;br /&gt;
    show &amp;quot;r&amp;quot; using assms(2) `q` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4d:&lt;br /&gt;
  assumes &amp;quot;p ⟶ q&amp;quot; and&lt;br /&gt;
          &amp;quot;q ⟶ r&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ⟶ r&amp;quot;&lt;br /&gt;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej4: &amp;quot;⟦p ⟶ q; q ⟶ r⟧ ⟹ p ⟶ r&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (erule mp)&lt;br /&gt;
  apply (erule mp)&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&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_5a:&lt;br /&gt;
  assumes 1: &amp;quot;p ⟶ (q ⟶ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;q ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  {assume 3: &amp;quot;q&amp;quot;&lt;br /&gt;
    {assume 4: &amp;quot;p&amp;quot;&lt;br /&gt;
      have  &amp;quot;q ⟶ r&amp;quot; using 1 4 ..&lt;br /&gt;
      then have 5: &amp;quot;r&amp;quot; using 3 ..}&lt;br /&gt;
    then have 6: &amp;quot;p ⟶ r&amp;quot; by (rule impI)}&lt;br /&gt;
  then show &amp;quot;q ⟶ (p ⟶ r)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5b:&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;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;q&amp;quot;&lt;br /&gt;
  show &amp;quot;p ⟶  r&amp;quot;&lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
    assume &amp;quot;p&amp;quot;&lt;br /&gt;
    have &amp;quot;q ⟶ r&amp;quot; using assms(1) `p` ..&lt;br /&gt;
    then show &amp;quot;r&amp;quot; using `q` ..&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5c:&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;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;q&amp;quot;&lt;br /&gt;
  show &amp;quot;p ⟶  r&amp;quot;&lt;br /&gt;
  proof &lt;br /&gt;
    assume &amp;quot;p&amp;quot;&lt;br /&gt;
    with assms(1) have &amp;quot;q ⟶ r&amp;quot; ..&lt;br /&gt;
    then show &amp;quot;r&amp;quot; using `q` ..&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5d:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ej5: &amp;quot;p ⟶ (q ⟶ r) ⟹ q ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (drule mp, assumption)&lt;br /&gt;
  apply (drule mp, assumption)&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&lt;br /&gt;
  &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_6a:&lt;br /&gt;
  assumes 1: &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;
 {assume 2: &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
   {assume 3: &amp;quot;p&amp;quot;&lt;br /&gt;
    have 4: &amp;quot;q ⟶ r&amp;quot; using 1 3 ..&lt;br /&gt;
    have 5: &amp;quot;q&amp;quot; using 2 3 ..&lt;br /&gt;
    have &amp;quot;r&amp;quot;  using 4 5 ..}&lt;br /&gt;
   then have &amp;quot;p ⟶ r&amp;quot; by (rule impI)}&lt;br /&gt;
 then show &amp;quot;(p ⟶ q) ⟶ (p ⟶ r)&amp;quot; by (rule impI)&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6b:&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 (rule impI)&lt;br /&gt;
 assume &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 &amp;quot;p&amp;quot;&lt;br /&gt;
   with `p ⟶ q` have &amp;quot;q&amp;quot; ..&lt;br /&gt;
   have &amp;quot;q ⟶ r&amp;quot; using assms(1) `p` ..&lt;br /&gt;
   then show &amp;quot;r&amp;quot; using `q` ..&lt;br /&gt;
 qed&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6c:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ej6: &amp;quot;p ⟶ (q ⟶ r) ⟹ (p ⟶ q) ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (drule mp, assumption)&lt;br /&gt;
  apply (drule mp, assumption)&lt;br /&gt;
  apply (drule mp, assumption+)&lt;br /&gt;
  done&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;
proof (rule impI)&lt;br /&gt;
 assume &amp;quot;q&amp;quot;&lt;br /&gt;
 show &amp;quot;p&amp;quot; using assms(1) by this&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ej7: &amp;quot;p ⟹ q ⟶ p&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&lt;br /&gt;
&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_8a:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;p&amp;quot;&lt;br /&gt;
  show &amp;quot;q ⟶ p&amp;quot;&lt;br /&gt;
    proof (rule impI)&lt;br /&gt;
      assume &amp;quot;q&amp;quot;&lt;br /&gt;
      show &amp;quot;p&amp;quot; using `p` .&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8b:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej8: &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&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_9a:&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;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;q ⟶ r&amp;quot;&lt;br /&gt;
  show &amp;quot;p ⟶  r&amp;quot;&lt;br /&gt;
    proof (rule impI)&lt;br /&gt;
      assume &amp;quot;p&amp;quot;&lt;br /&gt;
      have &amp;quot;q&amp;quot; using assms(1) `p` ..&lt;br /&gt;
      show &amp;quot;r&amp;quot; using `q ⟶  r` `q` ..&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9b:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej9: &amp;quot;p ⟶ q ⟹ (q ⟶ r) ⟶ (p ⟶ r)&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (drule mp, assumption)&lt;br /&gt;
  apply (drule mp, assumption+)&lt;br /&gt;
  done&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_10a:&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;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;r&amp;quot;&lt;br /&gt;
  show &amp;quot;q ⟶ (p ⟶ s)&amp;quot;&lt;br /&gt;
    proof (rule impI)&lt;br /&gt;
      assume &amp;quot;q&amp;quot;&lt;br /&gt;
      show &amp;quot;p ⟶ s&amp;quot;&lt;br /&gt;
        proof (rule impI)&lt;br /&gt;
          assume &amp;quot;p&amp;quot;&lt;br /&gt;
          with assms(1) have &amp;quot;q ⟶ (r ⟶ s)&amp;quot; ..&lt;br /&gt;
          then have &amp;quot;r ⟶ s&amp;quot; using `q` ..&lt;br /&gt;
          then show &amp;quot;s&amp;quot; using `r` ..&lt;br /&gt;
        qed&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_10b:&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;
using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej10: &amp;quot;p ⟶ (q ⟶ (r ⟶ s)) ⟹ r ⟶ (q ⟶ (p ⟶ s))&amp;quot;&lt;br /&gt;
  apply (rule impI)+&lt;br /&gt;
  apply (drule mp, assumption+)+&lt;br /&gt;
  done&lt;br /&gt;
&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_11a:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &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 &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 &amp;quot;p&amp;quot;&lt;br /&gt;
          have &amp;quot;q ⟶ r&amp;quot; using `p ⟶ (q ⟶ r)` `p`..&lt;br /&gt;
          have &amp;quot;q&amp;quot; using `p ⟶ q` `p` ..&lt;br /&gt;
          show &amp;quot;r&amp;quot; using `q ⟶ r` `q` ..&lt;br /&gt;
        qed&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11b:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
  assume &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
  {assume &amp;quot;p ⟶  q&amp;quot;&lt;br /&gt;
    {assume &amp;quot;p&amp;quot;&lt;br /&gt;
      with `p ⟶  q` have &amp;quot;q&amp;quot; ..&lt;br /&gt;
      have &amp;quot;q ⟶ r&amp;quot; using `p ⟶ (q ⟶ r)` `p` ..&lt;br /&gt;
      then have &amp;quot;r&amp;quot; using `q` ..}&lt;br /&gt;
    then have &amp;quot;p ⟶  r&amp;quot; ..}&lt;br /&gt;
  then show &amp;quot;(p ⟶ q) ⟶ (p ⟶ r)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11c:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej11: &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
  apply (rule impI)+&lt;br /&gt;
  apply (drule mp, assumption+)+&lt;br /&gt;
  done&lt;br /&gt;
&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_12a:&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 (rule impI) &lt;br /&gt;
  assume &amp;quot;p&amp;quot;&lt;br /&gt;
  show &amp;quot;q ⟶  r&amp;quot;&lt;br /&gt;
    proof (rule impI)&lt;br /&gt;
      assume &amp;quot;q&amp;quot;&lt;br /&gt;
      show &amp;quot;r&amp;quot;&lt;br /&gt;
        proof -&lt;br /&gt;
          {assume &amp;quot;p&amp;quot;&lt;br /&gt;
          have &amp;quot;q&amp;quot; using `q` .}&lt;br /&gt;
        then have &amp;quot;p ⟶  q&amp;quot; ..&lt;br /&gt;
          show &amp;quot;r&amp;quot; using assms(1) `p ⟶ q` ..&lt;br /&gt;
        qed&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12b:&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;
  assume &amp;quot;p&amp;quot;&lt;br /&gt;
  {assume &amp;quot;q&amp;quot;&lt;br /&gt;
    {assume &amp;quot;p&amp;quot;&lt;br /&gt;
      have &amp;quot;q&amp;quot; using `q` .}&lt;br /&gt;
  then have &amp;quot;p ⟶  q&amp;quot; ..&lt;br /&gt;
  with assms(1) have &amp;quot;r&amp;quot; ..}&lt;br /&gt;
  then show &amp;quot;q ⟶ r&amp;quot; .. &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12c:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej12: &amp;quot;(p ⟶ q) ⟶ r ⟹ p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
  apply (rule impI)+&lt;br /&gt;
  apply (rule_tac P=&amp;quot;p ⟶ q&amp;quot; in mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&lt;br /&gt;
&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_13a:&lt;br /&gt;
  assumes 1:&amp;quot;p&amp;quot; and&lt;br /&gt;
          2:&amp;quot;q&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;p ∧ q&amp;quot; using 1 2 by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13b:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot; and&lt;br /&gt;
          &amp;quot;q&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
proof (rule conjI)&lt;br /&gt;
  show &amp;quot;p&amp;quot; using assms(1) .&lt;br /&gt;
  show &amp;quot;q&amp;quot; using assms(2) .&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13c:&lt;br /&gt;
  assumes &amp;quot;p&amp;quot; and&lt;br /&gt;
          &amp;quot;q&amp;quot; &lt;br /&gt;
  shows &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej13: &amp;quot;⟦p; q⟧ ⟹ p ∧ q&amp;quot;&lt;br /&gt;
  apply (rule conjI)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&lt;br /&gt;
&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;
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;
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;
lemma ej14: &amp;quot;p ∧ q ⟹ p&amp;quot;&lt;br /&gt;
  apply (erule conjunct1)&lt;br /&gt;
  done&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;
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;
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;
lemma ej15: &amp;quot;p ∧ q ⟹ q&amp;quot;&lt;br /&gt;
  apply (erule conjunct2)&lt;br /&gt;
  done&lt;br /&gt;
&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_16a:&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 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;
  have 3: &amp;quot;q&amp;quot; using 2 by (rule conjunct1)&lt;br /&gt;
  have 4: &amp;quot;r&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
  have 5: &amp;quot;(p∧q)&amp;quot; using 1 3 by (rule conjI)&lt;br /&gt;
  show &amp;quot;(p∧q) ∧ r&amp;quot; using 5 4 by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16b:&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 (rule conjI)&lt;br /&gt;
  show &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  proof (rule conjI)&lt;br /&gt;
    show &amp;quot;p&amp;quot; using assms ..&lt;br /&gt;
    next&lt;br /&gt;
      have &amp;quot;q ∧ r&amp;quot; using assms ..&lt;br /&gt;
      then show &amp;quot;q&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
next&lt;br /&gt;
  have &amp;quot;q ∧ r&amp;quot; using assms ..&lt;br /&gt;
  then show &amp;quot;r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16c:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ej16: &amp;quot;p ∧ (q ∧ r) ⟹ (p ∧ q) ∧ r&amp;quot;&lt;br /&gt;
  apply (rule conjI)&lt;br /&gt;
   apply (rule conjI)&lt;br /&gt;
    apply (erule conjunct1)&lt;br /&gt;
   apply (drule conjunct2)&lt;br /&gt;
   apply (erule conjunct1)&lt;br /&gt;
  apply (drule conjunct2)&lt;br /&gt;
  apply (erule conjunct2)&lt;br /&gt;
  done&lt;br /&gt;
&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;
lemma ejercicio_17a:&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 1: &amp;quot;r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  have 2: &amp;quot;(p∧q)&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
  have 3: &amp;quot;p&amp;quot; using 2 by (rule conjunct1)&lt;br /&gt;
  have 4: &amp;quot;q&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
  have 5: &amp;quot;(q∧r)&amp;quot; using 4 1 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;
&lt;br /&gt;
lemma ejercicio_17b:&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 (rule conjI)&lt;br /&gt;
  have &amp;quot;p ∧ q&amp;quot; using assms ..&lt;br /&gt;
  then show &amp;quot;p&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
  show &amp;quot;q ∧ r&amp;quot;&lt;br /&gt;
    proof (rule conjI)&lt;br /&gt;
      have &amp;quot;p ∧ q&amp;quot; using assms ..&lt;br /&gt;
      then show &amp;quot;q&amp;quot; ..&lt;br /&gt;
    next&lt;br /&gt;
      show &amp;quot;r&amp;quot; using assms ..&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17c:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej17: &amp;quot;(p ∧ q) ∧ r ⟹ p ∧ (q ∧ r)&amp;quot;&lt;br /&gt;
  apply (rule conjI)&lt;br /&gt;
   apply (drule conjunct1)&lt;br /&gt;
   apply (erule conjunct1)&lt;br /&gt;
  apply (rule conjI)&lt;br /&gt;
   apply (drule conjunct1)&lt;br /&gt;
   apply (erule conjunct2)&lt;br /&gt;
  apply (erule conjunct2)&lt;br /&gt;
  done&lt;br /&gt;
&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_18a:&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;q&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  show &amp;quot;p⟶ q&amp;quot; using 1 by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18b:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;p&amp;quot;&lt;br /&gt;
  show &amp;quot;q&amp;quot; using assms ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18c:&lt;br /&gt;
  assumes &amp;quot;p ∧ q&amp;quot; &lt;br /&gt;
  shows   &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej18: &amp;quot;p ∧ q ⟹ p ⟶ q&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (erule conjunct2)&lt;br /&gt;
  done&lt;br /&gt;
&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_19a:&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 (rule impI)&lt;br /&gt;
    assume &amp;quot;p&amp;quot;&lt;br /&gt;
    show &amp;quot;q ∧ r&amp;quot; &lt;br /&gt;
      proof (rule conjI)&lt;br /&gt;
    have &amp;quot;p ⟶ q&amp;quot; using assms ..&lt;br /&gt;
    then show &amp;quot;q&amp;quot; using `p` ..&lt;br /&gt;
    have &amp;quot;p ⟶ r&amp;quot; using assms ..&lt;br /&gt;
    then show &amp;quot;r&amp;quot; using `p` ..&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19c:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej19: &amp;quot;(p ⟶ q) ∧ (p ⟶ r) ⟹ p ⟶ q ∧ r&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (rule conjI)&lt;br /&gt;
   apply (drule conjunct1)&lt;br /&gt;
   apply (drule mp)&lt;br /&gt;
    apply assumption&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (drule conjunct2)&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&lt;br /&gt;
&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_20a:&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 (rule conjI)&lt;br /&gt;
  show &amp;quot;p ⟶ q&amp;quot; &lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
    assume &amp;quot;p&amp;quot;&lt;br /&gt;
    with `p ⟶ q ∧ r` have &amp;quot;q ∧ r&amp;quot; ..&lt;br /&gt;
    then show &amp;quot;q&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
  show &amp;quot;p ⟶ r&amp;quot; &lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
    assume &amp;quot;p&amp;quot;&lt;br /&gt;
    with `p ⟶ q ∧ r` have &amp;quot;q ∧ r&amp;quot; ..&lt;br /&gt;
    then show &amp;quot;r&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20c:&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;
using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej20: &amp;quot;p ⟶ q ∧ r ⟹ (p ⟶ q) ∧ (p ⟶ r)&amp;quot;&lt;br /&gt;
  apply (rule conjI)&lt;br /&gt;
   apply (rule impI)&lt;br /&gt;
   apply (drule mp)&lt;br /&gt;
    apply assumption&lt;br /&gt;
    apply (erule conjunct1)&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (erule conjunct2)&lt;br /&gt;
  done&lt;br /&gt;
&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_21a:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21b:&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 (rule impI)&lt;br /&gt;
  assume &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
  then have &amp;quot;p&amp;quot; ..&lt;br /&gt;
  with `p ⟶ (q ⟶ r)` have &amp;quot;q ⟶ r&amp;quot; ..&lt;br /&gt;
  have &amp;quot;q&amp;quot; using `p ∧ q` ..&lt;br /&gt;
  with `q ⟶ r` show &amp;quot;r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21c:&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 (rule impI)&lt;br /&gt;
  assume &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
  then have &amp;quot;p&amp;quot; ..&lt;br /&gt;
  have &amp;quot;q&amp;quot; using `p ∧ q`..&lt;br /&gt;
  have  &amp;quot;q ⟶ r&amp;quot; using assms(1) `p` ..&lt;br /&gt;
then show &amp;quot;r&amp;quot; using `q` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ej21_1: &amp;quot;p ⟶ (q ⟶ r) ⟹ p ∧ q ⟶ r&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (erule conjE)&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&lt;br /&gt;
&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_22a:&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 (rule impI)&lt;br /&gt;
  assume &amp;quot;p&amp;quot;&lt;br /&gt;
  show &amp;quot;q ⟶ r&amp;quot;&lt;br /&gt;
    proof (rule impI)&lt;br /&gt;
      assume &amp;quot;q&amp;quot;&lt;br /&gt;
      with `p` have &amp;quot;p ∧ q&amp;quot; ..&lt;br /&gt;
      with assms(1) show &amp;quot;r&amp;quot; ..&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22c:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej22: &amp;quot;p ∧ q ⟶ r ⟹ p ⟶ (q ⟶ r)&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
    apply (rule conjI)&lt;br /&gt;
    apply assumption+&lt;br /&gt;
  done&lt;br /&gt;
&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_23a:&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 (rule impI)&lt;br /&gt;
  assume &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
  then have &amp;quot;q&amp;quot; ..&lt;br /&gt;
  have &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
    proof (rule impI)&lt;br /&gt;
      assume &amp;quot;p&amp;quot;&lt;br /&gt;
      show &amp;quot;q&amp;quot; using `q` .&lt;br /&gt;
    qed&lt;br /&gt;
    with assms(1) show &amp;quot;r&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23c:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej23: &amp;quot;(p ⟶ q) ⟶ r ⟹ p ∧ q ⟶ r&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply (rule impI)&lt;br /&gt;
   apply (erule conjunct2)&lt;br /&gt;
  apply assumption&lt;br /&gt;
  done&lt;br /&gt;
&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_24b:&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 (rule impI)&lt;br /&gt;
  assume &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
  have &amp;quot;p&amp;quot; using assms(1) ..&lt;br /&gt;
  with `p ⟶ q` have &amp;quot;q&amp;quot; ..&lt;br /&gt;
  have &amp;quot;q ⟶ r&amp;quot; using assms(1) ..&lt;br /&gt;
  then show &amp;quot;r&amp;quot; using `q` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24c:&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;
  using assms by auto&lt;br /&gt;
&lt;br /&gt;
lemma ej24: &amp;quot;p ∧ (q ⟶ r) ⟹ (p ⟶ q) ⟶ r&amp;quot;&lt;br /&gt;
  apply (rule impI)&lt;br /&gt;
  apply (erule conjE)&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption&lt;br /&gt;
  apply (drule mp)&lt;br /&gt;
   apply assumption+&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mjoseh</name></author>
		
	</entry>
</feed>