aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--kernel/declarations.ml6
-rw-r--r--kernel/declarations.mli2
2 files changed, 8 insertions, 0 deletions
diff --git a/kernel/declarations.ml b/kernel/declarations.ml
index c09254c2c..82ad0583c 100644
--- a/kernel/declarations.ml
+++ b/kernel/declarations.ml
@@ -85,3 +85,9 @@ type mutual_inductive_entry = {
mind_entry_inds : (identifier * constr * identifier list * constr list) list}
let mind_nth_type_packet mib n = mib.mind_packets.(n)
+
+let mind_arities_context mib =
+ Array.to_list
+ (Array.map (* No need to lift, arities contain no de Bruijn *)
+ (fun mip -> (Name mip.mind_typename, None, mind_user_arity mip))
+ mib.mind_packets)
diff --git a/kernel/declarations.mli b/kernel/declarations.mli
index 0c8b15e3c..65f70e277 100644
--- a/kernel/declarations.mli
+++ b/kernel/declarations.mli
@@ -77,6 +77,8 @@ val mind_user_lc : one_inductive_body -> typed_type array
val mind_user_arity : one_inductive_body -> typed_type
val mind_nth_type_packet : mutual_inductive_body -> int -> one_inductive_body
+val mind_arities_context : mutual_inductive_body -> rel_declaration list
+
(*s Declaration of inductive types. *)
type mutual_inductive_entry = {