cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
qbf_squolem_core.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Squolem Backend (with Proofs)
4
5
Author: 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
19
class
qbf_squolem_coret
:
public
qdimacs_coret
20
{
21
protected
:
22
Squolem2 *
squolem
;
23
bool
early_decision
;
24
25
public
:
26
qbf_squolem_coret
();
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
51
private
:
52
typedef
std::unordered_map<unsigned, exprt>
function_cachet
;
53
function_cachet
function_cache
;
54
55
const
exprt
f_get_cnf
(WitnessStack *wsp);
56
const
exprt
f_get_dnf
(WitnessStack *wsp);
57
58
void
setup
(
void
);
59
};
60
61
#endif
// CPROVER_SOLVERS_QBF_QBF_SQUOLEM_CORE_H
widen_modet::no
@ no
Definition
abstract_environment.h:32
exprt
Base class for all expressions.
Definition
expr.h:57
literalt
Definition
literal.h:26
qbf_squolem_coret::set_quantifier
void set_quantifier(const quantifiert::typet type, const literalt l) override
Definition
qbf_squolem_core.cpp:170
qbf_squolem_coret::set_debug_filename
void set_debug_filename(const std::string &str)
Definition
qbf_squolem_core.cpp:178
qbf_squolem_coret::qbf_squolem_coret
qbf_squolem_coret()
Definition
qbf_squolem_core.cpp:21
qbf_squolem_coret::~qbf_squolem_coret
~qbf_squolem_coret() override
Definition
qbf_squolem_core.cpp:55
qbf_squolem_coret::f_get_cnf
const exprt f_get_cnf(WitnessStack *wsp)
Definition
qbf_squolem_core.cpp:246
qbf_squolem_coret::setup
void setup(void)
Definition
qbf_squolem_core.cpp:26
qbf_squolem_coret::set_no_variables
void set_no_variables(size_t no) override
Definition
qbf_squolem_core.cpp:164
qbf_squolem_coret::lcnf
void lcnf(const bvt &bv) override
Definition
qbf_squolem_core.cpp:126
qbf_squolem_coret::function_cachet
std::unordered_map< unsigned, exprt > function_cachet
Definition
qbf_squolem_core.h:52
qbf_squolem_coret::write_qdimacs_cnf
void write_qdimacs_cnf(std::ostream &out) override
Definition
qbf_squolem_core.cpp:183
qbf_squolem_coret::f_get
const exprt f_get(literalt l) override
Definition
qbf_squolem_core.cpp:188
qbf_squolem_coret::function_cache
function_cachet function_cache
Definition
qbf_squolem_core.h:53
qbf_squolem_coret::add_quantifier
void add_quantifier(const quantifiert &quantifier) override
Definition
qbf_squolem_core.cpp:155
qbf_squolem_coret::solver_text
std::string solver_text() const override
Definition
qbf_squolem_core.cpp:77
qbf_squolem_coret::is_in_core
bool is_in_core(literalt l) const override
Definition
qbf_squolem_core.cpp:109
qbf_squolem_coret::f_get_dnf
const exprt f_get_dnf(WitnessStack *wsp)
Definition
qbf_squolem_core.cpp:288
qbf_squolem_coret::prop_solve
resultt prop_solve() override
Definition
qbf_squolem_core.cpp:82
qbf_squolem_coret::m_get
modeltypet m_get(literalt a) const override
Definition
qbf_squolem_core.cpp:114
qbf_squolem_coret::l_get
tvt l_get(literalt a) const override
Definition
qbf_squolem_core.cpp:62
qbf_squolem_coret::reset
void reset(void)
Definition
qbf_squolem_core.cpp:47
qbf_squolem_coret::squolem
Squolem2 * squolem
Definition
qbf_squolem_core.h:22
qbf_squolem_coret::early_decision
bool early_decision
Definition
qbf_squolem_core.h:23
qbf_squolem_coret::no_clauses
virtual size_t no_clauses() const
Definition
qbf_squolem_core.h:41
qdimacs_cnft::quantifiert
Definition
qdimacs_cnf.h:35
qdimacs_coret::qdimacs_coret
qdimacs_coret(message_handlert &message_handler)
Definition
qdimacs_core.h:22
qdimacs_coret::modeltypet
modeltypet
Definition
qdimacs_core.h:30
tvt
Definition
threeval.h:20
bvt
std::vector< literalt > bvt
Definition
literal.h:201
resultt
resultt
The result of goto verifying.
Definition
properties.h:45
qdimacs_core.h
solvers
qbf
qbf_squolem_core.h
Generated by
1.17.0