CBMC
external_sat.h
Go to the documentation of this file.
1 
6 #ifndef CPROVER_SOLVERS_SAT_EXTERNAL_SAT_H
7 #define CPROVER_SOLVERS_SAT_EXTERNAL_SAT_H
8 
9 #include "cnf_clause_list.h"
11 {
12 public:
13  explicit external_satt(message_handlert &message_handler, std::string cmd);
14 
15  bool has_set_assumptions() const override final
16  {
17  return true;
18  }
19 
20  bool has_is_in_conflict() const override final
21  {
22  return false;
23  }
24 
25  const std::string solver_text() override;
26 
27  bool is_in_conflict(literalt) const override;
28  void set_assignment(literalt, bool) override;
29 
30  void set_assumptions(const bvt &_assumptions) override
31  {
32  assumptions = _assumptions;
33  }
34 
35 protected:
36  std::string solver_cmd;
38 
39  resultt do_prop_solve() override;
40  void write_cnf_file(std::string);
41  std::string execute_solver(std::string);
42  resultt parse_result(std::string);
43 };
44 
45 #endif // CPROVER_SOLVERS_SAT_EXTERNAL_SAT_H
bvt
std::vector< literalt > bvt
Definition: literal.h:201
cnf_clause_list.h
cnf_clause_list_assignmentt
Definition: cnf_clause_list.h:91
external_satt
Definition: external_sat.h:10
external_satt::write_cnf_file
void write_cnf_file(std::string)
Definition: external_sat.cpp:39
external_satt::solver_cmd
std::string solver_cmd
Definition: external_sat.h:36
external_satt::do_prop_solve
resultt do_prop_solve() override
Definition: external_sat.cpp:167
external_satt::external_satt
external_satt(message_handlert &message_handler, std::string cmd)
Definition: external_sat.cpp:19
external_satt::is_in_conflict
bool is_in_conflict(literalt) const override
Returns true if an assumption is in the final conflict.
Definition: external_sat.cpp:29
external_satt::has_set_assumptions
bool has_set_assumptions() const override final
Definition: external_sat.h:15
external_satt::solver_text
const std::string solver_text() override
Definition: external_sat.cpp:24
message_handlert
Definition: message.h:27
propt::resultt
resultt
Definition: prop.h:97
external_satt::assumptions
bvt assumptions
Definition: external_sat.h:37
external_satt::set_assumptions
void set_assumptions(const bvt &_assumptions) override
Definition: external_sat.h:30
external_satt::has_is_in_conflict
bool has_is_in_conflict() const override final
Definition: external_sat.h:20
literalt
Definition: literal.h:25
external_satt::set_assignment
void set_assignment(literalt, bool) override
Definition: external_sat.cpp:34
external_satt::execute_solver
std::string execute_solver(std::string)
Definition: external_sat.cpp:62
external_satt::parse_result
resultt parse_result(std::string)
Definition: external_sat.cpp:72