Skip to content

feat(lean): new setup for bv_decide#1828

Merged
abentkamp merged 4 commits intomainfrom
lean-bv
Dec 23, 2025
Merged

feat(lean): new setup for bv_decide#1828
abentkamp merged 4 commits intomainfrom
lean-bv

Conversation

@abentkamp
Copy link
Copy Markdown
Contributor

@abentkamp abentkamp commented Dec 23, 2025

This PR provides a new setup for using bv_decide and applies it to the lean_barrett example. Instead of using mvcgen and then bv_decide, we apply bv_decide directly. To be able to do that, we create a set of simplification rules (labelled hax_bv_decide) that simplify a Hoare triple goal into a form that bv_decide can handle.

To use the new setup:

  • unfold all functions that are not part of the library
  • then invoke hax_bv_decide or possibly hax_bv_decide (timeout := 60) for a longer timeout.

For debugging:

  • unfold all functions that are not part of the library
  • invoke simp only [hax_bv_decide] at *; bv_decide (which is what hax_bv_decide does internally)
  • If after simp only [hax_bv_decide] at * there are still RustM-related definitions remaining in the goal, you will likely have to create more simp lemmas tagged with #[hax_bv_decide] to make them go away.

@abentkamp abentkamp added this to the Lean proof library v1.0 milestone Dec 23, 2025
@abentkamp abentkamp added lean Related to the Lean backend or library lib Lib-related issue (e.g. annotations lib) labels Dec 23, 2025
@abentkamp abentkamp marked this pull request as ready for review December 23, 2025 10:24
@abentkamp abentkamp requested a review from a team as a code owner December 23, 2025 10:24
Copy link
Copy Markdown
Contributor

@karthikbhargavan karthikbhargavan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is meant to be exemplary

@karthikbhargavan karthikbhargavan self-requested a review December 23, 2025 11:16
@abentkamp abentkamp enabled auto-merge December 23, 2025 11:33
@abentkamp abentkamp added this pull request to the merge queue Dec 23, 2025
Merged via the queue into main with commit c481771 Dec 23, 2025
17 of 18 checks passed
@abentkamp abentkamp deleted the lean-bv branch December 23, 2025 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lean Related to the Lean backend or library lib Lib-related issue (e.g. annotations lib)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants