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

Understand how the Coq decision procedure approach works #5894

Closed
Tracked by #5893
ana-pantilie opened this issue Apr 11, 2024 · 1 comment
Closed
Tracked by #5893

Understand how the Coq decision procedure approach works #5894

ana-pantilie opened this issue Apr 11, 2024 · 1 comment
Assignees
Labels
EXPERIMENT Experiments that we probably don't want to merge Internal status: triaged

Comments

@ana-pantilie
Copy link
Contributor

No description provided.

@ana-pantilie ana-pantilie self-assigned this Apr 11, 2024
@github-actions github-actions bot added the status: needs triage GH issues that requires triage label Apr 11, 2024
@ana-pantilie ana-pantilie removed the status: needs triage GH issues that requires triage label Apr 11, 2024
@Unisay Unisay added EXPERIMENT Experiments that we probably don't want to merge Internal status: triaged status: needs triage GH issues that requires triage and removed status: triaged labels Apr 12, 2024
@effectfully effectfully removed the status: needs triage GH issues that requires triage label Apr 15, 2024
@ana-pantilie
Copy link
Contributor Author

  • the technique is called proof by reflection (http://adam.chlipala.net/cpdt/html/Reflection.html, https://softwarefoundations.cis.upenn.edu/vfa-current/Decide.html), which allows one to switch between the Prop and Bool contexts (the "proof" world and the "computational" world) -> this should be very do-able in Agda as well (confirmed by our Agda experts)!
  • Coq has tactics which allow the user to write proofs in a "procedural" way, and some tactics run some proof-searching algorithms behind the scenes -> this might become cumbersome in Agda, but we have agreed that we can leverage our vast Agda resources here
  • a "proof certificate" for a translation relation can be either the Coq/Agda script which is used to generate the response, or the Coq/Agda type which embeds the equivalence of the two ASTs; this type can then be checked by Coq/Agda; IMO, I'd say we ideally want the latter because this moves the trusted core to just the type-checker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EXPERIMENT Experiments that we probably don't want to merge Internal status: triaged
Projects
None yet
Development

No branches or pull requests

3 participants