Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6561255
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T13:33:53+00:00 2026-05-25T13:33:53+00:00

Leonardo: Thanks for quick replies! Much appreciated. If I feed the following script to

  • 0

Leonardo: Thanks for quick replies! Much appreciated.

If I feed the following script to Z3:

(set-option :MBQI true)
(set-option :produce-models true)
(declare-fun s1 ((_ BitVec 16)) (_ BitVec 16))
(assert (forall ((s0 (_ BitVec 16))) (bvuge s0 (s1 s0))))
(check-sat)
(get-model)
(eval (s1 #x0000))

Z3 successfully constructs the model, where s1 is given the identity function. However, the call to eval causes Z3 to timeout. Is there a particular option I need to set?

Also, I noticed that if I remove the line:

(set-option :MBQI true)

Then Z3 responds unknown. Since QBVF is decidable, that was a bit surprising that I needed to set an option. Is it the case that we should be setting MBQI to true in all QBVF problems, or is there something particular about this instance?

Thanks..

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T13:33:53+00:00Added an answer on May 25, 2026 at 1:33 pm

    Z3 has several engines for handling quantifiers: E-matching, MBQI, superposition, etc.
    Although QBVF is a decidable fragment, only the MBQI engine can decide it.
    The E-matching module is only effective in showing that formulas are unsatisfiable.
    It will always fail (return unknown) for satisfiable instances.
    The superposition module is effective in pure (no theories) first-order logic formulas.

    In some versions of Z3, the MBQI module is not enabled by default because it is very expensive.
    Some applications, such as VCC and Spec#, use very complex quantified formulas that are not in any decidable fragment that can be supported by MBQI.
    So, the MBQI module is just overhead for these applications.
    In Z3 3.1 (available for download in the Z3 website), MBQI is enabled by default.

    In the forthcoming Z3 3.2, the logic UFBV will be officially supported. UFBV is the SMT-LIB name for QBVF.
    So, you will be able to use (set-logic UFBV) and Z3 will automatically configure itself for this logic.

    Regarding the eval command, this is a bug, I will fix it. The fix will be available in Z3 3.2.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

i have a script in jquery (that grabs a value from a select field
I have a Python 2.6 script that is gagging on special characters, encoded in
I'm creating an RSS feed for a site. I am using SimpleXML to create
I have been following the simple guide at http://www.atinfinity.info/wiki/index.php?OpenCV/Using%20OpenCV%202.2%20on%20iOS%20SDK%204.2 (which uses the older guide
I need to set the same gray stripped background to another view. Can anyone
I have a plist with key values. Each key represent a language, let's say
I have a UITableView in iPhone with enough cell to make it scrollable. I
what I would like to know if it's possible to build a view and
HI all, I have designed a view in Interface Builder and connected correctly with
I came from a java background, and I was trying to use protocol like

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.