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

Tactics: add a primitive to spawn a subinvocation of the engine #3226

Merged
merged 5 commits into from
Mar 21, 2024

Conversation

mtzguido
Copy link
Member

... and obtain a proof of typing for the generated witness.

This allows to easily reuse metaprograms that work to solve a goal as metaprograms that create proofs of typing. In particular, we can use this is Pulse to call the typeclass resolution tactic and create well-typed dictionaries for constraints, that do not have to be rechecked by Pulse or F*.

Reusing tcresolve is othewise not straightforward, as it is very much oriented to working in the proofstate and has no knowledge of typing reflection.

This will enable to call the Interpreter from the Basic module.
@mtzguido mtzguido merged commit 2fd9303 into FStarLang:master Mar 21, 2024
2 checks passed
@mtzguido mtzguido deleted the subtac branch March 21, 2024 17:37
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