Acciones

R7

De Lógica matemática y fundamentos [Curso 2019-20]

chapter R7: Lógica de de primer orden con igualdad: deducción natural,
             formalización y argumentación con Isabelle/HOL 

theory R7
imports Main 
begin


text 
  Demostrar o refutar los siguientes lemas usando sólo las reglas
  básicas de deducción natural de la lógica proposicional, de los
  cuantificadores y de la igualdad: 
  · conjI:      P; Q  P  Q
  · conjunct1:  P  Q  P
  · conjunct2:  P  Q  Q  
  · notnotD:    ¬¬ P  P
  · mp:         P  Q; P  Q 
  · impI:       (P  Q)  P  Q
  · disjI1:     P  P  Q
  · disjI2:     Q  P  Q
  · disjE:      P  Q; P  R; Q  R  R 
  · FalseE:     False  P
  · notE:       ⟦¬P; P  R
  · notI:       (P  False)  ¬P
  · iffI:       P  Q; Q  P  P = Q
  · iffD1:      Q = P; Q  P 
  · iffD2:      P = Q; Q  P
  · ccontr:     (¬P  False)  P
  . excluded_middle:(¬P  P) 

  · allE:       ⟦∀x. P x; P x  R  R
  · allI:       (x. P x)  x. P x
  · exI:        P x  x. P x
  · exE:        ⟦∃x. P x; x. P x  Q  Q

  · refl:       t = t
  · subst:      s = t; P s  P t
  · trans:      r = s; s = t  r = t
  · sym:        s = t  t = s
  · not_sym:    t  s  s  t
  · ssubst:     t = s; P s  P t
  · box_equals: a = b; a = c; b = d  a: = d
  · arg_cong:   x = y  f x = f y
  · fun_cong:   f = g  f x = g x
  · cong:       f = g; x = y  f x = g y


text 
  Se usarán las reglas notnotI y mt que demostramos a continuación.
  

lemma notnotI: "P ⟹ ¬¬ P"
by auto

lemma mt: "⟦F ⟶ G; ¬G⟧ ⟹ ¬F"
by auto

section   Ejercicios sobre igualdad 

text   --------------------------------------------------------------- 
  Ejercicio 1. Demostrar o refutar
       P a  x. x = a  P x
  ------------------------------------------------------------------ 

lemma ejercicio_1:
  assumes "P a"
  shows   "∀x. x = a ⟶ P x"
oops

text   --------------------------------------------------------------- 
  Ejercicio 2. Demostrar o refutar
       x y. R x y  R y x; ¬(x. R x x)  x y. x  y
  ------------------------------------------------------------------ 

lemma ejercicio_2:
  fixes R :: "'c ⇒ 'c ⇒ bool"
  assumes "∃x y. R x y ∨ R y x"
          "¬(∃x. R x x)"
  shows   "∃(x::'c) y. x ≠ y"
oops

text   --------------------------------------------------------------- 
  Ejercicio 3. Demostrar o refutar
     {x. P a x x, 
      x y z. P x y z  P (f x) y (f z)} 
      P (f a) a (f a)
  ------------------------------------------------------------------ 

lemma ejercicio_3:
  assumes "∀x. P a x x"
          "∀x y z. P x y z ⟶ P (f x) y (f z)"
  shows   "P (f a) a (f a)"
oops

text   --------------------------------------------------------------- 
  Ejercicio 4. Demostrar o refutar
     {x. P a x x, 
      x y z. P x y z  P (f x) y (f z)
      z. P (f a) z (f (f a))
  ------------------------------------------------------------------ 

lemma ejercicio_4:
  assumes "∀x. P a x x" 
          "∀x y z. P x y z ⟶ P (f x) y (f z)"
  shows   "∃z. P (f a) z (f (f a))"
oops

text   --------------------------------------------------------------- 
  Ejercicio 5. Demostrar o refutar
     {y. Q a y, 
      x y. Q x y  Q (s x) (s y)} 
      z. Qa z  Q z (s (s a))
  ------------------------------------------------------------------ 

lemma ejercicio_5:
  assumes "∀y. Q a y" 
          "∀x y. Q x y ⟶ Q (s x) (s y)" 
  shows   "∃z. Q a z ∧ Q z (s (s a))"
oops

text   --------------------------------------------------------------- 
  Ejercicio 6. Demostrar o refutar
     {x = f x, odd (f x)}  odd x
  ------------------------------------------------------------------ 

lemma ejercicio_6:
  assumes "x = f x" and
          "odd (f x)"
  shows "odd x"
oops

text   --------------------------------------------------------------- 
  Ejercicio 7. Demostrar o refutar
     {x = f x, triple (f x) (f x) x}  triple x x x
  ------------------------------------------------------------------ 

lemma ejercicio_7:
  assumes "x = f x" and
          "triple (f x) (f x) x"
  shows "triple x x x"
oops


text  --------------------------------------------------------------- 
  Ejercicio 8. Demostrar o refutar
     {x. y. z. (R (R(x, y), z) = R(x, R(y,z))),
     x. y. z. R(x, y) = R(z, x)  y = z }  x. y. R(x,y) = R(y,x)
  ------------------------------------------------------------------ 

lemma ejercicio_89:
  assumes "∀x. ∀y. ∀z. (R (R(x, y), z) = R(x, R(y,z)))"
          "∀x. ∀y. ∀z. R(x, y) = R(z, x) ⟶ y = z"
  shows   "∀x. ∀y. R(x,y) = R(y,x)"
  oops

section   Formalización y argumentación: LPO con igualdad
text --------------------------------------------------------------------- 
  El objetivo de esta sección formalizar y decidir automáticamente
  (con auto, blast, metis, meson o quickcheck) la corrección de los
  argumentos.

  Para comprobar las formalizaciones, en cada ejercicios se indica
    su posición en APLI2 https://www.glc.us.es/apli2 correspondiente
    a la sigla de la sección LPOI = Lógica de primer orden con igualdad.
  

text --------------------------------------------------------------- 
  Ejercicio 9. [LPOI-1 en APLI2] Formalizar, y decidir la corrección,
  del 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 10. [LPOI-2 en APLI2] Formalizar, y decidir la corrección,
  del siguiente argumento 
     Sólo hay un sofista que enseña gratuitamente, y éste es
     Sócrates. Sócrates argumenta mejor que ningún otro sofista. Platón
     argumenta mejor que algún sofista que enseña gratuitamente. Si una
     persona argumenta mejor que otra segunda, entonces la segunda no
     argumenta mejor que la primera. Por consiguiente, Platón no es un
     sofista. 
  Usar G(x)   para x enseña gratuitamente
       M(x,y) para x argumenta mejor que y
       S(x)   para x es un sofista
       p      para Platón
       s      para Sócrates
  ------------------------------------------------------------------

text --------------------------------------------------------------- 
  Ejercicio 11. [LPOI-3 en APLI2] Formalizar, y decidir la corrección,
  del 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 12. [LPOI-5 en APLI2] Formalizar, y decidir la corrección,
  del siguiente argumento 
     Los padres son mayores que los hijos. Juan es el padre de Luis. Por
     tanto, Juan es mayor que Luis.
  Usar M(x,y) para x es mayor que y
       p(x)   para el padre de x
       j      para Juan
       l      para Luis
  ------------------------------------------------------------------

text --------------------------------------------------------------- 
  Ejercicio 13. [LPOI-6 en APLI2] Formalizar, y decidir la corrección,
  del siguiente argumento 
     El esposo de la hermana de Toni es Roberto. La hermana de Toni es
     María. Por tanto, el esposo de María es Roberto. 
  Usar e(x) para el esposo de x
       h    para la hermana de Toni
       m    para María
       r    para Roberto
  ------------------------------------------------------------------

text --------------------------------------------------------------- 
  Ejercicio 14. [LPOI-8 en APLI2] Formalizar, y decidir la corrección,
  del siguiente argumento 
     Si dos personas son hermanos, entonces tienen la misma madre y el
     mismo padre. Juan es hermano de Luis. Por tanto, la madre del padre
     de Juan es la madre del padre de Luis.
  Usar H(x,y) para x es hermano de y
       m(x)   para la madre de x
       p(x)   para el padre de x
       j      para Juan
       l      para Luis
   ------------------------------------------------------------------

text --------------------------------------------------------------- 
  Ejercicio 15. [LPOI-9 en APLI2] Formalizar, y decidir la corrección,
  del siguiente argumento 
     Todos los miembros del claustro son asturianos. El secretario forma
     parte del claustro. El señor Martínez es el secretario. Por tanto,
     el señor Martínez es asturiano.
  Usar C(x) para x es miembro del claustro
       A(x) para x es asturiano
       s    para el secretario
       m    para el señor Martínez
   ------------------------------------------------------------------

text --------------------------------------------------------------- 
  Ejercicio 16. [LPOI-10 en APLI2] Formalizar, y decidir la corrección,
  del 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
   ------------------------------------------------------------------

text --------------------------------------------------------------- 
  Ejercicio 17. [LPOI-11 en APLI2] Formalizar, y decidir la corrección,
  del siguiente argumento 
     La luna hoy es redonda. La luna de hace dos semanas tenía forma de
     cuarto creciente. Luna no hay más que una, es decir, siempre es la
     misma. Luego existe algo que es a la vez redondo y con forma de
     cuarto creciente. 
  Usar L(x) para la luna del momento x
       R(x) para x es redonda
       C(x) para x tiene forma de cuarto creciente
       h    para hoy
       d    para hace dos semanas
   ------------------------------------------------------------------

text --------------------------------------------------------------- 
  Ejercicio 18. [LPOI-12 en APLI2] Formalizar, y decidir la corrección,
  del siguiente  argumento 
     Juana sólo tiene un marido. Juana está casada con Tomás. Tomás es
     delgado y Guillermo no. Luego, Juana no está casada con Guillermo. 
  Usar D(x)   para x es delgado
       C(x,y) para x está casada con y
       g      para Guillermo
       j      para Juana
       t      para Tomás
   ------------------------------------------------------------------

text --------------------------------------------------------------- 
  Ejercicio 19. [LPOI-13 en APLI2] Formalizar, y decidir la corrección,
  del siguiente argumento 
     Sultán no es Chitón. Sultán no obtendrá un plátano a menos que
     pueda resolver cualquier problema. Si el chimpancé Chitón trabaja
     más que Sultán resolverá problemas que Sultán no puede resolver. 
     Todos los chimpancés distintos de Sultán trabajan más que Sultán. 
     Por consiguiente, Sultán no obtendrá un plátano.
  Usar Pl(x)  para x obtiene el plátano
       Pr(x)  para x es un problema
       R(x,y) para x resuelve y
       T(x,y) para x trabaja más que y
       c      para Chitón
       s      para Sultán
   ------------------------------------------------------------------
end