4 #include <boost/variant.hpp>
6 #include "../../Common.h"
10 namespace expression {
bool operator==(const Expression &expr) const
bool operator<(const Expression &expr) const
Expression(ITEType _type, Expression &&_if, Expression &&_then, Expression &&_else)
Expression(NaryType _type, Expressions &&_expressions)
bool operator!=(const Expression &expr) const
const ExpressionContent * mContent
const QuantifierExpression & getQuantifier() const
Expression(UnaryType _type, Expression &&_expression)
bool isQuantifier() const
Expression(BinaryType _type, Expression &&_lhs, Expression &&_rhs)
const UnaryExpression & getUnary() const
Expression(UnaryType _type, const Expression &_expression)
const ExpressionContent * getContentPtr() const
Expression(NaryType _type, const std::initializer_list< Expression > &_expressions)
const BinaryExpression & getBinary() const
const NaryExpression & getNary() const
const ITEExpression & getITE() const
Expression(carl::Variable::Arg var)
const ExpressionContent * getNegationPtr() const
const ExpressionContent & getContent() const
Expression(QuantifierType _type, std::vector< carl::Variable > &&_variables, Expression &&_expression)
static uint32_t hash(uint32_t x)
std::ostream & operator<<(std::ostream &os, const Expression &expr)
std::vector< Expression > Expressions
Class to create the formulas for axioms.