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

Implement proposed smtlib2 bitvector overflow predicates #6715

Merged

Commits on May 8, 2023

  1. Logical names for function declarations in c++

    Currently, for example, the function declaration symbol member for
    checking whether multiplication *does not* overflow is called
    `m_bv_smul_ovfl`.  Since we are introducing the upcoming smtlib2 symbols
    that check that multpliciation *does* overflow, the not overflow check
    symbols are renamed to `m_bv_smul_no_ovfl` etc.
    aehyvari committed May 8, 2023
    Configuration menu
    Copy the full SHA
    00e3086 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2023

  1. Implement smtlib overflow preds for multiplication

    Smtlib2 is being extended to include overflow predicates for bit
    vectors (see https://groups.google.com/u/1/g/smt-lib/c/J4D99wT0aKI).
    This commit introduces the predicates `bvumulo` and `bvsmulo` that
    return `true` if the unsigned multiplication overflows or the signed
    multiplication underflows or overflows, respectively.
    aehyvari committed May 9, 2023
    Configuration menu
    Copy the full SHA
    e38aab3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ef16e1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a59ffef View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8ed97de View commit details
    Browse the repository at this point in the history
  5. Implement bvnego

    aehyvari committed May 9, 2023
    Configuration menu
    Copy the full SHA
    e44d62e View commit details
    Browse the repository at this point in the history
  6. Implement bvuaddo

    aehyvari committed May 9, 2023
    Configuration menu
    Copy the full SHA
    b006441 View commit details
    Browse the repository at this point in the history
  7. Implement bvsaddo

    aehyvari committed May 9, 2023
    Configuration menu
    Copy the full SHA
    fc28aa6 View commit details
    Browse the repository at this point in the history
  8. Implement bvusubo

    aehyvari committed May 9, 2023
    Configuration menu
    Copy the full SHA
    99b4322 View commit details
    Browse the repository at this point in the history
  9. Implement bvssubo

    aehyvari committed May 9, 2023
    Configuration menu
    Copy the full SHA
    c305c5b View commit details
    Browse the repository at this point in the history
  10. Implement bvsdivo

    aehyvari committed May 9, 2023
    Configuration menu
    Copy the full SHA
    6f70788 View commit details
    Browse the repository at this point in the history