Skip to content

Commit 8999e1a

Browse files
committed
use standard name conventions and add file headers
Signed-off-by: Lev Nachmanson <[email protected]>
1 parent 33f0256 commit 8999e1a

6 files changed

+67
-48
lines changed

src/nlsat/nlsat_explain.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ Module Name:
88
Abstract:
99
1010
Functor that implements the "explain" procedure defined in Dejan and Leo's paper.
11-
11+
Uses paper Haokun Li and Bican Xia, "Solving Satisfiability of Polynomial Formulas By Sample - Cell Projection",https://arxiv.org/abs/2003.00409,
12+
and code from https://github.com/hybridSMT/hybridSMT.git
1213
Author:
1314
1415
Leonardo de Moura (leonardo) 2012-01-13.

src/nlsat/nlsat_simple_checker.cpp

+4-22
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,7 @@
11
#include "nlsat/nlsat_simple_checker.h"
22

3-
struct Debug_Tracer {
4-
std::string tag_str;
5-
Debug_Tracer(std::string _tag_str) {
6-
tag_str = _tag_str;
7-
TRACE("simple_checker",
8-
tout << "Debug_Tracer begin\n";
9-
tout << tag_str << "\n";
10-
);
11-
}
12-
~Debug_Tracer() {
13-
TRACE("simple_checker",
14-
tout << "Debug_Tracer end\n";
15-
tout << tag_str << "\n";
16-
);
17-
}
18-
};
19-
20-
213
namespace nlsat {
22-
struct Simple_Checker::imp {
4+
struct simple_checker::imp {
235
// solver &sol;
246
pmanager &pm;
257
anum_manager &am;
@@ -1569,13 +1551,13 @@ else { // ( == 0) + (c > 0) -> > 0
15691551
return true;
15701552
}
15711553
};
1572-
Simple_Checker::Simple_Checker(pmanager &_pm, anum_manager &_am, const clause_vector &_clauses, literal_vector &_learned_unit, const atom_vector &_atoms, const unsigned &_arith_var_num) {
1554+
simple_checker::simple_checker(pmanager &_pm, anum_manager &_am, const clause_vector &_clauses, literal_vector &_learned_unit, const atom_vector &_atoms, const unsigned &_arith_var_num) {
15731555
m_imp = alloc(imp, _pm, _am, _clauses, _learned_unit, _atoms, _arith_var_num);
15741556
}
1575-
Simple_Checker::~Simple_Checker() {
1557+
simple_checker::~simple_checker() {
15761558
dealloc(m_imp);
15771559
}
1578-
bool Simple_Checker::operator()() {
1560+
bool simple_checker::operator()() {
15791561
return m_imp->operator()();
15801562
}
15811563
}

src/nlsat/nlsat_simple_checker.h

+22-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,33 @@
1+
/*++
2+
Copyright (c) 2012 Microsoft Corporation
3+
4+
Module Name:
5+
6+
nlsat_simple_checker.cpp
7+
8+
Abstract:
9+
10+
Attempts to find a conflict by using simple polynomial forms.
11+
Author:
12+
13+
Mengyu Zhao (Linxi) and Shaowei Cai
14+
15+
Revision History:
16+
17+
--*/
18+
19+
#pragma once
120
#include "math/polynomial/algebraic_numbers.h"
221
#include "nlsat/nlsat_clause.h"
322

423

524
namespace nlsat {
6-
class Simple_Checker {
25+
class simple_checker {
726
struct imp;
827
imp * m_imp;
928
public:
10-
Simple_Checker(pmanager &_pm, anum_manager &_am, const clause_vector &_clauses, literal_vector &_learned_unit, const atom_vector &_atoms, const unsigned &_arith_var_num);
11-
~Simple_Checker();
29+
simple_checker(pmanager &_pm, anum_manager &_am, const clause_vector &_clauses, literal_vector &_learned_unit, const atom_vector &_atoms, const unsigned &_arith_var_num);
30+
~simple_checker();
1231
bool operator()();
1332
};
1433
}

src/nlsat/nlsat_solver.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1783,7 +1783,7 @@ namespace nlsat {
17831783
// test_anum();
17841784
literal_vector learned_unit;
17851785
// Simple_Checker checker(m_solver, m_pm, m_am, m_clauses, m_learned, m_atoms, m_is_int.size());
1786-
Simple_Checker checker(m_pm, m_am, m_clauses, learned_unit, m_atoms, m_is_int.size());
1786+
simple_checker checker(m_pm, m_am, m_clauses, learned_unit, m_atoms, m_is_int.size());
17871787
if (!checker())
17881788
return false;
17891789
for (unsigned i = 0, sz = learned_unit.size(); i < sz; ++i) {
@@ -1800,7 +1800,7 @@ namespace nlsat {
18001800
TRACE("reorder", tout << "runing vos: " << m_variable_ordering_strategy << '\n';);
18011801

18021802
unsigned num = num_vars();
1803-
VOS_Var_Info_Collector vos_collector(m_pm, m_atoms, num, m_variable_ordering_strategy);
1803+
vos_var_info_collector vos_collector(m_pm, m_atoms, num, m_variable_ordering_strategy);
18041804
vos_collector.collect(m_clauses);
18051805
vos_collector.collect(m_learned);
18061806

src/nlsat/nlsat_variable_ordering_strategy.cpp

+15-15
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "nlsat/nlsat_variable_ordering_strategy.h"
22

33
namespace nlsat {
4-
struct VOS_Var_Info_Collector::imp {
4+
struct vos_var_info_collector::imp {
55
pmanager & pm;
66
atom_vector const & m_atoms;
77
unsigned num_vars;
@@ -138,8 +138,8 @@ namespace nlsat {
138138

139139

140140
struct univariate_reorder_lt {
141-
VOS_Var_Info_Collector::imp const *m_info;
142-
univariate_reorder_lt(VOS_Var_Info_Collector::imp const *info):m_info(info) {}
141+
vos_var_info_collector::imp const *m_info;
142+
univariate_reorder_lt(vos_var_info_collector::imp const *info):m_info(info) {}
143143
bool operator()(var x, var y) const {
144144
if (m_info->m_num_uni[x] != m_info->m_num_uni[y])
145145
return m_info->m_num_uni[x] > m_info->m_num_uni[y];
@@ -148,8 +148,8 @@ namespace nlsat {
148148
};
149149

150150
struct feature_reorder_lt {
151-
VOS_Var_Info_Collector::imp const *m_info;
152-
feature_reorder_lt(VOS_Var_Info_Collector::imp const * info): m_info(info){}
151+
vos_var_info_collector::imp const *m_info;
152+
feature_reorder_lt(vos_var_info_collector::imp const * info): m_info(info){}
153153
bool operator()(var x, var y) const {
154154
if (m_info->m_max_degree[x] != m_info->m_max_degree[y])
155155
return m_info->m_max_degree[x] > m_info->m_max_degree[y];
@@ -162,8 +162,8 @@ namespace nlsat {
162162
}
163163
};
164164
struct brown_reorder_lt {
165-
VOS_Var_Info_Collector::imp const *m_info;
166-
brown_reorder_lt(VOS_Var_Info_Collector::imp const *info):m_info(info) {}
165+
vos_var_info_collector::imp const *m_info;
166+
brown_reorder_lt(vos_var_info_collector::imp const *info):m_info(info) {}
167167
bool operator()(var x, var y) const {
168168
// if (a.max_degree != b.max_degree)
169169
// return a.max_degree > b.max_degree;
@@ -180,8 +180,8 @@ namespace nlsat {
180180
}
181181
};
182182
struct triangular_reorder_lt {
183-
const VOS_Var_Info_Collector::imp *m_info;
184-
triangular_reorder_lt(VOS_Var_Info_Collector::imp const *info):m_info(info) {}
183+
const vos_var_info_collector::imp *m_info;
184+
triangular_reorder_lt(vos_var_info_collector::imp const *info):m_info(info) {}
185185
bool operator()(var x, var y) const {
186186
// if (a.max_degree != b.max_degree)
187187
// return a.max_degree > b.max_degree;
@@ -198,8 +198,8 @@ namespace nlsat {
198198
}
199199
};
200200
struct onlypoly_reorder_lt {
201-
const VOS_Var_Info_Collector::imp *m_info;
202-
onlypoly_reorder_lt(VOS_Var_Info_Collector::imp const *info):m_info(info) {}
201+
const vos_var_info_collector::imp *m_info;
202+
onlypoly_reorder_lt(vos_var_info_collector::imp const *info):m_info(info) {}
203203
bool operator()(var x, var y) const {
204204
// high degree first
205205
if (m_info->m_max_degree[x] != m_info->m_max_degree[y])
@@ -267,16 +267,16 @@ namespace nlsat {
267267
// return out;
268268
// }
269269
};
270-
VOS_Var_Info_Collector::VOS_Var_Info_Collector(pmanager & _pm, atom_vector const & _atoms, unsigned _num_vars, unsigned _vos_type) {
270+
vos_var_info_collector::vos_var_info_collector(pmanager & _pm, atom_vector const & _atoms, unsigned _num_vars, unsigned _vos_type) {
271271
m_imp = alloc(imp, _pm, _atoms, _num_vars, _vos_type);
272272
}
273-
VOS_Var_Info_Collector::~VOS_Var_Info_Collector() {
273+
vos_var_info_collector::~vos_var_info_collector() {
274274
dealloc(m_imp);
275275
}
276-
void VOS_Var_Info_Collector::collect(clause_vector const & cs) {
276+
void vos_var_info_collector::collect(clause_vector const & cs) {
277277
m_imp->collect(cs);
278278
}
279-
void VOS_Var_Info_Collector::operator()(var_vector &perm) {
279+
void vos_var_info_collector::operator()(var_vector &perm) {
280280
m_imp->operator()(perm);
281281
}
282282
}

src/nlsat/nlsat_variable_ordering_strategy.h

+22-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
/*++
2+
Copyright (c) 2024 Microsoft Corporation
3+
4+
Module Name:
5+
6+
nlsat_simple_checker.cpp
7+
8+
Abstract:
9+
10+
11+
Author:
12+
13+
Mengyu Zhao (Linxi) and Shaowei Cai, ported from https://github.com/hybridSMT/hybridSMT.git
14+
15+
Revision History:
16+
17+
--*/
18+
19+
#pragma once
120
#include "nlsat/nlsat_clause.h"
221

322

@@ -11,16 +30,14 @@ namespace nlsat {
1130
typedef polynomial::manager::numeral_vector numeral_vector;
1231

1332

14-
// enum Variable_Ordering_Strategy_Type {NONE = 0, BROWN, TRIANGULAR, ONLYPOLY};
15-
1633
enum Variable_Ordering_Strategy_Type {NONE = 0, BROWN, TRIANGULAR, ONLYPOLY, UNIVARIATE, FEATURE, ROOT};
1734

18-
class VOS_Var_Info_Collector {
35+
class vos_var_info_collector {
1936
struct imp;
2037
imp * m_imp;
2138
public:
22-
VOS_Var_Info_Collector(pmanager & _pm, atom_vector const & atoms, unsigned _num_vars, unsigned _vos_type);
23-
~VOS_Var_Info_Collector();
39+
vos_var_info_collector(pmanager & _pm, atom_vector const & atoms, unsigned _num_vars, unsigned _vos_type);
40+
~vos_var_info_collector();
2441
void operator()(var_vector &perm);
2542
void collect(clause_vector const & cs);
2643
};

0 commit comments

Comments
 (0)