diff options
| -rw-r--r-- | pretyping/evd.ml | 3 | ||||
| -rw-r--r-- | pretyping/evd.mli | 1 | ||||
| -rw-r--r-- | proofs/refiner.ml | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/pretyping/evd.ml b/pretyping/evd.ml index a76df2dfb9..400ad2f7a8 100644 --- a/pretyping/evd.ml +++ b/pretyping/evd.ml @@ -300,6 +300,9 @@ let is_defined (sigma,_) = is_defined sigma let existential_value (sigma,_) = existential_value sigma let existential_type (sigma,_) = existential_type sigma let existential_opt_value (sigma,_) = existential_opt_value sigma +let eq_evar_map x y = x == y || + (Evarmap.equal eq_evar_info (fst x) (fst y) && + UniverseMap.equal (=) (snd x) (snd y)) let merge e e' = fold (fun n v sigma -> add sigma n v) e' e diff --git a/pretyping/evd.mli b/pretyping/evd.mli index 0e3212813d..6694e63dda 100644 --- a/pretyping/evd.mli +++ b/pretyping/evd.mli @@ -52,6 +52,7 @@ val evar_unfiltered_env : evar_info -> env val evar_env : evar_info -> env type evar_map +val eq_evar_map : evar_map -> evar_map -> bool val empty : evar_map diff --git a/proofs/refiner.ml b/proofs/refiner.ml index 0014e9f72c..7240e8b858 100644 --- a/proofs/refiner.ml +++ b/proofs/refiner.ml @@ -462,7 +462,7 @@ let weak_progress gls ptree = (not (same_goal (List.hd gls.it) ptree.it)) let progress gls ptree = - (not (ptree.sigma == gls.sigma)) || + (not (eq_evar_map ptree.sigma gls.sigma)) || (weak_progress gls ptree) |
