CBMC
satcheck_zchaff.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
9 
10 #ifndef CPROVER_SOLVERS_SAT_SATCHECK_ZCHAFF_H
11 #define CPROVER_SOLVERS_SAT_SATCHECK_ZCHAFF_H
12 
13 #include "cnf_clause_list.h"
14 
15 // use this only if you want to have something
16 // derived from CSolver
17 // otherwise, use satcheck_zchafft
18 // NOLINTNEXTLINE(readability/identifiers)
19 class CSolver;
20 
22 {
23 public:
24  explicit satcheck_zchaff_baset(CSolver *_solver);
25  virtual ~satcheck_zchaff_baset();
26 
27  std::string solver_text() const override;
28  tvt l_get(literalt a) const override;
29  void set_assignment(literalt a, bool value) override;
30  virtual void copy_cnf();
31 
32  CSolver *zchaff_solver()
33  {
34  return solver;
35  }
36 
37 protected:
38  resultt do_prop_solve(const bvt &assumptions) override;
39 
40  CSolver *solver;
41 
42  enum statust { INIT, SAT, UNSAT, ERROR };
44 };
45 
47 {
48  public:
50  virtual ~satcheck_zchafft();
51 };
52 
53 #endif // CPROVER_SOLVERS_SAT_SATCHECK_ZCHAFF_H
resultt do_prop_solve(const bvt &assumptions) override
std::string solver_text() const override
void set_assignment(literalt a, bool value) override
satcheck_zchaff_baset(CSolver *_solver)
tvt l_get(literalt a) const override
virtual ~satcheck_zchafft()
Definition: threeval.h:20
CNF Generation.
std::vector< literalt > bvt
Definition: literal.h:201
resultt
The result of goto verifying.
Definition: properties.h:45