diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2013-04-16 15:45:45 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2013-04-16 15:45:45 +0000 |
commit | fc40f3368f615e7e7faf242d2c82a39f1e08cb8c (patch) | |
tree | b00c201b78569d59efbe0f13b8feec1892f7e3d3 /test-suite | |
parent | 3afd0028f5dac4ce551f59ba211ac8233b362af9 (diff) |
Added regression test for bug #3023 which was solved by Matthieu's
commit r16134 (eta was missing in Flexible/Rigid and
SemiFlexible/Rigid conversion problems).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16409 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'test-suite')
-rw-r--r-- | test-suite/bugs/closed/3023.v | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/3023.v b/test-suite/bugs/closed/3023.v new file mode 100644 index 000000000..ed4895115 --- /dev/null +++ b/test-suite/bugs/closed/3023.v @@ -0,0 +1,31 @@ +(* Checking use of eta on Flexible/Rigid and SemiFlexible/Rigid unif problems *) + +Set Implicit Arguments. +Generalizable All Variables. + +Record Category {obj : Type} := + { + Morphism : obj -> obj -> Type; + + Identity : forall x, Morphism x x; + Compose : forall s d d', Morphism d d' -> Morphism s d -> Morphism s d'; + LeftIdentity : forall a b (f : Morphism a b), Compose (Identity b) f = f + }. + + +Section DiscreteAdjoints. + Let C := {| + Morphism := (fun X Y : Type => X -> Y); + Identity := (fun X : Type => (fun x : X => x)); + Compose := (fun _ _ _ f g => (fun x => f (g x))); + LeftIdentity := (fun X Y p => @eq_refl _ p : (fun x : X => p x) = p) + |}. + Variable ObjectFunctor : C = C. + + Goal True. + Proof. + subst C. + revert ObjectFunctor. + intro ObjectFunctor. + simpl in ObjectFunctor. + revert ObjectFunctor. (* Used to failed in 8.4 up to 16 April 2013 *) |