mCRL2
Loading...
Searching...
No Matches
data_construction.h
Go to the documentation of this file.
1// Author(s): Wieger Wesselink
2// Copyright: see the accompanying file COPYING or copy at
3// https://github.com/mCRL2org/mCRL2/blob/master/COPYING
4//
5// Distributed under the Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8//
11
12#ifndef MCRL2_DATA_DETAIL_DATA_CONSTRUCTION_H
13#define MCRL2_DATA_DETAIL_DATA_CONSTRUCTION_H
14
15#include "mcrl2/data/lambda.h"
16#include "mcrl2/data/set.h"
17
18namespace mcrl2 {
19
20namespace data {
21
22namespace detail {
23
25inline
27{
29 result = data::sort_fset::insert(x.sort(), x, result);
30 result = data::sort_set::set_fset(x.sort(), result);
31 return result;
32}
33
35inline
37{
38 assert(sort_bool::is_bool(phi.sort()));
40 return result;
41}
42
44inline
46{
47 data_expression result = sort_set::in(x.sort(), x, X);
48 return result;
49}
50
53inline
55{
56 return x.element_sort();
57}
58
59} // namespace detail
60
61} // namespace data
62
63} // namespace mcrl2
64
65#endif // MCRL2_DATA_DETAIL_DATA_CONSTRUCTION_H
\brief A container sort
const sort_expression & element_sort() const
sort_expression sort() const
Returns the sort of the data expression.
Definition data.cpp:108
function symbol.
Definition lambda.h:27
\brief A sort expression
\brief A data variable
Definition variable.h:28
const sort_expression & sort() const
Definition variable.h:43
The class lambda.
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.
bool is_bool(const sort_expression &e)
Recogniser for sort expression Bool.
Definition bool.h:54
function_symbol insert(const sort_expression &s)
Constructor for function symbol @fset_insert.
Definition fset1.h:107
function_symbol empty(const sort_expression &s)
Constructor for function symbol {}.
Definition fset1.h:75
function_symbol constructor(const sort_expression &s)
Constructor for function symbol @set.
Definition set1.h:76
function_symbol in(const sort_expression &, const sort_expression &s0, const sort_expression &s1)
Definition set1.h:296
function_symbol set_fset(const sort_expression &s)
Constructor for function symbol @setfset.
Definition set1.h:174
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72
The standard sort set_.