aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/entries.mli3
-rw-r--r--kernel/safe_typing.ml4
-rw-r--r--kernel/safe_typing.mli2
-rw-r--r--kernel/term_typing.ml6
-rw-r--r--kernel/term_typing.mli2
5 files changed, 9 insertions, 8 deletions
diff --git a/kernel/entries.mli b/kernel/entries.mli
index b2d65d3ed..392a2cd84 100644
--- a/kernel/entries.mli
+++ b/kernel/entries.mli
@@ -47,9 +47,10 @@ type mutual_inductive_entry = {
mind_entry_inds : one_inductive_entry list }
(** {6 Constants (Definition/Axiom) } *)
+type const_entry_body = constr
type definition_entry = {
- const_entry_body : constr;
+ const_entry_body : const_entry_body;
const_entry_secctx : Context.section_context option;
const_entry_type : types option;
const_entry_opaque : bool;
diff --git a/kernel/safe_typing.ml b/kernel/safe_typing.ml
index 851803621..62e2d46a8 100644
--- a/kernel/safe_typing.ml
+++ b/kernel/safe_typing.ml
@@ -245,8 +245,8 @@ let safe_push_named (id,_,_ as d) env =
with Not_found -> () in
Environ.push_named d env
-let push_named_def (id,b,topt) senv =
- let (c,typ,cst) = Term_typing.translate_local_def senv.env (b,topt) in
+let push_named_def (id,de) senv =
+ let (c,typ,cst) = Term_typing.translate_local_def senv.env de in
let senv' = add_constraints cst senv in
let env'' = safe_push_named (id,Some c,typ) senv'.env in
(cst, {senv' with env=env''})
diff --git a/kernel/safe_typing.mli b/kernel/safe_typing.mli
index 46dac02aa..31bb8143e 100644
--- a/kernel/safe_typing.mli
+++ b/kernel/safe_typing.mli
@@ -34,7 +34,7 @@ val push_named_assum :
Id.t * types -> safe_environment ->
Univ.constraints * safe_environment
val push_named_def :
- Id.t * constr * types option -> safe_environment ->
+ Id.t * definition_entry -> safe_environment ->
Univ.constraints * safe_environment
(** Adding global axioms or definitions *)
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index 83d1ce16c..33a4b55e8 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -42,9 +42,9 @@ let local_constrain_type env j cst1 = function
assert (eq_constr t tj.utj_val);
t, union_constraints (union_constraints cst1 cst2) cst3
-let translate_local_def env (b,topt) =
- let (j,cst) = infer env b in
- let (typ,cst) = local_constrain_type env j cst topt in
+let translate_local_def env de =
+ let (j,cst) = infer env de.const_entry_body in
+ let (typ,cst) = local_constrain_type env j cst de.const_entry_type in
(j.uj_val,typ,cst)
let translate_local_assum env t =
diff --git a/kernel/term_typing.mli b/kernel/term_typing.mli
index cc6025dab..c9bff84fc 100644
--- a/kernel/term_typing.mli
+++ b/kernel/term_typing.mli
@@ -13,7 +13,7 @@ open Environ
open Declarations
open Entries
-val translate_local_def : env -> constr * types option ->
+val translate_local_def : env -> definition_entry ->
constr * types * constraints
val translate_local_assum : env -> types -> types * constraints