Fixes #19661: incorrect reduction of inner fixpoints with extra arguments in fixpoint guard checker#19671
Conversation
doc/changelog/01-kernel/19671-master+fix19661-guard-with-uniform-parameters.rst
Outdated
Show resolved
Hide resolved
|
@herbelin the first commit has nothing to do with the sauerkraut. |
On second thought, the bug seems kernel-safe. Basically, what the bug does is to reduce |
…tch. Commit 140908d (PR rocq-prover#17986, about the extrusion of uniform parameters) was passing the wrong extra arguments of a match.
266f95c to
73a6319
Compare
Co-authored-by: Jim Fehrle <jim.fehrle@gmail.com>
73a6319 to
b9e6960
Compare
ppedrot
left a comment
There was a problem hiding this comment.
Probably fine, as the new code does seem to correspond to the intended semantics. Nonetheless this is the guard condition so as usual fine prints may apply.
|
I'm leaving a bit of time for other kernel experts to weigh in. |
|
@coqbot merge now |
Co-authored-by: Jim Fehrle <jim.fehrle@gmail.com> (cherry picked from commit b9e6960)
…uction of inner fixpoints with extra arguments in fixpoint guard checker
…uction of inner fixpoints with extra arguments in fixpoint guard checker
Was introduced in 140908d, PR #17986, 8.20.0.
Fixes / closes #19661
The original report raises an anomaly
but it is not excluded that the bug allows to bypass the guard condition without failing (one would need two nested beta-redexes across aand seems otherwise kernel-safe (see next comment).match, each respectively on an argument in the same inductive type, one having a well-founded body, the other not, and the first one being wrongly used in place of the second one or something like that).