<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/LMF2013/index.php?action=history&amp;feed=atom&amp;title=Tema_8</id>
	<title>Tema 8 - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/LMF2013/index.php?action=history&amp;feed=atom&amp;title=Tema_8"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2013/index.php?title=Tema_8&amp;action=history"/>
	<updated>2026-09-18T03:01:12Z</updated>
	<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2013/index.php?title=Tema_8&amp;diff=329&amp;oldid=prev</id>
		<title>Jalonso en 15:48 1 abr 2013</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2013/index.php?title=Tema_8&amp;diff=329&amp;oldid=prev"/>
		<updated>2013-04-01T15:48:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.glc.us.es/~jalonso/LMF2013/index.php?title=Tema_8&amp;amp;diff=329&amp;amp;oldid=328&quot;&gt;Mostrar los cambios&lt;/a&gt;</summary>
		<author><name>Jalonso</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2013/index.php?title=Tema_8&amp;diff=328&amp;oldid=prev</id>
		<title>Jalonso: Página creada con &#039;&lt;source lang=&quot;Isar&quot;&gt; header {* Tema 8: Deducción natural en lógica de primer orden *}  theory Tema8 imports Main  begin  text {*   El objetivo de este tema es presentar la ded...&#039;</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2013/index.php?title=Tema_8&amp;diff=328&amp;oldid=prev"/>
		<updated>2013-04-01T15:47:28Z</updated>

		<summary type="html">&lt;p&gt;Página creada con &amp;#039;&amp;lt;source lang=&amp;quot;Isar&amp;quot;&amp;gt; header {* Tema 8: Deducción natural en lógica de primer orden *}  theory Tema8 imports Main  begin  text {*   El objetivo de este tema es presentar la ded...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;Isar&amp;quot;&amp;gt;&lt;br /&gt;
header {* Tema 8: Deducción natural en lógica de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory Tema8&lt;br /&gt;
imports Main &lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  El objetivo de este tema es presentar la deducción natural en &lt;br /&gt;
  lógica de primer orden con Isabelle/HOL. La presentación se &lt;br /&gt;
  basa en los ejemplos de tema 8 del curso LMF que se encuentra &lt;br /&gt;
  en http://goo.gl/uJj8d (que a su vez se basa en el libro de &lt;br /&gt;
  Huth y Ryan &amp;quot;Logic in Computer Science&amp;quot; http://goo.gl/qsVpY ). &lt;br /&gt;
&lt;br /&gt;
  La página al lado de cada ejemplo indica la página de las &lt;br /&gt;
  transparencias de LMF donde se encuentra la demostración. *}&lt;br /&gt;
&lt;br /&gt;
section {* Reglas del cuantificador universal *}&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Las reglas del cuantificador universal son&lt;br /&gt;
  · allE:    \&amp;lt;lbrakk&amp;gt;\&amp;lt;forall&amp;gt;x. P x; P a \&amp;lt;Longrightarrow&amp;gt; R\&amp;lt;rbrakk&amp;gt; \&amp;lt;Longrightarrow&amp;gt; R&lt;br /&gt;
  · allI:    (\&amp;lt;And&amp;gt;x. P x) \&amp;lt;Longrightarrow&amp;gt; \&amp;lt;forall&amp;gt;x. P x&lt;br /&gt;
  *}&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 1 (p. 10). Demostrar que&lt;br /&gt;
     P(c), \&amp;lt;forall&amp;gt;x. (P(x) \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;Q(x)) \&amp;lt;turnstile&amp;gt; \&amp;lt;not&amp;gt;Q(c)&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_1a: &lt;br /&gt;
  assumes 1: &amp;quot;P(c)&amp;quot; and&lt;br /&gt;
          2: &amp;quot;\&amp;lt;forall&amp;gt;x. (P(x) \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;Q(x))&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;not&amp;gt;Q(c)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have 3: &amp;quot;P(c) \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;Q(c)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  show 4: &amp;quot;\&amp;lt;not&amp;gt;Q(c)&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_1b: &lt;br /&gt;
  assumes &amp;quot;P(c)&amp;quot;&lt;br /&gt;
          &amp;quot;\&amp;lt;forall&amp;gt;x. (P(x) \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;Q(x))&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;not&amp;gt;Q(c)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have &amp;quot;P(c) \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;Q(c)&amp;quot; using assms(2) ..&lt;br /&gt;
  thus &amp;quot;\&amp;lt;not&amp;gt;Q(c)&amp;quot; using assms(1) ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_1c: &lt;br /&gt;
  assumes &amp;quot;P(c)&amp;quot;&lt;br /&gt;
          &amp;quot;\&amp;lt;forall&amp;gt;x. (P(x) \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;Q(x))&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;not&amp;gt;Q(c)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 2 (p. 11). Demostrar que&lt;br /&gt;
     \&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;(Q x)), \&amp;lt;forall&amp;gt;x. P x \&amp;lt;turnstile&amp;gt; \&amp;lt;forall&amp;gt;x. \&amp;lt;not&amp;gt;(Q x)&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_2a: &lt;br /&gt;
  assumes 1: &amp;quot;\&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;(Q x))&amp;quot; and&lt;br /&gt;
          2: &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;forall&amp;gt;x. \&amp;lt;not&amp;gt;(Q x)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  { fix a&lt;br /&gt;
    have 3: &amp;quot;P a \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;(Q a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
    have 4: &amp;quot;P a&amp;quot; using 2 by (rule allE)&lt;br /&gt;
    have 5: &amp;quot;\&amp;lt;not&amp;gt;(Q a)&amp;quot; using 3 4 by (rule mp) }&lt;br /&gt;
  thus &amp;quot;\&amp;lt;forall&amp;gt;x. \&amp;lt;not&amp;gt;(Q x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada hacia atrás es&amp;quot;&lt;br /&gt;
lemma ejemplo_2b: &lt;br /&gt;
  assumes 1: &amp;quot;\&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;(Q x))&amp;quot; and&lt;br /&gt;
          2: &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;forall&amp;gt;x. \&amp;lt;not&amp;gt;(Q x)&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix a&lt;br /&gt;
  have 3: &amp;quot;P a \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;(Q a)&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 4: &amp;quot;P a&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  show 5: &amp;quot;\&amp;lt;not&amp;gt;(Q a)&amp;quot; using 3 4 by (rule mp) &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_2c: &lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;(Q x))&amp;quot;&lt;br /&gt;
          &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;forall&amp;gt;x. \&amp;lt;not&amp;gt;(Q x)&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
  fix a&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using assms(2) ..&lt;br /&gt;
  have &amp;quot;P a \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;(Q a)&amp;quot; using assms(1) ..&lt;br /&gt;
  thus &amp;quot;\&amp;lt;not&amp;gt;(Q a)&amp;quot; using `P a` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_2d: &lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; \&amp;lt;not&amp;gt;(Q x))&amp;quot;&lt;br /&gt;
          &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;forall&amp;gt;x. \&amp;lt;not&amp;gt;(Q x)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
section {* Reglas del cuantificador existencial *}&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Las reglas del cuantificador existencial son&lt;br /&gt;
  · exI:     P a \&amp;lt;Longrightarrow&amp;gt; \&amp;lt;exists&amp;gt;x. P x&lt;br /&gt;
  · exE:     \&amp;lt;lbrakk&amp;gt;\&amp;lt;exists&amp;gt;x. P x; \&amp;lt;And&amp;gt;x. P x \&amp;lt;Longrightarrow&amp;gt; Q\&amp;lt;rbrakk&amp;gt; \&amp;lt;Longrightarrow&amp;gt; Q&lt;br /&gt;
&lt;br /&gt;
  En la regla exE la nueva variable se introduce mediante la declaración &lt;br /&gt;
  &amp;quot;obtain ... where ... by (rule exE)&amp;quot; &lt;br /&gt;
  *}&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo  (p. 12). Demostrar que&lt;br /&gt;
     \&amp;lt;forall&amp;gt;x. P x \&amp;lt;turnstile&amp;gt; \&amp;lt;exists&amp;gt;x. P x&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_3a:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  fix a&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_3b:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  fix a&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using assms ..&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada se puede simplificar&amp;quot;&lt;br /&gt;
lemma ejemplo_3c:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot;&lt;br /&gt;
proof (rule exI)&lt;br /&gt;
  fix a&lt;br /&gt;
  show &amp;quot;P a&amp;quot; using assms ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada se puede simplificar aún más&amp;quot;&lt;br /&gt;
lemma ejemplo_3d:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
  fix a&lt;br /&gt;
  show &amp;quot;P a&amp;quot; using assms ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_3e:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 4 (p. 13). Demostrar&lt;br /&gt;
     \&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; Q x), \&amp;lt;exists&amp;gt;x. P x \&amp;lt;turnstile&amp;gt; \&amp;lt;exists&amp;gt;x. Q x&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_4a:&lt;br /&gt;
  assumes 1: &amp;quot;\&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; Q x)&amp;quot; and&lt;br /&gt;
          2: &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;exists&amp;gt;x. Q x&amp;quot;&lt;br /&gt;
proof -&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 \&amp;lt;longrightarrow&amp;gt; Q a&amp;quot; using 1 by (rule allE)&lt;br /&gt;
  have 5: &amp;quot;Q a&amp;quot; using 4 3 by (rule mp)&lt;br /&gt;
  thus 6: &amp;quot;\&amp;lt;exists&amp;gt;x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_4b:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; Q x)&amp;quot;&lt;br /&gt;
          &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;exists&amp;gt;x. Q x&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain a where &amp;quot;P a&amp;quot; using assms(2) ..&lt;br /&gt;
  have &amp;quot;P a \&amp;lt;longrightarrow&amp;gt; Q a&amp;quot; using assms(1) ..&lt;br /&gt;
  hence &amp;quot;Q a&amp;quot; using `P a` ..&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. Q x&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_4c:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. (P x \&amp;lt;longrightarrow&amp;gt; Q x)&amp;quot;&lt;br /&gt;
          &amp;quot;\&amp;lt;exists&amp;gt;x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;\&amp;lt;exists&amp;gt;x. Q x&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
section {* Demostración de equivalencias *}&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 5.1 (p. 15). Demostrar&lt;br /&gt;
     \&amp;lt;not&amp;gt;\&amp;lt;forall&amp;gt;x. P x  \&amp;lt;turnstile&amp;gt; \&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;(P x) *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_5_1a:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot;&lt;br /&gt;
proof (rule ccontr)&lt;br /&gt;
  assume &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x))&amp;quot;&lt;br /&gt;
  have &amp;quot;\&amp;lt;forall&amp;gt;x. P(x)&amp;quot;&lt;br /&gt;
  proof (rule allI)&lt;br /&gt;
    fix a&lt;br /&gt;
    show &amp;quot;P(a)&amp;quot;&lt;br /&gt;
    proof (rule ccontr)&lt;br /&gt;
      assume &amp;quot;\&amp;lt;not&amp;gt;P(a)&amp;quot;&lt;br /&gt;
      hence &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot; by (rule exI)&lt;br /&gt;
      with `\&amp;lt;not&amp;gt;(\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x))` show False by (rule notE)&lt;br /&gt;
    qed&lt;br /&gt;
  qed&lt;br /&gt;
  with assms show False by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_5_1b:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot;&lt;br /&gt;
proof (rule ccontr)&lt;br /&gt;
  assume &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x))&amp;quot;&lt;br /&gt;
  have &amp;quot;\&amp;lt;forall&amp;gt;x. P(x)&amp;quot;&lt;br /&gt;
  proof &lt;br /&gt;
    fix a&lt;br /&gt;
    show &amp;quot;P(a)&amp;quot;&lt;br /&gt;
    proof (rule ccontr)&lt;br /&gt;
      assume &amp;quot;\&amp;lt;not&amp;gt;P(a)&amp;quot;&lt;br /&gt;
      hence &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot; ..&lt;br /&gt;
      with `\&amp;lt;not&amp;gt;(\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x))` show False ..&lt;br /&gt;
    qed&lt;br /&gt;
  qed&lt;br /&gt;
  with assms show False ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_5_1c:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 5.2 (p. 16). Demostrar&lt;br /&gt;
     \&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;(P x)  \&amp;lt;turnstile&amp;gt; \&amp;lt;not&amp;gt;\&amp;lt;forall&amp;gt;x. P x *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_5_2a:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))&amp;quot;&lt;br /&gt;
proof (rule notI)&lt;br /&gt;
  assume &amp;quot;\&amp;lt;forall&amp;gt;x. P(x)&amp;quot;&lt;br /&gt;
  obtain a where &amp;quot;\&amp;lt;not&amp;gt;P(a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
  have &amp;quot;P(a)&amp;quot; using `\&amp;lt;forall&amp;gt;x. P(x)` by (rule allE)&lt;br /&gt;
  with `\&amp;lt;not&amp;gt;P(a)` show False by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_5_2b:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
  assume &amp;quot;\&amp;lt;forall&amp;gt;x. P(x)&amp;quot;&lt;br /&gt;
  obtain a where &amp;quot;\&amp;lt;not&amp;gt;P(a)&amp;quot; using assms ..&lt;br /&gt;
  have &amp;quot;P(a)&amp;quot; using `\&amp;lt;forall&amp;gt;x. P(x)` ..&lt;br /&gt;
  with `\&amp;lt;not&amp;gt;P(a)` show False ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_5_2c:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 5.3 (p. 17). Demostrar&lt;br /&gt;
     \&amp;lt;turnstile&amp;gt; \&amp;lt;not&amp;gt;\&amp;lt;forall&amp;gt;x. P x  \&amp;lt;longleftrightarrow&amp;gt; \&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;(P x) *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_5_3a:&lt;br /&gt;
  &amp;quot;(\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x))&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
  assume &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))&amp;quot;&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot; by (rule ejemplo_5_1a)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x)&amp;quot;&lt;br /&gt;
  thus &amp;quot;\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))&amp;quot; by (rule ejemplo_5_2a)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_5_3b:&lt;br /&gt;
  &amp;quot;(\&amp;lt;not&amp;gt;(\&amp;lt;forall&amp;gt;x. P(x))) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;exists&amp;gt;x. \&amp;lt;not&amp;gt;P(x))&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 6.1 (p. 18). Demostrar&lt;br /&gt;
     \&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x) \&amp;lt;turnstile&amp;gt;  (\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x)) *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_6_1a:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
proof (rule conjI)&lt;br /&gt;
  show &amp;quot;\&amp;lt;forall&amp;gt;x. P(x)&amp;quot;&lt;br /&gt;
  proof (rule allI)&lt;br /&gt;
    fix a&lt;br /&gt;
    have &amp;quot;P(a) \&amp;lt;and&amp;gt; Q(a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
    thus &amp;quot;P(a)&amp;quot; by (rule conjunct1)&lt;br /&gt;
  qed&lt;br /&gt;
next&lt;br /&gt;
  show &amp;quot;\&amp;lt;forall&amp;gt;x. Q(x)&amp;quot;&lt;br /&gt;
  proof (rule allI)&lt;br /&gt;
    fix a&lt;br /&gt;
    have &amp;quot;P(a) \&amp;lt;and&amp;gt; Q(a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
    thus &amp;quot;Q(a)&amp;quot; by (rule conjunct2)&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_6_1b:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
  show &amp;quot;\&amp;lt;forall&amp;gt;x. P(x)&amp;quot;&lt;br /&gt;
  proof &lt;br /&gt;
    fix a&lt;br /&gt;
    have &amp;quot;P(a) \&amp;lt;and&amp;gt; Q(a)&amp;quot; using assms ..&lt;br /&gt;
    thus &amp;quot;P(a)&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
next&lt;br /&gt;
  show &amp;quot;\&amp;lt;forall&amp;gt;x. Q(x)&amp;quot;&lt;br /&gt;
  proof &lt;br /&gt;
    fix a&lt;br /&gt;
    have &amp;quot;P(a) \&amp;lt;and&amp;gt; Q(a)&amp;quot; using assms ..&lt;br /&gt;
    thus &amp;quot;Q(a)&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_6_1c:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 6.2 (p. 19). Demostrar&lt;br /&gt;
     (\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x)) \&amp;lt;turnstile&amp;gt; \&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)  *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_6_2a:&lt;br /&gt;
  assumes &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix a&lt;br /&gt;
  have &amp;quot;\&amp;lt;forall&amp;gt;x. P(x)&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
  hence &amp;quot;P(a)&amp;quot; by (rule allE)&lt;br /&gt;
  have &amp;quot;\&amp;lt;forall&amp;gt;x. Q(x)&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  hence &amp;quot;Q(a)&amp;quot; by (rule allE)&lt;br /&gt;
  with `P(a)` show &amp;quot;P(a) \&amp;lt;and&amp;gt; Q(a)&amp;quot; by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_6_2b:&lt;br /&gt;
  assumes &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
  fix a&lt;br /&gt;
  have &amp;quot;\&amp;lt;forall&amp;gt;x. P(x)&amp;quot; using assms ..&lt;br /&gt;
  hence &amp;quot;P(a)&amp;quot; by (rule allE)&lt;br /&gt;
  have &amp;quot;\&amp;lt;forall&amp;gt;x. Q(x)&amp;quot; using assms ..&lt;br /&gt;
  hence &amp;quot;Q(a)&amp;quot; ..&lt;br /&gt;
  with `P(a)` show &amp;quot;P(a) \&amp;lt;and&amp;gt; Q(a)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_6_2c:&lt;br /&gt;
  assumes &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 6.3 (p. 20). Demostrar&lt;br /&gt;
     \&amp;lt;turnstile&amp;gt; \&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x)) *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_6_3a:&lt;br /&gt;
  &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)) \&amp;lt;longleftrightarrow&amp;gt; ((\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x)))&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
  assume &amp;quot;\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
  thus &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x))&amp;quot; by (rule ejemplo_6_1a)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;(\&amp;lt;forall&amp;gt;x. P(x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  thus &amp;quot;\&amp;lt;forall&amp;gt;x. P(x) \&amp;lt;and&amp;gt; Q(x)&amp;quot; by (rule ejemplo_6_2a)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 7.1 (p. 21). Demostrar&lt;br /&gt;
     (\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x)) \&amp;lt;turnstile&amp;gt; \&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)  *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_7_1a:&lt;br /&gt;
  assumes &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
proof (rule disjE)&lt;br /&gt;
  assume &amp;quot;\&amp;lt;exists&amp;gt;x. P(x)&amp;quot;&lt;br /&gt;
  then obtain a where &amp;quot;P(a)&amp;quot; by (rule exE)&lt;br /&gt;
  hence &amp;quot;P(a) \&amp;lt;or&amp;gt; Q(a)&amp;quot; by (rule disjI1)&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;\&amp;lt;exists&amp;gt;x. Q(x)&amp;quot;&lt;br /&gt;
  then obtain a where &amp;quot;Q(a)&amp;quot; by (rule exE)&lt;br /&gt;
  hence &amp;quot;P(a) \&amp;lt;or&amp;gt; Q(a)&amp;quot; by (rule disjI2)&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_7_1b:&lt;br /&gt;
  assumes &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;\&amp;lt;exists&amp;gt;x. P(x)&amp;quot;&lt;br /&gt;
  then obtain a where &amp;quot;P(a)&amp;quot; ..&lt;br /&gt;
  hence &amp;quot;P(a) \&amp;lt;or&amp;gt; Q(a)&amp;quot; ..&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;\&amp;lt;exists&amp;gt;x. Q(x)&amp;quot;&lt;br /&gt;
  then obtain a where &amp;quot;Q(a)&amp;quot; ..&lt;br /&gt;
  hence &amp;quot;P(a) \&amp;lt;or&amp;gt; Q(a)&amp;quot; ..&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_7_1c:&lt;br /&gt;
  assumes &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 7.2 (p. 22). Demostrar&lt;br /&gt;
     \&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x) \&amp;lt;turnstile&amp;gt; (\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))  *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_7_2a:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain a where &amp;quot;P(a) \&amp;lt;or&amp;gt; Q(a)&amp;quot; using assms by (rule exE)&lt;br /&gt;
  thus &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  proof (rule disjE)&lt;br /&gt;
    assume &amp;quot;P(a)&amp;quot;&lt;br /&gt;
    hence &amp;quot;\&amp;lt;exists&amp;gt;x. P(x)&amp;quot; by (rule exI)&lt;br /&gt;
    thus &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot; by (rule disjI1)&lt;br /&gt;
  next&lt;br /&gt;
    assume &amp;quot;Q(a)&amp;quot;&lt;br /&gt;
    hence &amp;quot;\&amp;lt;exists&amp;gt;x. Q(x)&amp;quot; by (rule exI)&lt;br /&gt;
    thus &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot; by (rule disjI2)&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_7_2b:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain a where &amp;quot;P(a) \&amp;lt;or&amp;gt; Q(a)&amp;quot; using assms ..&lt;br /&gt;
  thus &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  proof &lt;br /&gt;
    assume &amp;quot;P(a)&amp;quot;&lt;br /&gt;
    hence &amp;quot;\&amp;lt;exists&amp;gt;x. P(x)&amp;quot; ..&lt;br /&gt;
    thus &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot; ..&lt;br /&gt;
  next&lt;br /&gt;
    assume &amp;quot;Q(a)&amp;quot;&lt;br /&gt;
    hence &amp;quot;\&amp;lt;exists&amp;gt;x. Q(x)&amp;quot; ..&lt;br /&gt;
    thus &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_7_2c:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 7.3 (p. 23). Demostrar&lt;br /&gt;
     \&amp;lt;turnstile&amp;gt; ((\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x))  *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_7_3a:&lt;br /&gt;
  &amp;quot;((\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x))&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
  assume &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot;&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot; by (rule ejemplo_7_1a)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x)&amp;quot;&lt;br /&gt;
  thus &amp;quot;(\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))&amp;quot; by (rule ejemplo_7_2a)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_7_3b:&lt;br /&gt;
  &amp;quot;((\&amp;lt;exists&amp;gt;x. P(x)) \&amp;lt;or&amp;gt; (\&amp;lt;exists&amp;gt;x. Q(x))) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;exists&amp;gt;x. P(x) \&amp;lt;or&amp;gt; Q(x))&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 8.1 (p. 24). Demostrar&lt;br /&gt;
     \&amp;lt;exists&amp;gt;x y. P(x,y) \&amp;lt;turnstile&amp;gt; \&amp;lt;exists&amp;gt;y x. P(x,y)  *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_8_1a:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain a where &amp;quot;\&amp;lt;exists&amp;gt;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;\&amp;lt;exists&amp;gt;x. P(x,b)&amp;quot; by (rule exI)&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_8_1b:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain a where &amp;quot;\&amp;lt;exists&amp;gt;y. P(a,y)&amp;quot; using assms ..&lt;br /&gt;
  then obtain b where &amp;quot;P(a,b)&amp;quot; ..&lt;br /&gt;
  hence &amp;quot;\&amp;lt;exists&amp;gt;x. P(x,b)&amp;quot; ..&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_8_1c:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 8.2. Demostrar&lt;br /&gt;
     \&amp;lt;exists&amp;gt;y x. P(x,y) \&amp;lt;turnstile&amp;gt; \&amp;lt;exists&amp;gt;x y. P(x,y)  *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_8_2a:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain b where &amp;quot;\&amp;lt;exists&amp;gt;x. P(x,b)&amp;quot; using assms by (rule exE)&lt;br /&gt;
  then obtain a where &amp;quot;P(a,b)&amp;quot; by (rule exE)&lt;br /&gt;
  hence &amp;quot;\&amp;lt;exists&amp;gt;y. P(a,y)&amp;quot; by (rule exI)&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_8_2b:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain b where &amp;quot;\&amp;lt;exists&amp;gt;x. P(x,b)&amp;quot; using assms ..&lt;br /&gt;
  then obtain a where &amp;quot;P(a,b)&amp;quot; ..&lt;br /&gt;
  hence &amp;quot;\&amp;lt;exists&amp;gt;y. P(a,y)&amp;quot; ..&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_8_2c:&lt;br /&gt;
  assumes &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 8.3 (p. 25). Demostrar&lt;br /&gt;
     \&amp;lt;turnstile&amp;gt; (\&amp;lt;exists&amp;gt;x y. P(x,y)) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;exists&amp;gt;y x. P(x,y))  *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_8_3a:&lt;br /&gt;
  &amp;quot;(\&amp;lt;exists&amp;gt;x y. P(x,y)) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;exists&amp;gt;y x. P(x,y))&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
  assume &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot;&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot; by (rule ejemplo_8_1a)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;\&amp;lt;exists&amp;gt;y x. P(x,y)&amp;quot;&lt;br /&gt;
  thus &amp;quot;\&amp;lt;exists&amp;gt;x y. P(x,y)&amp;quot; by (rule ejemplo_8_2a)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_8_3b:&lt;br /&gt;
  &amp;quot;(\&amp;lt;exists&amp;gt;x y. P(x,y)) \&amp;lt;longleftrightarrow&amp;gt; (\&amp;lt;exists&amp;gt;y x. P(x,y))&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
section {* Reglas de la igualdad *}&lt;br /&gt;
&lt;br /&gt;
text {*&lt;br /&gt;
  Las reglas básicas de la igualdad son:&lt;br /&gt;
  · refl:  t = t&lt;br /&gt;
  · subst: \&amp;lt;lbrakk&amp;gt;s = t; P s\&amp;lt;rbrakk&amp;gt; \&amp;lt;Longrightarrow&amp;gt; P t&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 9 (p. 27). Demostrar&lt;br /&gt;
     x+1 = 1+x, x+1 &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; x+1 &amp;gt; 0 \&amp;lt;turnstile&amp;gt; 1+x &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; 1+x &amp;gt; 0&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_9a: &lt;br /&gt;
  assumes &amp;quot;x+1 = 1+x&amp;quot; &lt;br /&gt;
          &amp;quot;x+1 &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; x+1 &amp;gt; 0&amp;quot;&lt;br /&gt;
  shows   &amp;quot;1+x &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; 1+x &amp;gt; 0&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;1+x &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; 1+x &amp;gt; 0&amp;quot; using assms by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_9b: &lt;br /&gt;
  assumes &amp;quot;x+1 = 1+x&amp;quot; &lt;br /&gt;
          &amp;quot;x+1 &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; x+1 &amp;gt; 0&amp;quot;&lt;br /&gt;
  shows   &amp;quot;1+x &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; 1+x &amp;gt; 0&amp;quot;&lt;br /&gt;
using assms &lt;br /&gt;
by (rule subst)&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_9c: &lt;br /&gt;
  assumes &amp;quot;x+1 = 1+x&amp;quot; &lt;br /&gt;
          &amp;quot;x+1 &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; x+1 &amp;gt; 0&amp;quot;&lt;br /&gt;
  shows   &amp;quot;1+x &amp;gt; 1 \&amp;lt;longrightarrow&amp;gt; 1+x &amp;gt; 0&amp;quot;&lt;br /&gt;
using assms &lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 10 (p. 27). Demostrar&lt;br /&gt;
     x = y, y = z \&amp;lt;turnstile&amp;gt; x = z&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_10a:&lt;br /&gt;
  assumes &amp;quot;x = y&amp;quot; &lt;br /&gt;
          &amp;quot;y = z&amp;quot;&lt;br /&gt;
  shows   &amp;quot;x = z&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;x = z&amp;quot; using assms(2,1) by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejemplo_10b: &lt;br /&gt;
  assumes &amp;quot;x = y&amp;quot; &lt;br /&gt;
          &amp;quot;y = z&amp;quot;&lt;br /&gt;
  shows   &amp;quot;x = z&amp;quot;&lt;br /&gt;
using assms(2,1)&lt;br /&gt;
by (rule subst)&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemplo_10c: &lt;br /&gt;
  assumes &amp;quot;x = y&amp;quot; &lt;br /&gt;
          &amp;quot;y = z&amp;quot;&lt;br /&gt;
  shows   &amp;quot;x = z&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 11 (p. 28). Demostrar&lt;br /&gt;
     s = t \&amp;lt;turnstile&amp;gt; t = s&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejemplo_11a:&lt;br /&gt;
  assumes &amp;quot;s = t&amp;quot;&lt;br /&gt;
  shows   &amp;quot;t = s&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have &amp;quot;s = s&amp;quot; by (rule refl)&lt;br /&gt;
  with assms show &amp;quot;t = s&amp;quot; by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejemlo_11b:&lt;br /&gt;
  assumes &amp;quot;s = t&amp;quot;&lt;br /&gt;
  shows   &amp;quot;t = s&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jalonso</name></author>
		
	</entry>
</feed>