<?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=Marherfer6</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=Marherfer6"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php/Especial:Contribuciones/Marherfer6"/>
	<updated>2026-07-18T11:03:22Z</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_5&amp;diff=193</id>
		<title>Relación 5</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_5&amp;diff=193"/>
		<updated>2016-04-24T09:11:17Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;Isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R5: Argumentación en lógica de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R5&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 formalizar en lógica de primer orden&lt;br /&gt;
  argumentos expresados en lenguaje natural.&lt;br /&gt;
&lt;br /&gt;
  Antes de escribir la soluciones, comprobar con APLI2 la corrección de la&lt;br /&gt;
  formalización.&lt;br /&gt;
&lt;br /&gt;
  Una vez formalizadas, probar que el razonamiento es correcto, o refutarlo&lt;br /&gt;
  mediante un contraejemplo. &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 1. Formalizar el siguiente argumento&lt;br /&gt;
     Hay estudiantes inteligentes y hay estudiantes trabajadores. Por&lt;br /&gt;
     tanto, hay estudiantes inteligentes y trabajadores.&lt;br /&gt;
  Usar I(x) para x es inteligente&lt;br /&gt;
       T(x) para x es trabajador&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Formalizar el siguiente argumento&lt;br /&gt;
     Todos los participantes son vencedores. Hay como máximo un&lt;br /&gt;
     vencedor. Hay como máximo un participante. Por lo tanto, hay&lt;br /&gt;
     exactamente un participante. &lt;br /&gt;
  Usar P(x) para x es un participante&lt;br /&gt;
       V(x) para x es un vencedor&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
lemma ejercicio2:&lt;br /&gt;
assumes 1: &amp;quot;∀x. (P(x)⟶V(x))&amp;quot; and&lt;br /&gt;
        2: &amp;quot;(¬(∃x. V(x))) ∨ (∃x. (V(x) ∧ (∀y. (V(y) ⟶ x=y))))&amp;quot; and&lt;br /&gt;
        3: &amp;quot;(¬(∃x. P(x))) ∨ (∃x. (P(x) ∧ (∀y. (P(y) ⟶ x=y))))&amp;quot; &lt;br /&gt;
shows &amp;quot;∃x. (P(x) ∧ (∀y. (P(y) ⟶ x=y)))&amp;quot;&lt;br /&gt;
quickcheck&lt;br /&gt;
oops&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Formalizar el siguiente argumento&lt;br /&gt;
     Ningún aristócrata debe ser condenado a galeras a menos que sus&lt;br /&gt;
     crímenes sean vergonzosos y lleve una vida licenciosa. En la ciudad&lt;br /&gt;
     hay aristócratas que han cometido crímenes vergonzosos aunque su&lt;br /&gt;
     forma de vida no sea licenciosa. Por tanto, hay algún aristócrata&lt;br /&gt;
     que no está condenado a galeras. &lt;br /&gt;
  Usar A(x)  para x es aristócrata&lt;br /&gt;
       G(x)  para x está condenado a galeras&lt;br /&gt;
       L(x)  para x lleva una vida licenciosa&lt;br /&gt;
       V(x)  para x ha cometido crímenes vergonzoso&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
lemma ejercicio_3:&lt;br /&gt;
 assumes &amp;quot;∀x. (A x ∧ G x ⟶ V x ∧ L x)&amp;quot;&lt;br /&gt;
         &amp;quot;∃x. (A x ∧ V x ∧ ¬L x)&amp;quot;&lt;br /&gt;
 shows &amp;quot;∃x. (A x ∧ ¬G x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain b where 1 : &amp;quot;A b ∧ V b ∧ ¬L b&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;A b ∧ G b ⟶ V b ∧ L b&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
{assume 3 : &amp;quot;G b&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;A b&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 5 : &amp;quot;A b ∧ G b&amp;quot; using 4 3 by (rule conjI)&lt;br /&gt;
have 6 : &amp;quot;V b ∧ L b&amp;quot; using 2 5 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;L b&amp;quot; using 6 by (rule conjunct2)&lt;br /&gt;
have 8 : &amp;quot;V b ∧ ¬L b&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 9 : &amp;quot;¬L b&amp;quot; using 8 by (rule conjunct2)&lt;br /&gt;
have &amp;quot;False&amp;quot; using 9 7 by (rule notE)}&lt;br /&gt;
hence 10 : &amp;quot;¬G b&amp;quot; by (rule notI)&lt;br /&gt;
have 11 : &amp;quot;A b&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 12 : &amp;quot;A b ∧ ¬G b&amp;quot; using 11 10 by (rule conjI)&lt;br /&gt;
show &amp;quot;∃x. (A x ∧ ¬G x)&amp;quot; using 12 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Formalizar el siguiente argumento&lt;br /&gt;
     Todos los robots obedecen a los amigos del programador jefe.&lt;br /&gt;
     Alvaro es amigo del programador jefe, pero Benito no le&lt;br /&gt;
     obedece. Por tanto, Benito no es un robot.&lt;br /&gt;
  Usar R(x)    para x es un robot&lt;br /&gt;
       Ob(x,y) para x obedece a y&lt;br /&gt;
       A(x)    para x es amigo del programador jefe&lt;br /&gt;
       b       para Benito&lt;br /&gt;
       a       para Alvaro&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
lemma ejercicio_4:&lt;br /&gt;
 assumes &amp;quot;∀x y. (R x ∧ A y ⟶ Ob x y)&amp;quot;&lt;br /&gt;
         &amp;quot;A a&amp;quot;&lt;br /&gt;
         &amp;quot;¬Ob b a&amp;quot;&lt;br /&gt;
 shows &amp;quot;¬R b&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;R b&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;∀y. R b ∧ A y ⟶ Ob b y&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have 3 : &amp;quot;R b ∧ A a ⟶ Ob b a&amp;quot; using 2 by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;R b ∧ A a&amp;quot; using 1 assms(2) by (rule conjI)&lt;br /&gt;
have 5 : &amp;quot;Ob b a&amp;quot; using 3  4 by (rule mp)&lt;br /&gt;
have &amp;quot;False&amp;quot; using assms(3) 5 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬R b&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Formalizar el siguiente argumento&lt;br /&gt;
     Ningún socio del club está en deuda con el tesorero del club. Si&lt;br /&gt;
     un socio del club no paga su cuota está en deuda con el tesorero&lt;br /&gt;
     del club. Por tanto, si el tesorero del club es socio del club,&lt;br /&gt;
     entonces paga su cuota. &lt;br /&gt;
  Usar P(x) para x es socio del club&lt;br /&gt;
       Q(x) para x paga su cuota&lt;br /&gt;
       R(x) para x está en deuda con el tesorero&lt;br /&gt;
       a    para el tesorero del club&lt;br /&gt;
   ------------------------------------------------------------------ *}&lt;br /&gt;
lemma ejercicio_5:&lt;br /&gt;
 assumes &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
         &amp;quot;∀x. (P x ∧ ¬Q x ⟶ R x)&amp;quot;&lt;br /&gt;
 shows &amp;quot;P a ⟶ Q a&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 {assume 2 : &amp;quot;¬Q a&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;P a ∧ ¬Q a ⟶ R a&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;P a ∧ ¬Q a&amp;quot; using 1 2 by (rule conjI)&lt;br /&gt;
  have 5 : &amp;quot;R a&amp;quot; using 3 4 by (rule mp)&lt;br /&gt;
  have 6 : &amp;quot;P a ∧ R a&amp;quot; using 1 5 by (rule conjI)&lt;br /&gt;
  have 7 : &amp;quot;∃x. P x ∧ R x&amp;quot; using 6 by (rule exI)&lt;br /&gt;
  have &amp;quot;False&amp;quot; using assms(1) 7 by (rule notE)}&lt;br /&gt;
hence &amp;quot;Q a&amp;quot; by (rule ccontr)}&lt;br /&gt;
thus &amp;quot;P a ⟶ Q a&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Formalizar el siguiente argumento&lt;br /&gt;
     Los aficionados al fútbol aplauden a cualquier futbolista&lt;br /&gt;
     extranjero. Juanito no aplaude a futbolistas extranjeros. Por&lt;br /&gt;
     tanto, si hay algún futbolista extranjero nacionalizado español,&lt;br /&gt;
     Juanito no es aficionado al fútbol.&lt;br /&gt;
  Usar Af(x)   para x es aficicionado al fútbol&lt;br /&gt;
       Ap(x,y) para x aplaude a y&lt;br /&gt;
       E(x)    para x es un futbolista extranjero&lt;br /&gt;
       N(x)    para x es un futbolista nacionalizado español&lt;br /&gt;
       j       para Juanito&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
lemma ejercicio6&lt;br /&gt;
assumes &amp;quot;∀x. Af(x) ⟶ (∀y. E(y) ⟶ Ap(x,y))&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. E(x) ⟶ ¬Ap(j,x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. E(x) ∧ N(x)) ⟶ ¬Af(j)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Formalizar el siguiente argumento&lt;br /&gt;
     Todo aquel que entre en el país y no sea un VIP será cacheado por&lt;br /&gt;
     un aduanero. Hay un contrabandista que entra en el país y que solo&lt;br /&gt;
     podrá ser cacheado por contrabandistas. Ningún contrabandista es un&lt;br /&gt;
     VIP. Por tanto, algún aduanero es contrabandista.&lt;br /&gt;
  Usar A(x)    para x es aduanero&lt;br /&gt;
       Ca(x,y) para x cachea a y&lt;br /&gt;
       Co(x)   para x es contrabandista&lt;br /&gt;
       E(x)    para x entra en el pais&lt;br /&gt;
       V(x)    para x es un VIP&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
lemma ejercicio7:&lt;br /&gt;
assumes 1: &amp;quot;∀x. ((E(x) ∧ ¬V(x)) ⟶ (∃y. (A(y) ∧ Ca(y,x))))&amp;quot; and&lt;br /&gt;
        2: &amp;quot;∃x. ((Co(x) ∧ E(x)) ∧ (∀y. (Ca(y,x) ⟶ Co(y))))&amp;quot; and&lt;br /&gt;
        3: &amp;quot;∀x. (Co(x)⟶ ¬V(x))&amp;quot;&lt;br /&gt;
shows &amp;quot;∃x. (A(x) ∧ Co(x))&amp;quot; &lt;br /&gt;
proof -&lt;br /&gt;
obtain a where 4: &amp;quot;(Co(a) ∧ E(a)) ∧ (∀y. (Ca(y,a)⟶Co(y)))&amp;quot; using 2 by (rule exE)&lt;br /&gt;
have 5: &amp;quot;Co(a) ∧ E(a)&amp;quot; using 4 by (rule conjunct1)&lt;br /&gt;
have 6: &amp;quot;Co(a)&amp;quot; using 5 by (rule conjunct1)&lt;br /&gt;
have 7: &amp;quot;E(a)&amp;quot; using 5 by (rule conjunct2)&lt;br /&gt;
have 8: &amp;quot;∀y. (Ca(y,a)⟶Co(y))&amp;quot; using 4 by (rule conjunct2)&lt;br /&gt;
have 9: &amp;quot;Co(a) ⟶ ¬V(a)&amp;quot; using 3 by (rule allE)&lt;br /&gt;
have 10: &amp;quot;¬V(a)&amp;quot; using 9 6 by (rule mp)&lt;br /&gt;
have 11: &amp;quot;(E(a)∧ ¬V(a)) ⟶ (∃y. (A(y) ∧ Ca(y,a)))&amp;quot; using 1 by (rule allE)&lt;br /&gt;
have 12: &amp;quot;E(a) ∧ ¬V(a)&amp;quot; using 7 10 by (rule conjI)&lt;br /&gt;
have 13: &amp;quot;∃y. (A(y) ∧ Ca(y,a))&amp;quot; using 11 12 by (rule mp)&lt;br /&gt;
obtain b where 14: &amp;quot;A(b) ∧ Ca(b,a)&amp;quot; using 13 by (rule exE)&lt;br /&gt;
have 15: &amp;quot;A(b)&amp;quot; using 14 by (rule conjunct1)&lt;br /&gt;
have 16: &amp;quot;Ca(b,a)⟶Co(b)&amp;quot; using 8 by (rule allE)&lt;br /&gt;
have 17: &amp;quot;Ca(b,a)&amp;quot; using 14 by (rule conjunct2)&lt;br /&gt;
have 18: &amp;quot;Co(b)&amp;quot; using 16 17 by (rule mp)&lt;br /&gt;
have 19: &amp;quot;A(b) ∧ Co(b)&amp;quot; using 15 18 by (rule conjI)&lt;br /&gt;
show 20: &amp;quot;∃x. (A(x) ∧ Co(x))&amp;quot; using 19 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
section {* Ejercicios con igualdad *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Formalizar el siguiente argumento &lt;br /&gt;
     Rosa ama a Curro. Paco no simpatiza con Ana. Quien no simpatiza con&lt;br /&gt;
     Ana ama a Rosa. Si una persona ama a otra, la segunda ama a la&lt;br /&gt;
     primera. Hay como máximo una persona que ama a Rosa. Por tanto,&lt;br /&gt;
     Paco es Curro. &lt;br /&gt;
  Usar A(x,y) para x ama a y &lt;br /&gt;
       S(x,y) para x simpatiza con y &lt;br /&gt;
       a      para Ana&lt;br /&gt;
       c      para Curro&lt;br /&gt;
       p      para Paco &lt;br /&gt;
       r      para Rosa&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Formalizar el siguiente argumento &lt;br /&gt;
     Todos los filósofos se han preguntado qué es la filosofía. Los que&lt;br /&gt;
     se preguntan qué es la filosofía se vuelven locos. Nietzsche es&lt;br /&gt;
     filósofo. El maestro de Nietzsche no acabó loco. Por tanto,&lt;br /&gt;
     Nietzsche y su maestro son diferentes personas. &lt;br /&gt;
  Usar F(x) para x es filósofo&lt;br /&gt;
       L(x) para x se vuelve loco&lt;br /&gt;
       P(x) para x se ha preguntado qué es la filosofía.&lt;br /&gt;
       m    para el maestro de Nietzsche&lt;br /&gt;
       n    para Nietzsche&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Formalizar el siguiente argumento &lt;br /&gt;
     Eduardo pudo haber visto al asesino. Antonio fue el primer testigo&lt;br /&gt;
     de la defensa. O Eduardo estaba en clase o Antonio dio falso&lt;br /&gt;
     testimonio. Nadie en clase pudo haber visto al asesino. Luego, el&lt;br /&gt;
     primer testigo de la defensa dio falso testimonio. &lt;br /&gt;
  Usar C(x) para x estaba en clase&lt;br /&gt;
       F(x) para x dio falso testimonio&lt;br /&gt;
       V(x) para x pudo haber visto al asesino&lt;br /&gt;
       a    para Antonio&lt;br /&gt;
       e    para Eduardo&lt;br /&gt;
       p    para el primer testigo de la defensa&lt;br /&gt;
   ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=192</id>
		<title>Relación 4</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=192"/>
		<updated>2016-04-24T07:21:48Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;Isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R4: Deducción natural de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R4&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Demostrar o refutar los siguientes lemas usando sólo las reglas&lt;br /&gt;
  básicas de deducción natural de la lógica proposicional, de los&lt;br /&gt;
  cuantificadores y de la igualdad: &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;
  · mp:         ⟦P ⟶ Q; P⟧ ⟹ Q &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_middel:(¬P ∨ P) &lt;br /&gt;
&lt;br /&gt;
  · allI:       ⟦∀x. P x; P x ⟹ R⟧ ⟹ R&lt;br /&gt;
  · allE:       (⋀x. P x) ⟹ ∀x. P x&lt;br /&gt;
  · exI:        P x ⟹ ∃x. P x&lt;br /&gt;
  · exE:        ⟦∃x. P x; ⋀x. P x ⟹ Q⟧ ⟹ Q&lt;br /&gt;
&lt;br /&gt;
  · refl:       t = t&lt;br /&gt;
  · subst:      ⟦s = t; P s⟧ ⟹ P t&lt;br /&gt;
  · trans:      ⟦r = s; s = t⟧ ⟹ r = t&lt;br /&gt;
  · sym:        s = t ⟹ t = s&lt;br /&gt;
  · not_sym:    t ≠ s ⟹ s ≠ t&lt;br /&gt;
  · ssubst:     ⟦t = s; P s⟧ ⟹ P t&lt;br /&gt;
  · box_equals: ⟦a = b; a = c; b = d⟧ ⟹ a: = d&lt;br /&gt;
  · arg_cong:   x = y ⟹ f x = f y&lt;br /&gt;
  · fun_cong:   f = g ⟹ f x = g x&lt;br /&gt;
  · cong:       ⟦f = g; x = y⟧ ⟹ f x = g y&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;
&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;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 1. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. P x) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
   assume 1: &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
    show &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
     proof (rule allI)&lt;br /&gt;
     {fix a &lt;br /&gt;
      have 2: &amp;quot;P(a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
      have 3: &amp;quot;P(a)⟶Q(a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
      show &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
      qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
hence 5 : &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Demostrar&lt;br /&gt;
       ∃x. ¬(P x) ⊢ ¬(∀x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `∀x. P x` by (rule allE)&lt;br /&gt;
  show &amp;quot;False&amp;quot; using `¬ (P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 obtain a where 2 : &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
 have 3 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
 have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Demostrar&lt;br /&gt;
       ∀x. P x ⊢ ∀y. P y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
{ fix a&lt;br /&gt;
  show &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
have 1 : &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
thus &amp;quot;∀y. P y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
  { fix a&lt;br /&gt;
    have &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
    have &amp;quot;¬ (Q a)&amp;quot; using `∀x. ¬(Q x)` by (rule allE)&lt;br /&gt;
    have &amp;quot;¬(P a)&amp;quot; using `P a ⟶ Q a` `¬ (Q a)` by (rule mt)}&lt;br /&gt;
thus &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;¬(Q a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;¬(P a)&amp;quot; using 2 3 by (rule mt)}&lt;br /&gt;
hence &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Demostrar&lt;br /&gt;
       ∀x. P x  ⟶ ¬(Q x) ⊢ ¬(∃x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∃x. P x ∧ Q x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;P a ∧ Q a&amp;quot; using `∃x. P x ∧ Q x` by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;P a  ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have &amp;quot;¬(Q a)&amp;quot; using `P a  ⟶ ¬(Q a)` `P a` by (rule mp)&lt;br /&gt;
show &amp;quot;False&amp;quot; using `¬(Q a)` `Q a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a ∧ Q a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;P a ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;P a&amp;quot; using 2 by (rule conjunct1)&lt;br /&gt;
have 5 : &amp;quot;Q a&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
have 6 : &amp;quot;¬(Q a)&amp;quot; using 3 4 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Demostrar&lt;br /&gt;
       ∀x y. P x y ⊢ ∀u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix a b &lt;br /&gt;
have  &amp;quot;∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot; P a b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a &lt;br /&gt;
 {fix b&lt;br /&gt;
  have 1 : &amp;quot; ∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)}&lt;br /&gt;
hence &amp;quot;∀v. P a v&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;∀u v. P u v&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Demostrar&lt;br /&gt;
       ∃x y. P x y ⟹ ∃u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_7: &lt;br /&gt;
  assumes &amp;quot;∃x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃u v. P u v&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where &amp;quot;P a b&amp;quot; by (rule exE)&lt;br /&gt;
hence &amp;quot;∃v. P a v&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃u v. P u v&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Demostrar&lt;br /&gt;
       ∃x. ∀y. P x y ⊢ ∀y. ∃x. P x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
obtain a where &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
fix b &lt;br /&gt;
have &amp;quot;P a b&amp;quot; using `∀y. P a y` by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x b&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
 {fix b &lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;∃x. P x b&amp;quot; using 2 by (rule exI)}&lt;br /&gt;
thus &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Demostrar&lt;br /&gt;
       ∃x. P a ⟶ Q x ⊢ P a ⟶ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;Q b&amp;quot; using `P a ⟶ Q b` `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where 2 : &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;Q b&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;∃x. Q x&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
thus &amp;quot;P a ⟶ (∃x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Demostrar&lt;br /&gt;
       P a ⟶ (∃x. Q x) ⊢ ∃x. P a ⟶ Q x &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_10a: &lt;br /&gt;
  fixes P Q :: &amp;quot;&amp;#039;b ⇒ bool&amp;quot; &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬(P a) ∨ P a&amp;quot; by (rule excluded_middle)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 2 : &amp;quot;¬(P a)&amp;quot;&lt;br /&gt;
 {assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 4 : &amp;quot;Q b&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
hence 5 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 5  by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 7 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 8 : &amp;quot;∃x. Q x&amp;quot; using assms 7 by (rule mp)&lt;br /&gt;
obtain b where 9 : &amp;quot;Q b&amp;quot; using 8 by (rule exE)&lt;br /&gt;
 {assume 10 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 11 : &amp;quot;Q b&amp;quot; using 9 by this}&lt;br /&gt;
hence 12 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 13 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 12  by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x. P a ⟶ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 11. Demostrar&lt;br /&gt;
       (∃x. P x) ⟶ Q a ⊢ ∀x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
     fix b&lt;br /&gt;
     show &amp;quot;P b ⟶ Q a&amp;quot;  &lt;br /&gt;
        proof&lt;br /&gt;
        assume &amp;quot;P b&amp;quot;&lt;br /&gt;
        hence &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
        show &amp;quot;Q a&amp;quot; using assms `∃x. P x` by (rule mp)&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P b&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∃x. P x&amp;quot; using 1 by (rule exI)&lt;br /&gt;
  have 3 : &amp;quot;Q a&amp;quot; using assms 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule impI) }&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q a&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 12. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q a ⊢ ∃ x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
fix b&lt;br /&gt;
have &amp;quot;P b ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x ⟶ Q a&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 13. Demostrar&lt;br /&gt;
       (∀x. P x) ∨ (∀x. Q x) ⊢ ∀x. P x ∨ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix a&lt;br /&gt;
show &amp;quot;P a ∨ Q a&amp;quot; using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI1)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
hence &amp;quot;Q a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI2)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot; using assms by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 2 :&amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ∨ Q a&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
hence &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 4 : &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 5 :&amp;quot;Q a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
  have 6 : &amp;quot;P a ∨ Q a&amp;quot; using 5 by (rule disjI2)}&lt;br /&gt;
hence &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
ultimately show &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 14. Demostrar&lt;br /&gt;
       ∃x. P x ∧ Q x ⊢ (∃x. P x) ∧ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
obtain a where &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule conjunct1)&lt;br /&gt;
thus &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using  `P a ∧ Q a` by (rule conjunct2)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;P a&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;∃x. P x&amp;quot; using 2 by (rule exI)&lt;br /&gt;
have 4 : &amp;quot;Q a&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 5 : &amp;quot;∃x. Q x&amp;quot; using 4 by (rule exI)&lt;br /&gt;
show  &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot; using 3 5 by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 15. Demostrar&lt;br /&gt;
       ∀x y. P y ⟶ Q x ⊢ (∃y. P y) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
then obtain b where &amp;quot;P b&amp;quot; by (rule exE)&lt;br /&gt;
{fix a &lt;br /&gt;
have &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule allE)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using `P b ⟶ Q a` `P b` by (rule mp)}&lt;br /&gt;
thus &amp;quot;∀x. Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  obtain b where 2 : &amp;quot;P b&amp;quot; using 1 by (rule exE)&lt;br /&gt;
  have 3 : &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;P b ⟶ Q a&amp;quot; using 3 by (rule allE)&lt;br /&gt;
  have 5 : &amp;quot;Q a&amp;quot; using 4 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 16. Demostrar&lt;br /&gt;
       ¬(∀x. ¬(P x)) ⊢ ∃x. P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16a: &lt;br /&gt;
  assumes &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
fix x0&lt;br /&gt;
{assume 2: &amp;quot;¬(∃x. P x)&amp;quot; &lt;br /&gt;
 {fix x1&lt;br /&gt;
  {assume 3: &amp;quot;P x1&amp;quot;&lt;br /&gt;
   have 4: &amp;quot;∃x. P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
   have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
 then have 6: &amp;quot;¬ P x1&amp;quot; by (rule notI)}&lt;br /&gt;
then have 7: &amp;quot;∀x. ¬ P x&amp;quot; by (rule allI)&lt;br /&gt;
have 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)}&lt;br /&gt;
then show &amp;quot;∃x. P x&amp;quot; by (rule ccontr)&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 17. Demostrar&lt;br /&gt;
       ∀x. ¬(P x) ⊢ ¬(∃x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
then obtain a where &amp;quot;P a&amp;quot; by (rule exE)&lt;br /&gt;
have &amp;quot; ¬ (P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;¬(P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 18. Demostrar&lt;br /&gt;
       ∃x. P x ⊢ ¬(∀x. ¬(P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;¬(P a)&amp;quot; using `∀x. ¬(P x)`  by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a`by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;¬(P a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. ¬(P x))&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 19. Demostrar&lt;br /&gt;
       P a ⟶ (∀x. Q x) ⊢ ∀x. P a ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix b&lt;br /&gt;
show &amp;quot;P a ⟶ Q b&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;P a&amp;quot; &lt;br /&gt;
have &amp;quot;∀x. Q x&amp;quot; using assms `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;Q b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∀x. Q x&amp;quot; using assms 1 by (rule mp)&lt;br /&gt;
  have 3 : &amp;quot;Q b&amp;quot; using 2 by (rule allE)}&lt;br /&gt;
hence 4 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P a ⟶ Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 20. Demostrar&lt;br /&gt;
       {∀x y z. R x y ∧ R y z ⟶ R x z, &lt;br /&gt;
        ∀x. ¬(R x x)}&lt;br /&gt;
       ⊢ ∀x y. R x y ⟶ ¬(R y x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20a: &lt;br /&gt;
  assumes &amp;quot;∀x y z. R x y ∧ R y z ⟶ R x z&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. ¬(R x x)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix  a b &lt;br /&gt;
show &amp;quot;R a b ⟶ ¬(R b a )&amp;quot; &lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;R a b&amp;quot;&lt;br /&gt;
show&amp;quot;¬(R b a)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume 2:&amp;quot;R b a&amp;quot; &lt;br /&gt;
have 3:&amp;quot;R a b ∧ R b a&amp;quot; using 1 2..&lt;br /&gt;
have  &amp;quot;∀y z. R a y ∧ R y z ⟶ R a z&amp;quot; using assms(1)..&lt;br /&gt;
hence  &amp;quot;∀z. R a b ∧ R b z ⟶ R a z&amp;quot;..&lt;br /&gt;
hence 4:&amp;quot;R a b ∧ R b a ⟶ R a a&amp;quot;..&lt;br /&gt;
have 5:&amp;quot;R a a&amp;quot; using 4 3..&lt;br /&gt;
have 6:&amp;quot; ¬(R a a)&amp;quot; using assms(2)..&lt;br /&gt;
show False using 6 5..&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20a: &lt;br /&gt;
  assumes &amp;quot;∀x y z. R x y ∧ R y z ⟶ R x z&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. ¬(R x x)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
 {fix b&lt;br /&gt;
  {assume 1 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
   {assume 2 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
    have 3 : &amp;quot;∀y z. R a y ∧ R y z ⟶ R a z&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 4 : &amp;quot;∀z. R a b ∧ R b z ⟶ R a z&amp;quot; using 3 by (rule allE)&lt;br /&gt;
    have 5 : &amp;quot;R a b ∧ R b a ⟶ R a a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
    have 6 : &amp;quot; R a b ∧ R b a&amp;quot; using 1 2 by (rule conjI)&lt;br /&gt;
    have 7 : &amp;quot;R a a&amp;quot; using 5 6 by (rule mp)&lt;br /&gt;
    have 8 : &amp;quot;¬(R a a)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have &amp;quot;False&amp;quot; using 8 7 by (rule notE)}&lt;br /&gt;
   hence &amp;quot;¬(R b a)&amp;quot; by (rule notI)}&lt;br /&gt;
  hence &amp;quot;R a b ⟶ ¬(R b a)&amp;quot; by (rule impI)}&lt;br /&gt;
hence  &amp;quot;∀y. R a y ⟶ ¬(R y a)&amp;quot; by (rule allI)}&lt;br /&gt;
thus  &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 21. Demostrar&lt;br /&gt;
     {∀x. P x ∨ Q x, ∃x. ¬(Q x), ∀x. R x ⟶ ¬(P x)} ⊢ ∃x. ¬(R x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot; &lt;br /&gt;
proof-&lt;br /&gt;
obtain a where &amp;quot;¬(Q a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
show &amp;quot;∃x. ¬(R x)&amp;quot; using `P a ∨ Q a`&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
hence 1:&amp;quot;¬¬(P a)&amp;quot; by (rule notnotI)&lt;br /&gt;
have 2:&amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have &amp;quot;¬(R a)&amp;quot; using 2 1 by (rule mt)&lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
have False using `¬(Q a)` `Q a` by (rule notE) &lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;¬Q(a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have  &amp;quot;P a ∨ Q a&amp;quot; using 2 by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have 5 : &amp;quot;¬¬(P a)&amp;quot; using 3 by (rule notnotI)&lt;br /&gt;
have 6 : &amp;quot;¬(R a)&amp;quot; using 4 5 by (rule mt)&lt;br /&gt;
have &amp;quot;∃x. ¬(R x)&amp;quot; using 6 by (rule exI)}&lt;br /&gt;
moreover &lt;br /&gt;
{assume 7 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
have &amp;quot;∃x. ¬(R x)&amp;quot;  using 1 7 by (rule notE)}&lt;br /&gt;
ultimately show &amp;quot;∃x. ¬(R x)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 22. Demostrar&lt;br /&gt;
     {∀x. P x ⟶ Q x ∨ R x, ¬(∃x. P x ∧ R x)} ⊢ ∀x. P x ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
fix a &lt;br /&gt;
show &amp;quot;P a ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;P a&amp;quot;&lt;br /&gt;
have 2:&amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have 3:&amp;quot;Q a ∨ R a&amp;quot; using  2 1 by (rule mp)&lt;br /&gt;
show &amp;quot;Q a&amp;quot; using 3 &lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
next &lt;br /&gt;
assume 4:&amp;quot;R a&amp;quot;&lt;br /&gt;
have &amp;quot;P a ∧ R a&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
hence 5:&amp;quot;∃x. P x ∧ R x&amp;quot; by (rule exI)&lt;br /&gt;
have False using assms(2) 5 by (rule notE)&lt;br /&gt;
thus &amp;quot;Q a&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
 {assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 2 : &amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
 have 3 : &amp;quot;Q a ∨ R a&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
 moreover&lt;br /&gt;
 {assume 4 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using 4 by this}&lt;br /&gt;
 moreover&lt;br /&gt;
 {assume 5 : &amp;quot;R a&amp;quot;&lt;br /&gt;
 have 6 : &amp;quot;P a ∧ R a&amp;quot; using 1 5 by (rule conjI)&lt;br /&gt;
 have 7 : &amp;quot;∃x. P x ∧ R x&amp;quot; using 6 by (rule exI)&lt;br /&gt;
 have &amp;quot;Q a&amp;quot; using assms(2) 7 by (rule notE)}&lt;br /&gt;
 ultimately have &amp;quot;Q a&amp;quot; by (rule disjE)}&lt;br /&gt;
hence &amp;quot;P a ⟶ Q a&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 23. Demostrar&lt;br /&gt;
     ∃x y. R x y ∨ R y x ⊢ ∃x y. R x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. R a y ∨ R y a &amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where 1:&amp;quot;R a b ∨ R b a&amp;quot; by (rule exE)&lt;br /&gt;
show &amp;quot;∃x y. R x y&amp;quot; using 1&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;R a b&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R a y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;R b a&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R b y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∃y. R a y ∨ R y a&amp;quot; using assms by (rule exE)&lt;br /&gt;
obtain b where 2: &amp;quot;R a b ∨ R b a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;∃y. R a y&amp;quot; using 3 by (rule exI)&lt;br /&gt;
have 5 : &amp;quot;∃x y. R x y&amp;quot; using 4 by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 6 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
have 7 : &amp;quot;∃y. R b y&amp;quot; using 6 by (rule exI)&lt;br /&gt;
have 8 : &amp;quot;∃x y. R x y&amp;quot; using 7 by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x y. R x y&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 24. Demostrar&lt;br /&gt;
       (∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24a: &lt;br /&gt;
  &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;∀y. P a y&amp;quot; using 1 by (rule exE)&lt;br /&gt;
 {fix b&lt;br /&gt;
  have 3 : &amp;quot;P a b&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;∃x. P x b&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
hence 5 : &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 25. Demostrar&lt;br /&gt;
       (∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_25a: &lt;br /&gt;
  &amp;quot;(∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x ⟶ Q&amp;quot;&lt;br /&gt;
 {assume 2 : &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  obtain a where 3 : &amp;quot;P a&amp;quot; using 2 by (rule exE)&lt;br /&gt;
  have 4 : &amp;quot;P a ⟶ Q&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 5 : &amp;quot;Q&amp;quot; using 4 3 by (rule mp)}&lt;br /&gt;
thus &amp;quot;(∃x. P x) ⟶ Q&amp;quot;  by (rule impI)}&lt;br /&gt;
next&lt;br /&gt;
{assume 6 : &amp;quot;(∃x. P x) ⟶ Q&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  {assume 7 : &amp;quot;P a&amp;quot;&lt;br /&gt;
   have 8 : &amp;quot;∃x. P x&amp;quot; using 7 by (rule exI)&lt;br /&gt;
   have 9 : &amp;quot;Q&amp;quot; using 6 8 by (rule mp)}&lt;br /&gt;
 hence &amp;quot;P a ⟶ Q&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q&amp;quot; by (rule allI)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 26. Demostrar&lt;br /&gt;
       ((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_26a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
{assume 1 : &amp;quot;(∀x. P x) ∧ (∀x. Q x)&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 2 : &amp;quot;∀x. P x&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
  have 3 : &amp;quot;P a&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;∀x. Q x&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
  have 5 : &amp;quot;Q a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
  have &amp;quot;P a ∧ Q a&amp;quot; using 3 5 by (rule conjI)}&lt;br /&gt;
thus &amp;quot;∀x. P x ∧ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
next&lt;br /&gt;
{assume 6 : &amp;quot;∀x. P x ∧ Q x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
 have 7 : &amp;quot;P a ∧ Q a&amp;quot; using 6 by (rule allE)&lt;br /&gt;
 have 8 : &amp;quot;P a&amp;quot; using 7 by (rule conjunct1)}&lt;br /&gt;
hence 9 : &amp;quot;∀x. P x&amp;quot; by (rule allI)&lt;br /&gt;
 {fix a&lt;br /&gt;
 have 10 : &amp;quot;P a ∧ Q a&amp;quot; using 6 by (rule allE)&lt;br /&gt;
 have 11 : &amp;quot; Q a&amp;quot; using 10 by (rule conjunct2)}&lt;br /&gt;
hence 12: &amp;quot;∀x. Q x&amp;quot; by (rule allI)&lt;br /&gt;
show &amp;quot;(∀x. P x) ∧ (∀x. Q x)&amp;quot; using 9 12 by (rule conjI)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 27. Demostrar o refutar&lt;br /&gt;
       ((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_27a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 28. Demostrar o refutar&lt;br /&gt;
       ((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_28a: &lt;br /&gt;
  &amp;quot;((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
proof(rule iffI)&lt;br /&gt;
{assume 1 : &amp;quot;(∃x. P x) ∨ (∃x. Q x)&amp;quot;&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 2 : &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  obtain a where 3 : &amp;quot;P a&amp;quot; using 2 by (rule exE)&lt;br /&gt;
  have 4 : &amp;quot;P a ∨ Q a&amp;quot; using 3 by (rule disjI1)&lt;br /&gt;
  have 5 : &amp;quot;∃x. P x ∨  Q x&amp;quot; using 4 by (rule exI)}&lt;br /&gt;
moreover &lt;br /&gt;
 {assume 6 : &amp;quot;∃x. Q x&amp;quot;&lt;br /&gt;
  obtain a where 7 : &amp;quot;Q a&amp;quot; using 6 by (rule exE)&lt;br /&gt;
  have 8 : &amp;quot;P a ∨ Q a&amp;quot; using 7 by (rule disjI2)&lt;br /&gt;
  have 9 : &amp;quot;∃x. P x ∨  Q x&amp;quot; using 8 by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x. P x ∨  Q x&amp;quot; by (rule disjE)}&lt;br /&gt;
next&lt;br /&gt;
{assume 10 : &amp;quot;∃x. P x ∨ Q x&amp;quot;&lt;br /&gt;
obtain a where 11 : &amp;quot;P a ∨ Q a&amp;quot; using 10 by (rule exE)&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 12 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 13 : &amp;quot;∃x. P x&amp;quot; using 12 by (rule exI)&lt;br /&gt;
  have &amp;quot;(∃x. P x) ∨ (∃x. Q x)&amp;quot; using 13 by (rule disjI1)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 14 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
  have 15 : &amp;quot;∃x. Q x&amp;quot; using 14 by (rule exI)&lt;br /&gt;
  have &amp;quot;(∃x. P x) ∨ (∃x. Q x)&amp;quot; using 15 by (rule disjI2)}&lt;br /&gt;
ultimately show &amp;quot;(∃x. P x) ∨ (∃x. Q x)&amp;quot; by (rule disjE)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 29. Demostrar o refutar&lt;br /&gt;
       (∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29: &lt;br /&gt;
&lt;br /&gt;
  &amp;quot;(∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 30. Demostrar o refutar&lt;br /&gt;
       (¬(∀x. P x)) ⟷ (∃x. ¬P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_30a: &lt;br /&gt;
  &amp;quot;(¬(∀x. P x)) ⟷ (∃x. ¬P x)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
   assume 1: &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   show  &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   proof (rule ccontr)&lt;br /&gt;
   assume 2: &amp;quot;¬(∃x. ¬P x)&amp;quot;&lt;br /&gt;
   show &amp;quot;False&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   { fix a&lt;br /&gt;
     { assume 3: &amp;quot;¬P a&amp;quot;&lt;br /&gt;
       have 4: &amp;quot;∃x.¬ P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
       have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
    hence 6: &amp;quot;P a&amp;quot; by (rule ccontr)}&lt;br /&gt;
   hence 7: &amp;quot;∀x. P x&amp;quot; by (rule allI)&lt;br /&gt;
   show 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
next&lt;br /&gt;
   assume 9: &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   show &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   {assume 10: &amp;quot;¬¬(∀x. P x)&amp;quot;&lt;br /&gt;
    have 11: &amp;quot;∀x. P x&amp;quot; using 10 by (rule notnotD)&lt;br /&gt;
    obtain a where 12: &amp;quot;¬P a&amp;quot; using 9 by (rule exE)&lt;br /&gt;
    have 13: &amp;quot;P a&amp;quot; using 11 by (rule allE)&lt;br /&gt;
    have 14: &amp;quot;False&amp;quot; using 12 13 by (rule notE)}&lt;br /&gt;
   thus 15: &amp;quot;¬(∀x. P x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_30a: &lt;br /&gt;
  &amp;quot;(¬(∀x. P x)) ⟷ (∃x. ¬P x)&amp;quot;&lt;br /&gt;
proof(rule iffI)&lt;br /&gt;
{assume 1 : &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
 {assume 2 : &amp;quot;¬(∃x. ¬P x)&amp;quot;&lt;br /&gt;
  {fix a&lt;br /&gt;
   {assume 3 : &amp;quot;¬ P a&amp;quot;&lt;br /&gt;
    have 4 :&amp;quot;∃x. ¬P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
    have 5 : &amp;quot;False&amp;quot; using 2  4 by (rule notE)}&lt;br /&gt;
  hence &amp;quot;P a&amp;quot; by (rule ccontr)}&lt;br /&gt;
 hence 6 : &amp;quot;∀x. P x&amp;quot; by (rule allI)&lt;br /&gt;
 have &amp;quot;False&amp;quot; using 1  6 by (rule notE)}&lt;br /&gt;
thus &amp;quot;∃x. ¬P x&amp;quot; by (rule ccontr)}&lt;br /&gt;
next&lt;br /&gt;
{assume 7 : &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
 {assume 8 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  obtain a where 9 : &amp;quot;¬P a&amp;quot; using 7 by (rule exE)&lt;br /&gt;
  have 10 : &amp;quot;P a&amp;quot; using 8 by (rule allE)&lt;br /&gt;
  have &amp;quot;False&amp;quot; using 9 10 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. P x)&amp;quot; by (rule notI)}&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
section {* Ejercicios sobre igualdad *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 31. Demostrar o refutar&lt;br /&gt;
       P a ⟹ ∀x. x = a ⟶ P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31a:&lt;br /&gt;
  assumes &amp;quot;P a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. x = a ⟶ P x&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix b&lt;br /&gt;
  show &amp;quot;b = a ⟶ P b&amp;quot;&lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
  assume 1: &amp;quot;b = a&amp;quot;&lt;br /&gt;
  show &amp;quot;P b&amp;quot;&lt;br /&gt;
  proof -&lt;br /&gt;
  have 2: &amp;quot;a = b&amp;quot; using 1 by (rule sym)&lt;br /&gt;
  show 3: &amp;quot;P b&amp;quot; using 2 assms(1) by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31a:&lt;br /&gt;
  assumes &amp;quot;P a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. x = a ⟶ P x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;b = a&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;P b&amp;quot; using 1 assms by (rule ssubst)}&lt;br /&gt;
hence &amp;quot;b = a ⟶ P b&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. x = a ⟶ P x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 32. Demostrar o refutar&lt;br /&gt;
       ∃x y. R x y ∨ R y x; ¬(∃x. R x x)⟧ ⟹ ∃x y. x ≠ y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_32a:&lt;br /&gt;
  fixes R :: &amp;quot;&amp;#039;c ⇒ &amp;#039;c ⇒ bool&amp;quot;&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
          &amp;quot;¬(∃x. R x x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃(x::&amp;#039;c) y. x ≠ y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∃y. R a y ∨ R y a&amp;quot; using assms(1) by (rule exE)&lt;br /&gt;
obtain b where 2 : &amp;quot;R a b ∨ R b a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
{assume 3 : &amp;quot;a = b&amp;quot;&lt;br /&gt;
have &amp;quot;R a b ∨ R b a&amp;quot;  using 2 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 4 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
  have 5 : &amp;quot;R b b&amp;quot; using 3 4 by (rule subst)&lt;br /&gt;
  have 6 : &amp;quot;∃x. R x x&amp;quot; using 5 by (rule exI)&lt;br /&gt;
  have &amp;quot;False&amp;quot; using assms(2) 6 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 7 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
  have 8 : &amp;quot;R b b&amp;quot; using 3 7 by (rule subst)&lt;br /&gt;
  have 9 : &amp;quot;∃x. R x x&amp;quot; using  8 by (rule exI)&lt;br /&gt;
  have &amp;quot;False&amp;quot; using assms(2) 9 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
hence 10 : &amp;quot;¬(a = b)&amp;quot; by (rule notI)&lt;br /&gt;
have 11 : &amp;quot;∃y. ¬(a = y)&amp;quot; using 10 by (rule exI)&lt;br /&gt;
show &amp;quot;∃(x::&amp;#039;c) y. x ≠ y&amp;quot; using 11 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 33. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)} &lt;br /&gt;
     ⊢ P (f a) a (f a)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_33a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot;&lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P (f a) a (f a)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;P a a a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;∀z. P a a z ⟶ P (f a) a (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;P a a a ⟶ P (f a) a (f a)&amp;quot; using 3 by (rule allE)&lt;br /&gt;
    show 5: &amp;quot;P (f a) a (f a)&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 34. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)⟧&lt;br /&gt;
     ⊢ ∃z. P (f a) z (f (f a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_34a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃z. P (f a) z (f (f a))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof - &lt;br /&gt;
   have 1: &amp;quot;P a (f a) (f a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
   have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
   have 3: &amp;quot;∀z. P a (f a) z ⟶ P (f a) (f a) (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
   have 4: &amp;quot;P a (f a) (f a) ⟶ P (f a) (f a) (f (f a))&amp;quot; using 3 by (rule allE)&lt;br /&gt;
   have 5: &amp;quot;P (f a) (f a) (f (f a))&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
   show 6: &amp;quot;∃z. P (f a) z (f (f a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 35. Demostrar o refutar&lt;br /&gt;
     {∀y. Q a y, &lt;br /&gt;
      ∀x y. Q x y ⟶ Q (s x) (s y)} &lt;br /&gt;
     ⊢ ∃z. Qa z ∧ Q z (s (s a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_35a:&lt;br /&gt;
  assumes &amp;quot;∀y. Q a y&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y. Q x y ⟶ Q (s x) (s y)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;Q a (s a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y. Q a y ⟶ Q (s a) (s y)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;Q a (s a) ⟶ Q (s a) (s (s a))&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;Q (s a) (s (s a))&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
    have 5: &amp;quot;Q a (s a) ∧ Q (s a) (s (s a))&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
    show 6: &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 36. Demostrar o refutar&lt;br /&gt;
     {x = f x, odd (f x)} ⊢ odd x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_36a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;odd (f x)&amp;quot;&lt;br /&gt;
  shows &amp;quot;odd x&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;odd x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 37. Demostrar o refutar&lt;br /&gt;
     {x = f x, triple (f x) (f x) x} ⊢ triple x x x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_37a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;triple (f x) (f x) x&amp;quot;&lt;br /&gt;
  shows &amp;quot;triple x x x&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
   show &amp;quot;triple x x x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=191</id>
		<title>Relación 4</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=191"/>
		<updated>2016-04-23T16:48:56Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;Isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R4: Deducción natural de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R4&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Demostrar o refutar los siguientes lemas usando sólo las reglas&lt;br /&gt;
  básicas de deducción natural de la lógica proposicional, de los&lt;br /&gt;
  cuantificadores y de la igualdad: &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;
  · mp:         ⟦P ⟶ Q; P⟧ ⟹ Q &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_middel:(¬P ∨ P) &lt;br /&gt;
&lt;br /&gt;
  · allI:       ⟦∀x. P x; P x ⟹ R⟧ ⟹ R&lt;br /&gt;
  · allE:       (⋀x. P x) ⟹ ∀x. P x&lt;br /&gt;
  · exI:        P x ⟹ ∃x. P x&lt;br /&gt;
  · exE:        ⟦∃x. P x; ⋀x. P x ⟹ Q⟧ ⟹ Q&lt;br /&gt;
&lt;br /&gt;
  · refl:       t = t&lt;br /&gt;
  · subst:      ⟦s = t; P s⟧ ⟹ P t&lt;br /&gt;
  · trans:      ⟦r = s; s = t⟧ ⟹ r = t&lt;br /&gt;
  · sym:        s = t ⟹ t = s&lt;br /&gt;
  · not_sym:    t ≠ s ⟹ s ≠ t&lt;br /&gt;
  · ssubst:     ⟦t = s; P s⟧ ⟹ P t&lt;br /&gt;
  · box_equals: ⟦a = b; a = c; b = d⟧ ⟹ a: = d&lt;br /&gt;
  · arg_cong:   x = y ⟹ f x = f y&lt;br /&gt;
  · fun_cong:   f = g ⟹ f x = g x&lt;br /&gt;
  · cong:       ⟦f = g; x = y⟧ ⟹ f x = g y&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;
&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;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 1. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. P x) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
   assume 1: &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
    show &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
     proof (rule allI)&lt;br /&gt;
     {fix a &lt;br /&gt;
      have 2: &amp;quot;P(a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
      have 3: &amp;quot;P(a)⟶Q(a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
      show &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
      qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
hence 5 : &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Demostrar&lt;br /&gt;
       ∃x. ¬(P x) ⊢ ¬(∀x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `∀x. P x` by (rule allE)&lt;br /&gt;
  show &amp;quot;False&amp;quot; using `¬ (P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 obtain a where 2 : &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
 have 3 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
 have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Demostrar&lt;br /&gt;
       ∀x. P x ⊢ ∀y. P y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
{ fix a&lt;br /&gt;
  show &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
have 1 : &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
thus &amp;quot;∀y. P y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
  { fix a&lt;br /&gt;
    have &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
    have &amp;quot;¬ (Q a)&amp;quot; using `∀x. ¬(Q x)` by (rule allE)&lt;br /&gt;
    have &amp;quot;¬(P a)&amp;quot; using `P a ⟶ Q a` `¬ (Q a)` by (rule mt)}&lt;br /&gt;
thus &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;¬(Q a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;¬(P a)&amp;quot; using 2 3 by (rule mt)}&lt;br /&gt;
hence &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Demostrar&lt;br /&gt;
       ∀x. P x  ⟶ ¬(Q x) ⊢ ¬(∃x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∃x. P x ∧ Q x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;P a ∧ Q a&amp;quot; using `∃x. P x ∧ Q x` by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;P a  ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have &amp;quot;¬(Q a)&amp;quot; using `P a  ⟶ ¬(Q a)` `P a` by (rule mp)&lt;br /&gt;
show &amp;quot;False&amp;quot; using `¬(Q a)` `Q a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a ∧ Q a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;P a ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;P a&amp;quot; using 2 by (rule conjunct1)&lt;br /&gt;
have 5 : &amp;quot;Q a&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
have 6 : &amp;quot;¬(Q a)&amp;quot; using 3 4 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Demostrar&lt;br /&gt;
       ∀x y. P x y ⊢ ∀u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix a b &lt;br /&gt;
have  &amp;quot;∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot; P a b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a &lt;br /&gt;
 {fix b&lt;br /&gt;
  have 1 : &amp;quot; ∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)}&lt;br /&gt;
hence &amp;quot;∀v. P a v&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;∀u v. P u v&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Demostrar&lt;br /&gt;
       ∃x y. P x y ⟹ ∃u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_7: &lt;br /&gt;
  assumes &amp;quot;∃x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃u v. P u v&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where &amp;quot;P a b&amp;quot; by (rule exE)&lt;br /&gt;
hence &amp;quot;∃v. P a v&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃u v. P u v&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Demostrar&lt;br /&gt;
       ∃x. ∀y. P x y ⊢ ∀y. ∃x. P x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
obtain a where &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
fix b &lt;br /&gt;
have &amp;quot;P a b&amp;quot; using `∀y. P a y` by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x b&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
 {fix b &lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;∃x. P x b&amp;quot; using 2 by (rule exI)}&lt;br /&gt;
thus &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Demostrar&lt;br /&gt;
       ∃x. P a ⟶ Q x ⊢ P a ⟶ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;Q b&amp;quot; using `P a ⟶ Q b` `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where 2 : &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;Q b&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;∃x. Q x&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
thus &amp;quot;P a ⟶ (∃x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Demostrar&lt;br /&gt;
       P a ⟶ (∃x. Q x) ⊢ ∃x. P a ⟶ Q x &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_10a: &lt;br /&gt;
  fixes P Q :: &amp;quot;&amp;#039;b ⇒ bool&amp;quot; &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬(P a) ∨ P a&amp;quot; by (rule excluded_middle)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 2 : &amp;quot;¬(P a)&amp;quot;&lt;br /&gt;
 {assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 4 : &amp;quot;Q b&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
hence 5 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 5  by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 7 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 8 : &amp;quot;∃x. Q x&amp;quot; using assms 7 by (rule mp)&lt;br /&gt;
obtain b where 9 : &amp;quot;Q b&amp;quot; using 8 by (rule exE)&lt;br /&gt;
 {assume 10 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 11 : &amp;quot;Q b&amp;quot; using 9 by this}&lt;br /&gt;
hence 12 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 13 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 12  by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x. P a ⟶ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 11. Demostrar&lt;br /&gt;
       (∃x. P x) ⟶ Q a ⊢ ∀x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
     fix b&lt;br /&gt;
     show &amp;quot;P b ⟶ Q a&amp;quot;  &lt;br /&gt;
        proof&lt;br /&gt;
        assume &amp;quot;P b&amp;quot;&lt;br /&gt;
        hence &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
        show &amp;quot;Q a&amp;quot; using assms `∃x. P x` by (rule mp)&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P b&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∃x. P x&amp;quot; using 1 by (rule exI)&lt;br /&gt;
  have 3 : &amp;quot;Q a&amp;quot; using assms 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule impI) }&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q a&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 12. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q a ⊢ ∃ x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
fix b&lt;br /&gt;
have &amp;quot;P b ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x ⟶ Q a&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 13. Demostrar&lt;br /&gt;
       (∀x. P x) ∨ (∀x. Q x) ⊢ ∀x. P x ∨ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix a&lt;br /&gt;
show &amp;quot;P a ∨ Q a&amp;quot; using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI1)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
hence &amp;quot;Q a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI2)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot; using assms by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 2 :&amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ∨ Q a&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
hence &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 4 : &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 5 :&amp;quot;Q a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
  have 6 : &amp;quot;P a ∨ Q a&amp;quot; using 5 by (rule disjI2)}&lt;br /&gt;
hence &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
ultimately show &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 14. Demostrar&lt;br /&gt;
       ∃x. P x ∧ Q x ⊢ (∃x. P x) ∧ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
obtain a where &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule conjunct1)&lt;br /&gt;
thus &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using  `P a ∧ Q a` by (rule conjunct2)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;P a&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;∃x. P x&amp;quot; using 2 by (rule exI)&lt;br /&gt;
have 4 : &amp;quot;Q a&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 5 : &amp;quot;∃x. Q x&amp;quot; using 4 by (rule exI)&lt;br /&gt;
show  &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot; using 3 5 by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 15. Demostrar&lt;br /&gt;
       ∀x y. P y ⟶ Q x ⊢ (∃y. P y) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
then obtain b where &amp;quot;P b&amp;quot; by (rule exE)&lt;br /&gt;
{fix a &lt;br /&gt;
have &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule allE)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using `P b ⟶ Q a` `P b` by (rule mp)}&lt;br /&gt;
thus &amp;quot;∀x. Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  obtain b where 2 : &amp;quot;P b&amp;quot; using 1 by (rule exE)&lt;br /&gt;
  have 3 : &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;P b ⟶ Q a&amp;quot; using 3 by (rule allE)&lt;br /&gt;
  have 5 : &amp;quot;Q a&amp;quot; using 4 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 16. Demostrar&lt;br /&gt;
       ¬(∀x. ¬(P x)) ⊢ ∃x. P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16a: &lt;br /&gt;
  assumes &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
fix x0&lt;br /&gt;
{assume 2: &amp;quot;¬(∃x. P x)&amp;quot; &lt;br /&gt;
 {fix x1&lt;br /&gt;
  {assume 3: &amp;quot;P x1&amp;quot;&lt;br /&gt;
   have 4: &amp;quot;∃x. P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
   have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
 then have 6: &amp;quot;¬ P x1&amp;quot; by (rule notI)}&lt;br /&gt;
then have 7: &amp;quot;∀x. ¬ P x&amp;quot; by (rule allI)&lt;br /&gt;
have 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)}&lt;br /&gt;
then show &amp;quot;∃x. P x&amp;quot; by (rule ccontr)&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 17. Demostrar&lt;br /&gt;
       ∀x. ¬(P x) ⊢ ¬(∃x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
then obtain a where &amp;quot;P a&amp;quot; by (rule exE)&lt;br /&gt;
have &amp;quot; ¬ (P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;¬(P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 18. Demostrar&lt;br /&gt;
       ∃x. P x ⊢ ¬(∀x. ¬(P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;¬(P a)&amp;quot; using `∀x. ¬(P x)`  by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a`by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;¬(P a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. ¬(P x))&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 19. Demostrar&lt;br /&gt;
       P a ⟶ (∀x. Q x) ⊢ ∀x. P a ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix b&lt;br /&gt;
show &amp;quot;P a ⟶ Q b&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;P a&amp;quot; &lt;br /&gt;
have &amp;quot;∀x. Q x&amp;quot; using assms `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;Q b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∀x. Q x&amp;quot; using assms 1 by (rule mp)&lt;br /&gt;
  have 3 : &amp;quot;Q b&amp;quot; using 2 by (rule allE)}&lt;br /&gt;
hence 4 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P a ⟶ Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 20. Demostrar&lt;br /&gt;
       {∀x y z. R x y ∧ R y z ⟶ R x z, &lt;br /&gt;
        ∀x. ¬(R x x)}&lt;br /&gt;
       ⊢ ∀x y. R x y ⟶ ¬(R y x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20a: &lt;br /&gt;
  assumes &amp;quot;∀x y z. R x y ∧ R y z ⟶ R x z&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. ¬(R x x)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix  a b &lt;br /&gt;
show &amp;quot;R a b ⟶ ¬(R b a )&amp;quot; &lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;R a b&amp;quot;&lt;br /&gt;
show&amp;quot;¬(R b a)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume 2:&amp;quot;R b a&amp;quot; &lt;br /&gt;
have 3:&amp;quot;R a b ∧ R b a&amp;quot; using 1 2..&lt;br /&gt;
have  &amp;quot;∀y z. R a y ∧ R y z ⟶ R a z&amp;quot; using assms(1)..&lt;br /&gt;
hence  &amp;quot;∀z. R a b ∧ R b z ⟶ R a z&amp;quot;..&lt;br /&gt;
hence 4:&amp;quot;R a b ∧ R b a ⟶ R a a&amp;quot;..&lt;br /&gt;
have 5:&amp;quot;R a a&amp;quot; using 4 3..&lt;br /&gt;
have 6:&amp;quot; ¬(R a a)&amp;quot; using assms(2)..&lt;br /&gt;
show False using 6 5..&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20a: &lt;br /&gt;
  assumes &amp;quot;∀x y z. R x y ∧ R y z ⟶ R x z&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. ¬(R x x)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
 {fix b&lt;br /&gt;
  {assume 1 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
   {assume 2 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
    have 3 : &amp;quot;∀y z. R a y ∧ R y z ⟶ R a z&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 4 : &amp;quot;∀z. R a b ∧ R b z ⟶ R a z&amp;quot; using 3 by (rule allE)&lt;br /&gt;
    have 5 : &amp;quot;R a b ∧ R b a ⟶ R a a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
    have 6 : &amp;quot; R a b ∧ R b a&amp;quot; using 1 2 by (rule conjI)&lt;br /&gt;
    have 7 : &amp;quot;R a a&amp;quot; using 5 6 by (rule mp)&lt;br /&gt;
    have 8 : &amp;quot;¬(R a a)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have &amp;quot;False&amp;quot; using 8 7 by (rule notE)}&lt;br /&gt;
   hence &amp;quot;¬(R b a)&amp;quot; by (rule notI)}&lt;br /&gt;
  hence &amp;quot;R a b ⟶ ¬(R b a)&amp;quot; by (rule impI)}&lt;br /&gt;
hence  &amp;quot;∀y. R a y ⟶ ¬(R y a)&amp;quot; by (rule allI)}&lt;br /&gt;
thus  &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 21. Demostrar&lt;br /&gt;
     {∀x. P x ∨ Q x, ∃x. ¬(Q x), ∀x. R x ⟶ ¬(P x)} ⊢ ∃x. ¬(R x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot; &lt;br /&gt;
proof-&lt;br /&gt;
obtain a where &amp;quot;¬(Q a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
show &amp;quot;∃x. ¬(R x)&amp;quot; using `P a ∨ Q a`&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
hence 1:&amp;quot;¬¬(P a)&amp;quot; by (rule notnotI)&lt;br /&gt;
have 2:&amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have &amp;quot;¬(R a)&amp;quot; using 2 1 by (rule mt)&lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
have False using `¬(Q a)` `Q a` by (rule notE) &lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;¬Q(a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have  &amp;quot;P a ∨ Q a&amp;quot; using 2 by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have 5 : &amp;quot;¬¬(P a)&amp;quot; using 3 by (rule notnotI)&lt;br /&gt;
have 6 : &amp;quot;¬(R a)&amp;quot; using 4 5 by (rule mt)&lt;br /&gt;
have &amp;quot;∃x. ¬(R x)&amp;quot; using 6 by (rule exI)}&lt;br /&gt;
moreover &lt;br /&gt;
{assume 7 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
have &amp;quot;∃x. ¬(R x)&amp;quot;  using 1 7 by (rule notE)}&lt;br /&gt;
ultimately show &amp;quot;∃x. ¬(R x)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 22. Demostrar&lt;br /&gt;
     {∀x. P x ⟶ Q x ∨ R x, ¬(∃x. P x ∧ R x)} ⊢ ∀x. P x ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
fix a &lt;br /&gt;
show &amp;quot;P a ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;P a&amp;quot;&lt;br /&gt;
have 2:&amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have 3:&amp;quot;Q a ∨ R a&amp;quot; using  2 1 by (rule mp)&lt;br /&gt;
show &amp;quot;Q a&amp;quot; using 3 &lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
next &lt;br /&gt;
assume 4:&amp;quot;R a&amp;quot;&lt;br /&gt;
have &amp;quot;P a ∧ R a&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
hence 5:&amp;quot;∃x. P x ∧ R x&amp;quot; by (rule exI)&lt;br /&gt;
have False using assms(2) 5 by (rule notE)&lt;br /&gt;
thus &amp;quot;Q a&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
 {assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 2 : &amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
 have 3 : &amp;quot;Q a ∨ R a&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
 moreover&lt;br /&gt;
 {assume 4 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using 4 by this}&lt;br /&gt;
 moreover&lt;br /&gt;
 {assume 5 : &amp;quot;R a&amp;quot;&lt;br /&gt;
 have 6 : &amp;quot;P a ∧ R a&amp;quot; using 1 5 by (rule conjI)&lt;br /&gt;
 have 7 : &amp;quot;∃x. P x ∧ R x&amp;quot; using 6 by (rule exI)&lt;br /&gt;
 have &amp;quot;Q a&amp;quot; using assms(2) 7 by (rule notE)}&lt;br /&gt;
 ultimately have &amp;quot;Q a&amp;quot; by (rule disjE)}&lt;br /&gt;
hence &amp;quot;P a ⟶ Q a&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 23. Demostrar&lt;br /&gt;
     ∃x y. R x y ∨ R y x ⊢ ∃x y. R x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. R a y ∨ R y a &amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where 1:&amp;quot;R a b ∨ R b a&amp;quot; by (rule exE)&lt;br /&gt;
show &amp;quot;∃x y. R x y&amp;quot; using 1&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;R a b&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R a y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;R b a&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R b y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∃y. R a y ∨ R y a&amp;quot; using assms by (rule exE)&lt;br /&gt;
obtain b where 2: &amp;quot;R a b ∨ R b a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;∃y. R a y&amp;quot; using 3 by (rule exI)&lt;br /&gt;
have 5 : &amp;quot;∃x y. R x y&amp;quot; using 4 by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 6 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
have 7 : &amp;quot;∃y. R b y&amp;quot; using 6 by (rule exI)&lt;br /&gt;
have 8 : &amp;quot;∃x y. R x y&amp;quot; using 7 by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x y. R x y&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 24. Demostrar&lt;br /&gt;
       (∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24a: &lt;br /&gt;
  &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;∀y. P a y&amp;quot; using 1 by (rule exE)&lt;br /&gt;
 {fix b&lt;br /&gt;
  have 3 : &amp;quot;P a b&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;∃x. P x b&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
hence 5 : &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 25. Demostrar&lt;br /&gt;
       (∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_25a: &lt;br /&gt;
  &amp;quot;(∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x ⟶ Q&amp;quot;&lt;br /&gt;
 {assume 2 : &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  obtain a where 3 : &amp;quot;P a&amp;quot; using 2 by (rule exE)&lt;br /&gt;
  have 4 : &amp;quot;P a ⟶ Q&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 5 : &amp;quot;Q&amp;quot; using 4 3 by (rule mp)}&lt;br /&gt;
thus &amp;quot;(∃x. P x) ⟶ Q&amp;quot;  by (rule impI)}&lt;br /&gt;
next&lt;br /&gt;
{assume 6 : &amp;quot;(∃x. P x) ⟶ Q&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  {assume 7 : &amp;quot;P a&amp;quot;&lt;br /&gt;
   have 8 : &amp;quot;∃x. P x&amp;quot; using 7 by (rule exI)&lt;br /&gt;
   have 9 : &amp;quot;Q&amp;quot; using 6 8 by (rule mp)}&lt;br /&gt;
 hence &amp;quot;P a ⟶ Q&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q&amp;quot; by (rule allI)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 26. Demostrar&lt;br /&gt;
       ((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_26a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
{assume 1 : &amp;quot;(∀x. P x) ∧ (∀x. Q x)&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 2 : &amp;quot;∀x. P x&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
  have 3 : &amp;quot;P a&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;∀x. Q x&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
  have 5 : &amp;quot;Q a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
  have &amp;quot;P a ∧ Q a&amp;quot; using 3 5 by (rule conjI)}&lt;br /&gt;
thus &amp;quot;∀x. P x ∧ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
next&lt;br /&gt;
{assume 6 : &amp;quot;∀x. P x ∧ Q x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
 have 7 : &amp;quot;P a ∧ Q a&amp;quot; using 6 by (rule allE)&lt;br /&gt;
 have 8 : &amp;quot;P a&amp;quot; using 7 by (rule conjunct1)}&lt;br /&gt;
hence 9 : &amp;quot;∀x. P x&amp;quot; by (rule allI)&lt;br /&gt;
 {fix a&lt;br /&gt;
 have 10 : &amp;quot;P a ∧ Q a&amp;quot; using 6 by (rule allE)&lt;br /&gt;
 have 11 : &amp;quot; Q a&amp;quot; using 10 by (rule conjunct2)}&lt;br /&gt;
hence 12: &amp;quot;∀x. Q x&amp;quot; by (rule allI)&lt;br /&gt;
show &amp;quot;(∀x. P x) ∧ (∀x. Q x)&amp;quot; using 9 12 by (rule conjI)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 27. Demostrar o refutar&lt;br /&gt;
       ((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_27a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 28. Demostrar o refutar&lt;br /&gt;
       ((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_28a: &lt;br /&gt;
  &amp;quot;((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 29. Demostrar o refutar&lt;br /&gt;
       (∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29: &lt;br /&gt;
&lt;br /&gt;
  &amp;quot;(∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 30. Demostrar o refutar&lt;br /&gt;
       (¬(∀x. P x)) ⟷ (∃x. ¬P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_30a: &lt;br /&gt;
  &amp;quot;(¬(∀x. P x)) ⟷ (∃x. ¬P x)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
   assume 1: &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   show  &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   proof (rule ccontr)&lt;br /&gt;
   assume 2: &amp;quot;¬(∃x. ¬P x)&amp;quot;&lt;br /&gt;
   show &amp;quot;False&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   { fix a&lt;br /&gt;
     { assume 3: &amp;quot;¬P a&amp;quot;&lt;br /&gt;
       have 4: &amp;quot;∃x.¬ P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
       have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
    hence 6: &amp;quot;P a&amp;quot; by (rule ccontr)}&lt;br /&gt;
   hence 7: &amp;quot;∀x. P x&amp;quot; by (rule allI)&lt;br /&gt;
   show 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
next&lt;br /&gt;
   assume 9: &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   show &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   {assume 10: &amp;quot;¬¬(∀x. P x)&amp;quot;&lt;br /&gt;
    have 11: &amp;quot;∀x. P x&amp;quot; using 10 by (rule notnotD)&lt;br /&gt;
    obtain a where 12: &amp;quot;¬P a&amp;quot; using 9 by (rule exE)&lt;br /&gt;
    have 13: &amp;quot;P a&amp;quot; using 11 by (rule allE)&lt;br /&gt;
    have 14: &amp;quot;False&amp;quot; using 12 13 by (rule notE)}&lt;br /&gt;
   thus 15: &amp;quot;¬(∀x. P x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
section {* Ejercicios sobre igualdad *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 31. Demostrar o refutar&lt;br /&gt;
       P a ⟹ ∀x. x = a ⟶ P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31a:&lt;br /&gt;
  assumes &amp;quot;P a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. x = a ⟶ P x&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix b&lt;br /&gt;
  show &amp;quot;b = a ⟶ P b&amp;quot;&lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
  assume 1: &amp;quot;b = a&amp;quot;&lt;br /&gt;
  show &amp;quot;P b&amp;quot;&lt;br /&gt;
  proof -&lt;br /&gt;
  have 2: &amp;quot;a = b&amp;quot; using 1 by (rule sym)&lt;br /&gt;
  show 3: &amp;quot;P b&amp;quot; using 2 assms(1) by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31a:&lt;br /&gt;
  assumes &amp;quot;P a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. x = a ⟶ P x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;b = a&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;P b&amp;quot; using 1 assms by (rule ssubst)}&lt;br /&gt;
hence &amp;quot;b = a ⟶ P b&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. x = a ⟶ P x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 32. Demostrar o refutar&lt;br /&gt;
       ∃x y. R x y ∨ R y x; ¬(∃x. R x x)⟧ ⟹ ∃x y. x ≠ y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_32a:&lt;br /&gt;
  fixes R :: &amp;quot;&amp;#039;c ⇒ &amp;#039;c ⇒ bool&amp;quot;&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
          &amp;quot;¬(∃x. R x x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃(x::&amp;#039;c) y. x ≠ y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∃y. R a y ∨ R y a&amp;quot; using assms(1) by (rule exE)&lt;br /&gt;
obtain b where 2 : &amp;quot;R a b ∨ R b a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
{assume 3 : &amp;quot;a = b&amp;quot;&lt;br /&gt;
have &amp;quot;R a b ∨ R b a&amp;quot;  using 2 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 4 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
  have 5 : &amp;quot;R b b&amp;quot; using 3 4 by (rule subst)&lt;br /&gt;
  have 6 : &amp;quot;∃x. R x x&amp;quot; using 5 by (rule exI)&lt;br /&gt;
  have &amp;quot;False&amp;quot; using assms(2) 6 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 7 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
  have 8 : &amp;quot;R b b&amp;quot; using 3 7 by (rule subst)&lt;br /&gt;
  have 9 : &amp;quot;∃x. R x x&amp;quot; using  8 by (rule exI)&lt;br /&gt;
  have &amp;quot;False&amp;quot; using assms(2) 9 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
hence 10 : &amp;quot;¬(a = b)&amp;quot; by (rule notI)&lt;br /&gt;
have 11 : &amp;quot;∃y. ¬(a = y)&amp;quot; using 10 by (rule exI)&lt;br /&gt;
show &amp;quot;∃(x::&amp;#039;c) y. x ≠ y&amp;quot; using 11 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 33. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)} &lt;br /&gt;
     ⊢ P (f a) a (f a)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_33a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot;&lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P (f a) a (f a)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;P a a a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;∀z. P a a z ⟶ P (f a) a (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;P a a a ⟶ P (f a) a (f a)&amp;quot; using 3 by (rule allE)&lt;br /&gt;
    show 5: &amp;quot;P (f a) a (f a)&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 34. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)⟧&lt;br /&gt;
     ⊢ ∃z. P (f a) z (f (f a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_34a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃z. P (f a) z (f (f a))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof - &lt;br /&gt;
   have 1: &amp;quot;P a (f a) (f a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
   have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
   have 3: &amp;quot;∀z. P a (f a) z ⟶ P (f a) (f a) (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
   have 4: &amp;quot;P a (f a) (f a) ⟶ P (f a) (f a) (f (f a))&amp;quot; using 3 by (rule allE)&lt;br /&gt;
   have 5: &amp;quot;P (f a) (f a) (f (f a))&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
   show 6: &amp;quot;∃z. P (f a) z (f (f a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 35. Demostrar o refutar&lt;br /&gt;
     {∀y. Q a y, &lt;br /&gt;
      ∀x y. Q x y ⟶ Q (s x) (s y)} &lt;br /&gt;
     ⊢ ∃z. Qa z ∧ Q z (s (s a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_35a:&lt;br /&gt;
  assumes &amp;quot;∀y. Q a y&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y. Q x y ⟶ Q (s x) (s y)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;Q a (s a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y. Q a y ⟶ Q (s a) (s y)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;Q a (s a) ⟶ Q (s a) (s (s a))&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;Q (s a) (s (s a))&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
    have 5: &amp;quot;Q a (s a) ∧ Q (s a) (s (s a))&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
    show 6: &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 36. Demostrar o refutar&lt;br /&gt;
     {x = f x, odd (f x)} ⊢ odd x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_36a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;odd (f x)&amp;quot;&lt;br /&gt;
  shows &amp;quot;odd x&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;odd x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 37. Demostrar o refutar&lt;br /&gt;
     {x = f x, triple (f x) (f x) x} ⊢ triple x x x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_37a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;triple (f x) (f x) x&amp;quot;&lt;br /&gt;
  shows &amp;quot;triple x x x&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
   show &amp;quot;triple x x x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=190</id>
		<title>Relación 4</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=190"/>
		<updated>2016-04-23T15:22:57Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;Isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R4: Deducción natural de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R4&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Demostrar o refutar los siguientes lemas usando sólo las reglas&lt;br /&gt;
  básicas de deducción natural de la lógica proposicional, de los&lt;br /&gt;
  cuantificadores y de la igualdad: &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;
  · mp:         ⟦P ⟶ Q; P⟧ ⟹ Q &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_middel:(¬P ∨ P) &lt;br /&gt;
&lt;br /&gt;
  · allI:       ⟦∀x. P x; P x ⟹ R⟧ ⟹ R&lt;br /&gt;
  · allE:       (⋀x. P x) ⟹ ∀x. P x&lt;br /&gt;
  · exI:        P x ⟹ ∃x. P x&lt;br /&gt;
  · exE:        ⟦∃x. P x; ⋀x. P x ⟹ Q⟧ ⟹ Q&lt;br /&gt;
&lt;br /&gt;
  · refl:       t = t&lt;br /&gt;
  · subst:      ⟦s = t; P s⟧ ⟹ P t&lt;br /&gt;
  · trans:      ⟦r = s; s = t⟧ ⟹ r = t&lt;br /&gt;
  · sym:        s = t ⟹ t = s&lt;br /&gt;
  · not_sym:    t ≠ s ⟹ s ≠ t&lt;br /&gt;
  · ssubst:     ⟦t = s; P s⟧ ⟹ P t&lt;br /&gt;
  · box_equals: ⟦a = b; a = c; b = d⟧ ⟹ a: = d&lt;br /&gt;
  · arg_cong:   x = y ⟹ f x = f y&lt;br /&gt;
  · fun_cong:   f = g ⟹ f x = g x&lt;br /&gt;
  · cong:       ⟦f = g; x = y⟧ ⟹ f x = g y&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;
&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;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 1. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. P x) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
   assume 1: &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
    show &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
     proof (rule allI)&lt;br /&gt;
     {fix a &lt;br /&gt;
      have 2: &amp;quot;P(a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
      have 3: &amp;quot;P(a)⟶Q(a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
      show &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
      qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
hence 5 : &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Demostrar&lt;br /&gt;
       ∃x. ¬(P x) ⊢ ¬(∀x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `∀x. P x` by (rule allE)&lt;br /&gt;
  show &amp;quot;False&amp;quot; using `¬ (P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 obtain a where 2 : &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
 have 3 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
 have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Demostrar&lt;br /&gt;
       ∀x. P x ⊢ ∀y. P y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
{ fix a&lt;br /&gt;
  show &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
have 1 : &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
thus &amp;quot;∀y. P y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
  { fix a&lt;br /&gt;
    have &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
    have &amp;quot;¬ (Q a)&amp;quot; using `∀x. ¬(Q x)` by (rule allE)&lt;br /&gt;
    have &amp;quot;¬(P a)&amp;quot; using `P a ⟶ Q a` `¬ (Q a)` by (rule mt)}&lt;br /&gt;
thus &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;¬(Q a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;¬(P a)&amp;quot; using 2 3 by (rule mt)}&lt;br /&gt;
hence &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Demostrar&lt;br /&gt;
       ∀x. P x  ⟶ ¬(Q x) ⊢ ¬(∃x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∃x. P x ∧ Q x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;P a ∧ Q a&amp;quot; using `∃x. P x ∧ Q x` by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;P a  ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have &amp;quot;¬(Q a)&amp;quot; using `P a  ⟶ ¬(Q a)` `P a` by (rule mp)&lt;br /&gt;
show &amp;quot;False&amp;quot; using `¬(Q a)` `Q a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a ∧ Q a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;P a ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;P a&amp;quot; using 2 by (rule conjunct1)&lt;br /&gt;
have 5 : &amp;quot;Q a&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
have 6 : &amp;quot;¬(Q a)&amp;quot; using 3 4 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Demostrar&lt;br /&gt;
       ∀x y. P x y ⊢ ∀u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix a b &lt;br /&gt;
have  &amp;quot;∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot; P a b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a &lt;br /&gt;
 {fix b&lt;br /&gt;
  have 1 : &amp;quot; ∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)}&lt;br /&gt;
hence &amp;quot;∀v. P a v&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;∀u v. P u v&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Demostrar&lt;br /&gt;
       ∃x y. P x y ⟹ ∃u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_7: &lt;br /&gt;
  assumes &amp;quot;∃x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃u v. P u v&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where &amp;quot;P a b&amp;quot; by (rule exE)&lt;br /&gt;
hence &amp;quot;∃v. P a v&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃u v. P u v&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Demostrar&lt;br /&gt;
       ∃x. ∀y. P x y ⊢ ∀y. ∃x. P x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
obtain a where &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
fix b &lt;br /&gt;
have &amp;quot;P a b&amp;quot; using `∀y. P a y` by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x b&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
 {fix b &lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;∃x. P x b&amp;quot; using 2 by (rule exI)}&lt;br /&gt;
thus &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Demostrar&lt;br /&gt;
       ∃x. P a ⟶ Q x ⊢ P a ⟶ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;Q b&amp;quot; using `P a ⟶ Q b` `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where 2 : &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;Q b&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;∃x. Q x&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
thus &amp;quot;P a ⟶ (∃x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Demostrar&lt;br /&gt;
       P a ⟶ (∃x. Q x) ⊢ ∃x. P a ⟶ Q x &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_10a: &lt;br /&gt;
  fixes P Q :: &amp;quot;&amp;#039;b ⇒ bool&amp;quot; &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬(P a) ∨ P a&amp;quot; by (rule excluded_middle)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 2 : &amp;quot;¬(P a)&amp;quot;&lt;br /&gt;
 {assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 4 : &amp;quot;Q b&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
hence 5 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 5  by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 7 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 8 : &amp;quot;∃x. Q x&amp;quot; using assms 7 by (rule mp)&lt;br /&gt;
obtain b where 9 : &amp;quot;Q b&amp;quot; using 8 by (rule exE)&lt;br /&gt;
 {assume 10 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 11 : &amp;quot;Q b&amp;quot; using 9 by this}&lt;br /&gt;
hence 12 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 13 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 12  by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x. P a ⟶ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 11. Demostrar&lt;br /&gt;
       (∃x. P x) ⟶ Q a ⊢ ∀x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
     fix b&lt;br /&gt;
     show &amp;quot;P b ⟶ Q a&amp;quot;  &lt;br /&gt;
        proof&lt;br /&gt;
        assume &amp;quot;P b&amp;quot;&lt;br /&gt;
        hence &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
        show &amp;quot;Q a&amp;quot; using assms `∃x. P x` by (rule mp)&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P b&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∃x. P x&amp;quot; using 1 by (rule exI)&lt;br /&gt;
  have 3 : &amp;quot;Q a&amp;quot; using assms 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule impI) }&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q a&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 12. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q a ⊢ ∃ x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
fix b&lt;br /&gt;
have &amp;quot;P b ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x ⟶ Q a&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 13. Demostrar&lt;br /&gt;
       (∀x. P x) ∨ (∀x. Q x) ⊢ ∀x. P x ∨ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix a&lt;br /&gt;
show &amp;quot;P a ∨ Q a&amp;quot; using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI1)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
hence &amp;quot;Q a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI2)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot; using assms by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 2 :&amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ∨ Q a&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
hence &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 4 : &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 5 :&amp;quot;Q a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
  have 6 : &amp;quot;P a ∨ Q a&amp;quot; using 5 by (rule disjI2)}&lt;br /&gt;
hence &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
ultimately show &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 14. Demostrar&lt;br /&gt;
       ∃x. P x ∧ Q x ⊢ (∃x. P x) ∧ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
obtain a where &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule conjunct1)&lt;br /&gt;
thus &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using  `P a ∧ Q a` by (rule conjunct2)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;P a&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;∃x. P x&amp;quot; using 2 by (rule exI)&lt;br /&gt;
have 4 : &amp;quot;Q a&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 5 : &amp;quot;∃x. Q x&amp;quot; using 4 by (rule exI)&lt;br /&gt;
show  &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot; using 3 5 by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 15. Demostrar&lt;br /&gt;
       ∀x y. P y ⟶ Q x ⊢ (∃y. P y) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
then obtain b where &amp;quot;P b&amp;quot; by (rule exE)&lt;br /&gt;
{fix a &lt;br /&gt;
have &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule allE)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using `P b ⟶ Q a` `P b` by (rule mp)}&lt;br /&gt;
thus &amp;quot;∀x. Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  obtain b where 2 : &amp;quot;P b&amp;quot; using 1 by (rule exE)&lt;br /&gt;
  have 3 : &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;P b ⟶ Q a&amp;quot; using 3 by (rule allE)&lt;br /&gt;
  have 5 : &amp;quot;Q a&amp;quot; using 4 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 16. Demostrar&lt;br /&gt;
       ¬(∀x. ¬(P x)) ⊢ ∃x. P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16a: &lt;br /&gt;
  assumes &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
fix x0&lt;br /&gt;
{assume 2: &amp;quot;¬(∃x. P x)&amp;quot; &lt;br /&gt;
 {fix x1&lt;br /&gt;
  {assume 3: &amp;quot;P x1&amp;quot;&lt;br /&gt;
   have 4: &amp;quot;∃x. P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
   have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
 then have 6: &amp;quot;¬ P x1&amp;quot; by (rule notI)}&lt;br /&gt;
then have 7: &amp;quot;∀x. ¬ P x&amp;quot; by (rule allI)&lt;br /&gt;
have 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)}&lt;br /&gt;
then show &amp;quot;∃x. P x&amp;quot; by (rule ccontr)&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 17. Demostrar&lt;br /&gt;
       ∀x. ¬(P x) ⊢ ¬(∃x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
then obtain a where &amp;quot;P a&amp;quot; by (rule exE)&lt;br /&gt;
have &amp;quot; ¬ (P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;¬(P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 18. Demostrar&lt;br /&gt;
       ∃x. P x ⊢ ¬(∀x. ¬(P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;¬(P a)&amp;quot; using `∀x. ¬(P x)`  by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a`by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;¬(P a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. ¬(P x))&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 19. Demostrar&lt;br /&gt;
       P a ⟶ (∀x. Q x) ⊢ ∀x. P a ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix b&lt;br /&gt;
show &amp;quot;P a ⟶ Q b&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;P a&amp;quot; &lt;br /&gt;
have &amp;quot;∀x. Q x&amp;quot; using assms `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;Q b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∀x. Q x&amp;quot; using assms 1 by (rule mp)&lt;br /&gt;
  have 3 : &amp;quot;Q b&amp;quot; using 2 by (rule allE)}&lt;br /&gt;
hence 4 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P a ⟶ Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 20. Demostrar&lt;br /&gt;
       {∀x y z. R x y ∧ R y z ⟶ R x z, &lt;br /&gt;
        ∀x. ¬(R x x)}&lt;br /&gt;
       ⊢ ∀x y. R x y ⟶ ¬(R y x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20a: &lt;br /&gt;
  assumes &amp;quot;∀x y z. R x y ∧ R y z ⟶ R x z&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. ¬(R x x)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix  a b &lt;br /&gt;
show &amp;quot;R a b ⟶ ¬(R b a )&amp;quot; &lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;R a b&amp;quot;&lt;br /&gt;
show&amp;quot;¬(R b a)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume 2:&amp;quot;R b a&amp;quot; &lt;br /&gt;
have 3:&amp;quot;R a b ∧ R b a&amp;quot; using 1 2..&lt;br /&gt;
have  &amp;quot;∀y z. R a y ∧ R y z ⟶ R a z&amp;quot; using assms(1)..&lt;br /&gt;
hence  &amp;quot;∀z. R a b ∧ R b z ⟶ R a z&amp;quot;..&lt;br /&gt;
hence 4:&amp;quot;R a b ∧ R b a ⟶ R a a&amp;quot;..&lt;br /&gt;
have 5:&amp;quot;R a a&amp;quot; using 4 3..&lt;br /&gt;
have 6:&amp;quot; ¬(R a a)&amp;quot; using assms(2)..&lt;br /&gt;
show False using 6 5..&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20a: &lt;br /&gt;
  assumes &amp;quot;∀x y z. R x y ∧ R y z ⟶ R x z&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. ¬(R x x)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
 {fix b&lt;br /&gt;
  {assume 1 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
   {assume 2 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
    have 3 : &amp;quot;∀y z. R a y ∧ R y z ⟶ R a z&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 4 : &amp;quot;∀z. R a b ∧ R b z ⟶ R a z&amp;quot; using 3 by (rule allE)&lt;br /&gt;
    have 5 : &amp;quot;R a b ∧ R b a ⟶ R a a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
    have 6 : &amp;quot; R a b ∧ R b a&amp;quot; using 1 2 by (rule conjI)&lt;br /&gt;
    have 7 : &amp;quot;R a a&amp;quot; using 5 6 by (rule mp)&lt;br /&gt;
    have 8 : &amp;quot;¬(R a a)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have &amp;quot;False&amp;quot; using 8 7 by (rule notE)}&lt;br /&gt;
   hence &amp;quot;¬(R b a)&amp;quot; by (rule notI)}&lt;br /&gt;
  hence &amp;quot;R a b ⟶ ¬(R b a)&amp;quot; by (rule impI)}&lt;br /&gt;
hence  &amp;quot;∀y. R a y ⟶ ¬(R y a)&amp;quot; by (rule allI)}&lt;br /&gt;
thus  &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 21. Demostrar&lt;br /&gt;
     {∀x. P x ∨ Q x, ∃x. ¬(Q x), ∀x. R x ⟶ ¬(P x)} ⊢ ∃x. ¬(R x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot; &lt;br /&gt;
proof-&lt;br /&gt;
obtain a where &amp;quot;¬(Q a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
show &amp;quot;∃x. ¬(R x)&amp;quot; using `P a ∨ Q a`&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
hence 1:&amp;quot;¬¬(P a)&amp;quot; by (rule notnotI)&lt;br /&gt;
have 2:&amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have &amp;quot;¬(R a)&amp;quot; using 2 1 by (rule mt)&lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
have False using `¬(Q a)` `Q a` by (rule notE) &lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;¬Q(a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have  &amp;quot;P a ∨ Q a&amp;quot; using 2 by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have 5 : &amp;quot;¬¬(P a)&amp;quot; using 3 by (rule notnotI)&lt;br /&gt;
have 6 : &amp;quot;¬(R a)&amp;quot; using 4 5 by (rule mt)&lt;br /&gt;
have &amp;quot;∃x. ¬(R x)&amp;quot; using 6 by (rule exI)}&lt;br /&gt;
moreover &lt;br /&gt;
{assume 7 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
have &amp;quot;∃x. ¬(R x)&amp;quot;  using 1 7 by (rule notE)}&lt;br /&gt;
ultimately show &amp;quot;∃x. ¬(R x)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 22. Demostrar&lt;br /&gt;
     {∀x. P x ⟶ Q x ∨ R x, ¬(∃x. P x ∧ R x)} ⊢ ∀x. P x ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
fix a &lt;br /&gt;
show &amp;quot;P a ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;P a&amp;quot;&lt;br /&gt;
have 2:&amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have 3:&amp;quot;Q a ∨ R a&amp;quot; using  2 1 by (rule mp)&lt;br /&gt;
show &amp;quot;Q a&amp;quot; using 3 &lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
next &lt;br /&gt;
assume 4:&amp;quot;R a&amp;quot;&lt;br /&gt;
have &amp;quot;P a ∧ R a&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
hence 5:&amp;quot;∃x. P x ∧ R x&amp;quot; by (rule exI)&lt;br /&gt;
have False using assms(2) 5 by (rule notE)&lt;br /&gt;
thus &amp;quot;Q a&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
 {assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 2 : &amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
 have 3 : &amp;quot;Q a ∨ R a&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
 moreover&lt;br /&gt;
 {assume 4 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using 4 by this}&lt;br /&gt;
 moreover&lt;br /&gt;
 {assume 5 : &amp;quot;R a&amp;quot;&lt;br /&gt;
 have 6 : &amp;quot;P a ∧ R a&amp;quot; using 1 5 by (rule conjI)&lt;br /&gt;
 have 7 : &amp;quot;∃x. P x ∧ R x&amp;quot; using 6 by (rule exI)&lt;br /&gt;
 have &amp;quot;Q a&amp;quot; using assms(2) 7 by (rule notE)}&lt;br /&gt;
 ultimately have &amp;quot;Q a&amp;quot; by (rule disjE)}&lt;br /&gt;
hence &amp;quot;P a ⟶ Q a&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 23. Demostrar&lt;br /&gt;
     ∃x y. R x y ∨ R y x ⊢ ∃x y. R x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. R a y ∨ R y a &amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where 1:&amp;quot;R a b ∨ R b a&amp;quot; by (rule exE)&lt;br /&gt;
show &amp;quot;∃x y. R x y&amp;quot; using 1&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;R a b&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R a y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;R b a&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R b y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∃y. R a y ∨ R y a&amp;quot; using assms by (rule exE)&lt;br /&gt;
obtain b where 2: &amp;quot;R a b ∨ R b a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;∃y. R a y&amp;quot; using 3 by (rule exI)&lt;br /&gt;
have 5 : &amp;quot;∃x y. R x y&amp;quot; using 4 by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 6 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
have 7 : &amp;quot;∃y. R b y&amp;quot; using 6 by (rule exI)&lt;br /&gt;
have 8 : &amp;quot;∃x y. R x y&amp;quot; using 7 by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x y. R x y&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 24. Demostrar&lt;br /&gt;
       (∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24a: &lt;br /&gt;
  &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;∀y. P a y&amp;quot; using 1 by (rule exE)&lt;br /&gt;
 {fix b&lt;br /&gt;
  have 3 : &amp;quot;P a b&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;∃x. P x b&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
hence 5 : &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 25. Demostrar&lt;br /&gt;
       (∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_25a: &lt;br /&gt;
  &amp;quot;(∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 26. Demostrar&lt;br /&gt;
       ((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_26a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 27. Demostrar o refutar&lt;br /&gt;
       ((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_27a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 28. Demostrar o refutar&lt;br /&gt;
       ((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_28a: &lt;br /&gt;
  &amp;quot;((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 29. Demostrar o refutar&lt;br /&gt;
       (∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29: &lt;br /&gt;
&lt;br /&gt;
  &amp;quot;(∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 30. Demostrar o refutar&lt;br /&gt;
       (¬(∀x. P x)) ⟷ (∃x. ¬P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_30a: &lt;br /&gt;
  &amp;quot;(¬(∀x. P x)) ⟷ (∃x. ¬P x)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
   assume 1: &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   show  &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   proof (rule ccontr)&lt;br /&gt;
   assume 2: &amp;quot;¬(∃x. ¬P x)&amp;quot;&lt;br /&gt;
   show &amp;quot;False&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   { fix a&lt;br /&gt;
     { assume 3: &amp;quot;¬P a&amp;quot;&lt;br /&gt;
       have 4: &amp;quot;∃x.¬ P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
       have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
    hence 6: &amp;quot;P a&amp;quot; by (rule ccontr)}&lt;br /&gt;
   hence 7: &amp;quot;∀x. P x&amp;quot; by (rule allI)&lt;br /&gt;
   show 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
next&lt;br /&gt;
   assume 9: &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   show &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   {assume 10: &amp;quot;¬¬(∀x. P x)&amp;quot;&lt;br /&gt;
    have 11: &amp;quot;∀x. P x&amp;quot; using 10 by (rule notnotD)&lt;br /&gt;
    obtain a where 12: &amp;quot;¬P a&amp;quot; using 9 by (rule exE)&lt;br /&gt;
    have 13: &amp;quot;P a&amp;quot; using 11 by (rule allE)&lt;br /&gt;
    have 14: &amp;quot;False&amp;quot; using 12 13 by (rule notE)}&lt;br /&gt;
   thus 15: &amp;quot;¬(∀x. P x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
section {* Ejercicios sobre igualdad *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 31. Demostrar o refutar&lt;br /&gt;
       P a ⟹ ∀x. x = a ⟶ P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31a:&lt;br /&gt;
  assumes &amp;quot;P a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. x = a ⟶ P x&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix b&lt;br /&gt;
  show &amp;quot;b = a ⟶ P b&amp;quot;&lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
  assume 1: &amp;quot;b = a&amp;quot;&lt;br /&gt;
  show &amp;quot;P b&amp;quot;&lt;br /&gt;
  proof -&lt;br /&gt;
  have 2: &amp;quot;a = b&amp;quot; using 1 by (rule sym)&lt;br /&gt;
  show 3: &amp;quot;P b&amp;quot; using 2 assms(1) by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31a:&lt;br /&gt;
  assumes &amp;quot;P a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. x = a ⟶ P x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;b = a&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;P b&amp;quot; using 1 assms by (rule ssubst)}&lt;br /&gt;
hence &amp;quot;b = a ⟶ P b&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. x = a ⟶ P x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 32. Demostrar o refutar&lt;br /&gt;
       ∃x y. R x y ∨ R y x; ¬(∃x. R x x)⟧ ⟹ ∃x y. x ≠ y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_32a:&lt;br /&gt;
  fixes R :: &amp;quot;&amp;#039;c ⇒ &amp;#039;c ⇒ bool&amp;quot;&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
          &amp;quot;¬(∃x. R x x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃(x::&amp;#039;c) y. x ≠ y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∃y. R a y ∨ R y a&amp;quot; using assms(1) by (rule exE)&lt;br /&gt;
obtain b where 2 : &amp;quot;R a b ∨ R b a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
{assume 3 : &amp;quot;a = b&amp;quot;&lt;br /&gt;
have &amp;quot;R a b ∨ R b a&amp;quot;  using 2 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 4 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
  have 5 : &amp;quot;R b b&amp;quot; using 3 4 by (rule subst)&lt;br /&gt;
  have 6 : &amp;quot;∃x. R x x&amp;quot; using 5 by (rule exI)&lt;br /&gt;
  have &amp;quot;False&amp;quot; using assms(2) 6 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 7 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
  have 8 : &amp;quot;R b b&amp;quot; using 3 7 by (rule subst)&lt;br /&gt;
  have 9 : &amp;quot;∃x. R x x&amp;quot; using  8 by (rule exI)&lt;br /&gt;
  have &amp;quot;False&amp;quot; using assms(2) 9 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
hence 10 : &amp;quot;¬(a = b)&amp;quot; by (rule notI)&lt;br /&gt;
have 11 : &amp;quot;∃y. ¬(a = y)&amp;quot; using 10 by (rule exI)&lt;br /&gt;
show &amp;quot;∃(x::&amp;#039;c) y. x ≠ y&amp;quot; using 11 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 33. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)} &lt;br /&gt;
     ⊢ P (f a) a (f a)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_33a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot;&lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P (f a) a (f a)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;P a a a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;∀z. P a a z ⟶ P (f a) a (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;P a a a ⟶ P (f a) a (f a)&amp;quot; using 3 by (rule allE)&lt;br /&gt;
    show 5: &amp;quot;P (f a) a (f a)&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 34. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)⟧&lt;br /&gt;
     ⊢ ∃z. P (f a) z (f (f a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_34a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃z. P (f a) z (f (f a))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof - &lt;br /&gt;
   have 1: &amp;quot;P a (f a) (f a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
   have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
   have 3: &amp;quot;∀z. P a (f a) z ⟶ P (f a) (f a) (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
   have 4: &amp;quot;P a (f a) (f a) ⟶ P (f a) (f a) (f (f a))&amp;quot; using 3 by (rule allE)&lt;br /&gt;
   have 5: &amp;quot;P (f a) (f a) (f (f a))&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
   show 6: &amp;quot;∃z. P (f a) z (f (f a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 35. Demostrar o refutar&lt;br /&gt;
     {∀y. Q a y, &lt;br /&gt;
      ∀x y. Q x y ⟶ Q (s x) (s y)} &lt;br /&gt;
     ⊢ ∃z. Qa z ∧ Q z (s (s a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_35a:&lt;br /&gt;
  assumes &amp;quot;∀y. Q a y&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y. Q x y ⟶ Q (s x) (s y)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;Q a (s a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y. Q a y ⟶ Q (s a) (s y)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;Q a (s a) ⟶ Q (s a) (s (s a))&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;Q (s a) (s (s a))&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
    have 5: &amp;quot;Q a (s a) ∧ Q (s a) (s (s a))&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
    show 6: &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 36. Demostrar o refutar&lt;br /&gt;
     {x = f x, odd (f x)} ⊢ odd x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_36a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;odd (f x)&amp;quot;&lt;br /&gt;
  shows &amp;quot;odd x&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;odd x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 37. Demostrar o refutar&lt;br /&gt;
     {x = f x, triple (f x) (f x) x} ⊢ triple x x x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_37a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;triple (f x) (f x) x&amp;quot;&lt;br /&gt;
  shows &amp;quot;triple x x x&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
   show &amp;quot;triple x x x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=189</id>
		<title>Relación 4</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=189"/>
		<updated>2016-04-23T11:27:30Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;Isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R4: Deducción natural de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R4&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Demostrar o refutar los siguientes lemas usando sólo las reglas&lt;br /&gt;
  básicas de deducción natural de la lógica proposicional, de los&lt;br /&gt;
  cuantificadores y de la igualdad: &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;
  · mp:         ⟦P ⟶ Q; P⟧ ⟹ Q &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_middel:(¬P ∨ P) &lt;br /&gt;
&lt;br /&gt;
  · allI:       ⟦∀x. P x; P x ⟹ R⟧ ⟹ R&lt;br /&gt;
  · allE:       (⋀x. P x) ⟹ ∀x. P x&lt;br /&gt;
  · exI:        P x ⟹ ∃x. P x&lt;br /&gt;
  · exE:        ⟦∃x. P x; ⋀x. P x ⟹ Q⟧ ⟹ Q&lt;br /&gt;
&lt;br /&gt;
  · refl:       t = t&lt;br /&gt;
  · subst:      ⟦s = t; P s⟧ ⟹ P t&lt;br /&gt;
  · trans:      ⟦r = s; s = t⟧ ⟹ r = t&lt;br /&gt;
  · sym:        s = t ⟹ t = s&lt;br /&gt;
  · not_sym:    t ≠ s ⟹ s ≠ t&lt;br /&gt;
  · ssubst:     ⟦t = s; P s⟧ ⟹ P t&lt;br /&gt;
  · box_equals: ⟦a = b; a = c; b = d⟧ ⟹ a: = d&lt;br /&gt;
  · arg_cong:   x = y ⟹ f x = f y&lt;br /&gt;
  · fun_cong:   f = g ⟹ f x = g x&lt;br /&gt;
  · cong:       ⟦f = g; x = y⟧ ⟹ f x = g y&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;
&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;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 1. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. P x) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
   assume 1: &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
    show &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
     proof (rule allI)&lt;br /&gt;
     {fix a &lt;br /&gt;
      have 2: &amp;quot;P(a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
      have 3: &amp;quot;P(a)⟶Q(a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
      show &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
      qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
hence 5 : &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Demostrar&lt;br /&gt;
       ∃x. ¬(P x) ⊢ ¬(∀x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `∀x. P x` by (rule allE)&lt;br /&gt;
  show &amp;quot;False&amp;quot; using `¬ (P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 obtain a where 2 : &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
 have 3 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
 have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Demostrar&lt;br /&gt;
       ∀x. P x ⊢ ∀y. P y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
{ fix a&lt;br /&gt;
  show &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
have 1 : &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
thus &amp;quot;∀y. P y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
  { fix a&lt;br /&gt;
    have &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
    have &amp;quot;¬ (Q a)&amp;quot; using `∀x. ¬(Q x)` by (rule allE)&lt;br /&gt;
    have &amp;quot;¬(P a)&amp;quot; using `P a ⟶ Q a` `¬ (Q a)` by (rule mt)}&lt;br /&gt;
thus &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;¬(Q a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;¬(P a)&amp;quot; using 2 3 by (rule mt)}&lt;br /&gt;
hence &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Demostrar&lt;br /&gt;
       ∀x. P x  ⟶ ¬(Q x) ⊢ ¬(∃x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∃x. P x ∧ Q x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;P a ∧ Q a&amp;quot; using `∃x. P x ∧ Q x` by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;P a  ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have &amp;quot;¬(Q a)&amp;quot; using `P a  ⟶ ¬(Q a)` `P a` by (rule mp)&lt;br /&gt;
show &amp;quot;False&amp;quot; using `¬(Q a)` `Q a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a ∧ Q a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;P a ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;P a&amp;quot; using 2 by (rule conjunct1)&lt;br /&gt;
have 5 : &amp;quot;Q a&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
have 6 : &amp;quot;¬(Q a)&amp;quot; using 3 4 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Demostrar&lt;br /&gt;
       ∀x y. P x y ⊢ ∀u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix a b &lt;br /&gt;
have  &amp;quot;∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot; P a b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a &lt;br /&gt;
 {fix b&lt;br /&gt;
  have 1 : &amp;quot; ∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)}&lt;br /&gt;
hence &amp;quot;∀v. P a v&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;∀u v. P u v&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Demostrar&lt;br /&gt;
       ∃x y. P x y ⟹ ∃u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_7: &lt;br /&gt;
  assumes &amp;quot;∃x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃u v. P u v&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where &amp;quot;P a b&amp;quot; by (rule exE)&lt;br /&gt;
hence &amp;quot;∃v. P a v&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃u v. P u v&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Demostrar&lt;br /&gt;
       ∃x. ∀y. P x y ⊢ ∀y. ∃x. P x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
obtain a where &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
fix b &lt;br /&gt;
have &amp;quot;P a b&amp;quot; using `∀y. P a y` by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x b&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
 {fix b &lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;∃x. P x b&amp;quot; using 2 by (rule exI)}&lt;br /&gt;
thus &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Demostrar&lt;br /&gt;
       ∃x. P a ⟶ Q x ⊢ P a ⟶ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;Q b&amp;quot; using `P a ⟶ Q b` `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where 2 : &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;Q b&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;∃x. Q x&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
thus &amp;quot;P a ⟶ (∃x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Demostrar&lt;br /&gt;
       P a ⟶ (∃x. Q x) ⊢ ∃x. P a ⟶ Q x &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_10a: &lt;br /&gt;
  fixes P Q :: &amp;quot;&amp;#039;b ⇒ bool&amp;quot; &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬(P a) ∨ P a&amp;quot; by (rule excluded_middle)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 2 : &amp;quot;¬(P a)&amp;quot;&lt;br /&gt;
 {assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 4 : &amp;quot;Q b&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
hence 5 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 5  by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 7 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 8 : &amp;quot;∃x. Q x&amp;quot; using assms 7 by (rule mp)&lt;br /&gt;
obtain b where 9 : &amp;quot;Q b&amp;quot; using 8 by (rule exE)&lt;br /&gt;
 {assume 10 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 11 : &amp;quot;Q b&amp;quot; using 9 by this}&lt;br /&gt;
hence 12 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 13 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 12  by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x. P a ⟶ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 11. Demostrar&lt;br /&gt;
       (∃x. P x) ⟶ Q a ⊢ ∀x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
     fix b&lt;br /&gt;
     show &amp;quot;P b ⟶ Q a&amp;quot;  &lt;br /&gt;
        proof&lt;br /&gt;
        assume &amp;quot;P b&amp;quot;&lt;br /&gt;
        hence &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
        show &amp;quot;Q a&amp;quot; using assms `∃x. P x` by (rule mp)&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P b&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∃x. P x&amp;quot; using 1 by (rule exI)&lt;br /&gt;
  have 3 : &amp;quot;Q a&amp;quot; using assms 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule impI) }&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q a&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 12. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q a ⊢ ∃ x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
fix b&lt;br /&gt;
have &amp;quot;P b ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x ⟶ Q a&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 13. Demostrar&lt;br /&gt;
       (∀x. P x) ∨ (∀x. Q x) ⊢ ∀x. P x ∨ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix a&lt;br /&gt;
show &amp;quot;P a ∨ Q a&amp;quot; using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI1)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
hence &amp;quot;Q a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI2)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot; using assms by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 2 :&amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ∨ Q a&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
hence &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 4 : &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  have 5 :&amp;quot;Q a&amp;quot; using 4 by (rule allE)&lt;br /&gt;
  have 6 : &amp;quot;P a ∨ Q a&amp;quot; using 5 by (rule disjI2)}&lt;br /&gt;
hence &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule allI)}&lt;br /&gt;
ultimately show &amp;quot;∀x. P x ∨ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 14. Demostrar&lt;br /&gt;
       ∃x. P x ∧ Q x ⊢ (∃x. P x) ∧ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
obtain a where &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule conjunct1)&lt;br /&gt;
thus &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using  `P a ∧ Q a` by (rule conjunct2)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;P a&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;∃x. P x&amp;quot; using 2 by (rule exI)&lt;br /&gt;
have 4 : &amp;quot;Q a&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 5 : &amp;quot;∃x. Q x&amp;quot; using 4 by (rule exI)&lt;br /&gt;
show  &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot; using 3 5 by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 15. Demostrar&lt;br /&gt;
       ∀x y. P y ⟶ Q x ⊢ (∃y. P y) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
then obtain b where &amp;quot;P b&amp;quot; by (rule exE)&lt;br /&gt;
{fix a &lt;br /&gt;
have &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule allE)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using `P b ⟶ Q a` `P b` by (rule mp)}&lt;br /&gt;
thus &amp;quot;∀x. Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
 {fix a&lt;br /&gt;
  obtain b where 2 : &amp;quot;P b&amp;quot; using 1 by (rule exE)&lt;br /&gt;
  have 3 : &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;P b ⟶ Q a&amp;quot; using 3 by (rule allE)&lt;br /&gt;
  have 5 : &amp;quot;Q a&amp;quot; using 4 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 16. Demostrar&lt;br /&gt;
       ¬(∀x. ¬(P x)) ⊢ ∃x. P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16a: &lt;br /&gt;
  assumes &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
fix x0&lt;br /&gt;
{assume 2: &amp;quot;¬(∃x. P x)&amp;quot; &lt;br /&gt;
 {fix x1&lt;br /&gt;
  {assume 3: &amp;quot;P x1&amp;quot;&lt;br /&gt;
   have 4: &amp;quot;∃x. P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
   have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
 then have 6: &amp;quot;¬ P x1&amp;quot; by (rule notI)}&lt;br /&gt;
then have 7: &amp;quot;∀x. ¬ P x&amp;quot; by (rule allI)&lt;br /&gt;
have 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)}&lt;br /&gt;
then show &amp;quot;∃x. P x&amp;quot; by (rule ccontr)&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 17. Demostrar&lt;br /&gt;
       ∀x. ¬(P x) ⊢ ¬(∃x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
then obtain a where &amp;quot;P a&amp;quot; by (rule exE)&lt;br /&gt;
have &amp;quot; ¬ (P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;¬(P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 18. Demostrar&lt;br /&gt;
       ∃x. P x ⊢ ¬(∀x. ¬(P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;¬(P a)&amp;quot; using `∀x. ¬(P x)`  by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a`by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;¬(P a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. ¬(P x))&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 19. Demostrar&lt;br /&gt;
       P a ⟶ (∀x. Q x) ⊢ ∀x. P a ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix b&lt;br /&gt;
show &amp;quot;P a ⟶ Q b&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;P a&amp;quot; &lt;br /&gt;
have &amp;quot;∀x. Q x&amp;quot; using assms `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;Q b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∀x. Q x&amp;quot; using assms 1 by (rule mp)&lt;br /&gt;
  have 3 : &amp;quot;Q b&amp;quot; using 2 by (rule allE)}&lt;br /&gt;
hence 4 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P a ⟶ Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 20. Demostrar&lt;br /&gt;
       {∀x y z. R x y ∧ R y z ⟶ R x z, &lt;br /&gt;
        ∀x. ¬(R x x)}&lt;br /&gt;
       ⊢ ∀x y. R x y ⟶ ¬(R y x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20a: &lt;br /&gt;
  assumes &amp;quot;∀x y z. R x y ∧ R y z ⟶ R x z&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. ¬(R x x)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix  a b &lt;br /&gt;
show &amp;quot;R a b ⟶ ¬(R b a )&amp;quot; &lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;R a b&amp;quot;&lt;br /&gt;
show&amp;quot;¬(R b a)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume 2:&amp;quot;R b a&amp;quot; &lt;br /&gt;
have 3:&amp;quot;R a b ∧ R b a&amp;quot; using 1 2..&lt;br /&gt;
have  &amp;quot;∀y z. R a y ∧ R y z ⟶ R a z&amp;quot; using assms(1)..&lt;br /&gt;
hence  &amp;quot;∀z. R a b ∧ R b z ⟶ R a z&amp;quot;..&lt;br /&gt;
hence 4:&amp;quot;R a b ∧ R b a ⟶ R a a&amp;quot;..&lt;br /&gt;
have 5:&amp;quot;R a a&amp;quot; using 4 3..&lt;br /&gt;
have 6:&amp;quot; ¬(R a a)&amp;quot; using assms(2)..&lt;br /&gt;
show False using 6 5..&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 21. Demostrar&lt;br /&gt;
     {∀x. P x ∨ Q x, ∃x. ¬(Q x), ∀x. R x ⟶ ¬(P x)} ⊢ ∃x. ¬(R x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot; &lt;br /&gt;
proof-&lt;br /&gt;
obtain a where &amp;quot;¬(Q a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
show &amp;quot;∃x. ¬(R x)&amp;quot; using `P a ∨ Q a`&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
hence 1:&amp;quot;¬¬(P a)&amp;quot; by (rule notnotI)&lt;br /&gt;
have 2:&amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have &amp;quot;¬(R a)&amp;quot; using 2 1 by (rule mt)&lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
have False using `¬(Q a)` `Q a` by (rule notE) &lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;¬Q(a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have 2 : &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have  &amp;quot;P a ∨ Q a&amp;quot; using 2 by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have 5 : &amp;quot;¬¬(P a)&amp;quot; using 3 by (rule notnotI)&lt;br /&gt;
have 6 : &amp;quot;¬(R a)&amp;quot; using 4 5 by (rule mt)&lt;br /&gt;
have &amp;quot;∃x. ¬(R x)&amp;quot; using 6 by (rule exI)}&lt;br /&gt;
moreover &lt;br /&gt;
{assume 7 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
have &amp;quot;∃x. ¬(R x)&amp;quot;  using 1 7 by (rule notE)}&lt;br /&gt;
ultimately show &amp;quot;∃x. ¬(R x)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 22. Demostrar&lt;br /&gt;
     {∀x. P x ⟶ Q x ∨ R x, ¬(∃x. P x ∧ R x)} ⊢ ∀x. P x ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
fix a &lt;br /&gt;
show &amp;quot;P a ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;P a&amp;quot;&lt;br /&gt;
have 2:&amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have 3:&amp;quot;Q a ∨ R a&amp;quot; using  2 1 by (rule mp)&lt;br /&gt;
show &amp;quot;Q a&amp;quot; using 3 &lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
next &lt;br /&gt;
assume 4:&amp;quot;R a&amp;quot;&lt;br /&gt;
have &amp;quot;P a ∧ R a&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
hence 5:&amp;quot;∃x. P x ∧ R x&amp;quot; by (rule exI)&lt;br /&gt;
have False using assms(2) 5 by (rule notE)&lt;br /&gt;
thus &amp;quot;Q a&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
 {assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 2 : &amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
 have 3 : &amp;quot;Q a ∨ R a&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
 moreover&lt;br /&gt;
 {assume 4 : &amp;quot;Q a&amp;quot;&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using 4 by this}&lt;br /&gt;
 moreover&lt;br /&gt;
 {assume 5 : &amp;quot;R a&amp;quot;&lt;br /&gt;
 have 6 : &amp;quot;P a ∧ R a&amp;quot; using 1 5 by (rule conjI)&lt;br /&gt;
 have 7 : &amp;quot;∃x. P x ∧ R x&amp;quot; using 6 by (rule exI)&lt;br /&gt;
 have &amp;quot;Q a&amp;quot; using assms(2) 7 by (rule notE)}&lt;br /&gt;
 ultimately have &amp;quot;Q a&amp;quot; by (rule disjE)}&lt;br /&gt;
hence &amp;quot;P a ⟶ Q a&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 23. Demostrar&lt;br /&gt;
     ∃x y. R x y ∨ R y x ⊢ ∃x y. R x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. R a y ∨ R y a &amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where 1:&amp;quot;R a b ∨ R b a&amp;quot; by (rule exE)&lt;br /&gt;
show &amp;quot;∃x y. R x y&amp;quot; using 1&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;R a b&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R a y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;R b a&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R b y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∃y. R a y ∨ R y a&amp;quot; using assms by (rule exE)&lt;br /&gt;
obtain b where 2: &amp;quot;R a b ∨ R b a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;R a b&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;∃y. R a y&amp;quot; using 3 by (rule exI)&lt;br /&gt;
have 5 : &amp;quot;∃x y. R x y&amp;quot; using 4 by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 6 : &amp;quot;R b a&amp;quot;&lt;br /&gt;
have 7 : &amp;quot;∃y. R b y&amp;quot; using 6 by (rule exI)&lt;br /&gt;
have 8 : &amp;quot;∃x y. R x y&amp;quot; using 7 by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x y. R x y&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 24. Demostrar&lt;br /&gt;
       (∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24a: &lt;br /&gt;
  &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;∀y. P a y&amp;quot; using 1 by (rule exE)&lt;br /&gt;
 {fix b&lt;br /&gt;
  have 3 : &amp;quot;P a b&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;∃x. P x b&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
hence 5 : &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 25. Demostrar&lt;br /&gt;
       (∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_25a: &lt;br /&gt;
  &amp;quot;(∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 26. Demostrar&lt;br /&gt;
       ((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_26a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 27. Demostrar o refutar&lt;br /&gt;
       ((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_27a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 28. Demostrar o refutar&lt;br /&gt;
       ((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_28a: &lt;br /&gt;
  &amp;quot;((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 29. Demostrar o refutar&lt;br /&gt;
       (∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29: &lt;br /&gt;
&lt;br /&gt;
  &amp;quot;(∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 30. Demostrar o refutar&lt;br /&gt;
       (¬(∀x. P x)) ⟷ (∃x. ¬P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_30a: &lt;br /&gt;
  &amp;quot;(¬(∀x. P x)) ⟷ (∃x. ¬P x)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
   assume 1: &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   show  &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   proof (rule ccontr)&lt;br /&gt;
   assume 2: &amp;quot;¬(∃x. ¬P x)&amp;quot;&lt;br /&gt;
   show &amp;quot;False&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   { fix a&lt;br /&gt;
     { assume 3: &amp;quot;¬P a&amp;quot;&lt;br /&gt;
       have 4: &amp;quot;∃x.¬ P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
       have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
    hence 6: &amp;quot;P a&amp;quot; by (rule ccontr)}&lt;br /&gt;
   hence 7: &amp;quot;∀x. P x&amp;quot; by (rule allI)&lt;br /&gt;
   show 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
next&lt;br /&gt;
   assume 9: &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   show &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   {assume 10: &amp;quot;¬¬(∀x. P x)&amp;quot;&lt;br /&gt;
    have 11: &amp;quot;∀x. P x&amp;quot; using 10 by (rule notnotD)&lt;br /&gt;
    obtain a where 12: &amp;quot;¬P a&amp;quot; using 9 by (rule exE)&lt;br /&gt;
    have 13: &amp;quot;P a&amp;quot; using 11 by (rule allE)&lt;br /&gt;
    have 14: &amp;quot;False&amp;quot; using 12 13 by (rule notE)}&lt;br /&gt;
   thus 15: &amp;quot;¬(∀x. P x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
section {* Ejercicios sobre igualdad *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 31. Demostrar o refutar&lt;br /&gt;
       P a ⟹ ∀x. x = a ⟶ P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31a:&lt;br /&gt;
  assumes &amp;quot;P a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. x = a ⟶ P x&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix b&lt;br /&gt;
  show &amp;quot;b = a ⟶ P b&amp;quot;&lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
  assume 1: &amp;quot;b = a&amp;quot;&lt;br /&gt;
  show &amp;quot;P b&amp;quot;&lt;br /&gt;
  proof -&lt;br /&gt;
  have 2: &amp;quot;a = b&amp;quot; using 1 by (rule sym)&lt;br /&gt;
  show 3: &amp;quot;P b&amp;quot; using 2 assms(1) by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 32. Demostrar o refutar&lt;br /&gt;
       ∃x y. R x y ∨ R y x; ¬(∃x. R x x)⟧ ⟹ ∃x y. x ≠ y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_32a:&lt;br /&gt;
  fixes R :: &amp;quot;&amp;#039;c ⇒ &amp;#039;c ⇒ bool&amp;quot;&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
          &amp;quot;¬(∃x. R x x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃(x::&amp;#039;c) y. x ≠ y&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 33. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)} &lt;br /&gt;
     ⊢ P (f a) a (f a)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_33a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot;&lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P (f a) a (f a)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;P a a a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;∀z. P a a z ⟶ P (f a) a (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;P a a a ⟶ P (f a) a (f a)&amp;quot; using 3 by (rule allE)&lt;br /&gt;
    show 5: &amp;quot;P (f a) a (f a)&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 34. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)⟧&lt;br /&gt;
     ⊢ ∃z. P (f a) z (f (f a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_34a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃z. P (f a) z (f (f a))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof - &lt;br /&gt;
   have 1: &amp;quot;P a (f a) (f a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
   have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
   have 3: &amp;quot;∀z. P a (f a) z ⟶ P (f a) (f a) (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
   have 4: &amp;quot;P a (f a) (f a) ⟶ P (f a) (f a) (f (f a))&amp;quot; using 3 by (rule allE)&lt;br /&gt;
   have 5: &amp;quot;P (f a) (f a) (f (f a))&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
   show 6: &amp;quot;∃z. P (f a) z (f (f a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 35. Demostrar o refutar&lt;br /&gt;
     {∀y. Q a y, &lt;br /&gt;
      ∀x y. Q x y ⟶ Q (s x) (s y)} &lt;br /&gt;
     ⊢ ∃z. Qa z ∧ Q z (s (s a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_35a:&lt;br /&gt;
  assumes &amp;quot;∀y. Q a y&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y. Q x y ⟶ Q (s x) (s y)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;Q a (s a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y. Q a y ⟶ Q (s a) (s y)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;Q a (s a) ⟶ Q (s a) (s (s a))&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;Q (s a) (s (s a))&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
    have 5: &amp;quot;Q a (s a) ∧ Q (s a) (s (s a))&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
    show 6: &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 36. Demostrar o refutar&lt;br /&gt;
     {x = f x, odd (f x)} ⊢ odd x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_36a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;odd (f x)&amp;quot;&lt;br /&gt;
  shows &amp;quot;odd x&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;odd x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 37. Demostrar o refutar&lt;br /&gt;
     {x = f x, triple (f x) (f x) x} ⊢ triple x x x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_37a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;triple (f x) (f x) x&amp;quot;&lt;br /&gt;
  shows &amp;quot;triple x x x&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
   show &amp;quot;triple x x x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=188</id>
		<title>Relación 4</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_4&amp;diff=188"/>
		<updated>2016-04-23T09:20:53Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang = &amp;quot;Isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* R4: Deducción natural de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory R4&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Demostrar o refutar los siguientes lemas usando sólo las reglas&lt;br /&gt;
  básicas de deducción natural de la lógica proposicional, de los&lt;br /&gt;
  cuantificadores y de la igualdad: &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;
  · mp:         ⟦P ⟶ Q; P⟧ ⟹ Q &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_middel:(¬P ∨ P) &lt;br /&gt;
&lt;br /&gt;
  · allI:       ⟦∀x. P x; P x ⟹ R⟧ ⟹ R&lt;br /&gt;
  · allE:       (⋀x. P x) ⟹ ∀x. P x&lt;br /&gt;
  · exI:        P x ⟹ ∃x. P x&lt;br /&gt;
  · exE:        ⟦∃x. P x; ⋀x. P x ⟹ Q⟧ ⟹ Q&lt;br /&gt;
&lt;br /&gt;
  · refl:       t = t&lt;br /&gt;
  · subst:      ⟦s = t; P s⟧ ⟹ P t&lt;br /&gt;
  · trans:      ⟦r = s; s = t⟧ ⟹ r = t&lt;br /&gt;
  · sym:        s = t ⟹ t = s&lt;br /&gt;
  · not_sym:    t ≠ s ⟹ s ≠ t&lt;br /&gt;
  · ssubst:     ⟦t = s; P s⟧ ⟹ P t&lt;br /&gt;
  · box_equals: ⟦a = b; a = c; b = d⟧ ⟹ a: = d&lt;br /&gt;
  · arg_cong:   x = y ⟹ f x = f y&lt;br /&gt;
  · fun_cong:   f = g ⟹ f x = g x&lt;br /&gt;
  · cong:       ⟦f = g; x = y⟧ ⟹ f x = g y&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;
&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;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 1. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. P x) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
   assume 1: &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
    show &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
     proof (rule allI)&lt;br /&gt;
     {fix a &lt;br /&gt;
      have 2: &amp;quot;P(a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
      have 3: &amp;quot;P(a)⟶Q(a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
      show &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
      qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_1a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;Q a&amp;quot; using 3 2 by (rule mp)}&lt;br /&gt;
hence 5 : &amp;quot;∀x. Q x&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. P x) ⟶ (∀x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Demostrar&lt;br /&gt;
       ∃x. ¬(P x) ⊢ ¬(∀x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `∀x. P x` by (rule allE)&lt;br /&gt;
  show &amp;quot;False&amp;quot; using `¬ (P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_2a: &lt;br /&gt;
  assumes &amp;quot;∃x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
 obtain a where 2 : &amp;quot;¬ (P a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
 have 3 : &amp;quot;P a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
 have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∀x. P x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Demostrar&lt;br /&gt;
       ∀x. P x ⊢ ∀y. P y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
{ fix a&lt;br /&gt;
  show &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_3a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. P y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a&lt;br /&gt;
have 1 : &amp;quot;P a&amp;quot; using assms by (rule allE)}&lt;br /&gt;
thus &amp;quot;∀y. P y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q x ⊢ (∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
  { fix a&lt;br /&gt;
    have &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
    have &amp;quot;¬ (Q a)&amp;quot; using `∀x. ¬(Q x)` by (rule allE)&lt;br /&gt;
    have &amp;quot;¬(P a)&amp;quot; using `P a ⟶ Q a` `¬ (Q a)` by (rule mt)}&lt;br /&gt;
thus &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_4: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
 {fix a &lt;br /&gt;
  have 2 : &amp;quot;P a ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;¬(Q a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 4 : &amp;quot;¬(P a)&amp;quot; using 2 3 by (rule mt)}&lt;br /&gt;
hence &amp;quot;∀x. ¬ (P x)&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;(∀x. ¬(Q x)) ⟶ (∀x. ¬ (P x))&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Demostrar&lt;br /&gt;
       ∀x. P x  ⟶ ¬(Q x) ⊢ ¬(∃x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∃x. P x ∧ Q x&amp;quot; &lt;br /&gt;
  obtain a where &amp;quot;P a ∧ Q a&amp;quot; using `∃x. P x ∧ Q x` by (rule exE)&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;Q a&amp;quot; using `P a ∧ Q a` by (rule conjE)&lt;br /&gt;
  have &amp;quot;P a  ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have &amp;quot;¬(Q a)&amp;quot; using `P a  ⟶ ¬(Q a)` `P a` by (rule mp)&lt;br /&gt;
show &amp;quot;False&amp;quot; using `¬(Q a)` `Q a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_5: &lt;br /&gt;
  assumes &amp;quot;∀x. P x  ⟶ ¬(Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
obtain a where 2 : &amp;quot;P a ∧ Q a&amp;quot; using 1 by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;P a ⟶ ¬(Q a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
have 4 : &amp;quot;P a&amp;quot; using 2 by (rule conjunct1)&lt;br /&gt;
have 5 : &amp;quot;Q a&amp;quot; using 2 by (rule conjunct2)&lt;br /&gt;
have 6 : &amp;quot;¬(Q a)&amp;quot; using 3 4 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(∃x. P x ∧ Q x)&amp;quot; by (rule notI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Demostrar&lt;br /&gt;
       ∀x y. P x y ⊢ ∀u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix a b &lt;br /&gt;
have  &amp;quot;∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot; P a b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_6: &lt;br /&gt;
  assumes &amp;quot;∀x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀u v. P u v&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix a &lt;br /&gt;
 {fix b&lt;br /&gt;
  have 1 : &amp;quot; ∀y. P a y&amp;quot; using assms by (rule allE)&lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)}&lt;br /&gt;
hence &amp;quot;∀v. P a v&amp;quot; by (rule allI)}&lt;br /&gt;
thus &amp;quot;∀u v. P u v&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Demostrar&lt;br /&gt;
       ∃x y. P x y ⟹ ∃u v. P u v&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_7: &lt;br /&gt;
  assumes &amp;quot;∃x y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃u v. P u v&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where &amp;quot;P a b&amp;quot; by (rule exE)&lt;br /&gt;
hence &amp;quot;∃v. P a v&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃u v. P u v&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Demostrar&lt;br /&gt;
       ∃x. ∀y. P x y ⊢ ∀y. ∃x. P x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
obtain a where &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
fix b &lt;br /&gt;
have &amp;quot;P a b&amp;quot; using `∀y. P a y` by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x b&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_8: &lt;br /&gt;
  assumes &amp;quot;∃x. ∀y. P x y&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀y. ∃x. P x y&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
obtain a where 1 : &amp;quot;∀y. P a y&amp;quot; using assms by (rule exE)&lt;br /&gt;
 {fix b &lt;br /&gt;
  have 2 : &amp;quot;P a b&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 3 : &amp;quot;∃x. P x b&amp;quot; using 2 by (rule exI)}&lt;br /&gt;
thus &amp;quot;∀y. ∃x. P x y&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Demostrar&lt;br /&gt;
       ∃x. P a ⟶ Q x ⊢ P a ⟶ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;Q b&amp;quot; using `P a ⟶ Q b` `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_9: &lt;br /&gt;
  assumes &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;P a&amp;quot;&lt;br /&gt;
obtain b where 2 : &amp;quot;P a ⟶ Q b&amp;quot; using assms by (rule exE)&lt;br /&gt;
have 3 : &amp;quot;Q b&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;∃x. Q x&amp;quot; using 3 by (rule exI)}&lt;br /&gt;
thus &amp;quot;P a ⟶ (∃x. Q x)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Demostrar&lt;br /&gt;
       P a ⟶ (∃x. Q x) ⊢ ∃x. P a ⟶ Q x &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_10a: &lt;br /&gt;
  fixes P Q :: &amp;quot;&amp;#039;b ⇒ bool&amp;quot; &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∃x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬(P a) ∨ P a&amp;quot; by (rule excluded_middle)&lt;br /&gt;
moreover&lt;br /&gt;
{assume 2 : &amp;quot;¬(P a)&amp;quot;&lt;br /&gt;
 {assume 3 : &amp;quot;P a&amp;quot;&lt;br /&gt;
 have 4 : &amp;quot;Q b&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
hence 5 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 5  by (rule exI)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 7 : &amp;quot;P a&amp;quot;&lt;br /&gt;
have 8 : &amp;quot;∃x. Q x&amp;quot; using assms 7 by (rule mp)&lt;br /&gt;
obtain b where 9 : &amp;quot;Q b&amp;quot; using 8 by (rule exE)&lt;br /&gt;
 {assume 10 : &amp;quot;P a&amp;quot;&lt;br /&gt;
  have 11 : &amp;quot;Q b&amp;quot; using 9 by this}&lt;br /&gt;
hence 12 : &amp;quot;P a ⟶ Q b&amp;quot; by (rule impI)&lt;br /&gt;
have 13 : &amp;quot;∃x. P a ⟶ Q x&amp;quot; using 12  by (rule exI)}&lt;br /&gt;
ultimately show &amp;quot;∃x. P a ⟶ Q x&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 11. Demostrar&lt;br /&gt;
       (∃x. P x) ⟶ Q a ⊢ ∀x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
     fix b&lt;br /&gt;
     show &amp;quot;P b ⟶ Q a&amp;quot;  &lt;br /&gt;
        proof&lt;br /&gt;
        assume &amp;quot;P b&amp;quot;&lt;br /&gt;
        hence &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
        show &amp;quot;Q a&amp;quot; using assms `∃x. P x` by (rule mp)&lt;br /&gt;
    qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
lemma ejercicio_11a: &lt;br /&gt;
  assumes &amp;quot;(∃x. P x) ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{fix b&lt;br /&gt;
 {assume 1 : &amp;quot;P b&amp;quot;&lt;br /&gt;
  have 2 : &amp;quot;∃x. P x&amp;quot; using 1 by (rule exI)&lt;br /&gt;
  have 3 : &amp;quot;Q a&amp;quot; using assms 2 by (rule mp)}&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule impI) }&lt;br /&gt;
thus &amp;quot;∀x. P x ⟶ Q a&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 12. Demostrar&lt;br /&gt;
       ∀x. P x ⟶ Q a ⊢ ∃ x. P x ⟶ Q a&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_12a: &lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x ⟶ Q a&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
fix b&lt;br /&gt;
have &amp;quot;P b ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
thus &amp;quot;∃x. P x ⟶ Q a&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 13. Demostrar&lt;br /&gt;
       (∀x. P x) ∨ (∀x. Q x) ⊢ ∀x. P x ∨ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_13a: &lt;br /&gt;
  assumes &amp;quot;(∀x. P x) ∨ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ∨ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix a&lt;br /&gt;
show &amp;quot;P a ∨ Q a&amp;quot; using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI1)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;∀x. Q x&amp;quot;&lt;br /&gt;
hence &amp;quot;Q a&amp;quot; by (rule allE)&lt;br /&gt;
thus &amp;quot;P a ∨ Q a&amp;quot; by (rule disjI2)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 14. Demostrar&lt;br /&gt;
       ∃x. P x ∧ Q x ⊢ (∃x. P x) ∧ (∃x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_14a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x ∧ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃x. P x) ∧ (∃x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
obtain a where &amp;quot;P a ∧ Q a&amp;quot; using assms by (rule exE)&lt;br /&gt;
hence &amp;quot;P a&amp;quot; by (rule conjunct1)&lt;br /&gt;
thus &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using  `P a ∧ Q a` by (rule conjunct2)&lt;br /&gt;
thus &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 15. Demostrar&lt;br /&gt;
       ∀x y. P y ⟶ Q x ⊢ (∃y. P y) ⟶ (∀x. Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_15a: &lt;br /&gt;
  assumes &amp;quot;∀x y. P y ⟶ Q x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(∃y. P y) ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃y. P y&amp;quot;&lt;br /&gt;
then obtain b where &amp;quot;P b&amp;quot; by (rule exE)&lt;br /&gt;
{fix a &lt;br /&gt;
have &amp;quot;∀y. P y ⟶ Q a&amp;quot; using assms by (rule allE)&lt;br /&gt;
hence &amp;quot;P b ⟶ Q a&amp;quot; by (rule allE)&lt;br /&gt;
have &amp;quot;Q a&amp;quot; using `P b ⟶ Q a` `P b` by (rule mp)}&lt;br /&gt;
thus &amp;quot;∀x. Q x&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 16. Demostrar&lt;br /&gt;
       ¬(∀x. ¬(P x)) ⊢ ∃x. P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_16a: &lt;br /&gt;
  assumes &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
fix x0&lt;br /&gt;
{assume 2: &amp;quot;¬(∃x. P x)&amp;quot; &lt;br /&gt;
 {fix x1&lt;br /&gt;
  {assume 3: &amp;quot;P x1&amp;quot;&lt;br /&gt;
   have 4: &amp;quot;∃x. P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
   have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
 then have 6: &amp;quot;¬ P x1&amp;quot; by (rule notI)}&lt;br /&gt;
then have 7: &amp;quot;∀x. ¬ P x&amp;quot; by (rule allI)&lt;br /&gt;
have 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)}&lt;br /&gt;
then show &amp;quot;∃x. P x&amp;quot; by (rule ccontr)&lt;br /&gt;
qed &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 17. Demostrar&lt;br /&gt;
       ∀x. ¬(P x) ⊢ ¬(∃x. P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_17a: &lt;br /&gt;
  assumes &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∃x. P x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
then obtain a where &amp;quot;P a&amp;quot; by (rule exE)&lt;br /&gt;
have &amp;quot; ¬ (P a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a` by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 18. Demostrar&lt;br /&gt;
       ∃x. P x ⊢ ¬(∀x. ¬(P x))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_18a: &lt;br /&gt;
  assumes &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬(∀x. ¬(P x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;∀x. ¬(P x)&amp;quot;&lt;br /&gt;
obtain a where &amp;quot;P a&amp;quot; using assms by (rule exE)&lt;br /&gt;
have &amp;quot;¬(P a)&amp;quot; using `∀x. ¬(P x)`  by (rule allE)&lt;br /&gt;
show False using `¬(P a)` `P a`by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 19. Demostrar&lt;br /&gt;
       P a ⟶ (∀x. Q x) ⊢ ∀x. P a ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_19a: &lt;br /&gt;
  assumes &amp;quot;P a ⟶ (∀x. Q x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P a ⟶ Q x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
fix b&lt;br /&gt;
show &amp;quot;P a ⟶ Q b&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume &amp;quot;P a&amp;quot; &lt;br /&gt;
have &amp;quot;∀x. Q x&amp;quot; using assms `P a` by (rule mp)&lt;br /&gt;
thus &amp;quot;Q b&amp;quot; by (rule allE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 20. Demostrar&lt;br /&gt;
       {∀x y z. R x y ∧ R y z ⟶ R x z, &lt;br /&gt;
        ∀x. ¬(R x x)}&lt;br /&gt;
       ⊢ ∀x y. R x y ⟶ ¬(R y x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_20a: &lt;br /&gt;
  assumes &amp;quot;∀x y z. R x y ∧ R y z ⟶ R x z&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. ¬(R x x)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∀x y. R x y ⟶ ¬(R y x)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
proof (rule allI)+&lt;br /&gt;
fix  a b &lt;br /&gt;
show &amp;quot;R a b ⟶ ¬(R b a )&amp;quot; &lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;R a b&amp;quot;&lt;br /&gt;
show&amp;quot;¬(R b a)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume 2:&amp;quot;R b a&amp;quot; &lt;br /&gt;
have 3:&amp;quot;R a b ∧ R b a&amp;quot; using 1 2..&lt;br /&gt;
have  &amp;quot;∀y z. R a y ∧ R y z ⟶ R a z&amp;quot; using assms(1)..&lt;br /&gt;
hence  &amp;quot;∀z. R a b ∧ R b z ⟶ R a z&amp;quot;..&lt;br /&gt;
hence 4:&amp;quot;R a b ∧ R b a ⟶ R a a&amp;quot;..&lt;br /&gt;
have 5:&amp;quot;R a a&amp;quot; using 4 3..&lt;br /&gt;
have 6:&amp;quot; ¬(R a a)&amp;quot; using assms(2)..&lt;br /&gt;
show False using 6 5..&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 21. Demostrar&lt;br /&gt;
     {∀x. P x ∨ Q x, ∃x. ¬(Q x), ∀x. R x ⟶ ¬(P x)} ⊢ ∃x. ¬(R x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_21a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ∨ Q x&amp;quot; &lt;br /&gt;
          &amp;quot;∃x. ¬(Q x)&amp;quot; &lt;br /&gt;
          &amp;quot;∀x. R x ⟶ ¬(P x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x. ¬(R x)&amp;quot; &lt;br /&gt;
proof-&lt;br /&gt;
obtain a where &amp;quot;¬(Q a)&amp;quot; using assms(2) by (rule exE)&lt;br /&gt;
have &amp;quot;P a ∨ Q a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
show &amp;quot;∃x. ¬(R x)&amp;quot; using `P a ∨ Q a`&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;P a&amp;quot;&lt;br /&gt;
hence 1:&amp;quot;¬¬(P a)&amp;quot; by (rule notnotI)&lt;br /&gt;
have 2:&amp;quot;R a ⟶ ¬(P a)&amp;quot; using assms(3) by (rule allE)&lt;br /&gt;
have &amp;quot;¬(R a)&amp;quot; using 2 1 by (rule mt)&lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
have False using `¬(Q a)` `Q a` by (rule notE) &lt;br /&gt;
thus &amp;quot;∃x. ¬(R x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 22. Demostrar&lt;br /&gt;
     {∀x. P x ⟶ Q x ∨ R x, ¬(∃x. P x ∧ R x)} ⊢ ∀x. P x ⟶ Q x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22a:&lt;br /&gt;
  assumes &amp;quot;∀x. P x ⟶ Q x ∨ R x&amp;quot; &lt;br /&gt;
          &amp;quot;¬(∃x. P x ∧ R x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. P x ⟶ Q x&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
fix a &lt;br /&gt;
show &amp;quot;P a ⟶ Q a&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
assume 1:&amp;quot;P a&amp;quot;&lt;br /&gt;
have 2:&amp;quot;P a ⟶ Q a ∨ R a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
have 3:&amp;quot;Q a ∨ R a&amp;quot; using  2 1 by (rule mp)&lt;br /&gt;
show &amp;quot;Q a&amp;quot; using 3 &lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;Q a&amp;quot;&lt;br /&gt;
next &lt;br /&gt;
assume 4:&amp;quot;R a&amp;quot;&lt;br /&gt;
have &amp;quot;P a ∧ R a&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
hence 5:&amp;quot;∃x. P x ∧ R x&amp;quot; by (rule exI)&lt;br /&gt;
have False using assms(2) 5 by (rule notE)&lt;br /&gt;
thus &amp;quot;Q a&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 23. Demostrar&lt;br /&gt;
     ∃x y. R x y ∨ R y x ⊢ ∃x y. R x y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_23a:&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. R x y&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
obtain a where &amp;quot;∃y. R a y ∨ R y a &amp;quot; using assms by (rule exE)&lt;br /&gt;
then obtain b where 1:&amp;quot;R a b ∨ R b a&amp;quot; by (rule exE)&lt;br /&gt;
show &amp;quot;∃x y. R x y&amp;quot; using 1&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;R a b&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R a y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;R b a&amp;quot;&lt;br /&gt;
hence &amp;quot;∃y. R b y&amp;quot; by (rule exI)&lt;br /&gt;
thus &amp;quot;∃x y. R x y&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 24. Demostrar&lt;br /&gt;
       (∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24a: &lt;br /&gt;
  &amp;quot;(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 25. Demostrar&lt;br /&gt;
       (∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_25a: &lt;br /&gt;
  &amp;quot;(∀x. P x ⟶ Q) ⟷ ((∃x. P x) ⟶ Q)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 26. Demostrar&lt;br /&gt;
       ((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_26a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∧ (∀x. Q x)) ⟷ (∀x. P x ∧ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 27. Demostrar o refutar&lt;br /&gt;
       ((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_27a: &lt;br /&gt;
  &amp;quot;((∀x. P x) ∨ (∀x. Q x)) ⟷ (∀x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 28. Demostrar o refutar&lt;br /&gt;
       ((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_28a: &lt;br /&gt;
  &amp;quot;((∃x. P x) ∨ (∃x. Q x)) ⟷ (∃x. P x ∨ Q x)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 29. Demostrar o refutar&lt;br /&gt;
       (∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29: &lt;br /&gt;
&lt;br /&gt;
  &amp;quot;(∀x. ∃y. P x y) ⟶ (∃y. ∀x. P x y)&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 30. Demostrar o refutar&lt;br /&gt;
       (¬(∀x. P x)) ⟷ (∃x. ¬P x)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_30a: &lt;br /&gt;
  &amp;quot;(¬(∀x. P x)) ⟷ (∃x. ¬P x)&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
   assume 1: &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   show  &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   proof (rule ccontr)&lt;br /&gt;
   assume 2: &amp;quot;¬(∃x. ¬P x)&amp;quot;&lt;br /&gt;
   show &amp;quot;False&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   { fix a&lt;br /&gt;
     { assume 3: &amp;quot;¬P a&amp;quot;&lt;br /&gt;
       have 4: &amp;quot;∃x.¬ P x&amp;quot; using 3 by (rule exI)&lt;br /&gt;
       have 5: &amp;quot;False&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
    hence 6: &amp;quot;P a&amp;quot; by (rule ccontr)}&lt;br /&gt;
   hence 7: &amp;quot;∀x. P x&amp;quot; by (rule allI)&lt;br /&gt;
   show 8: &amp;quot;False&amp;quot; using 1 7 by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
next&lt;br /&gt;
   assume 9: &amp;quot;∃x. ¬P x&amp;quot;&lt;br /&gt;
   show &amp;quot;¬(∀x. P x)&amp;quot;&lt;br /&gt;
   proof -&lt;br /&gt;
   {assume 10: &amp;quot;¬¬(∀x. P x)&amp;quot;&lt;br /&gt;
    have 11: &amp;quot;∀x. P x&amp;quot; using 10 by (rule notnotD)&lt;br /&gt;
    obtain a where 12: &amp;quot;¬P a&amp;quot; using 9 by (rule exE)&lt;br /&gt;
    have 13: &amp;quot;P a&amp;quot; using 11 by (rule allE)&lt;br /&gt;
    have 14: &amp;quot;False&amp;quot; using 12 13 by (rule notE)}&lt;br /&gt;
   thus 15: &amp;quot;¬(∀x. P x)&amp;quot; by (rule ccontr)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
section {* Ejercicios sobre igualdad *}&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 31. Demostrar o refutar&lt;br /&gt;
       P a ⟹ ∀x. x = a ⟶ P x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31a:&lt;br /&gt;
  assumes &amp;quot;P a&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. x = a ⟶ P x&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix b&lt;br /&gt;
  show &amp;quot;b = a ⟶ P b&amp;quot;&lt;br /&gt;
  proof (rule impI)&lt;br /&gt;
  assume 1: &amp;quot;b = a&amp;quot;&lt;br /&gt;
  show &amp;quot;P b&amp;quot;&lt;br /&gt;
  proof -&lt;br /&gt;
  have 2: &amp;quot;a = b&amp;quot; using 1 by (rule sym)&lt;br /&gt;
  show 3: &amp;quot;P b&amp;quot; using 2 assms(1) by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
qed&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 32. Demostrar o refutar&lt;br /&gt;
       ∃x y. R x y ∨ R y x; ¬(∃x. R x x)⟧ ⟹ ∃x y. x ≠ y&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_32a:&lt;br /&gt;
  fixes R :: &amp;quot;&amp;#039;c ⇒ &amp;#039;c ⇒ bool&amp;quot;&lt;br /&gt;
  assumes &amp;quot;∃x y. R x y ∨ R y x&amp;quot;&lt;br /&gt;
          &amp;quot;¬(∃x. R x x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃(x::&amp;#039;c) y. x ≠ y&amp;quot;&lt;br /&gt;
oops&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 33. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)} &lt;br /&gt;
     ⊢ P (f a) a (f a)&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_33a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot;&lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;P (f a) a (f a)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;P a a a&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;∀z. P a a z ⟶ P (f a) a (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;P a a a ⟶ P (f a) a (f a)&amp;quot; using 3 by (rule allE)&lt;br /&gt;
    show 5: &amp;quot;P (f a) a (f a)&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 34. Demostrar o refutar&lt;br /&gt;
     {∀x. P a x x, &lt;br /&gt;
      ∀x y z. P x y z ⟶ P (f x) y (f z)⟧&lt;br /&gt;
     ⊢ ∃z. P (f a) z (f (f a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_34a:&lt;br /&gt;
  assumes &amp;quot;∀x. P a x x&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y z. P x y z ⟶ P (f x) y (f z)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃z. P (f a) z (f (f a))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof - &lt;br /&gt;
   have 1: &amp;quot;P a (f a) (f a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
   have 2: &amp;quot;∀y z. P a y z ⟶ P (f a) y (f z)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
   have 3: &amp;quot;∀z. P a (f a) z ⟶ P (f a) (f a) (f z)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
   have 4: &amp;quot;P a (f a) (f a) ⟶ P (f a) (f a) (f (f a))&amp;quot; using 3 by (rule allE)&lt;br /&gt;
   have 5: &amp;quot;P (f a) (f a) (f (f a))&amp;quot; using 4 1 by (rule mp)&lt;br /&gt;
   show 6: &amp;quot;∃z. P (f a) z (f (f a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 35. Demostrar o refutar&lt;br /&gt;
     {∀y. Q a y, &lt;br /&gt;
      ∀x y. Q x y ⟶ Q (s x) (s y)} &lt;br /&gt;
     ⊢ ∃z. Qa z ∧ Q z (s (s a))&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_35a:&lt;br /&gt;
  assumes &amp;quot;∀y. Q a y&amp;quot; &lt;br /&gt;
          &amp;quot;∀x y. Q x y ⟶ Q (s x) (s y)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
    have 1: &amp;quot;Q a (s a)&amp;quot; using assms(1) by (rule allE)&lt;br /&gt;
    have 2: &amp;quot;∀y. Q a y ⟶ Q (s a) (s y)&amp;quot; using assms(2) by (rule allE)&lt;br /&gt;
    have 3: &amp;quot;Q a (s a) ⟶ Q (s a) (s (s a))&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;Q (s a) (s (s a))&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
    have 5: &amp;quot;Q a (s a) ∧ Q (s a) (s (s a))&amp;quot; using 1 4 by (rule conjI)&lt;br /&gt;
    show 6: &amp;quot;∃z. Q a z ∧ Q z (s (s a))&amp;quot; using 5 by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 36. Demostrar o refutar&lt;br /&gt;
     {x = f x, odd (f x)} ⊢ odd x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_36a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;odd (f x)&amp;quot;&lt;br /&gt;
  shows &amp;quot;odd x&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;odd x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 37. Demostrar o refutar&lt;br /&gt;
     {x = f x, triple (f x) (f x) x} ⊢ triple x x x&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_37a:&lt;br /&gt;
  assumes &amp;quot;x = f x&amp;quot; and&lt;br /&gt;
          &amp;quot;triple (f x) (f x) x&amp;quot;&lt;br /&gt;
  shows &amp;quot;triple x x x&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proof -&lt;br /&gt;
   show &amp;quot;triple x x x&amp;quot; using assms(1) assms(2) by (rule ssubst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_3&amp;diff=131</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=131"/>
		<updated>2016-03-21T16:23:36Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &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;
lemma ejercicio_1_b:&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(1) assms(2) by (rule mp)&lt;br /&gt;
qed&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;
 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;
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 by (rule mp)&lt;br /&gt;
have 3 : &amp;quot;r&amp;quot; using assms(2) 2 by (rule mp)}&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;
lemma ejercicio_8:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&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; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶p)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
 assume 1: &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 1 by this &lt;br /&gt;
   qed&lt;br /&gt;
qed &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;
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;
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(1) 2 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;r&amp;quot; using 1 3 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(q⟶r)⟶(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 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;
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;
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(1) 3 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r⟶s&amp;quot; using 4 2 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;s&amp;quot; using 5 1 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶s&amp;quot; by (rule impI)}&lt;br /&gt;
hence &amp;quot;q⟶(p⟶s)&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;r⟶(q⟶(p⟶s))&amp;quot; by (rule impI)&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;
lemma ejercicio_11:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&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 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;q&amp;quot; using 2 3 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;r&amp;quot; using 4 5 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
hence &amp;quot;(p ⟶ q) ⟶ (p ⟶ r)&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&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&amp;quot; using 2 .}&lt;br /&gt;
hence 5 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;r&amp;quot; using assms(1) 5 by (rule mp)}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; by (rule impI)&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;
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;
proof-&lt;br /&gt;
show &amp;quot;p ∧ q&amp;quot; using assms(1,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;
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;
{assume &amp;quot;p&amp;quot;&lt;br /&gt;
have &amp;quot;q&amp;quot; using assms by (rule conjunct2)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&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;
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;
{assume 1 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p⟶q&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;p⟶r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;q ∧ r&amp;quot; using 4 5 by (rule conjI)}&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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&amp;quot; &lt;br /&gt;
have 2 : &amp;quot;q ∧ r&amp;quot; using assms 1 by (rule mp)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 2 by (rule conjunct1)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
{assume 5 : &amp;quot;p&amp;quot; &lt;br /&gt;
have 6 : &amp;quot;q ∧ r&amp;quot; using assms 5 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;r&amp;quot; using 6 by (rule conjunct2)}&lt;br /&gt;
hence 8 : &amp;quot;p⟶r&amp;quot; by (rule impI)&lt;br /&gt;
show &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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_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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q⟶r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 4 3 by (rule mp)}&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 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;
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;
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 by (rule conjI)&lt;br /&gt;
have 4 : &amp;quot;r&amp;quot; using assms 3 by (rule mp)}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22:&lt;br /&gt;
  assumes 1:&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 2:&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 3:&amp;quot;q&amp;quot;&lt;br /&gt;
       have 4:&amp;quot;p ∧ q&amp;quot; using 2 3 by (rule conjI)&lt;br /&gt;
       show &amp;quot;r&amp;quot; using 1 4 by (rule mp)&lt;br /&gt;
    qed&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;
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;
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&amp;quot; using 1 by (rule conjunct2)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using assms 4 by (rule mp)}&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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p⟶q&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;q⟶r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 1 2 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 3 4 by (rule mp)}&lt;br /&gt;
thus &amp;quot;(p⟶q)⟶r&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24:&lt;br /&gt;
  assumes 1:&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 2:&amp;quot;p ⟶ q&amp;quot; &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 2 3 by (rule mp) &lt;br /&gt;
    have 5:&amp;quot;q ⟶ r&amp;quot; using 1   by (rule conjunct2)&lt;br /&gt;
    show &amp;quot;r&amp;quot; using 5 4 by (rule mp)&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;
lemma ejercicio_27:&lt;br /&gt;
  assumes 1:&amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;q ∨ p&amp;quot;&lt;br /&gt;
using 1&lt;br /&gt;
proof (rule disjE)&lt;br /&gt;
  {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
    show &amp;quot;q ∨ p&amp;quot; using 2 by (rule disjI2)}&lt;br /&gt;
next&lt;br /&gt;
  {assume 4:&amp;quot;q&amp;quot;&lt;br /&gt;
    show &amp;quot;q ∨ p&amp;quot; using 4 by (rule disjI1)}         &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;
lemma ejercicio_28:&lt;br /&gt;
  assumes 1:&amp;quot;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 2:&amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
    thus &amp;quot;p ∨ r&amp;quot;&lt;br /&gt;
     proof (rule disjE)&lt;br /&gt;
      {assume 3:&amp;quot;p&amp;quot;&lt;br /&gt;
        show &amp;quot;p ∨ r&amp;quot; using 3 by (rule disjI1)}&lt;br /&gt;
     next&lt;br /&gt;
      {assume 4:&amp;quot;q&amp;quot;&lt;br /&gt;
         have 5:&amp;quot;r&amp;quot; using 1 4 by (rule mp)&lt;br /&gt;
         show &amp;quot;p ∨ r&amp;quot; using 5 by (rule disjI2)}&lt;br /&gt;
     qed&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;
text{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
thus &amp;quot;p&amp;quot; .&lt;br /&gt;
qed}&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;
proof-&lt;br /&gt;
have &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 .}&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 .}&lt;br /&gt;
ultimately show &amp;quot;p&amp;quot; by (rule disjE)&lt;br /&gt;
qed*}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29:&lt;br /&gt;
  assumes 1:&amp;quot;p ∨ p&amp;quot;&lt;br /&gt;
  shows     &amp;quot;p&amp;quot;&lt;br /&gt;
using 1&lt;br /&gt;
proof (rule disjE)&lt;br /&gt;
  {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
    show &amp;quot;p&amp;quot; using 2 by this}&lt;br /&gt;
next&lt;br /&gt;
  {assume 3:&amp;quot;p&amp;quot;&lt;br /&gt;
    show &amp;quot;p&amp;quot; using 3 by this}&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{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
qed}&lt;br /&gt;
 &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{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
then have &amp;quot;p∨q&amp;quot; ..&lt;br /&gt;
thus &amp;quot;(p∨q)∨r&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;q∨r&amp;quot;&lt;br /&gt;
thus &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;q&amp;quot;&lt;br /&gt;
then have &amp;quot;p∨q&amp;quot; ..&lt;br /&gt;
thus 1: &amp;quot;(p ∨ q) ∨ r&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;r&amp;quot;&lt;br /&gt;
then have 2:&amp;quot;(p∨q)∨r&amp;quot; ..&lt;br /&gt;
then have &amp;quot;q∨r⟶(p ∨ q) ∨ r&amp;quot; .. &lt;br /&gt;
thus &amp;quot;(p ∨ q) ∨ r&amp;quot; using 1 ..&lt;br /&gt;
qed}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31:&lt;br /&gt;
  assumes 1:&amp;quot;p ∨ (q ∨ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
using 1&lt;br /&gt;
proof (rule disjE)&lt;br /&gt;
  {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
    have  3:&amp;quot;p ∨ q&amp;quot; using 2 by (rule disjI1)&lt;br /&gt;
    show  &amp;quot;(p ∨ q) ∨ r&amp;quot; using 3 by (rule disjI1)}&lt;br /&gt;
next&lt;br /&gt;
   {assume 4:&amp;quot;q ∨ r&amp;quot;&lt;br /&gt;
     thus &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
      proof (rule disjE)&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;
           show &amp;quot;(p ∨ q) ∨ r&amp;quot; using 6 by (rule disjI1)}&lt;br /&gt;
      next&lt;br /&gt;
        {assume 7:&amp;quot;r&amp;quot;&lt;br /&gt;
           show &amp;quot;(p ∨ q) ∨ r&amp;quot; using 7 by (rule disjI2)}&lt;br /&gt;
      qed}&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;
&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;
proof-&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;r&amp;quot; using assms 2 by (rule mp)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶r&amp;quot; by (rule impI)&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;r&amp;quot; using assms 6 by (rule mp)}&lt;br /&gt;
hence 8 : &amp;quot;q⟶r&amp;quot; by (rule impI)&lt;br /&gt;
show &amp;quot;(p ⟶ r) ∧ (q ⟶ r)&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
show &amp;quot;¬¬p&amp;quot; using assms by (rule notnotI)&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;p&amp;quot;&lt;br /&gt;
have &amp;quot;q&amp;quot; using assms 1 ..}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;False&amp;quot; using assms 1 by (rule notE)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 2 by (rule FalseE)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1:&amp;quot;¬q&amp;quot;&lt;br /&gt;
have &amp;quot;¬p&amp;quot; using assms 1 by (rule mt)}&lt;br /&gt;
thus &amp;quot;¬q ⟶ ¬p&amp;quot; ..&lt;br /&gt;
qed&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;
&lt;br /&gt;
using assms(1)&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
thus &amp;quot;p&amp;quot; .&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;q&amp;quot;&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms(2) 1 ..&lt;br /&gt;
qed  &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;
proof-&lt;br /&gt;
have &amp;quot;p ∨ q&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&amp;quot; using 1 .}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;q&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;¬q&amp;quot; using assms(2) .&lt;br /&gt;
have 5 : &amp;quot;False&amp;quot; using 4 3 by (rule notE)&lt;br /&gt;
have 6 : &amp;quot;p&amp;quot; using 5 by (rule FalseE)}&lt;br /&gt;
ultimately show &amp;quot;p&amp;quot; by (rule disjE)&lt;br /&gt;
qed&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;
&lt;br /&gt;
using assms(1)&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;q&amp;quot;&lt;br /&gt;
thus &amp;quot;q&amp;quot; .&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
show &amp;quot;q&amp;quot; using assms(2) 1 ..&lt;br /&gt;
qed  &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;
proof-&lt;br /&gt;
have &amp;quot;p ∨ q&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&amp;quot; using assms(2) .&lt;br /&gt;
have 3 : &amp;quot;False&amp;quot; using 2 1 by (rule notE)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 3 by (rule FalseE)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 5 : &amp;quot;q&amp;quot;&lt;br /&gt;
have 6 : &amp;quot;q&amp;quot; using 5 .}&lt;br /&gt;
ultimately show &amp;quot;q&amp;quot; by (rule disjE)&lt;br /&gt;
qed&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)&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;¬p ∧ ¬q&amp;quot;&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 3 : &amp;quot;¬p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 5 : &amp;quot;q&amp;quot; &lt;br /&gt;
  have 6 : &amp;quot;¬q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
  have 7 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
ultimately have 8 : &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
thus &amp;quot;¬(¬p ∧ ¬q)&amp;quot;  by (rule notI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;¬p ∨ ¬q&amp;quot;&lt;br /&gt;
have &amp;quot;¬p ∨ ¬q&amp;quot; using 1 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 2 : &amp;quot;¬p&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 5 : &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have 6 : &amp;quot;q&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  have 7 : &amp;quot;False&amp;quot; using 5 6 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
thus &amp;quot;¬(¬p ∨ ¬q)&amp;quot; by (rule notI)&lt;br /&gt;
qed&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;
proof-&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;False&amp;quot; using assms 2 by (rule notE)}&lt;br /&gt;
hence 4 : &amp;quot;¬p&amp;quot; by (rule notI)&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;False&amp;quot; using assms 6 by (rule notE)}&lt;br /&gt;
hence 8 : &amp;quot;¬q&amp;quot; by (rule notI)&lt;br /&gt;
show &amp;quot;¬p ∧ ¬q&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
have &amp;quot;p ∨ q&amp;quot; using 1 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 2 : &amp;quot;p&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;¬p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 5 : &amp;quot;q&amp;quot;&lt;br /&gt;
  have 6 : &amp;quot;¬q&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  have 6 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
thus &amp;quot;¬(p ∨ q)&amp;quot; by (rule notI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∧ q&amp;quot;&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 3 : &amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 5 : &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have 6 : &amp;quot;q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
  have 7 : &amp;quot;False&amp;quot; using 5 6 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
thus &amp;quot;¬(p ∧ q)&amp;quot; by (rule notI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∧ ¬p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;¬p&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(p ∧ ¬p)&amp;quot; by (rule notI)&lt;br /&gt;
qed&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;
&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;¬p&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 3: &amp;quot;q&amp;quot; using 2 1 by (rule notE)&lt;br /&gt;
show &amp;quot;q&amp;quot; using 3 by this&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
have 1 : &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 2 : &amp;quot;¬p&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
show &amp;quot;q&amp;quot; using 2 1 by (rule notE)&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms by (rule notnotD)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;(p ⟶ q) ⟶ p&amp;quot;&lt;br /&gt;
 {assume 2 : &amp;quot;¬p&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;¬(p⟶q)&amp;quot; using 1 2 by (rule mt)&lt;br /&gt;
    {assume 4 : &amp;quot;p&amp;quot;&lt;br /&gt;
     have 5 : &amp;quot;q&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
  hence 6 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
  have 7 : &amp;quot;False&amp;quot; using 3 6 by (rule notE)}&lt;br /&gt;
hence 8 : &amp;quot;p&amp;quot; by (rule ccontr)}&lt;br /&gt;
thus  &amp;quot;((p ⟶ q) ⟶ p) ⟶ p&amp;quot; by (rule impI)&lt;br /&gt;
qed&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;
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 assms 2 by (rule mp)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 3 1 by (rule notE)}&lt;br /&gt;
hence 5 : &amp;quot;q&amp;quot; by (rule ccontr)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬p ∨ p&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬p ∨ 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 3 : &amp;quot;¬q ∨ q&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬q ∨ q&amp;quot; using 3 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 4 : &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have 5 : &amp;quot;¬p ∧ ¬q&amp;quot; using 2 4 by (rule conjI)&lt;br /&gt;
  have 6 : &amp;quot;False&amp;quot; using assms 5 by (rule notE)&lt;br /&gt;
  have 7 : &amp;quot;p ∨ q&amp;quot; using 6 by (rule FalseE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 8 : &amp;quot;q&amp;quot;&lt;br /&gt;
  have 9 : &amp;quot;p ∨ q&amp;quot; using 8 by (rule disjI2)}&lt;br /&gt;
ultimately have &amp;quot;p ∨ q&amp;quot; by (rule disjE)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 10 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 11 : &amp;quot;p ∨ q&amp;quot; using 10 by (rule disjI1)}&lt;br /&gt;
ultimately show &amp;quot;p ∨ q&amp;quot; by (rule disjE)&lt;br /&gt;
qed&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;
proof-&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;False&amp;quot; using assms 2 by (rule notE)}&lt;br /&gt;
hence 4 : &amp;quot;p&amp;quot; by (rule ccontr)&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;False&amp;quot; using assms 6 by (rule notE)}&lt;br /&gt;
hence 8 : &amp;quot;q&amp;quot; by (rule ccontr)&lt;br /&gt;
show &amp;quot;p ∧ q&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬p ∨ p&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬p ∨ 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 3 : &amp;quot;¬p ∨ ¬q&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 4 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 5 : &amp;quot;¬q ∨ q&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬q ∨ q&amp;quot; using 5 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 6 : &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have 7 : &amp;quot;¬p ∨ ¬q&amp;quot; using 6 by (rule disjI2)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 8 : &amp;quot;q&amp;quot;&lt;br /&gt;
  have 9 : &amp;quot;p ∧ q&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
  have 10 : &amp;quot;False&amp;quot; using assms 9 by (rule notE)&lt;br /&gt;
  have 11 : &amp;quot;¬p ∨ ¬q&amp;quot; using 10 by (rule FalseE)}&lt;br /&gt;
ultimately have &amp;quot;¬p ∨ ¬q&amp;quot; by (rule disjE)}&lt;br /&gt;
ultimately show &amp;quot;¬p ∨ ¬q&amp;quot; by (rule disjE)&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬(p ⟶ q) ∨ (p ⟶ q)&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬(p ⟶ q) ∨ (p ⟶ q)&amp;quot; using 1 by this&lt;br /&gt;
moreover&lt;br /&gt;
{assume 2 : &amp;quot;¬(p ⟶ q)&amp;quot;&lt;br /&gt;
 {assume 3 : &amp;quot;q&amp;quot;&lt;br /&gt;
  {assume 4 : &amp;quot;p&amp;quot;&lt;br /&gt;
   have 5 : &amp;quot;q&amp;quot; using 3 .}&lt;br /&gt;
  hence 6 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
  have 7 : &amp;quot;p&amp;quot; using 2 6 by (rule notE)}&lt;br /&gt;
hence 8 : &amp;quot;q⟶p&amp;quot; by (rule impI)&lt;br /&gt;
have 9 : &amp;quot;(p ⟶ q) ∨ (q ⟶ p)&amp;quot; using 8 by (rule disjI2)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 10 : &amp;quot;p ⟶ q&amp;quot;&lt;br /&gt;
have 11 : &amp;quot;(p ⟶ q) ∨ (q ⟶ p)&amp;quot; using 10 by (rule disjI1)}&lt;br /&gt;
ultimately show &amp;quot;(p ⟶ q) ∨ (q ⟶ p)&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_3&amp;diff=130</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=130"/>
		<updated>2016-03-21T11:21:48Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &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;
lemma ejercicio_1_b:&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(1) assms(2) by (rule mp)&lt;br /&gt;
qed&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;
 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;
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 by (rule mp)&lt;br /&gt;
have 3 : &amp;quot;r&amp;quot; using assms(2) 2 by (rule mp)}&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;
lemma ejercicio_8:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&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; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶p)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_8:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
 assume 1: &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 1 by this &lt;br /&gt;
   qed&lt;br /&gt;
qed &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;
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;
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(1) 2 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;r&amp;quot; using 1 3 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(q⟶r)⟶(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 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;
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;
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(1) 3 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r⟶s&amp;quot; using 4 2 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;s&amp;quot; using 5 1 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶s&amp;quot; by (rule impI)}&lt;br /&gt;
hence &amp;quot;q⟶(p⟶s)&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;r⟶(q⟶(p⟶s))&amp;quot; by (rule impI)&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;
lemma ejercicio_11:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&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 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;q&amp;quot; using 2 3 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;r&amp;quot; using 4 5 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
hence &amp;quot;(p ⟶ q) ⟶ (p ⟶ r)&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&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&amp;quot; using 2 .}&lt;br /&gt;
hence 5 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;r&amp;quot; using assms(1) 5 by (rule mp)}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; by (rule impI)&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;
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;
proof-&lt;br /&gt;
show &amp;quot;p ∧ q&amp;quot; using assms(1,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;
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;
{assume &amp;quot;p&amp;quot;&lt;br /&gt;
have &amp;quot;q&amp;quot; using assms by (rule conjunct2)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&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;
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;
{assume 1 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p⟶q&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;p⟶r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;q ∧ r&amp;quot; using 4 5 by (rule conjI)}&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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&amp;quot; &lt;br /&gt;
have 2 : &amp;quot;q ∧ r&amp;quot; using assms 1 by (rule mp)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 2 by (rule conjunct1)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
{assume 5 : &amp;quot;p&amp;quot; &lt;br /&gt;
have 6 : &amp;quot;q ∧ r&amp;quot; using assms 5 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;r&amp;quot; using 6 by (rule conjunct2)}&lt;br /&gt;
hence 8 : &amp;quot;p⟶r&amp;quot; by (rule impI)&lt;br /&gt;
show &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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_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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q⟶r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 4 3 by (rule mp)}&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 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;
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;
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 by (rule conjI)&lt;br /&gt;
have 4 : &amp;quot;r&amp;quot; using assms 3 by (rule mp)}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_22:&lt;br /&gt;
  assumes 1:&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 2:&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 3:&amp;quot;q&amp;quot;&lt;br /&gt;
       have 4:&amp;quot;p ∧ q&amp;quot; using 2 3 by (rule conjI)&lt;br /&gt;
       show &amp;quot;r&amp;quot; using 1 4 by (rule mp)&lt;br /&gt;
    qed&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;
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;
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&amp;quot; using 1 by (rule conjunct2)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using assms 4 by (rule mp)}&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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p⟶q&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;q⟶r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 1 2 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 3 4 by (rule mp)}&lt;br /&gt;
thus &amp;quot;(p⟶q)⟶r&amp;quot; by (rule impI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_24:&lt;br /&gt;
  assumes 1:&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 2:&amp;quot;p ⟶ q&amp;quot; &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 2 3 by (rule mp) &lt;br /&gt;
    have 5:&amp;quot;q ⟶ r&amp;quot; using 1   by (rule conjunct2)&lt;br /&gt;
    show &amp;quot;r&amp;quot; using 5 4 by (rule mp)&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;
lemma ejercicio_27:&lt;br /&gt;
  assumes 1:&amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
  shows   &amp;quot;q ∨ p&amp;quot;&lt;br /&gt;
using 1&lt;br /&gt;
proof (rule disjE)&lt;br /&gt;
  {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
    show &amp;quot;q ∨ p&amp;quot; using 2 by (rule disjI2)}&lt;br /&gt;
next&lt;br /&gt;
  {assume 4:&amp;quot;q&amp;quot;&lt;br /&gt;
    show &amp;quot;q ∨ p&amp;quot; using 4 by (rule disjI1)}         &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;
lemma ejercicio_28:&lt;br /&gt;
  assumes 1:&amp;quot;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 2:&amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
    thus &amp;quot;p ∨ r&amp;quot;&lt;br /&gt;
     proof (rule disjE)&lt;br /&gt;
      {assume 3:&amp;quot;p&amp;quot;&lt;br /&gt;
        show &amp;quot;p ∨ r&amp;quot; using 3 by (rule disjI1)}&lt;br /&gt;
     next&lt;br /&gt;
      {assume 4:&amp;quot;q&amp;quot;&lt;br /&gt;
         have 5:&amp;quot;r&amp;quot; using 1 4 by (rule mp)&lt;br /&gt;
         show &amp;quot;p ∨ r&amp;quot; using 5 by (rule disjI2)}&lt;br /&gt;
     qed&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;
text{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
thus &amp;quot;p&amp;quot; .&lt;br /&gt;
qed}&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;
proof-&lt;br /&gt;
have &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 .}&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 .}&lt;br /&gt;
ultimately show &amp;quot;p&amp;quot; by (rule disjE)&lt;br /&gt;
qed*}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_29:&lt;br /&gt;
  assumes 1:&amp;quot;p ∨ p&amp;quot;&lt;br /&gt;
  shows     &amp;quot;p&amp;quot;&lt;br /&gt;
using 1&lt;br /&gt;
proof (rule disjE)&lt;br /&gt;
  {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
    show &amp;quot;p&amp;quot; using 2 by this}&lt;br /&gt;
next&lt;br /&gt;
  {assume 3:&amp;quot;p&amp;quot;&lt;br /&gt;
    show &amp;quot;p&amp;quot; using 3 by this}&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{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
qed}&lt;br /&gt;
 &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{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
then have &amp;quot;p∨q&amp;quot; ..&lt;br /&gt;
thus &amp;quot;(p∨q)∨r&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;q∨r&amp;quot;&lt;br /&gt;
thus &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;q&amp;quot;&lt;br /&gt;
then have &amp;quot;p∨q&amp;quot; ..&lt;br /&gt;
thus 1: &amp;quot;(p ∨ q) ∨ r&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;r&amp;quot;&lt;br /&gt;
then have 2:&amp;quot;(p∨q)∨r&amp;quot; ..&lt;br /&gt;
then have &amp;quot;q∨r⟶(p ∨ q) ∨ r&amp;quot; .. &lt;br /&gt;
thus &amp;quot;(p ∨ q) ∨ r&amp;quot; using 1 ..&lt;br /&gt;
qed}&lt;br /&gt;
&lt;br /&gt;
lemma ejercicio_31:&lt;br /&gt;
  assumes 1:&amp;quot;p ∨ (q ∨ r)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
using 1&lt;br /&gt;
proof (rule disjE)&lt;br /&gt;
  {assume 2:&amp;quot;p&amp;quot;&lt;br /&gt;
    have  3:&amp;quot;p ∨ q&amp;quot; using 2 by (rule disjI1)&lt;br /&gt;
    show  &amp;quot;(p ∨ q) ∨ r&amp;quot; using 3 by (rule disjI1)}&lt;br /&gt;
next&lt;br /&gt;
   {assume 4:&amp;quot;q ∨ r&amp;quot;&lt;br /&gt;
     thus &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
      proof (rule disjE)&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;
           show &amp;quot;(p ∨ q) ∨ r&amp;quot; using 6 by (rule disjI1)}&lt;br /&gt;
      next&lt;br /&gt;
        {assume 7:&amp;quot;r&amp;quot;&lt;br /&gt;
           show &amp;quot;(p ∨ q) ∨ r&amp;quot; using 7 by (rule disjI2)}&lt;br /&gt;
      qed}&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;
&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;
proof-&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;r&amp;quot; using assms 2 by (rule mp)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶r&amp;quot; by (rule impI)&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;r&amp;quot; using assms 6 by (rule mp)}&lt;br /&gt;
hence 8 : &amp;quot;q⟶r&amp;quot; by (rule impI)&lt;br /&gt;
show &amp;quot;(p ⟶ r) ∧ (q ⟶ r)&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
show &amp;quot;¬¬p&amp;quot; using assms by (rule notnotI)&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;p&amp;quot;&lt;br /&gt;
have &amp;quot;q&amp;quot; using assms 1 ..}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;False&amp;quot; using assms 1 by (rule notE)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 2 by (rule FalseE)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1:&amp;quot;¬q&amp;quot;&lt;br /&gt;
have &amp;quot;¬p&amp;quot; using assms 1 by (rule mt)}&lt;br /&gt;
thus &amp;quot;¬q ⟶ ¬p&amp;quot; ..&lt;br /&gt;
qed&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;
&lt;br /&gt;
using assms(1)&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
thus &amp;quot;p&amp;quot; .&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;q&amp;quot;&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms(2) 1 ..&lt;br /&gt;
qed  &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;
proof-&lt;br /&gt;
have &amp;quot;p ∨ q&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&amp;quot; using 1 .}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 3 : &amp;quot;q&amp;quot;&lt;br /&gt;
have 4 : &amp;quot;¬q&amp;quot; using assms(2) .&lt;br /&gt;
have 5 : &amp;quot;False&amp;quot; using 4 3 by (rule notE)&lt;br /&gt;
have 6 : &amp;quot;p&amp;quot; using 5 by (rule FalseE)}&lt;br /&gt;
ultimately show &amp;quot;p&amp;quot; by (rule disjE)&lt;br /&gt;
qed&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;
&lt;br /&gt;
using assms(1)&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;q&amp;quot;&lt;br /&gt;
thus &amp;quot;q&amp;quot; .&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
show &amp;quot;q&amp;quot; using assms(2) 1 ..&lt;br /&gt;
qed  &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;
proof-&lt;br /&gt;
have &amp;quot;p ∨ q&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&amp;quot; using assms(2) .&lt;br /&gt;
have 3 : &amp;quot;False&amp;quot; using 2 1 by (rule notE)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 3 by (rule FalseE)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 5 : &amp;quot;q&amp;quot;&lt;br /&gt;
have 6 : &amp;quot;q&amp;quot; using 5 .}&lt;br /&gt;
ultimately show &amp;quot;q&amp;quot; by (rule disjE)&lt;br /&gt;
qed&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)&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;¬p ∧ ¬q&amp;quot;&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 3 : &amp;quot;¬p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 5 : &amp;quot;q&amp;quot; &lt;br /&gt;
  have 6 : &amp;quot;¬q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
  have 7 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
ultimately have 8 : &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
thus &amp;quot;¬(¬p ∧ ¬q)&amp;quot;  by (rule notI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;¬p ∨ ¬q&amp;quot;&lt;br /&gt;
have &amp;quot;¬p ∨ ¬q&amp;quot; using 1 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 2 : &amp;quot;¬p&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 5 : &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have 6 : &amp;quot;q&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  have 7 : &amp;quot;False&amp;quot; using 5 6 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
thus &amp;quot;¬(¬p ∨ ¬q)&amp;quot; by (rule notI)&lt;br /&gt;
qed&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;
proof-&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;False&amp;quot; using assms 2 by (rule notE)}&lt;br /&gt;
hence 4 : &amp;quot;¬p&amp;quot; by (rule notI)&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;False&amp;quot; using assms 6 by (rule notE)}&lt;br /&gt;
hence 8 : &amp;quot;¬q&amp;quot; by (rule notI)&lt;br /&gt;
show &amp;quot;¬p ∧ ¬q&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∨ q&amp;quot;&lt;br /&gt;
have &amp;quot;p ∨ q&amp;quot; using 1 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 2 : &amp;quot;p&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;¬p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 5 : &amp;quot;q&amp;quot;&lt;br /&gt;
  have 6 : &amp;quot;¬q&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  have 6 : &amp;quot;False&amp;quot; using 6 5 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
thus &amp;quot;¬(p ∨ q)&amp;quot; by (rule notI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∧ q&amp;quot;&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 3 : &amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 2 3 by (rule notE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 5 : &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have 6 : &amp;quot;q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
  have 7 : &amp;quot;False&amp;quot; using 5 6 by (rule notE)}&lt;br /&gt;
ultimately have &amp;quot;False&amp;quot; by (rule disjE)}&lt;br /&gt;
thus &amp;quot;¬(p ∧ q)&amp;quot; by (rule notI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∧ ¬p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;¬p&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;False&amp;quot; using 3 2 by (rule notE)}&lt;br /&gt;
thus &amp;quot;¬(p ∧ ¬p)&amp;quot; by (rule notI)&lt;br /&gt;
qed&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;
&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;¬p&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 3: &amp;quot;q&amp;quot; using 2 1 by (rule notE)&lt;br /&gt;
show &amp;quot;q&amp;quot; using 3 by this&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
have 1 : &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 2 : &amp;quot;¬p&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
show &amp;quot;q&amp;quot; using 2 1 by (rule notE)&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms by (rule notnotD)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;(p ⟶ q) ⟶ p&amp;quot;&lt;br /&gt;
 {assume 2 : &amp;quot;¬p&amp;quot;&lt;br /&gt;
  have 3 : &amp;quot;¬(p⟶q)&amp;quot; using 1 2 by (rule mt)&lt;br /&gt;
    {assume 4 : &amp;quot;p&amp;quot;&lt;br /&gt;
     have 5 : &amp;quot;q&amp;quot; using 2 4 by (rule notE)}&lt;br /&gt;
  hence 6 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
  have 7 : &amp;quot;False&amp;quot; using 3 6 by (rule notE)}&lt;br /&gt;
hence 8 : &amp;quot;p&amp;quot; by (rule ccontr)}&lt;br /&gt;
thus  &amp;quot;((p ⟶ q) ⟶ p) ⟶ p&amp;quot; by (rule impI)&lt;br /&gt;
qed&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;
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 assms 2 by (rule mp)&lt;br /&gt;
  have 4 : &amp;quot;False&amp;quot; using 3 1 by (rule notE)}&lt;br /&gt;
hence 5 : &amp;quot;q&amp;quot; by (rule ccontr)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬p ∨ p&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬p ∨ 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 3 : &amp;quot;¬q ∨ q&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬q ∨ q&amp;quot; using 3 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 4 : &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have 5 : &amp;quot;¬p ∧ ¬q&amp;quot; using 2 4 by (rule conjI)&lt;br /&gt;
  have 6 : &amp;quot;False&amp;quot; using assms 5 by (rule notE)&lt;br /&gt;
  have 7 : &amp;quot;p ∨ q&amp;quot; using 6 by (rule FalseE)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 8 : &amp;quot;q&amp;quot;&lt;br /&gt;
  have 9 : &amp;quot;p ∨ q&amp;quot; using 8 by (rule disjI2)}&lt;br /&gt;
ultimately have &amp;quot;p ∨ q&amp;quot; by (rule disjE)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 10 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 11 : &amp;quot;p ∨ q&amp;quot; using 10 by (rule disjI1)}&lt;br /&gt;
ultimately show &amp;quot;p ∨ q&amp;quot; by (rule disjE)&lt;br /&gt;
qed&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;
proof-&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;False&amp;quot; using assms 2 by (rule notE)}&lt;br /&gt;
hence 4 : &amp;quot;p&amp;quot; by (rule ccontr)&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;False&amp;quot; using assms 6 by (rule notE)}&lt;br /&gt;
hence 8 : &amp;quot;q&amp;quot; by (rule ccontr)&lt;br /&gt;
show &amp;quot;p ∧ q&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
have 1 : &amp;quot;¬p ∨ p&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬p ∨ 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 3 : &amp;quot;¬p ∨ ¬q&amp;quot; using 2 by (rule disjI1)}&lt;br /&gt;
moreover&lt;br /&gt;
{assume 4 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 5 : &amp;quot;¬q ∨ q&amp;quot; by (rule excluded_middle)&lt;br /&gt;
have &amp;quot;¬q ∨ q&amp;quot; using 5 by this&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 6 : &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have 7 : &amp;quot;¬p ∨ ¬q&amp;quot; using 6 by (rule disjI2)}&lt;br /&gt;
moreover&lt;br /&gt;
 {assume 8 : &amp;quot;q&amp;quot;&lt;br /&gt;
  have 9 : &amp;quot;p ∧ q&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
  have 10 : &amp;quot;False&amp;quot; using assms 9 by (rule notE)&lt;br /&gt;
  have 11 : &amp;quot;¬p ∨ ¬q&amp;quot; using 10 by (rule FalseE)}&lt;br /&gt;
ultimately have &amp;quot;¬p ∨ ¬q&amp;quot; by (rule disjE)}&lt;br /&gt;
ultimately show &amp;quot;¬p ∨ ¬q&amp;quot; by (rule disjE)&lt;br /&gt;
qed&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>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_3&amp;diff=127</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=127"/>
		<updated>2016-03-20T11:25:57Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &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;
lemma ejercicio_1_b:&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(1) assms(2) by (rule mp)&lt;br /&gt;
qed&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;
 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;
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 by (rule mp)&lt;br /&gt;
have 3 : &amp;quot;r&amp;quot; using assms(2) 2 by (rule mp)}&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;
lemma ejercicio_8:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&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; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶p)&amp;quot; by (rule impI)&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;
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;
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(1) 2 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;r&amp;quot; using 1 3 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(q⟶r)⟶(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 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;
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;
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(1) 3 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r⟶s&amp;quot; using 4 2 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;s&amp;quot; using 5 1 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶s&amp;quot; by (rule impI)}&lt;br /&gt;
hence &amp;quot;q⟶(p⟶s)&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;r⟶(q⟶(p⟶s))&amp;quot; by (rule impI)&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;
lemma ejercicio_11:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&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 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;q&amp;quot; using 2 3 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;r&amp;quot; using 4 5 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
hence &amp;quot;(p ⟶ q) ⟶ (p ⟶ r)&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&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&amp;quot; using 2 .}&lt;br /&gt;
hence 5 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;r&amp;quot; using assms(1) 5 by (rule mp)}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; by (rule impI)&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;
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;
proof-&lt;br /&gt;
show &amp;quot;p ∧ q&amp;quot; using assms(1,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;
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;
{assume &amp;quot;p&amp;quot;&lt;br /&gt;
have &amp;quot;q&amp;quot; using assms by (rule conjunct2)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&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;
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;
{assume 1 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p⟶q&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;p⟶r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;q ∧ r&amp;quot; using 4 5 by (rule conjI)}&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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&amp;quot; &lt;br /&gt;
have 2 : &amp;quot;q ∧ r&amp;quot; using assms 1 by (rule mp)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 2 by (rule conjunct1)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
{assume 5 : &amp;quot;p&amp;quot; &lt;br /&gt;
have 6 : &amp;quot;q ∧ r&amp;quot; using assms 5 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;r&amp;quot; using 6 by (rule conjunct2)}&lt;br /&gt;
hence 8 : &amp;quot;p⟶r&amp;quot; by (rule impI)&lt;br /&gt;
show &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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_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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ∧ q&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p&amp;quot; using 1 by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 1 by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q⟶r&amp;quot; using assms 2 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 4 3 by (rule mp)}&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 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;
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;
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 by (rule conjI)&lt;br /&gt;
have 4 : &amp;quot;r&amp;quot; using assms 3 by (rule mp)}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; by (rule impI)}&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 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;
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;
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&amp;quot; using 1 by (rule conjunct2)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using assms 4 by (rule mp)}&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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p⟶q&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;q⟶r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 1 2 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 3 4 by (rule mp)}&lt;br /&gt;
thus &amp;quot;(p⟶q)⟶r&amp;quot; by (rule impI)&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;
text{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
thus &amp;quot;p&amp;quot; .&lt;br /&gt;
qed}&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;
proof-&lt;br /&gt;
have &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 .}&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 .}&lt;br /&gt;
ultimately show &amp;quot;p&amp;quot; by (rule disjE)&lt;br /&gt;
qed&lt;br /&gt;
&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{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
qed}&lt;br /&gt;
 &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{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
then have &amp;quot;p∨q&amp;quot; ..&lt;br /&gt;
thus &amp;quot;(p∨q)∨r&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;q∨r&amp;quot;&lt;br /&gt;
thus &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;q&amp;quot;&lt;br /&gt;
then have &amp;quot;p∨q&amp;quot; ..&lt;br /&gt;
thus 1: &amp;quot;(p ∨ q) ∨ r&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;r&amp;quot;&lt;br /&gt;
then have 2:&amp;quot;(p∨q)∨r&amp;quot; ..&lt;br /&gt;
then have &amp;quot;q∨r⟶(p ∨ q) ∨ r&amp;quot; .. &lt;br /&gt;
thus &amp;quot;(p ∨ q) ∨ r&amp;quot; using 1 ..&lt;br /&gt;
qed}&lt;br /&gt;
&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;
proof-&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;r&amp;quot; using assms 2 by (rule mp)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶r&amp;quot; by (rule impI)&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;r&amp;quot; using assms 6 by (rule mp)}&lt;br /&gt;
hence 8 : &amp;quot;q⟶r&amp;quot; by (rule impI)&lt;br /&gt;
show &amp;quot;(p ⟶ r) ∧ (q ⟶ r)&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
show &amp;quot;¬¬p&amp;quot; using assms by (rule notnotI)&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;p&amp;quot;&lt;br /&gt;
have &amp;quot;q&amp;quot; using assms 1 ..}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;False&amp;quot; using assms 1 by (rule notE)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 2 by (rule FalseE)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1:&amp;quot;¬q&amp;quot;&lt;br /&gt;
have &amp;quot;¬p&amp;quot; using assms 1 by (rule mt)}&lt;br /&gt;
thus &amp;quot;¬q ⟶ ¬p&amp;quot; ..&lt;br /&gt;
qed&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;
&lt;br /&gt;
using assms(1)&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
thus &amp;quot;p&amp;quot; .&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;q&amp;quot;&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms(2) 1 ..&lt;br /&gt;
qed  &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;
&lt;br /&gt;
using assms(1)&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;q&amp;quot;&lt;br /&gt;
thus &amp;quot;q&amp;quot; .&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
show &amp;quot;q&amp;quot; using assms(2) 1 ..&lt;br /&gt;
qed  &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;
&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;¬p&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 3: &amp;quot;q&amp;quot; using 2 1 by (rule notE)&lt;br /&gt;
show &amp;quot;q&amp;quot; using 3 by this&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms by (rule notnotD)&lt;br /&gt;
qed&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>Marherfer6</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2016/index.php?title=Relaci%C3%B3n_3&amp;diff=126</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=126"/>
		<updated>2016-03-20T09:09:54Z</updated>

		<summary type="html">&lt;p&gt;Marherfer6: &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;
lemma ejercicio_1_b:&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(1) assms(2) by (rule mp)&lt;br /&gt;
qed&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;
 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;
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 by (rule mp)&lt;br /&gt;
have 3 : &amp;quot;r&amp;quot; using assms(2) 2 by (rule mp)}&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;
lemma ejercicio_8:&lt;br /&gt;
  &amp;quot;p ⟶ (q ⟶ p)&amp;quot;&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; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶p)&amp;quot; by (rule impI)&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;
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;
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(1) 2 by (rule mp)&lt;br /&gt;
have 4 : &amp;quot;r&amp;quot; using 1 3 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(q⟶r)⟶(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 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;
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;
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(1) 3 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r⟶s&amp;quot; using 4 2 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;s&amp;quot; using 5 1 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶s&amp;quot; by (rule impI)}&lt;br /&gt;
hence &amp;quot;q⟶(p⟶s)&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;r⟶(q⟶(p⟶s))&amp;quot; by (rule impI)&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;
lemma ejercicio_11:&lt;br /&gt;
  &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((p ⟶ q) ⟶ (p ⟶ r))&amp;quot;&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p ⟶ (q ⟶ r)&amp;quot;&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 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;q&amp;quot; using 2 3 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;r&amp;quot; using 4 5 by (rule mp)}&lt;br /&gt;
hence &amp;quot;p⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
hence &amp;quot;(p ⟶ q) ⟶ (p ⟶ r)&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;(p ⟶ (q ⟶ r)) ⟶ ((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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&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&amp;quot; using 2 .}&lt;br /&gt;
hence 5 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
have 6 : &amp;quot;r&amp;quot; using assms(1) 5 by (rule mp)}&lt;br /&gt;
hence &amp;quot;q⟶r&amp;quot; by (rule impI)}&lt;br /&gt;
thus &amp;quot;p⟶(q⟶r)&amp;quot; by (rule impI)&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;
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;
proof-&lt;br /&gt;
show &amp;quot;p ∧ q&amp;quot; using assms(1,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;
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;
{assume &amp;quot;p&amp;quot;&lt;br /&gt;
have &amp;quot;q&amp;quot; using assms by (rule conjunct2)}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; by (rule impI)&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;
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;
{assume 1 : &amp;quot;p&amp;quot;&lt;br /&gt;
have 2 : &amp;quot;p⟶q&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
have 3 : &amp;quot;p⟶r&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 4 : &amp;quot;q&amp;quot; using 2 1 by (rule mp)&lt;br /&gt;
have 5 : &amp;quot;r&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
have 6 : &amp;quot;q ∧ r&amp;quot; using 4 5 by (rule conjI)}&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 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;
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;
proof-&lt;br /&gt;
{assume 1 : &amp;quot;p&amp;quot; &lt;br /&gt;
have 2 : &amp;quot;q ∧ r&amp;quot; using assms 1 by (rule mp)&lt;br /&gt;
have 3 : &amp;quot;q&amp;quot; using 2 by (rule conjunct1)}&lt;br /&gt;
hence 4 : &amp;quot;p⟶q&amp;quot; by (rule impI)&lt;br /&gt;
{assume 5 : &amp;quot;p&amp;quot; &lt;br /&gt;
have 6 : &amp;quot;q ∧ r&amp;quot; using assms 5 by (rule mp)&lt;br /&gt;
have 7 : &amp;quot;r&amp;quot; using 6 by (rule conjunct2)}&lt;br /&gt;
hence 8 : &amp;quot;p⟶r&amp;quot; by (rule impI)&lt;br /&gt;
show &amp;quot;(p ⟶ q) ∧ (p ⟶ r)&amp;quot; using 4 8 by (rule conjI)&lt;br /&gt;
qed&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_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;
text{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
thus &amp;quot;p&amp;quot; .&lt;br /&gt;
qed}&lt;br /&gt;
&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{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
qed}&lt;br /&gt;
 &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{* Otra forma:&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
then have &amp;quot;p∨q&amp;quot; ..&lt;br /&gt;
thus &amp;quot;(p∨q)∨r&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;q∨r&amp;quot;&lt;br /&gt;
thus &amp;quot;(p ∨ q) ∨ r&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;q&amp;quot;&lt;br /&gt;
then have &amp;quot;p∨q&amp;quot; ..&lt;br /&gt;
thus 1: &amp;quot;(p ∨ q) ∨ r&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
assume &amp;quot;r&amp;quot;&lt;br /&gt;
then have 2:&amp;quot;(p∨q)∨r&amp;quot; ..&lt;br /&gt;
then have &amp;quot;q∨r⟶(p ∨ q) ∨ r&amp;quot; .. &lt;br /&gt;
thus &amp;quot;(p ∨ q) ∨ r&amp;quot; using 1 ..&lt;br /&gt;
qed}&lt;br /&gt;
&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;
proof-&lt;br /&gt;
show &amp;quot;¬¬p&amp;quot; using assms by (rule notnotI)&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
{assume 1: &amp;quot;p&amp;quot;&lt;br /&gt;
have &amp;quot;q&amp;quot; using assms 1 ..}&lt;br /&gt;
thus &amp;quot;p⟶q&amp;quot; ..&lt;br /&gt;
qed&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;
proof-&lt;br /&gt;
{assume 1:&amp;quot;¬q&amp;quot;&lt;br /&gt;
have &amp;quot;¬p&amp;quot; using assms 1 by (rule mt)}&lt;br /&gt;
thus &amp;quot;¬q ⟶ ¬p&amp;quot; ..&lt;br /&gt;
qed&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;
&lt;br /&gt;
using assms(1)&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;p&amp;quot;&lt;br /&gt;
thus &amp;quot;p&amp;quot; .&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;q&amp;quot;&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms(2) 1 ..&lt;br /&gt;
qed  &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;
&lt;br /&gt;
using assms(1)&lt;br /&gt;
proof&lt;br /&gt;
assume &amp;quot;q&amp;quot;&lt;br /&gt;
thus &amp;quot;q&amp;quot; .&lt;br /&gt;
next&lt;br /&gt;
assume 1:&amp;quot;p&amp;quot;&lt;br /&gt;
show &amp;quot;q&amp;quot; using assms(2) 1 ..&lt;br /&gt;
qed  &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;
&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;¬p&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
have 3: &amp;quot;q&amp;quot; using 2 1 by (rule notE)&lt;br /&gt;
show &amp;quot;q&amp;quot; using 3 by this&lt;br /&gt;
qed&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;
&lt;br /&gt;
proof-&lt;br /&gt;
show &amp;quot;p&amp;quot; using assms by (rule notnotD)&lt;br /&gt;
qed&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>Marherfer6</name></author>
		
	</entry>
</feed>