3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-26 13:06:05 +00:00

side lemmas

This commit is contained in:
Jakob Rath 2022-10-07 10:18:29 +02:00
parent bef1be8cb5
commit 155b746e03
2 changed files with 40 additions and 3 deletions

View file

@ -71,7 +71,7 @@ Lemma: y < z or xz <= xy or O(x,y)
#include "math/polysat/types.h"
#include "math/polysat/constraint.h"
#include "math/polysat/inference_logger.h"
#include <optional>
#include <initializer_list>
namespace polysat {
@ -119,6 +119,12 @@ namespace polysat {
void set_impl(signed_constraint c);
bool minimize_vars(signed_constraint c);
void set_side_lemma(signed_constraint c, clause_ref lemma) { SASSERT(c); set_side_lemma(c.blit(), std::move(lemma)); }
void set_side_lemma(sat::literal lit, clause_ref lemma);
/** Store relevant side lemmas */
void learn_side_lemmas();
public:
conflict(solver& s);
~conflict();
@ -228,7 +234,7 @@ namespace polysat {
public:
using value_type = signed_constraint;
using difference_type = unsigned;
using difference_type = std::ptrdiff_t;
using pointer = signed_constraint const*;
using reference = signed_constraint const&;
using iterator_category = std::input_iterator_tag;