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

Missing mechanism to check that assumptions are correct #2347

Open
RCoeurjoly opened this issue Sep 22, 2024 · 1 comment
Open

Missing mechanism to check that assumptions are correct #2347

RCoeurjoly opened this issue Sep 22, 2024 · 1 comment

Comments

@RCoeurjoly
Copy link
Contributor

As far as I can tell, there is no mechanism for checking that the assumptions of a certain function hold.

Quoting from https://www.tweag.io/blog/2023-06-22-lh-assumption-imports/#idea-separating-annotations-and-definitions:

Proving that map yields some property of interest does often require its definition.

I am curious about the often part of that quote.

Let's say that the definition of a function is not available, but I have its assumptions.
Is there a way to prove that the function fulfils all its assumptions?

Missing a formal proof, it would also be valuable from my point of view to do runtime checks of those assumptions.

@facundominguez
Copy link
Collaborator

facundominguez commented Sep 22, 2024

Is there a way to prove that the function fulfils all its assumptions?

Assumptions are not meant to be proved, they are assumed without proof. But maybe you mean that you would like to promote an assumption to a lemma and then prove it.

It could be helpful to have an example of an assumption that you would like to promote. Without the definition of the function, we surely would have to rely on yet other assumptions for the proof.

Missing a formal proof, it would also be valuable from my point of view to do runtime checks of those assumptions.

This could mean, for instance, writing tests to check the assumptions. It is possible, but does LH need to be involved when writing these tests?

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

No branches or pull requests

2 participants