Define NoDup_dec with Defined instead of Qed#126
Define NoDup_dec with Defined instead of Qed#126olympichek wants to merge 1 commit intorocq-prover:masterfrom
NoDup_dec with Defined instead of Qed#126Conversation
|
@rocq-prover/stdlib-maintainers could anyone have a look please (I'm not qualified myself about those transparencies questions, their impact in terms of performances,...) |
|
I think this is a very bad idea. It exposes bits of proofs constructed via tactics and that's a big no-no. Furthermore it's probably not usable in practice due to these huge proof terms creeping in. Across the decades we've been taking nonsense design decisions in the stdlib out of inertia, but the proper way to do this is to write a decision function returning a boolean and prove that indeed it reflects the predicate. |
|
Following @ppedrot's remark, I have just played around with adding |
|
I agree with @ppedrot that defining a boolean function and a lemma of equivalence is a better way to go. |
|
Relatedly, I think that the time is more than ripe for a general guideline about what should be Defined and what should be Qed in the stdlib. The not-so-recent introduction of SProp is also a great guiding principle for this. |
|
@olympichek given recent discussions about the Stdlib (and my own feelings, TBH), I really don't think the linked PR will make it in the near future, it would require many changes in the general organization of the Stdlib and very important design choices to be made. |
What you seem to suggest is never to use |
|
I've created a design issue about the open questions here: #165 I'm closing this PR for now -- if the design does end up including something like this, we can always revive it. |
This pull request will close issue #125