]> matita.cs.unibo.it Git - helm.git/commitdiff
added bool_elim (elimination which preserves infos on the eliminated value)
authorStefano Zacchiroli <zack@upsilon.cc>
Mon, 7 Nov 2005 10:04:22 +0000 (10:04 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Mon, 7 Nov 2005 10:04:22 +0000 (10:04 +0000)
helm/matita/library/datatypes/bool.ma

index a4667da30249730b98bc4f39c522dd824a180019..11f1d7a8c49d48047e12caaeec555c207e1ca784 100644 (file)
@@ -19,7 +19,18 @@ include "logic/equality.ma".
 inductive bool : Set \def 
   | true : bool
   | false : bool.
-  
+
+theorem bool_elim: \forall P:bool \to Prop. \forall b:bool.
+  (b = true \to P true)
+  \to (b = false \to P false)
+  \to P b.
+  intros 2 (P b).
+  elim b;
+  [ apply H; reflexivity
+  | apply H1; reflexivity
+  ]
+qed.
+
 theorem not_eq_true_false : true \neq false.
 simplify.intro.
 change with