aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Init/Datatypes.v
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-11-23 08:34:29 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-11-23 08:34:29 +0000
commit13719588ca7e06d8e86fa81b33321a4fa626563f (patch)
tree2d8587e3cb65869771b8e2f873fad8d2fe12dd2f /theories/Init/Datatypes.v
parent5cc2882ffaadb92a711297799392d57c13e1895c (diff)
Fine-tuning rewriting from "eq_true b": using <- to rewrite true to b
(if ever necessary). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11621 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Init/Datatypes.v')
-rw-r--r--theories/Init/Datatypes.v20
1 files changed, 18 insertions, 2 deletions
diff --git a/theories/Init/Datatypes.v b/theories/Init/Datatypes.v
index 45228073a..beda128af 100644
--- a/theories/Init/Datatypes.v
+++ b/theories/Init/Datatypes.v
@@ -72,9 +72,25 @@ Hint Resolve andb_true_intro: bool v62.
Inductive eq_true : bool -> Prop := is_eq_true : eq_true true.
-(** Technical lemma: identify -> rewriting on eq_true with <- rewriting *)
+(** Additional rewriting lemmas about [eq_true] *)
-Definition eq_true_ind_r := eq_true_ind.
+Lemma eq_true_ind_r :
+ forall (P : bool -> Prop) (b : bool), P b -> eq_true b -> P true.
+Proof.
+ intros P b H H0; destruct H0 in H; assumption.
+Defined.
+
+Lemma eq_true_rec_r :
+ forall (P : bool -> Set) (b : bool), P b -> eq_true b -> P true.
+Proof.
+ intros P b H H0; destruct H0 in H; assumption.
+Defined.
+
+Lemma eq_true_rect_r :
+ forall (P : bool -> Type) (b : bool), P b -> eq_true b -> P true.
+Proof.
+ intros P b H H0; destruct H0 in H; assumption.
+Defined.
(** [nat] is the datatype of natural numbers built from [O] and successor [S];
note that the constructor name is the letter O.