Does the SMT2 standard (or a Z3 extension of it) offer a command equivalent to the API-call "check_assumptions"? According to Josh Berdine it is often faster to work with guard literals and check_assumptions than with push-pop scopes. However, I am stuck with using Z3 via stdio for now, and using (check-assumoptions p)
only yields unsupported
.
Asked
Active
Viewed 179 times
1

Zoe
- 27,060
- 21
- 118
- 148

Malte Schwerhoff
- 12,684
- 4
- 41
- 71
1 Answers
2
If you are using the smt2 command language, perhaps the 'get-core' command available with 'z3 -smtc -in' will do the job? Note that I think this command is not in the SMT-LIB 2 standard.
Cheers, Josh

Josh Berdine
- 326
- 1
- 1
-
Thanks, that does the trick! It is indeed not mentioned in the SMT-LIB2 standard, but I currently only target Z3 anyway. – Malte Schwerhoff Feb 27 '12 at 12:44
-
Quick note: -smtc option enables a deprecated parser (it is not compliant with the SMT 2.0 standard). This front-end will be removed in future versions of Z3. Please see: http://stackoverflow.com/questions/8439556/soft-hard-constraints-in-z3 for unsat cores extraction in the new SMT 2.0 parser. – Leonardo de Moura Feb 27 '12 at 15:32