SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
FormulaEvaluation.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "types.h"
4 #include <functional>
5 #include <boost/container/flat_set.hpp>
6 
8 
9 using ImplicantOrdering = std::function<bool(cadcells::datastructures::Projections&, const boost::container::flat_set<cadcells::datastructures::PolyConstraint>&, const boost::container::flat_set<cadcells::datastructures::PolyConstraint>&)>;
10 
12 
13 enum class Valuation {
15 };
16 inline std::ostream& operator<<(std::ostream& o, Valuation v) {
17  if (v == Valuation::TRUE) o << "TRUE";
18  else if (v == Valuation::FALSE) o << "FALSE";
19  else if (v == Valuation::MULTIVARIATE) o << "MULTIVARIATE";
20  else o << "UNKNOWN";
21  return o;
22 }
23 
24 }
Encapsulates all computations on polynomials.
Definition: projections.h:46
std::function< bool(cadcells::datastructures::Projections &, const boost::container::flat_set< cadcells::datastructures::PolyConstraint > &, const boost::container::flat_set< cadcells::datastructures::PolyConstraint > &)> ImplicantOrdering
std::function< bool(cadcells::datastructures::Projections &, const cadcells::datastructures::PolyConstraint &, const cadcells::datastructures::PolyConstraint &)> ConstraintOrdering
std::ostream & operator<<(std::ostream &o, Valuation v)