-
Notifications
You must be signed in to change notification settings - Fork 609
refactor: remove InductiveVal.isReflexive
#9016
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
base: master
Are you sure you want to change the base?
Conversation
Is just the field not used, or did the whole concept disappear? (If the former, then we should rescue the documentation somewhere.) |
Mathlib CI status (docs):
|
Looks like it is used in mathlib. I'll replace it with a Lean implementation that looks at the type of the recursor, as that is a reliable method that works in the prescence of nested inductives. |
InductiveVal.isReflexive
InductiveVal.isReflexive
with Lean implementation
@nomeata I moved the documentation to the new Lean implementation. |
Thanks, it’s good to check for downstream breakage! But if this is used by mathlib, maybe it should live there? Where and how is it used there? |
It's used in a couple of deriving handlers ( |
It seems reasonable for such deriving code to ”own” the logic for which data types they support. |
InductiveVal.isReflexive
with Lean implementationInductiveVal.isReflexive
I removed the Lean implementation. I'm not sure what the new method is for adaptations, but the mathlib build can be fixed by removing |
As observed on Zulip, the
isReflexive
field ofInductiveVal
is not correct in the prescence of nested inductives:Since the field is no longer used anywhere in Lean, this PR removes the field.