3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-21 06:40:31 +00:00

more scaffolding

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-08-13 13:34:42 -07:00
parent b15162d7ef
commit 1df11c7e4c
3 changed files with 48 additions and 60 deletions

View file

@ -3,24 +3,22 @@
namespace nlsat {
class assignment; // forward declared in nlsat_types.h
class assignment; // forward declared in nlsat_types.h
struct symbolic_interval {};
// Levelwise driver (PIMPL). Orchestrates property-based projection/proof.
class levelwise {
struct impl;
impl* m_impl;
public:
// Construct with polynomials ps, maximal variable max_x, and current sample s (assignment of vars < max_x)
levelwise(polynomial_ref_vector const& ps, var max_x, assignment const& s);
~levelwise();
class levelwise {
struct impl;
impl* m_impl;
public:
// Construct with polynomials ps, maximal variable max_x, and current sample s (assignment of vars < max_x)
levelwise(polynomial_ref_vector const& ps, var max_x, assignment const& s);
~levelwise();
levelwise(levelwise const&) = delete;
levelwise& operator=(levelwise const&) = delete;
levelwise(levelwise&&) noexcept;
levelwise& operator=(levelwise&&) noexcept;
};
levelwise(levelwise const&) = delete;
levelwise& operator=(levelwise const&) = delete;
std::vector<symbolic_interval> single_cell();
};
// Convenience free-function driver prototype
polynomial_ref_vector levelwise_project(polynomial_ref_vector& ps, var max_x, assignment const& s);
//
} // namespace nlsat