mCRL2
Loading...
Searching...
No Matches
consistency.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//
14
15#ifndef MCRL2_DATA_CONSISTENCY_H
16#define MCRL2_DATA_CONSISTENCY_H
17
18#include "mcrl2/data/bool.h"
19#include "mcrl2/data/exists.h"
20#include "mcrl2/data/forall.h"
21
22namespace mcrl2 {
23
24namespace data {
25
28inline
30{
32}
33
36inline
38{
40}
41
44inline
45bool is_not(const data_expression& x)
46{
48}
49
52inline
53bool is_or(const data_expression& x)
54{
56}
57
60inline
61bool is_and(const data_expression& x)
62{
64}
65
68inline
69bool is_imp(const data_expression& x)
70{
72}
73
76inline
78{
80}
81
84inline
86{
88}
89
91inline
93{
94 return sort_bool::true_();
95}
96
98inline
100{
101 return sort_bool::false_();
102}
103
105inline
107{
108 return sort_bool::not_(x);
109}
110
112inline
114{
115 return sort_bool::or_(x, y);
116}
117
119inline
121{
122 return sort_bool::and_(x, y);
123}
124
126inline
128{
129 return sort_bool::implies(x, y);
130}
131
133inline
135{
136 return sort_bool::is_bool(x);
137}
138
140inline
142{
143 return sort_bool::bool_();
144}
145
151inline
153{
154 if (v.empty())
155 {
156 return x;
157 }
158 return forall(v, x);
159}
160
166inline
168{
169 if (v.empty())
170 {
171 return x;
172 }
173 return exists(v, x);
174}
175
176} // namespace data
177
178} // namespace mcrl2
179
180#endif // MCRL2_DATA_CONSISTENCY_H
The standard sort bool_.
bool empty() const
Returns true if the list's size is 0.
Definition aterm_list.h:268
existential quantification.
Definition exists.h:26
universal quantification.
Definition forall.h:26
\brief A sort expression
The class exists.
The class forall.
bool is_false_function_symbol(const atermpp::aterm &e)
Recogniser for function false.
Definition bool.h:119
bool is_or_application(const atermpp::aterm &e)
Recogniser for application of ||.
Definition bool.h:345
bool is_bool(const sort_expression &e)
Recogniser for sort expression Bool.
Definition bool.h:54
const basic_sort & bool_()
Constructor for sort expression Bool.
Definition bool.h:44
const function_symbol & implies()
Constructor for function symbol =>.
Definition bool.h:363
bool is_implies_application(const atermpp::aterm &e)
Recogniser for application of =>.
Definition bool.h:409
const function_symbol & and_()
Constructor for function symbol &&.
Definition bool.h:235
const function_symbol & false_()
Constructor for function symbol false.
Definition bool.h:109
bool is_and_application(const atermpp::aterm &e)
Recogniser for application of &&.
Definition bool.h:281
const function_symbol & or_()
Constructor for function symbol ||.
Definition bool.h:299
bool is_true_function_symbol(const atermpp::aterm &e)
Recogniser for function true.
Definition bool.h:87
bool is_not_application(const atermpp::aterm &e)
Recogniser for application of !.
Definition bool.h:217
const function_symbol & not_()
Constructor for function symbol !.
Definition bool.h:173
const function_symbol & true_()
Constructor for function symbol true.
Definition bool.h:77
data_expression not_(const data_expression &x)
bool is_not_equal_to_application(const DataExpression &e)
Recogniser for application of !=.
Definition standard.h:192
bool is_or(const data_expression &x)
Test if x is a disjunction.
Definition consistency.h:53
bool is_false(const data_expression &x)
Test if x is false.
Definition consistency.h:37
data_expression make_exists_(const data::variable_list &v, const data_expression &x)
Make an existential quantification. It checks for an empty variable list, which is not allowed.
data_expression make_forall_(const data::variable_list &v, const data_expression &x)
Make a universal quantification. It checks for an empty variable list, which is not allowed.
data_expression or_(const data_expression &x, const data_expression &y)
bool is_not(const data_expression &x)
Test if x is a negation.
Definition consistency.h:45
data_expression and_(const data_expression &x, const data_expression &y)
const data_expression & false_()
Definition consistency.h:99
bool is_true(const data_expression &x)
Test if x is true.
Definition consistency.h:29
bool is_not_equal_to(const data_expression &x)
Test if x is an inequality.
Definition consistency.h:85
const data_expression & true_()
Definition consistency.h:92
bool is_imp(const data_expression &x)
Test if x is an implication.
Definition consistency.h:69
sort_expression bool_()
bool is_equal_to(const data_expression &x)
Test if x is an equality.
Definition consistency.h:77
data_expression imp(const data_expression &x, const data_expression &y)
bool is_bool(const sort_expression &x)
bool is_equal_to_application(const DataExpression &e)
Recogniser for application of ==.
Definition standard.h:155
bool is_and(const data_expression &x)
Test if x is a conjunction.
Definition consistency.h:61
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72