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_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  std::string solver_text() const override;
26 
27  bool is_in_conflict(literalt) const override;
28  void set_assignment(literalt, bool) override;
29 
30 protected:
31  std::string solver_cmd;
32 
33  resultt do_prop_solve(const bvt &assumptions) override;
34  void write_cnf_file(std::string, const bvt &);
35  std::string execute_solver(std::string);
36  resultt parse_result(std::string);
37 };
38 
39 #endif // CPROVER_SOLVERS_SAT_EXTERNAL_SAT_H
resultt do_prop_solve(const bvt &assumptions) override
std::string execute_solver(std::string)
external_satt(message_handlert &message_handler, std::string cmd)
std::string solver_cmd
Definition: external_sat.h:31
std::string solver_text() const override
bool has_is_in_conflict() const override final
Definition: external_sat.h:20
void set_assignment(literalt, bool) override
void write_cnf_file(std::string, const bvt &)
bool is_in_conflict(literalt) const override
Returns true if an assumption is in the final conflict.
resultt parse_result(std::string)
bool has_assumptions() const override final
Definition: external_sat.h:15
resultt
Definition: prop.h:101
CNF Generation.
std::vector< literalt > bvt
Definition: literal.h:201