CBMC
satcheck_ipasir.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Norbert Manthey, nmanthey@amazon.com
6 
7 See \ref compilation-and-development-subsection-sat-solver for build
8 instructions.
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 {
22 public:
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;
38  bool has_assumptions() const override final
39  {
40  return true;
41  }
42  bool has_is_in_conflict() const override final
43  {
44  return true;
45  }
46 
47 protected:
48  resultt do_prop_solve(const bvt &assumptions) override;
49 
50  void *solver;
51 };
52 
53 #endif // CPROVER_SOLVERS_SAT_SATCHECK_IPASIR_H
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