123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359# 1 "lib/z3_mappings2.nop.ml"letsolver_name="Z3"(***************************************************************************)(* This file is part of the third-party OCaml library `smtml`. *)(* Copyright (C) 2023-2024 formalsec *)(* *)(* This program is free software: you can redistribute it and/or modify *)(* it under the terms of the GNU General Public License as published by *)(* the Free Software Foundation, either version 3 of the License, or *)(* (at your option) any later version. *)(* *)(* This program is distributed in the hope that it will be useful, *)(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)(* GNU General Public License for more details. *)(* *)(* You should have received a copy of the GNU General Public License *)(* along with this program. If not, see <https://www.gnu.org/licenses/>. *)(***************************************************************************)moduleNop=structmoduleMake()=structtypety=unittypeterm=unittypeinterptypemodeltypesolvertypehandletypeoptimizerlettrue_=()letfalse_=()letint_=assertfalseletreal_=assertfalseletconst_=assertfalseletnot__=assertfalseletand__=assertfalseletor__=assertfalseletxor_=assertfalseleteq_=assertfalseletdistinct_=assertfalseletite_=assertfalsemoduleTypes=structletint=()letreal=()letbool=()letstring=()letbitv_=()letfloat__=()letty_=assertfalseletto_ety_=assertfalseendmoduleInterp=structletto_int_=assertfalseletto_real_=assertfalseletto_bool_=assertfalseletto_string_=assertfalseletto_bitv_=assertfalseletto_float_=assertfalseendmoduleInt=structletneg_=assertfalseletto_real_=assertfalseletadd_=assertfalseletsub_=assertfalseletmul_=assertfalseletdiv_=assertfalseletrem_=assertfalseletpow_=assertfalseletlt_=assertfalseletle_=assertfalseletgt_=assertfalseletge_=assertfalseendmoduleReal=structletneg_=assertfalseletto_int_=assertfalseletadd_=assertfalseletsub_=assertfalseletmul_=assertfalseletdiv_=assertfalseletpow_=assertfalseletlt_=assertfalseletle_=assertfalseletgt_=assertfalseletge_=assertfalseendmoduleString=structletv_=assertfalseletlength_=assertfalseletto_code_=assertfalseletof_code_=assertfalseletto_int_=assertfalseletof_int_=assertfalseletat_=assertfalseletconcat_=assertfalseletcontains_=assertfalseletis_prefix_=assertfalseletis_suffix_~suffix:_=assertfalseletsub_~pos:_~len:_=assertfalseletindex_of_~sub:_~pos:_=assertfalseletreplace_~pattern:_~with_:_=assertfalseendmoduleBitv=structletv_=assertfalseletneg_=assertfalseletlognot_=assertfalseletadd_=assertfalseletsub_=assertfalseletmul_=assertfalseletdiv_=assertfalseletdiv_u_=assertfalseletlogor_=assertfalseletlogand_=assertfalseletlogxor_=assertfalseletshl_=assertfalseletashr_=assertfalseletlshr_=assertfalseletrem_=assertfalseletrem_u_=assertfalseletrotate_left_=assertfalseletrotate_right_=assertfalseletlt_=assertfalseletlt_u_=assertfalseletle_=assertfalseletle_u_=assertfalseletgt_=assertfalseletgt_u_=assertfalseletge_=assertfalseletge_u_=assertfalseletconcat_=assertfalseletextract_~high:_~low:_=assertfalseletzero_extend_=assertfalseletsign_extend_=assertfalseendmoduleFloat=structmoduleRounding_mode=structletrne=()letrna=()letrtp=()letrtn=()letrtz=()endletv_=assertfalseletneg_=assertfalseletabs_=assertfalseletsqrt~rm:_=assertfalseletis_nan_=assertfalseletround_to_integral~rm:_=assertfalseletadd~rm:_=assertfalseletsub~rm:_=assertfalseletmul~rm:_=assertfalseletdiv~rm:_=assertfalseletmin_=assertfalseletmax_=assertfalseletrem_=assertfalseleteq_=assertfalseletlt_=assertfalseletle_=assertfalseletgt_=assertfalseletge_=assertfalseletto_fp__~rm:_=assertfalseletsbv_to_fp__~rm:_=assertfalseletubv_to_fp__~rm:_=assertfalseletto_ubv_~rm:_=assertfalseletto_sbv_~rm:_=assertfalseletof_ieee_bv_=assertfalseletto_ieee_bv_=assertfalseendmoduleModel=structletget_symbols_=assertfalseleteval?completion:__=assertfalseendletdie()=Format.ksprintffailwith"%s not installed"solver_namemoduleSolver=structletmake?params:_?logic:_=die()letclone_=die()letpush_=die()letpop_=die()letreset_=die()letadd_=die()letcheck_~assumptions:_=die()letmodel_=die()letadd_simplifier_=die()letinterrupt_=die()letpp_statistics_=die()endmoduleOptimizer=structletmake_=die()letpush_=die()letpop_=die()letadd_=die()letcheck_=die()letmodel_=die()letmaximize_=die()letminimize_=die()letinterrupt_=die()letpp_statistics_=die()endendletis_available=falseincludeMake()endincludeMappings.Make(Nop)