ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
elim.hpp
Go to the documentation of this file.
1#ifndef _elim_hpp_INCLUDED
2#define _elim_hpp_INCLUDED
3
4#include "global.h"
5
6#include "heap.hpp" // Alphabetically after 'elim.hpp'.
7
9
10namespace CaDiCaL {
11
12struct Internal;
13
14struct elim_more {
17 bool operator() (unsigned a, unsigned b);
18};
19
21
23 int64_t id;
25 // for lrat
26 unsigned cid; // cadical_kitten id
27 bool learned;
29};
30
31enum GateType { NO = 0, EQUI = 1, AND = 2, ITE = 3, XOR = 4, DEF = 5 };
32
54
55} // namespace CaDiCaL
56
58
59#endif
#define ABC_NAMESPACE_CXX_HEADER_START
#define ABC_NAMESPACE_CXX_HEADER_END
heap< elim_more > ElimSchedule
Definition elim.hpp:20
GateType
Definition elim.hpp:31
@ DEF
Definition elim.hpp:31
@ NO
Definition elim.hpp:31
@ EQUI
Definition elim.hpp:31
@ ITE
Definition elim.hpp:31
@ AND
Definition elim.hpp:31
@ XOR
Definition elim.hpp:31
vector< int > marked
Definition elim.hpp:51
vector< proof_clause > proof_clauses
Definition elim.hpp:50
unsigned definition_unit
Definition elim.hpp:49
Eliminator(Internal *i)
Definition elim.hpp:38
Internal * internal
Definition elim.hpp:35
ElimSchedule schedule
Definition elim.hpp:36
vector< Clause * > gates
Definition elim.hpp:48
queue< Clause * > backward
Definition elim.hpp:43
GateType gatetype
Definition elim.hpp:52
Internal * internal
Definition elim.hpp:15
elim_more(Internal *i)
Definition elim.hpp:16
bool operator()(unsigned a, unsigned b)
vector< int64_t > chain
Definition elim.hpp:28
vector< int > literals
Definition elim.hpp:24
Definition queue.h:20