1#ifndef _lidruptracer_h_INCLUDED
2#define _lidruptracer_h_INCLUDED
30 uint64_t size_clauses;
39 static const unsigned num_nonces = 4;
41 uint64_t nonces[num_nonces];
45 uint64_t compute_hash (int64_t);
50 static uint64_t reduce_hash (uint64_t hash, uint64_t size);
52 void enlarge_clauses ();
55 find_and_delete (
const int64_t);
58 int64_t added, deleted, weakened, restore, original, solved, batched;
61 void flush_if_piping ();
63 void put_binary_zero ();
64 void put_binary_lit (
int external_lit);
65 void put_binary_id (int64_t
id,
bool =
true);
69 void lidrup_delete_clause (int64_t
id);
71 lidrup_add_restored_clause (int64_t
id);
74 void lidrup_report_status (
int status);
75 void lidrup_conclude_sat (
const vector<int> &model);
76 void lidrup_conclude_unknown (
const vector<int> &trail);
77 void lidrup_solve_query ();
78 void lidrup_batch_weaken_restore_and_delete ();
90 void delete_clause (int64_t,
bool,
const vector<int> &)
override;
92 bool =
false)
override;
112 void print_statistics ();
115 void close (
bool)
override;
116 void flush (
bool)
override;
#define ABC_NAMESPACE_CXX_HEADER_START
#define ABC_NAMESPACE_CXX_HEADER_END
void conclude_sat(const vector< int > &) override
void solve_query() override
void flush(bool) override
void conclude_unsat(ConclusionType, const vector< int64_t > &) override
void conclude_unknown(const vector< int > &) override
void add_derived_clause(int64_t, bool, const vector< int > &, const vector< int64_t > &) override
void finalize_clause(int64_t, const vector< int > &) override
void close(bool) override
void add_constraint(const vector< int > &) override
void strengthen(int64_t) override
void connect_internal(Internal *i) override
LidrupTracer(Internal *, File *file, bool)
void reset_assumptions() override
void report_status(int, int64_t) override
void begin_proof(int64_t) override
void add_assumption(int) override
void add_original_clause(int64_t, bool, const vector< int > &, bool=false) override
void add_assumption_clause(int64_t, const vector< int > &, const vector< int64_t > &) override
void weaken_minus(int64_t, const vector< int > &) override
std::vector< int > literals
std::vector< int64_t > chain