8000 feat: Hoare logic for monadic programs and verification condition generation by sgraf812 · Pull Request #8995 · leanprover/lean4 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat: Hoare logic for monadic programs and verification condition generation #8995

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

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

sgraf812
Copy link
Contributor
@sgraf812 sgraf812 commented Jun 25, 2025

This PR introduces a Hoare logic for monadic programs in Std.Do.Triple, and assorted tactics:

  • mspec for applying Hoare triple specifications
  • mvcgen to turn a Hoare triple proof obligation ⦃P⦄ prog ⦃Q⦄ into pure verification conditoins (i.e., without any traces of Hoare triples or weakest preconditions reminiscent of prog). The resulting verification conditions in the stateful logic of Std.Do.SPred can be discharged manually with the tactics coming with its custom proof mode or with automation such as simp and grind.

This is pre-release of a planned feature and not yet intended for production use. We are grateful for feedback of early adopters, though.

@sgraf812 sgraf812 changed the title Sg/upstream vcgen feat: Hoare logic for monadic programs and verification condition generation Jun 25, 2025
@sgraf812 sgraf812 force-pushed the sg/upstream-vcgen branch from b10c04e to b7124e2 Compare June 25, 2025 11:01
@sgraf812 sgraf812 added changelog-library Library changelog-language Language features, tactics, and metaprograms awaiting-mathlib We should not merge this until we have a successful Mathlib build labels Jun 25, 2025
@github-actions github-actions bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Jun 25, 2025
leanprover-community-mathlib4-bot added a commit to leanprover-community/batteries that referenced this pull request Jun 25, 2025
leanprover-community-mathlib4-bot added a commit to leanprover-community/mathlib4-nightly-testing that referenced this pull request Jun 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-mathlib We should not merge this until we have a successful Mathlib build changelog-language Language features, tactics, and metaprograms changelog-library Library toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0