Open m-yac opened 3 years ago
As of #1484, the proof of no_errors_sum_inc_ptr
is broken as well.
I fixed the sum_2d
example so that it now type-checks in the latest version of #1484. The issue was that sum_2d
iterates over an array of arrays, and at the end of each iteration, a different sub-array is being borrowed from the overall array of arrays. So, when widening was being called, it would see two different permissions for sub-arrays that were unrelated. This was causing "undetermined variable" errors. So, instead, I fixed widening to drop any undetermined variables, and it looks like that fixed the type error. I haven't looked into the other issues with that function yet, though, but those should probably be the subject of this PR and not #1484.
There are at least two things broken with the
arrays
example inheapster-saw/examples
.[ ] The letRec'd functions in all the generated specs for this example contain lots of unnecessary and unused
unit
arguments. For example, the type of the letRec'd function ofzero_array
is:sum_2d
function appears to have typechecking failures in the generated spec.sum_2d
is messed up, though this may just be a consequence of the previous point since its body does contain what looks like a typechecking failure. Specifically, this function used to have 3 bitvector arguments and 2 BVVec arguments, but now has 11 bitvector arguments (5 of which are used), 5 BVVec arguments (1 of which is used), and 6 unit arguments (2 of which are used, somehow).