diff options
| author | herbelin | 2009-06-02 22:00:18 +0000 |
|---|---|---|
| committer | herbelin | 2009-06-02 22:00:18 +0000 |
| commit | 006d5665a34d515a37984fd35b0992b9a5603b36 (patch) | |
| tree | 262030fac72755126e43618fe866e05f1f0f219e | |
| parent | a52b0929a8ed4ca3df088adfbc596815550b76ba (diff) | |
Adding a regression test about Bauer's example on coq-club of
rewriting using eta.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12161 85f007b7-540e-0410-9357-904b9bb8a0f7
| -rw-r--r-- | pretyping/reductionops.ml | 4 | ||||
| -rw-r--r-- | test-suite/success/unification.v | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/pretyping/reductionops.ml b/pretyping/reductionops.ml index 17d8e5d80d..1bff68cbf0 100644 --- a/pretyping/reductionops.ml +++ b/pretyping/reductionops.ml @@ -624,8 +624,8 @@ let test_trans_conversion f reds env sigma x y = try let _ = f reds env (nf_evar sigma x) (nf_evar sigma y) in true with NotConvertible -> false -let is_trans_conv env sigma = test_trans_conversion Reduction.trans_conv env sigma -let is_trans_conv_leq env sigma = test_trans_conversion Reduction.trans_conv_leq env sigma +let is_trans_conv reds env sigma = test_trans_conversion Reduction.trans_conv reds env sigma +let is_trans_conv_leq reds env sigma = test_trans_conversion Reduction.trans_conv_leq reds env sigma let is_trans_fconv = function | CONV -> is_trans_conv | CUMUL -> is_trans_conv_leq (********************************************************************) diff --git a/test-suite/success/unification.v b/test-suite/success/unification.v index 91ee18ea46..a7e129a380 100644 --- a/test-suite/success/unification.v +++ b/test-suite/success/unification.v @@ -126,3 +126,13 @@ intros. exists (fun n => match n with O => a | S n' => f' n' end). constructor. Qed. + +(* Check use of types in unification (see Andrej Bauer's mail on + coq-club, June 1 2009; it did not work in 8.2, probably started to + work after Sozeau improved support for the use of types in unification) *) + +Goal (forall (A B : Set) (f : A -> B), (fun x => f x) = f) -> + forall (A B C : Set) (g : (A -> B) -> C) (f : A -> B), g (fun x => f x) = g f. +Proof. + intros. + rewrite H. |
