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  const std::string solver_text() override;
27  tvt l_get(literalt a) const override;
28 
29  void lcnf(const bvt &bv) override;
30  void set_assignment(literalt a, bool value) override;
31 
32  void set_assumptions(const bvt &_assumptions) override;
33  bool has_set_assumptions() const override
34  {
35  return false;
36  }
37  bool has_is_in_conflict() const override
38  {
39  return false;
40  }
41  bool is_in_conflict(literalt a) const override;
42 
43 protected:
44  resultt do_prop_solve() override;
45 
46  // NOLINTNEXTLINE(readability/identifiers)
47  CaDiCaL::Solver * solver;
48 };
49 
50 #endif // CPROVER_SOLVERS_SAT_SATCHECK_CADICAL_H
satcheck_cadicalt::set_assignment
void set_assignment(literalt a, bool value) override
bvt
std::vector< literalt > bvt
Definition: literal.h:201
satcheck_cadicalt::is_in_conflict
bool is_in_conflict(literalt a) const override
Returns true if an assumption is in the final conflict.
CaDiCaL
Definition: satcheck_cadical.h:16
satcheck_cadicalt::solver
CaDiCaL::Solver * solver
Definition: satcheck_cadical.h:47
satcheck_cadicalt::set_assumptions
void set_assumptions(const bvt &_assumptions) override
satcheck_cadicalt::has_is_in_conflict
bool has_is_in_conflict() const override
Definition: satcheck_cadical.h:37
cnf_solvert
Definition: cnf.h:70
satcheck_cadicalt::satcheck_cadicalt
satcheck_cadicalt()
satcheck_cadicalt::~satcheck_cadicalt
virtual ~satcheck_cadicalt()
satcheck_cadicalt::do_prop_solve
resultt do_prop_solve() override
satcheck_cadicalt::lcnf
void lcnf(const bvt &bv) override
propt::resultt
resultt
Definition: prop.h:99
satcheck_cadicalt::l_get
tvt l_get(literalt a) const override
tvt
Definition: threeval.h:20
literalt
Definition: literal.h:26
satcheck_cadicalt::has_set_assumptions
bool has_set_assumptions() const override
Definition: satcheck_cadical.h:33
cnf.h
CNF Generation, via Tseitin.
satcheck_cadicalt::solver_text
const std::string solver_text() override
satcheck_cadicalt
Definition: satcheck_cadical.h:21