3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05:51 +00:00

start porting grobner basis functionality

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-09-04 18:33:54 -07:00
parent bfcfc517fe
commit 06dbc623c7
8 changed files with 170 additions and 7 deletions

38
src/math/lp/nla_grobner.h Normal file
View file

@ -0,0 +1,38 @@
/*++
Copyright (c) 2017 Microsoft Corporation
Module Name:
<name>
Abstract:
<abstract>
Author:
Nikolaj Bjorner (nbjorner)
Lev Nachmanson (levnach)
Revision History:
--*/
#pragma once
#include "math/lp/nla_common.h"
#include "math/lp/nex.h"
namespace nla {
class core;
class nla_grobner : common {
lp::int_set m_rows;
lp::int_set m_active_vars;
public:
nla_grobner(core *core);
void grobner_lemmas();
private:
void find_rows();
void prepare_rows_and_active_vars();
void add_var_and_its_factors_to_q_and_collect_new_rows(lpvar j, std::queue<lpvar>& q);
}; // end of grobner
}