CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
satcheck_ipasir.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module:
4
5Author: Norbert Manthey, nmanthey@amazon.com
6
7See \ref compilation-and-development-subsection-sat-solver for build
8instructions.
9
10\*******************************************************************/
11
12#ifndef CPROVER_SOLVERS_SAT_SATCHECK_IPASIR_H
13#define CPROVER_SOLVERS_SAT_SATCHECK_IPASIR_H
14
15#include "cnf.h"
16
18
21{
22public:
24 virtual ~satcheck_ipasirt() override;
25
27 std::string solver_text() const override;
28
30 tvt l_get(literalt a) const override final;
31
32 void lcnf(const bvt &bv) override final;
33
34 /* This method is not supported, and currently not called anywhere in CBMC */
35 void set_assignment(literalt a, bool value) override;
36
37 bool is_in_conflict(literalt a) const override;
39 {
40 return true;
41 }
43 {
44 return true;
45 }
46
47protected:
48 resultt do_prop_solve(const bvt &assumptions) override;
49
50 void *solver;
51};
52
53#endif // CPROVER_SOLVERS_SAT_SATCHECK_IPASIR_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
resultt
Definition prop.h:101
Interface for generic SAT solver interface IPASIR.
tvt l_get(literalt a) const override final
This method returns the truth value for a literal of the current SAT model.
bool has_is_in_conflict() const override final
virtual ~satcheck_ipasirt() override
satcheck_ipasirt(message_handlert &message_handler)
std::string solver_text() const override
This method returns the description produced by the linked SAT solver.
bool has_assumptions() const override final
void lcnf(const bvt &bv) override final
void set_assignment(literalt a, bool value) override
bool is_in_conflict(literalt a) const override
Returns true if an assumption is in the final conflict.
resultt do_prop_solve(const bvt &assumptions) override
Definition threeval.h:20
CNF Generation, via Tseitin.
Capability to collect the statistics of the complexity of individual solver queries.
std::vector< literalt > bvt
Definition literal.h:201