CBMC
pbs_dimacs_cnf.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Alex Groce
6 
7 \*******************************************************************/
8 
9 
10 #ifndef CPROVER_SOLVERS_SAT_PBS_DIMACS_CNF_H
11 #define CPROVER_SOLVERS_SAT_PBS_DIMACS_CNF_H
12 
13 #include <set>
14 #include <map>
15 #include <iosfwd>
16 
17 #include "dimacs_cnf.h"
18 
20 {
21 public:
22  explicit pbs_dimacs_cnft(message_handlert &message_handler)
23  : dimacs_cnft(message_handler),
24  optimize(false),
25  maximize(false),
26  binary_search(false),
27  goal(0),
28  opt_sum(0)
29  {
30  }
31 
32  virtual ~pbs_dimacs_cnft()
33  {
34  }
35 
36  virtual void write_dimacs_pb(std::ostream &out);
37 
38  bool optimize;
39  bool maximize;
41 
42  std::string pbs_path;
43 
44  int goal;
45  int opt_sum;
46 
47  std::map<literalt, unsigned> pb_constraintmap;
48 
49  bool pbs_solve();
50 
51  tvt l_get(literalt a) const override;
52 
53  // dummy functions
54 
55  std::string solver_text() const override
56  {
57  return "PBS - Pseudo Boolean/CNF Solver and Optimizer";
58  }
59 
60 protected:
61  resultt do_prop_solve(const bvt &assumptions) override;
62 
63  std::set<int> assigned;
64 };
65 
66 #endif // CPROVER_SOLVERS_SAT_PBS_DIMACS_CNF_H
pbs_dimacs_cnft(message_handlert &message_handler)
tvt l_get(literalt a) const override
virtual ~pbs_dimacs_cnft()
std::string solver_text() const override
std::set< int > assigned
resultt do_prop_solve(const bvt &assumptions) override
std::string pbs_path
virtual void write_dimacs_pb(std::ostream &out)
std::map< literalt, unsigned > pb_constraintmap
Definition: threeval.h:20
std::vector< literalt > bvt
Definition: literal.h:201
resultt
The result of goto verifying.
Definition: properties.h:45