3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-16 07:45:27 +00:00

add statistics to cubing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-12-01 10:13:54 -08:00
parent e0d28c67cd
commit c8e655830f
3 changed files with 20 additions and 3 deletions

View file

@ -167,13 +167,19 @@ namespace sat {
svector<bool> m_is_decision;
literal_vector m_cube;
double m_freevars_threshold;
unsigned m_conflicts;
unsigned m_cutoffs;
cube_state() { reset(); }
void reset() {
m_first = true;
m_is_decision.reset();
m_cube.reset();
m_freevars_threshold = 0;
m_freevars_threshold = 0;
reset_stats();
}
void reset_stats() { m_conflicts = 0; m_cutoffs = 0; }
void inc_conflict() { ++m_conflicts; }
void inc_cutoff() { ++m_cutoffs; }
};
config m_config;
@ -572,6 +578,8 @@ namespace sat {
lbool cube(bool_var_vector const& vars, literal_vector& lits, unsigned backtrack_level);
void update_cube_statistics(statistics& st);
literal select_lookahead(literal_vector const& assumptions, bool_var_vector const& vars);
/**
\brief simplify set of clauses by extracting units from a lookahead at base level.