Acciones

Diferencia entre revisiones de «Relación 5»

De Lógica Matemática y fundamentos (2015-16)

(Página creada con '<source lang = "Isar"> header {* R5: Argumentación en lógica de primer orden *} theory R5 imports Main begin text {* -----------------------------------------------------...')
 
(2 con demostración ,6,7)
Línea 25: Línea 25:
 
       T(x) para x es trabajador
 
       T(x) para x es trabajador
 
   ------------------------------------------------------------------ *}
 
   ------------------------------------------------------------------ *}
 +
 +
  
 
text {* ---------------------------------------------------------------  
 
text {* ---------------------------------------------------------------  
Línea 34: Línea 36:
 
       V(x) para x es un vencedor
 
       V(x) para x es un vencedor
 
   ------------------------------------------------------------------ *}
 
   ------------------------------------------------------------------ *}
 +
lemma ejercicio2:
 +
assumes 1: "∀x. (P(x)⟶V(x))" and
 +
        2: "(¬(∃x. V(x))) ∨ (∃x. (V(x) ∧ (∀y. (V(y) ⟶ x=y))))" and
 +
        3: "(¬(∃x. P(x))) ∨ (∃x. (P(x) ∧ (∀y. (P(y) ⟶ x=y))))"
 +
shows "∃x. (P(x) ∧ (∀y. (P(y) ⟶ x=y)))"
  
 +
proof -
 +
obtain a where 4: "(Co(a) ∧ E(a)) ∧ (∀y. (Ca(y,a)⟶Co(y)))" using 2 by (rule exE)
 +
have 5: "Co(a) ∧ E(a)" using 4 by (rule conjunct1)
 +
have 6: "Co(a)" using 5 by (rule conjunct1)
 +
have 7: "E(a)" using 5 by (rule conjunct2)
 +
have 8: "∀y. (Ca(y,a)⟶Co(y))" using 4 by (rule conjunct2)
 +
have 9: "Co(a) ⟶ ¬V(a)" using 3 by (rule allE)
 +
have 10: "¬V(a)" using 9 6 by (rule mp)
 +
have 11: "(E(a)∧ ¬V(a)) ⟶ (∃y. (A(y) ∧ Ca(y,a)))" using 1 by (rule allE)
 +
have 12: "E(a) ∧ ¬V(a)" using 7 10 by (rule conjI)
 +
have 13: "∃y. (A(y) ∧ Ca(y,a))" using 11 12 by (rule mp)
 +
obtain b where 14: "A(b) ∧ Ca(b,a)" using 13 by (rule exE)
 +
have 15: "A(b)" using 14 by (rule conjunct1)
 +
have 16: "Ca(b,a)⟶Co(b)" using 8 by (rule allE)
 +
have 17: "Ca(b,a)" using 14 by (rule conjunct2)
 +
have 18: "Co(b)" using 16 17 by (rule mp)
 +
have 19: "A(b) ∧ Co(b)" using 15 18 by (rule conjI)
 +
show 20: "∃x. (A(x) ∧ Co(x))" using 19 by (rule exI)
 +
qed
 
text {* ---------------------------------------------------------------  
 
text {* ---------------------------------------------------------------  
 
   Ejercicio 3. Formalizar el siguiente argumento
 
   Ejercicio 3. Formalizar el siguiente argumento
Línea 85: Línea 111:
 
       j      para Juanito
 
       j      para Juanito
 
   ------------------------------------------------------------------ *}
 
   ------------------------------------------------------------------ *}
 
+
lemma ejercicio9
 +
assumes "∀x. Af(x) ⟶ (∀y. E(y) ⟶ Ap(x,y))"
 +
          "∀x. E(x) ⟶ ¬Ap(j,x)"
 +
  shows  "(∃x. E(x) ∧ N(x)) ⟶ ¬Af(j)"
 +
oops
  
 
text {* ---------------------------------------------------------------  
 
text {* ---------------------------------------------------------------  
Línea 99: Línea 129:
 
       V(x)    para x es un VIP
 
       V(x)    para x es un VIP
 
   ------------------------------------------------------------------ *}
 
   ------------------------------------------------------------------ *}
 
+
lemma ejercicio7:
 +
assumes 1: "∀x. ((E(x) ∧ ¬V(x)) ⟶ (∃y. (A(y) ∧ Ca(y,x))))" and
 +
        2: "∃x. ((Co(x) ∧ E(x)) ∧ (∀y. (Ca(y,x) ⟶ Co(y))))" and
 +
        3: "∀x. (Co(x)⟶ ¬V(x))"
 +
shows "∃x. (A(x) ∧ Co(x))"
 +
oops
  
 
section {* Ejercicios con igualdad *}
 
section {* Ejercicios con igualdad *}

Revisión del 12:36 16 abr 2016

header {* R5: Argumentación en lógica de primer orden *}

theory R5
imports Main 
begin

text {*
  --------------------------------------------------------------------- 
  El objetivo de esta relación es formalizar en lógica de primer orden
  argumentos expresados en lenguaje natural.

  Antes de escribir la soluciones, comprobar con APLI2 la corrección de la
  formalización.

  Una vez formalizadas, probar que el razonamiento es correcto, o refutarlo
  mediante un contraejemplo. 
  ------------------------------------------------------------------ *}

text {* --------------------------------------------------------------- 
  Ejercicio 1. Formalizar el siguiente argumento
     Hay estudiantes inteligentes y hay estudiantes trabajadores. Por
     tanto, hay estudiantes inteligentes y trabajadores.
  Usar I(x) para x es inteligente
       T(x) para x es trabajador
  ------------------------------------------------------------------ *}



text {* --------------------------------------------------------------- 
  Ejercicio 2. Formalizar el siguiente argumento
     Todos los participantes son vencedores. Hay como máximo un
     vencedor. Hay como máximo un participante. Por lo tanto, hay
     exactamente un participante. 
  Usar P(x) para x es un participante
       V(x) para x es un vencedor
  ------------------------------------------------------------------ *}
lemma ejercicio2:
assumes 1: "∀x. (P(x)⟶V(x))" and
        2: "(¬(∃x. V(x))) ∨ (∃x. (V(x) ∧ (∀y. (V(y) ⟶ x=y))))" and
        3: "(¬(∃x. P(x))) ∨ (∃x. (P(x) ∧ (∀y. (P(y) ⟶ x=y))))" 
shows "∃x. (P(x) ∧ (∀y. (P(y) ⟶ x=y)))"

proof -
obtain a where 4: "(Co(a) ∧ E(a)) ∧ (∀y. (Ca(y,a)⟶Co(y)))" using 2 by (rule exE)
have 5: "Co(a) ∧ E(a)" using 4 by (rule conjunct1)
have 6: "Co(a)" using 5 by (rule conjunct1)
have 7: "E(a)" using 5 by (rule conjunct2)
have 8: "∀y. (Ca(y,a)⟶Co(y))" using 4 by (rule conjunct2)
have 9: "Co(a) ⟶ ¬V(a)" using 3 by (rule allE)
have 10: "¬V(a)" using 9 6 by (rule mp)
have 11: "(E(a)∧ ¬V(a)) ⟶ (∃y. (A(y) ∧ Ca(y,a)))" using 1 by (rule allE)
have 12: "E(a) ∧ ¬V(a)" using 7 10 by (rule conjI)
have 13: "∃y. (A(y) ∧ Ca(y,a))" using 11 12 by (rule mp)
obtain b where 14: "A(b) ∧ Ca(b,a)" using 13 by (rule exE)
have 15: "A(b)" using 14 by (rule conjunct1)
have 16: "Ca(b,a)⟶Co(b)" using 8 by (rule allE)
have 17: "Ca(b,a)" using 14 by (rule conjunct2)
have 18: "Co(b)" using 16 17 by (rule mp)
have 19: "A(b) ∧ Co(b)" using 15 18 by (rule conjI)
show 20: "∃x. (A(x) ∧ Co(x))" using 19 by (rule exI)
qed
text {* --------------------------------------------------------------- 
  Ejercicio 3. Formalizar el siguiente argumento
     Ningún aristócrata debe ser condenado a galeras a menos que sus
     crímenes sean vergonzosos y lleve una vida licenciosa. En la ciudad
     hay aristócratas que han cometido crímenes vergonzosos aunque su
     forma de vida no sea licenciosa. Por tanto, hay algún aristócrata
     que no está condenado a galeras. 
  Usar A(x)  para x es aristócrata
       G(x)  para x está condenado a galeras
       L(x)  para x lleva una vida licenciosa
       V(x)  para x ha cometido crímenes vergonzoso
  ------------------------------------------------------------------ *}

text {* --------------------------------------------------------------- 
  Ejercicio 4. Formalizar el siguiente argumento
     Todos los robots obedecen a los amigos del programador jefe.
     Alvaro es amigo del programador jefe, pero Benito no le
     obedece. Por tanto, Benito no es un robot.
  Usar R(x)    para x es un robot
       Ob(x,y) para x obedece a y
       A(x)    para x es amigo del programador jefe
       b       para Benito
       a       para Alvaro
  ------------------------------------------------------------------ *}


text {* --------------------------------------------------------------- 
  Ejercicio 5. Formalizar el siguiente argumento
     Ningún socio del club está en deuda con el tesorero del club. Si
     un socio del club no paga su cuota está en deuda con el tesorero
     del club. Por tanto, si el tesorero del club es socio del club,
     entonces paga su cuota. 
  Usar P(x) para x es socio del club
       Q(x) para x paga su cuota
       R(x) para x está en deuda con el tesorero
       a    para el tesorero del club
   ------------------------------------------------------------------ *}

text {* --------------------------------------------------------------- 
  Ejercicio 6. Formalizar el siguiente argumento
     Los aficionados al fútbol aplauden a cualquier futbolista
     extranjero. Juanito no aplaude a futbolistas extranjeros. Por
     tanto, si hay algún futbolista extranjero nacionalizado español,
     Juanito no es aficionado al fútbol.
  Usar Af(x)   para x es aficicionado al fútbol
       Ap(x,y) para x aplaude a y
       E(x)    para x es un futbolista extranjero
       N(x)    para x es un futbolista nacionalizado español
       j       para Juanito
  ------------------------------------------------------------------ *}
lemma ejercicio9
assumes "∀x. Af(x) ⟶ (∀y. E(y) ⟶ Ap(x,y))"
          "∀x. E(x) ⟶ ¬Ap(j,x)"
  shows   "(∃x. E(x) ∧ N(x)) ⟶ ¬Af(j)"
oops

text {* --------------------------------------------------------------- 
  Ejercicio 7. Formalizar el siguiente argumento
     Todo aquel que entre en el país y no sea un VIP será cacheado por
     un aduanero. Hay un contrabandista que entra en el país y que solo
     podrá ser cacheado por contrabandistas. Ningún contrabandista es un
     VIP. Por tanto, algún aduanero es contrabandista.
  Usar A(x)    para x es aduanero
       Ca(x,y) para x cachea a y
       Co(x)   para x es contrabandista
       E(x)    para x entra en el pais
       V(x)    para x es un VIP
  ------------------------------------------------------------------ *}
lemma ejercicio7:
assumes 1: "∀x. ((E(x) ∧ ¬V(x)) ⟶ (∃y. (A(y) ∧ Ca(y,x))))" and
        2: "∃x. ((Co(x) ∧ E(x)) ∧ (∀y. (Ca(y,x) ⟶ Co(y))))" and
        3: "∀x. (Co(x)⟶ ¬V(x))"
shows "∃x. (A(x) ∧ Co(x))" 
oops

section {* Ejercicios con igualdad *}

text {* --------------------------------------------------------------- 
  Ejercicio 8. Formalizar el siguiente argumento 
     Rosa ama a Curro. Paco no simpatiza con Ana. Quien no simpatiza con
     Ana ama a Rosa. Si una persona ama a otra, la segunda ama a la
     primera. Hay como máximo una persona que ama a Rosa. Por tanto,
     Paco es Curro. 
  Usar A(x,y) para x ama a y 
       S(x,y) para x simpatiza con y 
       a      para Ana
       c      para Curro
       p      para Paco 
       r      para Rosa
  ------------------------------------------------------------------ *}

text {* --------------------------------------------------------------- 
  Ejercicio 9. Formalizar el siguiente argumento 
     Todos los filósofos se han preguntado qué es la filosofía. Los que
     se preguntan qué es la filosofía se vuelven locos. Nietzsche es
     filósofo. El maestro de Nietzsche no acabó loco. Por tanto,
     Nietzsche y su maestro son diferentes personas. 
  Usar F(x) para x es filósofo
       L(x) para x se vuelve loco
       P(x) para x se ha preguntado qué es la filosofía.
       m    para el maestro de Nietzsche
       n    para Nietzsche
  ------------------------------------------------------------------ *}


text {* --------------------------------------------------------------- 
  Ejercicio 10. Formalizar el siguiente argumento 
     Eduardo pudo haber visto al asesino. Antonio fue el primer testigo
     de la defensa. O Eduardo estaba en clase o Antonio dio falso
     testimonio. Nadie en clase pudo haber visto al asesino. Luego, el
     primer testigo de la defensa dio falso testimonio. 
  Usar C(x) para x estaba en clase
       F(x) para x dio falso testimonio
       V(x) para x pudo haber visto al asesino
       a    para Antonio
       e    para Eduardo
       p    para el primer testigo de la defensa
   ------------------------------------------------------------------ *}


end