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

Compatibility with respect to Coq PR#262 #366

Merged
merged 1 commit into from
May 14, 2018

Conversation

herbelin
Copy link
Contributor

Dear fiat-crypto developers, this is a patch for compatibility with PR coq/coq#262.

PR coq/coq#262 makes the inference of return clauses more uniform and general but unification is sometimes not strong enough to deal with this generality. See coq/coq#5107 for details.

One reduces the search space for the return clause by forbidding it to be obtained by small inversion (using a return _).

Note that the patch is backwards compatible and can be applied as soon as now, even with PR coq/coq#262 not yet merged.

Coq PR#262 makes the inference of return clauses more uniform and
general but unification is sometimes not strong enough to deal with
this generality. See #5107 for details.

One reduces the search space for a return clause by forbidding it to
be obtained by small inversion.
@JasonGross JasonGross merged commit 251ea49 into mit-plv:master May 14, 2018
@JasonGross
Copy link
Collaborator

@herbelin I just ran into this again (coq/coq#9955) can you explain (here or maybe better, there), why we need to restrict the search space? It seems like Coq should always be able to find the solution fun _ => bool for the unification problem of bool and ?1 x. Even if it tries small inversion first (which seems perhaps wrong given that both branches are of type bool), it should just backtrack on that heuristic and try the dumb firstorder thing eventually, no?

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.

None yet

2 participants