aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/closure.ml9
-rw-r--r--kernel/inductive.ml4
2 files changed, 7 insertions, 6 deletions
diff --git a/kernel/closure.ml b/kernel/closure.ml
index b64f6fe59..08b0cd065 100644
--- a/kernel/closure.ml
+++ b/kernel/closure.ml
@@ -491,8 +491,9 @@ let cofixp_reducible redfun flgs _ stk =
else
false
-let mindsp_nparams env sp =
- let mib = lookup_mind sp env in mib.Declarations.mind_nparams
+let mindsp_nparams env (sp,i) =
+ let mib = lookup_mind sp env in
+ (Declarations.mind_nth_type_packet mib i).Declarations.mind_nparams
(* The main recursive functions
*
@@ -615,7 +616,7 @@ and cbv_stack_term info stack env t =
(* constructor in a Case -> IOTA
(use red_under because we know there is a Case) *)
- | (CONSTR(n,(sp,_),_,_), APP(args,CASE(_,br,_,env,stk)))
+ | (CONSTR(n,sp,_,_), APP(args,CASE(_,br,_,env,stk)))
when red_under info.i_flags IOTA ->
let nparams = mindsp_nparams info.i_env sp in
let real_args = snd (list_chop nparams args) in
@@ -1046,7 +1047,7 @@ type case_status =
let constr_or_cofix env v =
let (lft_hd, head, appl) = strip_freeze v in
match head.term with
- | FConstruct (((indsp,_),i),_) ->
+ | FConstruct ((indsp,i),_) ->
let args = snd (array_chop (mindsp_nparams env indsp) appl) in
CONSTRUCTOR (i, args)
| FCoFix (bnum, def, bds, env) -> COFIX (lft_hd,bnum,def,appl, bds, env)
diff --git a/kernel/inductive.ml b/kernel/inductive.ml
index d319f633a..493cb15f5 100644
--- a/kernel/inductive.ml
+++ b/kernel/inductive.ml
@@ -23,7 +23,7 @@ let build_mis ((sp,tyi),args) mib =
mis_mip = mind_nth_type_packet mib tyi }
let mis_ntypes mis = mis.mis_mib.mind_ntypes
-let mis_nparams mis = mis.mis_mib.mind_nparams
+let mis_nparams mis = mis.mis_mip.mind_nparams
let mis_index mis = mis.mis_tyi
@@ -97,7 +97,7 @@ let mis_nf_arity mis =
let mis_params_ctxt mispec =
let paramsign,_ =
- decompose_prod_n_assum mispec.mis_mib.mind_nparams
+ decompose_prod_n_assum mispec.mis_mip.mind_nparams
(body_of_type (mis_nf_arity mispec))
in paramsign