-
Notifications
You must be signed in to change notification settings - Fork 665
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
Make a few sumbool lemmas of stdlib transparent #14353
Conversation
I searched for such lemmas using Among the results, I did not changed the following lemmas:
|
Not sure what should be done w.r.t. test-suite/documentation/changelog. |
Ping. The commit itself is fairly trivial, it is more a political question of deciding whether these lemmas must be made transparent. Not sure if this is acceptable for 8.14. |
Regardless of what is implemented in this PR, I think we should have a more principled approach to the opacity problem, and in particular a set of systematic guidelines for the standard library. This issue has been popping regularly and we should tackle it once and for all instead of haphazardly making things defined. I think that most of the issues can be summarized as a phase boundary between Prop and Type, so we should probably take singleton elimination as a guiding principle.
In this PR, the equality subproofs of the sumbool are indistinctively set transparent, while I believe that per the above verbiage, only the computational skeleton should be exposed, the (dis)equality subproofs should probably be Qed-opaque. |
I tried to have a global approach, and that's why I dealt with all the sumbool lemmas instead of just As for the proofs, I considered that what was important was to compute the head constructor (regardless of the proposition inside the sumbool, which is somewhat arbitrary, but allows to use |
The "needs: rebase" label was set more than 30 days ago. If the PR is not rebased in 30 days, it will be automatically closed. |
@coq/stdlib-maintainers should we resurrect and make progress on this PR? |
I agree with @ppedrot that while the need is there, the way it is done is not very agreeable. Besides the arguments he gave I would say that transparent definitions should be stable and not be defined with tactics like auto. Frequently proofs depend on the exact definition. This goes together with @ppedrot's recommendation to to split the definition in the purely computational part and opaque lemmas for the Prop part. |
This PR was not rebased after 30 days despite the warning, it is now closed. |
Kind: bug fix
Fixes coq/stdlib#25