diff options
| -rw-r--r-- | pretyping/nativenorm.ml | 6 | ||||
| -rw-r--r-- | pretyping/vnorm.ml | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/pretyping/nativenorm.ml b/pretyping/nativenorm.ml index 9f1a19da1f..024af30ae8 100644 --- a/pretyping/nativenorm.ml +++ b/pretyping/nativenorm.ml @@ -107,11 +107,13 @@ let build_branches_type env (mind,_ as _ind) mib mip params dep p = let nparams = Array.length params in let carity = snd (rtbl.(i)) in let crealargs = Array.sub cargs nparams (Array.length cargs - nparams) in - let codom = - let papp = mkApp(lift (List.length decl) p,crealargs) in + let codom = + let ndecl = List.length decl in + let papp = mkApp(lift ndecl p,crealargs) in if dep then let cstr = ith_constructor_of_inductive (fst ind) (i+1) in let relargs = Array.init carity (fun i -> mkRel (carity-i)) in + let params = Array.map (lift ndecl) params in let dep_cstr = mkApp(mkApp(mkConstructU (cstr,snd ind),params),relargs) in mkApp(papp,[|dep_cstr|]) else papp diff --git a/pretyping/vnorm.ml b/pretyping/vnorm.ml index 37b86d1ba6..652b5aa506 100644 --- a/pretyping/vnorm.ml +++ b/pretyping/vnorm.ml @@ -123,10 +123,12 @@ let build_branches_type env (mind,_ as _ind) mib mip u params dep p = let carity = snd (rtbl.(i)) in let crealargs = Array.sub cargs nparams (Array.length cargs - nparams) in let codom = - let papp = mkApp(lift (List.length decl) p,crealargs) in + let ndecl = List.length decl in + let papp = mkApp(lift ndecl p,crealargs) in if dep then let cstr = ith_constructor_of_inductive ind (i+1) in let relargs = Array.init carity (fun i -> mkRel (carity-i)) in + let params = Array.map (lift ndecl) params in let dep_cstr = mkApp(mkApp(mkConstructU (cstr,u),params),relargs) in mkApp(papp,[|dep_cstr|]) else papp |
