cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
qbf_bdd_core.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module:
4
5
Author: CM Wintersteiger
6
7
\*******************************************************************/
8
9
10
#ifndef CPROVER_SOLVERS_QBF_QBF_BDD_CORE_H
11
#define CPROVER_SOLVERS_QBF_QBF_BDD_CORE_H
12
13
#include <vector>
14
15
16
#include "
qdimacs_core.h
"
17
18
class
Cudd;
// NOLINT(*)
19
class
BDD;
// NOLINT(*)
20
21
class
qbf_bdd_certificatet
:
public
qdimacs_coret
22
{
23
protected
:
24
Cudd *
bdd_manager
;
25
26
typedef
std::vector<BDD*>
model_bddst
;
27
model_bddst
model_bdds
;
28
29
typedef
std::unordered_map<unsigned, exprt>
function_cachet
;
30
function_cachet
function_cache
;
31
32
public
:
33
qbf_bdd_certificatet
(
void
);
34
~qbf_bdd_certificatet
(
void
)
override
;
35
36
literalt
new_variable
(
void
)
override
;
37
38
tvt
l_get
(
literalt
a)
const override
;
39
const
exprt
f_get
(
literalt
l)
override
;
40
};
41
42
43
class
qbf_bdd_coret
:
public
qbf_bdd_certificatet
44
{
45
private
:
46
typedef
std::vector<BDD*>
bdd_variable_mapt
;
47
bdd_variable_mapt
bdd_variable_map
;
48
49
BDD *
matrix
;
50
51
public
:
52
qbf_bdd_coret
();
53
~qbf_bdd_coret
()
override
;
54
55
literalt
new_variable
()
override
;
56
57
void
lcnf
(
const
bvt
&bv)
override
;
58
literalt
lor
(
literalt
a,
literalt
b)
override
;
59
literalt
lor
(
const
bvt
&bv)
override
;
60
61
std::string
solver_text
()
const override
;
62
resultt
prop_solve
()
override
;
63
tvt
l_get
(
literalt
a)
const override
;
64
65
bool
is_in_core
(
literalt
l)
const override
;
66
modeltypet
m_get
(
literalt
a)
const override
;
67
68
protected
:
69
void
compress_certificate
(
void
);
70
};
71
72
#endif
// CPROVER_SOLVERS_QBF_QBF_BDD_CORE_H
exprt
Base class for all expressions.
Definition
expr.h:57
literalt
Definition
literal.h:26
qbf_bdd_certificatet::model_bddst
std::vector< BDD * > model_bddst
Definition
qbf_bdd_core.h:26
qbf_bdd_certificatet::function_cachet
std::unordered_map< unsigned, exprt > function_cachet
Definition
qbf_bdd_core.h:29
qbf_bdd_certificatet::l_get
tvt l_get(literalt a) const override
Definition
qbf_bdd_core.cpp:388
qbf_bdd_certificatet::model_bdds
model_bddst model_bdds
Definition
qbf_bdd_core.h:27
qbf_bdd_certificatet::bdd_manager
Cudd * bdd_manager
Definition
qbf_bdd_core.h:24
qbf_bdd_certificatet::f_get
const exprt f_get(literalt l) override
Definition
qbf_bdd_core.cpp:268
qbf_bdd_certificatet::~qbf_bdd_certificatet
~qbf_bdd_certificatet(void) override
Definition
qbf_bdd_core.cpp:36
qbf_bdd_certificatet::qbf_bdd_certificatet
qbf_bdd_certificatet(void)
Definition
qbf_bdd_core.cpp:31
qbf_bdd_certificatet::function_cache
function_cachet function_cache
Definition
qbf_bdd_core.h:30
qbf_bdd_certificatet::new_variable
literalt new_variable(void) override
Generate a new variable and return it as a literal.
Definition
qbf_bdd_core.cpp:49
qbf_bdd_coret::new_variable
literalt new_variable() override
Generate a new variable and return it as a literal.
Definition
qbf_bdd_core.cpp:162
qbf_bdd_coret::lcnf
void lcnf(const bvt &bv) override
Definition
qbf_bdd_core.cpp:174
qbf_bdd_coret::is_in_core
bool is_in_core(literalt l) const override
Definition
qbf_bdd_core.cpp:152
qbf_bdd_coret::prop_solve
resultt prop_solve() override
Definition
qbf_bdd_core.cpp:91
qbf_bdd_coret::qbf_bdd_coret
qbf_bdd_coret()
Definition
qbf_bdd_core.cpp:59
qbf_bdd_coret::~qbf_bdd_coret
~qbf_bdd_coret() override
Definition
qbf_bdd_core.cpp:65
qbf_bdd_coret::l_get
tvt l_get(literalt a) const override
Definition
qbf_bdd_core.cpp:81
qbf_bdd_coret::bdd_variable_map
bdd_variable_mapt bdd_variable_map
Definition
qbf_bdd_core.h:47
qbf_bdd_coret::m_get
modeltypet m_get(literalt a) const override
Definition
qbf_bdd_core.cpp:157
qbf_bdd_coret::solver_text
std::string solver_text() const override
Definition
qbf_bdd_core.cpp:86
qbf_bdd_coret::lor
literalt lor(literalt a, literalt b) override
Definition
qbf_bdd_core.cpp:196
qbf_bdd_coret::bdd_variable_mapt
std::vector< BDD * > bdd_variable_mapt
Definition
qbf_bdd_core.h:46
qbf_bdd_coret::matrix
BDD * matrix
Definition
qbf_bdd_core.h:49
qbf_bdd_coret::compress_certificate
void compress_certificate(void)
Definition
qbf_bdd_core.cpp:240
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_bdd_core.h
Generated by
1.17.0