mirror of
https://github.com/Z3Prover/z3
synced 2025-04-27 19:05:51 +00:00
Merge branch 'master' into polysat
This commit is contained in:
commit
220a63e8bd
223 changed files with 508 additions and 505 deletions
|
@ -38,7 +38,6 @@ public:
|
|||
template<class T>
|
||||
class boolean_algebra : public positive_boolean_algebra<T> {
|
||||
public:
|
||||
~boolean_algebra() override {}
|
||||
virtual T mk_not(T x) = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "math/dd/dd_pdd.h"
|
||||
|
||||
namespace dd {
|
||||
|
|
|
@ -17,6 +17,8 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "math/dd/dd_pdd.h"
|
||||
#include "math/interval/dep_intervals.h"
|
||||
|
||||
|
|
|
@ -80,7 +80,6 @@ class heap_trie {
|
|||
Value m_value;
|
||||
public:
|
||||
leaf(): node(leaf_t) {}
|
||||
~leaf() override {}
|
||||
Value const& get_value() const { return m_value; }
|
||||
void set_value(Value const& v) { m_value = v; }
|
||||
void display(std::ostream& out, unsigned indent) const override {
|
||||
|
@ -98,9 +97,6 @@ class heap_trie {
|
|||
public:
|
||||
trie(): node(trie_t) {}
|
||||
|
||||
~trie() override {
|
||||
}
|
||||
|
||||
node* find_or_insert(Key k, node* n) {
|
||||
for (unsigned i = 0; i < m_nodes.size(); ++i) {
|
||||
if (m_nodes[i].first == k) {
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "util/vector.h"
|
||||
#include "math/lp/binary_heap_priority_queue.h"
|
||||
namespace lp {
|
||||
|
|
|
@ -17,6 +17,7 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <set>
|
||||
#include "math/lp/lp_utils.h"
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <limits>
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "math/lp/lp_settings.h"
|
||||
#ifdef Z3DEBUG
|
||||
#include "util/vector.h"
|
||||
|
|
|
@ -28,8 +28,8 @@ namespace nla {
|
|||
const monic& m_rm;
|
||||
|
||||
factorization_factory_imp(const monic& rm, const core& s);
|
||||
bool find_canonical_monic_of_vars(const svector<lpvar>& vars, unsigned & i) const;
|
||||
virtual bool canonize_sign(const monic& m) const;
|
||||
virtual bool canonize_sign(const factorization& m) const;
|
||||
bool find_canonical_monic_of_vars(const svector<lpvar>& vars, unsigned & i) const override;
|
||||
bool canonize_sign(const monic& m) const override;
|
||||
bool canonize_sign(const factorization& m) const override;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "util/vector.h"
|
||||
#include "math/lp/indexed_vector.h"
|
||||
#include "math/lp/lp_settings.h"
|
||||
|
|
|
@ -9,6 +9,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include "util/vector.h"
|
||||
#include "math/lp/lar_core_solver.h"
|
||||
|
|
|
@ -543,7 +543,7 @@ public:
|
|||
void get_model(std::unordered_map<var_index, mpq> & variable_values) const;
|
||||
void get_rid_of_inf_eps();
|
||||
void get_model_do_not_care_about_diff_vars(std::unordered_map<var_index, mpq> & variable_values) const;
|
||||
std::string get_variable_name(var_index vi) const;
|
||||
std::string get_variable_name(var_index vi) const override;
|
||||
void set_variable_name(var_index vi, std::string);
|
||||
inline unsigned number_of_vars() const { return m_var_register.size(); }
|
||||
inline bool is_base(unsigned j) const { return m_mpq_lar_core_solver.m_r_heading[j] >= 0; }
|
||||
|
@ -651,7 +651,7 @@ public:
|
|||
lar_solver();
|
||||
void set_track_pivoted_rows(bool v);
|
||||
bool get_track_pivoted_rows() const;
|
||||
virtual ~lar_solver();
|
||||
~lar_solver() override;
|
||||
const vector<impq>& r_x() const { return m_mpq_lar_core_solver.m_r_x; }
|
||||
bool column_is_int(unsigned j) const;
|
||||
inline bool column_value_is_int(unsigned j) const { return m_mpq_lar_core_solver.m_r_x[j].is_int(); }
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include "util/vector.h"
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
#include "util/vector.h"
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "math/lp/lp_dual_simplex.h"
|
||||
namespace lp{
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <list>
|
||||
#include "util/vector.h"
|
||||
#include <fstream>
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
// this is a part of lp_primal_core_solver that deals with the tableau
|
||||
#include "math/lp/lp_primal_core_solver.h"
|
||||
namespace lp {
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include "util/vector.h"
|
||||
#include "math/lp/lp_primal_simplex.h"
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <cmath>
|
||||
#include <string>
|
||||
#include "util/vector.h"
|
||||
|
|
|
@ -149,7 +149,7 @@ public:
|
|||
}
|
||||
|
||||
|
||||
virtual ~lp_solver();
|
||||
~lp_solver() override;
|
||||
|
||||
void flip_costs();
|
||||
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
#include "util/vector.h"
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
#include <set>
|
||||
|
|
|
@ -17,6 +17,7 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <cmath>
|
||||
#include <string>
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "util/vector.h"
|
||||
#include "math/lp/permutation_matrix.h"
|
||||
namespace lp {
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "math/lp/random_updater.h"
|
||||
#include "math/lp/static_matrix.h"
|
||||
#include "math/lp/lar_solver.h"
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "util/vector.h"
|
||||
#include "math/lp/row_eta_matrix.h"
|
||||
namespace lp {
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include <algorithm>
|
||||
#include "math/lp/scaler.h"
|
||||
#include "math/lp/numeric_pair.h"
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "util/vector.h"
|
||||
#include "math/lp/square_dense_submatrix.h"
|
||||
namespace lp {
|
||||
|
|
|
@ -17,6 +17,7 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "util/vector.h"
|
||||
#include "math/lp/square_sparse_matrix.h"
|
||||
|
|
|
@ -17,6 +17,8 @@ Revision History:
|
|||
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "util/vector.h"
|
||||
#include <utility>
|
||||
#include <set>
|
||||
|
|
|
@ -38,7 +38,6 @@ namespace subpaving {
|
|||
CTX m_ctx;
|
||||
public:
|
||||
context_wrapper(reslimit& lim, typename CTX::numeral_manager & m, params_ref const & p, small_object_allocator * a):m_ctx(lim, m, p, a) {}
|
||||
~context_wrapper() override {}
|
||||
unsigned num_vars() const override { return m_ctx.num_vars(); }
|
||||
var mk_var(bool is_int) override { return m_ctx.mk_var(is_int); }
|
||||
bool is_int(var x) const override { return m_ctx.is_int(x); }
|
||||
|
@ -66,8 +65,6 @@ namespace subpaving {
|
|||
m_as(m)
|
||||
{}
|
||||
|
||||
~context_mpq_wrapper() override {}
|
||||
|
||||
unsynch_mpq_manager & qm() const override { return m_ctx.nm(); }
|
||||
|
||||
var mk_sum(mpz const & c, unsigned sz, mpz const * as, var const * xs) override {
|
||||
|
@ -108,8 +105,6 @@ namespace subpaving {
|
|||
m_q2(m_qm) {
|
||||
}
|
||||
|
||||
~context_mpf_wrapper() override {}
|
||||
|
||||
unsynch_mpq_manager & qm() const override { return m_qm; }
|
||||
|
||||
var mk_sum(mpz const & c, unsigned sz, mpz const * as, var const * xs) override {
|
||||
|
@ -165,8 +160,6 @@ namespace subpaving {
|
|||
m_qm(qm) {
|
||||
}
|
||||
|
||||
~context_hwf_wrapper() override {}
|
||||
|
||||
unsynch_mpq_manager & qm() const override { return m_qm; }
|
||||
|
||||
var mk_sum(mpz const & c, unsigned sz, mpz const * as, var const * xs) override {
|
||||
|
@ -223,8 +216,6 @@ namespace subpaving {
|
|||
m_z2(m_qm) {
|
||||
}
|
||||
|
||||
~context_fpoint_wrapper() override {}
|
||||
|
||||
unsynch_mpq_manager & qm() const override { return m_qm; }
|
||||
|
||||
var mk_sum(mpz const & c, unsigned sz, mpz const * as, var const * xs) override {
|
||||
|
|
|
@ -16,6 +16,8 @@ Author:
|
|||
Revision History:
|
||||
|
||||
--*/
|
||||
#pragma once
|
||||
|
||||
#include "math/subpaving/subpaving_t.h"
|
||||
#include "math/interval/interval_def.h"
|
||||
#include "util/buffer.h"
|
||||
|
|
|
@ -37,8 +37,6 @@ class subpaving_tactic : public tactic {
|
|||
e2v.mk_inv(m_inv);
|
||||
}
|
||||
|
||||
virtual ~display_var_proc() {}
|
||||
|
||||
ast_manager & m() const { return m_inv.get_manager(); }
|
||||
|
||||
void operator()(std::ostream & out, subpaving::var x) const override {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue