aboutsummaryrefslogtreecommitdiff
path: root/engine/evd.ml
diff options
context:
space:
mode:
authorHugo Herbelin2019-10-11 21:04:51 +0200
committerHugo Herbelin2019-10-11 21:04:51 +0200
commite8d0b5a8856a695dc3f6a28e2d305c095ef50c19 (patch)
tree2afd2098b100e5432f5c3c907166d85610196316 /engine/evd.ml
parentf41cb3d7206155c8ad7321ff76e58bf5bd079c89 (diff)
parent04105f0430cad4e8d018ab47efccf79bf8511a32 (diff)
Merge PR #10489: Fix output for "Printing Dependent Evars Line"
Reviewed-by: Zimmi48 Reviewed-by: ejgallego Ack-by: hendriktews Reviewed-by: herbelin Ack-by: mattam82
Diffstat (limited to 'engine/evd.ml')
-rw-r--r--engine/evd.ml11
1 files changed, 10 insertions, 1 deletions
diff --git a/engine/evd.ml b/engine/evd.ml
index 6a721a1a8a..099c83abf1 100644
--- a/engine/evd.ml
+++ b/engine/evd.ml
@@ -1403,7 +1403,16 @@ end
let evars_of_term evd c =
let rec evrec acc c =
- match MiniEConstr.kind evd c with
+ let c = MiniEConstr.whd_evar evd c in
+ match kind c with
+ | Evar (n, l) -> Evar.Set.add n (Array.fold_left evrec acc l)
+ | _ -> Constr.fold evrec acc c
+ in
+ evrec Evar.Set.empty c
+
+let evar_nodes_of_term c =
+ let rec evrec acc c =
+ match kind c with
| Evar (n, l) -> Evar.Set.add n (Array.fold_left evrec acc l)
| _ -> Constr.fold evrec acc c
in