Acciones

Diferencia entre revisiones de «Relación 9»

De Razonamiento automático (2010-11)

m (Texto reemplazado: «"isar"» por «"isabelle"»)
 
(No se muestran 5 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
<source lang="isar">
+
<source lang="isabelle">
 
theory Relacion_9
 
theory Relacion_9
 
imports Main  
 
imports Main  
Línea 42: Línea 42:
 
qed
 
qed
  
lemma ejercicio_1:
+
lemma ejercicio_1b:
 
   assumes 1: "p ⟶ q" and
 
   assumes 1: "p ⟶ q" and
                2: "p"
+
          2: "p"
 
   shows "q"   
 
   shows "q"   
 
proof -
 
proof -
Línea 61: Línea 61:
 
   from 5 show "r" by simp
 
   from 5 show "r" by simp
 
qed
 
qed
 
  
 
lemma ejercicio_3:
 
lemma ejercicio_3:
Línea 85: Línea 84:
  
 
lemma ejercicio_5:
 
lemma ejercicio_5:
   "p⟶(q⟶r) q⟶(p⟶r)"
+
   assumes 1: "p⟶(q⟶r)"
by simp
+
  shows "q⟶(p⟶r)"
 +
oops
  
 
lemma ejercicio_6:
 
lemma ejercicio_6:
   "p⟶(q⟶r) (p⟶q)⟶(p⟶r)"
+
   assumes 1: "p⟶(q⟶r)"
oops  
+
  shows "(p⟶q)⟶(p⟶r)"
 +
oops
  
 
lemma ejercicio_7:
 
lemma ejercicio_7:
   "p q⟶p"
+
   assumes 1: "p"
 +
  shows "q⟶p"
 
oops
 
oops
  
Línea 101: Línea 103:
  
 
lemma ejercicio_9:
 
lemma ejercicio_9:
   "p⟶q (q⟶r)⟶(p⟶r)"
+
   assumes 1: "p⟶q
 +
  shows "(q⟶r)⟶(p⟶r)"
 
oops
 
oops
  
 
lemma ejercicio_10:
 
lemma ejercicio_10:
   "p⟶(q⟶(r⟶s)) r⟶(q⟶(p⟶s))"
+
   assumes 1: "p⟶(q⟶(r⟶s))"
 +
  shows "r⟶(q⟶(p⟶s))"
 
oops
 
oops
  
Línea 113: Línea 117:
  
 
lemma ejercicio_12:
 
lemma ejercicio_12:
   "(p⟶q)⟶r p⟶(q⟶r)"
+
   assumes 1: "(p⟶q)⟶r"
 +
  shows "p⟶(q⟶r)"
 
oops
 
oops
  
 
lemma ejercicio_13:
 
lemma ejercicio_13:
   "⟦p; q⟧ ⟹ p∧q"
+
   assumes 1: "p" and 
 +
          2: "q"
 +
  shows "p∧q"
 
oops
 
oops
  
 
lemma ejercicio_14:
 
lemma ejercicio_14:
   "p∧q p"
+
   assumes 1: "p∧q"
 +
  shows "p"
 
oops
 
oops
  
 
lemma ejercicio_15:
 
lemma ejercicio_15:
   "p∧q q"
+
   assumes 1: "p∧q"
 +
  shows "q"
 
oops
 
oops
  
 
lemma ejercicio_16:
 
lemma ejercicio_16:
   "p∧(q∧r) (p∧q)∧r"
+
   assumes 1: "p∧(q∧r)"
 +
  shows "(p∧q)∧r"
 
oops
 
oops
  
 
lemma ejercicio_17:
 
lemma ejercicio_17:
   "(p∧q)∧r p∧(q∧r)"
+
   assumes 1: "(p∧q)∧r"
 +
  shows "p∧(q∧r)"
 
oops
 
oops
  
 
lemma ejercicio_18:
 
lemma ejercicio_18:
   "p∧q p⟶q"
+
   assumes 1: "p∧q"
 +
  shows "p⟶q"
 
oops
 
oops
  
 
lemma ejercicio_19:
 
lemma ejercicio_19:
   "(p⟶q)∧(p⟶r) p⟶q∧r"
+
   assumes 1: "(p⟶q)∧(p⟶r)"
 +
  shows "p⟶q∧r"
 
oops
 
oops
  
 
lemma ejercicio_20:
 
lemma ejercicio_20:
   "p⟶q∧r (p⟶q)∧(p⟶r)"
+
   assumes 1: "p⟶q∧r"
 +
  shows "(p⟶q)∧(p⟶r)"
 
oops
 
oops
  
 
lemma ejercicio_21:
 
lemma ejercicio_21:
   "p⟶(q⟶r) p∧q⟶r"
+
   assumes 1: "p⟶(q⟶r)"
 +
  shows "p∧q⟶r"
 
oops
 
oops
  
 
lemma ejercicio_22:
 
lemma ejercicio_22:
   "p∧q⟶r p⟶(q⟶r)"
+
   assumes 1: "p∧q⟶r
 +
  shows "p⟶(q⟶r)"
 
oops
 
oops
  
 
lemma ejercicio_23:
 
lemma ejercicio_23:
   "(p⟶q)⟶r p∧q⟶r"
+
   assumes 1: "(p⟶q)⟶r"
 +
  shows "p∧q⟶r"
 
oops
 
oops
  
 
lemma ejercicio_24:
 
lemma ejercicio_24:
   "p∧(q⟶r) (p⟶q)⟶r"
+
   assumes 1: "p∧(q⟶r)
 +
  shows "(p⟶q)⟶r"
 
oops
 
oops
  
 
lemma ejercicio_25:
 
lemma ejercicio_25:
   "p p∨q"
+
   assumes 1: "p"
 +
  shows "p∨q"
 
oops
 
oops
  
 
lemma ejercicio_26:
 
lemma ejercicio_26:
   "q p∨q"
+
   assumes 1: "q
 +
  shows "p∨q"
 
oops
 
oops
  
 
lemma ejercicio_27:
 
lemma ejercicio_27:
   "p∨q q∨p"
+
   assumes 1: "p∨q"
 +
  shows "q∨p"
 
oops
 
oops
  
 
lemma ejercicio_28:
 
lemma ejercicio_28:
   "q⟶r p∨q⟶p∨r"
+
   assumes 1: "q⟶r"
 +
  shows "p∨q⟶p∨r"
 
oops
 
oops
  
 
lemma ejercicio_29:
 
lemma ejercicio_29:
   "p∨p p"
+
   assumes 1: "p∨p"
 +
  shows "p"
 
oops
 
oops
  
 
lemma ejercicio_30:
 
lemma ejercicio_30:
   "p p∨p"
+
   assumes 1: "p"
 +
  shows "p∨p"
 
oops
 
oops
  
 
lemma ejercicio_31:
 
lemma ejercicio_31:
   "p∨(q∨r) (p∨q)∨r"
+
   assumes 1: "p∨(q∨r)"
 +
  shows "(p∨q)∨r"
 
oops
 
oops
  
 
lemma ejercicio_32:
 
lemma ejercicio_32:
   "(p∨q)∨r p∨(q∨r)"
+
   assumes 1: "(p∨q)∨r"
 +
  shows "p∨(q∨r)"
 
oops
 
oops
  
 
lemma ejercicio_33:
 
lemma ejercicio_33:
   "p∧(q∨r) (p∧q)∨(p∧r)"
+
   assumes 1: "p∧(q∨r)"
 +
  shows "(p∧q)∨(p∧r)"
 
oops
 
oops
  
 
lemma ejercicio_34:
 
lemma ejercicio_34:
   "(p∧q)∨(p∧r) p∧(q∨r)"
+
   assumes 1: "(p∧q)∨(p∧r)"
 +
  shows "p∧(q∨r)"
 
oops
 
oops
  
 
lemma ejercicio_35:
 
lemma ejercicio_35:
   "p∨(q∧r) (p∨q)∧(p∨r)"
+
   assumes 1: "p∨(q∧r)"
 +
  shows "(p∨q)∧(p∨r)"
 
oops
 
oops
  
 
lemma ejercicio_36:
 
lemma ejercicio_36:
   "(p∨q)∧(p∨r) p∨(q∧r)"
+
   assumes 1: "(p∨q)∧(p∨r)"
 +
  shows "p∨(q∧r)"
 
oops
 
oops
  
 
lemma ejercicio_37:
 
lemma ejercicio_37:
   "(p⟶r)∧(q⟶r) p∨q⟶r"
+
   assumes 1: "(p⟶r)∧(q⟶r)"
 +
  shows "p∨q⟶r"
 
oops
 
oops
  
 
lemma ejercicio_38:
 
lemma ejercicio_38:
   "p∨q⟶r (p⟶r)∧(q⟶r)"
+
   assumes 1: "p∨q⟶r
 +
  shows "(p⟶r)∧(q⟶r)"
 
oops
 
oops
  
 
lemma ejercicio_39:
 
lemma ejercicio_39:
   "p ¬¬p"
+
   assumes 1: "p"
 +
  shows "¬¬p"
 
oops
 
oops
  
 
lemma ejercicio_40:
 
lemma ejercicio_40:
   "¬p p⟶q"
+
   assumes 1: "¬p
 +
  shows "p⟶q"
 
oops
 
oops
  
 
lemma ejercicio_41:
 
lemma ejercicio_41:
   "p⟶q ¬q⟶¬p"
+
   assumes 1: "p⟶q"
 +
  shows "¬q⟶¬p"
 
oops
 
oops
  
 
lemma ejercicio_42:
 
lemma ejercicio_42:
   "⟦p∨q; ¬q⟧ ⟹ p"
+
   assumes 1: "p∨q" and
 +
          2: "¬q"
 +
  shows "p"
 
oops
 
oops
  
 
lemma ejercicio_43:
 
lemma ejercicio_43:
   "⟦p∨q; ¬p⟧ ⟹ q"
+
   assumes 1: "p∨q" and
 +
          2: "¬p"
 +
  shows "q"
 
oops
 
oops
  
 
lemma ejercicio_44:
 
lemma ejercicio_44:
   "p∨q ¬(¬p∧¬q)"
+
   assumes 1: "p∨q"
 +
  shows "¬(¬p∧¬q)"
 
oops
 
oops
  
 
lemma ejercicio_45:
 
lemma ejercicio_45:
   "p∧q ¬(¬p∨¬q)"
+
   assumes 1: "p∧q"
 +
  shows "¬(¬p∨¬q)"
 
oops
 
oops
  
 
lemma ejercicio_46:
 
lemma ejercicio_46:
   "¬(p∨q) ¬p∧¬q"
+
   assumes 1: "¬(p∨q)"
 +
  shows "¬p∧¬q"
 
oops
 
oops
  
 
lemma ejercicio_47:
 
lemma ejercicio_47:
   "¬p∧¬q ¬(p∨q)"
+
   assumes 1: "¬p∧¬q
 +
  shows "¬(p∨q)"
 
oops
 
oops
  
 
lemma ejercicio_48:
 
lemma ejercicio_48:
   "¬p∨¬q ¬(p∧q)"
+
   assumes 1: "¬p∨¬q"
 +
  shows "¬(p∧q)"
 
oops
 
oops
  
Línea 265: Línea 309:
  
 
lemma ejercicio_50:
 
lemma ejercicio_50:
   "p∧¬p q"
+
   assumes 1: "p∧¬p"
 +
  shows "q"
 
oops
 
oops
  
 
lemma ejercicio_51:
 
lemma ejercicio_51:
   "¬¬p p"
+
   assumes 1: "¬¬p"
 +
  shows "p"
 
oops
 
oops
  
Línea 281: Línea 327:
  
 
lemma ejercicio_54:
 
lemma ejercicio_54:
   "¬q⟶¬p p⟶q"
+
   assumes 1: "¬q⟶¬p"
 +
  shows "p⟶q"
 
oops
 
oops
  
 
lemma ejercicio_55:
 
lemma ejercicio_55:
   "¬(¬p∧¬q) p∨q"
+
   assumes 1: "¬(¬p∧¬q)"
 +
  shows "p∨q"
 
oops
 
oops
  
 
lemma ejercicio_56:
 
lemma ejercicio_56:
   "¬(¬p∨¬q) p∧q"
+
   assumes 1: "¬(¬p∨¬q)"
 +
  shows "p∧q"
 
oops
 
oops
  
 
lemma ejercicio_57:
 
lemma ejercicio_57:
   "¬(p∧q) ¬p∨¬q"
+
   assumes 1: "¬(p∧q)"
 +
  shows "¬p∨¬q"
 
oops
 
oops
  
lemma ejercicio_58:"(p⟶q)∨(q⟶p)"
+
lemma ejercicio_58:
 +
  "(p⟶q)∨(q⟶p)"
 
oops
 
oops
  
 
end  
 
end  
 
</source>
 
</source>

Revisión actual del 09:49 16 jul 2018

theory Relacion_9
imports Main 
begin 

section {* Deducción natural proposicional *}

text {* Los ejercicios de esta relación deben de resolverse usando sólo
  las reglas básicas de la deducción natural proposicional: 
  · conjI:      ⟦P; Q⟧ ⟹ P ∧ Q
  · conjunct1:  P ∧ Q ⟹ P
  · conjunct2:  P ∧ Q ⟹ Q  
  · notnotD:    ¬¬ P ⟹ P
  . notnotI:    P ⟹ ¬¬ P
  · mp:         ⟦P ⟶ Q; P⟧ ⟹ Q 
  · mt:         ⟦F ⟶ G; ¬G⟧ ⟹ ¬F 
  · 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
*}

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

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

lemma ejercicio_1:
  assumes 1: "p ⟶ q" and
          2: "p"
  shows "q"  
proof -
from 1 and 2 show "q" by (rule mp)
qed

lemma ejercicio_1b:
  assumes 1: "p ⟶ q" and
          2: "p"
  shows "q"  
proof -
  from 1 and 2 have q: "q" by (rule mp)
  from q show "q" by simp
qed

lemma ejercicio_2:
  assumes 1: "p⟶q" and 
          2: "q⟶r" and 
          3: "p" 
  shows "r"
proof -
  from 1 and 3 have 4:"q" by (rule ejercicio_1)
  from 2 and 4 have 5:"r" by (rule ejercicio_1)
  from 5 show "r" by simp
qed

lemma ejercicio_3:
  assumes 1: "p⟶(q⟶r)" and 
          2: "p⟶q" and  
          3: "p"
  shows "r"
proof -
  from 1 and 3 have qr:"q⟶r" by (rule ejercicio_1)
  from 2 and qr and 3 have r:"r" by (rule ejercicio_2)
  from r show "r" by simp
qed

lemma ejercicio_4:
  assumes 1: "p⟶q" and 
          2: "q⟶r" 
  shows "p⟶r"
proof (rule impI)
  assume p:"p"
  from 1 and 2 and p have r:"r" by (rule ejercicio_2)
  from r show "r" by simp
qed

lemma ejercicio_5:
  assumes 1: "p⟶(q⟶r)"
  shows "q⟶(p⟶r)"
oops

lemma ejercicio_6:
  assumes 1: "p⟶(q⟶r)" 
  shows "(p⟶q)⟶(p⟶r)"
oops

lemma ejercicio_7:
  assumes 1: "p" 
  shows "q⟶p"
oops

lemma ejercicio_8:
  "p⟶(q⟶p)"
oops

lemma ejercicio_9:
  assumes 1: "p⟶q"  
  shows "(q⟶r)⟶(p⟶r)"
oops

lemma ejercicio_10:
  assumes 1: "p⟶(q⟶(r⟶s))"
  shows "r⟶(q⟶(p⟶s))"
oops

lemma ejercicio_11:
  "(p⟶(q⟶r))⟶((p⟶q)⟶(p⟶r))"
oops

lemma ejercicio_12:
  assumes 1: "(p⟶q)⟶r" 
  shows "p⟶(q⟶r)"
oops

lemma ejercicio_13:
  assumes 1: "p" and  
          2: "q" 
  shows "p∧q"
oops

lemma ejercicio_14:
  assumes 1: "p∧q" 
  shows "p"
oops

lemma ejercicio_15:
  assumes 1: "p∧q" 
  shows "q"
oops

lemma ejercicio_16:
  assumes 1: "p∧(q∧r)"
  shows "(p∧q)∧r"
oops

lemma ejercicio_17:
  assumes 1: "(p∧q)∧r"
  shows "p∧(q∧r)"
oops

lemma ejercicio_18:
  assumes 1: "p∧q"
  shows "p⟶q"
oops

lemma ejercicio_19:
  assumes 1: "(p⟶q)∧(p⟶r)" 
  shows "p⟶q∧r"
oops

lemma ejercicio_20:
  assumes 1: "p⟶q∧r" 
  shows "(p⟶q)∧(p⟶r)"
oops

lemma ejercicio_21:
  assumes 1: "p⟶(q⟶r)" 
  shows "p∧q⟶r"
oops

lemma ejercicio_22:
  assumes 1: "p∧q⟶r"  
  shows "p⟶(q⟶r)"
oops

lemma ejercicio_23:
  assumes 1: "(p⟶q)⟶r" 
  shows "p∧q⟶r"
oops

lemma ejercicio_24:
  assumes 1: "p∧(q⟶r)"  
  shows "(p⟶q)⟶r"
oops

lemma ejercicio_25:
  assumes 1: "p" 
  shows "p∨q"
oops

lemma ejercicio_26:
  assumes 1: "q"  
  shows "p∨q"
oops

lemma ejercicio_27:
  assumes 1: "p∨q" 
  shows "q∨p"
oops

lemma ejercicio_28:
  assumes 1: "q⟶r" 
  shows "p∨q⟶p∨r"
oops

lemma ejercicio_29:
  assumes 1: "p∨p" 
  shows "p"
oops

lemma ejercicio_30:
  assumes 1: "p" 
  shows "p∨p"
oops

lemma ejercicio_31:
  assumes 1: "p∨(q∨r)"
  shows "(p∨q)∨r"
oops

lemma ejercicio_32:
  assumes 1: "(p∨q)∨r"
  shows "p∨(q∨r)"
oops

lemma ejercicio_33:
  assumes 1: "p∧(q∨r)" 
  shows "(p∧q)∨(p∧r)"
oops

lemma ejercicio_34:
  assumes 1: "(p∧q)∨(p∧r)" 
  shows "p∧(q∨r)"
oops

lemma ejercicio_35:
  assumes 1: "p∨(q∧r)"
  shows "(p∨q)∧(p∨r)"
oops

lemma ejercicio_36:
  assumes 1: "(p∨q)∧(p∨r)"
  shows "p∨(q∧r)"
oops

lemma ejercicio_37:
  assumes 1: "(p⟶r)∧(q⟶r)" 
  shows "p∨q⟶r"
oops

lemma ejercicio_38:
  assumes 1: "p∨q⟶r"  
  shows "(p⟶r)∧(q⟶r)"
oops

lemma ejercicio_39:
  assumes 1: "p"
  shows "¬¬p"
oops

lemma ejercicio_40:
  assumes 1: "¬p"  
  shows "p⟶q"
oops

lemma ejercicio_41:
  assumes 1: "p⟶q"
  shows "¬q⟶¬p"
oops

lemma ejercicio_42:
  assumes 1: "p∨q" and
          2: "¬q" 
  shows "p"
oops

lemma ejercicio_43:
  assumes 1: "p∨q" and
          2: "¬p" 
  shows "q"
oops

lemma ejercicio_44:
  assumes 1: "p∨q"
  shows "¬(¬p∧¬q)"
oops

lemma ejercicio_45:
  assumes 1: "p∧q"
  shows "¬(¬p∨¬q)"
oops

lemma ejercicio_46:
  assumes 1: "¬(p∨q)"
  shows "¬p∧¬q"
oops

lemma ejercicio_47:
  assumes 1: "¬p∧¬q"  
  shows "¬(p∨q)"
oops

lemma ejercicio_48:
  assumes 1: "¬p∨¬q"
  shows "¬(p∧q)"
oops

lemma ejercicio_49:
  "¬(p∧¬p)"
oops

lemma ejercicio_50:
  assumes 1: "p∧¬p"
  shows "q"
oops

lemma ejercicio_51:
  assumes 1: "¬¬p"
  shows "p"
oops

lemma ejercicio_52:
  "p∨¬p"
oops

lemma ejercicio_53:
  "((p⟶q)⟶p)⟶p"
oops

lemma ejercicio_54:
  assumes 1: "¬q⟶¬p"
  shows "p⟶q"
oops

lemma ejercicio_55:
  assumes 1: "¬(¬p∧¬q)"
  shows "p∨q"
oops

lemma ejercicio_56:
  assumes 1: "¬(¬p∨¬q)"
  shows "p∧q"
oops

lemma ejercicio_57:
  assumes 1: "¬(p∧q)"
  shows "¬p∨¬q"
oops

lemma ejercicio_58:
  "(p⟶q)∨(q⟶p)"
oops

end