CBMC
satcheck_ipasir.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Norbert Manthey, nmanthey@amazon.com
6 
7 See \ref compilation-and-development-subsection-sat-solver for build
8 instructions.
9 
10 \*******************************************************************/
11 
12 #ifndef CPROVER_SOLVERS_SAT_SATCHECK_IPASIR_H
13 #define CPROVER_SOLVERS_SAT_SATCHECK_IPASIR_H
14 
15 #include "cnf.h"
16 
18 
21 {
22 public:
23  satcheck_ipasirt(message_handlert &message_handler);
24  virtual ~satcheck_ipasirt() override;
25 
27  const std::string solver_text() override;
28 
30  tvt l_get(literalt a) const override final;
31 
32  void lcnf(const bvt &bv) override final;
33 
34  /* This method is not supported, and currently not called anywhere in CBMC */
35  void set_assignment(literalt a, bool value) override;
36 
37  void set_assumptions(const bvt &_assumptions) override;
38 
39  bool is_in_conflict(literalt a) const override;
40  bool has_set_assumptions() const override final
41  {
42  return true;
43  }
44  bool has_is_in_conflict() const override final
45  {
46  return true;
47  }
48 
49 protected:
50  resultt do_prop_solve() override;
51 
52  void *solver;
53 
55 };
56 
57 #endif // CPROVER_SOLVERS_SAT_SATCHECK_IPASIR_H
resultt
resultt
The result of goto verifying.
Definition: properties.h:44
hardness_collector.h
satcheck_ipasirt::set_assignment
void set_assignment(literalt a, bool value) override
bvt
std::vector< literalt > bvt
Definition: literal.h:201
satcheck_ipasirt::assumptions
bvt assumptions
Definition: satcheck_ipasir.h:54
satcheck_ipasirt::satcheck_ipasirt
satcheck_ipasirt(message_handlert &message_handler)
satcheck_ipasirt::solver_text
const std::string solver_text() override
This method returns the description produced by the linked SAT solver.
satcheck_ipasirt::has_is_in_conflict
bool has_is_in_conflict() const override final
Definition: satcheck_ipasir.h:44
cnf_solvert
Definition: cnf.h:72
satcheck_ipasirt::is_in_conflict
bool is_in_conflict(literalt a) const override
Returns true if an assumption is in the final conflict.
satcheck_ipasirt::l_get
tvt l_get(literalt a) const override final
This method returns the truth value for a literal of the current SAT model.
satcheck_ipasirt::has_set_assumptions
bool has_set_assumptions() const override final
Definition: satcheck_ipasir.h:40
satcheck_ipasirt::lcnf
void lcnf(const bvt &bv) override final
message_handlert
Definition: message.h:27
satcheck_ipasirt::~satcheck_ipasirt
virtual ~satcheck_ipasirt() override
tvt
Definition: threeval.h:19
satcheck_ipasirt::set_assumptions
void set_assumptions(const bvt &_assumptions) override
literalt
Definition: literal.h:25
hardness_collectort
Definition: hardness_collector.h:44
cnf.h
satcheck_ipasirt::do_prop_solve
resultt do_prop_solve() override
satcheck_ipasirt
Interface for generic SAT solver interface IPASIR.
Definition: satcheck_ipasir.h:20
satcheck_ipasirt::solver
void * solver
Definition: satcheck_ipasir.h:52