Open FissoreD opened 4 months ago
The problem is the section variable, if you quantify A in the theorem, then things work. The program can be fully declared outside the section, no change.
Clearly a bug.
There is a very silly bug, apparently if you name the @pi-decl
something other than A
(that clashes with the section variable A
) then there is no confusion... what a shame :-/
I probably force free names without looking at the section... I mean, if A is quantified in the statement, then the code avoids the collision. So I check the proof env, without looking at the section env
Yes, you are right. I have modified my class solver so that pi-decl takes a _
as name, avoiding the bug of this issue.
This allows me to enterily compile stdpp with the fix related to the double compilation of instances in the context.
Minimal example with the error:
Error message due to
std.assert!
:Note that the first argument of
Foo
in the result is notA
butc0
Similar APIs likecoq.reduction.lazy.whd
give the same problem Moreover, the same error happens for any kind of reduction passed to@redflags!
, e.g.@redflags! coq.redflags.beta => coq.reduction.lazy.whd T T1
is also broken