mCRL2
|
The main namespace for the PBES library. More...
Namespaces | |
namespace | accessors |
The namespace for accessor functions on pbes expressions. | |
namespace | algorithms |
namespace | detail |
namespace | tools |
Classes | |
struct | absinthe_algorithm |
struct | add_data_expressions |
struct | add_data_variable_binding |
Maintains a multiset of bound data variables during traversal. More... | |
struct | add_data_variable_builder_binding |
struct | add_data_variable_traverser_binding |
struct | add_pbes_expressions |
struct | add_sort_expressions |
struct | add_traverser_data_expressions |
struct | add_traverser_identifier_strings |
struct | add_traverser_pbes_expressions |
struct | add_traverser_sort_expressions |
struct | add_traverser_variables |
struct | add_variables |
class | and_ |
\brief The and operator for pbes expressions More... | |
struct | approximate |
Approximation algorithm. More... | |
class | bisimulation_algorithm |
Base class for bisimulation algorithms. More... | |
class | bqnf_rewriter |
A rewriter that rewrites universal quantifiers over conjuncts in BQNF expressions to conjuncts over universal quantifiers. More... | |
class | branching_bisimulation_algorithm |
Algorithm class for branching bisimulation. More... | |
class | branching_simulation_equivalence_algorithm |
Algorithm class for branching simulation equivalence. More... | |
struct | compare_progress_measures_vertex |
class | data2pbes_rewriter |
A rewriter that applies one point rule quantifier elimination to a PBES. More... | |
struct | data_expression_builder |
\brief Builder class More... | |
struct | data_expression_traverser |
\brief Traverser class More... | |
struct | data_rewriter |
A rewriter that applies a data rewriter to data expressions in a term. More... | |
struct | deque_vertex_set |
struct | empty_parameter_selection |
Exception that is used to signal an empty parameter selection. More... | |
struct | enumerate_quantifiers_rewriter |
An attempt for improving the efficiency. More... | |
class | equation_index |
Maps variables to their corresponding equations in a boolean_equation_system or PBES. More... | |
class | exists |
\brief The existential quantification operator for pbes expressions More... | |
class | explorer |
class | fixpoint_symbol |
\brief A fixpoint symbol More... | |
class | forall |
\brief The universal quantification operator for pbes expressions More... | |
class | gauss_elimination_algorithm |
Algorithm class for the Gauss elimination algorithm for solving systems of (P)BES equations. More... | |
struct | global_local_strategy |
struct | global_strategy |
struct | identifier_string_traverser |
\brief Traverser class More... | |
class | if_rewriter |
class | imp |
\brief The implication operator for pbes expressions More... | |
struct | is_not_false |
struct | is_not_true |
struct | lazy_union |
struct | local_strategy |
class | lps2pbes_algorithm |
Algorithm for translating a state formula and a timed specification to a pbes. More... | |
class | lps_solve_structure_graph_algorithm |
class | lts2pbes_algorithm |
Algorithm for translating a state formula and an untimed specification to a pbes. More... | |
class | lts_info |
class | lts_solve_structure_graph_algorithm |
class | lts_type |
class | ltsmin_state |
struct | no_strategy |
struct | node_t |
class | not_ |
\brief The not operator for pbes expressions More... | |
class | one_point_rule_rewriter |
A rewriter that applies one point rule quantifier elimination to a PBES. More... | |
class | or_ |
\brief The or operator for pbes expressions More... | |
class | parity_game_generator |
Class for generating a BES from a PBES. This BES can be interpreted as a graph corresponding to a parity game problem. The proposition variables of the BES correspond to the vertices of the graph. An interface to the graph is provided in which the vertices correspond to integer values. The values are in the range [0, 1, ..., n], i.e. there are no holes in the sequence. Each vertex is labeled with a priority value, which is the block nesting depth of the proposition variable in the BES. More... | |
class | partial_order_reduction_algorithm |
class | pbes |
parameterized boolean equation system More... | |
class | pbes2data_rewriter |
class | pbes_abstract_algorithm |
Algorithm class for the abstract algorithm. More... | |
class | pbes_constelm_algorithm |
Algorithm class for the constelm algorithm. More... | |
class | pbes_eqelm_algorithm |
Algorithm class for the eqelm algorithm. More... | |
class | pbes_equation |
pbes equation. More... | |
struct | pbes_equation_index |
struct | pbes_equation_solver |
Solves an equation. More... | |
class | pbes_expression |
\brief A pbes expression More... | |
struct | pbes_expression_builder |
\brief Builder class More... | |
struct | pbes_expression_builder_base |
Builder class. More... | |
struct | pbes_expression_traverser |
\brief Traverser class More... | |
struct | pbes_expression_traverser_base |
Traversal class for pbes_expressions. Used as a base class for pbes_expression_traverser. More... | |
class | pbes_parelm_algorithm |
Algorithm class for the parelm algorithm. More... | |
struct | pbes_traits |
Traits class for pbes expressions. More... | |
class | pbes_type_checker |
class | pbesinst_algorithm |
Algorithm class for the pbesinst instantiation algorithm. More... | |
class | pbesinst_alternative_lazy_algorithm |
An alternative lazy algorithm for instantiating a PBES, ported from bes_deprecated.h. More... | |
class | pbesinst_finite_algorithm |
Algorithm class for the finite pbesinst algorithm. More... | |
struct | pbesinst_finite_rename |
Function object for renaming a propositional variable instantiation. More... | |
class | pbesinst_lazy_algorithm |
A PBES instantiation algorithm that uses a lazy strategy. More... | |
class | pbesinst_lazy_todo |
struct | pbesinst_rename |
Creates a unique name for a propositional variable instantiation. The propositional variable instantiation must be closed. Originally implemented by Alexander van Dam. More... | |
struct | pbesinst_rename_long |
Creates a unique name for a propositional variable instantiation. The propositional variable instantiation must be closed. Originally implemented by Alexander van Dam. More... | |
class | pbesinst_structure_graph_algorithm |
Variant of pbesinst that will compute a structure graph for a PBES. The result will be put in the structure graph that is passed in the constructor. More... | |
class | pbesinst_structure_graph_algorithm2 |
Adds an optimization to pbesinst_structure_graph. More... | |
class | pbesinst_symbolic_algorithm |
Algorithm class for the symbolic_exploration instantiation algorithm. More... | |
class | pbespgsolve_algorithm |
struct | pbespgsolve_options |
struct | pbespor_options |
struct | pbespor_pbes_composer |
struct | pbessolve_options |
struct | pbesstategraph_options |
class | pfnf_rewriter |
A rewriter that brings PBES expressions into PFNF normal form. More... | |
struct | pfnf_stream_printer |
Prints the object x to a stream. More... | |
struct | pg_actions |
struct | print_brief_traverser |
Visitor for printing the root node of a PBES. More... | |
struct | progress_measure |
struct | progress_measures_vertex |
Vertex of the progress measures graph. More... | |
class | propositional_variable |
\brief A propositional variable declaration More... | |
class | propositional_variable_instantiation |
\brief A propositional variable instantiation More... | |
class | propositional_variable_substitution |
Substitution function for propositional variables. More... | |
class | quantifiers_inside_rewriter |
A rewriter that pushes quantifiers inside in a PBES expression. More... | |
class | simple_structure_graph |
struct | simplify_data_rewriter |
A rewriter that simplifies boolean expressions in a term, and rewrites data expressions. More... | |
struct | simplify_quantifiers_data_rewriter |
A rewriter that simplifies boolean expressions and quantifiers, and rewrites data expressions. More... | |
struct | simplify_quantifiers_rewriter |
A rewriter that simplifies boolean expressions and quantifiers. More... | |
struct | simplify_rewriter |
A rewriter that simplifies boolean expressions in a term. More... | |
class | small_progress_measures_algorithm |
Algorithm class for the small progress measures algorithm. More... | |
class | solve_structure_graph_algorithm |
struct | sort_expression_builder |
\brief Builder class More... | |
struct | sort_expression_traverser |
\brief Traverser class More... | |
class | srf_equation |
class | srf_pbes |
class | srf_summand |
class | strategy_vector |
struct | stream_printer |
Prints the object x to a stream. More... | |
class | strong_bisimulation_algorithm |
Algorithm class for strong bisimulation. More... | |
class | structure_graph |
struct | summand_class |
struct | summand_equivalence_key |
struct | unify_parameters_replace_function |
struct | untyped_pbes |
struct | variable_builder |
\brief Builder class More... | |
struct | variable_traverser |
\brief Traverser class More... | |
struct | vertex_set |
class | weak_bisimulation_algorithm |
Algorithm class for weak bisimulation. More... | |
Typedefs | |
typedef atermpp::term_list< fixpoint_symbol > | fixpoint_symbol_list |
\brief list of fixpoint_symbols | |
typedef std::vector< fixpoint_symbol > | fixpoint_symbol_vector |
\brief vector of fixpoint_symbols | |
typedef boost::dynamic_bitset | summand_set |
typedef atermpp::term_list< pbes_equation > | pbes_equation_list |
\brief list of pbes_equations | |
typedef std::vector< pbes_equation > | pbes_equation_vector |
\brief vector of pbes_equations | |
typedef atermpp::term_list< pbes_expression > | pbes_expression_list |
\brief list of pbes_expressions | |
typedef std::vector< pbes_expression > | pbes_expression_vector |
\brief vector of pbes_expressions | |
typedef atermpp::term_list< propositional_variable_instantiation > | propositional_variable_instantiation_list |
\brief list of propositional_variable_instantiations | |
typedef std::vector< propositional_variable_instantiation > | propositional_variable_instantiation_vector |
\brief vector of propositional_variable_instantiations | |
typedef std::map< core::identifier_string, std::vector< std::size_t > > | pbesinst_index_map |
Data structure for storing the indices of the variables that should be expanded by the finite pbesinst algorithm. | |
typedef std::map< core::identifier_string, std::vector< data::variable > > | pbesinst_variable_map |
Data structure for storing the variables that should be expanded by the finite pbesinst algorithm. | |
typedef unsigned long long | identifier_t |
typedef unsigned short | priority_t |
typedef bool | owner_t |
typedef atermpp::term_list< propositional_variable > | propositional_variable_list |
\brief list of propositional_variables | |
typedef std::vector< propositional_variable > | propositional_variable_vector |
\brief vector of propositional_variables | |
typedef std::map< core::identifier_string, std::size_t > | variable_map |
Functions | |
template<typename Term > | |
std::string | print_term (const Term &x) |
template<typename Term > | |
std::string | print_symbol (const Term &x) |
absinthe_strategy | parse_absinthe_strategy (const std::string &strategy) |
Parses an absinthe strategy. | |
std::string | print_absinthe_strategy (const absinthe_strategy strategy) |
Prints an absinthe strategy. | |
std::istream & | operator>> (std::istream &is, absinthe_strategy &strategy) |
std::ostream & | operator<< (std::ostream &os, const absinthe_strategy strategy) |
std::string | description (const absinthe_strategy strategy) |
Prints an absinthe strategy. | |
void | anonymize (pbes &pbesspec) |
pbes | branching_bisimulation (const lps::specification &model, const lps::specification &spec) |
Returns a pbes that expresses branching bisimulation between two specifications. | |
pbes | strong_bisimulation (const lps::specification &model, const lps::specification &spec) |
Returns a pbes that expresses strong bisimulation between two specifications. | |
pbes | weak_bisimulation (const lps::specification &model, const lps::specification &spec) |
Returns a pbes that expresses weak bisimulation between two specifications. | |
pbes | branching_simulation_equivalence (const lps::specification &model, const lps::specification &spec) |
Returns a pbes that expresses branching simulation equivalence between two specifications. | |
bisimulation_type | parse_bisimulation_type (const std::string &type) |
Returns the string corresponding to a bisimulation type. | |
std::string | print_bisimulation_type (const bisimulation_type t) |
Returns a description of a bisimulation type. | |
std::string | description (const bisimulation_type t) |
Returns a description of a bisimulation type. | |
std::istream & | operator>> (std::istream &is, bisimulation_type &t) |
std::ostream & | operator<< (std::ostream &os, const bisimulation_type t) |
pbes_expression | complement (const pbes_expression &x) |
Returns the complement of a pbes expression. | |
pbes_system::pbes | complps2pbes (const process::process_specification &procspec, const state_formulas::state_formula &) |
void | constelm (pbes &p, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type, bool compute_conditions=false, bool remove_redundant_equations=true, bool check_quantifiers=true) |
Apply the constelm algorithm. | |
void | check_whether_argument_is_a_well_formed_bes (const pbes_expression &x) |
This function checks whether x is a well formed bes expression, without quantifiers and. | |
void | lpsstategraph (lps::specification &lpsspec, const pbesstategraph_options &options) |
Apply the stategraph algorithm. | |
void | lpsstategraph (const std::string &input_filename, const std::string &output_filename, const pbesstategraph_options &options) |
std::pair< std::vector< pbes_expression >, data::data_specification > | parse_pbes_expressions (std::string text, const std::string &data_spec="") |
Parses a sequence of pbes expressions. The format of the text is as follows: | |
pbes_expression | parse_pbes_expression (const std::string &text, const std::string &var_decl="datavar\npredvar\n", const std::string &data_spec="") |
Parses a single pbes expression. | |
template<typename SubstitutionFunction > | |
pbes_expression | parse_pbes_expression (const std::string &expr, const std::string &subst, const pbes &p, SubstitutionFunction &sigma) |
Parses a pbes expression. | |
atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const pbes &pbes) |
Writes the pbes to a stream. | |
atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, pbes &pbes) |
Reads a pbes from a stream. | |
template<typename T > | |
std::string | pfnf_pp (const T &x) |
Returns a PFNF string representation of the object x. | |
void | eqelm (pbes &p, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type, bool ignore_initial_state=false) |
Apply the eqelm algorithm. | |
template<typename T , typename OutputIterator > | |
void | find_all_variables (const T &x, OutputIterator o) |
template<typename T > | |
std::set< data::variable > | find_all_variables (const T &x) |
template<typename T , typename OutputIterator > | |
void | find_free_variables (const T &x, OutputIterator o) |
template<typename T , typename OutputIterator , typename VariableContainer > | |
void | find_free_variables_with_bound (const T &x, OutputIterator o, const VariableContainer &bound) |
template<typename T > | |
std::set< data::variable > | find_free_variables (const T &x) |
template<typename T , typename VariableContainer > | |
std::set< data::variable > | find_free_variables_with_bound (const T &x, VariableContainer const &bound) |
template<typename T , typename OutputIterator > | |
void | find_identifiers (const T &x, OutputIterator o) |
template<typename T > | |
std::set< core::identifier_string > | find_identifiers (const T &x) |
template<typename T , typename OutputIterator > | |
void | find_sort_expressions (const T &x, OutputIterator o) |
template<typename T > | |
std::set< data::sort_expression > | find_sort_expressions (const T &x) |
template<typename T , typename OutputIterator > | |
void | find_function_symbols (const T &x, OutputIterator o) |
template<typename T > | |
std::set< data::function_symbol > | find_function_symbols (const T &x) |
template<typename Container , typename OutputIterator > | |
void | find_propositional_variable_instantiations (Container const &container, OutputIterator o) |
Returns all data variables that occur in a range of expressions. | |
template<typename Container > | |
std::set< propositional_variable_instantiation > | find_propositional_variable_instantiations (Container const &container) |
Returns all data variables that occur in a range of expressions. | |
template<typename T > | |
bool | search_variable (const T &x, const data::variable &v) |
Returns true if the term has a given variable as subterm. | |
std::map< data::variable, std::set< data::data_expression > > | find_equalities (const pbes_expression &x) |
std::map< data::variable, std::set< data::data_expression > > | find_inequalities (const pbes_expression &x) |
std::string | pp (const fixpoint_symbol &x) |
std::ostream & | operator<< (std::ostream &out, const fixpoint_symbol &x) |
void | swap (fixpoint_symbol &t1, fixpoint_symbol &t2) |
\brief swap overload | |
void | save_bes_pgsolver (const pbes &bes, std::ostream &stream, bool maxpg=true) |
const std::vector< utilities::file_format > & | pbes_file_formats () |
bool | is_pbes_file_format (const utilities::file_format &format) |
const utilities::file_format & | pbes_format_internal () |
const utilities::file_format & | pbes_format_text () |
const utilities::file_format & | pbes_format_internal_bes () |
const utilities::file_format & | pbes_format_pgsolver () |
const utilities::file_format | guess_format (const std::string &filename) |
void | save_pbes (const pbes &pbes, std::ostream &stream, utilities::file_format format=utilities::file_format()) |
Save a PBES in the format specified. | |
void | load_pbes (pbes &pbes, std::istream &stream, utilities::file_format format, const std::string &source="") |
Load a PBES from file. | |
void | save_pbes (const pbes &pbes, const std::string &filename, utilities::file_format format=utilities::file_format(), bool welltypedness_check=true) |
save_pbes Saves a PBES to a file. | |
void | load_pbes (pbes &pbes, const std::string &filename, utilities::file_format format=utilities::file_format()) |
Load pbes from file. | |
template<typename T > | |
bool | is_bes (const T &x) |
Returns true if a PBES object is in BES form. | |
bool | is_monotonous (pbes_expression f) |
Returns true if the pbes expression is monotonous. | |
bool | is_monotonous (const pbes_equation &e) |
Returns true if the pbes equation is monotonous. | |
bool | is_monotonous (const pbes &p) |
Returns true if the pbes is monotonous. | |
template<typename FwdIt > | |
pbes_expression | join_or (FwdIt first, FwdIt last) |
Returns or applied to the sequence of pbes expressions [first, last) | |
template<typename FwdIt > | |
pbes_expression | join_and (FwdIt first, FwdIt last) |
Returns and applied to the sequence of pbes expressions [first, last) | |
std::set< pbes_expression > | split_or (const pbes_expression &expr, bool split_data_expressions=false) |
Splits a disjunction into a sequence of operands Given a pbes expression of the form p1 || p2 || .... || pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a || as main function symbol. | |
std::set< pbes_expression > | split_and (const pbes_expression &expr, bool split_data_expressions=false) |
Splits a conjunction into a sequence of operands Given a pbes expression of the form p1 && p2 && .... && pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a && as main function symbol. | |
template<typename FwdIt > | |
pbes_expression | optimized_join_or (FwdIt first, FwdIt last) |
Returns or applied to the sequence of pbes expressions [first, last) | |
template<typename FwdIt > | |
pbes_expression | optimized_join_and (FwdIt first, FwdIt last) |
Returns and applied to the sequence of pbes expressions [first, last) | |
pbes | lps2pbes (const lps::specification &lpsspec, const state_formulas::state_formula &formula, bool timed=false, bool structured=false, bool unoptimized=false, bool preprocess_modal_operators=false, bool generate_counter_example=false, bool check_only=false) |
Translates a linear process specification and a state formula to a PBES. If the solution of the PBES is true, the formula holds for the specification. | |
pbes | lps2pbes (const lps::specification &lpsspec, const state_formulas::state_formula_specification &formspec, bool timed=false, bool structured=false, bool unoptimized=false, bool preprocess_modal_operators=false, bool generate_counter_example=false, bool check_only=false) |
Translates a linear process specification and a state formula to a PBES. If the solution of the PBES is true, the formula holds for the specification. | |
pbes | lps2pbes (const std::string &spec_text, const std::string &formula_text, bool timed=false, bool structured=false, bool unoptimized=false, bool preprocess_modal_operators=false, bool generate_counter_example=false, bool check_only=false) |
Applies the lps2pbes algorithm. | |
pbes | lts2pbes (const lts::lts_lts_t &l, const state_formulas::state_formula_specification &formspec, bool preprocess_modal_operators=false, bool generate_counter_example=false) |
Translates an LTS and a modal formula into a PBES that represents the corresponding model checking problem. | |
void | make_standard_form (pbes &eqn, bool recursive_form=false) |
Transforms a PBES into standard form. | |
template<typename T > | |
bool | is_normalized (const T &x) |
Checks if a pbes expression is normalized. | |
template<typename T > | |
void | normalize (T &x, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
The function normalize brings (embedded) pbes expressions into positive normal form, i.e. a formula without any occurrences of ! or =>. | |
template<typename T > | |
T | normalize (const T &x, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
The function normalize brings (embedded) pbes expressions into positive normal form, i.e. a formula without any occurrences of ! or =>. | |
template<typename T > | |
void | normalize_sorts (T &x, const data::sort_specification &sortspec, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T > | |
T | normalize_sorts (const T &x, const data::sort_specification &sortspec, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
void | parelm (pbes &p) |
Apply the parelm algorithm. | |
pbes | parse_pbes (std::istream &in) |
std::istream & | operator>> (std::istream &from, pbes &result) |
Reads a PBES from an input stream. | |
pbes | parse_pbes (const std::string &text) |
template<typename VariableContainer > | |
propositional_variable | parse_propositional_variable (const std::string &text, const VariableContainer &variables, const data::data_specification &dataspec=data::data_specification()) |
template<typename VariableContainer , typename PropositionalVariableContainer > | |
pbes_expression | parse_pbes_expression (const std::string &text, const data::data_specification &dataspec, const VariableContainer &variables, const PropositionalVariableContainer &propositional_variables, bool type_check=true, bool translate_user_notation=true, bool normalize_sorts=true) |
Parse a pbes expression. Throws an exception if something went wrong. | |
template<typename VariableContainer > | |
pbes_expression | parse_pbes_expression (const std::string &text, const pbes &pbesspec, const VariableContainer &variables, bool type_check=true, bool translate_user_notation=true, bool normalize_sorts=true) |
Parse a pbes expression. Throws an exception if something went wrong. | |
std::string | print_summand_set (const summand_set &s) |
static bool | operator&& (tribool a, tribool b) |
static bool | operator&& (const std::function< tribool()> &a, const std::function< tribool(bool)> &b) |
void | complete_data_specification (pbes &p) |
Adds all sorts that appear in the PBES p to the data specification of p. | |
std::string | pp (const pbes &x) |
void | normalize_sorts (pbes &x, const data::sort_specification &sortspec) |
void | translate_user_notation (pbes_system::pbes &x) |
std::set< data::sort_expression > | find_sort_expressions (const pbes_system::pbes &x) |
std::set< data::variable > | find_all_variables (const pbes_system::pbes &x) |
std::set< data::variable > | find_free_variables (const pbes_system::pbes &x) |
std::set< data::function_symbol > | find_function_symbols (const pbes_system::pbes &x) |
bool | is_well_typed_equation (const pbes_equation &eqn, const std::set< data::sort_expression > &declared_sorts, const std::set< data::variable > &declared_global_variables, const data::data_specification &data_spec) |
bool | is_well_typed_pbes (const std::set< data::sort_expression > &declared_sorts, const std::set< data::variable > &declared_global_variables, const std::set< data::variable > &occurring_global_variables, const std::set< propositional_variable > &declared_variables, const std::set< propositional_variable_instantiation > &occ, const propositional_variable_instantiation &init, const data::data_specification &data_spec) |
atermpp::aterm_appl | pbes_to_aterm (const pbes &p) |
Conversion to atermappl. | |
std::ostream & | operator<< (std::ostream &out, const pbes &x) |
bool | operator== (const pbes &p1, const pbes &p2) |
Equality operator on PBESs. | |
atermpp::aterm_appl | pbes_equation_to_aterm (const pbes_equation &eqn) |
Conversion to atermaPpl. | |
bool | is_well_typed (const pbes_equation &eqn) |
bool | has_propositional_variables (const pbes_expression &x) |
std::string | pp (const pbes_equation &x) |
std::ostream & | operator<< (std::ostream &out, const pbes_equation &x) |
void | swap (pbes_equation &t1, pbes_equation &t2) |
\brief swap overload | |
bool | operator== (const pbes_equation &x, const pbes_equation &y) |
bool | operator!= (const pbes_equation &x, const pbes_equation &y) |
std::string | pp (const pbes_equation_vector &x) |
void | normalize_sorts (pbes_equation_vector &x, const data::sort_specification &sortspec) |
std::set< data::variable > | find_free_variables (const pbes_system::pbes_equation &x) |
std::ostream & | operator<< (std::ostream &out, const pbes_equation_index &index) |
bool | is_propositional_variable_instantiation (const atermpp::aterm_appl &x) |
bool | is_not (const atermpp::aterm_appl &x) |
bool | is_and (const atermpp::aterm_appl &x) |
bool | is_or (const atermpp::aterm_appl &x) |
bool | is_imp (const atermpp::aterm_appl &x) |
bool | is_forall (const atermpp::aterm_appl &x) |
bool | is_exists (const atermpp::aterm_appl &x) |
bool | is_pbes_expression (const atermpp::aterm_appl &x) |
std::string | pp (const pbes_expression &x) |
std::ostream & | operator<< (std::ostream &out, const pbes_expression &x) |
void | swap (pbes_expression &t1, pbes_expression &t2) |
\brief swap overload | |
template<class... ARGUMENTS> | |
void | make_propositional_variable_instantiation (atermpp::aterm_appl &t, const ARGUMENTS &... args) |
std::string | pp (const propositional_variable_instantiation &x) |
std::ostream & | operator<< (std::ostream &out, const propositional_variable_instantiation &x) |
void | swap (propositional_variable_instantiation &t1, propositional_variable_instantiation &t2) |
\brief swap overload | |
template<class... ARGUMENTS> | |
void | make_not_ (atermpp::aterm_appl &t, const ARGUMENTS &... args) |
std::string | pp (const not_ &x) |
std::ostream & | operator<< (std::ostream &out, const not_ &x) |
void | swap (not_ &t1, not_ &t2) |
\brief swap overload | |
template<class... ARGUMENTS> | |
void | make_and_ (atermpp::aterm_appl &t, const ARGUMENTS &... args) |
std::string | pp (const and_ &x) |
std::ostream & | operator<< (std::ostream &out, const and_ &x) |
void | swap (and_ &t1, and_ &t2) |
\brief swap overload | |
template<class... ARGUMENTS> | |
void | make_or_ (atermpp::aterm_appl &t, const ARGUMENTS &... args) |
std::string | pp (const or_ &x) |
std::ostream & | operator<< (std::ostream &out, const or_ &x) |
void | swap (or_ &t1, or_ &t2) |
\brief swap overload | |
template<class... ARGUMENTS> | |
void | make_imp (atermpp::aterm_appl &t, const ARGUMENTS &... args) |
std::string | pp (const imp &x) |
std::ostream & | operator<< (std::ostream &out, const imp &x) |
void | swap (imp &t1, imp &t2) |
\brief swap overload | |
template<class... ARGUMENTS> | |
void | make_forall (atermpp::aterm_appl &t, const ARGUMENTS &... args) |
std::string | pp (const forall &x) |
std::ostream & | operator<< (std::ostream &out, const forall &x) |
void | swap (forall &t1, forall &t2) |
\brief swap overload | |
template<class... ARGUMENTS> | |
void | make_exists (atermpp::aterm_appl &t, const ARGUMENTS &... args) |
std::string | pp (const exists &x) |
std::ostream & | operator<< (std::ostream &out, const exists &x) |
void | swap (exists &t1, exists &t2) |
\brief swap overload | |
std::string | pp (const pbes_expression_list &x) |
std::string | pp (const pbes_expression_vector &x) |
std::string | pp (const propositional_variable_instantiation_list &x) |
std::string | pp (const propositional_variable_instantiation_vector &x) |
std::set< pbes_system::propositional_variable_instantiation > | find_propositional_variable_instantiations (const pbes_system::pbes_expression &x) |
std::set< core::identifier_string > | find_identifiers (const pbes_system::pbes_expression &x) |
std::set< data::variable > | find_free_variables (const pbes_system::pbes_expression &x) |
bool | search_variable (const pbes_system::pbes_expression &x, const data::variable &v) |
pbes_system::pbes_expression | normalize_sorts (const pbes_system::pbes_expression &x, const data::sort_specification &sortspec) |
pbes_system::pbes_expression | translate_user_notation (const pbes_system::pbes_expression &x) |
const pbes_expression & | true_ () |
const pbes_expression & | false_ () |
bool | is_true (const pbes_expression &t) |
Test for the value true. | |
bool | is_false (const pbes_expression &t) |
Test for the value false. | |
bool | is_pbes_not (const pbes_expression &t) |
Returns true if the term t is a not expression. | |
bool | is_pbes_and (const pbes_expression &t) |
Returns true if the term t is an and expression. | |
bool | is_pbes_or (const pbes_expression &t) |
Returns true if the term t is an or expression. | |
bool | is_pbes_imp (const pbes_expression &t) |
Returns true if the term t is an imp expression. | |
bool | is_pbes_forall (const pbes_expression &t) |
Returns true if the term t is a universal quantification. | |
bool | is_pbes_exists (const pbes_expression &t) |
Returns true if the term t is an existential quantification. | |
bool | is_universal_not (const pbes_expression &t) |
Test for a conjunction. | |
bool | is_universal_and (const pbes_expression &t) |
Test for a conjunction. | |
bool | is_universal_or (const pbes_expression &t) |
Test for a disjunction. | |
bool | is_data (const pbes_expression &t) |
Returns true if the term t is a data expression. | |
pbes_expression | make_forall_ (const data::variable_list &l, const pbes_expression &p) |
Make a universal quantification. It checks for an empty variable list, which is not allowed. | |
pbes_expression | make_exists_ (const data::variable_list &l, const pbes_expression &p) |
Make an existential quantification. It checks for an empty variable list, which is not allowed. | |
void | optimized_not (pbes_expression &result, const pbes_expression &p) |
Make a negation. | |
void | optimized_and (pbes_expression &result, const pbes_expression &p, const pbes_expression &q) |
Make a conjunction. | |
void | optimized_or (pbes_expression &result, const pbes_expression &p, const pbes_expression &q) |
Make a disjunction. | |
void | optimized_imp (pbes_expression &result, const pbes_expression &p, const pbes_expression &q) |
Make an implication. | |
void | optimized_forall (pbes_expression &result, const data::variable_list &l, const pbes_expression &p) |
Make a universal quantification If l is empty, p is returned. | |
void | optimized_exists (pbes_expression &result, const data::variable_list &l, const pbes_expression &p) |
Make an existential quantification If l is empty, p is returned. | |
bool | is_constant (const pbes_expression &x) |
const data::variable_list & | quantifier_variables (const pbes_expression &x) |
data::variable_list | free_variables (const pbes_expression &x) |
template<typename T > | |
std::string | print_brief (const T &x) |
Returns a string representation of the root node of a PBES. | |
template<typename T > | |
bool | is_simple_expression (const T &x) |
Determines if an expression is a simple expression. An expression is simple if it is free of propositional variables. | |
bool | is_non_simple_disjunct (const pbes_expression &t) |
Test for a disjunction. | |
bool | is_non_simple_conjunct (const pbes_expression &t) |
Test for a conjunction. | |
std::vector< pbes_expression > | split_disjuncts (const pbes_expression &expr, bool split_simple_expr=false) |
Splits a disjunction into a sequence of operands. Given a pbes expression of the form p1 || p2 || .... || pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a || as main function symbol. | |
std::vector< pbes_expression > | split_conjuncts (const pbes_expression &expr, bool split_simple_expr=false) |
Splits a conjunction into a sequence of operands Given a pbes expression of the form p1 && p2 && .... && pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a && as main function symbol. | |
template<typename Rewriter > | |
pbes_equation_solver< Rewriter > | make_pbes_equation_solver (const Rewriter &rewriter) |
Utility function for creating a pbes_equation_solver. | |
int | gauss_elimination (pbes &p) |
Solves a PBES equation system using Gauss elimination. | |
pbes_rewriter_type | parse_pbes_rewriter_type (const std::string &type) |
Parses a pbes rewriter type. | |
std::string | print_pbes_rewriter_type (const pbes_rewriter_type type) |
Prints a pbes rewriter type. | |
std::string | description (const pbes_rewriter_type type) |
Returns a description of a pbes rewriter. | |
std::istream & | operator>> (std::istream &is, pbes_rewriter_type &t) |
Stream operator for rewriter type. | |
std::ostream & | operator<< (std::ostream &os, const pbes_rewriter_type t) |
bool | pbes_instantiation_test_algorithm_test (pbes &pbes_spec, const bool expected_outcome, const data::rewriter::strategy rewrite_strategy) |
bool | alternative_lazy_algorithm_test (pbes &pbes_spec, const bool expected_outcome, const transformation_strategy trans_strat, const search_strategy search_strat, const data::rewriter::strategy rewrite_strategy) |
bool | pbes2_bool_test (pbes &pbes_spec, const bool expected_outcome, data::rewriter::strategy rewrite_strategy=data::jitty) |
void | make_pbesinst_substitution (const data::variable_list &v, const data::data_expression_list &e, data::rewriter::substitution_type &sigma) |
Creates a substitution function for the pbesinst rewriter. | |
bool | pbesinst_is_constant (const pbes_expression &x) |
mcrl2::pbes_system::pbes_expression | pbes_expression_order_quantified_variables (const mcrl2::pbes_system::pbes_expression &p, const mcrl2::data::data_specification &data_spec) |
void | pbesinst_finite (pbes &p, data::rewrite_strategy rewrite_strategy, const std::string &finite_parameter_selection) |
std::ostream & | operator<< (std::ostream &out, const pbesinst_lazy_todo &todo) |
pbesinst_strategy | parse_pbesinst_strategy (const std::string &s) |
Parse a pbesinst transformation strategy. | |
std::istream & | operator>> (std::istream &is, pbesinst_strategy &s) |
std::string | print_pbesinst_strategy (const pbesinst_strategy strategy) |
Returns a string representation of a pbesinst transformation strategy. | |
std::ostream & | operator<< (std::ostream &os, const pbesinst_strategy strategy) |
std::string | description (const pbesinst_strategy strategy) |
Returns a string representation of a pbesinst transformation strategy. | |
template<typename StructureGraph , typename VertexSet > | |
bool | includes_successors (const StructureGraph &G, typename StructureGraph::index_type u, const VertexSet &A) |
template<typename StructureGraph > | |
deque_vertex_set | exclusive_predecessors (const StructureGraph &G, const vertex_set &A) |
template<typename StructureGraph > | |
void | insert_predecessors (const StructureGraph &G, structure_graph::index_type u, const vertex_set &A, deque_vertex_set &todo) |
template<typename StructureGraph , typename Strategy > | |
vertex_set | attr_default_generic (const StructureGraph &G, vertex_set A, std::size_t alpha, Strategy tau) |
template<typename StructureGraph > | |
vertex_set | attr_default (const StructureGraph &G, vertex_set A, std::size_t alpha) |
template<typename StructureGraph > | |
vertex_set | attr_default_no_strategy (const StructureGraph &G, vertex_set A, std::size_t alpha) |
template<typename StructureGraph > | |
vertex_set | attr_default_with_tau (const StructureGraph &G, vertex_set A, std::size_t alpha, std::array< strategy_vector, 2 > &tau) |
std::ostream & | operator<< (std::ostream &out, const pbessolve_options &options) |
std::ostream & | operator<< (std::ostream &out, const vertex_set &V) |
vertex_set | set_union (const vertex_set &V, const vertex_set &W) |
template<typename VertexSet > | |
vertex_set | set_intersection (const VertexSet &V, const vertex_set &W) |
vertex_set | set_minus (const vertex_set &V, const vertex_set &W) |
std::ostream & | operator<< (std::ostream &out, const lazy_union &V) |
bool | is_subset_of (const vertex_set &V, const vertex_set &W) |
template<typename StructureGraph , typename VertexSet > | |
structure_graph::index_type | find_successor_in (const StructureGraph &G, structure_graph::index_type u, const VertexSet &A) |
template<typename StructureGraph > | |
void | log_vertex_set (const StructureGraph &G, const vertex_set &V, const std::string &name) |
std::ostream & | operator<< (std::ostream &out, const strategy_vector &tau_alpha) |
std::string | print_strategy_vector (const vertex_set &S_alpha, const strategy_vector &tau_alpha) |
template<typename StructureGraph > | |
std::set< structure_graph::index_type > | extract_minimal_structure_graph (StructureGraph &G, typename StructureGraph::index_type init, const vertex_set &S0, const vertex_set &S1) |
template<typename StructureGraph > | |
std::set< structure_graph::index_type > | extract_minimal_structure_graph (StructureGraph &G, typename StructureGraph::index_type init, const vertex_set &S0, const vertex_set &S1, const strategy_vector &tau0, const strategy_vector &tau1) |
template<typename StructureGraph > | |
std::set< structure_graph::index_type > | extract_minimal_structure_graph (StructureGraph &G, typename StructureGraph::index_type init, bool is_disjunctive) |
pbes_expression | formula (std::set< identifier_t > const &v, const owner_t owner, const std::string &prefix="X") |
void | parse_pgsolver_string (const std::string &text, pbes &result, bool maxpg=true) |
Reads a parity game from an input stream, and stores it as a BES. | |
void | parse_pgsolver (std::istream &from, pbes &result, bool maxpg=true) |
Reads a parity game from an input stream, and stores it as a BES. | |
void | parse_pgsolver (const std::string &filename, pbes &b, bool maxpg=true) |
Parse parity game in PGSolver format from filename, and store the resulting BES in b. | |
constexpr int | precedence (const forall &) |
constexpr int | precedence (const exists &) |
constexpr int | precedence (const imp &) |
constexpr int | precedence (const or_ &) |
constexpr int | precedence (const and_ &) |
constexpr int | precedence (const not_ &) |
int | precedence (const pbes_expression &x) |
bool | is_left_associative (const imp &) |
bool | is_left_associative (const or_ &) |
bool | is_left_associative (const and_ &) |
bool | is_left_associative (const pbes_expression &x) |
bool | is_right_associative (const imp &) |
bool | is_right_associative (const or_ &) |
bool | is_right_associative (const and_ &) |
bool | is_right_associative (const pbes_expression &x) |
template<typename T > | |
std::string | pp (const T &x) |
Returns a string representation of the object x. | |
template<class... ARGUMENTS> | |
void | make_propositional_variable (atermpp::aterm_appl &t, const ARGUMENTS &... args) |
bool | is_propositional_variable (const atermpp::aterm_appl &x) |
std::string | pp (const propositional_variable &x) |
std::ostream & | operator<< (std::ostream &out, const propositional_variable &x) |
void | swap (propositional_variable &t1, propositional_variable &t2) |
\brief swap overload | |
std::string | pp (const propositional_variable_list &x) |
std::string | pp (const propositional_variable_vector &x) |
void | quantifier_propagate (pbes &p) |
pbes | quantifier_propagate (const pbes &p) |
std::set< propositional_variable > | reachable_variables (const pbes &p) |
std::vector< propositional_variable > | remove_unreachable_variables (pbes &p) |
Removes equations that are not (syntactically) reachable from the initial state of a PBES. | |
remove_level | parse_remove_level (const std::string &s) |
std::string | print_remove_level (const remove_level s) |
std::istream & | operator>> (std::istream &is, remove_level &level) |
std::ostream & | operator<< (std::ostream &os, const remove_level s) |
std::string | description (const remove_level s) |
template<typename T > | |
T | remove_parameters (const T &x, const std::vector< std::size_t > &to_be_removed, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Removes parameters from propositional variable instantiations in a pbes expression. | |
template<typename T > | |
void | remove_parameters (T &x, const std::vector< std::size_t > &to_be_removed, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=0) |
Removes parameters from propositional variable instantiations in a pbes expression. | |
template<typename T > | |
T | remove_parameters (const T &x, const std::map< core::identifier_string, std::vector< std::size_t > > &to_be_removed, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Removes parameters from propositional variable instantiations in a pbes expression. | |
template<typename T > | |
void | remove_parameters (T &x, const std::map< core::identifier_string, std::vector< std::size_t > > &to_be_removed, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Removes parameters from propositional variable instantiations in a pbes expression. | |
template<typename T > | |
T | remove_parameters (const T &x, const std::set< data::variable > &to_be_removed, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=0) |
Removes parameters from propositional variable instantiations in a pbes expression. | |
template<typename T > | |
void | remove_parameters (T &x, const std::set< data::variable > &to_be_removed, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Removes parameters from propositional variable instantiations in a pbes expression. | |
template<typename T , typename Substitution > | |
void | replace_sort_expressions (T &x, const Substitution &sigma, bool innermost, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
T | replace_sort_expressions (const T &x, const Substitution &sigma, bool innermost, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
void | replace_data_expressions (T &x, const Substitution &sigma, bool innermost, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
T | replace_data_expressions (const T &x, const Substitution &sigma, bool innermost, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
void | replace_variables (T &x, const Substitution &sigma, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
T | replace_variables (const T &x, const Substitution &sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
void | replace_all_variables (T &x, const Substitution &sigma, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
T | replace_all_variables (const T &x, const Substitution &sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
void | replace_free_variables (T &x, const Substitution &sigma, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
T | replace_free_variables (const T &x, const Substitution &sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution , typename VariableContainer > | |
void | replace_free_variables (T &x, const Substitution &sigma, const VariableContainer &bound_variables, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution , typename VariableContainer > | |
T | replace_free_variables (const T &x, const Substitution &sigma, const VariableContainer &bound_variables, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
void | replace_propositional_variables (T &x, const Substitution &sigma, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Applies a propositional variable substitution. | |
template<typename T , typename Substitution > | |
T | replace_propositional_variables (const T &x, const Substitution &sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Applies a propositional variable substitution. | |
template<typename T , typename Substitution > | |
void | replace_propositional_variables (T &result, const T &x, const Substitution &sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Applies a propositional variable substitution. | |
template<typename T , typename Substitution > | |
void | replace_pbes_expressions (T &x, const Substitution &sigma, bool innermost=true, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=0) |
template<typename T , typename Substitution > | |
T | replace_pbes_expressions (const T &x, const Substitution &sigma, bool innermost=true, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
void | replace_variables_capture_avoiding (T &x, Substitution &sigma, data::set_identifier_generator &id_generator, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
T | replace_variables_capture_avoiding (const T &x, Substitution &sigma, data::set_identifier_generator &id_generator, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
void | replace_variables_capture_avoiding (T &x, Substitution &sigma, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution > | |
T | replace_variables_capture_avoiding (const T &x, Substitution &sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution , typename IdentifierGenerator > | |
void | replace_variables_capture_avoiding_with_an_identifier_generator (T &x, Substitution &sigma, IdentifierGenerator &id_generator, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Substitution , typename IdentifierGenerator > | |
T | replace_variables_capture_avoiding_with_an_identifier_generator (const T &x, Substitution &sigma, IdentifierGenerator &id_generator, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T > | |
void | replace_constants_by_variables (T &x, const data::rewriter &r, data::mutable_indexed_substitution<> &sigma, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Replace each constant data application c in x by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times. | |
template<typename T > | |
T | replace_constants_by_variables (const T &x, const data::rewriter &r, data::mutable_indexed_substitution<> &sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Replace each constant data application c in x by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times. | |
pbes_expression | replace_subterm (const pbes_expression &expr, std::size_t x, std::size_t y, const pbes_expression &replacement) |
Replace the subterm at position (x, y) with a given term. | |
pbes | replace_subterm (const pbes &p, std::size_t x, std::size_t y, const pbes_expression &replacement) |
Replace the subterm at position (x, y) with a given term. | |
pbes_expression | find_subterm (const pbes &pbesspec, std::size_t x, std::size_t y) |
void | resolve_summand_variable_name_clashes (srf_pbes &pbesspec, const data::variable_list &process_parameters) |
Renames summand variables such that there are no name clashes between summand variables and process parameters. | |
template<typename T , typename Rewriter > | |
void | rewrite (T &x, Rewriter R, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Rewriter > | |
T | rewrite (const T &x, Rewriter R, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Rewriter , typename Substitution > | |
void | rewrite (T &x, Rewriter R, const Substitution &sigma, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Rewriter , typename Substitution > | |
T | rewrite (const T &x, Rewriter R, const Substitution &sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T , typename Rewriter > | |
void | pbes_rewrite (T &x, const Rewriter &R, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
Rewrites all embedded pbes expressions in an object x. | |
template<typename T , typename Rewriter > | |
T | pbes_rewrite (const T &x, const Rewriter &R, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=0) |
Rewrites all embedded pbes expressions in an object x. | |
template<typename T , typename Rewriter , typename Substitution > | |
void | pbes_rewrite (T &x, const Rewriter &R, Substitution sigma, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=0) |
Rewrites all embedded pbes expressions in an object x, and applies a substitution to variables on the fly. | |
template<typename T , typename Rewriter , typename Substitution > | |
T | pbes_rewrite (const T &x, const Rewriter &R, Substitution sigma, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=0) |
Rewrites all embedded pbes expressions in an object x, and applies a substitution to variables on the fly. | |
search_strategy | parse_search_strategy (const std::string &s) |
std::string | print_search_strategy (const search_strategy s) |
std::istream & | operator>> (std::istream &is, search_strategy &strategy) |
std::ostream & | operator<< (std::ostream &os, const search_strategy s) |
std::string | description (const search_strategy s) |
std::set< data::variable > | significant_variables (const pbes_expression &x) |
std::ostream & | operator<< (std::ostream &out, const simple_structure_graph &G) |
template<typename T > | |
bool | is_odd (T t) |
template<typename T > | |
bool | is_even (T t) |
template<typename InputIterator1 , typename InputIterator2 > | |
int | lexicographical_compare_3way (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2) |
bool | is_disjunctive (const pbes_expression &x) |
int | maximum_rank (const pbes &b) |
std::ostream & | operator<< (std::ostream &out, const progress_measure &pm) |
void | inc (std::vector< int > &alpha, int m, const std::vector< int > &beta) |
std::ostream & | operator<< (std::ostream &out, const progress_measures_vertex &v) |
bool | small_progress_measures (pbes &b) |
static std::string | solution_strategy_to_string (const solution_strategy_t s) |
static std::ostream & | operator<< (std::ostream &os, const solution_strategy_t s) |
static solution_strategy_t | parse_solution_strategy (const std::string &s) |
static std::istream & | operator>> (std::istream &is, solution_strategy_t &s) |
static std::string | description (const solution_strategy_t s) |
std::tuple< std::size_t, std::size_t, vertex_set > | get_minmax_rank (const structure_graph &G) |
bool | has_counter_example_information (const pbes &pbesspec) |
Guesses if a pbes has counter example information. | |
bool | solve_structure_graph (structure_graph &G, bool check_strategy=false) |
std::pair< bool, lps::specification > | solve_structure_graph_with_counter_example (structure_graph &G, const lps::specification &lpsspec, const pbes &p, const pbes_equation_index &p_index) |
bool | solve_structure_graph_with_counter_example (structure_graph &G, lts::lts_lts_t <sspec) |
Solve this pbes_system using a structure graph generating a counter example. | |
std::ostream & | operator<< (std::ostream &out, const srf_summand &summand) |
std::ostream & | operator<< (std::ostream &out, const srf_equation &eqn) |
srf_pbes | pbes2srf (const pbes &p) |
Converts a PBES into standard recursive form. | |
void | stategraph (pbes &p, const pbesstategraph_options &options) |
Apply the stategraph algorithm. | |
constexpr unsigned int | undefined_vertex () |
template<typename StructureGraph > | |
std::vector< typename StructureGraph::index_type > | structure_graph_predecessors (const StructureGraph &G, typename StructureGraph::index_type u) |
template<typename StructureGraph > | |
std::vector< typename StructureGraph::index_type > | structure_graph_successors (const StructureGraph &G, typename StructureGraph::index_type u) |
std::ostream & | operator<< (std::ostream &out, const structure_graph::decoration_type &decoration) |
std::ostream & | operator<< (std::ostream &out, const structure_graph::vertex &u) |
template<typename StructureGraph > | |
std::ostream & | print_structure_graph (std::ostream &out, const StructureGraph &G) |
std::ostream & | operator<< (std::ostream &out, const structure_graph &G) |
void | pbesrewr (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type) |
void | pbesconstelm (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type, bool compute_conditions, bool remove_redundant_equations, bool check_quantifiers) |
void | pbesinfo (const std::string &input_filename, const std::string &input_file_message, const utilities::file_format &file_format, bool opt_full) |
void | pbesparelm (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format) |
void | pbespareqelm (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, data::rewrite_strategy rewrite_strategy, pbes_rewriter_type rewriter_type, bool ignore_initial_state) |
void | pbespp (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, core::print_format_type format, bool use_pfnf_printer) |
void | txt2pbes (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &output_format, bool normalize) |
void | lps2pbes (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &output_format, const std::string &formula_filename, bool timed, bool structured, bool unoptimized, bool preprocess_modal_operators, bool generate_counter_example, bool check_only) |
void | complps2pbes (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &output_format, const std::string &formula_filename) |
void | lpsbisim2pbes (const std::string &input_filename1, const std::string &input_filename2, const std::string &output_filename, const utilities::file_format &output_format, bisimulation_type type, bool normalize) |
void | pbesabstract (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, const std::string ¶meter_selection, bool value_true) |
void | pbesabsinthe (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, const std::string &abstraction_file, absinthe_strategy strategy, bool print_used_function_symbols, bool enable_logging) |
void | pbesstategraph (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, const pbesstategraph_options &options) |
void | pbespor (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, pbespor_options options) |
transformation_strategy | parse_transformation_strategy (const std::string &s) |
std::string | print_transformation_strategy (const transformation_strategy s) |
std::istream & | operator>> (std::istream &is, transformation_strategy &strategy) |
std::ostream & | operator<< (std::ostream &os, const transformation_strategy s) |
std::string | description (const transformation_strategy s) |
pbes_expression | order_quantified_variables (const pbes_expression &x, const data::data_specification &dataspec) |
template<typename T > | |
void | translate_user_notation (T &x, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr) |
template<typename T > | |
T | translate_user_notation (const T &x, typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type *=0) |
pbes | txt2pbes (std::istream &spec_stream, bool normalize=true) |
Parses a PBES specification from an input stream. | |
pbes | txt2pbes (const std::string &text, bool normalize=true) |
Parses a PBES specification from a string. | |
void | typecheck_pbes (pbes &pbesspec) |
Type check a parsed mCRL2 pbes specification. Throws an exception if something went wrong. | |
template<typename VariableContainer > | |
propositional_variable | typecheck_propositional_variable (const propositional_variable &x, const VariableContainer &variables, const data::data_specification &dataspec=data::data_specification()) |
Type check a parsed mCRL2 propositional variable. Throws an exception if something went wrong. | |
template<typename VariableContainer , typename PropositionalVariableContainer > | |
pbes_expression | typecheck_pbes_expression (pbes_expression &x, const VariableContainer &variables, const PropositionalVariableContainer &propositional_variables, const data::data_specification &dataspec=data::data_specification()) |
Type check a parsed mCRL2 pbes expression. Throws an exception if something went wrong. | |
void | unify_parameters (pbes &p) |
void | unify_parameters (srf_pbes &p, bool reset=true) |
static atermpp::aterm_appl | remove_index_impl (const atermpp::aterm_appl &x) |
static atermpp::aterm_appl | add_index_impl (const atermpp::aterm_appl &x) |
atermpp::aterm_ostream & | operator<< (atermpp::aterm_ostream &stream, const pbes_equation &equation) |
atermpp::aterm_istream & | operator>> (atermpp::aterm_istream &stream, pbes_equation &equation) |
atermpp::aterm | pbes_marker () |
template<typename Iter > | |
std::string | boolean_variables2pgsolver (Iter first, Iter last, const variable_map &variables) |
Convert a sequence of Boolean variables to PGSolver format. | |
static std::string | bes_expression2pgsolver (const pbes_expression &p, const variable_map &variables) |
Convert a BES expression to PGSolver format. | |
template<typename Iter > | |
void | bes2pgsolver (Iter first, Iter last, std::ostream &out, bool maxpg) |
Save a sequence of BES equations in to a stream in PGSolver format. | |
pbespg_solver_type | parse_solver_type (const std::string &s) |
std::string | print (const pbespg_solver_type solver_type) |
std::string | description (const pbespg_solver_type solver_type) |
std::istream & | operator>> (std::istream &is, pbespg_solver_type &t) |
std::ostream & | operator<< (std::ostream &os, const pbespg_solver_type t) |
std::string | print (StaticGraph::EdgeDirection edge_direction) |
bool | pbespgsolve (pbes &p, const pbespgsolve_options &options=pbespgsolve_options()) |
Solves a pbes using a parity game solver. | |
bool | pbespgsolve (pbes &p, utilities::execution_timer &timer, const pbespgsolve_options &options=pbespgsolve_options()) |
Solves a pbes using a parity game solver. | |
The main namespace for the PBES library.
\brief list of fixpoint_symbols
Definition at line 78 of file fixpoint_symbol.h.
typedef std::vector<fixpoint_symbol> mcrl2::pbes_system::fixpoint_symbol_vector |
\brief vector of fixpoint_symbols
Definition at line 81 of file fixpoint_symbol.h.
typedef unsigned long long mcrl2::pbes_system::identifier_t |
Definition at line 32 of file pg_parse.h.
typedef bool mcrl2::pbes_system::owner_t |
Definition at line 35 of file pg_parse.h.
\brief list of pbes_equations
Definition at line 140 of file pbes_equation.h.
typedef std::vector<pbes_equation> mcrl2::pbes_system::pbes_equation_vector |
\brief vector of pbes_equations
Definition at line 143 of file pbes_equation.h.
\brief list of pbes_expressions
Definition at line 66 of file pbes_expression.h.
typedef std::vector<pbes_expression> mcrl2::pbes_system::pbes_expression_vector |
\brief vector of pbes_expressions
Definition at line 69 of file pbes_expression.h.
typedef std::map<core::identifier_string, std::vector<std::size_t> > mcrl2::pbes_system::pbesinst_index_map |
Data structure for storing the indices of the variables that should be expanded by the finite pbesinst algorithm.
Definition at line 30 of file pbesinst_finite_algorithm.h.
typedef std::map<core::identifier_string, std::vector<data::variable> > mcrl2::pbes_system::pbesinst_variable_map |
Data structure for storing the variables that should be expanded by the finite pbesinst algorithm.
Definition at line 33 of file pbesinst_finite_algorithm.h.
typedef unsigned short mcrl2::pbes_system::priority_t |
Definition at line 33 of file pg_parse.h.
typedef atermpp::term_list<propositional_variable_instantiation> mcrl2::pbes_system::propositional_variable_instantiation_list |
\brief list of propositional_variable_instantiations
Definition at line 189 of file pbes_expression.h.
typedef std::vector<propositional_variable_instantiation> mcrl2::pbes_system::propositional_variable_instantiation_vector |
\brief vector of propositional_variable_instantiations
Definition at line 192 of file pbes_expression.h.
\brief list of propositional_variables
Definition at line 89 of file propositional_variable.h.
typedef std::vector<propositional_variable> mcrl2::pbes_system::propositional_variable_vector |
\brief vector of propositional_variables
Definition at line 92 of file propositional_variable.h.
typedef boost::dynamic_bitset mcrl2::pbes_system::summand_set |
Definition at line 54 of file partial_order_reduction.h.
typedef std::map<core::identifier_string, std::size_t> mcrl2::pbes_system::variable_map |
Definition at line 22 of file pgsolver.cpp.
The approximation strategies of the absinthe tool.
Enumerator | |
---|---|
absinthe_over | |
absinthe_under |
Definition at line 23 of file absinthe_strategy.h.
An enumerated type for the available bisimulation types.
Enumerator | |
---|---|
strong_bisim | |
weak_bisim | |
branching_bisim | |
branching_sim |
Definition at line 23 of file bisimulation_type.h.
An enumerated type for the available pbes rewriters.
Enumerator | |
---|---|
simplify | |
quantifier_all | |
quantifier_finite | |
quantifier_inside | |
quantifier_one_point | |
prover | |
pfnf | |
ppg | |
bqnf_quantifier |
Definition at line 23 of file pbes_rewriter_type.h.
pbesinst transformation strategies
Enumerator | |
---|---|
pbesinst_lazy_strategy | |
pbesinst_alternative_lazy_strategy | |
pbesinst_finite_strategy |
Definition at line 23 of file pbesinst_strategy.h.
Enumerator | |
---|---|
spm_solver | |
alternative_spm_solver | |
recursive_solver | |
priority_promotion |
Definition at line 28 of file pbespgsolve.h.
BES variable remove level when generating a BES from a PBES.
Enumerator | |
---|---|
none | |
some | |
all |
Definition at line 25 of file remove_level.h.
Search strategy when generating a BES from a PBES.
Enumerator | |
---|---|
breadth_first | |
depth_first | |
breadth_first_short | |
depth_first_short |
Definition at line 25 of file search_strategy.h.
Enumerator | |
---|---|
gauss | |
small_progr_measures |
Definition at line 24 of file solution_strategy.h.
Strategies for the generation of a BES from a PBES.
Enumerator | |
---|---|
lazy | |
optimize | |
on_the_fly | |
on_the_fly_with_fixed_points |
Definition at line 25 of file transformation_strategy.h.
Enumerator | |
---|---|
no | |
maybe | |
yes |
Definition at line 199 of file partial_order_reduction.h.
|
static |
|
inline |
Definition at line 61 of file pbes_solver_test.h.
|
inline |
Definition at line 81 of file anonymize.h.
vertex_set mcrl2::pbes_system::attr_default | ( | const StructureGraph & | G, |
vertex_set | A, | ||
std::size_t | alpha | ||
) |
Definition at line 165 of file pbessolve_attractors.h.
vertex_set mcrl2::pbes_system::attr_default_generic | ( | const StructureGraph & | G, |
vertex_set | A, | ||
std::size_t | alpha, | ||
Strategy | tau | ||
) |
Definition at line 140 of file pbessolve_attractors.h.
vertex_set mcrl2::pbes_system::attr_default_no_strategy | ( | const StructureGraph & | G, |
vertex_set | A, | ||
std::size_t | alpha | ||
) |
Definition at line 172 of file pbessolve_attractors.h.
vertex_set mcrl2::pbes_system::attr_default_with_tau | ( | const StructureGraph & | G, |
vertex_set | A, | ||
std::size_t | alpha, | ||
std::array< strategy_vector, 2 > & | tau | ||
) |
Definition at line 182 of file pbessolve_attractors.h.
void mcrl2::pbes_system::bes2pgsolver | ( | Iter | first, |
Iter | last, | ||
std::ostream & | out, | ||
bool | maxpg | ||
) |
Save a sequence of BES equations in to a stream in PGSolver format.
Definition at line 83 of file pgsolver.cpp.
|
static |
Convert a BES expression to PGSolver format.
Definition at line 47 of file pgsolver.cpp.
std::string mcrl2::pbes_system::boolean_variables2pgsolver | ( | Iter | first, |
Iter | last, | ||
const variable_map & | variables | ||
) |
Convert a sequence of Boolean variables to PGSolver format.
Definition at line 28 of file pgsolver.cpp.
|
inline |
Returns a pbes that expresses branching bisimulation between two specifications.
model | A linear process specification |
spec | A linear process specification |
Definition at line 512 of file bisimulation.h.
|
inline |
Returns a pbes that expresses branching simulation equivalence between two specifications.
model | A linear process specification |
spec | A linear process specification |
Definition at line 883 of file bisimulation.h.
void mcrl2::pbes_system::check_whether_argument_is_a_well_formed_bes | ( | const pbes_expression & | x | ) |
This function checks whether x is a well formed bes expression, without quantifiers and.
x | a pbes expression to be checked. |
Definition at line 56 of file check_well_formed_bes.h.
|
inline |
Returns the complement of a pbes expression.
x | A PBES expression |
Definition at line 89 of file complement.h.
|
inline |
|
inline |
Definition at line 25 of file complps2pbes.h.
void mcrl2::pbes_system::complps2pbes | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | output_format, | ||
const std::string & | formula_filename | ||
) |
Definition at line 24 of file complps2pbes.h.
|
inline |
Apply the constelm algorithm.
p | A PBES to which the algorithm is applied |
rewrite_strategy | A data rewrite strategy |
rewriter_type | A PBES rewriter type |
compute_conditions | If true, conditions for the edges of the dependency graph are used N.B. Very inefficient! |
remove_redundant_equations | If true, unreachable equations will be removed. |
Definition at line 994 of file constelm.h.
|
inline |
Prints an absinthe strategy.
Definition at line 86 of file absinthe_strategy.h.
|
inline |
Returns a description of a bisimulation type.
Definition at line 63 of file bisimulation_type.h.
|
inline |
Returns a description of a pbes rewriter.
Definition at line 110 of file pbes_rewriter_type.h.
|
inline |
Returns a string representation of a pbesinst transformation strategy.
Definition at line 96 of file pbesinst_strategy.h.
|
inline |
Definition at line 74 of file pbespgsolve.h.
|
inline |
Definition at line 79 of file remove_level.h.
|
inline |
Definition at line 80 of file search_strategy.h.
|
static |
Definition at line 82 of file solution_strategy.h.
|
inline |
Definition at line 95 of file transformation_strategy.h.
|
inline |
deque_vertex_set mcrl2::pbes_system::exclusive_predecessors | ( | const StructureGraph & | G, |
const vertex_set & | A | ||
) |
Definition at line 104 of file pbessolve_attractors.h.
std::set< structure_graph::index_type > mcrl2::pbes_system::extract_minimal_structure_graph | ( | StructureGraph & | G, |
typename StructureGraph::index_type | init, | ||
bool | is_disjunctive | ||
) |
Definition at line 549 of file pbessolve_vertex_set.h.
std::set< structure_graph::index_type > mcrl2::pbes_system::extract_minimal_structure_graph | ( | StructureGraph & | G, |
typename StructureGraph::index_type | init, | ||
const vertex_set & | S0, | ||
const vertex_set & | S1 | ||
) |
Definition at line 450 of file pbessolve_vertex_set.h.
std::set< structure_graph::index_type > mcrl2::pbes_system::extract_minimal_structure_graph | ( | StructureGraph & | G, |
typename StructureGraph::index_type | init, | ||
const vertex_set & | S0, | ||
const vertex_set & | S1, | ||
const strategy_vector & | tau0, | ||
const strategy_vector & | tau1 | ||
) |
Definition at line 491 of file pbessolve_vertex_set.h.
|
inline |
Definition at line 697 of file pbes_expression.h.
std::set< data::variable > mcrl2::pbes_system::find_all_variables | ( | const pbes_system::pbes & | x | ) |
std::set< data::variable > mcrl2::pbes_system::find_all_variables | ( | const T & | x | ) |
void mcrl2::pbes_system::find_all_variables | ( | const T & | x, |
OutputIterator | o | ||
) |
|
inline |
Definition at line 104 of file find_equalities.h.
std::set< data::variable > mcrl2::pbes_system::find_free_variables | ( | const pbes_system::pbes & | x | ) |
std::set< data::variable > mcrl2::pbes_system::find_free_variables | ( | const pbes_system::pbes_equation & | x | ) |
std::set< data::variable > mcrl2::pbes_system::find_free_variables | ( | const pbes_system::pbes_expression & | x | ) |
std::set< data::variable > mcrl2::pbes_system::find_free_variables | ( | const T & | x | ) |
void mcrl2::pbes_system::find_free_variables | ( | const T & | x, |
OutputIterator | o | ||
) |
void mcrl2::pbes_system::find_free_variables_with_bound | ( | const T & | x, |
OutputIterator | o, | ||
const VariableContainer & | bound | ||
) |
\brief Returns all variables that occur in an object \param[in] x an object containing variables \param[in,out] o an output iterator to which all variables occurring in x are written. \param[in] bound a container of variables \return All free variables that occur in the object x
std::set< data::variable > mcrl2::pbes_system::find_free_variables_with_bound | ( | const T & | x, |
VariableContainer const & | bound | ||
) |
std::set< data::function_symbol > mcrl2::pbes_system::find_function_symbols | ( | const pbes_system::pbes & | x | ) |
std::set< data::function_symbol > mcrl2::pbes_system::find_function_symbols | ( | const T & | x | ) |
void mcrl2::pbes_system::find_function_symbols | ( | const T & | x, |
OutputIterator | o | ||
) |
std::set< core::identifier_string > mcrl2::pbes_system::find_identifiers | ( | const pbes_system::pbes_expression & | x | ) |
std::set< core::identifier_string > mcrl2::pbes_system::find_identifiers | ( | const T & | x | ) |
void mcrl2::pbes_system::find_identifiers | ( | const T & | x, |
OutputIterator | o | ||
) |
|
inline |
Definition at line 114 of file find_equalities.h.
std::set< pbes_system::propositional_variable_instantiation > mcrl2::pbes_system::find_propositional_variable_instantiations | ( | const pbes_system::pbes_expression & | x | ) |
std::set< propositional_variable_instantiation > mcrl2::pbes_system::find_propositional_variable_instantiations | ( | Container const & | container | ) |
void mcrl2::pbes_system::find_propositional_variable_instantiations | ( | Container const & | container, |
OutputIterator | o | ||
) |
std::set< data::sort_expression > mcrl2::pbes_system::find_sort_expressions | ( | const pbes_system::pbes & | x | ) |
std::set< data::sort_expression > mcrl2::pbes_system::find_sort_expressions | ( | const T & | x | ) |
void mcrl2::pbes_system::find_sort_expressions | ( | const T & | x, |
OutputIterator | o | ||
) |
|
inline |
Definition at line 192 of file replace_subterm.h.
structure_graph::index_type mcrl2::pbes_system::find_successor_in | ( | const StructureGraph & | G, |
structure_graph::index_type | u, | ||
const VertexSet & | A | ||
) |
Definition at line 339 of file pbessolve_vertex_set.h.
|
inline |
Definition at line 54 of file pg_parse.h.
|
inline |
Definition at line 1067 of file pbes_expression.h.
|
inline |
Solves a PBES equation system using Gauss elimination.
p
is a bes. p | A pbes |
Definition at line 122 of file pbes_gauss_elimination.h.
|
inline |
Definition at line 26 of file solve_structure_graph.h.
|
inline |
|
inline |
Guesses if a pbes has counter example information.
Definition at line 59 of file solve_structure_graph.h.
bool mcrl2::pbes_system::has_propositional_variables | ( | const pbes_expression & | x | ) |
|
inline |
Definition at line 126 of file small_progress_measures.h.
bool mcrl2::pbes_system::includes_successors | ( | const StructureGraph & | G, |
typename StructureGraph::index_type | u, | ||
const VertexSet & | A | ||
) |
Definition at line 90 of file pbessolve_attractors.h.
void mcrl2::pbes_system::insert_predecessors | ( | const StructureGraph & | G, |
structure_graph::index_type | u, | ||
const vertex_set & | A, | ||
deque_vertex_set & | todo | ||
) |
Definition at line 123 of file pbessolve_attractors.h.
|
inline |
\brief Test for a and expression \param x A term \return True if \a x is a and expression
Definition at line 345 of file pbes_expression.h.
bool mcrl2::pbes_system::is_bes | ( | const T & | x | ) |
|
inline |
Definition at line 1047 of file pbes_expression.h.
|
inline |
Returns true if the term t is a data expression.
t | A PBES expression |
Definition at line 795 of file pbes_expression.h.
|
inline |
Definition at line 70 of file small_progress_measures.h.
bool mcrl2::pbes_system::is_even | ( | T | t | ) |
Definition at line 37 of file small_progress_measures.h.
|
inline |
\brief Test for a exists expression \param x A term \return True if \a x is a exists expression
Definition at line 649 of file pbes_expression.h.
|
inline |
Test for the value false.
t | A PBES expression |
false
Definition at line 715 of file pbes_expression.h.
|
inline |
\brief Test for a forall expression \param x A term \return True if \a x is a forall expression
Definition at line 573 of file pbes_expression.h.
|
inline |
\brief Test for a imp expression \param x A term \return True if \a x is a imp expression
Definition at line 497 of file pbes_expression.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns true if the pbes is monotonous.
Definition at line 142 of file is_monotonous.h.
|
inline |
Returns true if the pbes equation is monotonous.
Definition at line 135 of file is_monotonous.h.
|
inline |
Returns true if the pbes expression is monotonous.
f | A pbes expression. |
Definition at line 27 of file is_monotonous.h.
|
inline |
Test for a conjunction.
t | A PBES expression |
Definition at line 122 of file pbes_functions.h.
|
inline |
Test for a disjunction.
t | A PBES expression |
Definition at line 114 of file pbes_functions.h.
bool mcrl2::pbes_system::is_normalized | ( | const T & | x | ) |
Checks if a pbes expression is normalized.
x | A PBES expression |
Definition at line 166 of file normalize.h.
|
inline |
\brief Test for a not expression \param x A term \return True if \a x is a not expression
Definition at line 269 of file pbes_expression.h.
bool mcrl2::pbes_system::is_odd | ( | T | t | ) |
Definition at line 31 of file small_progress_measures.h.
|
inline |
\brief Test for a or expression \param x A term \return True if \a x is a or expression
Definition at line 421 of file pbes_expression.h.
|
inline |
Returns true if the term t is an and expression.
t | A PBES expression |
Definition at line 731 of file pbes_expression.h.
|
inline |
Returns true if the term t is an existential quantification.
t | A PBES expression |
Definition at line 763 of file pbes_expression.h.
|
inline |
\brief Test for a pbes_expression expression \param x A term \return True if \a x is a pbes_expression expression
Definition at line 84 of file pbes_expression.h.
|
inline |
|
inline |
Returns true if the term t is a universal quantification.
t | A PBES expression |
Definition at line 755 of file pbes_expression.h.
|
inline |
Returns true if the term t is an imp expression.
t | A PBES expression |
Definition at line 747 of file pbes_expression.h.
|
inline |
Returns true if the term t is a not expression.
t | A PBES expression |
Definition at line 723 of file pbes_expression.h.
|
inline |
Returns true if the term t is an or expression.
t | A PBES expression |
Definition at line 739 of file pbes_expression.h.
|
inline |
\brief Test for a propositional_variable expression \param x A term \return True if \a x is a propositional_variable expression
Definition at line 98 of file propositional_variable.h.
|
inline |
\brief Test for a propositional_variable_instantiation expression \param x A term \return True if \a x is a propositional_variable_instantiation expression
Definition at line 198 of file pbes_expression.h.
|
inline |
|
inline |
|
inline |
|
inline |
bool mcrl2::pbes_system::is_simple_expression | ( | const T & | x | ) |
Determines if an expression is a simple expression. An expression is simple if it is free of propositional variables.
x | a PBES object |
Definition at line 104 of file pbes_functions.h.
|
inline |
Definition at line 332 of file pbessolve_vertex_set.h.
|
inline |
Test for the value true.
t | A PBES expression |
true
Definition at line 707 of file pbes_expression.h.
|
inline |
Test for a conjunction.
t | A PBES expression or a data expression |
Definition at line 779 of file pbes_expression.h.
|
inline |
Test for a conjunction.
t | A PBES expression or a data expression |
Definition at line 771 of file pbes_expression.h.
|
inline |
Test for a disjunction.
t | A PBES expression or a data expression |
Definition at line 787 of file pbes_expression.h.
bool mcrl2::pbes_system::is_well_typed | ( | const pbes_equation & | eqn | ) |
bool mcrl2::pbes_system::is_well_typed_equation | ( | const pbes_equation & | eqn, |
const std::set< data::sort_expression > & | declared_sorts, | ||
const std::set< data::variable > & | declared_global_variables, | ||
const data::data_specification & | data_spec | ||
) |
bool mcrl2::pbes_system::is_well_typed_pbes | ( | const std::set< data::sort_expression > & | declared_sorts, |
const std::set< data::variable > & | declared_global_variables, | ||
const std::set< data::variable > & | occurring_global_variables, | ||
const std::set< propositional_variable > & | declared_variables, | ||
const std::set< propositional_variable_instantiation > & | occ, | ||
const propositional_variable_instantiation & | init, | ||
const data::data_specification & | data_spec | ||
) |
pbes_expression mcrl2::pbes_system::join_and | ( | FwdIt | first, |
FwdIt | last | ||
) |
pbes_expression mcrl2::pbes_system::join_or | ( | FwdIt | first, |
FwdIt | last | ||
) |
int mcrl2::pbes_system::lexicographical_compare_3way | ( | InputIterator1 | first1, |
InputIterator1 | last1, | ||
InputIterator2 | first2, | ||
InputIterator2 | last2 | ||
) |
Definition at line 43 of file small_progress_measures.h.
void mcrl2::pbes_system::load_pbes | ( | pbes & | pbes, |
const std::string & | filename, | ||
utilities::file_format | format = utilities::file_format() |
||
) |
Load pbes from file.
pbes | The pbes to which the result is loaded. |
filename | The file from which to load the PBES. |
format | The format in which the PBES is stored in the file. |
The format of the file in infilename is guessed if format is not given or if it is equal to utilities::file_format().
void mcrl2::pbes_system::load_pbes | ( | pbes & | pbes, |
std::istream & | stream, | ||
utilities::file_format | format, | ||
const std::string & | source = "" |
||
) |
Load a PBES from file.
pbes | The PBES to which the result is loaded. |
stream | The stream from which to load the PBES. |
format | The format that should be assumed for the file in infilename. If unspecified, or pbes_file_unknown is specified, then a default format is chosen. |
source | The source from which the stream originates. Used for error messages. |
void mcrl2::pbes_system::log_vertex_set | ( | const StructureGraph & | G, |
const vertex_set & | V, | ||
const std::string & | name | ||
) |
Definition at line 353 of file pbessolve_vertex_set.h.
|
inline |
Translates a linear process specification and a state formula to a PBES. If the solution of the PBES is true, the formula holds for the specification.
lpsspec | A linear process specification. |
formula | A modal formula. |
timed | determines whether the timed or untimed variant of the algorithm is chosen. |
structured | use the 'structured' approach of generating equations. |
unoptimized | if true, the resulting PBES is not simplified, if false (default), the PBES is simplified. |
preprocess_modal_operators | A boolean indicating that the modal operators can be preprocessed to obtain a more compact PBES. |
generate_counter_example | A boolean indicating that a counter example must be generated. |
Definition at line 158 of file lps2pbes.h.
|
inline |
Translates a linear process specification and a state formula to a PBES. If the solution of the PBES is true, the formula holds for the specification.
lpsspec | A linear process specification. |
formspec | A modal formula specification. |
timed | determines whether the timed or untimed variant of the algorithm is chosen. |
structured | use the 'structured' approach of generating equations. |
unoptimized | if true, the resulting PBES is not simplified, if false (default), the PBES is simplified. |
preprocess_modal_operators | A boolean indicating that the modal operators can be preprocessed to obtain a more compact PBES. |
generate_counter_example | A boolean indicating that a counter example must be generated. |
check_only | If check_only is true, only the formula will be checked, but no PBES is generated |
Definition at line 207 of file lps2pbes.h.
void mcrl2::pbes_system::lps2pbes | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | output_format, | ||
const std::string & | formula_filename, | ||
bool | timed, | ||
bool | structured, | ||
bool | unoptimized, | ||
bool | preprocess_modal_operators, | ||
bool | generate_counter_example, | ||
bool | check_only | ||
) |
Definition at line 42 of file lps2pbes.h.
|
inline |
Applies the lps2pbes algorithm.
spec_text | A string. |
formula_text | A string. |
timed | Determines whether the timed or untimed version of the translation algorithm is used. |
structured | use the 'structured' approach of generating equations. |
unoptimized | if true, the resulting PBES is not simplified, if false (default), the PBES is simplified. |
preprocess_modal_operators | A boolean indicating that the modal operators can be preprocessed to obtain a more compact PBES. |
generate_counter_example | A boolean indicating that a counter example must be generated. |
check_only | If check_only is true, only the formula will be checked, but no PBES is generated |
Definition at line 237 of file lps2pbes.h.
void mcrl2::pbes_system::lpsbisim2pbes | ( | const std::string & | input_filename1, |
const std::string & | input_filename2, | ||
const std::string & | output_filename, | ||
const utilities::file_format & | output_format, | ||
bisimulation_type | type, | ||
bool | normalize | ||
) |
Definition at line 25 of file lpsbisim2pbes.h.
void mcrl2::pbes_system::lpsstategraph | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const pbesstategraph_options & | options | ||
) |
Definition at line 218 of file lpsstategraph_algorithm.h.
|
inline |
Apply the stategraph algorithm.
p | A PBES to which the algorithm is applied. |
options | The options for the algorithm. |
Definition at line 202 of file lpsstategraph_algorithm.h.
|
inline |
Translates an LTS and a modal formula into a PBES that represents the corresponding model checking problem.
l | A labelled transition system. |
formspec | A modal formula specification. |
preprocess_modal_operators | A boolean indicating that modal operators must be preprocessed. |
generate_counter_example | A boolean indicating that a counter example must be generated. |
Definition at line 100 of file lts2pbes.h.
|
inline |
\brief Make_and_ constructs a new term into a given address. \
t | The reference into which the new and_ is constructed. |
Definition at line 336 of file pbes_expression.h.
|
inline |
\brief Make_exists constructs a new term into a given address. \
t | The reference into which the new exists is constructed. |
Definition at line 640 of file pbes_expression.h.
|
inline |
Make an existential quantification. It checks for an empty variable list, which is not allowed.
l | A sequence of data variables |
p | A PBES expression |
exists l.p
Definition at line 942 of file pbes_expression.h.
|
inline |
\brief Make_forall constructs a new term into a given address. \
t | The reference into which the new forall is constructed. |
Definition at line 564 of file pbes_expression.h.
|
inline |
Make a universal quantification. It checks for an empty variable list, which is not allowed.
l | A sequence of data variables |
p | A PBES expression |
forall l.p
Definition at line 927 of file pbes_expression.h.
|
inline |
\brief Make_imp constructs a new term into a given address. \
t | The reference into which the new imp is constructed. |
Definition at line 488 of file pbes_expression.h.
|
inline |
\brief Make_not_ constructs a new term into a given address. \
t | The reference into which the new not_ is constructed. |
Definition at line 260 of file pbes_expression.h.
|
inline |
\brief Make_or_ constructs a new term into a given address. \
t | The reference into which the new or_ is constructed. |
Definition at line 412 of file pbes_expression.h.
pbes_equation_solver< Rewriter > mcrl2::pbes_system::make_pbes_equation_solver | ( | const Rewriter & | rewriter | ) |
Utility function for creating a pbes_equation_solver.
Definition at line 112 of file pbes_gauss_elimination.h.
|
inline |
Creates a substitution function for the pbesinst rewriter.
v | A sequence of data variables |
e | A sequence of data expressions |
sigma | The substitution that maps the i-th element of v to the i-th element of e |
Definition at line 32 of file pbesinst_algorithm.h.
|
inline |
\brief Make_propositional_variable constructs a new term into a given address. \
t | The reference into which the new propositional_variable is constructed. |
Definition at line 83 of file propositional_variable.h.
|
inline |
\brief Make_propositional_variable_instantiation constructs a new term into a given address. \
t | The reference into which the new propositional_variable_instantiation is constructed. |
Definition at line 183 of file pbes_expression.h.
|
inline |
Transforms a PBES into standard form.
eqn | A pbes equation system |
recursive_form | Determines whether or not the result will be in standard recursive normal form |
Definition at line 305 of file normal_forms.h.
|
inline |
Definition at line 76 of file small_progress_measures.h.
T mcrl2::pbes_system::normalize | ( | const T & | x, |
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
The function normalize brings (embedded) pbes expressions into positive normal form, i.e. a formula without any occurrences of ! or =>.
x | an object containing pbes expressions |
Definition at line 189 of file normalize.h.
void mcrl2::pbes_system::normalize | ( | T & | x, |
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
The function normalize brings (embedded) pbes expressions into positive normal form, i.e. a formula without any occurrences of ! or =>.
x | an object containing pbes expressions |
Definition at line 177 of file normalize.h.
pbes_system::pbes_expression mcrl2::pbes_system::normalize_sorts | ( | const pbes_system::pbes_expression & | x, |
const data::sort_specification & | sortspec | ||
) |
T mcrl2::pbes_system::normalize_sorts | ( | const T & | x, |
const data::sort_specification & | sortspec, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Definition at line 34 of file normalize_sorts.h.
void mcrl2::pbes_system::normalize_sorts | ( | pbes_system::pbes & | x, |
const data::sort_specification & | sortspec | ||
) |
void mcrl2::pbes_system::normalize_sorts | ( | pbes_system::pbes_equation_vector & | x, |
const data::sort_specification & | sortspec | ||
) |
void mcrl2::pbes_system::normalize_sorts | ( | T & | x, |
const data::sort_specification & | sortspec, | ||
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Definition at line 25 of file normalize_sorts.h.
|
inline |
Definition at line 174 of file pbes_equation.h.
|
inlinestatic |
Definition at line 210 of file partial_order_reduction.h.
Definition at line 203 of file partial_order_reduction.h.
atermpp::aterm_ostream & mcrl2::pbes_system::operator<< | ( | atermpp::aterm_ostream & | stream, |
const pbes & | pbes | ||
) |
|
inline |
|
inline |
Definition at line 78 of file absinthe_strategy.h.
|
inline |
Definition at line 96 of file bisimulation_type.h.
|
inline |
Definition at line 157 of file pbes_rewriter_type.h.
|
inline |
Definition at line 88 of file pbesinst_strategy.h.
|
inline |
Definition at line 103 of file pbespgsolve.h.
|
inline |
Definition at line 72 of file remove_level.h.
|
inline |
Definition at line 73 of file search_strategy.h.
|
static |
Definition at line 42 of file solution_strategy.h.
|
inline |
Definition at line 88 of file transformation_strategy.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 358 of file pbes_expression.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 662 of file pbes_expression.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 91 of file fixpoint_symbol.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 586 of file pbes_expression.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 510 of file pbes_expression.h.
|
inline |
Definition at line 326 of file pbessolve_vertex_set.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 282 of file pbes_expression.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 434 of file pbes_expression.h.
|
inline |
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 153 of file pbes_equation.h.
|
inline |
Definition at line 70 of file pbes_equation_index.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 106 of file pbes_expression.h.
|
inline |
Definition at line 168 of file pbesinst_lazy.h.
|
inline |
Definition at line 45 of file pbessolve_options.h.
|
inline |
Definition at line 111 of file small_progress_measures.h.
|
inline |
Definition at line 196 of file small_progress_measures.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 111 of file propositional_variable.h.
|
inline |
\brief Outputs the object to a stream \param out An output stream \param x Object x \return The output stream
Definition at line 211 of file pbes_expression.h.
|
inline |
Definition at line 105 of file simple_structure_graph.h.
|
inline |
Definition at line 196 of file srf_pbes.h.
|
inline |
Definition at line 113 of file srf_pbes.h.
|
inline |
Definition at line 424 of file pbessolve_vertex_set.h.
|
inline |
Definition at line 329 of file structure_graph.h.
|
inline |
Definition at line 275 of file structure_graph.h.
|
inline |
Definition at line 289 of file structure_graph.h.
|
inline |
Definition at line 265 of file pbessolve_vertex_set.h.
|
inline |
Definition at line 166 of file pbes_equation.h.
atermpp::aterm_istream & mcrl2::pbes_system::operator>> | ( | atermpp::aterm_istream & | stream, |
pbes & | pbes | ||
) |
|
inline |
|
inline |
|
inline |
Definition at line 62 of file absinthe_strategy.h.
|
inline |
Definition at line 80 of file bisimulation_type.h.
|
inline |
Stream operator for rewriter type.
is | An input stream |
t | A rewriter type |
Definition at line 141 of file pbes_rewriter_type.h.
|
inline |
Definition at line 53 of file pbesinst_strategy.h.
|
inline |
Definition at line 87 of file pbespgsolve.h.
|
inline |
Definition at line 56 of file remove_level.h.
|
inline |
Definition at line 57 of file search_strategy.h.
|
static |
Definition at line 66 of file solution_strategy.h.
|
inline |
Definition at line 72 of file transformation_strategy.h.
|
inline |
Make a conjunction.
p | A PBES expression |
q | A PBES expression |
p && q
Definition at line 965 of file pbes_expression.h.
|
inline |
Make an existential quantification If l is empty, p is returned.
l | A sequence of data variables |
p | A PBES expression |
exists l.p
Definition at line 1024 of file pbes_expression.h.
|
inline |
Make a universal quantification If l is empty, p is returned.
l | A sequence of data variables |
p | A PBES expression |
forall l.p
Definition at line 996 of file pbes_expression.h.
|
inline |
Make an implication.
p | A PBES expression |
q | A PBES expression |
p => q
Definition at line 985 of file pbes_expression.h.
|
inline |
|
inline |
|
inline |
Make a negation.
p | A PBES expression |
!p
Definition at line 955 of file pbes_expression.h.
|
inline |
Make a disjunction.
p | A PBES expression |
q | A PBES expression |
p || q
Definition at line 975 of file pbes_expression.h.
|
inline |
Definition at line 54 of file transformations.h.
|
inline |
|
inline |
Parses an absinthe strategy.
Definition at line 31 of file absinthe_strategy.h.
|
inline |
Returns the string corresponding to a bisimulation type.
Definition at line 33 of file bisimulation_type.h.
|
inline |
|
inline |
pbes_expression mcrl2::pbes_system::parse_pbes_expression | ( | const std::string & | expr, |
const std::string & | subst, | ||
const pbes & | p, | ||
SubstitutionFunction & | sigma | ||
) |
pbes_expression mcrl2::pbes_system::parse_pbes_expression | ( | const std::string & | text, |
const data::data_specification & | dataspec, | ||
const VariableContainer & | variables, | ||
const PropositionalVariableContainer & | propositional_variables, | ||
bool | type_check = true , |
||
bool | translate_user_notation = true , |
||
bool | normalize_sorts = true |
||
) |
Parse a pbes expression. Throws an exception if something went wrong.
[in] | text | A string containing a pbes expression. |
[in] | variables | A sequence of data variables that may appear in x. |
[in] | propositional_variables | A sequence of propositional variables that may appear in x. |
[in] | dataspec | A data specification. |
[in] | type_check | If true the parsed input is also typechecked. |
pbes_expression mcrl2::pbes_system::parse_pbes_expression | ( | const std::string & | text, |
const pbes & | pbesspec, | ||
const VariableContainer & | variables, | ||
bool | type_check = true , |
||
bool | translate_user_notation = true , |
||
bool | normalize_sorts = true |
||
) |
Parse a pbes expression. Throws an exception if something went wrong.
[in] | text | A string containing a pbes expression. |
[in] | pbesspec | A PBES used as context. |
[in] | variables | A sequence of data variables that may appear in x. |
[in] | type_check | If true the parsed input is also typechecked. |
|
inline |
|
inline |
Parses a sequence of pbes expressions. The format of the text is as follows:
"datavar"
, followed by a sequence of data variable declarations "predvar"
, followed by a sequence of predicate variable declarations "expressions"
, followed by a sequence of pbes expressions separated by newlines An example of this is:
text | A string |
data_spec | A string N.B. A side effect of the data specification is that it determines whether rewrite rules for types like Pos and Nat are generated or not. |
|
inline |
Parses a pbes rewriter type.
Definition at line 38 of file pbes_rewriter_type.h.
|
inline |
Parse a pbesinst transformation strategy.
Definition at line 32 of file pbesinst_strategy.h.
|
inline |
Parse parity game in PGSolver format from filename, and store the resulting BES in b.
Definition at line 236 of file pg_parse.h.
|
inline |
Reads a parity game from an input stream, and stores it as a BES.
from | An input stream |
result | A boolean equation system |
maxpg | If true a max-parity game is generated in result, otherwise a min-parity game is obtained. |
Definition at line 228 of file pg_parse.h.
|
inline |
Reads a parity game from an input stream, and stores it as a BES.
text | A string |
result | A boolean equation system |
maxpg | If true a max-parity game is generated in result, otherwise a min-parity game is obtained. |
Definition at line 213 of file pg_parse.h.
propositional_variable mcrl2::pbes_system::parse_propositional_variable | ( | const std::string & | text, |
const VariableContainer & | variables, | ||
const data::data_specification & | dataspec = data::data_specification() |
||
) |
|
inline |
Definition at line 35 of file remove_level.h.
|
inline |
Definition at line 34 of file search_strategy.h.
|
static |
Definition at line 49 of file solution_strategy.h.
|
inline |
Definition at line 37 of file pbespgsolve.h.
|
inline |
Definition at line 49 of file transformation_strategy.h.
bool mcrl2::pbes_system::pbes2_bool_test | ( | pbes & | pbes_spec, |
const bool | expected_outcome, | ||
data::rewriter::strategy | rewrite_strategy = data::jitty |
||
) |
Definition at line 100 of file pbes_solver_test.h.
Converts a PBES into standard recursive form.
Definition at line 634 of file srf_pbes.h.
|
inline |
Conversion to atermaPpl.
Definition at line 182 of file pbes_equation.h.
|
inline |
Definition at line 79 of file pbesinst_alternative_lazy_algorithm.h.
const std::vector< utilities::file_format > & mcrl2::pbes_system::pbes_file_formats | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 33 of file pbes_solver_test.h.
atermpp::aterm mcrl2::pbes_system::pbes_marker | ( | ) |
T mcrl2::pbes_system::pbes_rewrite | ( | const T & | x, |
const Rewriter & | R, | ||
Substitution | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = 0 |
||
) |
T mcrl2::pbes_system::pbes_rewrite | ( | const T & | x, |
const Rewriter & | R, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = 0 |
||
) |
void mcrl2::pbes_system::pbes_rewrite | ( | T & | x, |
const Rewriter & | R, | ||
Substitution | sigma, | ||
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = 0 |
||
) |
void mcrl2::pbes_system::pbes_rewrite | ( | T & | x, |
const Rewriter & | R, | ||
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
atermpp::aterm_appl mcrl2::pbes_system::pbes_to_aterm | ( | const pbes & | p | ) |
void mcrl2::pbes_system::pbesabsinthe | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | input_format, | ||
const utilities::file_format & | output_format, | ||
const std::string & | abstraction_file, | ||
absinthe_strategy | strategy, | ||
bool | print_used_function_symbols, | ||
bool | enable_logging | ||
) |
Definition at line 23 of file pbesabsinthe.h.
|
inline |
Definition at line 24 of file pbesabstract.h.
void mcrl2::pbes_system::pbesconstelm | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | input_format, | ||
const utilities::file_format & | output_format, | ||
data::rewrite_strategy | rewrite_strategy, | ||
pbes_rewriter_type | rewriter_type, | ||
bool | compute_conditions, | ||
bool | remove_redundant_equations, | ||
bool | check_quantifiers | ||
) |
Definition at line 22 of file pbesconstelm.h.
void mcrl2::pbes_system::pbesinfo | ( | const std::string & | input_filename, |
const std::string & | input_file_message, | ||
const utilities::file_format & | file_format, | ||
bool | opt_full | ||
) |
Definition at line 22 of file pbesinfo.h.
|
inline |
Definition at line 410 of file pbesinst_finite_algorithm.h.
|
inline |
Definition at line 44 of file pbesinst_algorithm.h.
void mcrl2::pbes_system::pbesparelm | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | input_format, | ||
const utilities::file_format & | output_format | ||
) |
Definition at line 22 of file pbesparelm.h.
void mcrl2::pbes_system::pbespareqelm | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | input_format, | ||
const utilities::file_format & | output_format, | ||
data::rewrite_strategy | rewrite_strategy, | ||
pbes_rewriter_type | rewriter_type, | ||
bool | ignore_initial_state | ||
) |
Definition at line 22 of file pbespareqelm.h.
|
inline |
Solves a pbes using a parity game solver.
Definition at line 260 of file pbespgsolve.h.
|
inline |
Solves a pbes using a parity game solver.
Definition at line 271 of file pbespgsolve.h.
void mcrl2::pbes_system::pbespor | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | input_format, | ||
const utilities::file_format & | output_format, | ||
pbespor_options | options | ||
) |
void mcrl2::pbes_system::pbespp | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | input_format, | ||
core::print_format_type | format, | ||
bool | use_pfnf_printer | ||
) |
void mcrl2::pbes_system::pbesrewr | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | input_format, | ||
const utilities::file_format & | output_format, | ||
data::rewrite_strategy | rewrite_strategy, | ||
pbes_rewriter_type | rewriter_type | ||
) |
Definition at line 31 of file pbesrewr.h.
void mcrl2::pbes_system::pbesstategraph | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | input_format, | ||
const utilities::file_format & | output_format, | ||
const pbesstategraph_options & | options | ||
) |
Definition at line 22 of file pbesstategraph.h.
std::string mcrl2::pbes_system::pfnf_pp | ( | const T & | x | ) |
Returns a PFNF string representation of the object x.
Definition at line 147 of file pfnf_print.h.
std::string mcrl2::pbes_system::pp | ( | const fixpoint_symbol & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const pbes_equation & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const pbes_equation_vector & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const pbes_expression & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const pbes_expression_list & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const pbes_expression_vector & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const propositional_variable & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const propositional_variable_instantiation & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const propositional_variable_instantiation_list & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const propositional_variable_instantiation_vector & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const propositional_variable_list & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const propositional_variable_vector & | x | ) |
std::string mcrl2::pbes_system::pp | ( | const T & | x | ) |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inline |
Definition at line 60 of file pbespgsolve.h.
|
inline |
Definition at line 112 of file pbespgsolve.h.
|
inline |
Prints an absinthe strategy.
Definition at line 49 of file absinthe_strategy.h.
|
inline |
Returns a description of a bisimulation type.
Definition at line 45 of file bisimulation_type.h.
std::string mcrl2::pbes_system::print_brief | ( | const T & | x | ) |
Returns a string representation of the root node of a PBES.
x | a PBES object |
Definition at line 69 of file pbes_functions.h.
|
inline |
Prints a pbes rewriter type.
Definition at line 81 of file pbes_rewriter_type.h.
|
inline |
Returns a string representation of a pbesinst transformation strategy.
Definition at line 70 of file pbesinst_strategy.h.
|
inline |
Definition at line 44 of file remove_level.h.
|
inline |
Definition at line 44 of file search_strategy.h.
|
inline |
Definition at line 430 of file pbessolve_vertex_set.h.
std::ostream & mcrl2::pbes_system::print_structure_graph | ( | std::ostream & | out, |
const StructureGraph & | G | ||
) |
Definition at line 302 of file structure_graph.h.
|
inline |
Definition at line 57 of file partial_order_reduction.h.
std::string mcrl2::pbes_system::print_symbol | ( | const Term & | x | ) |
Definition at line 37 of file absinthe.h.
std::string mcrl2::pbes_system::print_term | ( | const Term & | x | ) |
Definition at line 31 of file absinthe.h.
|
inline |
Definition at line 59 of file transformation_strategy.h.
Definition at line 404 of file quantifier_propagate.h.
|
inline |
Definition at line 375 of file quantifier_propagate.h.
|
inline |
Definition at line 1053 of file pbes_expression.h.
|
inline |
Definition at line 38 of file remove_equations.h.
|
static |
T mcrl2::pbes_system::remove_parameters | ( | const T & | x, |
const std::map< core::identifier_string, std::vector< std::size_t > > & | to_be_removed, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Removes parameters from propositional variable instantiations in a pbes expression.
x | A PBES library object that derives from atermpp::aterm_appl |
to_be_removed | A mapping that maps propositional variable names to indices of parameters that are removed |
x
with parameters removed according to the mapping to_be_removed
Definition at line 208 of file remove_parameters.h.
T mcrl2::pbes_system::remove_parameters | ( | const T & | x, |
const std::set< data::variable > & | to_be_removed, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = 0 |
||
) |
Removes parameters from propositional variable instantiations in a pbes expression.
x | A PBES library object that derives from atermpp::aterm_appl |
to_be_removed | A set of parameters that are to be removed |
x
with parameters removed according to the mapping to_be_removed
Definition at line 318 of file remove_parameters.h.
T mcrl2::pbes_system::remove_parameters | ( | const T & | x, |
const std::vector< std::size_t > & | to_be_removed, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Removes parameters from propositional variable instantiations in a pbes expression.
x | A PBES library object that derives from atermpp::aterm_appl |
to_be_removed | The indices of parameters that are to be removed |
x
with parameters removed according to the mapping to_be_removed
Definition at line 107 of file remove_parameters.h.
void mcrl2::pbes_system::remove_parameters | ( | T & | x, |
const std::map< core::identifier_string, std::vector< std::size_t > > & | to_be_removed, | ||
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Removes parameters from propositional variable instantiations in a pbes expression.
x | A PBES library object that does not derive from atermpp::aterm_appl |
to_be_removed | A mapping that maps propositional variable names to a sorted vector of parameter indices that need to be removed |
x
with parameters removed according to the mapping to_be_removed
Definition at line 224 of file remove_parameters.h.
void mcrl2::pbes_system::remove_parameters | ( | T & | x, |
const std::set< data::variable > & | to_be_removed, | ||
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Removes parameters from propositional variable instantiations in a pbes expression.
x | A PBES library object that does not derive from atermpp::aterm_appl |
to_be_removed | A set of parameters that are to be removed |
x
with parameters removed according to the mapping to_be_removed
Definition at line 333 of file remove_parameters.h.
void mcrl2::pbes_system::remove_parameters | ( | T & | x, |
const std::vector< std::size_t > & | to_be_removed, | ||
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = 0 |
||
) |
Removes parameters from propositional variable instantiations in a pbes expression.
x | A PBES library object that does not derive from atermpp::aterm_appl |
to_be_removed | The indices of parameters that are to be removed |
x
with parameters removed according to the mapping to_be_removed
Definition at line 122 of file remove_parameters.h.
|
inline |
Removes equations that are not (syntactically) reachable from the initial state of a PBES.
Definition at line 82 of file remove_equations.h.
T mcrl2::pbes_system::replace_all_variables | ( | const T & | x, |
const Substitution & | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_all_variables | ( | T & | x, |
const Substitution & | sigma, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
T mcrl2::pbes_system::replace_constants_by_variables | ( | const T & | x, |
const data::rewriter & | r, | ||
data::mutable_indexed_substitution<> & | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Replace each constant data application c in x by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times.
Definition at line 55 of file replace_constants_by_variables.h.
void mcrl2::pbes_system::replace_constants_by_variables | ( | T & | x, |
const data::rewriter & | r, | ||
data::mutable_indexed_substitution<> & | sigma, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Replace each constant data application c in x by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times.
Definition at line 41 of file replace_constants_by_variables.h.
T mcrl2::pbes_system::replace_data_expressions | ( | const T & | x, |
const Substitution & | sigma, | ||
bool | innermost, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_data_expressions | ( | T & | x, |
const Substitution & | sigma, | ||
bool | innermost, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
T mcrl2::pbes_system::replace_free_variables | ( | const T & | x, |
const Substitution & | sigma, | ||
const VariableContainer & | bound_variables, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
T mcrl2::pbes_system::replace_free_variables | ( | const T & | x, |
const Substitution & | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_free_variables | ( | T & | x, |
const Substitution & | sigma, | ||
const VariableContainer & | bound_variables, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_free_variables | ( | T & | x, |
const Substitution & | sigma, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
T mcrl2::pbes_system::replace_pbes_expressions | ( | const T & | x, |
const Substitution & | sigma, | ||
bool | innermost = true , |
||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_pbes_expressions | ( | T & | x, |
const Substitution & | sigma, | ||
bool | innermost = true , |
||
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = 0 |
||
) |
T mcrl2::pbes_system::replace_propositional_variables | ( | const T & | x, |
const Substitution & | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_propositional_variables | ( | T & | result, |
const T & | x, | ||
const Substitution & | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_propositional_variables | ( | T & | x, |
const Substitution & | sigma, | ||
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
T mcrl2::pbes_system::replace_sort_expressions | ( | const T & | x, |
const Substitution & | sigma, | ||
bool | innermost, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_sort_expressions | ( | T & | x, |
const Substitution & | sigma, | ||
bool | innermost, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
|
inline |
Replace the subterm at position (x, y) with a given term.
Definition at line 183 of file replace_subterm.h.
|
inline |
Replace the subterm at position (x, y) with a given term.
Definition at line 173 of file replace_subterm.h.
T mcrl2::pbes_system::replace_variables | ( | const T & | x, |
const Substitution & | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::replace_variables | ( | T & | x, |
const Substitution & | sigma, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
T mcrl2::pbes_system::replace_variables_capture_avoiding | ( | const T & | x, |
Substitution & | sigma, | ||
data::set_identifier_generator & | id_generator, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
\brief Applies sigma as a capture avoiding substitution to x. \param x The object to which the substiution is applied. \param sigma A substitution. \param id_generator An identifier generator that generates names that do not appear in x and sigma
Definition at line 102 of file replace_capture_avoiding.h.
T mcrl2::pbes_system::replace_variables_capture_avoiding | ( | const T & | x, |
Substitution & | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
\brief Applies sigma as a capture avoiding substitution to x. \param x The object to which the substiution is applied. \param sigma A substitution.
Definition at line 136 of file replace_capture_avoiding.h.
void mcrl2::pbes_system::replace_variables_capture_avoiding | ( | T & | x, |
Substitution & | sigma, | ||
data::set_identifier_generator & | id_generator, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
\brief Applies sigma as a capture avoiding substitution to x. \param x The object to which the subsitution is applied. \param sigma A substitution. \param id_generator An identifier generator that generates names that do not appear in x and sigma
Definition at line 87 of file replace_capture_avoiding.h.
void mcrl2::pbes_system::replace_variables_capture_avoiding | ( | T & | x, |
Substitution & | sigma, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
\brief Applies sigma as a capture avoiding substitution to x. \param x The object to which the subsitution is applied. \param sigma A substitution.
Definition at line 118 of file replace_capture_avoiding.h.
T mcrl2::pbes_system::replace_variables_capture_avoiding_with_an_identifier_generator | ( | const T & | x, |
Substitution & | sigma, | ||
IdentifierGenerator & | id_generator, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
\brief Applies sigma as a capture avoiding substitution to x using an identifier generator.. \details This substitution function is much faster than replace_variables_capture_avoiding, but it requires an identifier generator that generates strings for fresh variables. These strings must be unique in the sense that they have not been used for other variables. \param x The object to which the substiution is applied. \param sigma A mutable substitution of which it can efficiently be checked whether a variable occurs in its right hand side. The class maintain_variables_in_rhs is useful for this purpose. \param id_generator A generator that generates unique strings, not yet used as variable names. \return The result is the term x to which sigma has been applied.
Definition at line 114 of file replace_capture_avoiding_with_an_identifier_generator.h.
void mcrl2::pbes_system::replace_variables_capture_avoiding_with_an_identifier_generator | ( | T & | x, |
Substitution & | sigma, | ||
IdentifierGenerator & | id_generator, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
\brief Applies sigma as a capture avoiding substitution to x using an identifier generator. \details This substitution function is much faster than replace_variables_capture_avoiding, but it requires an identifier generator that generates strings for fresh variables. These strings must be unique in the sense that they have not been used for other variables. \param x The object to which the subsitution is applied. \param sigma A mutable substitution of which it can efficiently be checked whether a variable occurs in its right hand side. The class maintain_variables_in_rhs is useful for this purpose. \param id_generator A generator that generates unique strings, not yet used as variable names.
Definition at line 95 of file replace_capture_avoiding_with_an_identifier_generator.h.
|
inline |
Renames summand variables such that there are no name clashes between summand variables and process parameters.
Definition at line 50 of file resolve_name_clashes.h.
T mcrl2::pbes_system::rewrite | ( | const T & | x, |
Rewriter | R, | ||
const Substitution & | sigma, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
T mcrl2::pbes_system::rewrite | ( | const T & | x, |
Rewriter | R, | ||
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::rewrite | ( | T & | x, |
Rewriter | R, | ||
const Substitution & | sigma, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::rewrite | ( | T & | x, |
Rewriter | R, | ||
typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
void mcrl2::pbes_system::save_bes_pgsolver | ( | const pbes & | bes, |
std::ostream & | stream, | ||
bool | maxpg = true |
||
) |
Definition at line 142 of file pgsolver.cpp.
void mcrl2::pbes_system::save_pbes | ( | const pbes & | pbes, |
const std::string & | filename, | ||
utilities::file_format | format = utilities::file_format() , |
||
bool | welltypedness_check = true |
||
) |
save_pbes Saves a PBES to a file.
pbes | The PBES to save. |
filename | The file to save the PBES in. |
format | The format in which to save the PBES. |
welltypedness_check | If set to false, skips checking whether pbes is well typed before saving it to file. |
The format of the file in infilename is guessed if format is not given or if it is equal to utilities::file_format().
void mcrl2::pbes_system::save_pbes | ( | const pbes & | pbes, |
std::ostream & | stream, | ||
utilities::file_format | format = utilities::file_format() |
||
) |
Save a PBES in the format specified.
pbes | The PBES to be stored |
stream | The stream to which the output is saved. |
format | Determines the format in which the result is written. If unspecified, or pbes_file_unknown is specified, then a default format is chosen. |
bool mcrl2::pbes_system::search_variable | ( | const pbes_system::pbes_expression & | x, |
const data::variable & | v | ||
) |
bool mcrl2::pbes_system::search_variable | ( | const T & | x, |
const data::variable & | v | ||
) |
vertex_set mcrl2::pbes_system::set_intersection | ( | const VertexSet & | V, |
const vertex_set & | W | ||
) |
Definition at line 283 of file pbessolve_vertex_set.h.
|
inline |
Definition at line 297 of file pbessolve_vertex_set.h.
|
inline |
Definition at line 271 of file pbessolve_vertex_set.h.
|
inline |
Definition at line 111 of file significant_variables.h.
|
inline |
Definition at line 367 of file small_progress_measures.h.
|
static |
Definition at line 27 of file solution_strategy.h.
|
inline |
Definition at line 568 of file solve_structure_graph.h.
|
inline |
Definition at line 576 of file solve_structure_graph.h.
|
inline |
Solve this pbes_system using a structure graph generating a counter example.
G | The structure graph. |
ltsspec | The original LTS that was used to create the PBES. |
Definition at line 586 of file solve_structure_graph.h.
|
inline |
Splits a conjunction into a sequence of operands Given a pbes expression of the form p1 && p2 && .... && pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a && as main function symbol.
expr | A PBES expression |
split_data_expressions | if true, both data and pbes conjunctions are split, otherwise only pbes conjunctions are split. |
|
inline |
Splits a conjunction into a sequence of operands Given a pbes expression of the form p1 && p2 && .... && pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a && as main function symbol.
expr | A PBES expression |
split_simple_expr | If true, pbes conjuncts are split, even if no proposition variables occur. If false, pbes conjuncts are only split if a proposition variable occurs somewhere in expr. |
Definition at line 166 of file pbes_functions.h.
|
inline |
Splits a disjunction into a sequence of operands. Given a pbes expression of the form p1 || p2 || .... || pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a || as main function symbol.
expr | A PBES expression. |
split_simple_expr | If true, pbes disjuncts are split, even if no proposition variables occur. If false, pbes disjuncts are only split if a proposition variable occurs somewhere in expr. |
Definition at line 138 of file pbes_functions.h.
|
inline |
Splits a disjunction into a sequence of operands Given a pbes expression of the form p1 || p2 || .... || pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a || as main function symbol.
expr | A PBES expression |
split_data_expressions | if true, both data and pbes disjunctions are split, otherwise only pbes disjunctions are split. |
|
inline |
Apply the stategraph algorithm.
p | A PBES to which the algorithm is applied. |
options | The options for the algorithm. |
Definition at line 26 of file stategraph.h.
|
inline |
Returns a pbes that expresses strong bisimulation between two specifications.
model | A linear process specification |
spec | A linear process specification |
Definition at line 602 of file bisimulation.h.
std::vector< typename StructureGraph::index_type > mcrl2::pbes_system::structure_graph_predecessors | ( | const StructureGraph & | G, |
typename StructureGraph::index_type | u | ||
) |
Definition at line 253 of file structure_graph.h.
std::vector< typename StructureGraph::index_type > mcrl2::pbes_system::structure_graph_successors | ( | const StructureGraph & | G, |
typename StructureGraph::index_type | u | ||
) |
Definition at line 264 of file structure_graph.h.
\brief swap overload
Definition at line 364 of file pbes_expression.h.
\brief swap overload
Definition at line 668 of file pbes_expression.h.
|
inline |
\brief swap overload
Definition at line 97 of file fixpoint_symbol.h.
\brief swap overload
Definition at line 592 of file pbes_expression.h.
\brief swap overload
Definition at line 516 of file pbes_expression.h.
\brief swap overload
Definition at line 288 of file pbes_expression.h.
\brief swap overload
Definition at line 440 of file pbes_expression.h.
|
inline |
\brief swap overload
Definition at line 159 of file pbes_equation.h.
|
inline |
\brief swap overload
Definition at line 112 of file pbes_expression.h.
|
inline |
\brief swap overload
Definition at line 117 of file propositional_variable.h.
|
inline |
\brief swap overload
Definition at line 217 of file pbes_expression.h.
pbes_system::pbes_expression mcrl2::pbes_system::translate_user_notation | ( | const pbes_system::pbes_expression & | x | ) |
T mcrl2::pbes_system::translate_user_notation | ( | const T & | x, |
typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value >::type * | = 0 |
||
) |
Definition at line 33 of file translate_user_notation.h.
void mcrl2::pbes_system::translate_user_notation | ( | pbes_system::pbes & | x | ) |
void mcrl2::pbes_system::translate_user_notation | ( | T & | x, |
typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type * | = nullptr |
||
) |
Definition at line 25 of file translate_user_notation.h.
|
inline |
Definition at line 688 of file pbes_expression.h.
void mcrl2::pbes_system::txt2pbes | ( | const std::string & | input_filename, |
const std::string & | output_filename, | ||
const utilities::file_format & | output_format, | ||
bool | normalize | ||
) |
Definition at line 21 of file txt2pbes.h.
|
inline |
Parses a PBES specification from a string.
text | A string |
normalize | If true, the resulting PBES is normalized after reading. |
Definition at line 47 of file txt2pbes.h.
|
inline |
Parses a PBES specification from an input stream.
spec_stream | A stream from which can be read |
normalize | If true, the resulting PBES is normalized after reading. |
Definition at line 30 of file txt2pbes.h.
|
inline |
Type check a parsed mCRL2 pbes specification. Throws an exception if something went wrong.
[in] | pbesspec | A process specification that has not been type checked. |
Definition at line 275 of file typecheck.h.
pbes_expression mcrl2::pbes_system::typecheck_pbes_expression | ( | pbes_expression & | x, |
const VariableContainer & | variables, | ||
const PropositionalVariableContainer & | propositional_variables, | ||
const data::data_specification & | dataspec = data::data_specification() |
||
) |
Type check a parsed mCRL2 pbes expression. Throws an exception if something went wrong.
[in] | x | A pbes expression. |
[in] | variables | A sequence of data variables that may appear in x. |
[in] | propositional_variables | A sequence of propositional variables that may appear in x. |
[in] | dataspec | A data specification. |
Definition at line 328 of file typecheck.h.
propositional_variable mcrl2::pbes_system::typecheck_propositional_variable | ( | const propositional_variable & | x, |
const VariableContainer & | variables, | ||
const data::data_specification & | dataspec = data::data_specification() |
||
) |
Type check a parsed mCRL2 propositional variable. Throws an exception if something went wrong.
[in] | x | A propositional variable. |
[in] | variables | A sequence of data variables that may appear in x. |
[in] | dataspec | A data specification. |
Definition at line 296 of file typecheck.h.
|
inlineconstexpr |
Definition at line 35 of file structure_graph.h.
|
inline |
Definition at line 129 of file unify_parameters.h.
|
inline |
Definition at line 154 of file unify_parameters.h.
|
inline |
Returns a pbes that expresses weak bisimulation between two specifications.
model | A linear process specification |
spec | A linear process specification |
Definition at line 824 of file bisimulation.h.