diff options
author | 2000-07-01 17:53:48 +0000 | |
---|---|---|
committer | 2000-07-01 17:53:48 +0000 | |
commit | a51f67a717a93cf61bfed79e70da9f35555dcab7 (patch) | |
tree | 34789ed013f1edd5669f2db84bff8cddb63567a8 /toplevel/discharge.ml | |
parent | c6edcac49bc32e12106e576430c3251d78276f8e (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.ml | 12 |
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 |