mirror of
https://github.com/Z3Prover/z3
synced 2025-06-20 12:53:38 +00:00
Fix typos.
This commit is contained in:
parent
08165f5367
commit
1d9345c3de
13 changed files with 19 additions and 19 deletions
|
@ -448,7 +448,7 @@ public:
|
||||||
info() {}
|
info() {}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Used for constructing either an invalid info that is only used to indicate uninitialzed entry, or valid but unknown info value.
|
Used for constructing either an invalid info that is only used to indicate uninitialized entry, or valid but unknown info value.
|
||||||
*/
|
*/
|
||||||
info(lbool is_known) : known(is_known) {}
|
info(lbool is_known) : known(is_known) {}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
Extended Linear Simplification (as exploited in Bosphorus AAAI 2019):
|
Extended Linear Simplification (as exploited in Bosphorus AAAI 2019):
|
||||||
- multiply each polynomial by one variable from their orbits.
|
- multiply each polynomial by one variable from their orbits.
|
||||||
- The orbit of a varible are the variables that occur in the same monomial as it in some polynomial.
|
- The orbit of a variable are the variables that occur in the same monomial as it in some polynomial.
|
||||||
- The extended set of polynomials is fed to a linear Gauss Jordan Eliminator that extracts
|
- The extended set of polynomials is fed to a linear Gauss Jordan Eliminator that extracts
|
||||||
additional linear equalities.
|
additional linear equalities.
|
||||||
- Bosphorus uses M4RI to perform efficient GJE to scale on large bit-matrices.
|
- Bosphorus uses M4RI to perform efficient GJE to scale on large bit-matrices.
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
The method seems rather specific to hardware multipliers so not clear it is useful to
|
The method seems rather specific to hardware multipliers so not clear it is useful to
|
||||||
generalize.
|
generalize.
|
||||||
- find monomials that contain pairs of vanishing polynomials, transitively
|
- find monomials that contain pairs of vanishing polynomials, transitively
|
||||||
withtout actually inlining.
|
without actually inlining.
|
||||||
Then color polynomial variables w by p, resp, q if they occur in polynomial equalities
|
Then color polynomial variables w by p, resp, q if they occur in polynomial equalities
|
||||||
w - r = 0, such that all paths in r contain a node colored by p, resp q.
|
w - r = 0, such that all paths in r contain a node colored by p, resp q.
|
||||||
polynomial variables that get colored by both p and q can be set to 0.
|
polynomial variables that get colored by both p and q can be set to 0.
|
||||||
|
|
|
@ -518,7 +518,7 @@ std::ostream& emonics::display(std::ostream& out, cell* c) const {
|
||||||
|
|
||||||
bool emonics::invariant() const {
|
bool emonics::invariant() const {
|
||||||
TRACE("nla_solver_mons", display(tout););
|
TRACE("nla_solver_mons", display(tout););
|
||||||
// the varible index contains exactly the active monomials
|
// the variable index contains exactly the active monomials
|
||||||
unsigned mons = 0;
|
unsigned mons = 0;
|
||||||
for (lpvar v = 0; v < m_var2index.size(); v++) {
|
for (lpvar v = 0; v < m_var2index.size(); v++) {
|
||||||
if (is_monic_var(v)) {
|
if (is_monic_var(v)) {
|
||||||
|
|
|
@ -20,7 +20,7 @@ Revision History:
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// reads an MPS file reperesenting a Mixed Integer Program
|
// reads an MPS file representing a Mixed Integer Program
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
|
@ -87,7 +87,7 @@ expr * datatype_factory::get_almost_fresh_value(sort * s) {
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
// Traverse constructors, and try to invoke get_fresh_value of one of the arguments (if the argument is not a sibling datatype of s).
|
// Traverse constructors, and try to invoke get_fresh_value of one of the arguments (if the argument is not a sibling datatype of s).
|
||||||
// If the argumet is a sibling datatype of s, then
|
// If the argument is a sibling datatype of s, then
|
||||||
// use get_last_fresh_value.
|
// use get_last_fresh_value.
|
||||||
ptr_vector<func_decl> const & constructors = *m_util.get_datatype_constructors(s);
|
ptr_vector<func_decl> const & constructors = *m_util.get_datatype_constructors(s);
|
||||||
for (func_decl * constructor : constructors) {
|
for (func_decl * constructor : constructors) {
|
||||||
|
|
|
@ -305,7 +305,7 @@ namespace datalog {
|
||||||
void register_predicate(func_decl * pred, bool named);
|
void register_predicate(func_decl * pred, bool named);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Restrict reltaions to set of predicates.
|
Restrict relations to set of predicates.
|
||||||
*/
|
*/
|
||||||
void restrict_predicates(func_decl_set const& preds);
|
void restrict_predicates(func_decl_set const& preds);
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace datalog {
|
||||||
// reserve pred id = 0 for initialization purposes
|
// reserve pred id = 0 for initialization purposes
|
||||||
unsigned num_preds = (unsigned)predicates.size() + 1;
|
unsigned num_preds = (unsigned)predicates.size() + 1;
|
||||||
|
|
||||||
// poor's man round-up log2
|
// poor man's round-up log2
|
||||||
unsigned preds_bitsize = log2(num_preds);
|
unsigned preds_bitsize = log2(num_preds);
|
||||||
if ((1U << preds_bitsize) < num_preds)
|
if ((1U << preds_bitsize) < num_preds)
|
||||||
++preds_bitsize;
|
++preds_bitsize;
|
||||||
|
|
|
@ -73,7 +73,7 @@ namespace datalog {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Termplate class containing common infrastructure for relations and tables
|
Template class containing common infrastructure for relations and tables
|
||||||
*/
|
*/
|
||||||
template<class Traits>
|
template<class Traits>
|
||||||
struct tr_infrastructure {
|
struct tr_infrastructure {
|
||||||
|
@ -881,7 +881,7 @@ namespace datalog {
|
||||||
public:
|
public:
|
||||||
virtual ~table_row_pair_reduce_fn() {}
|
virtual ~table_row_pair_reduce_fn() {}
|
||||||
/**
|
/**
|
||||||
\brief The function is called for pair of table rows that became duplicit due to projection.
|
\brief The function is called for pair of table rows that became duplicated due to projection.
|
||||||
The values that are in the first array after return from the function will be used for the
|
The values that are in the first array after return from the function will be used for the
|
||||||
resulting row.
|
resulting row.
|
||||||
|
|
||||||
|
|
|
@ -1230,11 +1230,11 @@ namespace datalog {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
An auixiliary class for functors that perform filtering. It performs the table traversal
|
An auxiliary class for functors that perform filtering. It performs the table traversal
|
||||||
and only asks for each individual row whether it should be removed.
|
and only asks for each individual row whether it should be removed.
|
||||||
|
|
||||||
When using this class in multiple inheritance, this class should not be inherited publicly
|
When using this class in multiple inheritance, this class should not be inherited publicly
|
||||||
and should be mentioned as last. This should ensure that deteletion of the object will
|
and should be mentioned as last. This should ensure that deletion of the object will
|
||||||
go well when initiated from a pointer to the first ancestor.
|
go well when initiated from a pointer to the first ancestor.
|
||||||
*/
|
*/
|
||||||
class relation_manager::auxiliary_table_filter_fn {
|
class relation_manager::auxiliary_table_filter_fn {
|
||||||
|
|
|
@ -12,8 +12,8 @@ Abstract:
|
||||||
- mu: max-sat algorithm by Nina and Bacchus, AAAI 2014.
|
- mu: max-sat algorithm by Nina and Bacchus, AAAI 2014.
|
||||||
- mus-mss: based on dual refinement of bounds.
|
- mus-mss: based on dual refinement of bounds.
|
||||||
- binary: binary version of maxres
|
- binary: binary version of maxres
|
||||||
- rc2: implementaion of rc2 heuristic using cardinality constraints
|
- rc2: implementation of rc2 heuristic using cardinality constraints
|
||||||
- rc2t: implementaion of rc2 heuristic using totalizerx
|
- rc2t: implementation of rc2 heuristic using totalizerx
|
||||||
- rc2-binary: hybrid of rc2 and binary maxres. Perform one step of binary maxres.
|
- rc2-binary: hybrid of rc2 and binary maxres. Perform one step of binary maxres.
|
||||||
If there are more than 16 soft constraints create a cardinality constraint.
|
If there are more than 16 soft constraints create a cardinality constraint.
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ Abstract:
|
||||||
constraints the approach works like max-res.
|
constraints the approach works like max-res.
|
||||||
Given a (maximal) satisfying subset of the soft constraints
|
Given a (maximal) satisfying subset of the soft constraints
|
||||||
the approach updates the upper bound if the current assignment
|
the approach updates the upper bound if the current assignment
|
||||||
improves the current best assignmet.
|
improves the current best assignment.
|
||||||
Furthermore, take the soft constraints that are complements
|
Furthermore, take the soft constraints that are complements
|
||||||
to the current satisfying subset.
|
to the current satisfying subset.
|
||||||
E.g, if F are the hard constraints and
|
E.g, if F are the hard constraints and
|
||||||
|
@ -44,7 +44,7 @@ Abstract:
|
||||||
If k of these soft clauses are false in the satisfying assignment
|
If k of these soft clauses are false in the satisfying assignment
|
||||||
for the updated F, then k of the original soft clauses are also false
|
for the updated F, then k of the original soft clauses are also false
|
||||||
under the assignment.
|
under the assignment.
|
||||||
In summary: any assignment to the new clauses that satsfies F has the
|
In summary: any assignment to the new clauses that satisfies F has the
|
||||||
same cost.
|
same cost.
|
||||||
Claim:
|
Claim:
|
||||||
If there are no satisfying assignments to F, then the current best assignment
|
If there are no satisfying assignments to F, then the current best assignment
|
||||||
|
|
|
@ -1106,7 +1106,7 @@ namespace smt {
|
||||||
\brief propagate assignment to inequality.
|
\brief propagate assignment to inequality.
|
||||||
This is a basic, non-optimized implementation based
|
This is a basic, non-optimized implementation based
|
||||||
on the assumption that inequalities are mostly units
|
on the assumption that inequalities are mostly units
|
||||||
and/or relatively few compared to number of argumets.
|
and/or relatively few compared to number of arguments.
|
||||||
*/
|
*/
|
||||||
void theory_pb::assign_ineq(ineq& c, bool is_true) {
|
void theory_pb::assign_ineq(ineq& c, bool is_true) {
|
||||||
m_mpz_trail.push_back(c.m_max_sum);
|
m_mpz_trail.push_back(c.m_max_sum);
|
||||||
|
|
|
@ -20,7 +20,7 @@ Revision History:
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// reads an MPS file reperesenting a Mixed Integer Program
|
// reads an MPS file representing a Mixed Integer Program
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
|
@ -78,7 +78,7 @@ typedef std::pair<symbol, sort*> sorted_var;
|
||||||
/**
|
/**
|
||||||
\brief Command abstract class.
|
\brief Command abstract class.
|
||||||
|
|
||||||
Commands may have variable number of argumets.
|
Commands may have variable number of arguments.
|
||||||
*/
|
*/
|
||||||
class cmd {
|
class cmd {
|
||||||
symbol m_name;
|
symbol m_name;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue