aboutsummaryrefslogtreecommitdiffhomepage
path: root/engine/proofview.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-11-21 11:24:04 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-11-21 14:53:41 +0100
commit8eea5a5ecdd33d85e4e7d42408360fff68e04f5d (patch)
treef62f130020b02d78395bf441f62dd47ee96ae3df /engine/proofview.ml
parent9eaeb462425728ee2df225619a632d3a6c25cad9 (diff)
Experimenting with a fine-grained cache for undefined evars in evinfos.
Diffstat (limited to 'engine/proofview.ml')
-rw-r--r--engine/proofview.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/engine/proofview.ml b/engine/proofview.ml
index af65bc320..613fb1d20 100644
--- a/engine/proofview.ml
+++ b/engine/proofview.ml
@@ -645,12 +645,13 @@ let unifiable_delayed g l =
CList.exists (fun (tgt, lazy evs) -> not (Evar.equal g tgt) && Evar.Set.mem g evs) l
let free_evars sigma l =
+ let cache = Evarutil.create_undefined_evars_cache () in
let map ev =
(** Computes the set of evars appearing in the hypotheses, the conclusion or
the body of the evar_info [evi]. Note: since we want to use it on goals,
the body is actually supposed to be empty. *)
let evi = Evd.find sigma ev in
- let fevs = lazy (Evd.evars_of_filtered_evar_info (Evarutil.nf_evar_info sigma evi)) in
+ let fevs = lazy (Evarutil.filtered_undefined_evars_of_evar_info ~cache sigma evi) in
(ev, fevs)
in
List.map map l