aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2003-09-09 15:49:39 +0000
committerherbelin2003-09-09 15:49:39 +0000
commit452fc144ad75a750fcd95a08375e75d19f340d53 (patch)
treea5ab62157552c604f29bc0fd4a070f58c9a86b69
parentd067c2b4fecd9541a2dcad0625898beff52f7b1b (diff)
Bug predicat let-tuple
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4338 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--pretyping/pretyping.ml12
1 files changed, 7 insertions, 5 deletions
diff --git a/pretyping/pretyping.ml b/pretyping/pretyping.ml
index 0dbcaef448..a9ed0c8724 100644
--- a/pretyping/pretyping.ml
+++ b/pretyping/pretyping.ml
@@ -359,13 +359,15 @@ let rec pretype tycon env isevars lvar = function
let env_p = push_rels psign env in
let pj = pretype_type empty_valcon env_p isevars lvar p in
let ccl = nf_evar (evars_of isevars) pj.utj_val in
- let fty =
- let inst = (Array.to_list cs.cs_concl_realargs)
- @[build_dependent_constructor cs]
- in substl inst (liftn cs.cs_nargs nar ccl) in
+ let psign = make_arity_signature env true indf in (* with names *)
+ let p = it_mkLambda_or_LetIn ccl psign in
+ let inst =
+ (Array.to_list cs.cs_concl_realargs)
+ @[build_dependent_constructor cs] in
+ let lp = lift cs.cs_nargs p in
+ let fty = hnf_lam_applist env (evars_of isevars) lp inst in
let fj = pretype (mk_tycon fty) env_f isevars lvar d in
let f = it_mkLambda_or_LetIn fj.uj_val fsign in
- let p = it_mkLambda_or_LetIn ccl psign in
let v =
let mis,_ = dest_ind_family indf in
let ci = make_default_case_info env LetStyle mis in