123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145(**************************************************************************)(* Bitwuzla: Satisfiability Modulo Theories (SMT) solver. *)(* *)(* Copyright (C) 2023 by the authors listed in the AUTHORS file at *)(* https://github.com/bitwuzla/bitwuzla/blob/main/AUTHORS *)(* *)(* This file is part of Bitwuzla under the MIT license. *)(* See COPYING for more information at *)(* https://github.com/bitwuzla/bitwuzla/blob/main/COPYING *)(**************************************************************************)typetexternalid:t->(int64[@unboxed])="ocaml_bitwuzla_cxx_term_id""native_bitwuzla_cxx_term_id"externalcompare:t->t->(int[@untagged])="ocaml_bitwuzla_cxx_term_compare""native_bitwuzla_cxx_term_compare"externalequal:t->t->bool="ocaml_bitwuzla_cxx_term_equal"externalhash:t->(int[@untagged])="ocaml_bitwuzla_cxx_term_hash""native_bitwuzla_cxx_term_hash"externalkind:t->(int[@untagged])="ocaml_bitwuzla_cxx_term_kind""native_bitwuzla_cxx_term_kind"letkindt=Kind.of_cxx@@kindtexternalsort:t->Sort.t="ocaml_bitwuzla_cxx_term_sort"externalnum_children:t->(int[@untagged])="ocaml_bitwuzla_cxx_term_num_children""native_bitwuzla_cxx_term_num_children"externalchildren:t->tarray="ocaml_bitwuzla_cxx_term_children"externalget:t->(int[@untagged])->t="ocaml_bitwuzla_cxx_term_get""native_bitwuzla_cxx_term_get"externalnum_indices:t->(int[@untagged])="ocaml_bitwuzla_cxx_term_num_indices""native_bitwuzla_cxx_term_num_indices"externalindices:t->intarray="ocaml_bitwuzla_cxx_term_indices"externalsymbol:t->string="ocaml_bitwuzla_cxx_term_symbol"externalis_const:t->bool="ocaml_bitwuzla_cxx_term_is_const"[@@noalloc]externalis_variable:t->bool="ocaml_bitwuzla_cxx_term_is_variable"[@@noalloc]externalis_value:t->bool="ocaml_bitwuzla_cxx_term_is_value"[@@noalloc]externalis_bv_value_zero:t->bool="ocaml_bitwuzla_cxx_term_is_bv_value_zero"[@@noalloc]externalis_bv_value_one:t->bool="ocaml_bitwuzla_cxx_term_is_bv_value_one"[@@noalloc]externalis_bv_value_ones:t->bool="ocaml_bitwuzla_cxx_term_is_bv_value_ones"[@@noalloc]externalis_bv_value_min_signed:t->bool="ocaml_bitwuzla_cxx_term_is_bv_value_min_signed"[@@noalloc]externalis_bv_value_max_signed:t->bool="ocaml_bitwuzla_cxx_term_is_bv_value_max_signed"[@@noalloc]externalis_fp_value_pos_zero:t->bool="ocaml_bitwuzla_cxx_term_is_fp_value_pos_zero"[@@noalloc]externalis_fp_value_neg_zero:t->bool="ocaml_bitwuzla_cxx_term_is_fp_value_neg_zero"[@@noalloc]externalis_fp_value_pos_inf:t->bool="ocaml_bitwuzla_cxx_term_is_fp_value_pos_inf"[@@noalloc]externalis_fp_value_neg_inf:t->bool="ocaml_bitwuzla_cxx_term_is_fp_value_neg_inf"[@@noalloc]externalis_fp_value_nan:t->bool="ocaml_bitwuzla_cxx_term_is_fp_value_nan"[@@noalloc]externalis_rm_value_rna:t->bool="ocaml_bitwuzla_cxx_term_is_rm_value_rna"[@@noalloc]externalis_rm_value_rne:t->bool="ocaml_bitwuzla_cxx_term_is_rm_value_rne"[@@noalloc]externalis_rm_value_rtn:t->bool="ocaml_bitwuzla_cxx_term_is_rm_value_rtn"[@@noalloc]externalis_rm_value_rtp:t->bool="ocaml_bitwuzla_cxx_term_is_rm_value_rtp"[@@noalloc]externalis_rm_value_rtz:t->bool="ocaml_bitwuzla_cxx_term_is_rm_value_rtz"[@@noalloc]externalto_string:(int[@untagged])->t->string="ocaml_bitwuzla_cxx_term_to_string""native_bitwuzla_cxx_term_to_string"letto_string?(bv_format=2)t=to_stringbv_formattexternalpp:Format.formatter->t->unit="ocaml_bitwuzla_cxx_term_pp"externalpp_smt2:bv_format:(int[@untagged])->Format.formatter->t->unit="ocaml_bitwuzla_cxx_term_pp_smt2""native_bitwuzla_cxx_term_pp_smt2"externalto_bool:t->bool="ocaml_bitwuzla_cxx_term_boolean_value"externalto_rounding_mode:t->(int[@untagged])="ocaml_bitwuzla_cxx_term_rounding_mode_value""native_bitwuzla_cxx_term_rounding_mode_value"externalto_base:t->(int[@untagged])->string="ocaml_bitwuzla_cxx_term_string_value""native_bitwuzla_cxx_term_string_value"externalto_ieee_754:t->string*string*string="ocaml_bitwuzla_cxx_term_ieee_754_value"externalto_zarith:t->Z.t="ocaml_bitwuzla_cxx_term_zarith_value"type_cast=|Bool:boolcast|RoundingMode:RoundingMode.tcast|String:{base:int}->stringcast|IEEE_754:(string*string*string)cast|Z:Z.tcastletvalue:typea.acast->t->a=funkindt->matchkindwith|Bool->to_boolt|RoundingMode->RoundingMode.of_cxx(to_rounding_modet)|String{base}->to_basetbase|IEEE_754->to_ieee_754t|Z->to_zaritht