-
Notifications
You must be signed in to change notification settings - Fork 139
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
Proof with foldr and map is rejected #2477
Comments
I wonder if it is the lambda in the type. Does it work if you instead define, reflect and use Inc x = x + 1 |
Defining
|
If I redefine {-@ reflect intSum @-}
intSum :: [Int] -> Int
intSum ys = myFoldr add 0 ys
{-@ reflect add @-}
add :: Int -> Int -> Int
add = (+) The input to the smt solver uses
|
Probably this is because CoreToLogic replaces occurrences of Replacing It is not obvious how to improve LH though.
Perhaps it would be fine to eta-expand partial applications in CoreToLogic so the application of |
Interesting! Yes I agree with you - the right approach is
|
I discovered this failing example which I think LH should accept.
Looking at the PLE dump and the environment of the failing constraint, all necessary equalities seem to be present, and liquid-fixpoint stills rejects it.
The text was updated successfully, but these errors were encountered: