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
Ill-formed decreases clause with two phase #1360
Comments
I have a tentative fix for both issues, running CI on it. |
Otherwise decreases clauses might be messed up. c.f. #1360
For the record the reason was indeed two consecutive What's going on is that My change for this is making sure to collect all binders when typechecking a How these two |
Otherwise decreases clauses might be messed up. c.f. #1360
Hi Guido, the changes look good to me. I also brought back the error about actuals and formals that I changed to a print message earlier. I was thinking of eta expansion cases, but reading #1017, I can see that it is supposed to fail (since finding other binders in an arbitrary |
Great, thanks! |
When using
--use_two_phase_tc true
, this tutorial examplefails unless the
val
is provided. The output is:I see this used to be a hard error but was changed to print this first message instead. I think we enforced that check after the discussion on #1017. But in any case, this example should not fail, and it seems the amount of actuals is being messed up.
The formals are OK, they are indeed 3 (the 2 visible ones and the implicit). But I guess for the actuals it is just counting the immediate binders on the
Tm_abs
without normalizing/canonizing it.Following that, we get a bogus decreases clause, I guess since the code that generates it also makes the same mistake of taking the immediate binders.
The text was updated successfully, but these errors were encountered: