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

Add some automation to All_Forall for proving via nth_error #833

Draft
wants to merge 1 commit into
base: coq-8.16
Choose a base branch
from

Conversation

JasonGross
Copy link
Contributor

I got fed up trying to manually prove some weakening properties across checker configuration, and wanted a stronger hammer for dealing with things like All and Forall.

The existing strategy of combining Foralls in the context and then trying to prove the property universally is lossy when there are goals like Forall (Forall2 P l1) l2 lying around, because it doesn't guarantee that all relevant hypotheses are found. Instead, we can convert all hypotheses to nth_error and try to carefully specialize hypotheses so that nth_errors line up.

@JasonGross JasonGross force-pushed the coq-8.16+all-forall-utils branch 2 times, most recently from 338093d to d68a961 Compare January 24, 2023 18:54
@JasonGross JasonGross marked this pull request as draft February 12, 2023 06:44
@mattam82
Copy link
Member

Indeed, that's a more general approach and it would be great to have this!

@JasonGross
Copy link
Contributor Author

Unfortunately, this seems to result in a bunch of universe errors down the line, and I ran out of time trying to debug them :-/

@JasonGross JasonGross force-pushed the coq-8.16+all-forall-utils branch 2 times, most recently from a55ff91 to 2d25a7a Compare April 2, 2023 20:00
The existing strategy of combining `Forall`s in the context and then
trying to prove the property universally is lossy when there are goals
like `Forall (Forall2 P l1) l2` lying around, because it doesn't
guarantee that all relevant hypotheses are found.  Instead, we can
convert all hypotheses to `nth_error` and try to carefully specialize
hypotheses so that `nth_error`s line up.
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