SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
model.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "smtrat-common.h"
4 
5 #include <carl-formula/model/Model.h>
6 #include <carl-arith/vs/SqrtEx.h>
7 #include <carl-arith/interval/Interval.h>
8 
9 namespace smtrat {
10 
12 using ModelValue = carl::ModelValue<Rational, Poly>;
13 using Model = carl::Model<Rational, Poly>;
14 
15 static const Model EMPTY_MODEL = Model();
16 
17 using ModelSubstitution = carl::ModelSubstitution<Rational, Poly>;
18 using ModelPolynomialSubstitution = carl::ModelPolynomialSubstitution<Rational, Poly>;
19 
21 
22 using SqrtEx = carl::SqrtEx<Poly>;
23 
24 using MultivariateRootT = carl::MultivariateRoot<Poly>;
25 
26 using DoubleInterval = carl::Interval<double>;
27 using RationalInterval = carl::Interval<Rational>;
28 
29 using EvalDoubleIntervalMap = std::map<carl::Variable, DoubleInterval>;
30 using EvalRationalIntervalMap = std::map<carl::Variable, RationalInterval>;
31 
32 using ObjectiveValues = std::vector<std::pair<std::variant<Poly,std::string>, Model::mapped_type>>;
33 
34 }
Class to create the formulas for axioms.
carl::ModelValue< Rational, Poly > ModelValue
Definition: model.h:12
static const Model EMPTY_MODEL
Definition: model.h:15
std::vector< std::pair< std::variant< Poly, std::string >, Model::mapped_type > > ObjectiveValues
Definition: model.h:32
carl::Model< Rational, Poly > Model
Definition: model.h:13
carl::Interval< double > DoubleInterval
Definition: model.h:26
std::map< carl::Variable, RationalInterval > EvalRationalIntervalMap
Definition: model.h:30
carl::ModelSubstitution< Rational, Poly > ModelSubstitution
Definition: model.h:17
carl::ModelVariable ModelVariable
Definition: model.h:11
carl::Interval< Rational > RationalInterval
Definition: model.h:27
carl::SqrtEx< Poly > SqrtEx
Definition: model.h:22
carl::ModelPolynomialSubstitution< Rational, Poly > ModelPolynomialSubstitution
Definition: model.h:18
carl::MultivariateRoot< Poly > MultivariateRootT
Definition: model.h:24
std::map< carl::Variable, DoubleInterval > EvalDoubleIntervalMap
Definition: model.h:29
carl::InfinityValue InfinityValue
Definition: model.h:20