diff options
author | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2006-11-19 10:39:34 +0000 |
---|---|---|
committer | herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2006-11-19 10:39:34 +0000 |
commit | 043345f19f76a0a2f45a2281a57d45f6d2459e8a (patch) | |
tree | 83f4b32d7abeb0d8768b588d2d27b0fef2ea175f /test-suite/success/unification.v | |
parent | 11e1487d594d633b4db9a24eb4e12b25c755d88a (diff) |
Raffinement de l'unification de "apply": mémorisation de certains
degrés de liberté concernant les instances de méta (cumulativité et
possibilité d'éta-expansion) de telle sorte que la fusion d'équations
se fasse modulo ces degrés de liberté.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9389 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'test-suite/success/unification.v')
-rw-r--r-- | test-suite/success/unification.v | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test-suite/success/unification.v b/test-suite/success/unification.v index 688696215..7acbb7d05 100644 --- a/test-suite/success/unification.v +++ b/test-suite/success/unification.v @@ -63,3 +63,23 @@ Proof. intros. apply H. Qed. + + +(* Test unification modulo eta-expansion (if possible) *) + +(* In this example, two instances for ?P (argument of hypothesis H) can be + inferred (one is by unifying the type [Q true] and [?P true] of the + goal and type of [H]; the other is by unifying the argument of [f]); + we need to unify both instances up to allowed eta-expansions of the + instances (eta is allowed if the meta was applied to arguments) + + This used to fail before revision 9389 in trunk +*) + +Lemma l4 : + forall f : (forall P, P true), (forall P, f P = f P) -> + forall Q, f (fun x => Q x) = f (fun x => Q x). +Proof. +intros. +apply H. +Qed. |