1#ifndef _ESBMC_SOLVERS_SMTLIB_CONV_H_
2#define _ESBMC_SOLVERS_SMTLIB_CONV_H_
5#define __STDC_LIMIT_MACROS
6#define __STDC_FORMAT_MACROS
12#include <solvers/smt/smt_tuple_flat.h>
16#include <core/Solver.h>
18typedef Minisat::Lit
Lit;
20typedef std::vector<literalt>
bvt;
41 virtual void lcnf(
const bvt &bv);
47 void convert(
const bvt &bv, Minisat::vec<Lit> &dest);
bitblast_convt(bool int_encoding, const namespacet &_ns, sat_iface *sat_api)
Definition bitblast_conv.cpp:4
cnf_convt(cnf_iface *cnf_api)
Definition cnf_conv.cpp:3
~minisat_convt()
Definition minisat_conv.cpp:81
Minisat::Solver solver
Definition minisat_conv.h:52
virtual void assert_lit(const literalt &l)
Definition minisat_conv.cpp:138
virtual tvt l_get(const literalt &a)
Definition minisat_conv.cpp:121
virtual smt_resultt dec_solve()
Solve the formula given to the solver.
Definition minisat_conv.cpp:85
void dump_bv(const bvt &bv) const
Definition minisat_conv.cpp:100
minisat_convt(bool int_encoding, const namespacet &_ns, const optionst &opts)
Definition minisat_conv.cpp:68
virtual void setto(literalt a, bool val)
Definition minisat_conv.cpp:38
virtual const std::string solver_text()
Solver name fetcher.
Definition minisat_conv.cpp:116
const optionst & options
Definition minisat_conv.h:53
virtual literalt new_variable()
Definition minisat_conv.cpp:18
virtual void lcnf(const bvt &bv)
Definition minisat_conv.cpp:52
void convert(const bvt &bv, Minisat::vec< Lit > &dest)
Definition minisat_conv.cpp:26
bool false_asserted
Definition minisat_conv.h:54
shiftt
Definition minisat_conv.h:26
@ ARIGHT
Definition minisat_conv.h:29
@ LRIGHT
Definition minisat_conv.h:28
@ LEFT
Definition minisat_conv.h:27
Definition namespace.h:10
bool int_encoding
Whether we are encoding expressions in integer mode or not.
Definition smt_solver.h:1121
Minisat::Lit Lit
Definition minisat_conv.h:18
std::vector< literalt > bvt
Definition minisat_conv.h:20
Minisat::lbool lbool
Definition minisat_conv.h:19
smt_resultt
Result of a call to dec_solve.
Definition smt_result.h:7