C API
The C API of cvc5 is based on its
C++ API
and is
feature complete
, within the limits of the C language.
The
quickstart guide
gives a short introduction of how
to use cvc5 via its C API.
For most applications, the
Cvc5
solver struct is the main
entry point to cvc5.
One of the key differences is the way how memory is managed . While users of the C++ API can rely on memory being efficiently managed automatically, on the C level, management to maintain a low overhead needs more manual intervention .
The C API offers two modes of memory management:
-
Let cvc5 handle memory management without manual intervention. All memory allocated by the C API via a term manager (
Cvc5TermManager) or solver (Cvc5) instance will only be released when these instances are deleted viacvc5_delete()andcvc5_term_manager_delete(). For example:
Cvc5TermManager* tm = cvc5_term_manager_new();
Cvc5* cvc5 = cvc5_new(tm);
Cvc5Term a = cvc5_mk_const(tm, cvc5_get_integer_sort(tm), "a");
Cvc5Term two = cvc5_mk_integer_int64(tm, 2);
Cvc5Term args1[2] = {a, two};
cvc5_assert_formula(cvc5, cvc5_mk_term(tm, CVC5_KIND_EQUAL, 2, args1));
Cvc5Term b = cvc5_mk_const(tm, cvc5_get_integer_sort(tm), "b");
Cvc5Term args2[2] = {b, two};
cvc5_assert_formula(cvc5, cvc5_mk_term(tm, CVC5_KIND_DISTINCT, 2, args2));
cvc5_check_sat(cvc5);
cvc5_delete(cvc5);
cvc5_term_manager_delete(tm);
-
Introduce a more fine-grained, user-level memory management for objects created via a term manager or solver via the corresponding
cvc5_*_copy()andcvc5_*_release()functions. The copy functions increment the reference counter of an object, the release functions decrement the reference counter and free its allocated memory when the counter reaches 0. For example:
Cvc5TermManager* tm = cvc5_term_manager_new();
Cvc5* cvc5 = cvc5_new(tm);
Cvc5Term a = cvc5_mk_const(tm, cvc5_get_integer_sort(tm), "a");
Cvc5Term two = cvc5_mk_integer_int64(tm, 2);
Cvc5Term args1[2] = {a, two};
cvc5_assert_formula(cvc5, cvc5_mk_term(tm, CVC5_KIND_EQUAL, 2, args1));
// we can release 'a' here, not needed anymore
cvc5_term_release(a);
Cvc5Term b = cvc5_mk_const(tm, cvc5_get_integer_sort(tm), "b");
Cvc5Term args2[2] = {b, two};
cvc5_assert_formula(cvc5, cvc5_mk_term(tm, CVC5_KIND_DISTINCT, 2, args2));
cvc5_check_sat(cvc5);
cvc5_delete(cvc5);
cvc5_term_manager_delete(tm);
- Quickstart Guide
- Error handling
-
Cvc5
-
Cvc5 -
cvc5_new() -
cvc5_delete() -
cvc5_get_tm() -
cvc5_declare_dt() -
cvc5_declare_fun() -
cvc5_declare_sort() -
cvc5_define_fun() -
cvc5_define_fun_rec() -
cvc5_define_fun_rec_from_const() -
cvc5_define_funs_rec() -
cvc5_simplify() -
cvc5_assert_formula() -
cvc5_check_sat() -
cvc5_check_sat_assuming() -
cvc5_get_assertions() -
cvc5_get_info() -
cvc5_get_option() -
cvc5_get_option_names() -
cvc5_get_option_info() -
cvc5_get_unsat_assumptions() -
cvc5_get_unsat_core() -
cvc5_get_unsat_core_lemmas() -
cvc5_get_difficulty() -
cvc5_get_timeout_core() -
cvc5_get_timeout_core_assuming() -
cvc5_get_proof() -
cvc5_get_learned_literals() -
cvc5_get_value() -
cvc5_get_values() -
cvc5_get_model_domain_elements() -
cvc5_is_model_core_symbol() -
cvc5_get_model() -
cvc5_get_quantifier_elimination() -
cvc5_get_quantifier_elimination_disjunct() -
cvc5_declare_sep_heap() -
cvc5_get_value_sep_heap() -
cvc5_get_value_sep_nil() -
cvc5_declare_pool() -
cvc5_declare_oracle_fun() -
cvc5_add_plugin() -
cvc5_get_interpolant() -
cvc5_get_interpolant_with_grammar() -
cvc5_get_interpolant_next() -
cvc5_get_abduct() -
cvc5_get_abduct_with_grammar() -
cvc5_get_abduct_next() -
cvc5_block_model() -
cvc5_block_model_values() -
cvc5_get_instantiations() -
cvc5_push() -
cvc5_pop() -
cvc5_reset_assertions() -
cvc5_set_info() -
cvc5_set_logic() -
cvc5_is_logic_set() -
cvc5_get_logic() -
cvc5_set_option() -
cvc5_declare_sygus_var() -
cvc5_mk_grammar() -
cvc5_synth_fun() -
cvc5_synth_fun_with_grammar() -
cvc5_add_sygus_constraint() -
cvc5_get_sygus_constraints() -
cvc5_add_sygus_assume() -
cvc5_get_sygus_assumptions() -
cvc5_add_sygus_inv_constraint() -
cvc5_check_synth() -
cvc5_check_synth_next() -
cvc5_get_synth_solution() -
cvc5_get_synth_solutions() -
cvc5_find_synth() -
cvc5_find_synth_with_grammar() -
cvc5_find_synth_next() -
cvc5_get_statistics() -
cvc5_print_stats_safe() -
cvc5_is_output_on() -
cvc5_get_output() -
cvc5_close_output() -
cvc5_get_version() -
cvc5_proof_to_string()
-
- Cvc5Command
-
Cvc5Datatype
-
Cvc5Datatype -
cvc5_dt_copy() -
cvc5_dt_release() -
cvc5_dt_is_equal() -
cvc5_dt_get_constructor() -
cvc5_dt_get_constructor_by_name() -
cvc5_dt_get_selector() -
cvc5_dt_get_name() -
cvc5_dt_get_num_constructors() -
cvc5_dt_get_parameters() -
cvc5_dt_is_parametric() -
cvc5_dt_is_codatatype() -
cvc5_dt_is_tuple() -
cvc5_dt_is_record() -
cvc5_dt_is_finite() -
cvc5_dt_is_well_founded() -
cvc5_dt_to_string() -
cvc5_dt_hash()
-
- Cvc5DatatypeDecl
-
Cvc5DatatypeConstructor
-
Cvc5DatatypeConstructor -
cvc5_dt_cons_copy() -
cvc5_dt_cons_release() -
cvc5_dt_cons_is_equal() -
cvc5_dt_cons_get_name() -
cvc5_dt_cons_get_term() -
cvc5_dt_cons_get_instantiated_term() -
cvc5_dt_cons_get_tester_term() -
cvc5_dt_cons_get_num_selectors() -
cvc5_dt_cons_get_selector() -
cvc5_dt_cons_get_selector_by_name() -
cvc5_dt_cons_to_string() -
cvc5_dt_cons_hash()
-
- Cvc5DatatypeConstructorDecl
- Cvc5DatatypeSelector
- Cvc5Grammar
-
Cvc5InputParser
-
Cvc5InputParser -
cvc5_parser_new() -
cvc5_parser_delete() -
cvc5_parser_release() -
cvc5_parser_get_solver() -
cvc5_parser_get_sm() -
cvc5_parser_set_file_input() -
cvc5_parser_set_str_input() -
cvc5_parser_set_inc_str_input() -
cvc5_parser_append_inc_str_input() -
cvc5_parser_next_command() -
cvc5_parser_next_term() -
cvc5_parser_done()
-
- Cvc5Op
- Cvc5Proof
- Cvc5Result
-
Cvc5Sort
-
Cvc5Sort -
cvc5_sort_copy() -
cvc5_sort_release() -
cvc5_sort_is_equal() -
cvc5_sort_is_disequal() -
cvc5_sort_compare() -
cvc5_sort_get_kind() -
cvc5_sort_has_symbol() -
cvc5_sort_get_symbol() -
cvc5_sort_is_boolean() -
cvc5_sort_is_integer() -
cvc5_sort_is_real() -
cvc5_sort_is_string() -
cvc5_sort_is_regexp() -
cvc5_sort_is_rm() -
cvc5_sort_is_bv() -
cvc5_sort_is_fp() -
cvc5_sort_is_dt() -
cvc5_sort_is_dt_constructor() -
cvc5_sort_is_dt_selector() -
cvc5_sort_is_dt_tester() -
cvc5_sort_is_dt_updater() -
cvc5_sort_is_fun() -
cvc5_sort_is_predicate() -
cvc5_sort_is_tuple() -
cvc5_sort_is_nullable() -
cvc5_sort_is_record() -
cvc5_sort_is_array() -
cvc5_sort_is_ff() -
cvc5_sort_is_set() -
cvc5_sort_is_bag() -
cvc5_sort_is_sequence() -
cvc5_sort_is_abstract() -
cvc5_sort_is_uninterpreted_sort() -
cvc5_sort_is_uninterpreted_sort_constructor() -
cvc5_sort_is_instantiated() -
cvc5_sort_get_uninterpreted_sort_constructor() -
cvc5_sort_get_datatype() -
cvc5_sort_instantiate() -
cvc5_sort_get_instantiated_parameters() -
cvc5_sort_substitute() -
cvc5_sort_substitute_sorts() -
cvc5_sort_to_string() -
cvc5_sort_hash() -
cvc5_sort_dt_constructor_get_arity() -
cvc5_sort_dt_constructor_get_domain() -
cvc5_sort_dt_constructor_get_codomain() -
cvc5_sort_dt_selector_get_domain() -
cvc5_sort_dt_selector_get_codomain() -
cvc5_sort_dt_tester_get_domain() -
cvc5_sort_dt_tester_get_codomain() -
cvc5_sort_fun_get_arity() -
cvc5_sort_fun_get_domain() -
cvc5_sort_fun_get_codomain() -
cvc5_sort_array_get_index_sort() -
cvc5_sort_array_get_element_sort() -
cvc5_sort_set_get_element_sort() -
cvc5_sort_bag_get_element_sort() -
cvc5_sort_sequence_get_element_sort() -
cvc5_sort_abstract_get_kind() -
cvc5_sort_uninterpreted_sort_constructor_get_arity() -
cvc5_sort_bv_get_size() -
cvc5_sort_ff_get_size() -
cvc5_sort_fp_get_exp_size() -
cvc5_sort_fp_get_sig_size() -
cvc5_sort_dt_get_arity() -
cvc5_sort_tuple_get_length() -
cvc5_sort_tuple_get_element_sorts() -
cvc5_sort_nullable_get_element_sort()
-
-
Cvc5Statistics
-
Cvc5Stat -
cvc5_stat_is_internal() -
cvc5_stat_is_default() -
cvc5_stat_is_int() -
cvc5_stat_get_int() -
cvc5_stat_is_double() -
cvc5_stat_get_double() -
cvc5_stat_is_string() -
cvc5_stat_get_string() -
cvc5_stat_is_histogram() -
cvc5_stat_get_histogram() -
cvc5_stat_to_string() -
Cvc5Statistics -
cvc5_stats_iter_init() -
cvc5_stats_iter_has_next() -
cvc5_stats_iter_next() -
cvc5_stats_get() -
cvc5_stats_to_string()
-
- Cvc5SymbolManager
-
Cvc5SynthResult
-
Cvc5SynthResult -
cvc5_synth_result_is_null() -
cvc5_synth_result_has_solution() -
cvc5_synth_result_has_no_solution() -
cvc5_synth_result_is_unknown() -
cvc5_synth_result_is_equal() -
cvc5_synth_result_is_disequal() -
cvc5_synth_result_to_string() -
cvc5_synth_result_hash() -
cvc5_synth_result_copy() -
cvc5_synth_result_release()
-
-
Cvc5Term
-
Cvc5Term -
cvc5_term_copy() -
cvc5_term_release() -
cvc5_term_is_equal() -
cvc5_term_is_disequal() -
cvc5_term_compare() -
cvc5_term_get_num_children() -
cvc5_term_get_child() -
cvc5_term_get_id() -
cvc5_term_get_kind() -
cvc5_term_get_sort() -
cvc5_term_substitute_term() -
cvc5_term_substitute_terms() -
cvc5_term_has_op() -
cvc5_term_get_op() -
cvc5_term_has_symbol() -
cvc5_term_get_symbol() -
cvc5_term_to_string() -
cvc5_term_get_real_or_integer_value_sign() -
cvc5_term_is_int32_value() -
cvc5_term_get_int32_value() -
cvc5_term_is_uint32_value() -
cvc5_term_get_uint32_value() -
cvc5_term_is_int64_value() -
cvc5_term_get_int64_value() -
cvc5_term_is_uint64_value() -
cvc5_term_get_uint64_value() -
cvc5_term_is_integer_value() -
cvc5_term_get_integer_value() -
cvc5_term_is_string_value() -
cvc5_term_get_string_value() -
cvc5_term_get_u32string_value() -
cvc5_term_is_real32_value() -
cvc5_term_get_real32_value() -
cvc5_term_is_real64_value() -
cvc5_term_get_real64_value() -
cvc5_term_is_real_value() -
cvc5_term_get_real_value() -
cvc5_term_is_const_array() -
cvc5_term_get_const_array_base() -
cvc5_term_is_boolean_value() -
cvc5_term_get_boolean_value() -
cvc5_term_is_bv_value() -
cvc5_term_get_bv_value() -
cvc5_term_is_ff_value() -
cvc5_term_get_ff_value() -
cvc5_term_is_uninterpreted_sort_value() -
cvc5_term_get_uninterpreted_sort_value() -
cvc5_term_is_tuple_value() -
cvc5_term_get_tuple_value() -
cvc5_term_is_rm_value() -
cvc5_term_get_rm_value() -
cvc5_term_is_fp_pos_zero() -
cvc5_term_is_fp_neg_zero() -
cvc5_term_is_fp_pos_inf() -
cvc5_term_is_fp_neg_inf() -
cvc5_term_is_fp_nan() -
cvc5_term_is_fp_value() -
cvc5_term_get_fp_value() -
cvc5_term_is_set_value() -
cvc5_term_get_set_value() -
cvc5_term_is_sequence_value() -
cvc5_term_get_sequence_value() -
cvc5_term_is_cardinality_constraint() -
cvc5_term_get_cardinality_constraint() -
cvc5_term_is_real_algebraic_number() -
cvc5_term_get_real_algebraic_number_defining_polynomial() -
cvc5_term_get_real_algebraic_number_lower_bound() -
cvc5_term_get_real_algebraic_number_upper_bound() -
cvc5_term_is_skolem() -
cvc5_term_get_skolem_id() -
cvc5_term_get_skolem_indices() -
cvc5_term_hash()
-
-
Cvc5TermManager
-
Cvc5TermManager -
cvc5_term_manager_new() -
cvc5_term_manager_delete() -
cvc5_term_manager_release() -
cvc5_term_manager_print_stats_safe() -
cvc5_term_manager_get_statistics() -
Sort Creation
-
cvc5_get_boolean_sort() -
cvc5_get_integer_sort() -
cvc5_get_real_sort() -
cvc5_get_regexp_sort() -
cvc5_get_rm_sort() -
cvc5_get_string_sort() -
cvc5_mk_array_sort() -
cvc5_mk_bv_sort() -
cvc5_mk_fp_sort() -
cvc5_mk_ff_sort() -
cvc5_mk_dt_sort() -
cvc5_mk_dt_sorts() -
cvc5_mk_fun_sort() -
cvc5_mk_param_sort() -
cvc5_mk_predicate_sort() -
cvc5_mk_record_sort() -
cvc5_mk_set_sort() -
cvc5_mk_bag_sort() -
cvc5_mk_sequence_sort() -
cvc5_mk_abstract_sort() -
cvc5_mk_uninterpreted_sort() -
cvc5_mk_unresolved_dt_sort() -
cvc5_mk_uninterpreted_sort_constructor_sort() -
cvc5_mk_tuple_sort() -
cvc5_mk_nullable_sort()
-
- Operator Creation
-
Term Creation
-
cvc5_mk_term() -
cvc5_mk_term_from_op() -
cvc5_mk_tuple() -
cvc5_mk_nullable_some() -
cvc5_mk_nullable_val() -
cvc5_mk_nullable_is_null() -
cvc5_mk_nullable_is_some() -
cvc5_mk_nullable_null() -
cvc5_mk_nullable_lift() -
cvc5_mk_skolem() -
cvc5_get_num_idxs_for_skolem_id() -
cvc5_mk_true() -
cvc5_mk_false() -
cvc5_mk_boolean() -
cvc5_mk_pi() -
cvc5_mk_integer() -
cvc5_mk_integer_int64() -
cvc5_mk_real() -
cvc5_mk_real_int64() -
cvc5_mk_real_num_den() -
cvc5_mk_regexp_all() -
cvc5_mk_regexp_allchar() -
cvc5_mk_regexp_none() -
cvc5_mk_empty_set() -
cvc5_mk_empty_bag() -
cvc5_mk_sep_emp() -
cvc5_mk_sep_nil() -
cvc5_mk_string() -
cvc5_mk_string_from_wchar() -
cvc5_mk_string_from_char32() -
cvc5_mk_empty_sequence() -
cvc5_mk_universe_set() -
cvc5_mk_bv_uint64() -
cvc5_mk_bv() -
cvc5_mk_ff_elem() -
cvc5_mk_const_array() -
cvc5_mk_fp_pos_inf() -
cvc5_mk_fp_neg_inf() -
cvc5_mk_fp_nan() -
cvc5_mk_fp_pos_zero() -
cvc5_mk_fp_neg_zero() -
cvc5_mk_rm() -
cvc5_mk_fp() -
cvc5_mk_fp_from_ieee() -
cvc5_mk_cardinality_constraint() -
cvc5_mk_const() -
cvc5_mk_var()
-
- Datatype Declaration Creation
- Datatype Constructor Declaration Creation
-
-
Cvc5OptionInfo
-
Cvc5OptionInfoKind -
Cvc5OptionInfo -
cvc5_option_info_to_string()
-
- Cvc5Plugin
-
Cvc5Kind
-
Cvc5Kind-
CVC5_KIND_INTERNAL_KIND -
CVC5_KIND_UNDEFINED_KIND -
CVC5_KIND_NULL_TERM -
CVC5_KIND_UNINTERPRETED_SORT_VALUE -
CVC5_KIND_EQUAL -
CVC5_KIND_DISTINCT -
CVC5_KIND_CONSTANT -
CVC5_KIND_VARIABLE -
CVC5_KIND_SKOLEM -
CVC5_KIND_SEXPR -
CVC5_KIND_LAMBDA -
CVC5_KIND_WITNESS -
CVC5_KIND_CONST_BOOLEAN -
CVC5_KIND_NOT -
CVC5_KIND_AND -
CVC5_KIND_IMPLIES -
CVC5_KIND_OR -
CVC5_KIND_XOR -
CVC5_KIND_ITE -
CVC5_KIND_APPLY_UF -
CVC5_KIND_CARDINALITY_CONSTRAINT -
CVC5_KIND_HO_APPLY -
CVC5_KIND_ADD -
CVC5_KIND_MULT -
CVC5_KIND_IAND -
CVC5_KIND_PIAND -
CVC5_KIND_POW2 -
CVC5_KIND_LOG2 -
CVC5_KIND_SUB -
CVC5_KIND_NEG -
CVC5_KIND_DIVISION -
CVC5_KIND_DIVISION_TOTAL -
CVC5_KIND_INTS_DIVISION -
CVC5_KIND_INTS_DIVISION_TOTAL -
CVC5_KIND_INTS_MODULUS -
CVC5_KIND_INTS_MODULUS_TOTAL -
CVC5_KIND_ABS -
CVC5_KIND_POW -
CVC5_KIND_EXPONENTIAL -
CVC5_KIND_SINE -
CVC5_KIND_COSINE -
CVC5_KIND_TANGENT -
CVC5_KIND_COSECANT -
CVC5_KIND_SECANT -
CVC5_KIND_COTANGENT -
CVC5_KIND_ARCSINE -
CVC5_KIND_ARCCOSINE -
CVC5_KIND_ARCTANGENT -
CVC5_KIND_ARCCOSECANT -
CVC5_KIND_ARCSECANT -
CVC5_KIND_ARCCOTANGENT -
CVC5_KIND_SQRT -
CVC5_KIND_DIVISIBLE -
CVC5_KIND_CONST_RATIONAL -
CVC5_KIND_CONST_INTEGER -
CVC5_KIND_LT -
CVC5_KIND_LEQ -
CVC5_KIND_GT -
CVC5_KIND_GEQ -
CVC5_KIND_IS_INTEGER -
CVC5_KIND_TO_INTEGER -
CVC5_KIND_TO_REAL -
CVC5_KIND_PI -
CVC5_KIND_CONST_BITVECTOR -
CVC5_KIND_BITVECTOR_CONCAT -
CVC5_KIND_BITVECTOR_AND -
CVC5_KIND_BITVECTOR_OR -
CVC5_KIND_BITVECTOR_XOR -
CVC5_KIND_BITVECTOR_NOT -
CVC5_KIND_BITVECTOR_NAND -
CVC5_KIND_BITVECTOR_NOR -
CVC5_KIND_BITVECTOR_XNOR -
CVC5_KIND_BITVECTOR_COMP -
CVC5_KIND_BITVECTOR_MULT -
CVC5_KIND_BITVECTOR_ADD -
CVC5_KIND_BITVECTOR_SUB -
CVC5_KIND_BITVECTOR_NEG -
CVC5_KIND_BITVECTOR_UDIV -
CVC5_KIND_BITVECTOR_UREM -
CVC5_KIND_BITVECTOR_SDIV -
CVC5_KIND_BITVECTOR_SREM -
CVC5_KIND_BITVECTOR_SMOD -
CVC5_KIND_BITVECTOR_SHL -
CVC5_KIND_BITVECTOR_LSHR -
CVC5_KIND_BITVECTOR_ASHR -
CVC5_KIND_BITVECTOR_ULT -
CVC5_KIND_BITVECTOR_ULE -
CVC5_KIND_BITVECTOR_UGT -
CVC5_KIND_BITVECTOR_UGE -
CVC5_KIND_BITVECTOR_SLT -
CVC5_KIND_BITVECTOR_SLE -
CVC5_KIND_BITVECTOR_SGT -
CVC5_KIND_BITVECTOR_SGE -
CVC5_KIND_BITVECTOR_ULTBV -
CVC5_KIND_BITVECTOR_SLTBV -
CVC5_KIND_BITVECTOR_ITE -
CVC5_KIND_BITVECTOR_REDOR -
CVC5_KIND_BITVECTOR_REDAND -
CVC5_KIND_BITVECTOR_NEGO -
CVC5_KIND_BITVECTOR_UADDO -
CVC5_KIND_BITVECTOR_SADDO -
CVC5_KIND_BITVECTOR_UMULO -
CVC5_KIND_BITVECTOR_SMULO -
CVC5_KIND_BITVECTOR_USUBO -
CVC5_KIND_BITVECTOR_SSUBO -
CVC5_KIND_BITVECTOR_SDIVO -
CVC5_KIND_BITVECTOR_EXTRACT -
CVC5_KIND_BITVECTOR_REPEAT -
CVC5_KIND_BITVECTOR_ZERO_EXTEND -
CVC5_KIND_BITVECTOR_SIGN_EXTEND -
CVC5_KIND_BITVECTOR_ROTATE_LEFT -
CVC5_KIND_BITVECTOR_ROTATE_RIGHT -
CVC5_KIND_INT_TO_BITVECTOR -
CVC5_KIND_BITVECTOR_TO_NAT -
CVC5_KIND_BITVECTOR_UBV_TO_INT -
CVC5_KIND_BITVECTOR_SBV_TO_INT -
CVC5_KIND_BITVECTOR_FROM_BOOLS -
CVC5_KIND_BITVECTOR_BIT -
CVC5_KIND_CONST_FINITE_FIELD -
CVC5_KIND_FINITE_FIELD_NEG -
CVC5_KIND_FINITE_FIELD_ADD -
CVC5_KIND_FINITE_FIELD_BITSUM -
CVC5_KIND_FINITE_FIELD_MULT -
CVC5_KIND_CONST_FLOATINGPOINT -
CVC5_KIND_CONST_ROUNDINGMODE -
CVC5_KIND_FLOATINGPOINT_FP -
CVC5_KIND_FLOATINGPOINT_EQ -
CVC5_KIND_FLOATINGPOINT_ABS -
CVC5_KIND_FLOATINGPOINT_NEG -
CVC5_KIND_FLOATINGPOINT_ADD -
CVC5_KIND_FLOATINGPOINT_SUB -
CVC5_KIND_FLOATINGPOINT_MULT -
CVC5_KIND_FLOATINGPOINT_DIV -
CVC5_KIND_FLOATINGPOINT_FMA -
CVC5_KIND_FLOATINGPOINT_SQRT -
CVC5_KIND_FLOATINGPOINT_REM -
CVC5_KIND_FLOATINGPOINT_RTI -
CVC5_KIND_FLOATINGPOINT_MIN -
CVC5_KIND_FLOATINGPOINT_MAX -
CVC5_KIND_FLOATINGPOINT_LEQ -
CVC5_KIND_FLOATINGPOINT_LT -
CVC5_KIND_FLOATINGPOINT_GEQ -
CVC5_KIND_FLOATINGPOINT_GT -
CVC5_KIND_FLOATINGPOINT_IS_NORMAL -
CVC5_KIND_FLOATINGPOINT_IS_SUBNORMAL -
CVC5_KIND_FLOATINGPOINT_IS_ZERO -
CVC5_KIND_FLOATINGPOINT_IS_INF -
CVC5_KIND_FLOATINGPOINT_IS_NAN -
CVC5_KIND_FLOATINGPOINT_IS_NEG -
CVC5_KIND_FLOATINGPOINT_IS_POS -
CVC5_KIND_FLOATINGPOINT_TO_FP_FROM_IEEE_BV -
CVC5_KIND_FLOATINGPOINT_TO_FP_FROM_FP -
CVC5_KIND_FLOATINGPOINT_TO_FP_FROM_REAL -
CVC5_KIND_FLOATINGPOINT_TO_FP_FROM_SBV -
CVC5_KIND_FLOATINGPOINT_TO_FP_FROM_UBV -
CVC5_KIND_FLOATINGPOINT_TO_UBV -
CVC5_KIND_FLOATINGPOINT_TO_SBV -
CVC5_KIND_FLOATINGPOINT_TO_REAL -
CVC5_KIND_SELECT -
CVC5_KIND_STORE -
CVC5_KIND_CONST_ARRAY -
CVC5_KIND_EQ_RANGE -
CVC5_KIND_APPLY_CONSTRUCTOR -
CVC5_KIND_APPLY_SELECTOR -
CVC5_KIND_APPLY_TESTER -
CVC5_KIND_APPLY_UPDATER -
CVC5_KIND_MATCH -
CVC5_KIND_MATCH_CASE -
CVC5_KIND_MATCH_BIND_CASE -
CVC5_KIND_TUPLE_PROJECT -
CVC5_KIND_NULLABLE_LIFT -
CVC5_KIND_SEP_NIL -
CVC5_KIND_SEP_EMP -
CVC5_KIND_SEP_PTO -
CVC5_KIND_SEP_STAR -
CVC5_KIND_SEP_WAND -
CVC5_KIND_SET_EMPTY -
CVC5_KIND_SET_UNION -
CVC5_KIND_SET_INTER -
CVC5_KIND_SET_MINUS -
CVC5_KIND_SET_SUBSET -
CVC5_KIND_SET_MEMBER -
CVC5_KIND_SET_SINGLETON -
CVC5_KIND_SET_INSERT -
CVC5_KIND_SET_CARD -
CVC5_KIND_SET_COMPLEMENT -
CVC5_KIND_SET_UNIVERSE -
CVC5_KIND_SET_COMPREHENSION -
CVC5_KIND_SET_CHOOSE -
CVC5_KIND_SET_IS_EMPTY -
CVC5_KIND_SET_IS_SINGLETON -
CVC5_KIND_SET_MAP -
CVC5_KIND_SET_FILTER -
CVC5_KIND_SET_ALL -
CVC5_KIND_SET_SOME -
CVC5_KIND_SET_FOLD -
CVC5_KIND_RELATION_JOIN -
CVC5_KIND_RELATION_TABLE_JOIN -
CVC5_KIND_RELATION_PRODUCT -
CVC5_KIND_RELATION_TRANSPOSE -
CVC5_KIND_RELATION_TCLOSURE -
CVC5_KIND_RELATION_JOIN_IMAGE -
CVC5_KIND_RELATION_IDEN -
CVC5_KIND_RELATION_GROUP -
CVC5_KIND_RELATION_AGGREGATE -
CVC5_KIND_RELATION_PROJECT -
CVC5_KIND_BAG_EMPTY -
CVC5_KIND_BAG_UNION_MAX -
CVC5_KIND_BAG_UNION_DISJOINT -
CVC5_KIND_BAG_INTER_MIN -
CVC5_KIND_BAG_DIFFERENCE_SUBTRACT -
CVC5_KIND_BAG_DIFFERENCE_REMOVE -
CVC5_KIND_BAG_SUBBAG -
CVC5_KIND_BAG_COUNT -
CVC5_KIND_BAG_MEMBER -
CVC5_KIND_BAG_SETOF -
CVC5_KIND_BAG_MAKE -
CVC5_KIND_BAG_CARD -
CVC5_KIND_BAG_CHOOSE -
CVC5_KIND_BAG_MAP -
CVC5_KIND_BAG_FILTER -
CVC5_KIND_BAG_ALL -
CVC5_KIND_BAG_SOME -
CVC5_KIND_BAG_FOLD -
CVC5_KIND_BAG_PARTITION -
CVC5_KIND_TABLE_PRODUCT -
CVC5_KIND_TABLE_PROJECT -
CVC5_KIND_TABLE_AGGREGATE -
CVC5_KIND_TABLE_JOIN -
CVC5_KIND_TABLE_GROUP -
CVC5_KIND_STRING_CONCAT -
CVC5_KIND_STRING_IN_REGEXP -
CVC5_KIND_STRING_LENGTH -
CVC5_KIND_STRING_SUBSTR -
CVC5_KIND_STRING_UPDATE -
CVC5_KIND_STRING_CHARAT -
CVC5_KIND_STRING_CONTAINS -
CVC5_KIND_STRING_INDEXOF -
CVC5_KIND_STRING_INDEXOF_RE -
CVC5_KIND_STRING_REPLACE -
CVC5_KIND_STRING_REPLACE_ALL -
CVC5_KIND_STRING_REPLACE_RE -
CVC5_KIND_STRING_REPLACE_RE_ALL -
CVC5_KIND_STRING_TO_LOWER -
CVC5_KIND_STRING_TO_UPPER -
CVC5_KIND_STRING_REV -
CVC5_KIND_STRING_TO_CODE -
CVC5_KIND_STRING_FROM_CODE -
CVC5_KIND_STRING_LT -
CVC5_KIND_STRING_LEQ -
CVC5_KIND_STRING_PREFIX -
CVC5_KIND_STRING_SUFFIX -
CVC5_KIND_STRING_IS_DIGIT -
CVC5_KIND_STRING_FROM_INT -
CVC5_KIND_STRING_TO_INT -
CVC5_KIND_CONST_STRING -
CVC5_KIND_STRING_TO_REGEXP -
CVC5_KIND_REGEXP_CONCAT -
CVC5_KIND_REGEXP_UNION -
CVC5_KIND_REGEXP_INTER -
CVC5_KIND_REGEXP_DIFF -
CVC5_KIND_REGEXP_STAR -
CVC5_KIND_REGEXP_PLUS -
CVC5_KIND_REGEXP_OPT -
CVC5_KIND_REGEXP_RANGE -
CVC5_KIND_REGEXP_REPEAT -
CVC5_KIND_REGEXP_LOOP -
CVC5_KIND_REGEXP_NONE -
CVC5_KIND_REGEXP_ALL -
CVC5_KIND_REGEXP_ALLCHAR -
CVC5_KIND_REGEXP_COMPLEMENT -
CVC5_KIND_SEQ_CONCAT -
CVC5_KIND_SEQ_LENGTH -
CVC5_KIND_SEQ_EXTRACT -
CVC5_KIND_SEQ_UPDATE -
CVC5_KIND_SEQ_AT -
CVC5_KIND_SEQ_CONTAINS -
CVC5_KIND_SEQ_INDEXOF -
CVC5_KIND_SEQ_REPLACE -
CVC5_KIND_SEQ_REPLACE_ALL -
CVC5_KIND_SEQ_REV -
CVC5_KIND_SEQ_PREFIX -
CVC5_KIND_SEQ_SUFFIX -
CVC5_KIND_CONST_SEQUENCE -
CVC5_KIND_SEQ_UNIT -
CVC5_KIND_SEQ_NTH -
CVC5_KIND_FORALL -
CVC5_KIND_EXISTS -
CVC5_KIND_VARIABLE_LIST -
CVC5_KIND_INST_PATTERN -
CVC5_KIND_INST_NO_PATTERN -
CVC5_KIND_INST_POOL -
CVC5_KIND_INST_ADD_TO_POOL -
CVC5_KIND_SKOLEM_ADD_TO_POOL -
CVC5_KIND_INST_ATTRIBUTE -
CVC5_KIND_INST_PATTERN_LIST -
CVC5_KIND_LAST_KIND
-
-
cvc5_kind_to_string() -
cvc5_kind_hash()
-
-
Cvc5SortKind
-
Cvc5SortKind-
CVC5_SORT_KIND_INTERNAL_SORT_KIND -
CVC5_SORT_KIND_UNDEFINED_SORT_KIND -
CVC5_SORT_KIND_NULL_SORT -
CVC5_SORT_KIND_ABSTRACT_SORT -
CVC5_SORT_KIND_ARRAY_SORT -
CVC5_SORT_KIND_BAG_SORT -
CVC5_SORT_KIND_BOOLEAN_SORT -
CVC5_SORT_KIND_BITVECTOR_SORT -
CVC5_SORT_KIND_DATATYPE_SORT -
CVC5_SORT_KIND_FINITE_FIELD_SORT -
CVC5_SORT_KIND_FLOATINGPOINT_SORT -
CVC5_SORT_KIND_FUNCTION_SORT -
CVC5_SORT_KIND_INTEGER_SORT -
CVC5_SORT_KIND_REAL_SORT -
CVC5_SORT_KIND_REGLAN_SORT -
CVC5_SORT_KIND_ROUNDINGMODE_SORT -
CVC5_SORT_KIND_SEQUENCE_SORT -
CVC5_SORT_KIND_SET_SORT -
CVC5_SORT_KIND_STRING_SORT -
CVC5_SORT_KIND_TUPLE_SORT -
CVC5_SORT_KIND_NULLABLE_SORT -
CVC5_SORT_KIND_UNINTERPRETED_SORT -
CVC5_SORT_KIND_LAST_SORT_KIND
-
-
cvc5_sort_kind_to_string() -
cvc5_sort_kind_hash()
-
- Cvc5RoundingMode
-
Cvc5UnknownExplanation
-
Cvc5UnknownExplanation-
CVC5_UNKNOWN_EXPLANATION_REQUIRES_FULL_CHECK -
CVC5_UNKNOWN_EXPLANATION_INCOMPLETE -
CVC5_UNKNOWN_EXPLANATION_TIMEOUT -
CVC5_UNKNOWN_EXPLANATION_RESOURCEOUT -
CVC5_UNKNOWN_EXPLANATION_MEMOUT -
CVC5_UNKNOWN_EXPLANATION_INTERRUPTED -
CVC5_UNKNOWN_EXPLANATION_UNSUPPORTED -
CVC5_UNKNOWN_EXPLANATION_OTHER -
CVC5_UNKNOWN_EXPLANATION_REQUIRES_CHECK_AGAIN -
CVC5_UNKNOWN_EXPLANATION_UNKNOWN_REASON -
CVC5_UNKNOWN_EXPLANATION_LAST
-
-
cvc5_unknown_explanation_to_string()
-
-
Modes
-
Cvc5BlockModelsMode -
cvc5_modes_block_models_mode_to_string() -
Cvc5LearnedLitType -
cvc5_modes_learned_lit_type_to_string() -
Cvc5FindSynthTarget -
cvc5_modes_find_synth_target_to_string() -
Cvc5OptionCategory -
cvc5_modes_option_category_to_string() -
Cvc5ProofComponent -
cvc5_modes_proof_component_to_string() -
Cvc5ProofFormat -
cvc5_modes_proof_format_to_string()
-
Types
The following types are defined via typedefs but used as black boxes, their internals are hidden.
-
typedef struct Cvc5
-
typedef struct Cvc5Command
-
typedef struct Cvc5Datatype
-
typedef struct Cvc5DatatypeDecl
-
typedef struct Cvc5DatatypeConstructor
-
typedef struct Cvc5DatatypeConstructorDecl
-
typedef struct Cvc5DatatypeSelector
-
typedef struct Cvc5Grammar
-
typedef struct Cvc5InputParser
-
typedef struct Cvc5Op
-
typedef struct Cvc5Proof
-
typedef struct Cvc5Result
-
typedef struct Cvc5Sort
-
typedef struct
Cvc5Stat -
typedef struct Cvc5Statistics
-
typedef struct Cvc5SymbolManager
-
typedef struct Cvc5SynthResult
-
typedef struct Cvc5Term
-
typedef struct Cvc5TermManager
Structs
The following structs are fully exposed via the API.
-
struct Cvc5OptionInfo
-
struct Cvc5Plugin
Enums
-
enum Cvc5Kind
-
enum Cvc5SortKind
-
enum
Cvc5OptionInfoKind -
enum Cvc5RoundingMode
-
enums for configuration modes
-
enum
Cvc5BlockModelsMode -
enum
Cvc5LearnedLitType -
enum
Cvc5FindSynthTarget -
enum
Cvc5OptionCategory -
enum
Cvc5ProofComponent -
enum
Cvc5ProofFormat
-
-
enums classes for proof rules
-
enum
Cvc5ProofRule -
enum
Cvc5ProofRewriteRule
-