mCRL2
|
Contains type information for data expressions. More...
#include <expression_traits.h>
Public Types | |
typedef data::data_expression | term_type |
The term type. | |
typedef data::variable | variable_type |
The variable type. | |
typedef data::variable_list | variable_sequence_type |
The variable sequence type. | |
Static Public Member Functions | |
static const term_type & | true_ () |
The value true. | |
static const term_type & | false_ () |
The value false. | |
static term_type | not_ (const term_type &p) |
Operator not. | |
static void | make_not_ (term_type &result, const term_type &p) |
Operator not. | |
static term_type | and_ (const term_type &p, const term_type &q) |
Operator and. | |
static void | make_and_ (term_type &result, const term_type &p, const term_type &q) |
Operator and. | |
static term_type | or_ (const term_type &p, const term_type &q) |
Operator or. | |
static void | make_or_ (term_type &result, const term_type &p, const term_type &q) |
Operator or. | |
static term_type | imp (const term_type &p, const term_type &q) |
Operator imp. | |
static void | make_imp (term_type &result, const term_type &p, const term_type &q) |
Operator imp. | |
static term_type | forall (const variable_sequence_type &d, const term_type &p) |
Operator forall. | |
static void | make_forall (term_type &result, const variable_sequence_type &d, const term_type &p) |
Construct a forall. | |
static term_type | exists (const variable_sequence_type &d, const term_type &p) |
Operator exists. | |
static void | make_exists (term_type &result, const variable_sequence_type &d, const term_type &p) |
Construct an exists. | |
static bool | is_true (const term_type &t) |
Test for value true. | |
static bool | is_false (const term_type &t) |
Test for value false. | |
static bool | is_not (const term_type &t) |
Test for operator not. | |
static bool | is_and (const term_type &t) |
Test for operator and. | |
static bool | is_or (const term_type &t) |
Test for operator or. | |
static bool | is_imp (const term_type &t) |
Test for implication. | |
static bool | is_forall (const term_type &t) |
Test for universal quantification. | |
static bool | is_exists (const term_type &t) |
Test for existential quantification. | |
static bool | is_lambda (const term_type &t) |
Test for lambda abstraction. | |
static const term_type & | variable2term (const variable_type &v) |
Conversion from variable to term. | |
static bool | is_variable (const term_type &t) |
Test if a term is a variable. | |
static const term_type & | argument (const term_type &t, const std::size_t n) |
Get the n-th argument of a data expression, provided it is an application. | |
static const term_type & | left (const term_type &t) |
static const term_type & | right (const term_type &t) |
static const term_type & | not_arg (const term_type &t) |
static std::string | pp (const term_type &t) |
Pretty print function. | |
Contains type information for data expressions.
Definition at line 28 of file expression_traits.h.
typedef data::data_expression mcrl2::core::term_traits< data::data_expression >::term_type |
The term type.
Definition at line 31 of file expression_traits.h.
typedef data::variable_list mcrl2::core::term_traits< data::data_expression >::variable_sequence_type |
The variable sequence type.
Definition at line 37 of file expression_traits.h.
typedef data::variable mcrl2::core::term_traits< data::data_expression >::variable_type |
The variable type.
Definition at line 34 of file expression_traits.h.
|
inlinestatic |
Operator and.
p | A term |
q | A term |
Definition at line 78 of file expression_traits.h.
|
inlinestatic |
Get the n-th argument of a data expression, provided it is an application.
t | A term which is an application. |
n | The index of the argument. The first index has number 0. |
This function is linear in n.
Definition at line 278 of file expression_traits.h.
|
inlinestatic |
Operator exists.
d | A sequence of variables |
p | A term |
Definition at line 158 of file expression_traits.h.
|
inlinestatic |
|
inlinestatic |
Operator forall.
d | A sequence of variables |
p | A term |
Definition at line 138 of file expression_traits.h.
|
inlinestatic |
Operator imp.
p | A term |
q | A term |
Definition at line 118 of file expression_traits.h.
|
inlinestatic |
Test for operator and.
t | A term |
Definition at line 204 of file expression_traits.h.
|
inlinestatic |
Test for existential quantification.
t | A term |
Definition at line 240 of file expression_traits.h.
|
inlinestatic |
Test for value false.
t | A term |
Definition at line 186 of file expression_traits.h.
|
inlinestatic |
Test for universal quantification.
t | A term |
Definition at line 231 of file expression_traits.h.
|
inlinestatic |
Test for implication.
t | A term |
Definition at line 222 of file expression_traits.h.
|
inlinestatic |
Test for lambda abstraction.
t | A term |
Definition at line 249 of file expression_traits.h.
|
inlinestatic |
Test for operator not.
t | A term |
Definition at line 195 of file expression_traits.h.
|
inlinestatic |
Test for operator or.
t | A term |
Definition at line 213 of file expression_traits.h.
|
inlinestatic |
Test for value true.
t | A term |
Definition at line 177 of file expression_traits.h.
|
inlinestatic |
Test if a term is a variable.
t | A term |
Definition at line 267 of file expression_traits.h.
|
inlinestatic |
Definition at line 293 of file expression_traits.h.
|
inlinestatic |
Operator and.
result | Operator and applied to p and q |
p | A term |
q | A term |
Definition at line 88 of file expression_traits.h.
|
inlinestatic |
Construct an exists.
result | Place where the forall is put. |
d | A sequence of variables |
p | A term |
Definition at line 168 of file expression_traits.h.
|
inlinestatic |
Construct a forall.
result | Place where the forall is put. |
d | A sequence of variables |
p | A term |
Definition at line 148 of file expression_traits.h.
|
inlinestatic |
Operator imp.
result | Operator and applied to p and q |
p | A term |
q | A term |
Definition at line 128 of file expression_traits.h.
|
inlinestatic |
Operator not.
result | Operator not applied to p |
p | A term |
Definition at line 68 of file expression_traits.h.
|
inlinestatic |
Operator or.
result | Operator or applied to p and q |
p | A term |
q | A term |
Definition at line 108 of file expression_traits.h.
|
inlinestatic |
Operator not.
p | A term |
Definition at line 59 of file expression_traits.h.
|
inlinestatic |
Definition at line 311 of file expression_traits.h.
|
inlinestatic |
Operator or.
p | A term |
q | A term |
Definition at line 98 of file expression_traits.h.
|
inlinestatic |
Pretty print function.
t | A term |
Definition at line 324 of file expression_traits.h.
|
inlinestatic |
Definition at line 302 of file expression_traits.h.
|
inlinestatic |
|
inlinestatic |
Conversion from variable to term.
v | A variable |
Definition at line 258 of file expression_traits.h.