11 #define VALIDATION_STORE_STRINGS
14 #ifdef VALIDATION_STORE_STRINGS
15 #include <carl-io/SMTLIBStream.h>
19 namespace validation {
26 #ifndef VALIDATION_STORE_STRINGS
27 std::vector<std::tuple<FormulaT, bool, std::string>>
m_formulas;
29 std::vector<std::tuple<std::string, bool, std::string>>
m_formulas;
46 std::size_t
add(
const FormulaT& f,
bool consistent,
const std::string& name) {
47 #ifndef VALIDATION_STORE_STRINGS
50 carl::io::SMTLIBStream sls;
51 sls.declare(f.logic());
52 sls.declare(carl::variables(f));
54 m_formulas.emplace_back(sls.str(), consistent, name);
58 std::size_t
add(
const FormulasT& fs,
bool consistent,
const std::string& name) {
61 std::size_t
add(
const FormulaSetT& fss,
bool consistent,
const std::string& name) {
65 std::size_t
add(
const ConstraintT& c,
bool consistent,
const std::string& name) {
68 std::size_t
add(
const ConstraintsT& cs,
bool consistent,
const std::string& name) {
70 for (
const auto& c: cs) {
std::size_t add(const ConstraintsT &cs, bool consistent, const std::string &name)
const auto & formulas() const
const auto & channel() const
std::size_t add(const FormulasT &fs, bool consistent, const std::string &name)
void set_identifier(const std::string &channel, const std::string &file, int line)
std::vector< std::tuple< std::string, bool, std::string > > m_formulas
std::size_t add(const FormulaT &f, bool consistent, const std::string &name)
std::size_t add(const FormulaSetT &fss, bool consistent, const std::string &name)
std::size_t add(const ConstraintT &c, bool consistent, const std::string &name)
Class to create the formulas for axioms.
carl::Constraints< Poly > ConstraintsT
carl::FormulaSet< Poly > FormulaSetT
carl::Formula< Poly > FormulaT
carl::Constraint< Poly > ConstraintT
carl::Formulas< Poly > FormulasT