A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://z3prover.github.io/api/html/z3__api_8h_source.html below:

Z3: doc/tmp/z3_api.h Source File

7 #define Z3_sort_opt Z3_sort 8 #define Z3_ast_opt Z3_ast 9 #define Z3_func_interp_opt Z3_func_interp 1886  unsigned

num_fields,

1968  unsigned

num_fields,

1971  unsigned

sort_refs[]

2010  unsigned

num_constructors,

2011

Z3_constructor constructors[]);

2037  unsigned

num_constructors,

2038

Z3_constructor

const

constructors[]);

2071

Z3_constructor_list constructor_lists[]);

2087

Z3_constructor constr,

2088  unsigned

num_fields,

2117  unsigned

domain_size,

Z3_sort const

domain[],

2164  unsigned

domain_size,

Z3_sort const

domain[],

2203  unsigned

domain_size,

Z3_sort const

domain[],

3211  Z3_ast

Z3_mk_mpq_numeral(

Z3_context

c,

bool

sign,

unsigned

n,

unsigned const

nums[],

unsigned

d,

unsigned const

dens[]);

3870  unsigned

num_patterns,

Z3_pattern const

patterns[],

3871  unsigned

num_decls,

Z3_sort const

sorts[],

3885  unsigned

num_patterns,

Z3_pattern const

patterns[],

3886  unsigned

num_decls,

Z3_sort const

sorts[],

3914  unsigned

num_patterns,

Z3_pattern const

patterns[],

3915  unsigned

num_decls,

Z3_sort const

sorts[],

3949  unsigned

num_patterns,

Z3_pattern const

patterns[],

3950  unsigned

num_no_patterns,

Z3_ast const

no_patterns[],

3951  unsigned

num_decls,

Z3_sort const

sorts[],

3977  unsigned

num_patterns,

4006  unsigned

num_patterns,

4020  unsigned

num_bound,

Z3_app const

bound[],

4021  unsigned

num_patterns,

Z3_pattern const

patterns[],

4036  unsigned

num_bound,

Z3_app const

bound[],

4037  unsigned

num_patterns,

Z3_pattern const

patterns[],

4038  unsigned

num_no_patterns,

Z3_ast const

no_patterns[],

4065  unsigned

num_decls,

Z3_sort const

sorts[],

4084  unsigned

num_bound,

Z3_app const

bound[],

4355  Z3_ast const

args[],

unsigned

k);

4364  Z3_ast const

args[],

unsigned

k);

4373  Z3_ast const

args[],

int const

coeffs[],

4383  Z3_ast const

args[],

int const

coeffs[],

4393  Z3_ast const

args[],

int const

coeffs[],

5457  unsigned

num_assumptions,

5458  Z3_ast const

assumptions[],

5602  void

Z3_API

Z3_get_version

(

unsigned

* major,

unsigned

* minor,

unsigned

* build_number,

unsigned

* revision_number);

6516  void

* user_context,

6534  void

* user_context,

6537

Z3_fresh_eh fresh_eh);

6693  unsigned

num_assumptions,

Z3_ast const

assumptions[]);

6716  unsigned

class_ids[]);

Z3_ast Z3_API Z3_mk_exists_const(Z3_context c, unsigned weight, unsigned num_bound, Z3_app const bound[], unsigned num_patterns, Z3_pattern const patterns[], Z3_ast body)

Similar to Z3_mk_forall_const.

Z3_ast Z3_API Z3_mk_pbeq(Z3_context c, unsigned num_args, Z3_ast const args[], int const coeffs[], int k)

Pseudo-Boolean relations.

Z3_ast_print_mode

Z3 pretty printing modes (See Z3_set_ast_print_mode).

Z3_ast_kind

The different kinds of Z3 AST (abstract syntax trees). That is, terms, formulas and types.

Z3_ast Z3_API Z3_model_get_const_interp(Z3_context c, Z3_model m, Z3_func_decl a)

Return the interpretation (i.e., assignment) of constant a in the model m. Return NULL,...

Z3_sort Z3_API Z3_mk_int_sort(Z3_context c)

Create the integer type.

Z3_simplifier Z3_API Z3_simplifier_and_then(Z3_context c, Z3_simplifier t1, Z3_simplifier t2)

Return a simplifier that applies t1 to a given goal and t2 to every subgoal produced by t1.

Z3_probe Z3_API Z3_probe_lt(Z3_context x, Z3_probe p1, Z3_probe p2)

Return a probe that evaluates to "true" when the value returned by p1 is less than the value returned...

Z3_sort Z3_API Z3_mk_array_sort_n(Z3_context c, unsigned n, Z3_sort const *domain, Z3_sort range)

Create an array type with N arguments.

Z3_ast Z3_API Z3_mk_bvxnor(Z3_context c, Z3_ast t1, Z3_ast t2)

Bitwise xnor.

Z3_ast Z3_API Z3_mk_quantifier(Z3_context c, bool is_forall, unsigned weight, unsigned num_patterns, Z3_pattern const patterns[], unsigned num_decls, Z3_sort const sorts[], Z3_symbol const decl_names[], Z3_ast body)

Create a quantifier - universal or existential, with pattern hints. See the documentation for Z3_mk_f...

Z3_string Z3_API Z3_get_error_msg(Z3_context c, Z3_error_code err)

Return a string describing the given error code.

bool Z3_API Z3_open_log(Z3_string filename)

Log interaction to a file.

Z3_parameter_kind Z3_API Z3_get_decl_parameter_kind(Z3_context c, Z3_func_decl d, unsigned idx)

Return the parameter type associated with a declaration.

bool Z3_API Z3_is_seq_sort(Z3_context c, Z3_sort s)

Check if s is a sequence sort.

Z3_ast Z3_API Z3_mk_bvnor(Z3_context c, Z3_ast t1, Z3_ast t2)

Bitwise nor.

Z3_ast Z3_API Z3_get_denominator(Z3_context c, Z3_ast a)

Return the denominator (as a numeral AST) of a numeral AST of sort Real.

Z3_probe Z3_API Z3_probe_not(Z3_context x, Z3_probe p)

Return a probe that evaluates to "true" when p does not evaluate to true.

Z3_decl_kind Z3_API Z3_get_decl_kind(Z3_context c, Z3_func_decl d)

Return declaration kind corresponding to declaration.

void Z3_API Z3_solver_assert_and_track(Z3_context c, Z3_solver s, Z3_ast a, Z3_ast p)

Assert a constraint a into the solver, and track it (in the unsat) core using the Boolean constant p.

Z3_ast Z3_API Z3_func_interp_get_else(Z3_context c, Z3_func_interp f)

Return the 'else' value of the given function interpretation.

Z3_ast Z3_API Z3_mk_char_to_bv(Z3_context c, Z3_ast ch)

Create a bit-vector (code point) from character.

void Z3_API Z3_solver_propagate_diseq(Z3_context c, Z3_solver s, Z3_eq_eh eq_eh)

register a callback on expression dis-equalities.

Z3_ast Z3_API Z3_mk_bvsge(Z3_context c, Z3_ast t1, Z3_ast t2)

Two's complement signed greater than or equal to.

Z3_tactic Z3_API Z3_tactic_using_params(Z3_context c, Z3_tactic t, Z3_params p)

Return a tactic that applies t using the given set of parameters.

Z3_ast Z3_API Z3_mk_const_array(Z3_context c, Z3_sort domain, Z3_ast v)

Create the constant array.

void Z3_API Z3_simplifier_inc_ref(Z3_context c, Z3_simplifier t)

Increment the reference counter of the given simplifier.

Z3_probe Z3_API Z3_probe_eq(Z3_context x, Z3_probe p1, Z3_probe p2)

Return a probe that evaluates to "true" when the value returned by p1 is equal to the value returned ...

Z3_sort Z3_API Z3_mk_char_sort(Z3_context c)

Create a sort for unicode characters.

Z3_ast Z3_API Z3_mk_unsigned_int(Z3_context c, unsigned v, Z3_sort ty)

Create a numeral of a int, bit-vector, or finite-domain sort.

Z3_ast Z3_API Z3_mk_re_option(Z3_context c, Z3_ast re)

Create the regular language [re].

Z3_ast Z3_API Z3_mk_bvsle(Z3_context c, Z3_ast t1, Z3_ast t2)

Two's complement signed less than or equal to.

void Z3_API Z3_query_constructor(Z3_context c, Z3_constructor constr, unsigned num_fields, Z3_func_decl *constructor, Z3_func_decl *tester, Z3_func_decl accessors[])

Query constructor for declared functions.

Z3_func_decl Z3_API Z3_get_app_decl(Z3_context c, Z3_app a)

Return the declaration of a constant or function application.

Z3_context Z3_API Z3_mk_context(Z3_config c)

Create a context using the given configuration.

void Z3_API Z3_del_context(Z3_context c)

Delete the given logical context.

Z3_ast Z3_API Z3_substitute(Z3_context c, Z3_ast a, unsigned num_exprs, Z3_ast const from[], Z3_ast const to[])

Substitute every occurrence of from[i] in a with to[i], for i smaller than num_exprs....

Z3_ast Z3_API Z3_mk_mul(Z3_context c, unsigned num_args, Z3_ast const args[])

Create an AST node representing args[0] * ... * args[num_args-1].

Z3_func_decl Z3_API Z3_get_decl_func_decl_parameter(Z3_context c, Z3_func_decl d, unsigned idx)

Return the expression value associated with an expression parameter.

Z3_goal_prec

Z3 custom error handler (See Z3_set_error_handler).

Z3_ast Z3_API Z3_mk_seq_replace(Z3_context c, Z3_ast s, Z3_ast src, Z3_ast dst)

Replace the first occurrence of src with dst in s.

Z3_string Z3_API Z3_param_descrs_to_string(Z3_context c, Z3_param_descrs p)

Convert a parameter description set into a string. This function is mainly used for printing the cont...

Z3_ast Z3_API Z3_mk_zero_ext(Z3_context c, unsigned i, Z3_ast t1)

Extend the given bit-vector with zeros to the (unsigned) equivalent bit-vector of size m+i,...

void Z3_API Z3_solver_set_params(Z3_context c, Z3_solver s, Z3_params p)

Set the given solver using the given parameters.

Z3_ast Z3_API Z3_mk_set_intersect(Z3_context c, unsigned num_args, Z3_ast const args[])

Take the intersection of a list of sets.

Z3_ast Z3_API Z3_mk_str_le(Z3_context c, Z3_ast prefix, Z3_ast s)

Check if s1 is equal or lexicographically strictly less than s2.

Z3_params Z3_API Z3_mk_params(Z3_context c)

Create a Z3 (empty) parameter set. Starting at Z3 4.0, parameter sets are used to configure many comp...

unsigned Z3_API Z3_get_decl_num_parameters(Z3_context c, Z3_func_decl d)

Return the number of parameters associated with a declaration.

Z3_ast Z3_API Z3_mk_set_subset(Z3_context c, Z3_ast arg1, Z3_ast arg2)

Check for subsetness of sets.

Z3_ast Z3_API Z3_simplify(Z3_context c, Z3_ast a)

Interface to simplifier.

Z3_ast Z3_API Z3_mk_int(Z3_context c, int v, Z3_sort ty)

Create a numeral of an int, bit-vector, or finite-domain sort.

Z3_lbool Z3_API Z3_solver_get_consequences(Z3_context c, Z3_solver s, Z3_ast_vector assumptions, Z3_ast_vector variables, Z3_ast_vector consequences)

retrieve consequences from solver that determine values of the supplied function symbols.

void Z3_API Z3_get_string_contents(Z3_context c, Z3_ast s, unsigned length, unsigned contents[])

Retrieve the unescaped string constant stored in s.

Z3_ast Z3_API Z3_mk_bvule(Z3_context c, Z3_ast t1, Z3_ast t2)

Unsigned less than or equal to.

Z3_ast Z3_API Z3_mk_full_set(Z3_context c, Z3_sort domain)

Create the full set.

Z3_param_kind Z3_API Z3_param_descrs_get_kind(Z3_context c, Z3_param_descrs p, Z3_symbol n)

Return the kind associated with the given parameter name n.

Z3_ast Z3_API Z3_mk_char_le(Z3_context c, Z3_ast ch1, Z3_ast ch2)

Create less than or equal to between two characters.

bool Z3_API Z3_get_numeral_int64(Z3_context c, Z3_ast v, int64_t *i)

Similar to Z3_get_numeral_string, but only succeeds if the value can fit in a machine int64_t int....

void Z3_API Z3_add_rec_def(Z3_context c, Z3_func_decl f, unsigned n, Z3_ast args[], Z3_ast body)

Define the body of a recursive function.

Z3_param_descrs Z3_API Z3_solver_get_param_descrs(Z3_context c, Z3_solver s)

Return the parameter description set for the given solver object.

Z3_string Z3_API Z3_eval_smtlib2_string(Z3_context c, Z3_string str)

Parse and evaluate and SMT-LIB2 command sequence. The state from a previous call is saved so the next...

void Z3_API Z3_toggle_warning_messages(bool enabled)

Enable/disable printing warning messages to the console.

Z3_ast Z3_API Z3_mk_true(Z3_context c)

Create an AST node representing true.

Z3_ast Z3_API Z3_mk_set_union(Z3_context c, unsigned num_args, Z3_ast const args[])

Take the union of a list of sets.

void Z3_API Z3_apply_result_inc_ref(Z3_context c, Z3_apply_result r)

Increment the reference counter of the given Z3_apply_result object.

Z3_func_interp Z3_API Z3_add_func_interp(Z3_context c, Z3_model m, Z3_func_decl f, Z3_ast default_value)

Create a fresh func_interp object, add it to a model for a specified function. It has reference count...

Z3_ast Z3_API Z3_mk_bvsdiv_no_overflow(Z3_context c, Z3_ast t1, Z3_ast t2)

Create a predicate that checks that the bit-wise signed division of t1 and t2 does not overflow.

Z3_decl_kind

The different kinds of interpreted function kinds.

void Z3_API Z3_parser_context_add_decl(Z3_context c, Z3_parser_context pc, Z3_func_decl f)

Add a function declaration.

unsigned Z3_API Z3_get_arity(Z3_context c, Z3_func_decl d)

Alias for Z3_get_domain_size.

Z3_ast Z3_API Z3_mk_bvxor(Z3_context c, Z3_ast t1, Z3_ast t2)

Bitwise exclusive-or.

Z3_string Z3_API Z3_stats_to_string(Z3_context c, Z3_stats s)

Convert a statistics into a string.

Z3_sort Z3_API Z3_mk_real_sort(Z3_context c)

Create the real type.

Z3_ast Z3_API Z3_mk_string_from_code(Z3_context c, Z3_ast a)

Code to string conversion.

Z3_ast Z3_API Z3_mk_le(Z3_context c, Z3_ast t1, Z3_ast t2)

Create less than or equal to.

unsigned Z3_API Z3_get_tuple_sort_num_fields(Z3_context c, Z3_sort t)

Return the number of fields of the given tuple sort.

bool Z3_API Z3_global_param_get(Z3_string param_id, Z3_string_ptr param_value)

Get a global (or module) parameter.

Z3_string Z3_API Z3_simplifier_get_help(Z3_context c, Z3_simplifier t)

Return a string containing a description of parameters accepted by the given simplifier.

bool Z3_API Z3_goal_inconsistent(Z3_context c, Z3_goal g)

Return true if the given goal contains the formula false.

Z3_ast Z3_API Z3_mk_lambda_const(Z3_context c, unsigned num_bound, Z3_app const bound[], Z3_ast body)

Create a lambda expression using a list of constants that form the set of bound variables.

Z3_tactic Z3_API Z3_tactic_par_and_then(Z3_context c, Z3_tactic t1, Z3_tactic t2)

Return a tactic that applies t1 to a given goal and then t2 to every subgoal produced by t1....

void Z3_API Z3_solver_dec_ref(Z3_context c, Z3_solver s)

Decrement the reference counter of the given solver.

Z3_ast Z3_API Z3_mk_bvslt(Z3_context c, Z3_ast t1, Z3_ast t2)

Two's complement signed less than.

Z3_func_decl Z3_API Z3_model_get_func_decl(Z3_context c, Z3_model m, unsigned i)

Return the declaration of the i-th function in the given model.

Z3_ast Z3_API Z3_mk_seq_length(Z3_context c, Z3_ast s)

Return the length of the sequence s.

Z3_ast Z3_API Z3_mk_numeral(Z3_context c, Z3_string numeral, Z3_sort ty)

Create a numeral of a given sort.

unsigned Z3_API Z3_func_entry_get_num_args(Z3_context c, Z3_func_entry e)

Return the number of arguments in a Z3_func_entry object.

Z3_ast Z3_API Z3_simplify_ex(Z3_context c, Z3_ast a, Z3_params p)

Interface to simplifier.

Z3_symbol Z3_API Z3_get_decl_symbol_parameter(Z3_context c, Z3_func_decl d, unsigned idx)

Return the double value associated with an double parameter.

Z3_symbol Z3_API Z3_get_quantifier_skolem_id(Z3_context c, Z3_ast a)

Obtain skolem id of quantifier.

Z3_sort Z3_API Z3_get_seq_sort_basis(Z3_context c, Z3_sort s)

Retrieve basis sort for sequence sort.

void Z3_API Z3_solver_from_string(Z3_context c, Z3_solver s, Z3_string str)

load solver assertions from a string.

Z3_ast Z3_API Z3_get_numerator(Z3_context c, Z3_ast a)

Return the numerator (as a numeral AST) of a numeral AST of sort Real.

Z3_ast Z3_API Z3_mk_unary_minus(Z3_context c, Z3_ast arg)

Create an AST node representing - arg.

bool Z3_API Z3_is_char_sort(Z3_context c, Z3_sort s)

Check if s is a character sort.

Z3_probe Z3_API Z3_probe_ge(Z3_context x, Z3_probe p1, Z3_probe p2)

Return a probe that evaluates to "true" when the value returned by p1 is greater than or equal to the...

Z3_ast Z3_API Z3_mk_and(Z3_context c, unsigned num_args, Z3_ast const args[])

Create an AST node representing args[0] and ... and args[num_args-1].

void Z3_API Z3_simplifier_dec_ref(Z3_context c, Z3_simplifier g)

Decrement the reference counter of the given simplifier.

void Z3_API Z3_interrupt(Z3_context c)

Interrupt the execution of a Z3 procedure. This procedure can be used to interrupt: solvers,...

Z3_ast Z3_API Z3_mk_str_to_int(Z3_context c, Z3_ast s)

Convert string to integer.

void Z3_API Z3_goal_assert(Z3_context c, Z3_goal g, Z3_ast a)

Add a new formula a to the given goal. The formula is split according to the following procedure that...

Z3_symbol Z3_API Z3_param_descrs_get_name(Z3_context c, Z3_param_descrs p, unsigned i)

Return the name of the parameter at given index i.

Z3_string Z3_API Z3_func_decl_to_string(Z3_context c, Z3_func_decl d)

Z3_ast Z3_API Z3_mk_re_allchar(Z3_context c, Z3_sort regex_sort)

Create a regular expression that accepts all singleton sequences of the regular expression sort.

Z3_ast Z3_API Z3_func_entry_get_value(Z3_context c, Z3_func_entry e)

Return the value of this point.

bool Z3_API Z3_is_quantifier_exists(Z3_context c, Z3_ast a)

Determine if ast is an existential quantifier.

Z3_sort Z3_API Z3_mk_uninterpreted_sort(Z3_context c, Z3_symbol s)

Create a free (uninterpreted) type using the given name (symbol).

bool Z3_API Z3_get_numeral_small(Z3_context c, Z3_ast a, int64_t *num, int64_t *den)

Return numeral value, as a pair of 64 bit numbers if the representation fits.

Z3_ast Z3_API Z3_mk_false(Z3_context c)

Create an AST node representing false.

Z3_sort Z3_API Z3_mk_datatype(Z3_context c, Z3_symbol name, unsigned num_constructors, Z3_constructor constructors[])

Create datatype, such as lists, trees, records, enumerations or unions of records....

Z3_lbool Z3_API Z3_solver_check(Z3_context c, Z3_solver s)

Check whether the assertions in a given solver are consistent or not.

Z3_ast Z3_API Z3_mk_rotate_right(Z3_context c, unsigned i, Z3_ast t1)

Rotate bits of t1 to the right i times.

Z3_ast Z3_API Z3_get_pattern(Z3_context c, Z3_pattern p, unsigned idx)

Return i'th ast in pattern.

Z3_ast Z3_API Z3_mk_bvmul(Z3_context c, Z3_ast t1, Z3_ast t2)

Standard two's complement multiplication.

Z3_ast Z3_API Z3_mk_seq_at(Z3_context c, Z3_ast s, Z3_ast index)

Retrieve from s the unit sequence positioned at position index. The sequence is empty if the index is...

void Z3_API Z3_finalize_memory(void)

Destroy all allocated resources.

Z3_model Z3_API Z3_goal_convert_model(Z3_context c, Z3_goal g, Z3_model m)

Convert a model of the formulas of a goal to a model of an original goal. The model may be null,...

void Z3_API Z3_del_constructor(Z3_context c, Z3_constructor constr)

Reclaim memory allocated to constructor.

Z3_ast Z3_API Z3_mk_bvsgt(Z3_context c, Z3_ast t1, Z3_ast t2)

Two's complement signed greater than.

Z3_string Z3_API Z3_ast_to_string(Z3_context c, Z3_ast a)

Convert the given AST node into a string.

Z3_ast Z3_API Z3_mk_re_complement(Z3_context c, Z3_ast re)

Create the complement of the regular language re.

Z3_context Z3_API Z3_mk_context_rc(Z3_config c)

Create a context using the given configuration. This function is similar to Z3_mk_context....

Z3_ast_vector Z3_API Z3_solver_get_assertions(Z3_context c, Z3_solver s)

Return the set of asserted formulas on the solver.

Z3_string Z3_API Z3_get_full_version(void)

Return a string that fully describes the version of Z3 in use.

void Z3_API Z3_enable_trace(Z3_string tag)

Enable tracing messages tagged as tag when Z3 is compiled in debug mode. It is a NOOP otherwise.

Z3_solver Z3_API Z3_mk_solver_from_tactic(Z3_context c, Z3_tactic t)

Create a new solver that is implemented using the given tactic. The solver supports the commands Z3_s...

Z3_ast Z3_API Z3_mk_lambda(Z3_context c, unsigned num_decls, Z3_sort const sorts[], Z3_symbol const decl_names[], Z3_ast body)

Create a lambda expression. It takes an expression body that contains bound variables of the same sor...

Z3_ast Z3_API Z3_mk_set_complement(Z3_context c, Z3_ast arg)

Take the complement of a set.

unsigned Z3_API Z3_get_quantifier_num_patterns(Z3_context c, Z3_ast a)

Return number of patterns used in quantifier.

Z3_symbol Z3_API Z3_get_quantifier_bound_name(Z3_context c, Z3_ast a, unsigned i)

Return symbol of the i'th bound variable.

Z3_string Z3_API Z3_simplify_get_help(Z3_context c)

Return a string describing all available parameters.

unsigned Z3_API Z3_get_num_probes(Z3_context c)

Return the number of builtin probes available in Z3.

bool Z3_API Z3_stats_is_uint(Z3_context c, Z3_stats s, unsigned idx)

Return true if the given statistical data is a unsigned integer.

bool Z3_API Z3_stats_is_double(Z3_context c, Z3_stats s, unsigned idx)

Return true if the given statistical data is a double.

unsigned Z3_API Z3_model_get_num_consts(Z3_context c, Z3_model m)

Return the number of constants assigned by the given model.

Z3_ast Z3_API Z3_get_algebraic_number_lower(Z3_context c, Z3_ast a, unsigned precision)

Return a lower bound for the given real algebraic number. The interval isolating the number is smalle...

Z3_char_ptr Z3_API Z3_get_lstring(Z3_context c, Z3_ast s, unsigned *length)

Retrieve the string constant stored in s. The string can contain escape sequences....

Z3_ast Z3_API Z3_mk_extract(Z3_context c, unsigned high, unsigned low, Z3_ast t1)

Extract the bits high down to low from a bit-vector of size m to yield a new bit-vector of size n,...

Z3_ast Z3_API Z3_mk_iff(Z3_context c, Z3_ast t1, Z3_ast t2)

Create an AST node representing t1 iff t2.

Z3_ast Z3_API Z3_mk_mod(Z3_context c, Z3_ast arg1, Z3_ast arg2)

Create an AST node representing arg1 mod arg2.

void Z3_API Z3_solver_interrupt(Z3_context c, Z3_solver s)

Solver local interrupt. Normally you should use Z3_interrupt to cancel solvers because only one solve...

Z3_ast Z3_API Z3_mk_bvredand(Z3_context c, Z3_ast t1)

Take conjunction of bits in vector, return vector of length 1.

Z3_ast Z3_API Z3_mk_set_add(Z3_context c, Z3_ast set, Z3_ast elem)

Add an element to a set.

Z3_ast Z3_API Z3_mk_ge(Z3_context c, Z3_ast t1, Z3_ast t2)

Create greater than or equal to.

Z3_ast Z3_API Z3_mk_bvadd_no_underflow(Z3_context c, Z3_ast t1, Z3_ast t2)

Create a predicate that checks that the bit-wise signed addition of t1 and t2 does not underflow.

void Z3_API Z3_update_param_value(Z3_context c, Z3_string param_id, Z3_string param_value)

Set a value of a context parameter.

Z3_ast Z3_API Z3_mk_bvadd_no_overflow(Z3_context c, Z3_ast t1, Z3_ast t2, bool is_signed)

Create a predicate that checks that the bit-wise addition of t1 and t2 does not overflow.

void Z3_API Z3_set_ast_print_mode(Z3_context c, Z3_ast_print_mode mode)

Select mode for the format used for pretty-printing AST nodes.

bool Z3_API Z3_solver_propagate_consequence(Z3_context c, Z3_solver_callback cb, unsigned num_fixed, Z3_ast const *fixed, unsigned num_eqs, Z3_ast const *eq_lhs, Z3_ast const *eq_rhs, Z3_ast conseq)

propagate a consequence based on fixed values and equalities. A client may invoke it during the pro...

Z3_ast Z3_API Z3_mk_array_default(Z3_context c, Z3_ast array)

Access the array default value. Produces the default range value, for arrays that can be represented ...

void Z3_API Z3_enable_concurrent_dec_ref(Z3_context c)

use concurrency control for dec-ref. Reference counting decrements are allowed in separate threads fr...

Z3_ast Z3_API Z3_datatype_update_field(Z3_context c, Z3_func_decl field_access, Z3_ast t, Z3_ast value)

Update record field with a value.

Z3_ast Z3_API Z3_mk_quantifier_const(Z3_context c, bool is_forall, unsigned weight, unsigned num_bound, Z3_app const bound[], unsigned num_patterns, Z3_pattern const patterns[], Z3_ast body)

Create a universal or existential quantifier using a list of constants that will form the set of boun...

Z3_ast Z3_API Z3_mk_forall_const(Z3_context c, unsigned weight, unsigned num_bound, Z3_app const bound[], unsigned num_patterns, Z3_pattern const patterns[], Z3_ast body)

Create a universal quantifier using a list of constants that will form the set of bound variables.

unsigned Z3_API Z3_model_get_num_sorts(Z3_context c, Z3_model m)

Return the number of uninterpreted sorts that m assigns an interpretation to.

Z3_param_kind

The different kinds of parameters that can be associated with parameter sets. (see Z3_mk_params).

unsigned Z3_API Z3_get_pattern_num_terms(Z3_context c, Z3_pattern p)

Return number of terms in pattern.

const char * Z3_string

Z3 string type. It is just an alias for const char *.

void Z3_API Z3_parser_context_dec_ref(Z3_context c, Z3_parser_context pc)

Decrement the reference counter of the given Z3_parser_context object.

Z3_constructor Z3_API Z3_mk_constructor(Z3_context c, Z3_symbol name, Z3_symbol recognizer, unsigned num_fields, Z3_symbol const field_names[], Z3_sort_opt const sorts[], unsigned sort_refs[])

Create a constructor.

Z3_param_descrs Z3_API Z3_tactic_get_param_descrs(Z3_context c, Z3_tactic t)

Return the parameter description set for the given tactic object.

Z3_sort Z3_API Z3_mk_tuple_sort(Z3_context c, Z3_symbol mk_tuple_name, unsigned num_fields, Z3_symbol const field_names[], Z3_sort const field_sorts[], Z3_func_decl *mk_tuple_decl, Z3_func_decl proj_decl[])

Create a tuple type.

void Z3_API Z3_func_entry_inc_ref(Z3_context c, Z3_func_entry e)

Increment the reference counter of the given Z3_func_entry object.

Z3_ast Z3_API Z3_mk_fresh_const(Z3_context c, Z3_string prefix, Z3_sort ty)

Declare and create a fresh constant.

Z3_ast Z3_API Z3_mk_bvsub_no_overflow(Z3_context c, Z3_ast t1, Z3_ast t2)

Create a predicate that checks that the bit-wise signed subtraction of t1 and t2 does not overflow.

Z3_sort_kind

The different kinds of Z3 types (See Z3_get_sort_kind).

void Z3_API Z3_solver_push(Z3_context c, Z3_solver s)

Create a backtracking point.

Z3_ast Z3_API Z3_mk_bvsub_no_underflow(Z3_context c, Z3_ast t1, Z3_ast t2, bool is_signed)

Create a predicate that checks that the bit-wise subtraction of t1 and t2 does not underflow.

Z3_goal Z3_API Z3_goal_translate(Z3_context source, Z3_goal g, Z3_context target)

Copy a goal g from the context source to the context target.

Z3_tactic Z3_API Z3_tactic_fail_if_not_decided(Z3_context c)

Return a tactic that fails if the goal is not trivially satisfiable (i.e., empty) or trivially unsati...

Z3_app Z3_API Z3_to_app(Z3_context c, Z3_ast a)

Convert an ast into an APP_AST. This is just type casting.

Z3_ast Z3_API Z3_mk_bvudiv(Z3_context c, Z3_ast t1, Z3_ast t2)

Unsigned division.

Z3_ast_vector Z3_API Z3_solver_get_trail(Z3_context c, Z3_solver s)

Return the trail modulo model conversion, in order of decision level The decision level can be retrie...

Z3_ast Z3_API Z3_mk_quantifier_ex(Z3_context c, bool is_forall, unsigned weight, Z3_symbol quantifier_id, Z3_symbol skolem_id, unsigned num_patterns, Z3_pattern const patterns[], unsigned num_no_patterns, Z3_ast const no_patterns[], unsigned num_decls, Z3_sort const sorts[], Z3_symbol const decl_names[], Z3_ast body)

Create a quantifier - universal or existential, with pattern hints, no patterns, and attributes.

Z3_ast Z3_API Z3_mk_bvshl(Z3_context c, Z3_ast t1, Z3_ast t2)

Shift left.

void Z3_API Z3_set_error(Z3_context c, Z3_error_code e)

Set an error.

Z3_func_decl Z3_API Z3_mk_tree_order(Z3_context c, Z3_sort a, unsigned id)

create a tree ordering relation over signature a identified using index id.

bool Z3_API Z3_is_numeral_ast(Z3_context c, Z3_ast a)

Z3_ast Z3_API Z3_mk_bvsrem(Z3_context c, Z3_ast t1, Z3_ast t2)

Two's complement signed remainder (sign follows dividend).

Z3_ast Z3_API Z3_solver_congruence_next(Z3_context c, Z3_solver s, Z3_ast a)

retrieve the next expression in the congruence class. The set of congruent siblings form a cyclic lis...

bool Z3_API Z3_is_as_array(Z3_context c, Z3_ast a)

The (_ as-array f) AST node is a construct for assigning interpretations for arrays in Z3....

Z3_func_decl Z3_API Z3_mk_func_decl(Z3_context c, Z3_symbol s, unsigned domain_size, Z3_sort const domain[], Z3_sort range)

Declare a constant or function.

unsigned Z3_API Z3_goal_num_exprs(Z3_context c, Z3_goal g)

Return the number of formulas, subformulas and terms in the given goal.

Z3_solver Z3_API Z3_mk_solver_for_logic(Z3_context c, Z3_symbol logic)

Create a new solver customized for the given logic. It behaves like Z3_mk_solver if the logic is unkn...

Z3_ast Z3_API Z3_mk_is_int(Z3_context c, Z3_ast t1)

Check if a real number is an integer.

void Z3_API Z3_params_set_bool(Z3_context c, Z3_params p, Z3_symbol k, bool v)

Add a Boolean parameter k with value v to the parameter set p.

unsigned Z3_API Z3_apply_result_get_num_subgoals(Z3_context c, Z3_apply_result r)

Return the number of subgoals in the Z3_apply_result object returned by Z3_tactic_apply.

Z3_ast Z3_API Z3_mk_ite(Z3_context c, Z3_ast t1, Z3_ast t2, Z3_ast t3)

Create an AST node representing an if-then-else: ite(t1, t2, t3).

Z3_ast Z3_API Z3_mk_select(Z3_context c, Z3_ast a, Z3_ast i)

Array read. The argument a is the array and i is the index of the array that gets read.

Z3_ast Z3_API Z3_mk_sign_ext(Z3_context c, unsigned i, Z3_ast t1)

Sign-extend of the given bit-vector to the (signed) equivalent bit-vector of size m+i,...

Z3_ast Z3_API Z3_mk_seq_unit(Z3_context c, Z3_ast a)

Create a unit sequence of a.

Z3_ast Z3_API Z3_mk_re_intersect(Z3_context c, unsigned n, Z3_ast const args[])

Create the intersection of the regular languages.

Z3_ast_vector Z3_API Z3_solver_cube(Z3_context c, Z3_solver s, Z3_ast_vector vars, unsigned backtrack_level)

extract a next cube for a solver. The last cube is the constant true or false. The number of (non-con...

Z3_ast Z3_API Z3_mk_u32string(Z3_context c, unsigned len, unsigned const chars[])

Create a string constant out of the string that is passed in It takes the length of the string as wel...

unsigned Z3_API Z3_goal_size(Z3_context c, Z3_goal g)

Return the number of formulas in the given goal.

Z3_func_decl Z3_API Z3_solver_propagate_declare(Z3_context c, Z3_symbol name, unsigned n, Z3_sort *domain, Z3_sort range)

void Z3_API Z3_stats_inc_ref(Z3_context c, Z3_stats s)

Increment the reference counter of the given statistics object.

Z3_ast Z3_API Z3_mk_select_n(Z3_context c, Z3_ast a, unsigned n, Z3_ast const *idxs)

n-ary Array read. The argument a is the array and idxs are the indices of the array that gets read.

bool Z3_API Z3_is_string_sort(Z3_context c, Z3_sort s)

Check if s is a string sort.

Z3_ast Z3_API Z3_mk_div(Z3_context c, Z3_ast arg1, Z3_ast arg2)

Create an AST node representing arg1 div arg2.

Z3_tactic Z3_API Z3_tactic_fail(Z3_context c)

Return a tactic that always fails.

Z3_ast Z3_API Z3_app_to_ast(Z3_context c, Z3_app a)

Convert a Z3_app into Z3_ast. This is just type casting.

Z3_ast Z3_API Z3_mk_pbge(Z3_context c, unsigned num_args, Z3_ast const args[], int const coeffs[], int k)

Pseudo-Boolean relations.

Z3_sort Z3_API Z3_mk_re_sort(Z3_context c, Z3_sort seq)

Create a regular expression sort out of a sequence sort.

Z3_ast Z3_API Z3_mk_pble(Z3_context c, unsigned num_args, Z3_ast const args[], int const coeffs[], int k)

Pseudo-Boolean relations.

void Z3_API Z3_model_dec_ref(Z3_context c, Z3_model m)

Decrement the reference counter of the given model.

Z3_ast Z3_API Z3_mk_exists(Z3_context c, unsigned weight, unsigned num_patterns, Z3_pattern const patterns[], unsigned num_decls, Z3_sort const sorts[], Z3_symbol const decl_names[], Z3_ast body)

Create an exists formula. Similar to Z3_mk_forall.

void Z3_API Z3_func_interp_inc_ref(Z3_context c, Z3_func_interp f)

Increment the reference counter of the given Z3_func_interp object.

Z3_func_decl Z3_API Z3_mk_piecewise_linear_order(Z3_context c, Z3_sort a, unsigned id)

create a piecewise linear ordering relation over signature a and index id.

void Z3_API Z3_params_set_double(Z3_context c, Z3_params p, Z3_symbol k, double v)

Add a double parameter k with value v to the parameter set p.

Z3_string Z3_API Z3_pattern_to_string(Z3_context c, Z3_pattern p)

Z3_string Z3_API Z3_param_descrs_get_documentation(Z3_context c, Z3_param_descrs p, Z3_symbol s)

Retrieve documentation string corresponding to parameter name s.

Z3_sort Z3_API Z3_mk_datatype_sort(Z3_context c, Z3_symbol name)

create a forward reference to a recursive datatype being declared. The forward reference can be used ...

Z3_solver Z3_API Z3_mk_solver(Z3_context c)

Create a new solver. This solver is a "combined solver" (see combined_solver module) that internally ...

Z3_model Z3_API Z3_solver_get_model(Z3_context c, Z3_solver s)

Retrieve the model for the last Z3_solver_check or Z3_solver_check_assumptions.

int Z3_API Z3_get_symbol_int(Z3_context c, Z3_symbol s)

Return the symbol int value.

Z3_func_decl Z3_API Z3_get_as_array_func_decl(Z3_context c, Z3_ast a)

Return the function declaration f associated with a (_ as_array f) node.

Z3_ast Z3_API Z3_mk_ext_rotate_left(Z3_context c, Z3_ast t1, Z3_ast t2)

Rotate bits of t1 to the left t2 times.

void Z3_API Z3_goal_inc_ref(Z3_context c, Z3_goal g)

Increment the reference counter of the given goal.

Z3_string Z3_API Z3_simplifier_get_descr(Z3_context c, Z3_string name)

Return a string containing a description of the simplifier with the given name.

Z3_tactic Z3_API Z3_tactic_par_or(Z3_context c, unsigned num, Z3_tactic const ts[])

Return a tactic that applies the given tactics in parallel.

Z3_ast Z3_API Z3_mk_implies(Z3_context c, Z3_ast t1, Z3_ast t2)

Create an AST node representing t1 implies t2.

unsigned Z3_API Z3_constructor_num_fields(Z3_context c, Z3_constructor constr)

Retrieve the number of fields of a constructor.

unsigned Z3_API Z3_get_datatype_sort_num_constructors(Z3_context c, Z3_sort t)

Return number of constructors for datatype.

void Z3_API Z3_params_set_uint(Z3_context c, Z3_params p, Z3_symbol k, unsigned v)

Add a unsigned parameter k with value v to the parameter set p.

Z3_lbool Z3_API Z3_solver_check_assumptions(Z3_context c, Z3_solver s, unsigned num_assumptions, Z3_ast const assumptions[])

Check whether the assertions in the given solver and optional assumptions are consistent or not.

Z3_sort Z3_API Z3_model_get_sort(Z3_context c, Z3_model m, unsigned i)

Return a uninterpreted sort that m assigns an interpretation.

Z3_ast Z3_API Z3_mk_bvashr(Z3_context c, Z3_ast t1, Z3_ast t2)

Arithmetic shift right.

Z3_simplifier Z3_API Z3_simplifier_using_params(Z3_context c, Z3_simplifier t, Z3_params p)

Return a simplifier that applies t using the given set of parameters.

Z3_ast Z3_API Z3_mk_bv2int(Z3_context c, Z3_ast t1, bool is_signed)

Create an integer from the bit-vector argument t1. If is_signed is false, then the bit-vector t1 is t...

Z3_ast Z3_API Z3_mk_sbv_to_str(Z3_context c, Z3_ast s)

Signed bit-vector to string conversion.

Z3_sort Z3_API Z3_get_array_sort_domain_n(Z3_context c, Z3_sort t, unsigned idx)

Return the i'th domain sort of an n-dimensional array.

void Z3_API Z3_solver_import_model_converter(Z3_context ctx, Z3_solver src, Z3_solver dst)

Ad-hoc method for importing model conversion from solver.

Z3_ast Z3_API Z3_mk_set_del(Z3_context c, Z3_ast set, Z3_ast elem)

Remove an element to a set.

Z3_ast Z3_API Z3_mk_bvmul_no_overflow(Z3_context c, Z3_ast t1, Z3_ast t2, bool is_signed)

Create a predicate that checks that the bit-wise multiplication of t1 and t2 does not overflow.

Z3_ast Z3_API Z3_mk_re_union(Z3_context c, unsigned n, Z3_ast const args[])

Create the union of the regular languages.

Z3_param_descrs Z3_API Z3_simplifier_get_param_descrs(Z3_context c, Z3_simplifier t)

Return the parameter description set for the given simplifier object.

Z3_ast Z3_API Z3_mk_bvor(Z3_context c, Z3_ast t1, Z3_ast t2)

Bitwise or.

int Z3_API Z3_get_decl_int_parameter(Z3_context c, Z3_func_decl d, unsigned idx)

Return the integer value associated with an integer parameter.

unsigned Z3_API Z3_get_quantifier_num_no_patterns(Z3_context c, Z3_ast a)

Return number of no_patterns used in quantifier.

unsigned Z3_API Z3_get_num_simplifiers(Z3_context c)

Return the number of builtin simplifiers available in Z3.

Z3_func_decl Z3_API Z3_get_datatype_sort_constructor(Z3_context c, Z3_sort t, unsigned idx)

Return idx'th constructor.

Z3_lbool

Lifted Boolean type: false, undefined, true.

Z3_ast Z3_API Z3_mk_seq_empty(Z3_context c, Z3_sort seq)

Create an empty sequence of the sequence sort seq.

Z3_probe Z3_API Z3_mk_probe(Z3_context c, Z3_string name)

Return a probe associated with the given name. The complete list of probes may be obtained using the ...

Z3_ast Z3_API Z3_mk_quantifier_const_ex(Z3_context c, bool is_forall, unsigned weight, Z3_symbol quantifier_id, Z3_symbol skolem_id, unsigned num_bound, Z3_app const bound[], unsigned num_patterns, Z3_pattern const patterns[], unsigned num_no_patterns, Z3_ast const no_patterns[], Z3_ast body)

Create a universal or existential quantifier using a list of constants that will form the set of boun...

Z3_tactic Z3_API Z3_tactic_when(Z3_context c, Z3_probe p, Z3_tactic t)

Return a tactic that applies t to a given goal is the probe p evaluates to true. If p evaluates to fa...

Z3_ast Z3_API Z3_mk_seq_suffix(Z3_context c, Z3_ast suffix, Z3_ast s)

Check if suffix is a suffix of s.

Z3_pattern Z3_API Z3_mk_pattern(Z3_context c, unsigned num_patterns, Z3_ast const terms[])

Create a pattern for quantifier instantiation.

Z3_symbol_kind Z3_API Z3_get_symbol_kind(Z3_context c, Z3_symbol s)

Return Z3_INT_SYMBOL if the symbol was constructed using Z3_mk_int_symbol, and Z3_STRING_SYMBOL if th...

Z3_sort Z3_API Z3_get_re_sort_basis(Z3_context c, Z3_sort s)

Retrieve basis sort for regex sort.

void Z3_API Z3_solver_set_initial_value(Z3_context c, Z3_solver s, Z3_ast v, Z3_ast val)

provide an initialization hint to the solver. The initialization hint is used to calibrate an initial...

Z3_sort Z3_API Z3_mk_set_sort(Z3_context c, Z3_sort ty)

Create Set type.

bool Z3_API Z3_is_lambda(Z3_context c, Z3_ast a)

Determine if ast is a lambda expression.

Z3_solver Z3_API Z3_solver_translate(Z3_context source, Z3_solver s, Z3_context target)

Copy a solver s from the context source to the context target.

Z3_string Z3_API Z3_solver_get_help(Z3_context c, Z3_solver s)

Return a string describing all solver available parameters.

unsigned Z3_API Z3_stats_get_uint_value(Z3_context c, Z3_stats s, unsigned idx)

Return the unsigned value of the given statistical data.

void Z3_API Z3_probe_inc_ref(Z3_context c, Z3_probe p)

Increment the reference counter of the given probe.

Z3_sort Z3_API Z3_get_array_sort_domain(Z3_context c, Z3_sort t)

Return the domain of the given array sort. In the case of a multi-dimensional array,...

void Z3_API Z3_solver_propagate_register_cb(Z3_context c, Z3_solver_callback cb, Z3_ast e)

register an expression to propagate on with the solver. Only expressions of type Bool and type Bit-Ve...

Z3_ast Z3_API Z3_mk_bvmul_no_underflow(Z3_context c, Z3_ast t1, Z3_ast t2)

Create a predicate that checks that the bit-wise signed multiplication of t1 and t2 does not underflo...

Z3_string Z3_API Z3_get_probe_name(Z3_context c, unsigned i)

Return the name of the i probe.

Z3_ast Z3_API Z3_func_decl_to_ast(Z3_context c, Z3_func_decl f)

Convert a Z3_func_decl into Z3_ast. This is just type casting.

bool Z3_API Z3_get_numeral_uint64(Z3_context c, Z3_ast v, uint64_t *u)

Similar to Z3_get_numeral_string, but only succeeds if the value can fit in a machine uint64_t int....

void Z3_API Z3_add_const_interp(Z3_context c, Z3_model m, Z3_func_decl f, Z3_ast a)

Add a constant interpretation.

Z3_string Z3_API Z3_sort_to_string(Z3_context c, Z3_sort s)

Z3_ast Z3_API Z3_mk_bvadd(Z3_context c, Z3_ast t1, Z3_ast t2)

Standard two's complement addition.

void Z3_API Z3_params_dec_ref(Z3_context c, Z3_params p)

Decrement the reference counter of the given parameter set.

Z3_ast Z3_API Z3_get_app_arg(Z3_context c, Z3_app a, unsigned i)

Return the i-th argument of the given application.

Z3_ast Z3_API Z3_mk_str_lt(Z3_context c, Z3_ast prefix, Z3_ast s)

Check if s1 is lexicographically strictly less than s2.

Z3_ast Z3_API Z3_solver_congruence_root(Z3_context c, Z3_solver s, Z3_ast a)

retrieve the congruence closure root of an expression. The root is retrieved relative to the state wh...

Z3_string Z3_API Z3_model_to_string(Z3_context c, Z3_model m)

Convert the given model into a string.

unsigned Z3_API Z3_get_string_length(Z3_context c, Z3_ast s)

Retrieve the length of the unescaped string constant stored in s.

Z3_string Z3_API Z3_tactic_get_help(Z3_context c, Z3_tactic t)

Return a string containing a description of parameters accepted by the given tactic.

Z3_func_decl Z3_API Z3_mk_fresh_func_decl(Z3_context c, Z3_string prefix, unsigned domain_size, Z3_sort const domain[], Z3_sort range)

Declare a fresh constant or function.

void Z3_API Z3_solver_propagate_final(Z3_context c, Z3_solver s, Z3_final_eh final_eh)

register a callback on final check. This provides freedom to the propagator to delay actions or imple...

unsigned Z3_API Z3_param_descrs_size(Z3_context c, Z3_param_descrs p)

Return the number of parameters in the given parameter description set.

Z3_parameter_kind

The different kinds of parameters that can be associated with function symbols.

Z3_ast_vector Z3_API Z3_parse_smtlib2_string(Z3_context c, Z3_string str, unsigned num_sorts, Z3_symbol const sort_names[], Z3_sort const sorts[], unsigned num_decls, Z3_symbol const decl_names[], Z3_func_decl const decls[])

Parse the given string using the SMT-LIB2 parser.

Z3_func_decl Z3_API Z3_get_tuple_sort_mk_decl(Z3_context c, Z3_sort t)

Return the constructor declaration of the given tuple sort.

Z3_ast Z3_API Z3_mk_bit2bool(Z3_context c, unsigned i, Z3_ast t1)

Extracts the bit at position i of a bit-vector and yields a boolean.

void Z3_API Z3_solver_register_on_clause(Z3_context c, Z3_solver s, void *user_context, Z3_on_clause_eh on_clause_eh)

register a callback to that retrieves assumed, inferred and deleted clauses during search.

Z3_string Z3_API Z3_goal_to_dimacs_string(Z3_context c, Z3_goal g, bool include_names)

Convert a goal into a DIMACS formatted string. The goal must be in CNF. You can convert a goal to CNF...

Z3_ast Z3_API Z3_mk_lt(Z3_context c, Z3_ast t1, Z3_ast t2)

Create less than.

Z3_ast Z3_API Z3_get_quantifier_no_pattern_ast(Z3_context c, Z3_ast a, unsigned i)

Return i'th no_pattern.

double Z3_API Z3_stats_get_double_value(Z3_context c, Z3_stats s, unsigned idx)

Return the double value of the given statistical data.

Z3_ast Z3_API Z3_mk_bvugt(Z3_context c, Z3_ast t1, Z3_ast t2)

Unsigned greater than.

unsigned Z3_API Z3_get_num_tactics(Z3_context c)

Return the number of builtin tactics available in Z3.

unsigned Z3_API Z3_goal_depth(Z3_context c, Z3_goal g)

Return the depth of the given goal. It tracks how many transformations were applied to it.

Z3_ast Z3_API Z3_update_term(Z3_context c, Z3_ast a, unsigned num_args, Z3_ast const args[])

Update the arguments of term a using the arguments args. The number of arguments num_args should coin...

Z3_string Z3_API Z3_get_symbol_string(Z3_context c, Z3_symbol s)

Return the symbol name.

Z3_lbool Z3_API Z3_get_bool_value(Z3_context c, Z3_ast a)

Return Z3_L_TRUE if a is true, Z3_L_FALSE if it is false, and Z3_L_UNDEF otherwise.

Z3_simplifier Z3_API Z3_mk_simplifier(Z3_context c, Z3_string name)

Return a simplifier associated with the given name. The complete list of simplifiers may be obtained ...

Z3_ast Z3_API Z3_pattern_to_ast(Z3_context c, Z3_pattern p)

Convert a Z3_pattern into Z3_ast. This is just type casting.

Z3_ast Z3_API Z3_mk_bvnot(Z3_context c, Z3_ast t1)

Bitwise negation.

Z3_ast Z3_API Z3_mk_bvurem(Z3_context c, Z3_ast t1, Z3_ast t2)

Unsigned remainder.

Z3_ast Z3_API Z3_mk_seq_foldli(Z3_context c, Z3_ast f, Z3_ast i, Z3_ast a, Z3_ast s)

Create a fold with index tracking of the function f over the sequence s with accumulator a starting a...

void Z3_API Z3_mk_datatypes(Z3_context c, unsigned num_sorts, Z3_symbol const sort_names[], Z3_sort sorts[], Z3_constructor_list constructor_lists[])

Create mutually recursive datatypes.

unsigned Z3_API Z3_func_interp_get_arity(Z3_context c, Z3_func_interp f)

Return the arity (number of arguments) of the given function interpretation.

Z3_ast_vector Z3_API Z3_solver_get_non_units(Z3_context c, Z3_solver s)

Return the set of non units in the solver state.

bool Z3_API Z3_is_eq_func_decl(Z3_context c, Z3_func_decl f1, Z3_func_decl f2)

Compare terms.

Z3_ast Z3_API Z3_mk_seq_to_re(Z3_context c, Z3_ast seq)

Create a regular expression that accepts the sequence seq.

Z3_ast Z3_API Z3_mk_bvsub(Z3_context c, Z3_ast t1, Z3_ast t2)

Standard two's complement subtraction.

unsigned Z3_API Z3_get_relation_arity(Z3_context c, Z3_sort s)

Return arity of relation.

bool Z3_API Z3_get_finite_domain_sort_size(Z3_context c, Z3_sort s, uint64_t *r)

Store the size of the sort in r. Return false if the call failed. That is, Z3_get_sort_kind(s) == Z3_...

Z3_ast Z3_API Z3_mk_seq_index(Z3_context c, Z3_ast s, Z3_ast substr, Z3_ast offset)

Return index of the first occurrence of substr in s starting from offset offset. If s does not contai...

Z3_ast Z3_API Z3_get_algebraic_number_upper(Z3_context c, Z3_ast a, unsigned precision)

Return a upper bound for the given real algebraic number. The interval isolating the number is smalle...

Z3_ast Z3_API Z3_mk_power(Z3_context c, Z3_ast arg1, Z3_ast arg2)

Create an AST node representing arg1 ^ arg2.

Z3_ast Z3_API Z3_mk_seq_concat(Z3_context c, unsigned n, Z3_ast const args[])

Concatenate sequences.

Z3_sort Z3_API Z3_mk_enumeration_sort(Z3_context c, Z3_symbol name, unsigned n, Z3_symbol const enum_names[], Z3_func_decl enum_consts[], Z3_func_decl enum_testers[])

Create a enumeration sort.

Z3_ast Z3_API Z3_mk_re_range(Z3_context c, Z3_ast lo, Z3_ast hi)

Create the range regular expression over two sequences of length 1.

unsigned Z3_API Z3_get_bv_sort_size(Z3_context c, Z3_sort t)

Return the size of the given bit-vector sort.

Z3_ast Z3_API Z3_mk_set_member(Z3_context c, Z3_ast elem, Z3_ast set)

Check for set membership.

Z3_tactic Z3_API Z3_tactic_fail_if(Z3_context c, Z3_probe p)

Return a tactic that fails if the probe p evaluates to false.

void Z3_API Z3_goal_reset(Z3_context c, Z3_goal g)

Erase all formulas from the given goal.

void Z3_API Z3_func_interp_dec_ref(Z3_context c, Z3_func_interp f)

Decrement the reference counter of the given Z3_func_interp object.

void Z3_API Z3_probe_dec_ref(Z3_context c, Z3_probe p)

Decrement the reference counter of the given probe.

void Z3_API Z3_params_inc_ref(Z3_context c, Z3_params p)

Increment the reference counter of the given parameter set.

void Z3_API Z3_set_error_handler(Z3_context c, Z3_error_handler h)

Register a Z3 error handler.

Z3_ast Z3_API Z3_mk_distinct(Z3_context c, unsigned num_args, Z3_ast const args[])

Create an AST node representing distinct(args[0], ..., args[num_args-1]).

Z3_ast Z3_API Z3_mk_seq_prefix(Z3_context c, Z3_ast prefix, Z3_ast s)

Check if prefix is a prefix of s.

Z3_config Z3_API Z3_mk_config(void)

Create a configuration object for the Z3 context object.

void Z3_API Z3_set_param_value(Z3_config c, Z3_string param_id, Z3_string param_value)

Set a configuration parameter.

Z3_sort Z3_API Z3_mk_bv_sort(Z3_context c, unsigned sz)

Create a bit-vector type of the given size.

Z3_ast Z3_API Z3_mk_bvult(Z3_context c, Z3_ast t1, Z3_ast t2)

Unsigned less than.

Z3_probe Z3_API Z3_probe_or(Z3_context x, Z3_probe p1, Z3_probe p2)

Return a probe that evaluates to "true" when p1 or p2 evaluates to true.

Z3_string Z3_API Z3_params_to_string(Z3_context c, Z3_params p)

Convert a parameter set into a string. This function is mainly used for printing the contents of a pa...

Z3_param_descrs Z3_API Z3_get_global_param_descrs(Z3_context c)

Retrieve description of global parameters.

Z3_ast Z3_API Z3_mk_re_power(Z3_context c, Z3_ast re, unsigned n)

Create a power regular expression.

void Z3_API Z3_solver_propagate_init(Z3_context c, Z3_solver s, void *user_context, Z3_push_eh push_eh, Z3_pop_eh pop_eh, Z3_fresh_eh fresh_eh)

register a user-propagator with the solver.

Z3_func_decl Z3_API Z3_model_get_const_decl(Z3_context c, Z3_model m, unsigned i)

Return the i-th constant in the given model.

void Z3_API Z3_tactic_dec_ref(Z3_context c, Z3_tactic g)

Decrement the reference counter of the given tactic.

Z3_ast Z3_API Z3_mk_bvnand(Z3_context c, Z3_ast t1, Z3_ast t2)

Bitwise nand.

Z3_ast Z3_API Z3_translate(Z3_context source, Z3_ast a, Z3_context target)

Translate/Copy the AST a from context source to context target. AST a must have been created using co...

Z3_solver Z3_API Z3_mk_simple_solver(Z3_context c)

Create a new incremental solver.

Z3_sort Z3_API Z3_get_range(Z3_context c, Z3_func_decl d)

Return the range of the given declaration.

void Z3_API Z3_global_param_set(Z3_string param_id, Z3_string param_value)

Set a global (or module) parameter. This setting is shared by all Z3 contexts.

Z3_ast_vector Z3_API Z3_model_get_sort_universe(Z3_context c, Z3_model m, Z3_sort s)

Return the finite set of distinct values that represent the interpretation for sort s.

Z3_string Z3_API Z3_benchmark_to_smtlib_string(Z3_context c, Z3_string name, Z3_string logic, Z3_string status, Z3_string attributes, unsigned num_assumptions, Z3_ast const assumptions[], Z3_ast formula)

Convert the given benchmark into SMT-LIB formatted string.

Z3_ast Z3_API Z3_mk_re_star(Z3_context c, Z3_ast re)

Create the regular language re*.

Z3_ast Z3_API Z3_mk_bv_numeral(Z3_context c, unsigned sz, bool const *bits)

create a bit-vector numeral from a vector of Booleans.

Z3_ast Z3_API Z3_mk_char(Z3_context c, unsigned ch)

Create a character literal.

void Z3_API Z3_func_entry_dec_ref(Z3_context c, Z3_func_entry e)

Decrement the reference counter of the given Z3_func_entry object.

unsigned Z3_API Z3_stats_size(Z3_context c, Z3_stats s)

Return the number of statistical data in s.

void Z3_API Z3_append_log(Z3_string string)

Append user-defined string to interaction log.

Z3_ast Z3_API Z3_get_quantifier_body(Z3_context c, Z3_ast a)

Return body of quantifier.

void Z3_API Z3_param_descrs_dec_ref(Z3_context c, Z3_param_descrs p)

Decrement the reference counter of the given parameter description set.

Z3_ast Z3_API Z3_mk_re_full(Z3_context c, Z3_sort re)

Create an universal regular expression of sort re.

Z3_model Z3_API Z3_mk_model(Z3_context c)

Create a fresh model object. It has reference count 0.

Z3_symbol Z3_API Z3_get_decl_name(Z3_context c, Z3_func_decl d)

Return the constant declaration name as a symbol.

Z3_ast Z3_API Z3_mk_seq_mapi(Z3_context c, Z3_ast f, Z3_ast i, Z3_ast s)

Create a map of the function f over the sequence s starting at index i.

Z3_ast Z3_API Z3_mk_bvneg_no_overflow(Z3_context c, Z3_ast t1)

Check that bit-wise negation does not overflow when t1 is interpreted as a signed bit-vector.

Z3_string Z3_API Z3_stats_get_key(Z3_context c, Z3_stats s, unsigned idx)

Return the key (a string) for a particular statistical data.

Z3_ast Z3_API Z3_mk_re_diff(Z3_context c, Z3_ast re1, Z3_ast re2)

Create the difference of regular expressions.

Z3_ast Z3_API Z3_mk_int64(Z3_context c, int64_t v, Z3_sort ty)

Create a numeral of a int, bit-vector, or finite-domain sort.

Z3_symbol_kind

The different kinds of symbol. In Z3, a symbol can be represented using integers and strings (See Z3_...

Z3_ast Z3_API Z3_mk_re_empty(Z3_context c, Z3_sort re)

Create an empty regular expression of sort re.

Z3_ast Z3_API Z3_mk_bvand(Z3_context c, Z3_ast t1, Z3_ast t2)

Bitwise and.

Z3_param_descrs Z3_API Z3_simplify_get_param_descrs(Z3_context c)

Return the parameter description set for the simplify procedure.

bool Z3_API Z3_goal_is_decided_unsat(Z3_context c, Z3_goal g)

Return true if the goal contains false, and it is precise or the product of an over approximation.

Z3_sort Z3_API Z3_mk_finite_domain_sort(Z3_context c, Z3_symbol name, uint64_t size)

Create a named finite domain sort.

Z3_ast Z3_API Z3_mk_add(Z3_context c, unsigned num_args, Z3_ast const args[])

Create an AST node representing args[0] + ... + args[num_args-1].

Z3_ast_kind Z3_API Z3_get_ast_kind(Z3_context c, Z3_ast a)

Return the kind of the given AST.

Z3_ast_vector Z3_API Z3_parse_smtlib2_file(Z3_context c, Z3_string file_name, unsigned num_sorts, Z3_symbol const sort_names[], Z3_sort const sorts[], unsigned num_decls, Z3_symbol const decl_names[], Z3_func_decl const decls[])

Similar to Z3_parse_smtlib2_string, but reads the benchmark from a file.

Z3_lbool Z3_API Z3_get_implied_equalities(Z3_context c, Z3_solver s, unsigned num_terms, Z3_ast const terms[], unsigned class_ids[])

Retrieve congruence class representatives for terms.

Z3_ast Z3_API Z3_mk_abs(Z3_context c, Z3_ast arg)

Take the absolute value of an integer.

Z3_ast Z3_API Z3_mk_bvsmod(Z3_context c, Z3_ast t1, Z3_ast t2)

Two's complement signed remainder (sign follows divisor).

Z3_tactic Z3_API Z3_tactic_cond(Z3_context c, Z3_probe p, Z3_tactic t1, Z3_tactic t2)

Return a tactic that applies t1 to a given goal if the probe p evaluates to true, and t2 if p evaluat...

Z3_model Z3_API Z3_model_translate(Z3_context c, Z3_model m, Z3_context dst)

translate model from context c to context dst.

void Z3_API Z3_solver_get_levels(Z3_context c, Z3_solver s, Z3_ast_vector literals, unsigned sz, unsigned levels[])

retrieve the decision depth of Boolean literals (variables or their negations). Assumes a check-sat c...

void Z3_API Z3_get_version(unsigned *major, unsigned *minor, unsigned *build_number, unsigned *revision_number)

Return Z3 version number information.

Z3_apply_result Z3_API Z3_tactic_apply_ex(Z3_context c, Z3_tactic t, Z3_goal g, Z3_params p)

Apply tactic t to the goal g using the parameter set p.

Z3_ast Z3_API Z3_mk_int2bv(Z3_context c, unsigned n, Z3_ast t1)

Create an n bit bit-vector from the integer argument t1.

void Z3_API Z3_solver_assert(Z3_context c, Z3_solver s, Z3_ast a)

Assert a constraint into the solver.

Z3_tactic Z3_API Z3_mk_tactic(Z3_context c, Z3_string name)

Return a tactic associated with the given name. The complete list of tactics may be obtained using th...

void Z3_API Z3_parser_context_add_sort(Z3_context c, Z3_parser_context pc, Z3_sort s)

Add a sort declaration.

unsigned Z3_API Z3_get_quantifier_weight(Z3_context c, Z3_ast a)

Obtain weight of quantifier.

bool Z3_API Z3_model_eval(Z3_context c, Z3_model m, Z3_ast t, bool model_completion, Z3_ast *v)

Evaluate the AST node t in the given model. Return true if succeeded, and store the result in v.

unsigned Z3_API Z3_solver_get_num_scopes(Z3_context c, Z3_solver s)

Return the number of backtracking points.

Z3_sort Z3_API Z3_get_array_sort_range(Z3_context c, Z3_sort t)

Return the range of the given array sort.

void Z3_API Z3_del_constructor_list(Z3_context c, Z3_constructor_list clist)

Reclaim memory allocated for constructor list.

Z3_ast Z3_API Z3_mk_bound(Z3_context c, unsigned index, Z3_sort ty)

Create a variable.

unsigned Z3_API Z3_get_app_num_args(Z3_context c, Z3_app a)

Return the number of argument of an application. If t is an constant, then the number of arguments is...

Z3_ast Z3_API Z3_mk_real(Z3_context c, int num, int den)

Create a real from a fraction.

Z3_ast Z3_API Z3_substitute_funs(Z3_context c, Z3_ast a, unsigned num_funs, Z3_func_decl const from[], Z3_ast const to[])

Substitute functions in from with new expressions in to.

Z3_ast Z3_API Z3_func_entry_get_arg(Z3_context c, Z3_func_entry e, unsigned i)

Return an argument of a Z3_func_entry object.

Z3_error_code

Z3 error codes (See Z3_get_error_code).

Z3_ast Z3_API Z3_mk_eq(Z3_context c, Z3_ast l, Z3_ast r)

Create an AST node representing l = r.

Z3_ast Z3_API Z3_mk_atleast(Z3_context c, unsigned num_args, Z3_ast const args[], unsigned k)

Pseudo-Boolean relations.

uint64_t Z3_API Z3_get_estimated_alloc_size(void)

Return the estimated allocated memory in bytes.

unsigned Z3_API Z3_model_get_num_funcs(Z3_context c, Z3_model m)

Return the number of function interpretations in the given model.

void Z3_API Z3_parser_context_inc_ref(Z3_context c, Z3_parser_context pc)

Increment the reference counter of the given Z3_parser_context object.

void Z3_API Z3_dec_ref(Z3_context c, Z3_ast a)

Decrement the reference counter of the given AST. The context c should have been created using Z3_mk_...

Z3_ast_vector Z3_API Z3_solver_get_unsat_core(Z3_context c, Z3_solver s)

Retrieve the unsat core for the last Z3_solver_check_assumptions The unsat core is a subset of the as...

Z3_func_decl Z3_API Z3_get_tuple_sort_field_decl(Z3_context c, Z3_sort t, unsigned i)

Return the i-th field declaration (i.e., projection function declaration) of the given tuple sort.

Z3_string Z3_API Z3_get_simplifier_name(Z3_context c, unsigned i)

Return the name of the idx simplifier.

Z3_string Z3_API Z3_get_string(Z3_context c, Z3_ast s)

Retrieve the string constant stored in s. Characters outside the basic printable ASCII range are esca...

bool Z3_API Z3_get_numeral_int(Z3_context c, Z3_ast v, int *i)

Similar to Z3_get_numeral_string, but only succeeds if the value can fit in a machine int....

Z3_error_code Z3_API Z3_get_error_code(Z3_context c)

Return the error code for the last API call.

Z3_func_decl Z3_API Z3_mk_partial_order(Z3_context c, Z3_sort a, unsigned id)

create a partial ordering relation over signature a and index id.

Z3_ast Z3_API Z3_mk_empty_set(Z3_context c, Z3_sort domain)

Create the empty set.

Z3_ast Z3_API Z3_mk_set_has_size(Z3_context c, Z3_ast set, Z3_ast k)

Create predicate that holds if Boolean array set has k elements set to true.

Z3_sort Z3_API Z3_get_relation_column(Z3_context c, Z3_sort s, unsigned col)

Return sort at i'th column of relation sort.

Z3_string Z3_API Z3_get_tactic_name(Z3_context c, unsigned i)

Return the name of the idx tactic.

bool Z3_API Z3_is_string(Z3_context c, Z3_ast s)

Determine if s is a string constant.

Z3_ast Z3_API Z3_mk_re_loop(Z3_context c, Z3_ast r, unsigned lo, unsigned hi)

Create a regular expression loop. The supplied regular expression r is repeated between lo and hi tim...

Z3_ast Z3_API Z3_mk_char_to_int(Z3_context c, Z3_ast ch)

Create an integer (code point) from character.

Z3_ast Z3_API Z3_mk_repeat(Z3_context c, unsigned i, Z3_ast t1)

Repeat the given bit-vector up length i.

Z3_string Z3_API Z3_tactic_get_descr(Z3_context c, Z3_string name)

Return a string containing a description of the tactic with the given name.

Z3_ast Z3_API Z3_mk_re_plus(Z3_context c, Z3_ast re)

Create the regular language re+.

Z3_goal_prec Z3_API Z3_goal_precision(Z3_context c, Z3_goal g)

Return the "precision" of the given goal. Goals can be transformed using over and under approximation...

void Z3_API Z3_solver_pop(Z3_context c, Z3_solver s, unsigned n)

Backtrack n backtracking points.

Z3_ast Z3_API Z3_mk_int2real(Z3_context c, Z3_ast t1)

Coerce an integer to a real.

unsigned Z3_API Z3_get_index_value(Z3_context c, Z3_ast a)

Return index of de-Bruijn bound variable.

Z3_goal Z3_API Z3_mk_goal(Z3_context c, bool models, bool unsat_cores, bool proofs)

Create a goal (aka problem). A goal is essentially a set of formulas, that can be solved and/or trans...

double Z3_API Z3_get_decl_double_parameter(Z3_context c, Z3_func_decl d, unsigned idx)

Return the double value associated with an double parameter.

unsigned Z3_API Z3_get_ast_hash(Z3_context c, Z3_ast a)

Return a hash code for the given AST. The hash code is structural but two different AST objects can m...

Z3_ast Z3_API Z3_mk_unsigned_int64(Z3_context c, uint64_t v, Z3_sort ty)

Create a numeral of a int, bit-vector, or finite-domain sort.

Z3_symbol Z3_API Z3_get_sort_name(Z3_context c, Z3_sort d)

Return the sort name as a symbol.

void Z3_API Z3_params_validate(Z3_context c, Z3_params p, Z3_param_descrs d)

Validate the parameter set p against the parameter description set d.

Z3_func_decl Z3_API Z3_get_datatype_sort_recognizer(Z3_context c, Z3_sort t, unsigned idx)

Return idx'th recognizer.

void Z3_API Z3_global_param_reset_all(void)

Restore the value of all global (and module) parameters. This command will not affect already created...

Z3_ast Z3_API Z3_mk_gt(Z3_context c, Z3_ast t1, Z3_ast t2)

Create greater than.

Z3_ast Z3_API Z3_mk_store(Z3_context c, Z3_ast a, Z3_ast i, Z3_ast v)

Array update.

Z3_probe Z3_API Z3_probe_gt(Z3_context x, Z3_probe p1, Z3_probe p2)

Return a probe that evaluates to "true" when the value returned by p1 is greater than the value retur...

Z3_tactic Z3_API Z3_tactic_skip(Z3_context c)

Return a tactic that just return the given goal.

Z3_ast Z3_API Z3_solver_get_proof(Z3_context c, Z3_solver s)

Retrieve the proof for the last Z3_solver_check or Z3_solver_check_assumptions.

Z3_string Z3_API Z3_get_decl_rational_parameter(Z3_context c, Z3_func_decl d, unsigned idx)

Return the rational value, as a string, associated with a rational parameter.

bool Z3_API Z3_model_has_interp(Z3_context c, Z3_model m, Z3_func_decl a)

Test if there exists an interpretation (i.e., assignment) for a in the model m.

bool Z3_API Z3_is_eq_ast(Z3_context c, Z3_ast t1, Z3_ast t2)

Compare terms.

bool Z3_API Z3_is_quantifier_forall(Z3_context c, Z3_ast a)

Determine if an ast is a universal quantifier.

void Z3_API Z3_tactic_inc_ref(Z3_context c, Z3_tactic t)

Increment the reference counter of the given tactic.

Z3_parser_context Z3_API Z3_mk_parser_context(Z3_context c)

Create a parser context.

Z3_ast Z3_API Z3_mk_real_int64(Z3_context c, int64_t num, int64_t den)

Create a real from a fraction of int64.

void Z3_API Z3_solver_from_file(Z3_context c, Z3_solver s, Z3_string file_name)

load solver assertions from a file.

Z3_ast Z3_API Z3_mk_seq_last_index(Z3_context c, Z3_ast s, Z3_ast substr)

Return index of the last occurrence of substr in s. If s does not contain substr, then the value is -...

Z3_ast Z3_API Z3_mk_xor(Z3_context c, Z3_ast t1, Z3_ast t2)

Create an AST node representing t1 xor t2.

void Z3_API Z3_solver_propagate_eq(Z3_context c, Z3_solver s, Z3_eq_eh eq_eh)

register a callback on expression equalities.

Z3_ast Z3_API Z3_mk_string(Z3_context c, Z3_string s)

Create a string constant out of the string that is passed in The string may contain escape encoding f...

Z3_func_decl Z3_API Z3_mk_transitive_closure(Z3_context c, Z3_func_decl f)

create transitive closure of binary relation.

Z3_tactic Z3_API Z3_tactic_try_for(Z3_context c, Z3_tactic t, unsigned ms)

Return a tactic that applies t to a given goal for ms milliseconds. If t does not terminate in ms mil...

Z3_ast Z3_API Z3_mk_rotate_left(Z3_context c, unsigned i, Z3_ast t1)

Rotate bits of t1 to the left i times.

void Z3_API Z3_apply_result_dec_ref(Z3_context c, Z3_apply_result r)

Decrement the reference counter of the given Z3_apply_result object.

Z3_ast Z3_API Z3_mk_map(Z3_context c, Z3_func_decl f, unsigned n, Z3_ast const *args)

Map f on the argument arrays.

Z3_sort Z3_API Z3_mk_seq_sort(Z3_context c, Z3_sort s)

Create a sequence sort out of the sort for the elements.

Z3_ast_vector Z3_API Z3_solver_get_units(Z3_context c, Z3_solver s)

Return the set of units modulo model conversion.

Z3_ast Z3_API Z3_mk_const(Z3_context c, Z3_symbol s, Z3_sort ty)

Declare and create a constant.

Z3_symbol Z3_API Z3_mk_string_symbol(Z3_context c, Z3_string s)

Create a Z3 symbol using a C string.

Z3_string Z3_API Z3_probe_get_descr(Z3_context c, Z3_string name)

Return a string containing a description of the probe with the given name.

void Z3_API Z3_param_descrs_inc_ref(Z3_context c, Z3_param_descrs p)

Increment the reference counter of the given parameter description set.

Z3_goal Z3_API Z3_apply_result_get_subgoal(Z3_context c, Z3_apply_result r, unsigned i)

Return one of the subgoals in the Z3_apply_result object returned by Z3_tactic_apply.

Z3_probe Z3_API Z3_probe_le(Z3_context x, Z3_probe p1, Z3_probe p2)

Return a probe that evaluates to "true" when the value returned by p1 is less than or equal to the va...

void Z3_API Z3_stats_dec_ref(Z3_context c, Z3_stats s)

Decrement the reference counter of the given statistics object.

Z3_ast Z3_API Z3_mk_array_ext(Z3_context c, Z3_ast arg1, Z3_ast arg2)

Create array extensionality index given two arrays with the same sort. The meaning is given by the ax...

Z3_ast Z3_API Z3_mk_re_concat(Z3_context c, unsigned n, Z3_ast const args[])

Create the concatenation of the regular languages.

Z3_ast Z3_API Z3_sort_to_ast(Z3_context c, Z3_sort s)

Convert a Z3_sort into Z3_ast. This is just type casting.

Z3_func_entry Z3_API Z3_func_interp_get_entry(Z3_context c, Z3_func_interp f, unsigned i)

Return a "point" of the given function interpretation. It represents the value of f in a particular p...

Z3_func_decl Z3_API Z3_mk_rec_func_decl(Z3_context c, Z3_symbol s, unsigned domain_size, Z3_sort const domain[], Z3_sort range)

Declare a recursive function.

unsigned Z3_API Z3_get_ast_id(Z3_context c, Z3_ast t)

Return a unique identifier for t. The identifier is unique up to structural equality....

Z3_ast Z3_API Z3_mk_concat(Z3_context c, Z3_ast t1, Z3_ast t2)

Concatenate the given bit-vectors.

unsigned Z3_API Z3_get_quantifier_num_bound(Z3_context c, Z3_ast a)

Return number of bound variables of quantifier.

Z3_sort Z3_API Z3_get_decl_sort_parameter(Z3_context c, Z3_func_decl d, unsigned idx)

Return the sort value associated with a sort parameter.

Z3_constructor_list Z3_API Z3_mk_constructor_list(Z3_context c, unsigned num_constructors, Z3_constructor const constructors[])

Create list of constructors.

Z3_apply_result Z3_API Z3_tactic_apply(Z3_context c, Z3_tactic t, Z3_goal g)

Apply tactic t to the goal g.

void Z3_API Z3_solver_propagate_created(Z3_context c, Z3_solver s, Z3_created_eh created_eh)

register a callback when a new expression with a registered function is used by the solver The regist...

unsigned Z3_API Z3_get_sort_id(Z3_context c, Z3_sort s)

Return a unique identifier for s.

Z3_ast_vector Z3_API Z3_parser_context_from_string(Z3_context c, Z3_parser_context pc, Z3_string s)

Parse a string of SMTLIB2 commands. Return assertions.

Z3_ast Z3_API Z3_mk_app(Z3_context c, Z3_func_decl d, unsigned num_args, Z3_ast const args[])

Create a constant or function application.

Z3_sort_kind Z3_API Z3_get_sort_kind(Z3_context c, Z3_sort t)

Return the sort kind (e.g., array, tuple, int, bool, etc).

Z3_stats Z3_API Z3_solver_get_statistics(Z3_context c, Z3_solver s)

Return statistics for the given solver.

Z3_ast Z3_API Z3_mk_bvneg(Z3_context c, Z3_ast t1)

Standard two's complement unary minus.

Z3_ast Z3_API Z3_mk_store_n(Z3_context c, Z3_ast a, unsigned n, Z3_ast const *idxs, Z3_ast v)

n-ary Array update.

Z3_func_decl Z3_API Z3_mk_linear_order(Z3_context c, Z3_sort a, unsigned id)

create a linear ordering relation over signature a. The relation is identified by the index id.

Z3_sort Z3_API Z3_get_domain(Z3_context c, Z3_func_decl d, unsigned i)

Return the sort of the i-th parameter of the given function declaration.

Z3_ast Z3_API Z3_mk_seq_in_re(Z3_context c, Z3_ast seq, Z3_ast re)

Check if seq is in the language generated by the regular expression re.

Z3_sort Z3_API Z3_mk_bool_sort(Z3_context c)

Create the Boolean type.

Z3_ast Z3_API Z3_mk_sub(Z3_context c, unsigned num_args, Z3_ast const args[])

Create an AST node representing args[0] - ... - args[num_args - 1].

void Z3_API Z3_params_set_symbol(Z3_context c, Z3_params p, Z3_symbol k, Z3_symbol v)

Add a symbol parameter k with value v to the parameter set p.

Z3_string Z3_API Z3_solver_to_dimacs_string(Z3_context c, Z3_solver s, bool include_names)

Convert a solver into a DIMACS formatted string.

Z3_func_decl Z3_API Z3_to_func_decl(Z3_context c, Z3_ast a)

Convert an AST into a FUNC_DECL_AST. This is just type casting.

unsigned Z3_API Z3_get_func_decl_id(Z3_context c, Z3_func_decl f)

Return a unique identifier for f.

Z3_ast Z3_API Z3_mk_set_difference(Z3_context c, Z3_ast arg1, Z3_ast arg2)

Take the set difference between two sets.

void Z3_API Z3_solver_propagate_decide(Z3_context c, Z3_solver s, Z3_decide_eh decide_eh)

register a callback when the solver decides to split on a registered expression. The callback may cha...

Z3_ast Z3_API Z3_mk_lstring(Z3_context c, unsigned len, Z3_string s)

Create a string constant out of the string that is passed in It takes the length of the string as wel...

Z3_ast Z3_API Z3_mk_bvsdiv(Z3_context c, Z3_ast t1, Z3_ast t2)

Two's complement signed division.

Z3_ast Z3_API Z3_mk_bvlshr(Z3_context c, Z3_ast t1, Z3_ast t2)

Logical shift right.

Z3_ast Z3_API Z3_get_decl_ast_parameter(Z3_context c, Z3_func_decl d, unsigned idx)

Return the expression value associated with an expression parameter.

Z3_pattern Z3_API Z3_get_quantifier_pattern_ast(Z3_context c, Z3_ast a, unsigned i)

Return i'th pattern.

double Z3_API Z3_probe_apply(Z3_context c, Z3_probe p, Z3_goal g)

Execute the probe over the goal. The probe always produce a double value. "Boolean" probes return 0....

void Z3_API Z3_func_interp_set_else(Z3_context c, Z3_func_interp f, Z3_ast else_value)

Return the 'else' value of the given function interpretation.

void Z3_API Z3_goal_dec_ref(Z3_context c, Z3_goal g)

Decrement the reference counter of the given goal.

Z3_ast Z3_API Z3_mk_not(Z3_context c, Z3_ast a)

Create an AST node representing not(a).

void Z3_API Z3_solver_propagate_register(Z3_context c, Z3_solver s, Z3_ast e)

register an expression to propagate on with the solver. Only expressions of type Bool and type Bit-Ve...

Z3_ast Z3_API Z3_substitute_vars(Z3_context c, Z3_ast a, unsigned num_exprs, Z3_ast const to[])

Substitute the variables in a with the expressions in to. For every i smaller than num_exprs,...

Z3_ast Z3_API Z3_mk_or(Z3_context c, unsigned num_args, Z3_ast const args[])

Create an AST node representing args[0] or ... or args[num_args-1].

Z3_sort Z3_API Z3_mk_array_sort(Z3_context c, Z3_sort domain, Z3_sort range)

Create an array type.

Z3_tactic Z3_API Z3_tactic_or_else(Z3_context c, Z3_tactic t1, Z3_tactic t2)

Return a tactic that first applies t1 to a given goal, if it fails then returns the result of t2 appl...

void Z3_API Z3_model_inc_ref(Z3_context c, Z3_model m)

Increment the reference counter of the given model.

Z3_ast Z3_API Z3_mk_seq_extract(Z3_context c, Z3_ast s, Z3_ast offset, Z3_ast length)

Extract subsequence starting at offset of length.

Z3_sort Z3_API Z3_mk_type_variable(Z3_context c, Z3_symbol s)

Create a type variable.

bool Z3_API Z3_goal_is_decided_sat(Z3_context c, Z3_goal g)

Return true if the goal is empty, and it is precise or the product of a under approximation.

Z3_solver Z3_API Z3_solver_add_simplifier(Z3_context c, Z3_solver solver, Z3_simplifier simplifier)

Attach simplifier to a solver. The solver will use the simplifier for incremental pre-processing.

Z3_sort Z3_API Z3_mk_list_sort(Z3_context c, Z3_symbol name, Z3_sort elem_sort, Z3_func_decl *nil_decl, Z3_func_decl *is_nil_decl, Z3_func_decl *cons_decl, Z3_func_decl *is_cons_decl, Z3_func_decl *head_decl, Z3_func_decl *tail_decl)

Create a list sort.

Z3_ast Z3_API Z3_mk_rem(Z3_context c, Z3_ast arg1, Z3_ast arg2)

Create an AST node representing arg1 rem arg2.

Z3_ast Z3_API Z3_mk_int_to_str(Z3_context c, Z3_ast s)

Integer to string conversion.

bool Z3_API Z3_get_numeral_uint(Z3_context c, Z3_ast v, unsigned *u)

Similar to Z3_get_numeral_string, but only succeeds if the value can fit in a machine unsigned int....

Z3_string Z3_API Z3_get_numeral_string(Z3_context c, Z3_ast a)

Return numeral value, as a decimal string of a numeric constant term.

void Z3_API Z3_solver_propagate_fixed(Z3_context c, Z3_solver s, Z3_fixed_eh fixed_eh)

register a callback for when an expression is bound to a fixed value. The supported expression types ...

Z3_ast Z3_API Z3_mk_seq_map(Z3_context c, Z3_ast f, Z3_ast s)

Create a map of the function f over the sequence s.

void Z3_API Z3_close_log(void)

Close interaction log.

Z3_ast Z3_API Z3_mk_char_is_digit(Z3_context c, Z3_ast ch)

Create a check if the character is a digit.

void Z3_API Z3_func_interp_add_entry(Z3_context c, Z3_func_interp fi, Z3_ast_vector args, Z3_ast value)

add a function entry to a function interpretation.

bool Z3_API Z3_is_well_sorted(Z3_context c, Z3_ast t)

Return true if the given expression t is well sorted.

Z3_ast Z3_API Z3_mk_bvuge(Z3_context c, Z3_ast t1, Z3_ast t2)

Unsigned greater than or equal to.

Z3_ast Z3_API Z3_mk_as_array(Z3_context c, Z3_func_decl f)

Create array with the same interpretation as a function. The array satisfies the property (f x) = (se...

Z3_string Z3_API Z3_apply_result_to_string(Z3_context c, Z3_apply_result r)

Convert the Z3_apply_result object returned by Z3_tactic_apply into a string.

Z3_string Z3_API Z3_solver_to_string(Z3_context c, Z3_solver s)

Convert a solver into a string.

Z3_ast Z3_API Z3_mk_seq_foldl(Z3_context c, Z3_ast f, Z3_ast a, Z3_ast s)

Create a fold of the function f over the sequence s with accumulator a.

Z3_string Z3_API Z3_solver_get_reason_unknown(Z3_context c, Z3_solver s)

Return a brief justification for an "unknown" result (i.e., Z3_L_UNDEF) for the commands Z3_solver_ch...

Z3_string Z3_API Z3_get_numeral_binary_string(Z3_context c, Z3_ast a)

Return numeral value, as a binary string of a numeric constant term.

Z3_sort Z3_API Z3_get_quantifier_bound_sort(Z3_context c, Z3_ast a, unsigned i)

Return sort of the i'th bound variable.

void Z3_API Z3_disable_trace(Z3_string tag)

Disable tracing messages tagged as tag when Z3 is compiled in debug mode. It is a NOOP otherwise.

Z3_tactic Z3_API Z3_tactic_repeat(Z3_context c, Z3_tactic t, unsigned max)

Return a tactic that keeps applying t until the goal is not modified anymore or the maximum number of...

Z3_string * Z3_string_ptr

Z3_ast Z3_API Z3_goal_formula(Z3_context c, Z3_goal g, unsigned idx)

Return a formula from the given goal.

Z3_ast Z3_API Z3_mk_divides(Z3_context c, Z3_ast t1, Z3_ast t2)

Create division predicate.

Z3_symbol Z3_API Z3_mk_int_symbol(Z3_context c, int i)

Create a Z3 symbol using an integer.

Z3_ast Z3_API Z3_mk_char_from_bv(Z3_context c, Z3_ast bv)

Create a character from a bit-vector (code point).

unsigned Z3_API Z3_func_interp_get_num_entries(Z3_context c, Z3_func_interp f)

Return the number of entries in the given function interpretation.

bool Z3_API Z3_get_numeral_rational_int64(Z3_context c, Z3_ast v, int64_t *num, int64_t *den)

Similar to Z3_get_numeral_string, but only succeeds if the value can fit as a rational number as mach...

Z3_probe Z3_API Z3_probe_const(Z3_context x, double val)

Return a probe that always evaluates to val.

Z3_string Z3_API Z3_goal_to_string(Z3_context c, Z3_goal g)

Convert a goal into a string.

Z3_ast Z3_API Z3_mk_atmost(Z3_context c, unsigned num_args, Z3_ast const args[], unsigned k)

Pseudo-Boolean relations.

bool Z3_API Z3_is_eq_sort(Z3_context c, Z3_sort s1, Z3_sort s2)

compare sorts.

void Z3_API Z3_del_config(Z3_config c)

Delete the given configuration object.

double Z3_API Z3_get_numeral_double(Z3_context c, Z3_ast a)

Return numeral as a double.

void Z3_API Z3_inc_ref(Z3_context c, Z3_ast a)

Increment the reference counter of the given AST. The context c should have been created using Z3_mk_...

Z3_tactic Z3_API Z3_tactic_and_then(Z3_context c, Z3_tactic t1, Z3_tactic t2)

Return a tactic that applies t1 to a given goal and t2 to every subgoal produced by t1.

Z3_ast Z3_API Z3_mk_real2int(Z3_context c, Z3_ast t1)

Coerce a real to an integer.

Z3_func_interp Z3_API Z3_model_get_func_interp(Z3_context c, Z3_model m, Z3_func_decl f)

Return the interpretation of the function f in the model m. Return NULL, if the model does not assign...

void Z3_API Z3_reset_memory(void)

Reset all allocated resources.

void Z3_API Z3_solver_inc_ref(Z3_context c, Z3_solver s)

Increment the reference counter of the given solver.

bool Z3_API Z3_is_app(Z3_context c, Z3_ast a)

bool Z3_API Z3_solver_next_split(Z3_context c, Z3_solver_callback cb, Z3_ast t, unsigned idx, Z3_lbool phase)

Z3_ast Z3_API Z3_mk_forall(Z3_context c, unsigned weight, unsigned num_patterns, Z3_pattern const patterns[], unsigned num_decls, Z3_sort const sorts[], Z3_symbol const decl_names[], Z3_ast body)

Create a forall formula. It takes an expression body that contains bound variables of the same sorts ...

Z3_probe Z3_API Z3_probe_and(Z3_context x, Z3_probe p1, Z3_probe p2)

Return a probe that evaluates to "true" when p1 and p2 evaluates to true.

Z3_symbol Z3_API Z3_get_quantifier_id(Z3_context c, Z3_ast a)

Obtain id of quantifier.

bool Z3_API Z3_is_re_sort(Z3_context c, Z3_sort s)

Check if s is a regular expression sort.

Z3_ast Z3_API Z3_mk_string_to_code(Z3_context c, Z3_ast a)

String to code conversion.

unsigned Z3_API Z3_get_domain_size(Z3_context c, Z3_func_decl d)

Return the number of parameters of the given declaration.

Z3_ast Z3_API Z3_mk_ubv_to_str(Z3_context c, Z3_ast s)

Unsigned bit-vector to string conversion.

Z3_sort Z3_API Z3_mk_string_sort(Z3_context c)

Create a sort for unicode strings.

Z3_ast Z3_API Z3_mk_ext_rotate_right(Z3_context c, Z3_ast t1, Z3_ast t2)

Rotate bits of t1 to the right t2 times.

Z3_string Z3_API Z3_get_numeral_decimal_string(Z3_context c, Z3_ast a, unsigned precision)

Return numeral as a string in decimal notation. The result has at most precision decimal places.

Z3_sort Z3_API Z3_get_sort(Z3_context c, Z3_ast a)

Return the sort of an AST node.

Z3_func_decl Z3_API Z3_get_datatype_sort_constructor_accessor(Z3_context c, Z3_sort t, unsigned idx_c, unsigned idx_a)

Return idx_a'th accessor for the idx_c'th constructor.

Z3_ast Z3_API Z3_mk_bvredor(Z3_context c, Z3_ast t1)

Take disjunction of bits in vector, return vector of length 1.

Z3_ast Z3_API Z3_mk_seq_nth(Z3_context c, Z3_ast s, Z3_ast index)

Retrieve from s the element positioned at position index. The function is under-specified if the inde...

Z3_ast Z3_API Z3_mk_seq_contains(Z3_context c, Z3_ast container, Z3_ast containee)

Check if container contains containee.

void Z3_API Z3_solver_reset(Z3_context c, Z3_solver s)

Remove all assertions from the solver.

bool Z3_API Z3_is_algebraic_number(Z3_context c, Z3_ast a)

Return true if the given AST is a real algebraic number.

@ Z3_PRINT_SMTLIB2_COMPLIANT

@ Z3_OP_FPA_ROUND_TO_INTEGRAL

@ Z3_OP_PR_UNIT_RESOLUTION

@ Z3_OP_SPECIAL_RELATION_TRC

@ Z3_OP_PR_MODUS_PONENS_OEQ

@ Z3_OP_FPA_RM_TOWARD_NEGATIVE

@ Z3_OP_FPA_RM_NEAREST_TIES_TO_EVEN

@ Z3_OP_PR_ELIM_UNUSED_VARS

@ Z3_OP_FPA_RM_NEAREST_TIES_TO_AWAY

@ Z3_OP_FPA_RM_TOWARD_ZERO

@ Z3_OP_FPA_RM_TOWARD_POSITIVE

@ Z3_OP_SPECIAL_RELATION_PO

@ Z3_OP_SPECIAL_RELATION_TC

@ Z3_OP_SPECIAL_RELATION_TO

@ Z3_OP_FPA_TO_FP_UNSIGNED

@ Z3_OP_RA_NEGATION_FILTER

@ Z3_OP_SPECIAL_RELATION_PLO

@ Z3_OP_PR_ASSUMPTION_ADD

@ Z3_OP_PR_TRANSITIVITY_STAR

@ Z3_OP_SEQ_REPLACE_RE_ALL

@ Z3_OP_SPECIAL_RELATION_LO

@ Z3_OP_PR_DISTRIBUTIVITY

System.IntPtr Z3_ast_vector

System.IntPtr Z3_func_interp

System.IntPtr Z3_func_decl

System.IntPtr Z3_func_entry

System.IntPtr Z3_solver_callback

expr range(expr const &lo, expr const &hi)

expr max(expr const &a, expr const &b)

def on_clause_eh(ctx, p, n, dep, clause)

#define Z3_func_interp_opt


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4