5 #include <unordered_map> 9 #include "dreal/smt2/logic.h" 10 #include "dreal/solver/config.h" 12 #include "dreal/util/box.h" 13 #include "dreal/util/optional.h" 14 #include "dreal/util/scoped_vector.h" 15 #include "dreal/version.h" 62 const Expression& ub,
bool is_model_variable =
true);
72 void Minimize(
const std::vector<Expression>& functions);
84 void SetInfo(
const std::string& key,
double val);
87 void SetInfo(
const std::string& key,
const std::string& val);
96 void SetOption(
const std::string& key,
double val);
99 void SetOption(
const std::string& key,
const std::string& val);
102 optional<std::string>
GetOption(
const std::string& key)
const;
134 std::unique_ptr<Impl> impl_;
Context class that holds a set of constraints and provide Assert/Push/Pop/CheckSat functionalities...
Definition: context.h:23
const Box & box() const
Returns the const reference to the top box.
Definition: context.cc:103
Definition: context_impl.h:17
Sum type of symbolic::Expression and symbolic::Formula.
Definition: api.cc:9
optional< Box > CheckSat()
Checks the satisfiability of the asserted formulas.
Definition: context.cc:27
const ScopedVector< Formula > & assertions() const
Returns the const reference to the asserted formulas.
Definition: context.cc:107
Context & operator=(const Context &)=delete
Deleted copy-assign.
Represents a symbolic variable.
Definition: symbolic_variable.h:16
Context()
Constructs a context with an empty configuration.
Definition: context.cc:16
~Context()
Destructor (Defaulted in .cc file. Needed here for compilation).
const Config & config() const
Returns a const reference of configuration.
Definition: context.cc:98
void Maximize(const Expression &f)
Asserts a formula maximizing a cost function f.
Definition: context.cc:48
void DeclareVariable(const Variable &v, bool is_model_variable=true)
Declare a variable v.
Definition: context.cc:29
void Minimize(const Expression &f)
Asserts a formula minimizing a cost function f.
Definition: context.cc:42
optional< std::string > GetOption(const std::string &key) const
Gets the associated value for key.
Definition: context.cc:94
const Box & get_model() const
Returns a representation of a model computed by the solver in response to an invocation of the check-...
Definition: context.cc:105
void SetInfo(const std::string &key, double val)
Sets an info key with a value val.
Definition: context.cc:72
void Assert(const Formula &f)
Asserts a formula f.
Definition: context.cc:25
Definition: scoped_vector.h:16
Represents a n-dimensional interval vector.
Definition: box.h:17
void SetLogic(const Logic &logic)
Sets the current logic to be logic.
Definition: context.cc:84
void Push(int n)
Pushes n stacks.
Definition: context.cc:61
static void Exit()
Closes the context.
Definition: context.cc:40
void Pop(int n)
Pops n stacks.
Definition: context.cc:50
Config & mutable_config()
Returns a mutable reference of configuration.
Definition: context.cc:99
This is the header file that we consolidate Drake's symbolic classes and expose them inside of dreal ...
void SetOption(const std::string &key, double val)
Sets an option key with a value val.
Definition: context.cc:86
static std::string version()
Returns the version string.
Definition: context.cc:101
Represents a symbolic form of an expression.
Definition: symbolic_expression.h:164
void SetInterval(const Variable &v, double lb, double ub)
Sets the interval of v in the current box (top one in boxes_).
Definition: context.cc:80