-
Notifications
You must be signed in to change notification settings - Fork 444
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
fix: instantiate mvars of indices before instantiating fvars #4717
Conversation
WIP |
32d60c5
to
696f70b
Compare
@arthur-adjedj Why is this a draft? |
I haven't had time to make thorough tests to see if this really solves the issue for good. Knowing the issue popped up once after being already closed, I'd like to make sure this doesn't happen again. I haven't dived into how inductive headers are unified yet, and don't know if some expr mvars aren't expected to be unified later on here. If the expected behavior is that all expr mvars in the headers have already been solved at this point, then this certainly is the right solution, and I'd be happy to get this merged. |
Mathlib CI status (docs):
|
Despite multiple rebases, the CI on mathlib/batteries seems to keep on failing, and I'm not sure why. Looking at the errors, I don't think the failures are due to the changes made in that PR. I'd like to see at least one CI run work "correctly" on this to ensure no breakage was made, but otherwise, I'm confident this PR makes the right fixes, and will be marking it as ready for review. |
awaiting-review |
I see likely unwanted differences in
With
I’m removing all changes but the one to the toolchain, let’s give it a shot. What also often works if our scripts failed to update the pr testing branch through rebases (not uncommon) is to delete that branch in |
Glad it's green now. Don’t forget to update the PR description, as it will become the commit message. |
Thanks for the notice ! That's now fixed. |
Looks good to me, I don’t think I understand the intricacies any better than you. Would you mind leaving a comment in the code with whatever insights you have so that the next person looking at the code won’t have to re-discover it? |
When elaborating the headers of mutual indexed inductive types, mvars have to be synthesized and instantiated before replacing the fvars present there. Otherwise, some fvars present in uninstantiated mvars may be missed and lead to an error later.
Closes #3242 (again)