<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://www.glc.us.es/~jalonso/DAO/index.php?action=history&amp;feed=atom&amp;title=GLC_T1R2</id>
	<title>GLC T1R2 - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://www.glc.us.es/~jalonso/DAO/index.php?action=history&amp;feed=atom&amp;title=GLC_T1R2"/>
	<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/DAO/index.php?title=GLC_T1R2&amp;action=history"/>
	<updated>2026-09-18T15:54:44Z</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/DAO/index.php?title=GLC_T1R2&amp;diff=182&amp;oldid=prev</id>
		<title>Jalonso: Texto reemplazado: «&quot;isar&quot;» por «&quot;isabelle&quot;»</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/DAO/index.php?title=GLC_T1R2&amp;diff=182&amp;oldid=prev"/>
		<updated>2018-07-15T12:00:12Z</updated>

		<summary type="html">&lt;p&gt;Texto reemplazado: «&amp;quot;isar&amp;quot;» por «&amp;quot;isabelle&amp;quot;»&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;es&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Revisión anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revisión del 12:00 15 jul 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Línea 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Línea 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;isar&lt;/del&gt;&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;isabelle&lt;/ins&gt;&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;header {* T1R2: Argumentación proposicional *}&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;header {* T1R2: Argumentación proposicional *}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&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/DAO/index.php?title=GLC_T1R2&amp;diff=65&amp;oldid=prev</id>
		<title>Jalonso: Página creada con &#039;&lt;source lang=&quot;isar&quot;&gt; header {* T1R2: Argumentación proposicional *}  theory T1R2 imports Main  begin  text {*   ----------------------------------------------------------------...&#039;</title>
		<link rel="alternate" type="text/html" href="https://www.glc.us.es/~jalonso/DAO/index.php?title=GLC_T1R2&amp;diff=65&amp;oldid=prev"/>
		<updated>2013-03-15T06:51:57Z</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 {* T1R2: Argumentación proposicional *}  theory T1R2 imports Main  begin  text {*   ----------------------------------------------------------------...&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 {* T1R2: Argumentación proposicional *}&lt;br /&gt;
&lt;br /&gt;
theory T1R2&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 es relación formalizar y demostrar la corrección&lt;br /&gt;
  de los argumentos usando sólo las reglas básicas de deducción natural&lt;br /&gt;
  de la lógica 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;
&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. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Cuando tanto la temperatura como la presión atmosférica permanecen&lt;br /&gt;
     contantes, no llueve. La temperatura permanece constante. Por lo&lt;br /&gt;
     tanto, en caso de que llueva, la presión atmosférica no permanece&lt;br /&gt;
     constante. &lt;br /&gt;
  Usar T para &amp;quot;La temperatura permanece constante&amp;quot;,&lt;br /&gt;
       P para &amp;quot;La presión atmosférica permanece constante&amp;quot; y&lt;br /&gt;
       L para &amp;quot;Llueve&amp;quot;.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_1_1:&lt;br /&gt;
  &amp;quot;⟦T ∧ P ⟶ ¬L; T⟧ ⟹ L ⟶ ¬P&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_1_2:&lt;br /&gt;
  assumes &amp;quot;T ∧ P ⟶ ¬L&amp;quot;&lt;br /&gt;
          &amp;quot;T&amp;quot;&lt;br /&gt;
  shows   &amp;quot;L ⟶ ¬P&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;L&amp;quot;&lt;br /&gt;
  show &amp;quot;¬P&amp;quot;&lt;br /&gt;
  proof&lt;br /&gt;
    assume &amp;quot;P&amp;quot;&lt;br /&gt;
    with `T` have &amp;quot;T ∧ P&amp;quot; ..&lt;br /&gt;
    with assms(1) have &amp;quot;¬L&amp;quot; ..&lt;br /&gt;
    thus &amp;quot;False&amp;quot; using `L` .. &lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_1_3:&lt;br /&gt;
  assumes &amp;quot;T ∧ P ⟶ ¬L&amp;quot;&lt;br /&gt;
          &amp;quot;T&amp;quot;&lt;br /&gt;
  shows   &amp;quot;L ⟶ ¬P&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;L&amp;quot;&lt;br /&gt;
  show &amp;quot;¬P&amp;quot;&lt;br /&gt;
  proof&lt;br /&gt;
    assume &amp;quot;P&amp;quot;&lt;br /&gt;
    with `T` have &amp;quot;T ∧ P&amp;quot; by (rule conjI)&lt;br /&gt;
    with assms(1) have &amp;quot;¬L&amp;quot; by (rule mp)&lt;br /&gt;
    thus &amp;quot;False&amp;quot; using `L` by (rule notE)&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 2. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Siempre que un número x es divisible por 10, acaba en 0. El número&lt;br /&gt;
     x no acaba en 0. Por lo tanto, x no es divisible por 10. &lt;br /&gt;
  Usar D para &amp;quot;el número es divisible por 10&amp;quot; y&lt;br /&gt;
       C para &amp;quot;el número acaba en cero&amp;quot;.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_2_1:&lt;br /&gt;
  &amp;quot;⟦C ⟶ D; ¬D⟧ ⟹ ¬C&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_2_2:&lt;br /&gt;
  assumes &amp;quot;C ⟶ D&amp;quot; &lt;br /&gt;
          &amp;quot;¬D&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬C&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
  assume &amp;quot;C&amp;quot;&lt;br /&gt;
  with assms(1) have &amp;quot;D&amp;quot; .. &lt;br /&gt;
  with assms(2) show False ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_2_3:&lt;br /&gt;
  assumes &amp;quot;C ⟶ D&amp;quot; &lt;br /&gt;
          &amp;quot;¬D&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬C&amp;quot;&lt;br /&gt;
proof &lt;br /&gt;
  assume &amp;quot;C&amp;quot;&lt;br /&gt;
  with assms(1) have &amp;quot;D&amp;quot; by (rule mp)&lt;br /&gt;
  with assms(2) show False by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 3. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     En cierto experimento, cuando hemos empleado un fármaco A, el&lt;br /&gt;
     paciente ha mejorado considerablemente en el caso, y sólo en el&lt;br /&gt;
     caso, en que no se haya empleado también un fármaco B. Además, o se&lt;br /&gt;
     ha empleado el fármaco A o se ha empleado el fármaco B. En&lt;br /&gt;
     consecuencia, podemos afirmar que si no hemos empleado el fármaco&lt;br /&gt;
     B, el paciente ha mejorado considerablemente. &lt;br /&gt;
  Usar A: Hemos empleado el fármaco A.&lt;br /&gt;
       B: Hemos empleado el fármaco B.&lt;br /&gt;
       M: El paciente ha mejorado notablemente.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_3_1:&lt;br /&gt;
  assumes &amp;quot;A ⟶ (M ⟷ ¬B)&amp;quot;&lt;br /&gt;
          &amp;quot;A ∨ B&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬B ⟶ M&amp;quot;&lt;br /&gt;
using assms&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_3_2:&lt;br /&gt;
  assumes &amp;quot;A ⟶ (M ⟷ ¬B)&amp;quot;&lt;br /&gt;
          &amp;quot;A ∨ B&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬B ⟶ M&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;¬B&amp;quot;&lt;br /&gt;
  note `A ∨ B`&lt;br /&gt;
  hence &amp;quot;A&amp;quot;&lt;br /&gt;
  proof&lt;br /&gt;
    assume &amp;quot;A&amp;quot;&lt;br /&gt;
    thus &amp;quot;A&amp;quot; .&lt;br /&gt;
  next&lt;br /&gt;
    assume &amp;quot;B&amp;quot;&lt;br /&gt;
    with `¬B` show &amp;quot;A&amp;quot; .. &lt;br /&gt;
  qed&lt;br /&gt;
  have &amp;quot;M ⟷ ¬B&amp;quot; using assms(1) `A` ..&lt;br /&gt;
  thus &amp;quot;M&amp;quot; using `¬B` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_3_3:&lt;br /&gt;
  assumes &amp;quot;A ⟶ (M ⟷ ¬B)&amp;quot;&lt;br /&gt;
          &amp;quot;A ∨ B&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬B ⟶ M&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;¬B&amp;quot;&lt;br /&gt;
  note `A ∨ B`&lt;br /&gt;
  hence &amp;quot;A&amp;quot;&lt;br /&gt;
  proof (rule disjE)&lt;br /&gt;
    assume &amp;quot;A&amp;quot;&lt;br /&gt;
    thus &amp;quot;A&amp;quot; by this&lt;br /&gt;
  next&lt;br /&gt;
    assume &amp;quot;B&amp;quot;&lt;br /&gt;
    with `¬B` show &amp;quot;A&amp;quot; by (rule notE)&lt;br /&gt;
  qed&lt;br /&gt;
  have &amp;quot;M ⟷ ¬B&amp;quot; using assms(1) `A` by (rule mp)&lt;br /&gt;
  thus &amp;quot;M&amp;quot; using `¬B` by (rule iffD2)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 4. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento&lt;br /&gt;
     Si no está el mañana ni el ayer escrito, entonces no está el mañana&lt;br /&gt;
     escrito. &lt;br /&gt;
  Usar M: El mañana está escrito.&lt;br /&gt;
       A: El ayer está escrito.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es:&amp;quot;&lt;br /&gt;
lemma ejercicio_4_1:&lt;br /&gt;
  &amp;quot;¬M ∧ ¬A ⟹ ¬M&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es:&amp;quot;&lt;br /&gt;
lemma ejercicio_4_2:&lt;br /&gt;
  assumes &amp;quot;¬M ∧ ¬A&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬M&amp;quot;&lt;br /&gt;
using assms ..&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es:&amp;quot;&lt;br /&gt;
lemma ejercicio_4_3:&lt;br /&gt;
  assumes &amp;quot;¬M ∧ ¬A&amp;quot;&lt;br /&gt;
  shows   &amp;quot;¬M&amp;quot;&lt;br /&gt;
using assms by (rule conjunct1)&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 5. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Me matan si no trabajo y si trabajo me matan. Me matan siempre me&lt;br /&gt;
     matan. &lt;br /&gt;
  Usar M: Me matan.&lt;br /&gt;
       T: Trabajo.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_5_1: &lt;br /&gt;
  &amp;quot;(¬T ⟶ M) ∧ (T ⟶ M) ⟹ M&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_5_2: &lt;br /&gt;
  assumes &amp;quot;(¬T ⟶ M) ∧ (T ⟶ M)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;M&amp;quot;&lt;br /&gt;
proof - &lt;br /&gt;
  have &amp;quot;¬T ∨ T&amp;quot; ..&lt;br /&gt;
  thus &amp;quot;M&amp;quot;&lt;br /&gt;
  proof&lt;br /&gt;
    assume &amp;quot;¬T&amp;quot;&lt;br /&gt;
    have &amp;quot;¬T ⟶ M&amp;quot; using assms ..&lt;br /&gt;
    thus &amp;quot;M&amp;quot; using `¬T` ..&lt;br /&gt;
  next&lt;br /&gt;
    assume &amp;quot;T&amp;quot;&lt;br /&gt;
    have &amp;quot;T ⟶ M&amp;quot; using assms ..&lt;br /&gt;
    thus &amp;quot;M&amp;quot; using `T` ..&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_5_3: &lt;br /&gt;
  assumes &amp;quot;(¬T ⟶ M) ∧ (T ⟶ M)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;M&amp;quot;&lt;br /&gt;
proof - &lt;br /&gt;
  have &amp;quot;¬T ∨ T&amp;quot; by (rule excluded_middle)&lt;br /&gt;
  thus &amp;quot;M&amp;quot;&lt;br /&gt;
  proof (rule disjE)&lt;br /&gt;
    assume &amp;quot;¬T&amp;quot;&lt;br /&gt;
    have &amp;quot;¬T ⟶ M&amp;quot; using assms by (rule conjunct1)&lt;br /&gt;
    thus &amp;quot;M&amp;quot; using `¬T` by (rule mp)&lt;br /&gt;
  next&lt;br /&gt;
    assume &amp;quot;T&amp;quot;&lt;br /&gt;
    have &amp;quot;T ⟶ M&amp;quot; using assms by (rule conjunct2)&lt;br /&gt;
    thus &amp;quot;M&amp;quot; using `T` by (rule mp)&lt;br /&gt;
  qed&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 6. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Si te llamé por teléfono, entonces recibiste mi llamada y no es&lt;br /&gt;
     cierto que no te avisé del peligro que corrías. Por consiguiente,&lt;br /&gt;
     como te llamé, es cierto que te avisé del peligro que corrías.&lt;br /&gt;
  Usar T: Te llamé por teléfono.&lt;br /&gt;
       R: Recibiste mi llamada.&lt;br /&gt;
       P: Te avisé del peligro que corrías.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es:&amp;quot;&lt;br /&gt;
lemma ejercicio_6_1:&lt;br /&gt;
  &amp;quot;T ⟶ R ∧ ¬¬A ⟹ T ⟶ A&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es:&amp;quot;&lt;br /&gt;
lemma ejercicio_6_2:&lt;br /&gt;
  assumes &amp;quot;T ⟶ R ∧ ¬¬A&amp;quot; &lt;br /&gt;
  shows   &amp;quot;T ⟶ A&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;T&amp;quot;&lt;br /&gt;
  with assms have &amp;quot;R ∧ ¬¬A&amp;quot; ..&lt;br /&gt;
  hence &amp;quot;¬¬A&amp;quot; ..&lt;br /&gt;
  thus &amp;quot;A&amp;quot; by (rule notnotD)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es:&amp;quot;&lt;br /&gt;
lemma ejercicio_6_3:&lt;br /&gt;
  assumes &amp;quot;T ⟶ R ∧ ¬¬A&amp;quot; &lt;br /&gt;
  shows   &amp;quot;T ⟶ A&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;T&amp;quot;&lt;br /&gt;
  with assms(1) have &amp;quot;R ∧ ¬¬A&amp;quot; by (rule mp)&lt;br /&gt;
  hence &amp;quot;¬¬A&amp;quot; by (rule conjunct2)&lt;br /&gt;
  thus &amp;quot;A&amp;quot; by (rule notnotD)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 7. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Si no hay control de nacimientos, entonces la población crece&lt;br /&gt;
     ilimitadamente; pero si la población crece ilimitadamente,&lt;br /&gt;
     aumentará el índice de pobreza. Por consiguiente, si no hay control&lt;br /&gt;
     de nacimientos, aumentará el índice de pobreza. &lt;br /&gt;
  Usar N: Hay control de nacimientos. &lt;br /&gt;
       P: La población crece ilimitadamente,&lt;br /&gt;
       I: Aumentará el índice de pobreza. &lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_7_1:&lt;br /&gt;
  &amp;quot;⟦¬N ⟶ P; P ⟶ I⟧ ⟹ ¬N ⟶ I&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_7_2:&lt;br /&gt;
  assumes &amp;quot;¬N ⟶ P&amp;quot; &lt;br /&gt;
          &amp;quot;P ⟶ I&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬N ⟶ I&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;¬N&amp;quot;&lt;br /&gt;
  with assms(1) have &amp;quot;P&amp;quot; ..&lt;br /&gt;
  with assms(2) show &amp;quot;I&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_7_3:&lt;br /&gt;
  assumes &amp;quot;¬N ⟶ P&amp;quot; &lt;br /&gt;
          &amp;quot;P ⟶ I&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬N ⟶ I&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;¬N&amp;quot;&lt;br /&gt;
  with assms(1) have &amp;quot;P&amp;quot; by (rule mp)&lt;br /&gt;
  with assms(2) show &amp;quot;I&amp;quot; by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 8. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Si el general era leal, hubiera obedecido las órdenes, y si era&lt;br /&gt;
     inteligente las hubiera comprendido. O el general desobedeció las&lt;br /&gt;
     órdenes o no las comprendió. Luego, el general era desleal o no era&lt;br /&gt;
     inteligente. &lt;br /&gt;
  Usar L:  El general es leal.&lt;br /&gt;
       Ob: El general obedece las órdenes.&lt;br /&gt;
       I:  El general es inteligente.&lt;br /&gt;
       C:  El general comprende las órdenes.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_8_1:&lt;br /&gt;
  &amp;quot;⟦(L ⟶ Ob) ∧ (I ⟶ C); ¬Ob ∨ ¬C⟧ ⟹ ¬L ∨ ¬I&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_8_2:&lt;br /&gt;
  assumes &amp;quot;(L ⟶ Ob) ∧ (I ⟶ C)&amp;quot; &lt;br /&gt;
          &amp;quot;¬Ob ∨ ¬C&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬L ∨ ¬I&amp;quot;&lt;br /&gt;
using assms(2)&lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;¬Ob&amp;quot;&lt;br /&gt;
  have &amp;quot;L ⟶ Ob&amp;quot; using assms(1) ..&lt;br /&gt;
  hence &amp;quot;¬L&amp;quot; using `¬Ob` by (rule mt)&lt;br /&gt;
  thus &amp;quot;¬L ∨ ¬I&amp;quot; ..&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;¬C&amp;quot;&lt;br /&gt;
  have &amp;quot;I ⟶ C&amp;quot; using assms(1) ..&lt;br /&gt;
  hence &amp;quot;¬I&amp;quot; using `¬C` by (rule mt)&lt;br /&gt;
  thus &amp;quot;¬L ∨ ¬I&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_8_3:&lt;br /&gt;
  assumes &amp;quot;(L ⟶ Ob) ∧ (I ⟶ C)&amp;quot; &lt;br /&gt;
          &amp;quot;¬Ob ∨ ¬C&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬L ∨ ¬I&amp;quot;&lt;br /&gt;
using assms(2)&lt;br /&gt;
proof (rule disjE)&lt;br /&gt;
  assume &amp;quot;¬Ob&amp;quot;&lt;br /&gt;
  have &amp;quot;L ⟶ Ob&amp;quot; using assms(1) by (rule conjunct1)&lt;br /&gt;
  hence &amp;quot;¬L&amp;quot; using `¬Ob` by (rule mt)&lt;br /&gt;
  thus &amp;quot;¬L ∨ ¬I&amp;quot; by (rule disjI1)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;¬C&amp;quot;&lt;br /&gt;
  have &amp;quot;I ⟶ C&amp;quot; using assms(1) by (rule conjunct2)&lt;br /&gt;
  hence &amp;quot;¬I&amp;quot; using `¬C` by (rule mt)&lt;br /&gt;
  thus &amp;quot;¬L ∨ ¬I&amp;quot; by (rule disjI2)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 9. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Si Dios fuera capaz de evitar el mal y quisiera hacerlo, lo&lt;br /&gt;
     haría. Si Dios fuera incapaz de evitar el mal, no sería&lt;br /&gt;
     omnipotente; si no quisiera evitar el mal sería malévolo. Dios no&lt;br /&gt;
     evita el mal. Si Dios existe, es omnipotente y no es&lt;br /&gt;
     malévolo. Luego, Dios no existe. &lt;br /&gt;
  Usar C:  Dios es capaz de evitar el mal.&lt;br /&gt;
       Q:  Dios quiere evitar el mal.&lt;br /&gt;
       Om: Dios es omnipotente.&lt;br /&gt;
       M:  Dios es malévolo.&lt;br /&gt;
       P:  Dios evita el mal.&lt;br /&gt;
       E:  Dios existe.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_9_1:&lt;br /&gt;
  &amp;quot;⟦C ∧ Q ⟶ P; (¬C ⟶ ¬Om) ∧ (¬Q ⟶ M); ¬P; E ⟶ Om ∧ ¬M⟧ ⟹ ¬E&amp;quot;&lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_9_2:&lt;br /&gt;
  assumes &amp;quot;C ∧ Q ⟶ P&amp;quot; &lt;br /&gt;
          &amp;quot;(¬C ⟶ ¬Om) ∧ (¬Q ⟶ M)&amp;quot; &lt;br /&gt;
          &amp;quot;¬P&amp;quot; &lt;br /&gt;
          &amp;quot;E ⟶ Om ∧ ¬M&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬E&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;E&amp;quot;&lt;br /&gt;
  have &amp;quot;Om ∧ ¬M&amp;quot; using assms(4) `E` ..&lt;br /&gt;
  hence &amp;quot;Om&amp;quot; ..&lt;br /&gt;
  hence &amp;quot;¬¬Om&amp;quot; by (rule notnotI)&lt;br /&gt;
  have &amp;quot;¬C ⟶ ¬Om&amp;quot; using assms(2) ..&lt;br /&gt;
  hence &amp;quot;¬¬C&amp;quot; using `¬¬Om` by (rule mt)&lt;br /&gt;
  hence &amp;quot;C&amp;quot; by (rule notnotD)&lt;br /&gt;
  have &amp;quot;¬M&amp;quot; using `Om ∧ ¬M` ..&lt;br /&gt;
  have &amp;quot;¬Q ⟶ M&amp;quot; using assms(2) ..&lt;br /&gt;
  hence &amp;quot;¬¬Q&amp;quot; using `¬M` by (rule mt)&lt;br /&gt;
  hence &amp;quot;Q&amp;quot; by (rule notnotD)&lt;br /&gt;
  with `C` have &amp;quot;C ∧ Q&amp;quot; ..&lt;br /&gt;
  with assms(1) have &amp;quot;P&amp;quot; ..&lt;br /&gt;
  with assms(3) show False ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_9_3:&lt;br /&gt;
  assumes &amp;quot;C ∧ Q ⟶ P&amp;quot; &lt;br /&gt;
          &amp;quot;(¬C ⟶ ¬Om) ∧ (¬Q ⟶ M)&amp;quot; &lt;br /&gt;
          &amp;quot;¬P&amp;quot; &lt;br /&gt;
          &amp;quot;E ⟶ Om ∧ ¬M&amp;quot; &lt;br /&gt;
  shows   &amp;quot;¬E&amp;quot;&lt;br /&gt;
proof (rule notI)&lt;br /&gt;
  assume &amp;quot;E&amp;quot;&lt;br /&gt;
  with assms(4) have &amp;quot;Om ∧ ¬M&amp;quot; by (rule mp)&lt;br /&gt;
  hence &amp;quot;Om&amp;quot; by (rule conjunct1)&lt;br /&gt;
  hence &amp;quot;¬¬Om&amp;quot; by (rule notnotI)&lt;br /&gt;
  have &amp;quot;¬C ⟶ ¬Om&amp;quot; using assms(2) by (rule conjunct1)&lt;br /&gt;
  hence &amp;quot;¬¬C&amp;quot; using `¬¬Om` by (rule mt)&lt;br /&gt;
  hence &amp;quot;C&amp;quot; by (rule notnotD)&lt;br /&gt;
  have &amp;quot;¬M&amp;quot; using `Om ∧ ¬M` by (rule conjunct2)&lt;br /&gt;
  have &amp;quot;¬Q ⟶ M&amp;quot; using assms(2) by (rule conjunct2)&lt;br /&gt;
  hence &amp;quot;¬¬Q&amp;quot; using `¬M` by (rule mt)&lt;br /&gt;
  hence &amp;quot;Q&amp;quot; by (rule notnotD)&lt;br /&gt;
  with `C` have &amp;quot;C ∧ Q&amp;quot; by (rule conjI)&lt;br /&gt;
  with assms(1) have &amp;quot;P&amp;quot; by (rule mp)&lt;br /&gt;
  with assms(3) show False by (rule notE)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 10. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Si la válvula está abierta o la monitorización está preparada,&lt;br /&gt;
     entonces se envía una señal de reconocimiento y un mensaje de&lt;br /&gt;
     funcionamiento al controlador del ordenador. Si se envía un mensaje &lt;br /&gt;
     de funcionamiento al controlador del ordenador o el sistema está en &lt;br /&gt;
     estado normal, entonces se aceptan las órdenes del operador. Por lo&lt;br /&gt;
     tanto, si la válvula está abierta, entonces se aceptan las órdenes&lt;br /&gt;
     del operador. &lt;br /&gt;
  Usar A : La válvula está abierta.&lt;br /&gt;
       P : La monitorización está preparada.&lt;br /&gt;
       R : Envía una señal de reconocimiento.&lt;br /&gt;
       F : Envía un mensaje de funcionamiento.&lt;br /&gt;
       N : El sistema está en estado normal.&lt;br /&gt;
       O : Se aceptan órdenes del operador.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_10_1:&lt;br /&gt;
  &amp;quot;⟦A ∨ P ⟶ R ∧ F; F ∨ N ⟶ Or⟧ ⟹ A ⟶ Or&amp;quot;&lt;br /&gt;
by auto  &lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_10_2:&lt;br /&gt;
  assumes &amp;quot;A ∨ P ⟶ R ∧ F&amp;quot; &lt;br /&gt;
          &amp;quot;F ∨ N ⟶ Or&amp;quot; &lt;br /&gt;
  shows   &amp;quot;A ⟶ Or&amp;quot;&lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;A&amp;quot;&lt;br /&gt;
  hence &amp;quot;A ∨ P&amp;quot; ..&lt;br /&gt;
  with assms(1) have &amp;quot;R ∧ F&amp;quot; ..&lt;br /&gt;
  hence &amp;quot;F&amp;quot; ..&lt;br /&gt;
  hence &amp;quot;F ∨ N&amp;quot; ..&lt;br /&gt;
  with assms(2) show &amp;quot;Or&amp;quot; ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_10_3:&lt;br /&gt;
  assumes &amp;quot;A ∨ P ⟶ R ∧ F&amp;quot; &lt;br /&gt;
          &amp;quot;F ∨ N ⟶ Or&amp;quot; &lt;br /&gt;
  shows   &amp;quot;A ⟶ Or&amp;quot;&lt;br /&gt;
proof (rule impI)&lt;br /&gt;
  assume &amp;quot;A&amp;quot;&lt;br /&gt;
  hence &amp;quot;A ∨ P&amp;quot; by (rule disjI1)&lt;br /&gt;
  with assms(1) have &amp;quot;R ∧ F&amp;quot; by (rule mp)&lt;br /&gt;
  hence &amp;quot;F&amp;quot; by (rule conjunct2)&lt;br /&gt;
  hence &amp;quot;F ∨ N&amp;quot; by (rule disjI1)&lt;br /&gt;
  with assms(2) show &amp;quot;Or&amp;quot; by (rule mp)&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
text {* --------------------------------------------------------------- &lt;br /&gt;
  Ejercicio 11. Formalizar, y demostrar la corrección, del siguiente&lt;br /&gt;
  argumento &lt;br /&gt;
     Si trabajo gano dinero, pero si no trabajo gozo de la vida. Sin&lt;br /&gt;
     embargo, si trabajo no gozo de la vida, mientras que si no trabajo&lt;br /&gt;
     no gano dinero. Por lo tanto, gozo de la vida si y sólo si no gano&lt;br /&gt;
  dinero. &lt;br /&gt;
  Usar p: Trabajo&lt;br /&gt;
       q: Gano dinero.&lt;br /&gt;
       r: Gozo de la vida.&lt;br /&gt;
  ------------------------------------------------------------------ *}&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración automática es&amp;quot;&lt;br /&gt;
lemma ejercicio_11_1:&lt;br /&gt;
  &amp;quot;⟦(p ⟶ q) ∧ (¬p ⟶ r); (p ⟶ ¬r) ∧ (¬p ⟶ ¬q)⟧ ⟹ r ⟷ ¬q&amp;quot;  &lt;br /&gt;
by auto&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración estructurada es&amp;quot;&lt;br /&gt;
lemma ejercicio_11_2:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ q) ∧ (¬p ⟶ r)&amp;quot; &lt;br /&gt;
          &amp;quot;(p ⟶ ¬r) ∧ (¬p ⟶ ¬q)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;r ⟷ ¬q&amp;quot;  &lt;br /&gt;
proof&lt;br /&gt;
  assume &amp;quot;r&amp;quot;&lt;br /&gt;
  hence &amp;quot;¬¬r&amp;quot; by (rule notnotI)&lt;br /&gt;
  have &amp;quot;p ⟶ ¬r&amp;quot; using assms(2) ..&lt;br /&gt;
  hence &amp;quot;¬p&amp;quot; using `¬¬r` by (rule mt)&lt;br /&gt;
  have &amp;quot;¬p ⟶ ¬q&amp;quot; using assms(2) ..&lt;br /&gt;
  thus &amp;quot;¬q&amp;quot; using `¬p` ..&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have &amp;quot;p ⟶ q&amp;quot; using assms(1) ..&lt;br /&gt;
  hence &amp;quot;¬p&amp;quot; using `¬q` by (rule mt)&lt;br /&gt;
  have &amp;quot;¬p ⟶ r&amp;quot; using assms(1) ..&lt;br /&gt;
  thus &amp;quot;r&amp;quot; using  `¬p` ..&lt;br /&gt;
qed&lt;br /&gt;
&lt;br /&gt;
-- &amp;quot;La demostración detallada es&amp;quot;&lt;br /&gt;
lemma ejercicio_11_3:&lt;br /&gt;
  assumes &amp;quot;(p ⟶ q) ∧ (¬p ⟶ r)&amp;quot; &lt;br /&gt;
          &amp;quot;(p ⟶ ¬r) ∧ (¬p ⟶ ¬q)&amp;quot; &lt;br /&gt;
  shows   &amp;quot;r ⟷ ¬q&amp;quot;  &lt;br /&gt;
proof (rule iffI)&lt;br /&gt;
  assume &amp;quot;r&amp;quot;&lt;br /&gt;
  hence &amp;quot;¬¬r&amp;quot; by (rule notnotI)&lt;br /&gt;
  have &amp;quot;p ⟶ ¬r&amp;quot; using assms(2) by (rule conjunct1)&lt;br /&gt;
  hence &amp;quot;¬p&amp;quot; using `¬¬r` by (rule mt)&lt;br /&gt;
  have &amp;quot;¬p ⟶ ¬q&amp;quot; using assms(2) by (rule conjunct2)&lt;br /&gt;
  thus &amp;quot;¬q&amp;quot; using `¬p` by (rule mp)&lt;br /&gt;
next&lt;br /&gt;
  assume &amp;quot;¬q&amp;quot;&lt;br /&gt;
  have &amp;quot;p ⟶ q&amp;quot; using assms(1) by (rule conjunct1)&lt;br /&gt;
  hence &amp;quot;¬p&amp;quot; using `¬q` by (rule mt)&lt;br /&gt;
  have &amp;quot;¬p ⟶ r&amp;quot; using assms(1) by (rule conjunct2)&lt;br /&gt;
  thus &amp;quot;r&amp;quot; using  `¬p` by (rule mp)&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>Jalonso</name></author>
		
	</entry>
</feed>