3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-14 06:45:25 +00:00

Propagate value assignments discovered by the slicing e-graph

This commit is contained in:
Jakob Rath 2023-08-07 15:19:39 +02:00
parent 3fe591e5bb
commit aa81f6c9fb
11 changed files with 136 additions and 43 deletions

View file

@ -313,6 +313,9 @@ namespace polysat {
/** Extract conflict clause */
clause_ref build_conflict_clause();
/** Explain why slicing has propagated the value assignment for v */
void explain_value(pvar v, std::function<void(sat::literal)> const& on_lit, std::function<void(pvar)> const& on_var);
/** For a given variable v, find the set of variables w such that w = v[|w|:0]. */
void collect_simple_overlaps(pvar v, pvar_vector& out);