Skip to content
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

[bitv] Add support for model generation #841

Merged
merged 4 commits into from
Sep 29, 2023

Commits on Sep 27, 2023

  1. [bitv] Add support for model generation

    This patch adds support for model generation in the bitvector theory.
    
    To generate a value for a model, a simple brute-force backtracking
    search amongst all possible bitvector values is performed to find one
    that is different from the values that were asserted distinct. If none
    can be found (or if exactly one is found, in which case the value is
    forced) the `case_split` flag is set so that we report `unsat` instead
    of looping during model generation.
    
    In the future, this should be augmented with proper support for case
    splits / bit-blasting in the relational theory. Note that even if we add
    support for case splits in the relational theory, having an enumeration
    in model generation is useful, because we may not always want to perform
    case splits on large bitvector types.
    bclement-ocp committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    99f867e View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. Better comment wording

    Co-authored-by: Pierrot <[email protected]>
    bclement-ocp and Halbaroth authored Sep 29, 2023
    Configuration menu
    Copy the full SHA
    6409856 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f1381aa View commit details
    Browse the repository at this point in the history
  3. Fix style

    bclement-ocp committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    d5eddc0 View commit details
    Browse the repository at this point in the history