-
Notifications
You must be signed in to change notification settings - Fork 5
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
Strange problem #1
Comments
Ack, I'm sorry, I just saw this now! Are you still stuck on this issue? |
I'm not stuck anymore, as I switched to pattern unification instead (works for what I'm doing). Still would be interested to figure out what was going wrong, but no urgency! |
I think pattern unification is probably sufficient for a proof assistant yeah, I would like to figure it out as well. I'll have to spend some time looking at code my longtime nemesis (past me) wrote. |
Hello there! I am now also looking at this code as a source of inspiration, thanks for making it public :) I think that the problem with non-termination is because of this line: higher-order-unification/src/Unification.hs Line 199 in 21382f4
I believe this line exists to avoid identifying meta-variables with local (bound) variables. This is a bit confusing (why do we need an higher-order-unification/src/Unification.hs Lines 164 to 173 in 21382f4
So if you remove |
Hi Daniel
Not sure if you're interested in helping me debug something, but I made use of this implementation as part of a proof assistant I am implementing.
Firstly, I think line 48 (where you check if you should raise a variable) is incorrect. Should it not read:
?
Secondly, I am now encountering a problem where it fails to make progress on this constraint:
Pretty-printing this:
For some reason, it spins around on this and doesn't find the obvious solution
?4 := (\y.\x. y x)
. I'd appreciate any help you can give. It's also possible I somehow introduced a bug that wasn't present in your original implementation. If that's the case, I'm sorry to have bothered you!The text was updated successfully, but these errors were encountered: