3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-11 13:40:52 +00:00

port to emonomials (#90)

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-04-18 13:17:24 -07:00 committed by Lev Nachmanson
parent b52e79b648
commit e28e83a25e
20 changed files with 666 additions and 683 deletions

View file

@ -24,7 +24,7 @@
#include "util/lp/nla_common.h"
namespace nla {
struct core;
class core;
struct tangents: common {
struct point {
rational x;
@ -47,13 +47,13 @@ struct tangents: common {
tangents(core *core);
void generate_simple_tangent_lemma(const rooted_mon* rm);
void generate_simple_tangent_lemma(const signed_vars* rm);
void tangent_lemma();
void generate_explanations_of_tang_lemma(const rooted_mon& rm, const bfc& bf, lp::explanation& exp);
void generate_explanations_of_tang_lemma(const signed_vars& rm, const bfc& bf, lp::explanation& exp);
void tangent_lemma_bf(const bfc& bf, lpvar j, const rational& sign, const rooted_mon* rm);
void tangent_lemma_bf(const bfc& bf, lpvar j, const rational& sign, const signed_vars* rm);
void generate_tang_plane(const rational & a, const rational& b, const factor& x, const factor& y, bool below, lpvar j, const rational& j_sign);
void generate_two_tang_lines(const bfc & bf, const point& xy, const rational& sign, lpvar j);
@ -76,6 +76,6 @@ struct tangents: common {
const rational & val,
bool below) const;
template <typename T> rational vvr(T const& t) const;
template <typename T> lpvar var(T const& t) const;
template <typename T> lpvar var(T const& t) const { return t.var(); }
}; // end of tangents
}