-
Notifications
You must be signed in to change notification settings - Fork 18
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
search-report fails on the pinned math-comp version. coq_serapy.CoqExn: Expected prenex implicits for tag_of_pairK #97
Comments
Hmm, I haven't encountered that issue, though I do think I was able to run a search report on math-comp recently. I'll look into it deeper when I have time, thanks for reporting! |
Hi @HazardousPeach and thanks for the answers! I would also like to evaluate on mathcomp. Do you remember roughly how you did the evaluation? I am using I have gotten help from the SerAPI zulip with this issue: the problem is that coq_serapy replaces proofs with Section OtherEncodings.
Variables T T1 T2 : Type.
...
Lemma tag_of_pairK : cancel tag_of_pair pair_of_tag. Admitted.
End OtherEncodings.
Prenex Implicits tag_of_pairK. This fails because the lemma was originally In the end the workers fail because coq_serapy raises coq_serapy.CoqExn and it is never handled. I've tried to catch it somewhere. My goal was to make proverbot skip all further jobs in that file. I have not managed to do that yet. |
Ah okay, so the fix for this was actually already implemented it looks like, but only in the |
Now my mathcomp evaluation crashes less often. But I don't think that @HazardousPeach 's latest fix fully fixes the issue. I think that the new code around these lines does not clean up the previous proof context correctly. if not careful:
eprint(f"Hit a problem, possibly due to admitting proofs! Restarting file with --careful...",
guard=self.args.verbose >= 1)
self.reset_file_state()
self.exit_cur_file() # <- does not exit the right way?
self.enter_file(job_file) # <- runs self.coq.run_stmt(f"Module {module_name}.") without properly exiting the file context
self.run_into_job(job, restart_anomaly, True) When I run on mathcomp, I get the error I can make a PR with the coq-restarting change if you think it is the appropriate solution. |
Sure that pull request sounds good! The restarting seems to work a bit better on develop, but involves changes across the submodule boundary which are hard to cherry-pick in, so if you have something self contained that would be better for now, until its time to merge larger changes into master. |
I'm trying to create an evaluation report on the
coq-projects/math-comp
project. The result is an uncaught coq_serapy.CoqExn that brings down the worker pool. I have tried to create a minimal example:I'm running proverbot as
./src/proverbot9001.py search-report -j 1 --weightsfile=data/polyarg-weights.dat \ --prelude=./coq-projects/ --search-depth=1 --verbose --verbose --verbose \ --search-width=2 --splits-file=mathcomp_proj_split.json \ -P ./math-comp/mathcomp/ssreflect/choice.v
mathcomp_proj_split.json
is for running coq with the right switch:Proverbot runs without problems on the first few lemmas and even proves a few, but fails parsing a a command starting with
Prenex Implicits ...
.The output ends with
I thought this is a SerAPI or issue and tried to create a minimal reproducing example. Here is one. Pasting the following to
~/.opam/coq-8.12/bin/sertop --implicit
produces the same error as Proverbot:I would like to her Proverbot developer's thoughts about this. Have you encountered something similar, and how did you solve it?
The text was updated successfully, but these errors were encountered: