aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
authorMatthieu Sozeau2015-11-02 14:41:17 -0500
committerMatthieu Sozeau2015-11-02 16:23:15 -0500
commitc920b420a27bd561967e316dcaca41d5e019a7b8 (patch)
tree0db30f3892d9ef24499917315c62d0d2e371a9b2 /pretyping
parent739d8e50b3681491bd82b516dbbba892ac5b424b (diff)
Fix bug #4151: discrepancy between exact and eexact/eassumption.
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/evd.ml10
-rw-r--r--pretyping/evd.mli9
2 files changed, 5 insertions, 14 deletions
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index db6b366b75..82c068be07 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -1369,7 +1369,7 @@ let update_sigma_env evd env =
(* Conversion w.r.t. an evar map and its local universes. *)
-let conversion_gen env evd pb t u =
+let test_conversion_gen env evd pb t u =
match pb with
| Reduction.CONV ->
Reduction.trans_conv_universes
@@ -1379,14 +1379,8 @@ let conversion_gen env evd pb t u =
full_transparent_state ~evars:(existential_opt_value evd) env
evd.universes.uctx_universes t u
-(* let conversion_gen_key = Profile.declare_profile "conversion_gen" *)
-(* let conversion_gen = Profile.profile5 conversion_gen_key conversion_gen *)
-
-let conversion env d pb t u =
- conversion_gen env d pb t u; d
-
let test_conversion env d pb t u =
- try conversion_gen env d pb t u; true
+ try test_conversion_gen env d pb t u; true
with _ -> false
let eq_constr_univs evd t u =
diff --git a/pretyping/evd.mli b/pretyping/evd.mli
index 671d62021a..5c508419a4 100644
--- a/pretyping/evd.mli
+++ b/pretyping/evd.mli
@@ -573,14 +573,11 @@ val fresh_global : ?rigid:rigid -> ?names:Univ.Instance.t -> env -> evar_map ->
Globnames.global_reference -> evar_map * constr
(********************************************************************
- Conversion w.r.t. an evar map: might generate universe unifications
- that are kept in the evarmap.
- Raises [NotConvertible]. *)
-
-val conversion : env -> evar_map -> conv_pb -> constr -> constr -> evar_map
+ Conversion w.r.t. an evar map, not unifying universes. See
+ [Reductionops.infer_conv] for conversion up-to universes. *)
val test_conversion : env -> evar_map -> conv_pb -> constr -> constr -> bool
-(** This one forgets about the assignemts of universes. *)
+(** WARNING: This does not allow unification of universes *)
val eq_constr_univs : evar_map -> constr -> constr -> evar_map * bool
(** Syntactic equality up to universes, recording the associated constraints *)