Z3 4.0: Get The Complete Model

I need a complete model formula for SMTLIB2:

http://pastebin.com/KiwFJTrK

Z3 (versions 3.2 and 4.0) returns values โ€‹โ€‹for all variables, but not for var4. I tried some configuration settings, for example

MODEL_COMPLETION = true 

but it did not seem to work. Does anyone have a suggestion? CVC3 in comparison returns a model (including var4), so this is not a problem with SMTLIB or my example.

The reason I need this is explained in detail here . In short, I want to use the C API for an incremental solution. For this reason, I have to use the Z3_parse_smtlib2_string function several times. This function needs previously declared functions and constants as parameters. I cannot get this information using Z3_get_smtlib_decl , because these functions only work when z3_parse_smtlib_string is called , not Z3_parse_smtlib2_string .

+1
source share
1 answer

You can avoid this problem by adding the following option to the top of the script.

(set-option :auto-config false)

. , . Z3 0-1 . script 0-1 Z3. var4 " ", 0-1, " ", (var4 0 1). Z3 " ".

MODEL_COMPLETION=true , . , (eval var4), Z3 interepretation var4.

+2

All Articles