3
0
Fork 0
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:
Jakob Rath 2022-08-01 11:27:49 +02:00
commit 220a63e8bd
223 changed files with 508 additions and 505 deletions

View file

@ -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;
};

View file

@ -17,6 +17,8 @@ Author:
Revision History:
--*/
#pragma once
#include "math/dd/dd_pdd.h"
namespace dd {

View file

@ -17,6 +17,8 @@ Author:
Revision History:
--*/
#pragma once
#include "math/dd/dd_pdd.h"
#include "math/interval/dep_intervals.h"

View file

@ -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) {

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include "util/vector.h"
#include "math/lp/binary_heap_priority_queue.h"
namespace lp {

View file

@ -17,6 +17,7 @@ Revision History:
--*/
#pragma once
#include <set>
#include "math/lp/lp_utils.h"

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <limits>
#include <string>
#include <algorithm>

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include "math/lp/lp_settings.h"
#ifdef Z3DEBUG
#include "util/vector.h"

View file

@ -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;
};
}

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include "util/vector.h"
#include "math/lp/indexed_vector.h"
#include "math/lp/lp_settings.h"

View file

@ -9,6 +9,8 @@ Revision History:
--*/
#pragma once
#include <string>
#include "util/vector.h"
#include "math/lp/lar_core_solver.h"

View file

@ -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(); }

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <set>
#include <string>
#include "util/vector.h"

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <algorithm>
#include <string>
#include "util/vector.h"

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include "math/lp/lp_dual_simplex.h"
namespace lp{

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <list>
#include "util/vector.h"
#include <fstream>

View file

@ -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 {

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <string>
#include "util/vector.h"
#include "math/lp/lp_primal_simplex.h"

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <cmath>
#include <string>
#include "util/vector.h"

View file

@ -149,7 +149,7 @@ public:
}
virtual ~lp_solver();
~lp_solver() override;
void flip_costs();

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <string>
#include <algorithm>
#include "util/vector.h"

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <string>
#include <algorithm>
#include <set>

View file

@ -17,6 +17,7 @@ Revision History:
--*/
#pragma once
#include <cmath>
#include <string>

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include "util/vector.h"
#include "math/lp/permutation_matrix.h"
namespace lp {

View file

@ -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"

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include "util/vector.h"
#include "math/lp/row_eta_matrix.h"
namespace lp {

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include <algorithm>
#include "math/lp/scaler.h"
#include "math/lp/numeric_pair.h"

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include "util/vector.h"
#include "math/lp/square_dense_submatrix.h"
namespace lp {

View file

@ -17,6 +17,7 @@ Revision History:
--*/
#pragma once
#include "util/vector.h"
#include "math/lp/square_sparse_matrix.h"

View file

@ -17,6 +17,8 @@ Revision History:
--*/
#pragma once
#include "util/vector.h"
#include <utility>
#include <set>

View file

@ -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 {

View file

@ -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"

View file

@ -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 {