mirror of
https://github.com/Z3Prover/z3
synced 2025-04-14 04:48:45 +00:00
add cut redundancies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ff3baffadc
commit
05158b3914
|
@ -111,6 +111,7 @@ namespace sat {
|
|||
m_cut_xor = p.cut_xor();
|
||||
m_cut_npn3 = p.cut_npn3();
|
||||
m_cut_dont_cares = p.cut_dont_cares();
|
||||
m_cut_redundancies = p.cut_redundancies();
|
||||
m_cut_force = p.cut_force();
|
||||
m_lookahead_simplify = p.lookahead_simplify();
|
||||
m_lookahead_double = p.lookahead_double();
|
||||
|
|
|
@ -128,6 +128,7 @@ namespace sat {
|
|||
bool m_cut_xor;
|
||||
bool m_cut_npn3;
|
||||
bool m_cut_dont_cares;
|
||||
bool m_cut_redundancies;
|
||||
bool m_cut_force;
|
||||
bool m_anf_simplify;
|
||||
unsigned m_anf_delay;
|
||||
|
|
|
@ -599,12 +599,14 @@ namespace sat {
|
|||
}
|
||||
|
||||
void cut_simplifier::add_dont_cares(vector<cut_set> const& cuts) {
|
||||
if (!s.m_config.m_cut_dont_cares)
|
||||
return;
|
||||
cuts2bins(cuts);
|
||||
bins2dont_cares();
|
||||
dont_cares2cuts(cuts);
|
||||
// m_aig_cuts.simplify();
|
||||
if (s.m_config.m_cut_dont_cares) {
|
||||
cuts2bins(cuts);
|
||||
bins2dont_cares();
|
||||
dont_cares2cuts(cuts);
|
||||
}
|
||||
if (s.m_config.m_cut_redundancies) {
|
||||
m_aig_cuts.simplify();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -81,6 +81,7 @@ def_module_params('sat',
|
|||
('cut.xor', BOOL, False, 'extract xors from clauses for cut simplification'),
|
||||
('cut.npn3', BOOL, False, 'extract 3 input functions from clauses for cut simplification'),
|
||||
('cut.dont_cares', BOOL, True, 'integrate dont cares with cuts'),
|
||||
('cut.redundancies', BOOL, True, 'integrate redundancy checking of cuts'),
|
||||
('cut.force', BOOL, False, 'force redoing cut-enumeration until a fixed-point'),
|
||||
('lookahead.cube.cutoff', SYMBOL, 'depth', 'cutoff type used to create lookahead cubes: depth, freevars, psat, adaptive_freevars, adaptive_psat'),
|
||||
# - depth: the maximal cutoff is fixed to the value of lookahead.cube.depth.
|
||||
|
|
Loading…
Reference in a new issue