12#ifndef MCRL2_DATA_DETAIL_DATA_CONSTRUCTION_H
13#define MCRL2_DATA_DETAIL_DATA_CONSTRUCTION_H
15#include "mcrl2/data/lambda.h"
16#include "mcrl2/data/set.h"
const sort_expression & element_sort() const
data_expression & operator=(data_expression &&) noexcept=default
sort_expression sort() const
Returns the sort of the data expression.
lambda(const variable &variable, const data_expression &body)
const sort_expression & sort() const
sort_expression get_set_sort(const container_sort &x)
Returns the sort s of Set(s).
data_expression create_finite_set(const data_expression &x)
Create the finite set { x }, with x a data expression.
data_expression create_set_in(const data_expression &x, const data_expression &X)
Create the predicate 'x in X', with X a set.
data_expression create_set_comprehension(const variable &x, const data_expression &phi)
Create the set { x | phi }, with phi a predicate that may depend on the variable x.
Namespace for system defined sort bool_.
bool is_bool(const sort_expression &e)
Recogniser for sort expression Bool.
Namespace for system defined sort fset.
application insert(const sort_expression &s, const data_expression &arg0, const data_expression &arg1)
Application of function symbol @fset_insert.
function_symbol empty(const sort_expression &s)
Constructor for function symbol {}.
Namespace for system defined sort set_.
application set_fset(const sort_expression &s, const data_expression &arg0)
Application of function symbol @setfset.
application in(const sort_expression &s, const data_expression &arg0, const data_expression &arg1)
Application of function symbol in.
application constructor(const sort_expression &s, const data_expression &arg0, const data_expression &arg1)
Application of function symbol @set.