12#ifndef MCRL2_PBES_REWRITERS_DATA2PBES_REWRITER_H
13#define MCRL2_PBES_REWRITERS_DATA2PBES_REWRITER_H
20namespace pbes_system {
30template <
typename Derived>
128 typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value>::type* =
nullptr
132 core::make_apply_builder<data2pbes_builder>().apply(result, x);
138 typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value>::type* = 0
141 core::make_apply_builder<data2pbes_builder>().update(x);
const variable_list & variables() const
const data_expression & body() const
existential quantification.
universal quantification.
\brief The and operator for pbes expressions
A rewriter that applies one point rule quantifier elimination to a PBES.
pbes_expression term_type
The term type.
pbes_expression operator()(const pbes_expression &x) const
Rewrites a pbes expression.
data::variable variable_type
The variable type.
\brief The existential quantification operator for pbes expressions
\brief The universal quantification operator for pbes expressions
\brief The implication operator for pbes expressions
\brief The not operator for pbes expressions
\brief The or operator for pbes expressions
This file contains some functions that are present in all libraries except the data library....
const data_expression & binary_right(const application &x)
bool is_or(const data_expression &x)
Test if x is a disjunction.
const data_expression & unary_operand(const application &x)
bool is_not(const data_expression &x)
Test if x is a negation.
const data_expression & binary_left(const application &x)
bool is_imp(const data_expression &x)
Test if x is an implication.
bool is_forall(const atermpp::aterm &x)
Returns true if the term t is a universal quantification.
bool is_exists(const atermpp::aterm &x)
Returns true if the term t is an existential quantification.
bool is_and(const data_expression &x)
Test if x is a conjunction.
T data2pbes(const T &x, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
add your file description here.
void apply(T &result, const pbes_system::propositional_variable_instantiation &x)
pbes_expression_builder< Derived > super
data::data_expression left(const data::data_expression &x) const
bool is_not(const data::data_expression &x) const
pbes_expression data2pbes(const data::data_expression &x) const
void apply(T &result, const data::data_expression &x)
bool is_forall(const data::data_expression &x) const
bool is_exists(const data::data_expression &x) const
bool is_imp(const data::data_expression &x) const
data::data_expression operand(const data::data_expression &x) const
bool is_and(const data::data_expression &x) const
bool is_or(const data::data_expression &x) const
data::data_expression right(const data::data_expression &x) const