CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
external_sat.h
Go to the documentation of this file.
1
5
6#ifndef CPROVER_SOLVERS_SAT_EXTERNAL_SAT_H
7#define CPROVER_SOLVERS_SAT_EXTERNAL_SAT_H
8
9#include "cnf_clause_list.h"
11{
12public:
13 explicit external_satt(message_handlert &message_handler, std::string cmd);
14
16 {
17 return true;
18 }
19
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
30protected:
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
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
resultt do_prop_solve(const bvt &assumptions) override
std::string execute_solver(std::string)
std::string solver_cmd
std::string solver_text() const override
bool has_is_in_conflict() const override final
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
CNF Generation.
std::vector< literalt > bvt
Definition literal.h:201
resultt
The result of goto verifying.
Definition properties.h:45