cprover
satcheck_cadical.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Michael Tautschnig
6 
7 \*******************************************************************/
8 
9 
10 #ifndef CPROVER_SOLVERS_SAT_SATCHECK_CADICAL_H
11 #define CPROVER_SOLVERS_SAT_SATCHECK_CADICAL_H
12 
13 #include "cnf.h"
14 
15 namespace CaDiCaL // NOLINT(readability/namespace)
16 {
17  class Solver; // NOLINT(readability/identifiers)
18 }
19 
21 {
22 public:
24  virtual ~satcheck_cadicalt();
25 
26  virtual const std::string solver_text() override;
27  virtual resultt prop_solve() override;
28  virtual tvt l_get(literalt a) const override;
29 
30  virtual void lcnf(const bvt &bv) override;
31  virtual void set_assignment(literalt a, bool value) override;
32 
33  virtual void set_assumptions(const bvt &_assumptions) override;
34  virtual bool has_set_assumptions() const override { return false; }
35  virtual bool has_is_in_conflict() const override { return false; }
36  virtual bool is_in_conflict(literalt a) const override;
37 
38 protected:
39  // NOLINTNEXTLINE(readability/identifiers)
40  CaDiCaL::Solver * solver;
41 };
42 
43 #endif // CPROVER_SOLVERS_SAT_SATCHECK_CADICAL_H
CNF Generation, via Tseitin.
virtual void set_assumptions(const bvt &_assumptions) override
virtual ~satcheck_cadicalt()
virtual const std::string solver_text() override
virtual resultt prop_solve() override
CaDiCaL::Solver * solver
virtual void lcnf(const bvt &bv) override
virtual tvt l_get(literalt a) const override
Definition: threeval.h:19
resultt
Definition: prop.h:96
virtual void set_assignment(literalt a, bool value) override
virtual bool is_in_conflict(literalt a) const override
Returns true if an assumption is in the final conflict.
virtual bool has_is_in_conflict() const override
virtual bool has_set_assumptions() const override
std::vector< literalt > bvt
Definition: literal.h:200