diff options
| author | Hugo Herbelin | 2017-05-24 21:55:21 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2017-05-30 15:08:22 +0200 |
| commit | bbde815f8108f4641f5411d03f7a88096cc2221b (patch) | |
| tree | bc46ccddc767bb65bf836fd978b5779d4b2e3d78 /engine/evd.ml | |
| parent | 5a86aabf4375b5f6f205dd328454748d2bc1217f (diff) | |
Support for using type information to infer more precise evar sources.
This allows a better control on the name to give to an evar and, in
particular, to address the issue about naming produced by "epose
proof" in one of the comment of Zimmi48 at PR #248 (see file names.v).
Incidentally updating output of Show output test (evar numbers shifted).
Diffstat (limited to 'engine/evd.ml')
| -rw-r--r-- | engine/evd.ml | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/engine/evd.ml b/engine/evd.ml index b677705bc9..48fceae9ec 100644 --- a/engine/evd.ml +++ b/engine/evd.ml @@ -653,12 +653,13 @@ let define evk body evd = let evar_names = EvNames.remove_name_defined evk evd.evar_names in { evd with defn_evars; undf_evars; last_mods; evar_names } -let restrict evk filter ?candidates evd = +let restrict evk filter ?candidates ?src evd = let evk' = new_untyped_evar () in let evar_info = EvMap.find evk evd.undf_evars in let evar_info' = { evar_info with evar_filter = filter; evar_candidates = candidates; + evar_source = (match src with None -> evar_info.evar_source | Some src -> src); evar_extra = Store.empty } in let last_mods = match evd.conv_pbs with | [] -> evd.last_mods |
