Skip to content

Version 1 Boole feature requests#684

Merged
shigoel merged 35 commits intostrata-org:mainfrom
kondylidou:pr/feature-requests
Apr 14, 2026
Merged

Version 1 Boole feature requests#684
shigoel merged 35 commits intostrata-org:mainfrom
kondylidou:pr/feature-requests

Conversation

@kondylidou
Copy link
Copy Markdown
Contributor

@kondylidou kondylidou commented Mar 27, 2026

Summary

This PR brings the Boole feature-request suite, working examples, and documentation back into sync with the current state of the Boole pipeline.
It updates both the implementation and the example/backlog story so the repo more accurately reflects what is supported today versus what is still an open request.

Main changes

  • Implemented and documented Boole extensional equality for direct Map types via =~=, lowering it to an explicit quantified formula during translation.
  • Fixed nested for lowering end to end by:
    • generating fresh Core block labels for lowered for loops
    • changing loop elimination so it havocs only loop-carried variables, not block-local inner-loop indices
  • Moved examples into more accurate categories:
    • square_matrix_multiply is now a main working Boole example
    • string_operators is now a main working Boole example
    • horner_poly_eval remains a feature-request seed
    • binary_search was removed
  • Refreshed Boole examples and feature-request seeds to use the current Boole style more consistently:
    • newer quantifier style
    • clearer per-file request/status comments
    • #guard_msgs snapshots
    • smtVCsCorrect proofs where appropriate
  • Reworked docs/BooleFeatureRequests.md so it now:
    • records current priorities
    • has an implemented-features section
    • tracks the curated Boole seeds with current status
    • includes a Source column showing where each seed came from
  • Added direct Verus source links to the relevant feature-request files so the local Boole seeds are easier to trace back to upstream examples.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@kondylidou kondylidou changed the title Version 1 of Boole feature requests Version 1 Boole feature requests Mar 27, 2026
@kondylidou kondylidou marked this pull request as ready for review March 30, 2026 09:14
@kondylidou kondylidou requested a review from a team March 30, 2026 09:14
@joscoh joscoh added the CSLib PRs and issues marked with this label indicate contributions from/for the CSLib community. label Mar 30, 2026
atomb
atomb previously approved these changes Apr 8, 2026
Copy link
Copy Markdown
Contributor

@atomb atomb left a comment

Choose a reason for hiding this comment

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

There's a conflict to resolve, but I'm happy to re-approve once that's done.

Comment thread StrataTest/Languages/Boole/top_level_block_selection.lean
@atomb
Copy link
Copy Markdown
Contributor

atomb commented Apr 8, 2026

Oh, one more small thing: since the relevant information is in the following description, feel free to remove the italic prompts that came from the description template.

Comment thread Strata/Languages/Boole/Verify.lean
Comment thread Strata/Transform/LoopElim.lean
@kondylidou
Copy link
Copy Markdown
Contributor Author

@atomb @shigoel I added an example as Shilpi suggested (with a small fix :p) and resolved the conflicts

@kondylidou kondylidou requested review from atomb and shigoel April 10, 2026 07:11
@kondylidou
Copy link
Copy Markdown
Contributor Author

@shigoel Is this good to go now?

@shigoel shigoel removed their assignment Apr 14, 2026
@shigoel shigoel added this pull request to the merge queue Apr 14, 2026
Merged via the queue into strata-org:main with commit 31eef6d Apr 14, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CSLib PRs and issues marked with this label indicate contributions from/for the CSLib community.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants