<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/LMF2019/index.php?action=history&amp;feed=atom&amp;title=Tema_4a</id>
	<title>Tema 4a - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?action=history&amp;feed=atom&amp;title=Tema_4a"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Tema_4a&amp;action=history"/>
	<updated>2026-07-20T00:14:04Z</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/LMF2019/index.php?title=Tema_4a&amp;diff=814&amp;oldid=prev</id>
		<title>Jalonso en 20:03 7 feb 2020</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Tema_4a&amp;diff=814&amp;oldid=prev"/>
		<updated>2020-02-07T20:03:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Tema_4a&amp;amp;diff=814&amp;amp;oldid=25&quot;&gt;Mostrar los cambios&lt;/a&gt;</summary>
		<author><name>Jalonso</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Tema_4a&amp;diff=25&amp;oldid=prev</id>
		<title>Jalonso en 11:13 7 feb 2019</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Tema_4a&amp;diff=25&amp;oldid=prev"/>
		<updated>2019-02-07T11:13:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 11:13 7 feb 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;es&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Sin diferencias)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Jalonso</name></author>
		
	</entry>
	<entry>
		<id>https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Tema_4a&amp;diff=11&amp;oldid=prev</id>
		<title>Jalonso en 10:59 7 feb 2019</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/LMF2019/index.php?title=Tema_4a&amp;diff=11&amp;oldid=prev"/>
		<updated>2019-02-07T10:59:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;isabelle&amp;quot;&amp;gt;&lt;br /&gt;
chapter {* Tema 4a: Deducción natural en lógica de primer orden *}&lt;br /&gt;
&lt;br /&gt;
theory T4a_Deduccion_natural_en_logica_de_primer_orden&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 4 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:    ⟦∀x. P x; P a ⟹ R⟧ ⟹ R&lt;br /&gt;
  · allI:    (⋀x. P x) ⟹ ∀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), ∀x. (P(x) ⟶ ¬Q(x)) ⊢ ¬Q(c)&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_1a: &lt;br /&gt;
  assumes 1: &amp;quot;P(c)&amp;quot; and&lt;br /&gt;
          2: &amp;quot;∀x. (P(x) ⟶ ¬Q(x))&amp;quot;&lt;br /&gt;
  shows &amp;quot;¬Q(c)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have 3: &amp;quot;P(c) ⟶ ¬Q(c)&amp;quot; using 2 by (rule allE)&lt;br /&gt;
  show 4: &amp;quot;¬Q(c)&amp;quot; using 3 1 by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_1b: &lt;br /&gt;
  assumes &amp;quot;P(c)&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. (P(x) ⟶ ¬Q(x))&amp;quot;&lt;br /&gt;
  shows &amp;quot;¬Q(c)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  have &amp;quot;P(c) ⟶ ¬Q(c)&amp;quot; using assms(2) ..&lt;br /&gt;
  then show &amp;quot;¬Q(c)&amp;quot; using assms(1) ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_1c: &lt;br /&gt;
  assumes &amp;quot;P(c)&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. (P(x) ⟶ ¬Q(x))&amp;quot;&lt;br /&gt;
  shows &amp;quot;¬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;
     ∀x. (P x ⟶ ¬(Q x)), ∀x. P x ⊢ ∀x. ¬(Q x)&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_2a: &lt;br /&gt;
  assumes 1: &amp;quot;∀x. (P x ⟶ ¬(Q x))&amp;quot; and&lt;br /&gt;
          2: &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  { fix a&lt;br /&gt;
    have 3: &amp;quot;P a ⟶ ¬(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;¬(Q a)&amp;quot; using 3 4 by (rule mp) }&lt;br /&gt;
  then show &amp;quot;∀x. ¬(Q x)&amp;quot; by (rule allI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada hacia atrás es›&lt;br /&gt;
lemma ejemplo_2b: &lt;br /&gt;
  assumes 1: &amp;quot;∀x. (P x ⟶ ¬(Q x))&amp;quot; and&lt;br /&gt;
          2: &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;∀x. ¬(Q x)&amp;quot;&lt;br /&gt;
proof (rule allI)&lt;br /&gt;
  fix a&lt;br /&gt;
  have 3: &amp;quot;P a ⟶ ¬(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;¬(Q a)&amp;quot; using 3 4 by (rule mp) &lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_2c: &lt;br /&gt;
  assumes &amp;quot;∀x. (P x ⟶ ¬(Q x))&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;∀x. ¬(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 ⟶ ¬(Q a)&amp;quot; using assms(1) ..&lt;br /&gt;
  then show &amp;quot;¬(Q a)&amp;quot; using `P a` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_2d: &lt;br /&gt;
  assumes &amp;quot;∀x. (P x ⟶ ¬(Q x))&amp;quot;&lt;br /&gt;
          &amp;quot;∀x. P x&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∀x. ¬(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 ⟹ ∃x. P x&lt;br /&gt;
  · exE:     ⟦∃x. P x; ⋀x. P x ⟹ Q⟧ ⟹ 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;
     ∀x. P x ⊢ ∃x. P x&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_3a:&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 a&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using assms by (rule allE)&lt;br /&gt;
  then show &amp;quot;∃x. P x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_3b:&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 a&lt;br /&gt;
  have &amp;quot;P a&amp;quot; using assms ..&lt;br /&gt;
  then show &amp;quot;∃x. P x&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada se puede simplificar›&lt;br /&gt;
lemma ejemplo_3c:&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 (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;
― ‹La demostración estructurada se puede simplificar aún más›&lt;br /&gt;
lemma ejemplo_3d:&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 a&lt;br /&gt;
  show &amp;quot;P a&amp;quot; using assms ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_3e:&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;
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;
     ∀x. (P x ⟶ Q x), ∃x. P x ⊢ ∃x. Q x&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_4a:&lt;br /&gt;
  assumes 1: &amp;quot;∀x. (P x ⟶ Q x)&amp;quot; and&lt;br /&gt;
          2: &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;∃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 ⟶ 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;
  then show 6: &amp;quot;∃x. Q x&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_4b:&lt;br /&gt;
  assumes &amp;quot;∀x. (P x ⟶ Q x)&amp;quot;&lt;br /&gt;
          &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;∃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 ⟶ Q a&amp;quot; using assms(1) ..&lt;br /&gt;
  then have &amp;quot;Q a&amp;quot; using `P a` ..&lt;br /&gt;
  then show &amp;quot;∃x. Q x&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_4c:&lt;br /&gt;
  assumes &amp;quot;∀x. (P x ⟶ Q x)&amp;quot;&lt;br /&gt;
          &amp;quot;∃x. P x&amp;quot;&lt;br /&gt;
  shows &amp;quot;∃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;
     ¬∀x. P x  ⊢ ∃x. ¬(P x) *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_5_1a:&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 (rule ccontr)&lt;br /&gt;
  assume &amp;quot;¬(∃x. ¬P(x))&amp;quot;&lt;br /&gt;
  have &amp;quot;∀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;¬P(a)&amp;quot;&lt;br /&gt;
      then have &amp;quot;∃x. ¬P(x)&amp;quot; by (rule exI)&lt;br /&gt;
      with `¬(∃x. ¬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;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_5_1b:&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 (rule ccontr)&lt;br /&gt;
  assume &amp;quot;¬(∃x. ¬P(x))&amp;quot;&lt;br /&gt;
  have &amp;quot;∀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;¬P(a)&amp;quot;&lt;br /&gt;
      then have &amp;quot;∃x. ¬P(x)&amp;quot; ..&lt;br /&gt;
      with `¬(∃x. ¬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;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_5_1c:&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;
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;
     ∃x. ¬(P x)  ⊢ ¬∀x. P x *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_5_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 (rule notI)&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;
  with `¬P(a)` show False by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_5_2b:&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 ..&lt;br /&gt;
  have &amp;quot;P(a)&amp;quot; using `∀x. P(x)` ..&lt;br /&gt;
  with `¬P(a)` show False ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_5_2c:&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;
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;
     ⊢ ¬∀x. P x  ⟷ ∃x. ¬(P x) *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_5_3a:&lt;br /&gt;
  &amp;quot;(¬(∀x. P(x))) ⟷ (∃x. ¬P(x))&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
  assume &amp;quot;¬(∀x. P(x))&amp;quot;&lt;br /&gt;
  then show &amp;quot;∃x. ¬P(x)&amp;quot; by (rule ejemplo_5_1a)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;∃x. ¬P(x)&amp;quot;&lt;br /&gt;
  then show &amp;quot;¬(∀x. P(x))&amp;quot; by (rule ejemplo_5_2a)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_5_3b:&lt;br /&gt;
  &amp;quot;(¬(∀x. P(x))) ⟷ (∃x. ¬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;
     ∀x. P(x) ∧ Q(x) ⊢  (∀x. P(x)) ∧ (∀x. Q(x)) *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_6_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 conjI)&lt;br /&gt;
  show &amp;quot;∀x. P(x)&amp;quot;&lt;br /&gt;
  proof (rule allI)&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;
    then show &amp;quot;P(a)&amp;quot; by (rule conjunct1)&lt;br /&gt;
  qed&lt;br /&gt;
next&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 &amp;quot;P(a) ∧ Q(a)&amp;quot; using assms by (rule allE)&lt;br /&gt;
    then show &amp;quot;Q(a)&amp;quot; by (rule conjunct2)&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_6_1b:&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;
  show &amp;quot;∀x. P(x)&amp;quot;&lt;br /&gt;
  proof &lt;br /&gt;
    fix a&lt;br /&gt;
    have &amp;quot;P(a) ∧ Q(a)&amp;quot; using assms ..&lt;br /&gt;
    then show &amp;quot;P(a)&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
next&lt;br /&gt;
  show &amp;quot;∀x. Q(x)&amp;quot;&lt;br /&gt;
  proof &lt;br /&gt;
    fix a&lt;br /&gt;
    have &amp;quot;P(a) ∧ Q(a)&amp;quot; using assms ..&lt;br /&gt;
    then show &amp;quot;Q(a)&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_6_1c:&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;
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;
     (∀x. P(x)) ∧ (∀x. Q(x)) ⊢ ∀x. P(x) ∧ Q(x)  *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_6_2a:&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 (rule allI)&lt;br /&gt;
  fix a&lt;br /&gt;
  have &amp;quot;∀x. P(x)&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
  then have &amp;quot;P(a)&amp;quot; by (rule allE)&lt;br /&gt;
  have &amp;quot;∀x. Q(x)&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
  then have &amp;quot;Q(a)&amp;quot; by (rule allE)&lt;br /&gt;
  with `P(a)` show &amp;quot;P(a) ∧ Q(a)&amp;quot; by (rule conjI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_6_2b:&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;
  have &amp;quot;∀x. P(x)&amp;quot; using assms ..&lt;br /&gt;
  then have &amp;quot;P(a)&amp;quot; by (rule allE)&lt;br /&gt;
  have &amp;quot;∀x. Q(x)&amp;quot; using assms ..&lt;br /&gt;
  then have &amp;quot;Q(a)&amp;quot; ..&lt;br /&gt;
  with `P(a)` show &amp;quot;P(a) ∧ Q(a)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_6_2c:&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;
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;
     ⊢ ∀x. P(x) ∧ Q(x) ⟷ (∀x. P(x)) ∧ (∀x. Q(x)) *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_6_3a:&lt;br /&gt;
  &amp;quot;(∀x. P(x) ∧ Q(x)) ⟷ ((∀x. P(x)) ∧ (∀x. Q(x)))&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
  assume &amp;quot;∀x. P(x) ∧ Q(x)&amp;quot;&lt;br /&gt;
  then show &amp;quot;(∀x. P(x)) ∧ (∀x. Q(x))&amp;quot; by (rule ejemplo_6_1a)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;(∀x. P(x)) ∧ (∀x. Q(x))&amp;quot;&lt;br /&gt;
  then show &amp;quot;∀x. P(x) ∧ 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;
     (∃x. P(x)) ∨ (∃x. Q(x)) ⊢ ∃x. P(x) ∨ Q(x)  *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_7_1a:&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;
using assms&lt;br /&gt;
proof (rule disjE)&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;
  then have &amp;quot;P(a) ∨ Q(a)&amp;quot; by (rule disjI1)&lt;br /&gt;
  then show &amp;quot;∃x. P(x) ∨ Q(x)&amp;quot; by (rule exI)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;∃x. Q(x)&amp;quot;&lt;br /&gt;
  then obtain a where &amp;quot;Q(a)&amp;quot; by (rule exE)&lt;br /&gt;
  then have &amp;quot;P(a) ∨ Q(a)&amp;quot; by (rule disjI2)&lt;br /&gt;
  then show &amp;quot;∃x. P(x) ∨ Q(x)&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_7_1b:&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;
using assms&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; ..&lt;br /&gt;
  then have &amp;quot;P(a) ∨ Q(a)&amp;quot; ..&lt;br /&gt;
  then show &amp;quot;∃x. P(x) ∨ Q(x)&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;∃x. Q(x)&amp;quot;&lt;br /&gt;
  then obtain a where &amp;quot;Q(a)&amp;quot; ..&lt;br /&gt;
  then have &amp;quot;P(a) ∨ Q(a)&amp;quot; ..&lt;br /&gt;
  then show &amp;quot;∃x. P(x) ∨ Q(x)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_7_1c:&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;
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;
     ∃x. P(x) ∨ Q(x) ⊢ (∃x. P(x)) ∨ (∃x. Q(x))  *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_7_2a:&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;
  then show &amp;quot;(∃x. P(x)) ∨ (∃x. Q(x))&amp;quot;&lt;br /&gt;
  proof (rule disjE)&lt;br /&gt;
    assume &amp;quot;P(a)&amp;quot;&lt;br /&gt;
    then have &amp;quot;∃x. P(x)&amp;quot; by (rule exI)&lt;br /&gt;
    then show &amp;quot;(∃x. P(x)) ∨ (∃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;
    then have &amp;quot;∃x. Q(x)&amp;quot; by (rule exI)&lt;br /&gt;
    then show &amp;quot;(∃x. P(x)) ∨ (∃x. Q(x))&amp;quot; by (rule disjI2)&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejercicio_7_2b:&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 ..&lt;br /&gt;
  then show &amp;quot;(∃x. P(x)) ∨ (∃x. Q(x))&amp;quot;&lt;br /&gt;
  proof &lt;br /&gt;
    assume &amp;quot;P(a)&amp;quot;&lt;br /&gt;
    then have &amp;quot;∃x. P(x)&amp;quot; ..&lt;br /&gt;
    then show &amp;quot;(∃x. P(x)) ∨ (∃x. Q(x))&amp;quot; ..&lt;br /&gt;
  next&lt;br /&gt;
    assume &amp;quot;Q(a)&amp;quot;&lt;br /&gt;
    then have &amp;quot;∃x. Q(x)&amp;quot; ..&lt;br /&gt;
    then show &amp;quot;(∃x. P(x)) ∨ (∃x. Q(x))&amp;quot; ..&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejercicio_7_2c:&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;
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;
     ⊢ ((∃x. P(x)) ∨ (∃x. Q(x))) ⟷ (∃x. P(x) ∨ Q(x))  *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_7_3a:&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 &amp;quot;(∃x. P(x)) ∨ (∃x. Q(x))&amp;quot;&lt;br /&gt;
  then show &amp;quot;∃x. P(x) ∨ Q(x)&amp;quot; by (rule ejemplo_7_1a)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;∃x. P(x) ∨ Q(x)&amp;quot;&lt;br /&gt;
  then show &amp;quot;(∃x. P(x)) ∨ (∃x. Q(x))&amp;quot; by (rule ejemplo_7_2a)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_7_3b:&lt;br /&gt;
  &amp;quot;((∃x. P(x)) ∨ (∃x. Q(x))) ⟷ (∃x. P(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 8.1 (p. 24). Demostrar&lt;br /&gt;
     ∃x y. P(x,y) ⊢ ∃y x. P(x,y)  *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_8_1a:&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;
  then obtain b where &amp;quot;P(a,b)&amp;quot; by (rule exE)&lt;br /&gt;
  then have &amp;quot;∃x. P(x,b)&amp;quot; by (rule exI)&lt;br /&gt;
  then show &amp;quot;∃y x. P(x,y)&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_8_1b:&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 ..&lt;br /&gt;
  then obtain b where &amp;quot;P(a,b)&amp;quot; ..&lt;br /&gt;
  then have &amp;quot;∃x. P(x,b)&amp;quot; ..&lt;br /&gt;
  then show &amp;quot;∃y x. P(x,y)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_8_1c:&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;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
text {* &lt;br /&gt;
  Ejemplo 8.2. Demostrar&lt;br /&gt;
     ∃y x. P(x,y) ⊢ ∃x y. P(x,y)  *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_8_2a:&lt;br /&gt;
  assumes &amp;quot;∃y x. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. P(x,y)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain b where &amp;quot;∃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;
  then have &amp;quot;∃y. P(a,y)&amp;quot; by (rule exI)&lt;br /&gt;
  then show &amp;quot;∃x y. P(x,y)&amp;quot; by (rule exI)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_8_2b:&lt;br /&gt;
  assumes &amp;quot;∃y x. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃x y. P(x,y)&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  obtain b where &amp;quot;∃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;
  then have &amp;quot;∃y. P(a,y)&amp;quot; ..&lt;br /&gt;
  then show &amp;quot;∃x y. P(x,y)&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&lt;br /&gt;
lemma ejemplo_8_2c:&lt;br /&gt;
  assumes &amp;quot;∃y x. P(x,y)&amp;quot;&lt;br /&gt;
  shows   &amp;quot;∃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;
     ⊢ (∃x y. P(x,y)) ⟷ (∃y x. P(x,y))  *}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&lt;br /&gt;
lemma ejemplo_8_3a:&lt;br /&gt;
  &amp;quot;(∃x y. P(x,y)) ⟷ (∃y x. P(x,y))&amp;quot;&lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
  assume &amp;quot;∃x y. P(x,y)&amp;quot;&lt;br /&gt;
  then show &amp;quot;∃y x. P(x,y)&amp;quot; by (rule ejemplo_8_1a)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;∃y x. P(x,y)&amp;quot;&lt;br /&gt;
  then show &amp;quot;∃x y. P(x,y)&amp;quot; by (rule ejemplo_8_2a)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_8_3b:&lt;br /&gt;
  &amp;quot;(∃x y. P(x,y)) ⟷ (∃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: ⟦s = t; P s⟧ ⟹ 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 ⟶ x + 1 &amp;gt; 0 ⊢ 1 + x &amp;gt; 1 ⟶ 1 + x &amp;gt; 0&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&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 ⟶ x + 1 &amp;gt; 0&amp;quot;&lt;br /&gt;
  shows   &amp;quot;1 + x &amp;gt; 1 ⟶ 1 + x &amp;gt; 0&amp;quot;&lt;br /&gt;
proof -&lt;br /&gt;
  show &amp;quot;1 + x &amp;gt; 1 ⟶ 1 + x &amp;gt; 0&amp;quot; using assms by (rule subst)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración estructurada es›&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 ⟶ x + 1 &amp;gt; 0&amp;quot;&lt;br /&gt;
  shows   &amp;quot;1 + x &amp;gt; 1 ⟶ 1 + x &amp;gt; 0&amp;quot;&lt;br /&gt;
using assms &lt;br /&gt;
by (rule subst)&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración automática es›&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 ⟶ x + 1 &amp;gt; 0&amp;quot;&lt;br /&gt;
  shows   &amp;quot;1 + x &amp;gt; 1 ⟶ 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 ⊢ x = z&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&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;
― ‹La demostración estructurada es›&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;
― ‹La demostración automática es›&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 ⊢ t = s&lt;br /&gt;
*}&lt;br /&gt;
&lt;br /&gt;
― ‹La demostración detallada es›&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;
― ‹La demostración automática es›&lt;br /&gt;
lemma ejemplo_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>