mirror of
https://github.com/Z3Prover/z3
synced 2025-05-04 06:15:46 +00:00
start porting grobner basis functionality
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
d0d7813b9b
commit
490672a5ba
11 changed files with 93 additions and 47 deletions
|
@ -127,10 +127,48 @@ void nla_grobner::init() {
|
|||
find_nl_cluster();
|
||||
}
|
||||
|
||||
void nla_grobner::grobner_lemmas() {
|
||||
c().lp_settings().st().m_grobner_calls++;
|
||||
init();
|
||||
void nla_grobner::compute_basis(){
|
||||
compute_basis_init();
|
||||
if (!compute_basis_loop()) {
|
||||
set_gb_exhausted();
|
||||
}
|
||||
}
|
||||
void nla_grobner::compute_basis_init(){
|
||||
c().lp_settings().stats().m_grobner_basis_computatins++;
|
||||
m_num_new_equations = 0;
|
||||
|
||||
}
|
||||
|
||||
bool nla_grobner::compute_basis_loop(){
|
||||
SASSERT(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
void nla_grobner::set_gb_exhausted(){ SASSERT(false); }
|
||||
|
||||
void nla_grobner::update_statistics(){
|
||||
SASSERT(false);
|
||||
}
|
||||
|
||||
bool nla_grobner::find_conflict(){ SASSERT(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool nla_grobner::push_calculation_forward(){ SASSERT(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
void nla_grobner::grobner_lemmas() {
|
||||
c().lp_settings().stats().m_grobner_calls++;
|
||||
init();
|
||||
do {
|
||||
TRACE("nla_gb", tout << "before:\n"; display(tout););
|
||||
compute_basis();
|
||||
update_statistics();
|
||||
TRACE("nla_gb", tout << "after:\n"; display(tout););
|
||||
if (find_conflict())
|
||||
return;
|
||||
}
|
||||
while(push_calculation_forward());
|
||||
}
|
||||
} // end of nla namespace
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue