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

User-facing conventions for proof tactics #1099

Closed
robdockins opened this issue Mar 2, 2021 · 3 comments
Closed

User-facing conventions for proof tactics #1099

robdockins opened this issue Mar 2, 2021 · 3 comments
Labels
tech debt Issues that document or involve technical debt

Comments

@robdockins
Copy link
Contributor

It is a bit of a historical accident that the "tactic" argument to our various verification functions takes an argument of ProofScript SatResult type. This type essentially assumes that the only way to do proof is to reduce the question to a SAT query and dispatch it to a solver. This has always been sort of wrong, and results in some strange internal conventions in the code. As we evolve the tactic language to include features that more strongly resemble interactive theorem provers, this mismatch becomes more pronounced.

We should alter the types of the various combinators involved to have a more sensible type. Perhaps ProofScript ProofResult or even ProofScript (). Uniformly changing the types all at once will probably have minimal user-facing impact, while allowing us to refactor internal conventions in a way that makes a lot more sense.

@robdockins robdockins added the tech debt Issues that document or involve technical debt label Mar 2, 2021
@atomb
Copy link
Contributor

atomb commented Mar 2, 2021

I think this is a great idea.

@robdockins
Copy link
Contributor Author

Similar discussion appears in #9

@robdockins
Copy link
Contributor Author

Fixed via #1134

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tech debt Issues that document or involve technical debt
Projects
None yet
Development

No branches or pull requests

2 participants