mCRL2
|
Contains type information for pbes expressions. More...
#include <pbes_expression.h>
Public Types | |
typedef pbes_system::pbes_expression | term_type |
The term type. | |
typedef data::data_expression | data_term_type |
The data term type. | |
typedef data::data_expression_list | data_term_sequence_type |
The data term sequence type. | |
typedef data::variable | variable_type |
The variable type. | |
typedef data::variable_list | variable_sequence_type |
The variable sequence type. | |
typedef pbes_system::propositional_variable | propositional_variable_decl_type |
The propositional variable declaration type. | |
typedef pbes_system::propositional_variable_instantiation | propositional_variable_type |
The propositional variable instantiation type. | |
typedef core::identifier_string | string_type |
The string type. | |
Static Public Member Functions | |
static term_type | true_ () |
Make the value true. | |
static term_type | false_ () |
Make the value false. | |
static term_type | not_ (const term_type &p) |
Make a negation. | |
static void | make_not_ (term_type &result, const term_type &p) |
Make a negation. | |
static term_type | and_ (const term_type &p, const term_type &q) |
Make a conjunction. | |
static void | make_and_ (term_type &result, const term_type &p, const term_type &q) |
Make a conjunction. | |
static term_type | or_ (const term_type &p, const term_type &q) |
Make a disjunction. | |
static void | make_or_ (term_type &result, const term_type &p, const term_type &q) |
Make a disjunction. | |
template<typename FwdIt > | |
static term_type | join_or (FwdIt first, FwdIt last) |
template<typename FwdIt > | |
static term_type | join_and (FwdIt first, FwdIt last) |
static term_type | imp (const term_type &p, const term_type &q) |
Make an implication. | |
static void | make_imp (term_type &result, const term_type &p, const term_type &q) |
Make an implication. | |
static term_type | forall (const variable_sequence_type &l, const term_type &p) |
Make a universal quantification. | |
static void | make_forall (term_type &result, const variable_sequence_type &l, const term_type &p) |
Make a universal quantification. | |
static term_type | exists (const variable_sequence_type &l, const term_type &p) |
Make an existential quantification. | |
static void | make_exists (term_type &result, const variable_sequence_type &l, const term_type &p) |
Make an existential quantification. | |
static bool | is_true (const term_type &t) |
Test for the value true. | |
static bool | is_false (const term_type &t) |
Test for the value false. | |
static bool | is_not (const term_type &t) |
Test for a negation. | |
static bool | is_and (const term_type &t) |
Test for a conjunction. | |
static bool | is_or (const term_type &t) |
Test for a disjunction. | |
static bool | is_imp (const term_type &t) |
Test for an implication. | |
static bool | is_forall (const term_type &t) |
Test for an universal quantification. | |
static bool | is_exists (const term_type &t) |
Test for an existential quantification. | |
static bool | is_data (const term_type &t) |
Test for data term. | |
static bool | is_prop_var (const term_type &t) |
Test for propositional variable instantiation. | |
static term_type | left (const term_type &t) |
Returns the left argument of a term of type and, or or imp. | |
static term_type | right (const term_type &t) |
Returns the right argument of a term of type and, or or imp. | |
static const term_type & | not_arg (const term_type &t) |
Returns the argument of a term of type not. | |
static const variable_sequence_type & | var (const term_type &t) |
Returns the quantifier variables of a quantifier expression. | |
static const string_type & | name (const term_type &t) |
Returns the name of a propositional variable instantiation. | |
static const data_term_sequence_type & | param (const term_type &t) |
Returns the parameter list of a propositional variable instantiation. | |
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 std::string | pp (const term_type &t) |
Pretty print function. | |
Contains type information for pbes expressions.
Definition at line 1085 of file pbes_expression.h.
typedef data::data_expression_list mcrl2::core::term_traits< pbes_system::pbes_expression >::data_term_sequence_type |
The data term sequence type.
Definition at line 1094 of file pbes_expression.h.
typedef data::data_expression mcrl2::core::term_traits< pbes_system::pbes_expression >::data_term_type |
The data term type.
Definition at line 1091 of file pbes_expression.h.
typedef pbes_system::propositional_variable mcrl2::core::term_traits< pbes_system::pbes_expression >::propositional_variable_decl_type |
The propositional variable declaration type.
Definition at line 1103 of file pbes_expression.h.
typedef pbes_system::propositional_variable_instantiation mcrl2::core::term_traits< pbes_system::pbes_expression >::propositional_variable_type |
The propositional variable instantiation type.
Definition at line 1106 of file pbes_expression.h.
typedef core::identifier_string mcrl2::core::term_traits< pbes_system::pbes_expression >::string_type |
The string type.
Definition at line 1109 of file pbes_expression.h.
typedef pbes_system::pbes_expression mcrl2::core::term_traits< pbes_system::pbes_expression >::term_type |
The term type.
Definition at line 1088 of file pbes_expression.h.
typedef data::variable_list mcrl2::core::term_traits< pbes_system::pbes_expression >::variable_sequence_type |
The variable sequence type.
Definition at line 1100 of file pbes_expression.h.
typedef data::variable mcrl2::core::term_traits< pbes_system::pbes_expression >::variable_type |
The variable type.
Definition at line 1097 of file pbes_expression.h.
|
inlinestatic |
Make a conjunction.
p | A term |
q | A term |
p && q
Definition at line 1150 of file pbes_expression.h.
|
inlinestatic |
Make an existential quantification.
l | A sequence of variables |
p | A term |
exists l.p
Definition at line 1253 of file pbes_expression.h.
|
inlinestatic |
|
inlinestatic |
Make a universal quantification.
l | A sequence of variables |
p | A term |
forall l.p
Definition at line 1224 of file pbes_expression.h.
|
inlinestatic |
Make an implication.
p | A term |
q | A term |
p => q
Definition at line 1204 of file pbes_expression.h.
|
inlinestatic |
Test for a conjunction.
t | A term |
Definition at line 1308 of file pbes_expression.h.
|
inlinestatic |
Test for data term.
t | A term |
Definition at line 1353 of file pbes_expression.h.
|
inlinestatic |
Test for an existential quantification.
t | A term |
Definition at line 1344 of file pbes_expression.h.
|
inlinestatic |
Test for the value false.
t | A term |
false
Definition at line 1290 of file pbes_expression.h.
|
inlinestatic |
Test for an universal quantification.
t | A term |
Definition at line 1335 of file pbes_expression.h.
|
inlinestatic |
Test for an implication.
t | A term |
Definition at line 1326 of file pbes_expression.h.
|
inlinestatic |
Test for a negation.
t | A term |
Definition at line 1299 of file pbes_expression.h.
|
inlinestatic |
Test for a disjunction.
t | A term |
Definition at line 1317 of file pbes_expression.h.
|
inlinestatic |
Test for propositional variable instantiation.
t | A term |
Definition at line 1362 of file pbes_expression.h.
|
inlinestatic |
Test for the value true.
t | A term |
true
Definition at line 1281 of file pbes_expression.h.
|
inlinestatic |
Test if a term is a variable.
t | A term |
Definition at line 1441 of file pbes_expression.h.
|
inlinestatic |
Definition at line 1194 of file pbes_expression.h.
|
inlinestatic |
Definition at line 1187 of file pbes_expression.h.
|
inlinestatic |
Returns the left argument of a term of type and, or or imp.
t | A term |
Definition at line 1371 of file pbes_expression.h.
|
inlinestatic |
Make a conjunction.
result | The value p && q |
p | A term |
q | A term |
Definition at line 1160 of file pbes_expression.h.
|
inlinestatic |
Make an existential quantification.
result | The value exists l.p |
l | A sequence of variables |
p | A term |
Definition at line 1267 of file pbes_expression.h.
|
inlinestatic |
Make a universal quantification.
result | The value forall l.p |
l | A sequence of variables |
p | A term |
Definition at line 1238 of file pbes_expression.h.
|
inlinestatic |
Make an implication.
result | The value p => q |
p | A term |
q | A term |
Definition at line 1214 of file pbes_expression.h.
|
inlinestatic |
Make a negation.
result | The value !p |
p | A term |
Definition at line 1140 of file pbes_expression.h.
|
inlinestatic |
Make a disjunction.
result | The value p || q |
p | A term |
q | A term |
Definition at line 1180 of file pbes_expression.h.
|
inlinestatic |
Returns the name of a propositional variable instantiation.
t | A term |
Definition at line 1412 of file pbes_expression.h.
|
inlinestatic |
Make a negation.
p | A term |
!p
Definition at line 1131 of file pbes_expression.h.
|
inlinestatic |
Returns the argument of a term of type not.
t | A term |
Definition at line 1388 of file pbes_expression.h.
|
inlinestatic |
Make a disjunction.
p | A term |
q | A term |
p || q
Definition at line 1170 of file pbes_expression.h.
|
inlinestatic |
Returns the parameter list of a propositional variable instantiation.
t | A term |
Definition at line 1422 of file pbes_expression.h.
|
inlinestatic |
Pretty print function.
t | A term |
Definition at line 1450 of file pbes_expression.h.
|
inlinestatic |
Returns the right argument of a term of type and, or or imp.
t | A term |
Definition at line 1380 of file pbes_expression.h.
|
inlinestatic |
|
inlinestatic |
Returns the quantifier variables of a quantifier expression.
t | A term |
Definition at line 1398 of file pbes_expression.h.
|
inlinestatic |
Conversion from variable to term.
v | A variable |
Definition at line 1432 of file pbes_expression.h.