aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/evd.ml4
-rw-r--r--pretyping/evd.mli2
2 files changed, 4 insertions, 2 deletions
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index 706a93527c..33ad751523 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -414,7 +414,9 @@ let empty = {
metas=Metamap.empty
}
-let evars_reset_evd evd d = {d with evars = evd.evars; conv_pbs = evd.conv_pbs}
+let evars_reset_evd ?(with_conv_pbs=false) evd d =
+ {d with evars = evd.evars;
+ conv_pbs = if with_conv_pbs then evd.conv_pbs else d.conv_pbs }
let add_conv_pb pb d = {d with conv_pbs = pb::d.conv_pbs}
let evar_source evk d = (EvarMap.find d.evars evk).evar_source
diff --git a/pretyping/evd.mli b/pretyping/evd.mli
index 8c31d6af3e..e5a40b5a14 100644
--- a/pretyping/evd.mli
+++ b/pretyping/evd.mli
@@ -177,7 +177,7 @@ val existential_opt_value : evar_map -> existential -> constr option
val subst_evar_defs_light : substitution -> evar_map -> evar_map
(** spiwack: this function seems to somewhat break the abstraction. *)
-val evars_reset_evd : evar_map -> evar_map -> evar_map
+val evars_reset_evd : ?with_conv_pbs:bool -> evar_map -> evar_map -> evar_map
(* spiwack: [is_undefined_evar] should be considered a candidate