CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
qdimacs_core.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module:
4
5Author: 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
20{
21public:
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
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
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
qdimacs_coret(message_handlert &message_handler)
void simplify_extractbits(exprt &expr) const
virtual tvt l_get(literalt a) const =0
std::map< unsigned, symbol_mapt > variable_mapt
virtual modeltypet m_get(literalt a) const =0
virtual const exprt f_get(literalt v)=0
virtual bool is_in_core(literalt l) const =0
variable_mapt variable_map
std::pair< exprt, unsigned > symbol_mapt
Definition threeval.h:20