-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix roots in solution2evd #614
base: master
Are you sure you want to change the base?
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.