mCRL2
Loading...
Searching...
No Matches
translate_regular_formulas.h
Go to the documentation of this file.
1// Author(s): Aad Mathijssen
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//
9/// \file mcrl2/modal_formula/translate_regular_formulas.h
10/// \brief Translate regular formulas in terms of state and action formulas.
11
12#ifndef MCRL2_MODAL_FORMULA_TRANSLATE_REGULAR_FORMULAS_H
13#define MCRL2_MODAL_FORMULA_TRANSLATE_REGULAR_FORMULAS_H
14
15#include "mcrl2/modal_formula/state_formula.h"
16
17namespace mcrl2 {
18
19namespace regular_formulas {
20
21namespace detail {
22
23/** \brief Translate regular formulas in terms of state and action formulas.
24 * \param[in] state_frm An aterm representation of a state formula according
25 * to the internal aterm structure after the data implementation
26 * phase.
27 * \return state_frm in which all regular formulas are translated in
28 * terms of state and action formulas.
29 **/
31
32} // namespace detail
33
34} // namespace regular_formulas
35
36namespace state_formulas {
37
38/// \brief Translates regular formulas appearing in f into action formulas.
39/// \param x A state formula
40inline
42{
44 if (result == atermpp::aterm())
45 {
46 throw mcrl2::runtime_error("regular formula translation error");
47 }
48 return state_formula(result);
49}
50
51} // namespace state_formulas
52
53} // namespace mcrl2
54
55#endif // MCRL2_MODAL_FORMULA_TRANSLATE_REGULAR_FORMULAS_H
aterm_string(const aterm_string &t) noexcept=default
aterm()
Default constructor.
Definition aterm.h:48
bool operator==(const unprotected_aterm_core &t) const
Comparison operator.
Definition aterm_core.h:83
\brief The and operator for action formulas
const action_formula & left() const
const action_formula & right() const
\brief The at operator for action formulas
const data::data_expression & time_stamp() const
const action_formula & operand() const
\brief The existential quantification operator for action formulas
const data::variable_list & variables() const
const action_formula & body() const
\brief The value false for action formulas
\brief The universal quantification operator for action formulas
const action_formula & body() const
const data::variable_list & variables() const
\brief The implication operator for action formulas
const action_formula & left() const
const action_formula & right() const
\brief The multi action for action formulas
const process::action_list & actions() const
\brief The not operator for action formulas
const action_formula & operand() const
\brief The or operator for action formulas
const action_formula & right() const
const action_formula & left() const
\brief The value true for action formulas
sort_expression sort() const
Returns the sort of the data expression.
Definition data.cpp:108
data_equation_vector & user_defined_equations()
data_specification()
Default constructor. Generate a data specification that contains only booleans and positive numbers.
const data_specification operator()() const
Yields a type checked data specification, provided typechecking was successful. If not successful an ...
void operator()(data_equation_vector &eqns)
Yields a type checked equation list, and sets the types in the equations right. If not successful an ...
data_type_checker(const data_specification &data_spec)
make a data type checker. Throws a mcrl2::runtime_error exception if the data_specification is not we...
Identifier generator that stores the identifiers of the context in a set. Using the operator()() and ...
\brief A data variable
Definition variable.h:28
logger(const log_level_t l)
Default constructor.
Definition logger.h:164
Linear process specification.
stochastic_specification(const specification &other)
Constructor. This constructor is explicit as implicit conversions of this kind is a source of bugs.
\brief An untyped multi action or data application
\brief The alt operator for regular formulas
const regular_formula & right() const
const regular_formula & left() const
\brief The seq operator for regular formulas
const regular_formula & right() const
const regular_formula & left() const
\brief The 'trans or nil' operator for regular formulas
const regular_formula & operand() const
\brief The trans operator for regular formulas
const regular_formula & operand() const
\brief An untyped regular formula or action formula
const core::identifier_string & name() const
Standard exception class for reporting runtime errors.
Definition exception.h:27
\brief The and operator for state formulas
const state_formula & right() const
const state_formula & left() const
\brief The multiply operator for state formulas with values
const state_formula & left() const
const data::data_expression & right() const
\brief The multiply operator for state formulas with values
const data::data_expression & left() const
const state_formula & right() const
\brief The timed delay operator for state formulas
const data::data_expression & time_stamp() const
\brief The delay operator for state formulas
delay()
\brief Default constructor X3.
Traverser that checks for name clashes in parameters of nested mu's/nu's and forall/exists.
state_formulas::state_formula_traverser< state_formula_data_variable_name_clash_checker > super
void insert(const core::identifier_string &name, const state_formula &x)
state_formulas::data_expression_builder< state_formula_data_variable_name_clash_resolver > super
std::map< data::variable, std::vector< data::variable > > substitutions
data::assignment_list apply_assignments(const data::assignment_list &x)
state_formula_data_variable_name_clash_resolver(data::set_identifier_generator &generator_)
Traverser that checks for name clashes in nested mu's/nu's.
void push(const core::identifier_string &name)
Pushes name on the stack.
state_formulas::state_formula_traverser< state_variable_name_clash_checker > super
std::vector< core::identifier_string > m_name_stack
The stack of names.
utilities::number_postfix_generator m_generator
Generator for fresh variable names.
std::map< core::identifier_string, std::vector< core::identifier_string > > name_map
state_formulas::state_formula_builder< Derived > super
void pop(const core::identifier_string &name)
Pops the name of the stack.
void push(const core::identifier_string &name)
Pushes name on the stack.
\brief The existential quantification operator for state formulas
const state_formula & body() const
const data::variable_list & variables() const
\brief The value false for state formulas
false_()
\brief Default constructor X3.
\brief The universal quantification operator for state formulas
const state_formula & body() const
const data::variable_list & variables() const
\brief The implication operator for state formulas
const state_formula & left() const
const state_formula & right() const
\brief The infimum over a data type for state formulas
const data::variable_list & variables() const
const state_formula & body() const
\brief The may operator for state formulas
const state_formula & operand() const
const regular_formulas::regular_formula & formula() const
\brief The minus operator for state formulas
minus(const state_formula &operand)
\brief Constructor Z14.
const state_formula & operand() const
\brief The mu operator for state formulas
const core::identifier_string & name() const
const data::assignment_list & assignments() const
mu(const core::identifier_string &name, const data::assignment_list &assignments, const state_formula &operand)
\brief Constructor Z14.
const state_formula & operand() const
\brief The must operator for state formulas
const regular_formulas::regular_formula & formula() const
const state_formula & operand() const
\brief The not operator for state formulas
const state_formula & operand() const
not_(const state_formula &operand)
\brief Constructor Z14.
\brief The nu operator for state formulas
nu(const core::identifier_string &name, const data::assignment_list &assignments, const state_formula &operand)
\brief Constructor Z14.
const core::identifier_string & name() const
const state_formula & operand() const
const data::assignment_list & assignments() const
\brief The or operator for state formulas
or_(const state_formula &left, const state_formula &right)
\brief Constructor Z14.
const state_formula & right() const
const state_formula & left() const
\brief The plus operator for state formulas with values
const state_formula & left() const
const state_formula & right() const
process::action_label_list m_action_labels
The action specification of the specification.
const state_formula & formula() const
Returns the formula of the state formula specification.
state_formula_specification(const state_formula &formula, const data::data_specification &data=data::data_specification(), const process::action_label_list &action_labels={})
Constructor of a state formula specification.
state_formula m_formula
The formula of the specification.
data::data_specification m_data
The data specification of the specification.
state_formula & formula()
Returns the formula of the state formula specification.
const process::action_label_list & action_labels() const
Returns the action label specification.
process::action_label_list & action_labels()
Returns the action label specification.
state_formula(const state_formula &) noexcept=default
Move semantics.
state_formula & operator=(state_formula &&) noexcept=default
state_formula(const atermpp::aterm &term)
state_formula & operator=(const state_formula &) noexcept=default
\brief The sum over a data type for state formulas
const data::variable_list & variables() const
const state_formula & body() const
\brief The supremum over a data type for state formulas
const state_formula & body() const
const data::variable_list & variables() const
\brief The value true for state formulas
true_()
\brief Default constructor X3.
\brief The state formula variable
const core::identifier_string & name() const
const data::data_expression_list & arguments() const
\brief The timed yaled operator for state formulas
const data::data_expression & time_stamp() const
\brief The yaled operator for state formulas
yaled()
\brief Default constructor X3.
Identifier generator that generates names consisting of a prefix followed by a number....
D_ParserTables parser_tables_mcrl2
Definition dparser.cpp:20
#define mCRL2log(LEVEL)
mCRL2log(LEVEL) provides the stream used to log.
Definition logger.h:391
The main namespace for the aterm++ library.
Definition algorithm.h:21
action_formula parse_action_formula(const std::string &text)
bool is_at(const atermpp::aterm &x)
std::string pp(const action_formulas::action_formula &x)
std::string pp(const action_formulas::exists &x)
std::string pp(const action_formulas::and_ &x)
std::set< data::variable > find_all_variables(const action_formulas::action_formula &x)
action_formula parse_action_formula(const std::string &text, const data::data_specification &dataspec, const VariableContainer &variables, const ActionLabelContainer &actions)
Definition parse.h:37
std::string pp(const action_formulas::at &x)
bool is_or(const atermpp::aterm &x)
bool is_true(const atermpp::aterm &x)
bool is_forall(const atermpp::aterm &x)
std::string pp(const action_formulas::imp &x)
bool is_false(const atermpp::aterm &x)
bool is_not(const atermpp::aterm &x)
std::string pp(const action_formulas::multi_action &x)
std::string pp(const action_formulas::or_ &x)
std::string pp(const action_formulas::forall &x)
bool is_imp(const atermpp::aterm &x)
bool is_and(const atermpp::aterm &x)
std::string pp(const action_formulas::not_ &x)
std::string pp(const action_formulas::false_ &x)
action_formula parse_action_formula(const std::string &text, const lps::stochastic_specification &lpsspec)
Definition parse.h:50
bool is_multi_action(const atermpp::aterm &x)
std::string pp(const action_formulas::true_ &x)
bool is_exists(const atermpp::aterm &x)
bool is_action_formula(const atermpp::aterm &x)
void syntax_error_fn(struct D_Parser *ap)
Custom syntax error function that prints both the line number and the column.
Definition dparser.cpp:465
D_ParseNode * ambiguity_fn(struct D_Parser *, int n, struct D_ParseNode **v)
Function for resolving parser ambiguities.
Definition dparser.cpp:334
void warn_left_merge_merge(const parse_node &)
Prints a warning for each occurrence of 'x ||_ y || z' in the parse tree.
atermpp::aterm_string identifier_string
String type of the LPS library. Identifier strings are represented internally as ATerms.
void warn_and_or(const parse_node &)
Prints a warning for each occurrence of 'x && y || z' in the parse tree.
Namespace for system defined sort bool_.
Definition bool.h:32
const basic_sort & bool_()
Constructor for sort expression Bool.
Definition bool.h:44
application not_(const data_expression &arg0)
Application of function symbol !.
Definition bool.h:197
Namespace for system defined sort real_.
application negate(const data_expression &arg0)
Application of function symbol -.
Definition real1.h:857
Namespace for all data library functionality.
Definition data.cpp:22
bool is_data_expression(const atermpp::aterm &x)
Test for a data_expression expression.
data_specification merge_data_specifications(const data_specification &dataspec1, const data_specification &dataspec2)
Merges two data specifications. Throws an exception if conflicts are detected.
atermpp::term_list< data_expression > data_expression_list
\brief list of data_expressions
bool is_untyped_data_parameter(const atermpp::aterm &x)
atermpp::term_list< variable > variable_list
\brief list of variables
atermpp::term_list< assignment > assignment_list
\brief list of assignments
Definition assignment.h:146
The main namespace for the LPS library.
Definition constelm.h:21
specification remove_stochastic_operators(const stochastic_specification &spec)
Converts a stochastic specification to a specification. Throws an exception if non-empty distribution...
The main namespace for the Process library.
atermpp::term_list< action_label > action_label_list
\brief list of action_labels
atermpp::term_list< action > action_list
\brief list of actions
bool is_untyped_multi_action(const atermpp::aterm &x)
state_formula translate_reg_frms(const state_formula &state_frm)
Translate regular formulas in terms of state and action formulas.
regular_formula parse_regular_formula(const std::string &text)
std::string pp(const regular_formulas::regular_formula &x)
bool is_alt(const atermpp::aterm &x)
bool is_untyped_regular_formula(const atermpp::aterm &x)
regular_formula parse_regular_formula(const std::string &text, const data::data_specification &dataspec, const VariableContainer &variables, const ActionLabelContainer &actions)
Definition parse.h:68
bool is_trans(const atermpp::aterm &x)
regular_formula parse_regular_formula(const std::string &text, const lps::stochastic_specification &lpsspec)
Definition parse.h:81
std::string pp(const regular_formulas::seq &x)
bool is_trans_or_nil(const atermpp::aterm &x)
bool is_seq(const atermpp::aterm &x)
std::string pp(const regular_formulas::alt &x)
std::string pp(const regular_formulas::untyped_regular_formula &x)
std::string pp(const regular_formulas::trans_or_nil &x)
std::string pp(const regular_formulas::trans &x)
state_formula normalize(const state_formula &x)
Normalizes a state formula, i.e. removes any occurrences of ! or =>.
bool is_normalized(const state_formula &x)
Checks if a state formula is normalized.
state_formula normalize(const state_formula &x, bool quantitative=false, bool negated=false)
state_formula_specification parse_state_formula_specification(std::istream &in, const bool formula_is_quantitative)
Parses a state formula specification from an input stream.
bool is_monotonous(const state_formula &f)
Returns true if the state formula is monotonous.
state_formula parse_state_formula(std::istream &in, lps::stochastic_specification &lpsspec, const bool formula_is_quantitative)
Parses a state formula from an input stream.
state_formula_specification parse_state_formula_specification(const std::string &text, const bool formula_is_quantitative)
Parses a state formula specification from text.
state_formula parse_state_formula(const std::string &text, lps::stochastic_specification &lpsspec, const bool formula_is_quantitative)
Parses a state formula from text.
state_formula_specification parse_state_formula_specification(const std::string &text, lps::stochastic_specification &lpsspec, const bool formula_is_quantitative)
Parses a state formula specification from text.
bool is_timed(const state_formula &x)
std::set< core::identifier_string > find_state_variable_names(const state_formula &x)
Returns the names of the state variables that occur in x.
state_formula_specification parse_state_formula_specification(std::istream &in, lps::stochastic_specification &lpsspec, const bool formula_is_quantitative)
Parses a state formula specification from an input stream.
state_formula_specification parse_state_formula_specification(const std::string &text)
state_formula parse_state_formula(const std::string &text)
void check_data_variable_name_clashes(const state_formula &x)
Throws an exception if the formula contains name clashes in the parameters of mu/nu/exists/forall.
bool is_infimum(const atermpp::aterm &x)
std::string pp(const state_formulas::or_ &x)
std::string pp(const state_formulas::plus &x)
bool is_and(const atermpp::aterm &x)
std::string pp(const state_formulas::yaled_timed &x)
std::string pp(const state_formulas::may &x)
state_formula_specification parse_state_formula_specification(std::istream &in, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula specification from an input stream.
Definition parse.h:241
state_formula_specification parse_state_formula_specification(std::istream &in, lps::specification &lpsspec, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula specification from an input stream.
Definition parse.h:327
bool is_delay_timed(const atermpp::aterm &x)
state_formula resolve_state_formula_data_variable_name_clashes(const state_formula &x, const std::set< core::identifier_string > &context_ids=std::set< core::identifier_string >())
Resolves name clashes in data variables of formula x.
bool is_const_multiply(const atermpp::aterm &x)
std::string pp(const state_formulas::must &x)
bool is_minus(const atermpp::aterm &x)
std::string pp(const state_formulas::not_ &x)
state_formula_specification parse_state_formula_specification(const std::string &text, lps::specification &lpsspec, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula specification from a string.
Definition parse.h:291
state_formula typecheck_state_formula(const state_formula &x, const lps::stochastic_specification &lpsspec, const bool formula_is_quantitative)
Type check a state formula. Throws an exception if something went wrong.
Definition typecheck.h:810
bool is_exists(const atermpp::aterm &x)
std::string pp(const state_formulas::delay &x)
bool is_not(const atermpp::aterm &x)
state_formula parse_state_formula(std::istream &in, lps::stochastic_specification &lpsspec, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula from an input stream.
Definition parse.h:185
state_formula post_process_state_formula(const state_formula &formula, parse_state_formula_options options=parse_state_formula_options())
Definition parse.h:108
bool is_supremum(const atermpp::aterm &x)
state_formula parse_state_formula(const std::string &text, lps::stochastic_specification &lpsspec, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula from an input stream.
Definition parse.h:144
bool is_must(const atermpp::aterm &x)
std::set< data::variable > find_all_variables(const state_formulas::state_formula &x)
bool is_yaled(const atermpp::aterm &x)
std::string pp(const state_formulas::const_multiply &x)
std::string pp(const state_formulas::exists &x)
bool has_data_variable_name_clashes(const state_formula &x)
Returns true if the formula contains parameter name clashes.
std::string pp(const state_formulas::const_multiply_alt &x)
bool is_normalized(const T &x)
Checks if a state formula is normalized.
Definition normalize.h:411
std::set< data::variable > find_free_variables(const state_formulas::state_formula &x)
bool is_true(const atermpp::aterm &x)
std::string pp(const state_formulas::and_ &x)
state_formula_specification parse_state_formula_specification(const std::string &text, lps::stochastic_specification &lpsspec, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula specification from a string.
Definition parse.h:258
void check_state_variable_name_clashes(const state_formula &x)
Throws an exception if the formula contains name clashes.
std::string pp(const state_formulas::state_formula &x)
std::string pp(const state_formulas::infimum &x)
std::string pp(const state_formulas::minus &x)
state_formula parse_state_formula(std::istream &in, lps::specification &lpsspec, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula from an input stream.
Definition parse.h:202
bool is_variable(const atermpp::aterm &x)
bool is_may(const atermpp::aterm &x)
bool is_yaled_timed(const atermpp::aterm &x)
bool is_imp(const atermpp::aterm &x)
bool is_timed(const state_formula &x)
Checks if a state formula is timed.
Definition is_timed.h:60
std::string pp(const state_formulas::forall &x)
std::string pp(const state_formulas::imp &x)
state_formula translate_regular_formulas(const state_formula &x)
Translates regular formulas appearing in f into action formulas.
bool has_state_variable_name_clashes(const state_formula &x)
Returns true if the formula contains name clashes.
std::string pp(const state_formulas::yaled &x)
std::string pp(const state_formulas::sum &x)
std::string pp(const state_formulas::state_formula_specification &x)
bool is_monotonous(const state_formula &f)
Returns true if the state formula is monotonous.
state_formula parse_state_formula(const std::string &text, lps::specification &lpsspec, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula from an input stream.
Definition parse.h:166
bool is_sum(const atermpp::aterm &x)
std::string pp(const state_formulas::delay_timed &x)
state_formulas::state_formula translate_user_notation(const state_formulas::state_formula &x)
state_formulas::state_formula normalize_sorts(const state_formulas::state_formula &x, const data::sort_specification &sortspec)
std::string pp(const state_formulas::false_ &x)
bool is_nu(const atermpp::aterm &x)
bool is_delay(const atermpp::aterm &x)
std::string pp(const state_formulas::true_ &x)
std::string pp(const state_formulas::mu &x)
std::string pp(const state_formulas::supremum &x)
bool is_false(const atermpp::aterm &x)
state_formula negate_variables(const core::identifier_string &name, bool quantitative, const state_formula &x)
Negates variable instantiations in a state formula with a given name.
bool is_plus(const atermpp::aterm &x)
state_formula_specification parse_state_formula_specification(const std::string &text, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula specification from a string.
Definition parse.h:220
T normalize(const T &x, bool quantitative=false, bool negated=false, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr)
The function normalize brings (embedded) state formulas into positive normal form,...
Definition normalize.h:436
state_formula resolve_state_variable_name_clashes(const state_formula &x)
Resolves name clashes in state variables of formula x.
bool is_mu(const atermpp::aterm &x)
bool is_forall(const atermpp::aterm &x)
std::string pp(const state_formulas::nu &x)
bool is_const_multiply_alt(const atermpp::aterm &x)
state_formula_specification parse_state_formula_specification(std::istream &in, lps::stochastic_specification &lpsspec, const bool formula_is_quantitative, parse_state_formula_options options=parse_state_formula_options())
Parses a state formula specification from an input stream.
Definition parse.h:310
bool is_or(const atermpp::aterm &x)
std::string pp(const state_formulas::variable &x)
std::set< data::sort_expression > find_sort_expressions(const state_formulas::state_formula &x)
void normalize(T &x, bool quantitative=false, bool negated=false, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr)
The function normalize brings (embedded) state formulas into positive normal form,...
Definition normalize.h:424
std::set< process::action_label > find_action_labels(const state_formulas::state_formula &x)
std::set< core::identifier_string > find_identifiers(const state_formulas::state_formula &x)
std::string read_text(std::istream &in)
Read text from a stream.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Base class for action_formula_builder.
Definition builder.h:27
void apply(T &result, const data::data_expression &x)
Definition builder.h:32
Base class for action_formula_traverser.
Definition traverser.h:27
void apply(const data::data_expression &x)
Definition traverser.h:33
void apply(T &result, const action_formulas::forall &x)
Definition builder.h:629
void apply(T &result, const action_formulas::not_ &x)
Definition builder.h:593
void apply(T &result, const action_formulas::at &x)
Definition builder.h:647
void apply(T &result, const action_formulas::multi_action &x)
Definition builder.h:656
void apply(T &result, const action_formulas::and_ &x)
Definition builder.h:602
void apply(T &result, const action_formulas::exists &x)
Definition builder.h:638
void apply(T &result, const action_formulas::imp &x)
Definition builder.h:620
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:667
void apply(T &result, const action_formulas::true_ &x)
Definition builder.h:571
void apply(T &result, const action_formulas::or_ &x)
Definition builder.h:611
void apply(T &result, const action_formulas::false_ &x)
Definition builder.h:582
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:319
void apply(T &result, const action_formulas::and_ &x)
Definition builder.h:256
void apply(T &result, const action_formulas::exists &x)
Definition builder.h:292
void apply(T &result, const action_formulas::false_ &x)
Definition builder.h:236
void apply(T &result, const action_formulas::at &x)
Definition builder.h:301
void apply(T &result, const action_formulas::or_ &x)
Definition builder.h:265
void apply(T &result, const action_formulas::multi_action &x)
Definition builder.h:310
void apply(T &result, const action_formulas::true_ &x)
Definition builder.h:225
void apply(T &result, const action_formulas::not_ &x)
Definition builder.h:247
void apply(T &result, const action_formulas::imp &x)
Definition builder.h:274
void apply(T &result, const action_formulas::forall &x)
Definition builder.h:283
void apply(T &result, const action_formulas::exists &x)
Definition builder.h:119
void apply(T &result, const action_formulas::forall &x)
Definition builder.h:110
void apply(T &result, const action_formulas::true_ &x)
Definition builder.h:52
void apply(T &result, const action_formulas::or_ &x)
Definition builder.h:92
void apply(T &result, const action_formulas::false_ &x)
Definition builder.h:63
void apply(T &result, const action_formulas::at &x)
Definition builder.h:128
void apply(T &result, const action_formulas::and_ &x)
Definition builder.h:83
void apply(T &result, const action_formulas::imp &x)
Definition builder.h:101
void apply(T &result, const action_formulas::not_ &x)
Definition builder.h:74
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:146
void apply(T &result, const action_formulas::multi_action &x)
Definition builder.h:137
void apply(const action_formulas::action_formula &x)
Definition traverser.h:425
void apply(const action_formulas::multi_action &x)
Definition traverser.h:418
void apply(const action_formulas::forall &x)
Definition traverser.h:850
void apply(const action_formulas::false_ &x)
Definition traverser.h:812
void apply(const action_formulas::true_ &x)
Definition traverser.h:805
void apply(const action_formulas::not_ &x)
Definition traverser.h:819
void apply(const action_formulas::at &x)
Definition traverser.h:864
void apply(const action_formulas::action_formula &x)
Definition traverser.h:878
void apply(const action_formulas::multi_action &x)
Definition traverser.h:871
void apply(const action_formulas::exists &x)
Definition traverser.h:857
void apply(const action_formulas::imp &x)
Definition traverser.h:842
void apply(const action_formulas::and_ &x)
Definition traverser.h:826
void apply(const action_formulas::or_ &x)
Definition traverser.h:834
void apply(const action_formulas::multi_action &x)
Definition traverser.h:269
void apply(const action_formulas::at &x)
Definition traverser.h:261
void apply(const action_formulas::exists &x)
Definition traverser.h:254
void apply(const action_formulas::action_formula &x)
Definition traverser.h:276
void apply(const action_formulas::forall &x)
Definition traverser.h:247
void apply(const action_formulas::not_ &x)
Definition traverser.h:216
void apply(const action_formulas::false_ &x)
Definition traverser.h:209
void apply(const action_formulas::or_ &x)
Definition traverser.h:231
void apply(const action_formulas::true_ &x)
Definition traverser.h:202
void apply(const action_formulas::and_ &x)
Definition traverser.h:223
void apply(const action_formulas::imp &x)
Definition traverser.h:239
void apply(const action_formulas::forall &x)
Definition traverser.h:698
void apply(const action_formulas::or_ &x)
Definition traverser.h:682
void apply(const action_formulas::false_ &x)
Definition traverser.h:660
void apply(const action_formulas::and_ &x)
Definition traverser.h:674
void apply(const action_formulas::action_formula &x)
Definition traverser.h:729
void apply(const action_formulas::multi_action &x)
Definition traverser.h:722
void apply(const action_formulas::true_ &x)
Definition traverser.h:653
void apply(const action_formulas::imp &x)
Definition traverser.h:690
void apply(const action_formulas::not_ &x)
Definition traverser.h:667
void apply(const action_formulas::exists &x)
Definition traverser.h:706
void apply(const action_formulas::action_formula &x)
Definition traverser.h:126
void apply(const action_formulas::true_ &x)
Definition traverser.h:50
void apply(const action_formulas::or_ &x)
Definition traverser.h:79
void apply(const action_formulas::multi_action &x)
Definition traverser.h:119
void apply(const action_formulas::forall &x)
Definition traverser.h:95
void apply(const action_formulas::and_ &x)
Definition traverser.h:71
void apply(const action_formulas::false_ &x)
Definition traverser.h:57
void apply(const action_formulas::at &x)
Definition traverser.h:111
void apply(const action_formulas::not_ &x)
Definition traverser.h:64
void apply(const action_formulas::imp &x)
Definition traverser.h:87
void apply(const action_formulas::exists &x)
Definition traverser.h:103
void apply(const action_formulas::imp &x)
Definition traverser.h:538
void apply(const action_formulas::and_ &x)
Definition traverser.h:522
void apply(const action_formulas::or_ &x)
Definition traverser.h:530
void apply(const action_formulas::forall &x)
Definition traverser.h:546
void apply(const action_formulas::at &x)
Definition traverser.h:562
void apply(const action_formulas::multi_action &x)
Definition traverser.h:570
void apply(const action_formulas::true_ &x)
Definition traverser.h:501
void apply(const action_formulas::action_formula &x)
Definition traverser.h:577
void apply(const action_formulas::exists &x)
Definition traverser.h:554
void apply(const action_formulas::not_ &x)
Definition traverser.h:515
void apply(const action_formulas::false_ &x)
Definition traverser.h:508
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:492
void apply(T &result, const action_formulas::not_ &x)
Definition builder.h:420
void apply(T &result, const action_formulas::true_ &x)
Definition builder.h:398
void apply(T &result, const action_formulas::or_ &x)
Definition builder.h:438
void apply(T &result, const action_formulas::exists &x)
Definition builder.h:465
void apply(T &result, const action_formulas::and_ &x)
Definition builder.h:429
void apply(T &result, const action_formulas::imp &x)
Definition builder.h:447
void apply(T &result, const action_formulas::at &x)
Definition builder.h:474
void apply(T &result, const action_formulas::false_ &x)
Definition builder.h:409
void apply(T &result, const action_formulas::forall &x)
Definition builder.h:456
void apply(T &result, const action_formulas::multi_action &x)
Definition builder.h:483
action_formula_actions(const core::parser &parser_)
Definition parse_impl.h:30
action_formulas::action_formula parse_ActFrm(const core::parse_node &node) const
Definition parse_impl.h:34
expression builder that visits all sub expressions
Definition builder.h:42
Wrapper for D_ParseNode.
Definition dparser.h:86
Wrapper for D_Parser and its corresponding D_ParserTables.
Definition dparser.h:148
parse_node parse(const std::string &text, unsigned int start_symbol_index=0, bool partial_parses=false)
Parses a string. N.B. The user is responsible for destruction of the returned value by calling destro...
Definition dparser.cpp:211
parser(D_ParserTables &tables, D_AmbiguityFn ambiguity_fn=nullptr, D_SyntaxErrorFn syntax_error_fn=nullptr, std::size_t max_error_message_count=1)
Definition dparser.cpp:174
unsigned int start_symbol_index(const std::string &name) const
Definition dparser.cpp:206
expression traverser that visits all sub expressions
Definition traverser.h:32
void apply(T &result, const regular_formulas::trans &x)
Definition builder.h:897
void apply(T &result, const regular_formulas::trans_or_nil &x)
Definition builder.h:906
void apply(T &result, const regular_formulas::seq &x)
Definition builder.h:879
void apply(T &result, const regular_formulas::regular_formula &x)
Definition builder.h:924
void apply(T &result, const regular_formulas::alt &x)
Definition builder.h:888
void apply(T &result, const regular_formulas::untyped_regular_formula &x)
Definition builder.h:915
void apply(T &result, const regular_formulas::trans_or_nil &x)
Definition builder.h:1106
void apply(T &result, const regular_formulas::seq &x)
Definition builder.h:1079
void apply(T &result, const regular_formulas::regular_formula &x)
Definition builder.h:1124
void apply(T &result, const regular_formulas::untyped_regular_formula &x)
Definition builder.h:1115
void apply(T &result, const regular_formulas::trans &x)
Definition builder.h:1097
void apply(T &result, const regular_formulas::alt &x)
Definition builder.h:1088
void apply(T &result, const regular_formulas::trans &x)
Definition builder.h:797
void apply(T &result, const regular_formulas::seq &x)
Definition builder.h:779
void apply(T &result, const regular_formulas::regular_formula &x)
Definition builder.h:824
void apply(T &result, const regular_formulas::untyped_regular_formula &x)
Definition builder.h:815
void apply(T &result, const regular_formulas::alt &x)
Definition builder.h:788
void apply(T &result, const regular_formulas::trans_or_nil &x)
Definition builder.h:806
void apply(const regular_formulas::alt &x)
Definition traverser.h:1442
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1457
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1464
void apply(const regular_formulas::trans &x)
Definition traverser.h:1450
void apply(const regular_formulas::seq &x)
Definition traverser.h:1434
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1472
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1096
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1111
void apply(const regular_formulas::seq &x)
Definition traverser.h:1073
void apply(const regular_formulas::alt &x)
Definition traverser.h:1081
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1103
void apply(const regular_formulas::trans &x)
Definition traverser.h:1089
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1373
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1382
void apply(const regular_formulas::trans &x)
Definition traverser.h:1359
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1366
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1193
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1201
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1186
void apply(const regular_formulas::trans &x)
Definition traverser.h:999
void apply(const regular_formulas::alt &x)
Definition traverser.h:991
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1013
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1006
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1021
void apply(const regular_formulas::seq &x)
Definition traverser.h:983
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1276
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1291
void apply(const regular_formulas::alt &x)
Definition traverser.h:1261
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1283
void apply(const regular_formulas::seq &x)
Definition traverser.h:1253
void apply(const regular_formulas::trans &x)
Definition traverser.h:1269
void apply(T &result, const regular_formulas::untyped_regular_formula &x)
Definition builder.h:1015
void apply(T &result, const regular_formulas::trans_or_nil &x)
Definition builder.h:1006
void apply(T &result, const regular_formulas::seq &x)
Definition builder.h:979
void apply(T &result, const regular_formulas::trans &x)
Definition builder.h:997
void apply(T &result, const regular_formulas::alt &x)
Definition builder.h:988
void apply(T &result, const regular_formulas::regular_formula &x)
Definition builder.h:1024
regular_formulas::regular_formula parse_RegFrm(const core::parse_node &node) const
Definition parse_impl.h:69
Builder class for regular_formula_builder. Used as a base class for pbes_expression_builder.
Definition builder.h:743
void apply(T &result, const data::data_expression &x)
Definition builder.h:748
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:758
Traversal class for regular_formula_traverser. Used as a base class for pbes_expression_traverser.
Definition traverser.h:953
void apply(const action_formulas::action_formula &x)
Definition traverser.h:966
void apply(const data::data_expression &x)
Definition traverser.h:959
void apply(T &result, const state_formulas::nu &x)
Definition builder.h:1775
void apply(T &result, const state_formulas::supremum &x)
Definition builder.h:1690
void apply(T &result, const state_formulas::imp &x)
Definition builder.h:1627
void apply(T &result, const state_formulas::state_formula &x)
Definition builder.h:1802
void apply(T &result, const state_formulas::plus &x)
Definition builder.h:1636
void apply(T &result, const state_formulas::yaled &x)
Definition builder.h:1726
void apply(T &result, const state_formulas::false_ &x)
Definition builder.h:1580
void apply(T &result, const state_formulas::yaled_timed &x)
Definition builder.h:1737
void apply(T &result, const state_formulas::const_multiply &x)
Definition builder.h:1645
void apply(T &result, const state_formulas::and_ &x)
Definition builder.h:1609
void apply(T &result, const state_formulas::exists &x)
Definition builder.h:1672
void apply(T &result, const state_formulas::may &x)
Definition builder.h:1717
void apply(T &result, const state_formulas::minus &x)
Definition builder.h:1600
void apply(T &result, const state_formulas::infimum &x)
Definition builder.h:1681
void apply(T &result, const state_formulas::or_ &x)
Definition builder.h:1618
void apply(T &result, const state_formulas::sum &x)
Definition builder.h:1699
void apply(T &result, const state_formulas::mu &x)
Definition builder.h:1784
void apply(T &result, const state_formulas::must &x)
Definition builder.h:1708
void apply(T &result, const state_formulas::variable &x)
Definition builder.h:1766
void apply(T &result, const state_formulas::not_ &x)
Definition builder.h:1591
void update(state_formulas::state_formula_specification &x)
Definition builder.h:1792
void apply(T &result, const state_formulas::delay &x)
Definition builder.h:1746
void apply(T &result, const state_formulas::true_ &x)
Definition builder.h:1569
void apply(T &result, const state_formulas::const_multiply_alt &x)
Definition builder.h:1654
void apply(T &result, const state_formulas::forall &x)
Definition builder.h:1663
void apply(T &result, const state_formulas::delay_timed &x)
Definition builder.h:1757
void apply(T &result, const state_formulas::supremum &x)
Definition builder.h:1323
void apply(T &result, const state_formulas::yaled &x)
Definition builder.h:1359
void apply(T &result, const state_formulas::true_ &x)
Definition builder.h:1202
void apply(T &result, const state_formulas::const_multiply &x)
Definition builder.h:1278
void apply(T &result, const state_formulas::false_ &x)
Definition builder.h:1213
void apply(T &result, const state_formulas::const_multiply_alt &x)
Definition builder.h:1287
void apply(T &result, const state_formulas::sum &x)
Definition builder.h:1332
void apply(T &result, const state_formulas::not_ &x)
Definition builder.h:1224
void apply(T &result, const state_formulas::may &x)
Definition builder.h:1350
void apply(T &result, const state_formulas::forall &x)
Definition builder.h:1296
void apply(T &result, const state_formulas::exists &x)
Definition builder.h:1305
void apply(T &result, const state_formulas::delay_timed &x)
Definition builder.h:1390
void apply(T &result, const state_formulas::yaled_timed &x)
Definition builder.h:1370
void apply(T &result, const state_formulas::mu &x)
Definition builder.h:1417
void apply(T &result, const state_formulas::delay &x)
Definition builder.h:1379
void apply(T &result, const state_formulas::must &x)
Definition builder.h:1341
void apply(T &result, const state_formulas::infimum &x)
Definition builder.h:1314
void apply(T &result, const state_formulas::imp &x)
Definition builder.h:1260
void update(state_formulas::state_formula_specification &x)
Definition builder.h:1425
void apply(T &result, const state_formulas::state_formula &x)
Definition builder.h:1438
void apply(T &result, const state_formulas::nu &x)
Definition builder.h:1408
void apply(T &result, const state_formulas::and_ &x)
Definition builder.h:1242
void apply(T &result, const state_formulas::minus &x)
Definition builder.h:1233
void apply(T &result, const state_formulas::variable &x)
Definition builder.h:1399
void apply(T &result, const state_formulas::plus &x)
Definition builder.h:1269
void apply(T &result, const state_formulas::or_ &x)
Definition builder.h:1251
void apply(T &result, const state_formulas::exists &x)
Definition builder.h:2400
void apply(T &result, const state_formulas::yaled &x)
Definition builder.h:2454
void apply(T &result, const state_formulas::plus &x)
Definition builder.h:2364
void apply(T &result, const state_formulas::delay_timed &x)
Definition builder.h:2487
void apply(T &result, const state_formulas::must &x)
Definition builder.h:2436
void apply(T &result, const state_formulas::sum &x)
Definition builder.h:2427
void apply(T &result, const state_formulas::infimum &x)
Definition builder.h:2409
void apply(T &result, const state_formulas::const_multiply &x)
Definition builder.h:2373
void update(state_formulas::state_formula_specification &x)
Definition builder.h:2526
void apply(T &result, const state_formulas::may &x)
Definition builder.h:2445
void apply(T &result, const state_formulas::false_ &x)
Definition builder.h:2308
void apply(T &result, const state_formulas::or_ &x)
Definition builder.h:2346
void apply(T &result, const state_formulas::imp &x)
Definition builder.h:2355
void apply(T &result, const state_formulas::not_ &x)
Definition builder.h:2319
void apply(T &result, const state_formulas::variable &x)
Definition builder.h:2498
void apply(T &result, const state_formulas::forall &x)
Definition builder.h:2391
void apply(T &result, const state_formulas::delay &x)
Definition builder.h:2476
void apply(T &result, const state_formulas::yaled_timed &x)
Definition builder.h:2465
void apply(T &result, const state_formulas::supremum &x)
Definition builder.h:2418
void apply(T &result, const state_formulas::const_multiply_alt &x)
Definition builder.h:2382
void apply(T &result, const state_formulas::nu &x)
Definition builder.h:2509
void apply(T &result, const state_formulas::and_ &x)
Definition builder.h:2337
void apply(T &result, const state_formulas::minus &x)
Definition builder.h:2328
void apply(T &result, const state_formulas::mu &x)
Definition builder.h:2518
void apply(T &result, const state_formulas::true_ &x)
Definition builder.h:2297
void apply(T &result, const state_formulas::state_formula &x)
Definition builder.h:2536
void apply(const state_formulas::mu &x)
Definition traverser.h:3908
void apply(const state_formulas::state_formula &x)
Definition traverser.h:3923
void apply(const state_formulas::delay &x)
Definition traverser.h:3880
void apply(const state_formulas::variable &x)
Definition traverser.h:3894
void apply(const state_formulas::infimum &x)
Definition traverser.h:3829
void apply(const state_formulas::minus &x)
Definition traverser.h:3762
void apply(const state_formulas::false_ &x)
Definition traverser.h:3748
void apply(const state_formulas::sum &x)
Definition traverser.h:3843
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:3801
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:3887
void apply(const state_formulas::must &x)
Definition traverser.h:3850
void apply(const state_formulas::plus &x)
Definition traverser.h:3793
void apply(const state_formulas::imp &x)
Definition traverser.h:3785
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:3873
void apply(const state_formulas::nu &x)
Definition traverser.h:3901
void apply(const state_formulas::exists &x)
Definition traverser.h:3822
void apply(const state_formulas::supremum &x)
Definition traverser.h:3836
void apply(const state_formulas::true_ &x)
Definition traverser.h:3741
void apply(const state_formulas::not_ &x)
Definition traverser.h:3755
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:3808
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:3915
void apply(const state_formulas::and_ &x)
Definition traverser.h:3769
void apply(const state_formulas::or_ &x)
Definition traverser.h:3777
void apply(const state_formulas::may &x)
Definition traverser.h:3858
void apply(const state_formulas::yaled &x)
Definition traverser.h:3866
void apply(const state_formulas::forall &x)
Definition traverser.h:3815
void apply(const state_formulas::plus &x)
Definition traverser.h:1917
void apply(const state_formulas::supremum &x)
Definition traverser.h:1962
void apply(const state_formulas::and_ &x)
Definition traverser.h:1893
void apply(const state_formulas::sum &x)
Definition traverser.h:1969
void apply(const state_formulas::variable &x)
Definition traverser.h:2020
void apply(const state_formulas::not_ &x)
Definition traverser.h:1879
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:2043
void apply(const state_formulas::may &x)
Definition traverser.h:1984
void apply(const state_formulas::forall &x)
Definition traverser.h:1941
void apply(const state_formulas::or_ &x)
Definition traverser.h:1901
void apply(const state_formulas::exists &x)
Definition traverser.h:1948
void apply(const state_formulas::false_ &x)
Definition traverser.h:1872
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:1999
void apply(const state_formulas::true_ &x)
Definition traverser.h:1865
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:2013
void apply(const state_formulas::must &x)
Definition traverser.h:1976
void apply(const state_formulas::yaled &x)
Definition traverser.h:1992
void apply(const state_formulas::state_formula &x)
Definition traverser.h:2050
void apply(const state_formulas::imp &x)
Definition traverser.h:1909
void apply(const state_formulas::delay &x)
Definition traverser.h:2006
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:1933
void apply(const state_formulas::minus &x)
Definition traverser.h:1886
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:1925
void apply(const state_formulas::infimum &x)
Definition traverser.h:1955
void apply(const state_formulas::plus &x)
Definition traverser.h:3162
void apply(const state_formulas::variable &x)
Definition traverser.h:3270
void apply(const state_formulas::supremum &x)
Definition traverser.h:3210
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:3170
void apply(const state_formulas::delay &x)
Definition traverser.h:3256
void apply(const state_formulas::exists &x)
Definition traverser.h:3194
void apply(const state_formulas::yaled &x)
Definition traverser.h:3242
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:3249
void apply(const state_formulas::false_ &x)
Definition traverser.h:3117
void apply(const state_formulas::state_formula &x)
Definition traverser.h:3304
void apply(const state_formulas::and_ &x)
Definition traverser.h:3138
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:3178
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:3296
void apply(const state_formulas::minus &x)
Definition traverser.h:3131
void apply(const state_formulas::must &x)
Definition traverser.h:3226
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:3263
void apply(const state_formulas::forall &x)
Definition traverser.h:3186
void apply(const state_formulas::infimum &x)
Definition traverser.h:3202
void apply(const state_formulas::not_ &x)
Definition traverser.h:3124
void apply(const state_formulas::true_ &x)
Definition traverser.h:3110
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:3606
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:3564
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:3492
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:3578
void apply(const state_formulas::state_formula &x)
Definition traverser.h:3613
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:3499
void apply(const state_formulas::yaled &x)
Definition traverser.h:1678
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:1606
void apply(const state_formulas::variable &x)
Definition traverser.h:1706
void apply(const state_formulas::state_formula &x)
Definition traverser.h:1737
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:1699
void apply(const state_formulas::plus &x)
Definition traverser.h:1598
void apply(const state_formulas::supremum &x)
Definition traverser.h:1646
void apply(const state_formulas::and_ &x)
Definition traverser.h:1574
void apply(const state_formulas::must &x)
Definition traverser.h:1662
void apply(const state_formulas::exists &x)
Definition traverser.h:1630
void apply(const state_formulas::false_ &x)
Definition traverser.h:1553
void apply(const state_formulas::delay &x)
Definition traverser.h:1692
void apply(const state_formulas::not_ &x)
Definition traverser.h:1560
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:1614
void apply(const state_formulas::may &x)
Definition traverser.h:1670
void apply(const state_formulas::forall &x)
Definition traverser.h:1622
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:1685
void apply(const state_formulas::infimum &x)
Definition traverser.h:1638
void apply(const state_formulas::or_ &x)
Definition traverser.h:1582
void apply(const state_formulas::true_ &x)
Definition traverser.h:1546
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:1729
void apply(const state_formulas::imp &x)
Definition traverser.h:1590
void apply(const state_formulas::minus &x)
Definition traverser.h:1567
void apply(const state_formulas::sum &x)
Definition traverser.h:1654
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:2238
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:2308
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:2245
void apply(const state_formulas::state_formula &x)
Definition traverser.h:2357
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:2322
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:2350
void apply(const state_formulas::delay &x)
Definition traverser.h:2940
void apply(const state_formulas::variable &x)
Definition traverser.h:2954
void apply(const state_formulas::may &x)
Definition traverser.h:2919
void apply(const state_formulas::infimum &x)
Definition traverser.h:2891
void apply(const state_formulas::and_ &x)
Definition traverser.h:2831
void apply(const state_formulas::state_formula &x)
Definition traverser.h:2982
void apply(const state_formulas::exists &x)
Definition traverser.h:2884
void apply(const state_formulas::mu &x)
Definition traverser.h:2968
void apply(const state_formulas::false_ &x)
Definition traverser.h:2810
void apply(const state_formulas::or_ &x)
Definition traverser.h:2839
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:2863
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:2933
void apply(const state_formulas::not_ &x)
Definition traverser.h:2817
void apply(const state_formulas::true_ &x)
Definition traverser.h:2803
void apply(const state_formulas::imp &x)
Definition traverser.h:2847
void apply(const state_formulas::sum &x)
Definition traverser.h:2905
void apply(const state_formulas::plus &x)
Definition traverser.h:2855
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:2975
void apply(const state_formulas::must &x)
Definition traverser.h:2912
void apply(const state_formulas::yaled &x)
Definition traverser.h:2926
void apply(const state_formulas::forall &x)
Definition traverser.h:2877
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:2870
void apply(const state_formulas::minus &x)
Definition traverser.h:2824
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:2947
void apply(const state_formulas::nu &x)
Definition traverser.h:2961
void apply(const state_formulas::supremum &x)
Definition traverser.h:2898
void apply(const state_formulas::false_ &x)
Definition traverser.h:2492
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:2553
void apply(const state_formulas::true_ &x)
Definition traverser.h:2485
void apply(const state_formulas::and_ &x)
Definition traverser.h:2513
void apply(const state_formulas::exists &x)
Definition traverser.h:2569
void apply(const state_formulas::or_ &x)
Definition traverser.h:2521
void apply(const state_formulas::infimum &x)
Definition traverser.h:2577
void apply(const state_formulas::yaled &x)
Definition traverser.h:2617
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:2624
void apply(const state_formulas::plus &x)
Definition traverser.h:2537
void apply(const state_formulas::sum &x)
Definition traverser.h:2593
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:2638
void apply(const state_formulas::must &x)
Definition traverser.h:2601
void apply(const state_formulas::forall &x)
Definition traverser.h:2561
void apply(const state_formulas::mu &x)
Definition traverser.h:2660
void apply(const state_formulas::delay &x)
Definition traverser.h:2631
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:2668
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:2545
void apply(const state_formulas::variable &x)
Definition traverser.h:2645
void apply(const state_formulas::supremum &x)
Definition traverser.h:2585
void apply(const state_formulas::may &x)
Definition traverser.h:2609
void apply(const state_formulas::state_formula &x)
Definition traverser.h:2675
void apply(const state_formulas::nu &x)
Definition traverser.h:2652
void apply(const state_formulas::imp &x)
Definition traverser.h:2529
void apply(const state_formulas::minus &x)
Definition traverser.h:2506
void apply(const state_formulas::not_ &x)
Definition traverser.h:2499
void apply(T &result, const state_formulas::true_ &x)
Definition builder.h:1933
void apply(T &result, const state_formulas::may &x)
Definition builder.h:2081
void apply(T &result, const state_formulas::not_ &x)
Definition builder.h:1955
void apply(T &result, const state_formulas::and_ &x)
Definition builder.h:1973
void apply(T &result, const state_formulas::minus &x)
Definition builder.h:1964
void apply(T &result, const state_formulas::delay &x)
Definition builder.h:2110
void apply(T &result, const state_formulas::plus &x)
Definition builder.h:2000
void apply(T &result, const state_formulas::yaled &x)
Definition builder.h:2090
void apply(T &result, const state_formulas::exists &x)
Definition builder.h:2036
void apply(T &result, const state_formulas::variable &x)
Definition builder.h:2130
void apply(T &result, const state_formulas::sum &x)
Definition builder.h:2063
void apply(T &result, const state_formulas::forall &x)
Definition builder.h:2027
void apply(T &result, const state_formulas::infimum &x)
Definition builder.h:2045
void apply(T &result, const state_formulas::mu &x)
Definition builder.h:2148
void apply(T &result, const state_formulas::yaled_timed &x)
Definition builder.h:2101
void apply(T &result, const state_formulas::supremum &x)
Definition builder.h:2054
void apply(T &result, const state_formulas::false_ &x)
Definition builder.h:1944
void apply(T &result, const state_formulas::or_ &x)
Definition builder.h:1982
void apply(T &result, const state_formulas::delay_timed &x)
Definition builder.h:2121
void apply(T &result, const state_formulas::const_multiply &x)
Definition builder.h:2009
void apply(T &result, const state_formulas::state_formula &x)
Definition builder.h:2166
void update(state_formulas::state_formula_specification &x)
Definition builder.h:2156
void apply(T &result, const state_formulas::must &x)
Definition builder.h:2072
void apply(T &result, const state_formulas::imp &x)
Definition builder.h:1991
void apply(T &result, const state_formulas::const_multiply_alt &x)
Definition builder.h:2018
void apply(T &result, const state_formulas::nu &x)
Definition builder.h:2139
Function that determines if a state formula is time dependent.
Definition is_timed.h:26
action_label_traverser< is_timed_traverser > super
Definition is_timed.h:27
void enter(const action_formulas::at &)
Definition is_timed.h:48
untyped_state_formula_specification parse_StateFrmSpec(const core::parse_node &node) const
Definition parse_impl.h:217
state_formula_actions(const core::parser &parser_)
Definition parse_impl.h:108
state_formulas::state_formula parse_StateFrm(const core::parse_node &node) const
Definition parse_impl.h:146
Visitor that negates propositional variable instantiations with a given name.
state_variable_negator(const core::identifier_string &name, bool quantitative)
state_formulas::state_formula_builder< Derived > super
void apply(T &result, const variable &x)
Visit variable node.
Builder class for pbes_expressions. Used as a base class for pbes_expression_builder.
Definition builder.h:1176
void apply(T &result, const data::data_expression &x)
Definition builder.h:1181
Traversal class for pbes_expressions. Used as a base class for pbes_expression_traverser.
Definition traverser.h:1523
void apply(const data::data_expression &x)
Definition traverser.h:1529
std::size_t operator()(const atermpp::detail::reference_aterm< T > &t) const