diff options
Diffstat (limited to 'test-suite/success')
-rw-r--r-- | test-suite/success/Discriminate.v | 23 | ||||
-rw-r--r-- | test-suite/success/Injection.v | 27 |
2 files changed, 48 insertions, 2 deletions
diff --git a/test-suite/success/Discriminate.v b/test-suite/success/Discriminate.v index f28c83deb..b57c54781 100644 --- a/test-suite/success/Discriminate.v +++ b/test-suite/success/Discriminate.v @@ -9,3 +9,26 @@ Qed. Lemma l2 : forall H : 0 = 1, H = H. discriminate H. Qed. + +(* Check the variants of discriminate *) + +Goal O = S O -> True. +discriminate 1. +Undo. +intros. +discriminate H. +Undo. +Ltac g x := discriminate x. +g H. +Abort. + +Goal (forall x y : nat, x = y -> x = S y) -> True. +intros. +try discriminate (H O) || exact I. +Qed. + +Goal (forall x y : nat, x = y -> x = S y) -> True. +intros. +ediscriminate (H O). +instantiate (1:=O). +Abort. diff --git a/test-suite/success/Injection.v b/test-suite/success/Injection.v index 606e884ae..867d73746 100644 --- a/test-suite/success/Injection.v +++ b/test-suite/success/Injection.v @@ -43,6 +43,29 @@ intros; injection H as Hyt Hxz. exact Hxz. Qed. +(* Check the variants of injection *) + +Goal forall x y, S x = S y -> True. +injection 1 as H'. +Undo. +intros. +injection H as H'. +Undo. +Ltac f x := injection x. +f H. +Abort. + +Goal (forall x y : nat, x = y -> S x = S y) -> True. +intros. +try injection (H O) || exact I. +Qed. + +Goal (forall x y : nat, x = y -> S x = S y) -> True. +intros. +einjection (H O). +instantiate (1:=O). +Abort. + (* Injection does not projects at positions in Prop... allow it? Inductive t (A:Prop) : Set := c : A -> t A. @@ -53,7 +76,7 @@ Abort. *) -(* Accept does not project on discriminable positions... allow it? +(* Injection does not project on discriminable positions... allow it? Goal 1=2 -> 1=0. intro H. @@ -61,4 +84,4 @@ injection H. intro; assumption. Qed. - *) +*) |