Skip to content

test: add vcgen benchmark over the verina corpus#14340

Merged
sgraf812 merged 1 commit into
masterfrom
sg/vcgen-verina-bench
Jul 10, 2026
Merged

test: add vcgen benchmark over the verina corpus#14340
sgraf812 merged 1 commit into
masterfrom
sg/vcgen-verina-bench

Conversation

@sgraf812

@sgraf812 sgraf812 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

This PR adds a benchmark exercising vcgen/grind on the Verina verification corpus, AI-ported from Velvet proofs.

Each of the 27 programs' proofs are discharged with vcgen … with finish; the supporting lemmas and the few manual VC steps are sorry'd, so the elaboration cost measured here is the vcgen decomposition and grind search itself. Each fixture lives in its own namespace with @[local grind] lemmas so nothing leaks between them.

@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 Jul 9, 2026
@mathlib-lean-pr-testing

Copy link
Copy Markdown

Mathlib CI status (docs):

  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 8554442f92d900c9f90f0e483244bfa5ec460df4 --onto da19ea085d7cdba0131ec59b4f678b0910304878. You can force Mathlib CI using the force-mathlib-ci label. (2026-07-09 14:25:43)

@leanprover-bot

Copy link
Copy Markdown
Collaborator

Reference manual CI status:

  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 8554442f92d900c9f90f0e483244bfa5ec460df4 --onto da19ea085d7cdba0131ec59b4f678b0910304878. You can force reference manual CI using the force-manual-ci label. (2026-07-09 14:25:44)

@sgraf812 sgraf812 force-pushed the sg/vcgen-verina-bench branch from 45d8d92 to 0ac6bfa Compare July 9, 2026 15:18
@sgraf812 sgraf812 changed the title test: add vcgen/grind benchmark over the VERINA corpus test: add vcgen benchmark over the verina corpus Jul 9, 2026
@sgraf812 sgraf812 added the changelog-no Do not include this PR in the release changelog label Jul 9, 2026
@sgraf812 sgraf812 force-pushed the sg/vcgen-verina-bench branch from 0ac6bfa to 8954878 Compare July 9, 2026 15:38
@sgraf812

sgraf812 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

!bench

@leanprover-radar

leanprover-radar commented Jul 9, 2026

Copy link
Copy Markdown

Benchmark results for 8954878 against 8554442 are in. No significant results found. @sgraf812

  • build//instructions: -759.2M (-0.01%)

Small changes (2✅)

  • build/profile/grind//wall-clock: -1s (-19.95%)
  • elab/bv_decide_realworld//wall-clock: -52ms (-4.34%)

@sgraf812 sgraf812 marked this pull request as ready for review July 9, 2026 17:10
@sgraf812 sgraf812 force-pushed the sg/vcgen-verina-bench branch from 8954878 to 6cdb932 Compare July 9, 2026 20:21
@sgraf812

sgraf812 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

!bench

@leanprover-radar

leanprover-radar commented Jul 9, 2026

Copy link
Copy Markdown

Benchmark results for 6cdb932 against 8554442 are in. No significant results found. @sgraf812

  • 🟥 build//instructions: +107.0M (+0.00%)

Small changes (1✅)

  • elab/bv_decide_realworld//wall-clock: -50ms (-4.20%)

Add `tests/elab_bench/verina.lean`: the Verina verification corpus (27 programs plus two intrinsic re-proofs), each discharged with `vcgen … with finish` in the `Std.Internal.Do` Hoare logic, every fixture in its own namespace with `@[local grind]` lemmas.

Everything `vcgen` cannot discharge on its own, the supporting lemmas and a few manual verification-condition steps, is `sorry`'d following the `dag_hassorry_issue.lean` precedent, so the measured elaboration cost is the `vcgen` decomposition and `grind` search itself. The empty `.out.ignored` skips output checking, since the `grind` hints are irrelevant to the measurement.

Verified compiling on nightly-2026-07-07; not yet re-verified against current master, as `vcgen`/`finish` still changes frequently and the proofs may need minor re-tuning.
@sgraf812 sgraf812 force-pushed the sg/vcgen-verina-bench branch from 6cdb932 to da85feb Compare July 9, 2026 20:26
@sgraf812 sgraf812 added this pull request to the merge queue Jul 10, 2026
Merged via the queue into master with commit d387212 Jul 10, 2026
17 checks passed
@sgraf812 sgraf812 deleted the sg/vcgen-verina-bench branch July 10, 2026 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog-no Do not include this PR in the release changelog 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.

3 participants