Skip to content
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

Fixing #3264 #3287

Merged
merged 7 commits into from
May 13, 2024
Merged

Fixing #3264 #3287

merged 7 commits into from
May 13, 2024

Conversation

mtzguido
Copy link
Member

This patch is the important one dbd2138

cc @nikswamy @aseemr @gebner

mtzguido added 7 commits May 6, 2024 01:37
We can sometimes get a problem like

  ?u42  =  Typeclasses.solve #_ #?u42

which should be trivial if we were to unfold `solve`, but the unifier
will not do that automatically, even if `solve` is marked unfold.
Instead, an occurs check fails and the unifier reports an error.

This patch makes the unifier
1) normalize the RHS a bit more if the occurs check fails, in hope of
   simplifying it more (in this case, to ?u42)
2) solve the problem if it happens to become trivial after normalization
   (i.e. ?u42 = ?u42)

Fixes FStarLang#3264.
@mtzguido mtzguido merged commit 28fb7ee into FStarLang:master May 13, 2024
2 checks passed
@mtzguido mtzguido deleted the guido_3264 branch May 13, 2024 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant