Skip to content

feat(PBV): add support for Nat literals in width expressions - #1475

Closed
luigirinaldi wants to merge 6 commits into
mainfrom
luigirinaldi/bpbv-width-lit
Closed

luigirinaldi wants to merge 6 commits into
mainfrom
luigirinaldi/bpbv-width-lit

Conversation

@luigirinaldi

@luigirinaldi luigirinaldi commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Support width literals in pbv_decide. Hypothesis and concrete width terms are now correctly handled and translated into facts that bv_decide can reason about.

The following changes were made:

  • Extend Tm to support width literals, expand reification other Tm related functions accordingly.
  • Define a new MaskRef structure to hold the proofs shared by normal width masks and literal mask widths.
    • literal mask widths are treated separately to avoid adding noise to the generated context.
  • Generate proofs for literal masks (requires @[expose]ing the maskOfWidth definition)
  • Update the translatePreconds functions to not generate unnecessary facts.
  • Add some tests.

@luigirinaldi
luigirinaldi force-pushed the luigirinaldi/bpbv-width-lit branch 3 times, most recently from 43b15fc to 20437ab Compare September 16, 2026 12:33
@luigirinaldi
luigirinaldi marked this pull request as draft September 16, 2026 14:50
@luigirinaldi
luigirinaldi force-pushed the luigirinaldi/bpbv-width-lit branch from 20437ab to e60dfbe Compare September 16, 2026 15:34
@luigirinaldi
luigirinaldi force-pushed the luigirinaldi/bpbv-width-lit branch from e60dfbe to e70fec3 Compare September 17, 2026 12:06
@luigirinaldi
luigirinaldi force-pushed the luigirinaldi/bpbv-width-lit branch from e70fec3 to efcfa54 Compare September 17, 2026 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant