cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
qdimacs_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_QDIMACS_CORE_H
11
#define CPROVER_SOLVERS_QBF_QDIMACS_CORE_H
12
13
#include <map>
14
15
#include <
util/expr.h
>
16
17
#include "
qdimacs_cnf.h
"
18
19
class
qdimacs_coret
:
public
qdimacs_cnft
20
{
21
public
:
22
explicit
qdimacs_coret
(
message_handlert
&message_handler)
23
:
qdimacs_cnft
(message_handler)
24
{
25
}
26
27
virtual
tvt
l_get
(
literalt
a)
const
=0;
28
virtual
bool
is_in_core
(
literalt
l)
const
=0;
29
30
enum
modeltypet
{
M_TRUE
,
M_FALSE
,
M_DONTCARE
,
M_COMPLEX
};
31
virtual
modeltypet
m_get
(
literalt
a)
const
=0;
32
33
typedef
std::pair<exprt, unsigned>
symbol_mapt
;
34
typedef
std::map<unsigned, symbol_mapt>
variable_mapt
;
35
variable_mapt
variable_map
;
// variable -> symbol/index map
36
virtual
const
exprt
f_get
(
literalt
v)=0;
37
38
void
simplify_extractbits
(
exprt
&expr)
const
;
39
};
40
41
#endif
// CPROVER_SOLVERS_QBF_QDIMACS_CORE_H
exprt
Base class for all expressions.
Definition
expr.h:57
literalt
Definition
literal.h:26
message_handlert
Definition
message.h:27
qdimacs_cnft::qdimacs_cnft
qdimacs_cnft(message_handlert &message_handler)
Definition
qdimacs_cnf.h:20
qdimacs_coret::qdimacs_coret
qdimacs_coret(message_handlert &message_handler)
Definition
qdimacs_core.h:22
qdimacs_coret::simplify_extractbits
void simplify_extractbits(exprt &expr) const
Definition
qdimacs_core.cpp:16
qdimacs_coret::l_get
virtual tvt l_get(literalt a) const =0
qdimacs_coret::modeltypet
modeltypet
Definition
qdimacs_core.h:30
qdimacs_coret::M_DONTCARE
@ M_DONTCARE
Definition
qdimacs_core.h:30
qdimacs_coret::M_COMPLEX
@ M_COMPLEX
Definition
qdimacs_core.h:30
qdimacs_coret::M_FALSE
@ M_FALSE
Definition
qdimacs_core.h:30
qdimacs_coret::M_TRUE
@ M_TRUE
Definition
qdimacs_core.h:30
qdimacs_coret::variable_mapt
std::map< unsigned, symbol_mapt > variable_mapt
Definition
qdimacs_core.h:34
qdimacs_coret::m_get
virtual modeltypet m_get(literalt a) const =0
qdimacs_coret::f_get
virtual const exprt f_get(literalt v)=0
qdimacs_coret::is_in_core
virtual bool is_in_core(literalt l) const =0
qdimacs_coret::variable_map
variable_mapt variable_map
Definition
qdimacs_core.h:35
qdimacs_coret::symbol_mapt
std::pair< exprt, unsigned > symbol_mapt
Definition
qdimacs_core.h:33
tvt
Definition
threeval.h:20
expr.h
qdimacs_cnf.h
solvers
qbf
qdimacs_core.h
Generated by
1.17.0