Open weaversa opened 3 months ago
take
outside of a function seems to work just fine.
Cryptol> take (zero : [inf]) : [inf]
[False, False, False, False, False, ...]
This is due to an incorrect simplification rule: a = ?x + b ~> ?x = a - b
. This is only valid when b
is finite, but this additional check was missing. PR #1697 fixes this, and under this PR the original definition of f
is rejected, because there is no way to infer the back
argument to pass to take
.
I am looking into why take
is working on its own. I suspect it is either another incorrect rule or, perhaps, we are somehow defaulting the back
argument to 0
.
Help...related to #1693.