aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/term_typing.ml6
-rw-r--r--kernel/typeops.ml2
-rw-r--r--library/declare.ml9
3 files changed, 6 insertions, 11 deletions
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index 2c784e00e0..7551c31d40 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -93,6 +93,9 @@ let infer_declaration env dcl =
match dcl with
| DefinitionEntry c ->
let (j,cst) = infer env c.const_entry_body in
+ let j =
+ {uj_val = hcons1_constr j.uj_val;
+ uj_type = hcons1_constr j.uj_type} in
let (typ,cst) = constrain_type env j cst c.const_entry_type in
let def =
if c.const_entry_opaque
@@ -102,7 +105,8 @@ let infer_declaration env dcl =
def, typ, cst
| ParameterEntry (t,nl) ->
let (j,cst) = infer env t in
- Undef nl, NonPolymorphicType (Typeops.assumption_of_judgment env j), cst
+ let t = hcons1_constr (Typeops.assumption_of_judgment env j) in
+ Undef nl, NonPolymorphicType t, cst
let global_vars_set_constant_type env = function
| NonPolymorphicType t -> global_vars_set env t
diff --git a/kernel/typeops.ml b/kernel/typeops.ml
index 6e0e098c03..49106c9125 100644
--- a/kernel/typeops.ml
+++ b/kernel/typeops.ml
@@ -483,7 +483,7 @@ let infer env constr =
let (j,(cst,_)) =
execute env constr (empty_constraint, universes env) in
assert (eq_constr j.uj_val constr);
- ({ j with uj_val = constr }, cst)
+ (j, cst)
let infer_type env constr =
let (j,(cst,_)) =
diff --git a/library/declare.ml b/library/declare.ml
index df87153de8..3a640c9715 100644
--- a/library/declare.ml
+++ b/library/declare.ml
@@ -154,14 +154,6 @@ let inConstant =
subst_function = ident_subst_function;
discharge_function = discharge_constant }
-let hcons_constant_declaration = function
- | DefinitionEntry ce when !Flags.hash_cons_proofs ->
- DefinitionEntry
- { const_entry_body = hcons1_constr ce.const_entry_body;
- const_entry_type = Option.map hcons1_constr ce.const_entry_type;
- const_entry_opaque = ce.const_entry_opaque }
- | cd -> cd
-
let declare_constant_common id dhyps (cd,kind) =
let (sp,kn) = add_leaf id (inConstant (cd,dhyps,kind)) in
let c = Global.constant_of_delta (constant_of_kn kn) in
@@ -171,7 +163,6 @@ let declare_constant_common id dhyps (cd,kind) =
c
let declare_constant ?(internal = UserVerbose) id (cd,kind) =
- let cd = hcons_constant_declaration cd in
let kn = declare_constant_common id [] (ConstantEntry cd,kind) in
!xml_declare_constant (internal,kn);
kn