3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-05 02:40:24 +00:00

working on conflict resolution

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-01-20 07:44:00 -08:00
parent 13099b1590
commit d68cb5aee7
2 changed files with 91 additions and 69 deletions

View file

@ -270,6 +270,15 @@ namespace smt {
}
};
struct card_reinit {
literal_vector m_lits;
card* m_card;
card_reinit(literal_vector const& lits, card* c):
m_lits(lits),
m_card(c)
{}
};
theory_pb_params m_params;
@ -293,6 +302,8 @@ namespace smt {
bool m_enable_compilation;
rational m_max_compiled_coeff;
bool m_card_reinit;
// internalize_atom:
literal compile_arg(expr* arg);
void init_watch(bool_var v);
@ -381,7 +392,8 @@ namespace smt {
int arg_max(uint_set& seen, int& coeff);
void reset_coeffs();
literal cardinality_reduction(card*& c);
literal cardinality_reduction(literal propagation_lit);
void add_cardinality_lemma();
bool resolve_conflict(card& c, literal_vector const& conflict_clause);
void process_antecedent(literal l, int offset);