3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-08 00:41:56 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2025-09-22 10:55:08 +03:00
parent f5c28a0b76
commit fae67b79b7
2 changed files with 37 additions and 0 deletions

View file

@ -0,0 +1,22 @@
/*++
Copyright (c) 2025 Microsoft Corporation
given a monic m = x * y * z ... with evaluation val(m) != val(x) * val(y) * val(z) ...
saturate constraints with respect to m
in other words, if a constraint contains x*y + p >= 0,
then include the constraint z >= 0 => x*y*z + z*p >= 0
assuming current value of z is non-negative.
Check if the system with new constraints is LP feasible.
If it is not, then produce a lemma that explains the infeasibility.
--*/
#include "math/lp/nla_mul_saturate.h"
#include "math/lp/nla_core.h"
namespace nla {
mul_saturate::mul_saturate(core* core) : common(core) {}
}

View file

@ -0,0 +1,15 @@
/*++
Copyright (c) 2025 Microsoft Corporation
--*/
#pragma once
namespace nla {
class core;
class mul_saturate : common {
public:
mul_saturate(core* core);
};
}