Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get a list of all available configuration settings for a Z3 context?

Tags:

z3

The .net API has the following constructor for a Context:

Context (Dictionary< string, string > settings)

how to get a list of all the possible settings?

Specifically, I am interested in how to ask Z3 to produce an unsat core, ie the equivalent of the SMT lib produce-unsat-cores.

like image 659
N.S. Avatar asked May 14 '13 17:05

N.S.


1 Answers

You make a good point. The parameters that you can send to the .NET API are not described together with the .NET code. However, they are calling the C-based API and the comments for the C-based API (https://github.com/Z3Prover/z3/blob/master/src/api/z3_api.h) lists the set of configuration parameters you can pass to the context. They are:

      - proof  (Boolean)           Enable proof generation
      - debug_ref_count (Boolean)  Enable debug support for Z3_ast reference counting 
      - trace  (Boolean)           Tracing support for VCC
      - trace_file_name (String)   Trace out file for VCC traces
      - timeout (unsigned)         default timeout (in milliseconds) used for solvers
      - well_sorted_check          type checker
      - auto_config                use heuristics to automatically select solver and configure it
      - model                      model generation for solvers, this parameter can be overwritten when creating a solver
      - model_validate             validate models produced by solvers
      - unsat_core                 unsat-core generation for solvers, this parameter can be overwritten when creating a solver
like image 121
Nikolaj Bjorner Avatar answered Oct 05 '22 02:10

Nikolaj Bjorner