CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
pbs_dimacs_cnf.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module:
4
5Author: 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{
21public:
22 explicit pbs_dimacs_cnft(message_handlert &message_handler)
23 : dimacs_cnft(message_handler),
27 goal(0),
28 opt_sum(0)
29 {
30 }
31
33 {
34 }
35
36 virtual void write_dimacs_pb(std::ostream &out);
37
41
42 std::string pbs_path;
43
44 int goal;
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
60protected:
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
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
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