aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/modops.ml11
-rw-r--r--library/declare.ml2
2 files changed, 8 insertions, 5 deletions
diff --git a/kernel/modops.ml b/kernel/modops.ml
index 000b2d65e6..25889718f9 100644
--- a/kernel/modops.ml
+++ b/kernel/modops.ml
@@ -427,9 +427,11 @@ and strengthen_and_subst_struct
let resolve_out,rest' =
strengthen_and_subst_struct rest subst env
mp_alias mp_from mp_to alias incl resolver in
- if incl && not (con_in_delta con resolver) then
+ if incl then
+ let old_name = constant_of_delta resolver con in
(add_constant_delta_resolver
- (make_con_equiv mp_to mp_alias empty_dirpath l) resolve_out),
+ (constant_of_kn_equiv (user_con con) (canonical_con old_name))
+ resolve_out),
item'::rest'
else
resolve_out,item'::rest'
@@ -439,9 +441,10 @@ and strengthen_and_subst_struct
let resolve_out,rest' =
strengthen_and_subst_struct rest subst env
mp_alias mp_from mp_to alias incl resolver in
- if incl && not (mind_in_delta mind resolver) then
+ if incl then
+ let old_name = mind_of_delta resolver mind in
(add_mind_delta_resolver
- (make_mind_equiv mp_to mp_alias empty_dirpath l) resolve_out),
+ (mind_of_kn_equiv (user_mind mind) (canonical_mind old_name)) resolve_out),
item'::rest'
else
resolve_out,item'::rest'
diff --git a/library/declare.ml b/library/declare.ml
index ffe53e505f..dce84ff043 100644
--- a/library/declare.ml
+++ b/library/declare.ml
@@ -106,7 +106,7 @@ let load_constant i ((sp,kn),(_,_,kind)) =
(* Opening means making the name without its module qualification available *)
let open_constant i ((sp,kn),_) =
- let con = constant_of_kn kn in
+ let con = Global.constant_of_delta (constant_of_kn kn) in
Nametab.push (Nametab.Exactly i) sp (ConstRef con)
let cache_constant ((sp,kn),(cdt,dhyps,kind)) =