aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-04-11 07:05:50 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2006-04-11 07:05:50 +0000
commit5b7b0e5d1ccbc86598370c03f1bbb6543bb92570 (patch)
treece3b82b74e3511752148447a937df167ea34223b
parent7e05d4eacd3d9435f930f6e97e0260e0194e328a (diff)
patch pour contourner l'échec de type_of_applied_inductive sur un inductif appliqué à des meta non castés (à défaut de comprendre comment gérer le flux de typage des metas : besoin du type de l'inductive pour caster les metas arguments directs mais besoin de caster les metas arguments directs pour connaitre le type d'un inductif à polymorphisme de sorte)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@8696 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--proofs/logic.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/proofs/logic.ml b/proofs/logic.ml
index 36409794c..bbc1e202c 100644
--- a/proofs/logic.ml
+++ b/proofs/logic.ml
@@ -284,7 +284,7 @@ let rec mk_refgoals sigma goal goalacc conclty trm =
| App (f,l) ->
let (acc',hdty) =
- if isInd f
+ if isInd f & not (array_exists occur_meta l) (* we could be finer *)
then (goalacc,type_of_applied_inductive env sigma (destInd f) l)
else mk_hdgoals sigma goal goalacc f
in
@@ -326,7 +326,7 @@ and mk_hdgoals sigma goal goalacc trm =
| App (f,l) ->
let (acc',hdty) =
- if isInd f
+ if isInd f & not (array_exists occur_meta l) (* we could be finer *)
then (goalacc,type_of_applied_inductive env sigma (destInd f) l)
else mk_hdgoals sigma goal goalacc f
in