aboutsummaryrefslogtreecommitdiffhomepage
path: root/toplevel/discharge.ml
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2000-07-01 17:53:48 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2000-07-01 17:53:48 +0000
commita51f67a717a93cf61bfed79e70da9f35555dcab7 (patch)
tree34789ed013f1edd5669f2db84bff8cddb63567a8 /toplevel/discharge.ml
parentc6edcac49bc32e12106e576430c3251d78276f8e (diff)
Précalcul de la forme canonique des constructeurs et arités pour traiter les cas du fichier Ensemble.v sans avoir à renormaliser à chaque fois
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@548 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/discharge.ml')
-rw-r--r--toplevel/discharge.ml12
1 files changed, 10 insertions, 2 deletions
diff --git a/toplevel/discharge.ml b/toplevel/discharge.ml
index da223b541..ebf70569d 100644
--- a/toplevel/discharge.ml
+++ b/toplevel/discharge.ml
@@ -207,9 +207,17 @@ let process_inductive osecsp nsecsp oldenv (ids_to_discard,modlist) mib =
array_map_to_list
(fun mip ->
(mip.mind_typename,
- expmod_type oldenv modlist mip.mind_arity,
+ make_typed_lazy
+ (expmod_constr oldenv modlist (mind_user_arity mip))
+ (fun _ -> level_of_type mip.mind_nf_arity),
Array.to_list mip.mind_consnames,
- array_map_to_list (expmod_type oldenv modlist) mip.mind_lc))
+ Array.to_list
+ (array_map2
+ (fun us nfc ->
+ make_typed_lazy
+ (expmod_constr oldenv modlist us)
+ (fun _ -> level_of_type nfc))
+ (mind_user_lc mip) mip.mind_nf_lc)))
mib.mind_packets
in
let (inds',modl) = abstract_inductive ids_to_discard mib.mind_hyps inds in