CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
qbf_squolem_core.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Squolem Backend (with Proofs)
4
5Author: CM Wintersteiger
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_SOLVERS_QBF_QBF_SQUOLEM_CORE_H
13#define CPROVER_SOLVERS_QBF_QBF_SQUOLEM_CORE_H
14
15#include <quannon/squolem2/squolem2.h>
16
17#include "qdimacs_core.h"
18
20{
21protected:
24
25public:
27 ~qbf_squolem_coret() override;
28
29 std::string solver_text() const override;
30 resultt prop_solve() override;
31
32 tvt l_get(literalt a) const override;
33 bool is_in_core(literalt l) const override;
34
35 void set_debug_filename(const std::string &str);
36
37 void lcnf(const bvt &bv) override;
38 void add_quantifier(const quantifiert &quantifier) override;
39 void set_quantifier(const quantifiert::typet type, const literalt l) override;
40 void set_no_variables(size_t no) override;
41 virtual size_t no_clauses() const { return squolem->clauses(); }
42
43 modeltypet m_get(literalt a) const override;
44
45 void write_qdimacs_cnf(std::ostream &out) override;
46
47 void reset(void);
48
49 const exprt f_get(literalt l) override;
50
51private:
52 typedef std::unordered_map<unsigned, exprt> function_cachet;
54
57
58 void setup(void);
59};
60
61#endif // CPROVER_SOLVERS_QBF_QBF_SQUOLEM_CORE_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
Base class for all expressions.
Definition expr.h:56
void set_quantifier(const quantifiert::typet type, const literalt l) override
void set_debug_filename(const std::string &str)
~qbf_squolem_coret() override
const exprt f_get_cnf(WitnessStack *wsp)
void set_no_variables(size_t no) override
void lcnf(const bvt &bv) override
std::unordered_map< unsigned, exprt > function_cachet
void write_qdimacs_cnf(std::ostream &out) override
const exprt f_get(literalt l) override
function_cachet function_cache
void add_quantifier(const quantifiert &quantifier) override
std::string solver_text() const override
bool is_in_core(literalt l) const override
const exprt f_get_dnf(WitnessStack *wsp)
resultt prop_solve() override
modeltypet m_get(literalt a) const override
tvt l_get(literalt a) const override
virtual size_t no_clauses() const
Definition threeval.h:20
std::vector< literalt > bvt
Definition literal.h:201
resultt
The result of goto verifying.
Definition properties.h:45