-
Notifications
You must be signed in to change notification settings - Fork 247
[ refactor ] proofs under Data.List.Membership.*.Properties
#2545
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
Conversation
Thanks @jamesmckinna ! |
This has just sunk in. Yes, this is why we don't use misfix proofs as a rule, because complex module parameterisations often screw them over, and the contents of the modules should be usable regardless of whether the module parameters are provided or not. I'd vote for staying with the current policy of not using misfix for proofs therefore (and codifying it in the style guide?).... Sorry, this is my fault, I knew this many years ago, but no longer. |
Thanks for the careful consideration @MatthewDaggitt ! So... I'll revert the controversial commits, but cherry-pick the equational refactorings as useful in their own right? |
…ewrite`" This reverts commit 61f31a7. Following discussion on the PR
Ugh... that didn't seem to work, sigh, because I hadn't been fine-grained enough about this, or had but reverted too much, yuk. |
Nope. Closing in frustration! |
This fixes the
low-hanging-fruit
item under issue #2542 concerning the switch to a postfix definition of:_∉[] : (x : A) → x ∉ []
in each ofData.List.Membership.Setoid.Properties
Data.List.Membership.Propositional.Properties.Core
Additionally:
import
s:resp
rather than its equivalentsubst
;rewrite
in the second module above, in the spirit of recent discussions.UPDATED:
Setoid S
arises there as(S Membershipₚ.∉[]) _
which looks... not quite right wrt the original problem (and removing parentheses causes a parse error!) but tweaked now to look a bit more reasonable?