-
Notifications
You must be signed in to change notification settings - Fork 90
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
whitelist for admissible commands inside proofs #689
Comments
I will try to build a list when I have some time. Print Check About Search... I see a problem with Module names: you can call a tactic by its long name: like Foo.tac. So you should probably ignoring commands starting with capitals if followed by a dot... |
@hendriktews I didn't skim the Coq refman right now, |
There is an overlap, but this list is very conservative (it is for passing command to coq directly via the minibuffer ( |
Yes I know. What I meant is that: thanks to this command, PG already maintains a list of all Coq commands that are state-preserving. Certainly not exhaustive w.r.t. the whitelist mentioned in #689. But in order to comply as much as possible with the principle Dont-Repeat-Yourself, I would suggest to just double-check manually what are these state-preserving commands, and maybe just add programmatically in Lisp a few more commands that are not state-preserving but which should be included in the whitelist. Typically, FTR, this list is defined here: Lines 1245 to 1247 in 8416875
and doing C-h v coq-keywords-state-preserving-commands RET yields:
|
Seems ok. We need to remove a nombre of commands from this list I think. I see a few that are state changing (Opaque etc). Don't even know why they are here. |
Hi @Matafou
That's just a small bug!
Lines 36 to 47 in 8416875
|
For the record, after reviewing the list above, I see three other commands that should be in the whitelist:
|
Thanks for the input. I guess, we do not want to permit |
You can do |
The STATECH flag in the syntax db only distinguishes between state changing and not. Obviously, tactics (e.g.
|
Fully agree, your idea looks very good to me. |
Was it really necessary? because AFAIK, commands and tactics are kept apart in separate lists. |
LGTM! |
I changed to a lowercase check, because because the previous version had problems with |
I am open for suggestions, that is why #694 is a draft PR. |
That sounds like a good idea. That said the |
Sure… but that does not look like a drawback to me! Actually, I've proofread the list of all STATECH-related commands since #689 (comment) and the few commands that had an incorrect STATECH boolean are fixed here:
Regarding this latter point, how about discussing this at our next PG telco? (on March 29 IINM) |
In the last PG maintainer meeting we discussed the following solution for #688 and #687: Treat the current proof as a non-opaque proof if it contains a command starting with a capital letter, except for a number of white-listed harmless commands.
Non-opaque proofs (such as those terminated by Defined) are not
omitted.
@Matafou , @erikmd : Can you suggest commands for such a whitelist?
The text was updated successfully, but these errors were encountered: