mCRL2
Loading...
Searching...
No Matches
has_name_clashes.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//
9/// \file mcrl2/modal_formula/detail/has_name_clashes.h
10/// \brief add your file description here.
11
12#ifndef MCRL2_MODAL_FORMULA_HAS_NAME_CLASHES_H
13#define MCRL2_MODAL_FORMULA_HAS_NAME_CLASHES_H
14
15#include "mcrl2/modal_formula/traverser.h"
16
17namespace mcrl2::state_formulas {
18
19namespace detail
20{
21
22/// \brief Traverser that checks for name clashes in nested mu's/nu's.
24{
25 public:
27
28 using super::apply;
29 using super::enter;
30 using super::leave;
31
32 /// \brief The stack of names.
34
35 /// \brief Pops the stack
36 void pop()
37 {
38 m_name_stack.pop_back();
39 }
40
41 /// \brief Pushes name on the stack.
42 void push(const core::identifier_string& name)
43 {
44 using utilities::detail::contains;
45 if (contains(m_name_stack, name))
46 {
47 throw mcrl2::runtime_error("nested propositional variable " + std::string(name) + " clashes");
48 }
49 m_name_stack.push_back(name);
50 }
51
52 void enter(const mu& x)
53 {
55 }
56
57 void leave(const mu&)
58 {
59 pop();
60 }
61
62 void enter(const nu& x)
63 {
65 }
66
67 void leave(const nu&)
68 {
69 pop();
70 }
71};
72
73/// \brief Traverser that checks for name clashes in parameters of nested mu's/nu's and forall/exists.
75{
76 public:
78
79 using super::apply;
80 using super::enter;
81 using super::leave;
82
84
85 // throws an exception if name was already present in m_names
86 void insert(const core::identifier_string& name, const state_formula& x)
87 {
88 auto p = m_names.insert(name);
89 if (!p.second)
90 {
91 throw mcrl2::runtime_error("Data parameter " + data::pp(name) + " in subformula " + state_formulas::pp(x) + " clashes with a data parameter in an enclosing formula.");
92 }
93 }
94
95 void erase(const core::identifier_string& name)
96 {
97 m_names.erase(name);
98 }
99
100 void enter(const mu& x)
101 {
102 for (const data::assignment& a: x.assignments())
103 {
104 insert(a.lhs().name(), x);
105 }
106 }
107
108 void leave(const mu& x)
109 {
110 for (const data::assignment& a: x.assignments())
111 {
112 erase(a.lhs().name());
113 }
114 }
115
116 void enter(const nu& x)
117 {
118 for (const data::assignment& a: x.assignments())
119 {
120 insert(a.lhs().name(), x);
121 }
122 }
123
124 void leave(const nu& x)
125 {
126 for (const data::assignment& a: x.assignments())
127 {
128 erase(a.lhs().name());
129 }
130 }
131
132 void enter(const forall& x)
133 {
134 for (const data::variable& v: x.variables())
135 {
136 insert(v.name(), x);
137 }
138 }
139
140 void leave(const forall& x)
141 {
142 for (const data::variable& v: x.variables())
143 {
144 erase(v.name());
145 }
146 }
147
148 void enter(const exists& x)
149 {
150 for (const data::variable& v: x.variables())
151 {
152 insert(v.name(), x);
153 }
154 }
155
156 void leave(const exists& x)
157 {
158 for (const data::variable& v: x.variables())
159 {
160 erase(v.name());
161 }
162 }
163};
164
165} // namespace detail
166
167/// \brief Throws an exception if the formula contains name clashes
168inline
170{
172 checker.apply(x);
173}
174
175/// \brief Returns true if the formula contains name clashes
176inline
178{
179 try
180 {
182 }
183 catch (const mcrl2::runtime_error&)
184 {
185 return true;
186 }
187 return false;
188}
189
190/// \brief Throws an exception if the formula contains name clashes in the parameters of mu/nu/exists/forall
191inline
193{
195 checker.apply(x);
196}
197
198/// \brief Returns true if the formula contains parameter name clashes
199inline
201{
202 try
203 {
205 }
206 catch (const mcrl2::runtime_error&)
207 {
208 return true;
209 }
210 return false;
211}
212
213} // namespace mcrl2::state_formulas
214
215#endif // MCRL2_MODAL_FORMULA_HAS_NAME_CLASHES_H
aterm_string(const aterm_string &t) noexcept=default
\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:107
data_specification()=default
Default constructor. Generate a data specification that contains only booleans and positive numbers.
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...
data_specification operator()() const
Yields a type checked data specification, provided typechecking was successful. If not successful an ...
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
\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.
void insert(const core::identifier_string &name, const state_formula &x)
Traverser that checks for name clashes in nested mu's/nu's.
void push(const core::identifier_string &name)
Pushes name on the stack.
std::vector< core::identifier_string > m_name_stack
The stack of names.
\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
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
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 & 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.
D_ParserTables parser_tables_mcrl2
#define mCRL2log(LEVEL)
mCRL2log(LEVEL) provides the stream used to log.
Definition logger.h:393
action_formula parse_action_formula(const std::string &text)
std::string pp(const action_formulas::exists &x, bool arg0)
bool is_at(const atermpp::aterm &x)
std::string pp(const action_formulas::imp &x, bool arg0)
std::string pp(const action_formulas::at &x, bool arg0)
std::string pp(const action_formulas::forall &x, bool arg0)
std::string pp(const action_formulas::or_ &x, bool arg0)
std::string pp(const action_formulas::action_formula &x, bool arg0)
std::string pp(const action_formulas::true_ &x, bool arg0)
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
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::not_ &x, bool arg0)
bool is_false(const atermpp::aterm &x)
bool is_not(const atermpp::aterm &x)
bool is_imp(const atermpp::aterm &x)
bool is_and(const atermpp::aterm &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::multi_action &x, bool arg0)
std::string pp(const action_formulas::false_ &x, bool arg0)
bool is_exists(const atermpp::aterm &x)
std::string pp(const action_formulas::and_ &x, bool arg0)
bool is_action_formula(const atermpp::aterm &x)
void warn_left_merge_merge(const parse_node &)
Prints a warning for each occurrence of 'x ||_ y || z' in the parse tree.
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:29
const basic_sort & bool_()
Constructor for sort expression Bool.
Definition bool.h:41
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.
bool is_untyped_data_parameter(const atermpp::aterm &x)
The main namespace for the LPS library.
Definition constelm.h:18
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.
bool is_untyped_multi_action(const atermpp::aterm &x)
regular_formula parse_regular_formula(const std::string &text)
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::trans &x, bool arg0)
std::string pp(const regular_formulas::alt &x, bool arg0)
bool is_trans_or_nil(const atermpp::aterm &x)
bool is_seq(const atermpp::aterm &x)
std::string pp(const regular_formulas::untyped_regular_formula &x, bool arg0)
std::string pp(const regular_formulas::seq &x, bool arg0)
std::string pp(const regular_formulas::trans_or_nil &x, bool arg0)
std::string pp(const regular_formulas::regular_formula &x, bool arg0)
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 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 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 normalize(const state_formula &x, bool quantitative=false, bool negated=false)
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::stochastic_specification &lpsspec, const bool formula_is_quantitative)
Parses a state formula from text.
state_formula_specification parse_state_formula_specification(std::istream &in, 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, 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::nu &x, bool arg0)
std::string pp(const state_formulas::exists &x, bool arg0)
std::string pp(const state_formulas::not_ &x, bool arg0)
bool is_and(const atermpp::aterm &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
std::string pp(const state_formulas::supremum &x, bool arg0)
bool is_delay_timed(const atermpp::aterm &x)
bool is_const_multiply(const atermpp::aterm &x)
std::ostream & operator<<(std::ostream &out, const state_formula_specification &x)
std::string pp(const state_formulas::must &x, bool arg0)
bool is_minus(const atermpp::aterm &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:811
bool is_exists(const atermpp::aterm &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
std::string pp(const state_formulas::minus &x, bool arg0)
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)
bool has_data_variable_name_clashes(const state_formula &x)
Returns true if the formula contains parameter name clashes.
bool is_normalized(const T &x)
Checks if a state formula is normalized.
Definition normalize.h:407
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::true_ &x, bool arg0)
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, bool arg0)
std::string pp(const state_formulas::const_multiply &x, bool arg0)
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
std::string pp(const state_formulas::delay_timed &x, bool arg0)
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:71
std::string pp(const state_formulas::imp &x, bool arg0)
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::mu &x, bool arg0)
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)
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)
bool is_nu(const atermpp::aterm &x)
std::string pp(const state_formulas::delay &x, bool arg0)
std::string pp(const state_formulas::forall &x, bool arg0)
std::string pp(const state_formulas::sum &x, bool arg0)
std::string pp(const state_formulas::yaled &x, bool arg0)
bool is_delay(const atermpp::aterm &x)
std::string pp(const state_formulas::infimum &x, bool arg0)
std::string pp(const state_formulas::or_ &x, bool arg0)
std::string pp(const state_formulas::may &x, bool arg0)
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
state_formula resolve_state_variable_name_clashes(const state_formula &x)
Resolves name clashes in state variables of formula x.
std::string pp(const state_formulas::and_ &x, bool arg0)
std::string pp(const state_formulas::false_ &x, bool arg0)
std::string pp(const state_formulas::const_multiply_alt &x, bool arg0)
bool is_mu(const atermpp::aterm &x)
bool is_forall(const atermpp::aterm &x)
std::string pp(const state_formulas::state_formula_specification &x, bool arg0)
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
std::string pp(const state_formulas::yaled_timed &x, bool arg0)
std::string pp(const state_formulas::plus &x, bool arg0)
bool is_or(const atermpp::aterm &x)
std::string pp(const state_formulas::variable &x, bool arg0)
std::set< data::sort_expression > find_sort_expressions(const state_formulas::state_formula &x)
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)
Base class for action_formula_builder.
Definition builder.h:27
void apply(T &result, const data::untyped_data_parameter &x)
Definition builder.h:41
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(const process::untyped_multi_action &x)
Definition traverser.h:47
void apply(const data::untyped_data_parameter &x)
Definition traverser.h:40
void apply(T &result, const action_formulas::forall &x)
Definition builder.h:591
void apply(T &result, const action_formulas::not_ &x)
Definition builder.h:559
void apply(T &result, const action_formulas::at &x)
Definition builder.h:607
void apply(T &result, const action_formulas::multi_action &x)
Definition builder.h:615
void apply(T &result, const action_formulas::and_ &x)
Definition builder.h:567
void apply(T &result, const action_formulas::exists &x)
Definition builder.h:599
void apply(T &result, const action_formulas::imp &x)
Definition builder.h:583
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:624
void apply(T &result, const action_formulas::true_ &x)
Definition builder.h:541
void apply(T &result, const action_formulas::or_ &x)
Definition builder.h:575
void apply(T &result, const action_formulas::false_ &x)
Definition builder.h:550
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:303
void apply(T &result, const action_formulas::and_ &x)
Definition builder.h:247
void apply(T &result, const action_formulas::exists &x)
Definition builder.h:279
void apply(T &result, const action_formulas::false_ &x)
Definition builder.h:230
void apply(T &result, const action_formulas::at &x)
Definition builder.h:287
void apply(T &result, const action_formulas::or_ &x)
Definition builder.h:255
void apply(T &result, const action_formulas::multi_action &x)
Definition builder.h:295
void apply(T &result, const action_formulas::true_ &x)
Definition builder.h:221
void apply(T &result, const action_formulas::not_ &x)
Definition builder.h:239
void apply(T &result, const action_formulas::imp &x)
Definition builder.h:263
void apply(T &result, const action_formulas::forall &x)
Definition builder.h:271
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:111
void apply(T &result, const action_formulas::true_ &x)
Definition builder.h:61
void apply(T &result, const action_formulas::or_ &x)
Definition builder.h:95
void apply(T &result, const action_formulas::false_ &x)
Definition builder.h:70
void apply(T &result, const action_formulas::at &x)
Definition builder.h:127
void apply(T &result, const action_formulas::and_ &x)
Definition builder.h:87
void apply(T &result, const action_formulas::imp &x)
Definition builder.h:103
void apply(T &result, const action_formulas::not_ &x)
Definition builder.h:79
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:143
void apply(T &result, const action_formulas::multi_action &x)
Definition builder.h:135
void apply(const action_formulas::action_formula &x)
Definition traverser.h:439
void apply(const action_formulas::multi_action &x)
Definition traverser.h:432
void apply(const action_formulas::forall &x)
Definition traverser.h:864
void apply(const action_formulas::false_ &x)
Definition traverser.h:826
void apply(const action_formulas::true_ &x)
Definition traverser.h:819
void apply(const action_formulas::not_ &x)
Definition traverser.h:833
void apply(const action_formulas::at &x)
Definition traverser.h:878
void apply(const action_formulas::action_formula &x)
Definition traverser.h:892
void apply(const action_formulas::multi_action &x)
Definition traverser.h:885
void apply(const action_formulas::exists &x)
Definition traverser.h:871
void apply(const action_formulas::imp &x)
Definition traverser.h:856
void apply(const action_formulas::and_ &x)
Definition traverser.h:840
void apply(const action_formulas::or_ &x)
Definition traverser.h:848
void apply(const action_formulas::multi_action &x)
Definition traverser.h:283
void apply(const action_formulas::at &x)
Definition traverser.h:275
void apply(const action_formulas::exists &x)
Definition traverser.h:268
void apply(const action_formulas::action_formula &x)
Definition traverser.h:290
void apply(const action_formulas::forall &x)
Definition traverser.h:261
void apply(const action_formulas::not_ &x)
Definition traverser.h:230
void apply(const action_formulas::false_ &x)
Definition traverser.h:223
void apply(const action_formulas::or_ &x)
Definition traverser.h:245
void apply(const action_formulas::true_ &x)
Definition traverser.h:216
void apply(const action_formulas::and_ &x)
Definition traverser.h:237
void apply(const action_formulas::imp &x)
Definition traverser.h:253
void apply(const action_formulas::forall &x)
Definition traverser.h:712
void apply(const action_formulas::or_ &x)
Definition traverser.h:696
void apply(const action_formulas::false_ &x)
Definition traverser.h:674
void apply(const action_formulas::and_ &x)
Definition traverser.h:688
void apply(const action_formulas::action_formula &x)
Definition traverser.h:743
void apply(const action_formulas::multi_action &x)
Definition traverser.h:736
void apply(const action_formulas::true_ &x)
Definition traverser.h:667
void apply(const action_formulas::imp &x)
Definition traverser.h:704
void apply(const action_formulas::not_ &x)
Definition traverser.h:681
void apply(const action_formulas::exists &x)
Definition traverser.h:720
void apply(const action_formulas::action_formula &x)
Definition traverser.h:140
void apply(const action_formulas::true_ &x)
Definition traverser.h:64
void apply(const action_formulas::or_ &x)
Definition traverser.h:93
void apply(const action_formulas::multi_action &x)
Definition traverser.h:133
void apply(const action_formulas::forall &x)
Definition traverser.h:109
void apply(const action_formulas::and_ &x)
Definition traverser.h:85
void apply(const action_formulas::false_ &x)
Definition traverser.h:71
void apply(const action_formulas::at &x)
Definition traverser.h:125
void apply(const action_formulas::not_ &x)
Definition traverser.h:78
void apply(const action_formulas::imp &x)
Definition traverser.h:101
void apply(const action_formulas::exists &x)
Definition traverser.h:117
void apply(const action_formulas::imp &x)
Definition traverser.h:552
void apply(const action_formulas::and_ &x)
Definition traverser.h:536
void apply(const action_formulas::or_ &x)
Definition traverser.h:544
void apply(const action_formulas::forall &x)
Definition traverser.h:560
void apply(const action_formulas::at &x)
Definition traverser.h:576
void apply(const action_formulas::multi_action &x)
Definition traverser.h:584
void apply(const action_formulas::true_ &x)
Definition traverser.h:515
void apply(const action_formulas::action_formula &x)
Definition traverser.h:591
void apply(const action_formulas::exists &x)
Definition traverser.h:568
void apply(const action_formulas::not_ &x)
Definition traverser.h:529
void apply(const action_formulas::false_ &x)
Definition traverser.h:522
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:463
void apply(T &result, const action_formulas::not_ &x)
Definition builder.h:399
void apply(T &result, const action_formulas::true_ &x)
Definition builder.h:381
void apply(T &result, const action_formulas::or_ &x)
Definition builder.h:415
void apply(T &result, const action_formulas::exists &x)
Definition builder.h:439
void apply(T &result, const action_formulas::and_ &x)
Definition builder.h:407
void apply(T &result, const action_formulas::imp &x)
Definition builder.h:423
void apply(T &result, const action_formulas::at &x)
Definition builder.h:447
void apply(T &result, const action_formulas::false_ &x)
Definition builder.h:390
void apply(T &result, const action_formulas::forall &x)
Definition builder.h:431
void apply(T &result, const action_formulas::multi_action &x)
Definition builder.h:455
action_formula_actions(const core::parser &parser_)
Definition parse_impl.h:27
action_formulas::action_formula parse_ActFrm(const core::parse_node &node) const
Definition parse_impl.h:31
expression builder that visits all sub expressions
Definition builder.h:32
expression traverser that visits all sub expressions
Definition traverser.h:29
void apply(T &result, const regular_formulas::trans &x)
Definition builder.h:845
void apply(T &result, const regular_formulas::trans_or_nil &x)
Definition builder.h:853
void apply(T &result, const regular_formulas::seq &x)
Definition builder.h:829
void apply(T &result, const regular_formulas::regular_formula &x)
Definition builder.h:869
void apply(T &result, const regular_formulas::alt &x)
Definition builder.h:837
void apply(T &result, const regular_formulas::untyped_regular_formula &x)
Definition builder.h:861
void apply(T &result, const regular_formulas::trans_or_nil &x)
Definition builder.h:1041
void apply(T &result, const regular_formulas::seq &x)
Definition builder.h:1017
void apply(T &result, const regular_formulas::regular_formula &x)
Definition builder.h:1057
void apply(T &result, const regular_formulas::untyped_regular_formula &x)
Definition builder.h:1049
void apply(T &result, const regular_formulas::trans &x)
Definition builder.h:1033
void apply(T &result, const regular_formulas::alt &x)
Definition builder.h:1025
void apply(T &result, const regular_formulas::trans &x)
Definition builder.h:751
void apply(T &result, const regular_formulas::seq &x)
Definition builder.h:735
void apply(T &result, const regular_formulas::regular_formula &x)
Definition builder.h:775
void apply(T &result, const regular_formulas::untyped_regular_formula &x)
Definition builder.h:767
void apply(T &result, const regular_formulas::alt &x)
Definition builder.h:743
void apply(T &result, const regular_formulas::trans_or_nil &x)
Definition builder.h:759
void apply(const regular_formulas::alt &x)
Definition traverser.h:1456
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1471
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1478
void apply(const regular_formulas::trans &x)
Definition traverser.h:1464
void apply(const regular_formulas::seq &x)
Definition traverser.h:1448
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1486
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1110
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1125
void apply(const regular_formulas::seq &x)
Definition traverser.h:1087
void apply(const regular_formulas::alt &x)
Definition traverser.h:1095
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1117
void apply(const regular_formulas::trans &x)
Definition traverser.h:1103
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1387
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1396
void apply(const regular_formulas::trans &x)
Definition traverser.h:1373
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1380
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1207
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1215
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1200
void apply(const regular_formulas::trans &x)
Definition traverser.h:1013
void apply(const regular_formulas::alt &x)
Definition traverser.h:1005
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1027
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1020
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1035
void apply(const regular_formulas::seq &x)
Definition traverser.h:997
void apply(const regular_formulas::trans_or_nil &x)
Definition traverser.h:1290
void apply(const regular_formulas::regular_formula &x)
Definition traverser.h:1305
void apply(const regular_formulas::alt &x)
Definition traverser.h:1275
void apply(const regular_formulas::untyped_regular_formula &x)
Definition traverser.h:1297
void apply(const regular_formulas::seq &x)
Definition traverser.h:1267
void apply(const regular_formulas::trans &x)
Definition traverser.h:1283
void apply(T &result, const regular_formulas::untyped_regular_formula &x)
Definition builder.h:955
void apply(T &result, const regular_formulas::trans_or_nil &x)
Definition builder.h:947
void apply(T &result, const regular_formulas::seq &x)
Definition builder.h:923
void apply(T &result, const regular_formulas::trans &x)
Definition builder.h:939
void apply(T &result, const regular_formulas::alt &x)
Definition builder.h:931
void apply(T &result, const regular_formulas::regular_formula &x)
Definition builder.h:963
regular_formulas::regular_formula parse_RegFrm(const core::parse_node &node) const
Definition parse_impl.h:61
Builder class for regular_formula_builder. Used as a base class for pbes_expression_builder.
Definition builder.h:699
void apply(T &result, const data::data_expression &x)
Definition builder.h:704
void apply(T &result, const action_formulas::action_formula &x)
Definition builder.h:714
Traversal class for regular_formula_traverser. Used as a base class for pbes_expression_traverser.
Definition traverser.h:967
void apply(const action_formulas::action_formula &x)
Definition traverser.h:980
void apply(const data::data_expression &x)
Definition traverser.h:973
void apply(T &result, const state_formulas::nu &x)
Definition builder.h:1661
void apply(T &result, const state_formulas::supremum &x)
Definition builder.h:1587
void apply(T &result, const state_formulas::imp &x)
Definition builder.h:1531
void apply(T &result, const state_formulas::state_formula &x)
Definition builder.h:1686
void apply(T &result, const state_formulas::plus &x)
Definition builder.h:1539
void apply(T &result, const state_formulas::yaled &x)
Definition builder.h:1619
void apply(T &result, const state_formulas::false_ &x)
Definition builder.h:1490
void apply(T &result, const state_formulas::yaled_timed &x)
Definition builder.h:1628
void apply(T &result, const state_formulas::const_multiply &x)
Definition builder.h:1547
void apply(T &result, const state_formulas::and_ &x)
Definition builder.h:1515
void apply(T &result, const state_formulas::exists &x)
Definition builder.h:1571
void apply(T &result, const state_formulas::may &x)
Definition builder.h:1611
void apply(T &result, const state_formulas::minus &x)
Definition builder.h:1507
void apply(T &result, const state_formulas::infimum &x)
Definition builder.h:1579
void apply(T &result, const state_formulas::or_ &x)
Definition builder.h:1523
void apply(T &result, const state_formulas::sum &x)
Definition builder.h:1595
void apply(T &result, const state_formulas::mu &x)
Definition builder.h:1669
void apply(T &result, const state_formulas::must &x)
Definition builder.h:1603
void apply(T &result, const state_formulas::variable &x)
Definition builder.h:1653
void apply(T &result, const state_formulas::not_ &x)
Definition builder.h:1499
void update(state_formulas::state_formula_specification &x)
Definition builder.h:1676
void apply(T &result, const state_formulas::delay &x)
Definition builder.h:1636
void apply(T &result, const state_formulas::true_ &x)
Definition builder.h:1481
void apply(T &result, const state_formulas::const_multiply_alt &x)
Definition builder.h:1555
void apply(T &result, const state_formulas::forall &x)
Definition builder.h:1563
void apply(T &result, const state_formulas::delay_timed &x)
Definition builder.h:1645
void apply(T &result, const state_formulas::supremum &x)
Definition builder.h:1249
void apply(T &result, const state_formulas::yaled &x)
Definition builder.h:1281
void apply(T &result, const state_formulas::true_ &x)
Definition builder.h:1143
void apply(T &result, const state_formulas::const_multiply &x)
Definition builder.h:1209
void apply(T &result, const state_formulas::false_ &x)
Definition builder.h:1152
void apply(T &result, const state_formulas::const_multiply_alt &x)
Definition builder.h:1217
void apply(T &result, const state_formulas::sum &x)
Definition builder.h:1257
void apply(T &result, const state_formulas::not_ &x)
Definition builder.h:1161
void apply(T &result, const state_formulas::may &x)
Definition builder.h:1273
void apply(T &result, const state_formulas::forall &x)
Definition builder.h:1225
void apply(T &result, const state_formulas::exists &x)
Definition builder.h:1233
void apply(T &result, const state_formulas::delay_timed &x)
Definition builder.h:1307
void apply(T &result, const state_formulas::yaled_timed &x)
Definition builder.h:1290
void apply(T &result, const state_formulas::mu &x)
Definition builder.h:1331
void apply(T &result, const state_formulas::delay &x)
Definition builder.h:1298
void apply(T &result, const state_formulas::must &x)
Definition builder.h:1265
void apply(T &result, const state_formulas::infimum &x)
Definition builder.h:1241
void apply(T &result, const state_formulas::imp &x)
Definition builder.h:1193
void update(state_formulas::state_formula_specification &x)
Definition builder.h:1338
void apply(T &result, const state_formulas::state_formula &x)
Definition builder.h:1351
void apply(T &result, const state_formulas::nu &x)
Definition builder.h:1323
void apply(T &result, const state_formulas::and_ &x)
Definition builder.h:1177
void apply(T &result, const state_formulas::minus &x)
Definition builder.h:1169
void apply(T &result, const state_formulas::variable &x)
Definition builder.h:1315
void apply(T &result, const state_formulas::plus &x)
Definition builder.h:1201
void apply(T &result, const state_formulas::or_ &x)
Definition builder.h:1185
void apply(T &result, const state_formulas::exists &x)
Definition builder.h:2241
void apply(T &result, const state_formulas::yaled &x)
Definition builder.h:2289
void apply(T &result, const state_formulas::plus &x)
Definition builder.h:2209
void apply(T &result, const state_formulas::delay_timed &x)
Definition builder.h:2316
void apply(T &result, const state_formulas::must &x)
Definition builder.h:2273
void apply(T &result, const state_formulas::sum &x)
Definition builder.h:2265
void apply(T &result, const state_formulas::infimum &x)
Definition builder.h:2249
void apply(T &result, const state_formulas::const_multiply &x)
Definition builder.h:2217
void update(state_formulas::state_formula_specification &x)
Definition builder.h:2349
void apply(T &result, const state_formulas::may &x)
Definition builder.h:2281
void apply(T &result, const state_formulas::false_ &x)
Definition builder.h:2160
void apply(T &result, const state_formulas::or_ &x)
Definition builder.h:2193
void apply(T &result, const state_formulas::imp &x)
Definition builder.h:2201
void apply(T &result, const state_formulas::not_ &x)
Definition builder.h:2169
void apply(T &result, const state_formulas::variable &x)
Definition builder.h:2325
void apply(T &result, const state_formulas::forall &x)
Definition builder.h:2233
void apply(T &result, const state_formulas::delay &x)
Definition builder.h:2307
void apply(T &result, const state_formulas::yaled_timed &x)
Definition builder.h:2298
void apply(T &result, const state_formulas::supremum &x)
Definition builder.h:2257
void apply(T &result, const state_formulas::const_multiply_alt &x)
Definition builder.h:2225
void apply(T &result, const state_formulas::nu &x)
Definition builder.h:2334
void apply(T &result, const state_formulas::and_ &x)
Definition builder.h:2185
void apply(T &result, const state_formulas::minus &x)
Definition builder.h:2177
void apply(T &result, const state_formulas::mu &x)
Definition builder.h:2342
void apply(T &result, const state_formulas::true_ &x)
Definition builder.h:2151
void apply(T &result, const state_formulas::state_formula &x)
Definition builder.h:2359
void apply(const state_formulas::mu &x)
Definition traverser.h:3929
void apply(const state_formulas::state_formula &x)
Definition traverser.h:3944
void apply(const state_formulas::delay &x)
Definition traverser.h:3901
void apply(const state_formulas::variable &x)
Definition traverser.h:3915
void apply(const state_formulas::infimum &x)
Definition traverser.h:3850
void apply(const state_formulas::minus &x)
Definition traverser.h:3783
void apply(const state_formulas::false_ &x)
Definition traverser.h:3769
void apply(const state_formulas::sum &x)
Definition traverser.h:3864
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:3822
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:3908
void apply(const state_formulas::must &x)
Definition traverser.h:3871
void apply(const state_formulas::plus &x)
Definition traverser.h:3814
void apply(const state_formulas::imp &x)
Definition traverser.h:3806
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:3894
void apply(const state_formulas::nu &x)
Definition traverser.h:3922
void apply(const state_formulas::exists &x)
Definition traverser.h:3843
void apply(const state_formulas::supremum &x)
Definition traverser.h:3857
void apply(const state_formulas::true_ &x)
Definition traverser.h:3762
void apply(const state_formulas::not_ &x)
Definition traverser.h:3776
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:3829
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:3936
void apply(const state_formulas::and_ &x)
Definition traverser.h:3790
void apply(const state_formulas::or_ &x)
Definition traverser.h:3798
void apply(const state_formulas::may &x)
Definition traverser.h:3879
void apply(const state_formulas::yaled &x)
Definition traverser.h:3887
void apply(const state_formulas::forall &x)
Definition traverser.h:3836
void apply(const state_formulas::plus &x)
Definition traverser.h:1938
void apply(const state_formulas::supremum &x)
Definition traverser.h:1983
void apply(const state_formulas::and_ &x)
Definition traverser.h:1914
void apply(const state_formulas::sum &x)
Definition traverser.h:1990
void apply(const state_formulas::variable &x)
Definition traverser.h:2041
void apply(const state_formulas::not_ &x)
Definition traverser.h:1900
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:2064
void apply(const state_formulas::may &x)
Definition traverser.h:2005
void apply(const state_formulas::forall &x)
Definition traverser.h:1962
void apply(const state_formulas::or_ &x)
Definition traverser.h:1922
void apply(const state_formulas::exists &x)
Definition traverser.h:1969
void apply(const state_formulas::false_ &x)
Definition traverser.h:1893
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:2020
void apply(const state_formulas::true_ &x)
Definition traverser.h:1886
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:2034
void apply(const state_formulas::must &x)
Definition traverser.h:1997
void apply(const state_formulas::yaled &x)
Definition traverser.h:2013
void apply(const state_formulas::state_formula &x)
Definition traverser.h:2071
void apply(const state_formulas::imp &x)
Definition traverser.h:1930
void apply(const state_formulas::delay &x)
Definition traverser.h:2027
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:1954
void apply(const state_formulas::minus &x)
Definition traverser.h:1907
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:1946
void apply(const state_formulas::infimum &x)
Definition traverser.h:1976
void apply(const state_formulas::plus &x)
Definition traverser.h:3183
void apply(const state_formulas::variable &x)
Definition traverser.h:3291
void apply(const state_formulas::supremum &x)
Definition traverser.h:3231
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:3191
void apply(const state_formulas::delay &x)
Definition traverser.h:3277
void apply(const state_formulas::exists &x)
Definition traverser.h:3215
void apply(const state_formulas::yaled &x)
Definition traverser.h:3263
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:3270
void apply(const state_formulas::false_ &x)
Definition traverser.h:3138
void apply(const state_formulas::state_formula &x)
Definition traverser.h:3325
void apply(const state_formulas::and_ &x)
Definition traverser.h:3159
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:3199
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:3317
void apply(const state_formulas::minus &x)
Definition traverser.h:3152
void apply(const state_formulas::must &x)
Definition traverser.h:3247
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:3284
void apply(const state_formulas::forall &x)
Definition traverser.h:3207
void apply(const state_formulas::infimum &x)
Definition traverser.h:3223
void apply(const state_formulas::not_ &x)
Definition traverser.h:3145
void apply(const state_formulas::true_ &x)
Definition traverser.h:3131
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:3627
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:3585
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:3513
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:3599
void apply(const state_formulas::state_formula &x)
Definition traverser.h:3634
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:3520
void apply(const state_formulas::yaled &x)
Definition traverser.h:1699
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:1627
void apply(const state_formulas::variable &x)
Definition traverser.h:1727
void apply(const state_formulas::state_formula &x)
Definition traverser.h:1758
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:1720
void apply(const state_formulas::plus &x)
Definition traverser.h:1619
void apply(const state_formulas::supremum &x)
Definition traverser.h:1667
void apply(const state_formulas::and_ &x)
Definition traverser.h:1595
void apply(const state_formulas::must &x)
Definition traverser.h:1683
void apply(const state_formulas::exists &x)
Definition traverser.h:1651
void apply(const state_formulas::false_ &x)
Definition traverser.h:1574
void apply(const state_formulas::delay &x)
Definition traverser.h:1713
void apply(const state_formulas::not_ &x)
Definition traverser.h:1581
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:1635
void apply(const state_formulas::may &x)
Definition traverser.h:1691
void apply(const state_formulas::forall &x)
Definition traverser.h:1643
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:1706
void apply(const state_formulas::infimum &x)
Definition traverser.h:1659
void apply(const state_formulas::or_ &x)
Definition traverser.h:1603
void apply(const state_formulas::true_ &x)
Definition traverser.h:1567
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:1750
void apply(const state_formulas::imp &x)
Definition traverser.h:1611
void apply(const state_formulas::minus &x)
Definition traverser.h:1588
void apply(const state_formulas::sum &x)
Definition traverser.h:1675
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:2259
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:2329
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:2266
void apply(const state_formulas::state_formula &x)
Definition traverser.h:2378
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:2343
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:2371
void apply(const state_formulas::delay &x)
Definition traverser.h:2961
void apply(const state_formulas::variable &x)
Definition traverser.h:2975
void apply(const state_formulas::may &x)
Definition traverser.h:2940
void apply(const state_formulas::infimum &x)
Definition traverser.h:2912
void apply(const state_formulas::and_ &x)
Definition traverser.h:2852
void apply(const state_formulas::state_formula &x)
Definition traverser.h:3003
void apply(const state_formulas::exists &x)
Definition traverser.h:2905
void apply(const state_formulas::mu &x)
Definition traverser.h:2989
void apply(const state_formulas::false_ &x)
Definition traverser.h:2831
void apply(const state_formulas::or_ &x)
Definition traverser.h:2860
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:2884
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:2954
void apply(const state_formulas::not_ &x)
Definition traverser.h:2838
void apply(const state_formulas::true_ &x)
Definition traverser.h:2824
void apply(const state_formulas::imp &x)
Definition traverser.h:2868
void apply(const state_formulas::sum &x)
Definition traverser.h:2926
void apply(const state_formulas::plus &x)
Definition traverser.h:2876
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:2996
void apply(const state_formulas::must &x)
Definition traverser.h:2933
void apply(const state_formulas::yaled &x)
Definition traverser.h:2947
void apply(const state_formulas::forall &x)
Definition traverser.h:2898
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:2891
void apply(const state_formulas::minus &x)
Definition traverser.h:2845
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:2968
void apply(const state_formulas::nu &x)
Definition traverser.h:2982
void apply(const state_formulas::supremum &x)
Definition traverser.h:2919
void apply(const state_formulas::false_ &x)
Definition traverser.h:2513
void apply(const state_formulas::const_multiply_alt &x)
Definition traverser.h:2574
void apply(const state_formulas::true_ &x)
Definition traverser.h:2506
void apply(const state_formulas::and_ &x)
Definition traverser.h:2534
void apply(const state_formulas::exists &x)
Definition traverser.h:2590
void apply(const state_formulas::or_ &x)
Definition traverser.h:2542
void apply(const state_formulas::infimum &x)
Definition traverser.h:2598
void apply(const state_formulas::yaled &x)
Definition traverser.h:2638
void apply(const state_formulas::yaled_timed &x)
Definition traverser.h:2645
void apply(const state_formulas::plus &x)
Definition traverser.h:2558
void apply(const state_formulas::sum &x)
Definition traverser.h:2614
void apply(const state_formulas::delay_timed &x)
Definition traverser.h:2659
void apply(const state_formulas::must &x)
Definition traverser.h:2622
void apply(const state_formulas::forall &x)
Definition traverser.h:2582
void apply(const state_formulas::mu &x)
Definition traverser.h:2681
void apply(const state_formulas::delay &x)
Definition traverser.h:2652
void apply(const state_formulas::state_formula_specification &x)
Definition traverser.h:2689
void apply(const state_formulas::const_multiply &x)
Definition traverser.h:2566
void apply(const state_formulas::variable &x)
Definition traverser.h:2666
void apply(const state_formulas::supremum &x)
Definition traverser.h:2606
void apply(const state_formulas::may &x)
Definition traverser.h:2630
void apply(const state_formulas::state_formula &x)
Definition traverser.h:2696
void apply(const state_formulas::nu &x)
Definition traverser.h:2673
void apply(const state_formulas::imp &x)
Definition traverser.h:2550
void apply(const state_formulas::minus &x)
Definition traverser.h:2527
void apply(const state_formulas::not_ &x)
Definition traverser.h:2520
void apply(T &result, const state_formulas::true_ &x)
Definition builder.h:1816
void apply(T &result, const state_formulas::may &x)
Definition builder.h:1946
void apply(T &result, const state_formulas::not_ &x)
Definition builder.h:1834
void apply(T &result, const state_formulas::and_ &x)
Definition builder.h:1850
void apply(T &result, const state_formulas::minus &x)
Definition builder.h:1842
void apply(T &result, const state_formulas::delay &x)
Definition builder.h:1971
void apply(T &result, const state_formulas::plus &x)
Definition builder.h:1874
void apply(T &result, const state_formulas::yaled &x)
Definition builder.h:1954
void apply(T &result, const state_formulas::exists &x)
Definition builder.h:1906
void apply(T &result, const state_formulas::variable &x)
Definition builder.h:1988
void apply(T &result, const state_formulas::sum &x)
Definition builder.h:1930
void apply(T &result, const state_formulas::forall &x)
Definition builder.h:1898
void apply(T &result, const state_formulas::infimum &x)
Definition builder.h:1914
void apply(T &result, const state_formulas::mu &x)
Definition builder.h:2004
void apply(T &result, const state_formulas::yaled_timed &x)
Definition builder.h:1963
void apply(T &result, const state_formulas::supremum &x)
Definition builder.h:1922
void apply(T &result, const state_formulas::false_ &x)
Definition builder.h:1825
void apply(T &result, const state_formulas::or_ &x)
Definition builder.h:1858
void apply(T &result, const state_formulas::delay_timed &x)
Definition builder.h:1980
void apply(T &result, const state_formulas::const_multiply &x)
Definition builder.h:1882
void apply(T &result, const state_formulas::state_formula &x)
Definition builder.h:2021
void update(state_formulas::state_formula_specification &x)
Definition builder.h:2011
void apply(T &result, const state_formulas::must &x)
Definition builder.h:1938
void apply(T &result, const state_formulas::imp &x)
Definition builder.h:1866
void apply(T &result, const state_formulas::const_multiply_alt &x)
Definition builder.h:1890
void apply(T &result, const state_formulas::nu &x)
Definition builder.h:1996
Function that determines if a state formula is time dependent.
Definition is_timed.h:25
void apply(const process::untyped_multi_action &)
Definition is_timed.h:43
void enter(const action_formulas::at &)
Definition is_timed.h:58
void apply(const data::data_expression &)
Definition is_timed.h:33
void apply(const data::untyped_data_parameter &)
Definition is_timed.h:38
untyped_state_formula_specification parse_StateFrmSpec(const core::parse_node &node) const
Definition parse_impl.h:204
state_formula_actions(const core::parser &parser_)
Definition parse_impl.h:95
state_formulas::state_formula parse_StateFrm(const core::parse_node &node) const
Definition parse_impl.h:133
Visitor that negates propositional variable instantiations with a given name.
state_variable_negator(const core::identifier_string &name, bool quantitative)
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:1108
void apply(T &result, const data::data_expression &x)
Definition builder.h:1113
void apply(T &result, const data::untyped_data_parameter &x)
Definition builder.h:1122
Traversal class for pbes_expressions. Used as a base class for pbes_expression_traverser.
Definition traverser.h:1537
void apply(const data::data_expression &x)
Definition traverser.h:1543
void apply(const data::untyped_data_parameter &x)
Definition traverser.h:1550