Fix roots in solution2evd - #614
Conversation
|
@Tragicus could you link to a branch of Coq which exposes the primitive you needed? |
|
Yes, here it is (I only need the contents of |
|
I think the old code was actually implementing Evd.undefined_evars, about the other one I don't know. |
63fa6d8 to
e9375f3
Compare
e9375f3 to
7c7ccfa
Compare
|
@Tragicus can you tell me if this code does what you wanted? Then we definitely need to do some benchmarking |
|
It was long ago so I might be mistaken, but I am pretty sure this solved our issue back then. I can do the benchmarking tomorrow. |
|
I can compile neither |
|
Maybe you need to rebade this pr, but currently master works with 8.19, 8.20rc1 and master, both with opam and Nix. |
It may happen that coq-elpi aliases something in the input evar_map and then drops the alias because it does not appear in the solution returned by coq-elpi. However, this alias might be referenced in the evar_map, so it should not be dropped. This PR fixes the issue by adding the evars from the input evar_map to the roots of the computation of reachable evars.
This relies on some API from coq that does not exist yet.