|
| template<typename PropositionalVariable , typename Parameter > |
| void | split_parameters (const PropositionalVariable &X, const pbesinst_index_map &index_map, std::vector< Parameter > &finite, std::vector< Parameter > &infinite) |
| | Computes the subset with variables of finite sort and infinite.
|
| |
| std::string | print_removed_equations (const std::vector< propositional_variable > &removed) |
| |
| pbes | load_pbes (const std::string &filename) |
| | Loads a PBES from filename, or from stdin if filename equals "".
|
| |
| void | save_pbes (const pbes &pbesspec, const std::string &filename) |
| | Saves an PBES to filename, or to stdout if filename equals "".
|
| |
| pbes_expression | parse_pbes_expression_new (const std::string &text) |
| |
| untyped_pbes | parse_pbes_new (const std::string &text) |
| |
| void | complete_pbes (pbes &x) |
| |
| propositional_variable | parse_propositional_variable (const std::string &text) |
| |
| pbes_expression | parse_pbes_expression (const std::string &text) |
| |
| bool | has_propositional_variables (const pbes_expression &x) |
| |
| void | replace_global_variables (pbes &p, const data::mutable_map_substitution<> &sigma) |
| | Applies a global variable substitution to a PBES.
|
| |
| data::mutable_map_substitution | instantiate_global_variables (pbes &p) |
| | Eliminates the global variables of a PBES, by substituting a constant value for them. If no constant value is found for one of the variables, an exception is thrown.
|
| |
| std::set< data::variable > | find_quantifier_variables (const pbes_expression &x) |
| |
| bool | has_quantifier_name_clashes (const pbes_expression &x) |
| |
| bool | is_well_typed (const pbes_equation &eqn) |
| | Checks if the equation is well typed.
|
| |
| template<typename Iter > |
| bool | has_conflicting_type (Iter first, Iter last, const propositional_variable_instantiation &v, const data::data_specification &data_spec) |
| | Checks if the propositional variable instantiation v has a conflict with the sequence of propositional variable declarations [first, last).
|
| |
| 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) |
| |
| template<typename MapContainer > |
| MapContainer::mapped_type | map_at (const MapContainer &m, typename MapContainer::key_type key) |
| |
| data::data_specification & | absinthe_data_specification () |
| |
| template<typename T > |
| void | absinthe_check_expression (const T &x) |
| |
| bool | is_structured_sort_constructor (const data::data_specification &dataspec, const data::function_symbol &f) |
| |
| void | print_used_function_symbols (const pbes &p) |
| |
| data::sort_expression | target_sort (const data::sort_expression &s) |
| |
| void | set_bes_equation_limit (std::size_t size) |
| |
| void | check_bes_equation_limit (std::size_t size) |
| |
| template<typename T > |
| bool | is_bqnf (const T &x) |
| | Determines if an expression is a BQNF expression.
|
| |
| static void | inc_indent () |
| | Increases the current indent level.
|
| |
| static void | dec_indent () |
| | Decreases the current indent level.
|
| |
| static void | indent () |
| | Indents according to the current indent level.
|
| |
| std::map< data::variable, std::size_t > | count_free_variable_occurrences (const pbes_expression &x, const data::variable_list &bound_variables=data::variable_list(), bool search_propositional_variables=true) |
| |
| std::map< data::variable, std::size_t > | count_free_variable_occurrences (const pbes_expression &x, bool search_propositional_variables=true) |
| |
| template<typename OutputIterator > |
| void | find_free_variables (const pbes_expression &x, OutputIterator out, const data::variable_list &bound_variables, bool search_propositional_variables=true) |
| |
| std::set< data::variable > | find_free_variables (const pbes_expression &x, const data::variable_list &bound_variables, bool search_propositional_variables=true) |
| |
| std::vector< data::variable > | find_free_variables_in_order (const pbes_expression &x, const data::variable_list &bound_variables, bool search_propositional_variables=true) |
| |
| std::ostream & | operator<< (std::ostream &out, const guard_expression &x) |
| |
| void | split_and (const pbes_expression &expr, std::vector< pbes_expression > &result) |
| | Splits a conjunction into a sequence of operands Given a pbes expression of the form p1 && p2 && ... && pn, this will yield a vector of the form [ p1, p2, ..., pn ], assuming that pi does not have a && as main function symbol.
|
| |
| void | split_or (const pbes_expression &expr, std::vector< pbes_expression > &result) |
| | Splits a conjunction into a sequence of operands Given a pbes expression of the form p1 || p2 || ... || pn, this will yield a vector of the form [ p1, p2, ..., pn ], assuming that pi does not have a || as main function symbol.
|
| |
| bool | is_pfnf_simple_expression (const pbes_expression &x) |
| |
| bool | is_pfnf_data_expression (const pbes_expression &x) |
| |
| bool | is_pfnf_or_expression (const pbes_expression &x) |
| |
| bool | is_pfnf_or (const pbes_expression &x) |
| |
| bool | is_pfnf_imp (const pbes_expression &x) |
| |
| bool | is_pfnf_inner_and (const pbes_expression &x) |
| |
| bool | is_pfnf_outer_and (const pbes_expression &x) |
| |
| bool | is_pfnf_expression (const pbes_expression &x) |
| |
| template<typename T > |
| bool | is_pfnf (const T &x) |
| |
| pbes_expression | remove_quantifiers (const pbes_expression &x) |
| |
| std::vector< pbes_expression > | pfnf_implications (const pbes_expression &x) |
| |
| void | split_pfnf_expression (const pbes_expression &phi, pbes_expression &h, std::vector< pbes_expression > &g) |
| |
| template<typename TermTraits , typename Parameters > |
| void | E (const state_formulas::state_formula &x, Parameters ¶meters, std::vector< pbes_equation > &result, TermTraits tr) |
| |
| template<typename TermTraits , typename Parameters > |
| void | E_structured (const state_formulas::state_formula &x, Parameters ¶meters, std::vector< pbes_equation > &result, TermTraits tr) |
| |
| data::variable_list | Par (const core::identifier_string &X, const data::variable_list &l, const state_formulas::state_formula &x) |
| |
| template<typename TermTraits , typename Parameters > |
| pbes_expression | RHS (const state_formulas::state_formula &x, Parameters ¶meters, TermTraits tr) |
| |
| template<typename TermTraits , typename Parameters > |
| TermTraits::term_type | RHS_structured (const state_formulas::state_formula &x, Parameters ¶meters, const data::variable_list &variables, const fixpoint_symbol &sigma, std::vector< pbes_equation > &equations, TermTraits tr) |
| |
| template<typename TermTraits > |
| TermTraits::term_type | Sat (const lps::multi_action &a, const action_formulas::action_formula &x, data::set_identifier_generator &id_generator, TermTraits tr) |
| |
| data::variable_list | lhs_variables (const data::assignment_list &l) |
| |
| data::data_expression_list | rhs_expressions (const data::assignment_list &l) |
| |
| const core::identifier_string & | mu_name (const state_formulas::state_formula &f) |
| |
| data::variable_list | mu_variables (const state_formulas::state_formula &f) |
| | Returns the variables corresponding to ass(f)
|
| |
| data::data_expression_list | mu_expressions (const state_formulas::state_formula &f) |
| | Returns the data expressions corresponding to ass(f)
|
| |
| std::string | myprint (const std::vector< pbes_equation > &v) |
| |
| data::mutable_map_substitution | make_fresh_variable_substitution (const data::variable_list &variables, data::set_identifier_generator &id_generator, bool add_to_context=true) |
| | Generates a substitution that assigns fresh variables to the given sequence of variables. The identifier generator is used to assign names to the fresh variables. Caveat: the implementation is very inefficient.
|
| |
| void | lps_reset_variables (lpsstategraph_algorithm &algorithm, const pbes_expression &x, const stategraph_equation &eq_X, const data::variable_list &process_parameters, std::vector< lps::action_summand > &summands) |
| |
| data::assignment_list | make_assignments (const data::variable_list &d, const data::data_expression_list &e) |
| |
| template<typename TermTraits , typename Parameters > |
| void | E_lts2pbes (const state_formulas::state_formula &x, Parameters ¶meters, std::vector< pbes_equation > &result, TermTraits tr) |
| |
| std::ostream & | operator<< (std::ostream &out, const lts::lts_lts_t <sspec) |
| |
| std::ostream & | operator<< (std::ostream &out, const lts2pbes_lts <sspec) |
| |
| core::identifier_string | make_identifier (const core::identifier_string &name, lts2pbes_state_type s) |
| |
| template<typename TermTraits , typename Parameters > |
| pbes_expression | RHS (const state_formulas::state_formula &x, lts2pbes_state_type s, Parameters ¶meters, TermTraits tr) |
| |
template<typename T >
requires (std::is_base_of_v<atermpp::aterm, T>) |
| T | normalize_and_or (const T &x) |
| |
template<typename T >
requires (!std::is_base_of_v<atermpp::aterm, T>) |
| void | normalize_and_or (T &x) |
| |
| bool | match_declaration (const std::string &text, const data::variable &d, const data::data_specification &data_spec) |
| | Returns true if the declaration text matches with the variable d.
|
| |
| std::vector< data::variable > | find_matching_parameters (const pbes &p, const std::string &name, const std::set< std::string > &declarations) |
| | Find parameter declarations that match a given string.
|
| |
| pbes_parameter_map | parse_pbes_parameter_map (const pbes &p, const std::string &text) |
| | Parses parameter selection for finite pbesinst algorithm.
|
| |
| std::ostream & | print_pbes_parameter_map (std::ostream &out, const pbes_parameter_map &m) |
| | Print a parameter map.
|
| |
| bool | is_counter_example_positive (const core::identifier_string &name) |
| | Returns true iff the name is Zpos, name must be a counter example name.
|
| |
| bool | is_counter_example_name (const core::identifier_string &name) |
| |
| bool | counter_example_index (const core::identifier_string &name, std::size_t &index) |
| | Extracts the index embedded in a Zpos_<index>_.../Zneg_<index>_... counter example name.
|
| |
| bool | is_counter_example_variable (const propositional_variable &X) |
| |
| bool | is_counter_example_equation (const pbes_equation &equation) |
| | Guesses if the PBES equation is a counter example equation.
|
| |
| bool | is_counter_example_instantiation (const propositional_variable_instantiation &inst) |
| | Guesses if the PBES variable instantiation is for counter example equation.
|
| |
| bool | has_counter_example_information (const pbes &pbesspec) |
| | Guesses if a pbes has counter example information.
|
| |
| mcrl2::pbes_system::pbes | remove_counterexample_info (const pbes_system::pbes &pbes, bool remove_Lplus=true, bool remove_Lminus=true, bool remove_Lequations=true) |
| | Removes all equations and expressions related to counter examples from the input PBES.
|
| |
| std::optional< std::reference_wrapper< const pbes_equation > > | find_equation_by_name (const pbes &p, const core::identifier_string &eq_name) |
| |
| const std::map< data::variable, std::size_t > & | get_or_compute_variable_counts (const core::identifier_string &var_name, const pbes_expression &equation_formula, std::map< core::identifier_string, std::map< data::variable, std::size_t > > &cache) |
| |
| std::optional< data::variable > | choose_variable_by_count (const core::identifier_string &var_name, const pbes_expression &equation_formula, const std::set< data::variable > &abstracted_vars, std::map< core::identifier_string, std::map< data::variable, std::size_t > > &cache) |
| |
| std::optional< data::variable > | choose_variable_by_lhs_order (const data::variable_list &all_parameters, const std::set< data::variable > &abstracted_vars, const std::optional< pbes_expression > &formula) |
| |
| std::optional< data::variable > | choose_variable_by_lhs_order (const propositional_variable &bound_variable, const std::set< data::variable > &abstracted_vars, const std::optional< pbes_expression > &formula) |
| |
| std::optional< data::variable > | choose_variable_by_rhs_order (const pbes_expression &formula, const std::set< data::variable > &essential_vars) |
| |
| std::set< data::variable > | dominant_ancestors (const data::variable &start, const ruling_relation_type::equation_relation &ruled_by_map) |
| |
| std::optional< data::variable > | choose_variable_by_ruling_order (const core::identifier_string &eq_name, const std::set< data::variable > &essential_vars, const ruling_relation_type &ruling_relation, const std::map< data::variable, std::size_t > &var_counts={}) |
| |
| std::string | parse_verbose_equation_name (std::istringstream &iss, const std::string &line) |
| |
| std::string | parse_bare_equation_name (std::istringstream &iss, const std::string &token, const std::string &line) |
| |
| void | add_parameter_by_token (const pbes &p, abstract_param_state &state, const core::identifier_string &eq_name, const std::string &token, const std::vector< data::variable > ¶ms) |
| |
| void | parse_initial_state_line (const pbes &p, abstract_param_state &state, const std::string &line) |
| |
| void | initialize_initial_abstraction_state (const pbes &p, abstract_param_state &state, const std::string &filename) |
| |
| ruling_statistics_type | count_rulings (const pbes &p, const data::rewriter &datar) |
| |
| void | flip_frozen_rulers (ruling_statistics_type &stats) |
| |
| void | log_ruling_statistics (const ruling_statistics_type &stats) |
| |
| ruling_percentages_type | compute_ruling_percentages (const ruling_statistics_type &stats) |
| |
| ruling_relation_type | build_ruling_relation (const ruling_percentages_type &percentages) |
| |
| void | break_ruling_cycles (const pbes &p, const ruling_percentages_type &percentages, ruling_relation_type &relation) |
| |
| void | remove_transitive_rulings (ruling_relation_type &relation) |
| |
| void | log_ruling_relation (const ruling_relation_type &relation) |
| |
| void | save_ruling_relation (const ruling_relation_type &relation, const std::string &filename) |
| |
| data::rewriter | construct_rewriter (const pbessolve_options &options, const pbes &pbesspec) |
| | Constructs a rewriter for the given PBES, optionally restricting the rewrite rules to those that are used by the PBES.
|
| |
| bool | run_solve (const pbes_system::pbes &pbesspec, const data::mutable_map_substitution<> &sigma, structure_graph &G, const pbes_equation_index &equation_index, pbessolve_options options, const std::string &input_filename, const std::string &lpsfile, const std::string <sfile, std::string evidence_file, mcrl2::utilities::execution_timer &timer) |
| |
| bool | pbessolve (const pbes &p) |
| |
| void | split_pfnf_implication (const pbes_expression &x, pbes_expression &g, std::vector< propositional_variable_instantiation > &Xij) |
| |
| std::ostream & | operator<< (std::ostream &out, const pfnf_implication &x) |
| |
| template<typename Container > |
| Container | concat (const Container &x, const Container &y) |
| | Concatenates two containers.
|
| |
| std::vector< std::size_t > | position_counts (const pbes &x) |
| |
| pbes | to_ppg (pbes x) |
| | Rewrites a PBES to a PPG.
|
| |
| template<typename T > |
| bool | is_ppg (const T &x) |
| | Determines if an expression is a PPG expression.
|
| |
| std::string | print_index (std::size_t index) |
| |
| std::ostream & | operator<< (std::ostream &out, const stategraph_vertex &u) |
| |
| pbes_expression | reset_variables (global_reset_variables_algorithm &algorithm, const pbes_expression &x, const stategraph_equation &eq_X) |
| |
| std::ostream & | operator<< (std::ostream &out, const LCFP_vertex &u) |
| |
| std::ostream & | operator<< (std::ostream &out, const GCFP_graph &G) |
| |
| std::ostream & | operator<< (std::ostream &out, const local_control_flow_graph_vertex &u) |
| |
| bool | operator< (const local_control_flow_graph_vertex &u, const local_control_flow_graph_vertex &v) |
| |
| template<typename Vertex > |
| std::ostream & | operator<< (std::ostream &out, const control_flow_graph< Vertex > &G) |
| |
| std::ostream & | operator<< (std::ostream &out, const global_control_flow_graph_vertex &) |
| |
| bool | operator< (const global_control_flow_graph_vertex &x, const global_control_flow_graph_vertex &y) |
| |
| template<typename Container > |
| std::string | print_vector (const Container &v, const std::string &delim) |
| |
| pbes_expression | local_reset_variables (local_reset_variables_algorithm &algorithm, const pbes_expression &x, const stategraph_equation &eq_X) |
| |
| std::ostream & | operator<< (std::ostream &out, const predicate_variable &x) |
| |
| std::vector< stategraph_equation >::const_iterator | find_equation (const stategraph_pbes &p, const core::identifier_string &X, bool warn=true) |
| |
| pbes_expression | stategraph_not (const pbes_expression &x) |
| |
| pbes_expression | smart_and (const pbes_expression &x, const pbes_expression &y) |
| |
| pbes_expression | smart_or (const pbes_expression &x, const pbes_expression &y) |
| |
| void | stategraph_split_and (const pbes_expression &expr, std::vector< pbes_expression > &result) |
| |
| void | stategraph_split_or (const pbes_expression &expr, std::vector< pbes_expression > &result) |
| |
| std::string | print_equation (const pbes_equation &eq) |
| |
| std::string | print_set (const std::set< std::size_t > &v) |
| |
| const data::data_expression & | nth_element (const data::data_expression_list &e, std::size_t n) |
| |
| std::string | print_pbes_expressions (const std::set< pbes_expression > &v) |
| |
| void | symbolic_exploration (const std::string &input_filename, const std::string &output_filename, const utilities::file_format &input_format, const utilities::file_format &output_format, bool optimized=true, bool clustered=false, bool instantiate=false) |
| |
| data::variable | nat (const std::string &name) |
| | Returns a data variable of type Nat with a given name.
|
| |
| data::variable | pos (const std::string &name) |
| | Returns a data variable of type Pos with a given name.
|
| |
| data::variable | bool_ (const std::string &name) |
| | Returns a data variable of type Bool with a given name.
|
| |
| propositional_variable | propvar (const std::string &name, const data::variable_list ¶meters) |
| | Returns a propositional variable declaration with the given name and parameters.
|
| |
| propositional_variable_instantiation | propvarinst (const std::string &name, const data::data_expression_list ¶meters) |
| | Returns a propositional variable instantiation with the given name and parameters.
|
| |
| template<template< class > class Traverser, class OutputIterator > |
| find_propositional_variables_traverser< Traverser, OutputIterator > | make_find_propositional_variables_traverser (OutputIterator out) |
| |
| int | variable_index (const data::variable_list &variables, const data::variable &d) |
| | Finds the index of a variable in a sequence.
|
| |
| data::data_expression | make_and (const data::data_expression &x1, const data::data_expression &x2, const data::data_expression &x3) |
| |
| data::data_expression | equal_to (const data::data_expression_list &x, const data::data_expression_list &y) |
| |
| std::unordered_map< propositional_variable_instantiation, propositional_variable_instantiation > | create_pv_renaming (std::vector< std::vector< propositional_variable_instantiation > > &instantiations, bool short_renaming_scheme) |
| |
| template<typename StructureGraph , typename Compare > |
| deque_vertex_set | attr_min_rank_todo_generic (const StructureGraph &G, const vertex_set &A, const vertex_set &U, std::size_t j, Compare compare) |
| |
| template<typename StructureGraph > |
| deque_vertex_set | attr_min_rank_original_todo (const StructureGraph &G, const vertex_set &A, const vertex_set &U, std::size_t j) |
| |
| void | insert_in_rank_map (std::map< std::size_t, vertex_set > &U_rank_map, structure_graph::index_type u, std::size_t j, std::size_t n) |
| |
| template<typename StructureGraph > |
| std::map< std::size_t, vertex_set > | compute_U_j_map (const StructureGraph &G, const vertex_set &V) |
| |
| template<typename StructureGraph , typename Compare > |
| vertex_set | attr_min_rank_generic (const StructureGraph &G, vertex_set A, std::size_t alpha, const vertex_set &U, std::size_t j, Compare compare) |
| |
| template<typename Compare > |
| void | fatal_attractors_generic (const simple_structure_graph &G, std::array< vertex_set, 2 > &S, std::array< strategy_vector, 2 > &tau, std::size_t &calculation_steps, std::size_t equation_count, Compare compare) |
| |
| void | fatal_attractors (const simple_structure_graph &G, std::array< vertex_set, 2 > &S, std::array< strategy_vector, 2 > &tau, std::size_t &calculation_steps, std::size_t equation_count) |
| |
| void | find_loops2 (const simple_structure_graph &G, std::array< vertex_set, 2 > &S, std::array< strategy_vector, 2 > &tau, std::size_t &calculation_steps, std::size_t equation_count) |
| |
| template<typename StructureGraph > |
| vertex_set | attr_min_rank_original (const StructureGraph &G, vertex_set A, std::size_t alpha, const vertex_set &U, std::size_t j) |
| |
| void | fatal_attractors_original (const simple_structure_graph &G, std::array< vertex_set, 2 > &S, std::array< strategy_vector, 2 > &tau, std::size_t &calculation_steps, std::size_t equation_count) |
| |
| bool | find_loop (const simple_structure_graph &G, const vertex_set &U, structure_graph::index_type v, structure_graph::index_type w, std::size_t p, std::unordered_map< structure_graph::index_type, bool > &visited) |
| |
| template<class Container > |
| void | find_loops (const simple_structure_graph &G, const Container &discovered, const pbesinst_lazy_todo &todo, std::array< vertex_set, 2 > &S, std::array< strategy_vector, 2 > &tau, std::size_t iteration_count, const detail::structure_graph_builder &graph_builder) |
| |
| void | partial_solve (structure_graph &G, const pbesinst_lazy_todo &todo, std::array< vertex_set, 2 > &S, std::array< strategy_vector, 2 > &tau, std::size_t &calculation_steps, std::size_t equation_count, const detail::structure_graph_builder &graph_builder) |
| |
| pbes_expression | quantifier_propagate (const pbes_expression &x) |
| |
| pbes_expression | make_exists_ (std::set< data::variable > vars, const pbes_expression &expr) |
| |
| pbes_expression | make_forall_ (std::set< data::variable > vars, const pbes_expression &expr) |
| |
| pbes_expression | make_quantifier (bool is_forall, const data::variable_list &vars, const pbes_expression &body) |
| |
| void | quantifier_propagate (std::list< std::pair< core::identifier_string, pbes_equation > > &new_equations, data::set_identifier_generator &id_gen, const quantifier_propagate_builder::equation_map_t eqn_map, pbes_expression &x) |
| |
| template<bool allow_ce> |
| void | resolve_summand_variable_name_clashes (pre_srf_summand< allow_ce > &summand, const std::set< core::identifier_string > &process_parameter_names, data::set_identifier_generator &generator) |
| |
template<typename T >
requires (std::is_base_of_v<atermpp::aterm, T>) |
| T | data2pbes (const T &x) |
| |
template<typename T >
requires (!std::is_base_of_v<atermpp::aterm, T>) |
| void | data2pbes (T &x) |
| |
| template<typename DataRewriter , typename SubstitutionFunction > |
| void | data_rewrite (data::data_expression &result, const data::data_expression &x, const DataRewriter &R, SubstitutionFunction &sigma) |
| |
| template<typename DataRewriter > |
| void | data_rewrite (data::data_expression &result, const data::data_expression &x, const DataRewriter &R, data::no_substitution &) |
| |
| template<template< class, class, class > class Builder, class DataRewriter , class SubstitutionFunction > |
| apply_rewriter_builder< Builder, DataRewriter, SubstitutionFunction > | make_apply_rewriter_builder (const DataRewriter &datar, SubstitutionFunction &sigma) |
| |
| template<template< class, class, class, class > class Builder, class DataRewriter , class MutableSubstitution , class PbesSubstitution > |
| apply_enumerate_builder< Builder, DataRewriter, MutableSubstitution, PbesSubstitution > | make_apply_enumerate_builder (const DataRewriter &R, MutableSubstitution &sigma, const PbesSubstitution &sigma_pbes, const data::data_specification &dataspec, data::enumerator_identifier_generator &id_generator, bool enumerate_infinite_sorts) |
| |
| template<template< class, class, class, class > class Builder, class DataRewriter , class MutableSubstitution > |
| apply_enumerate_builder< Builder, DataRewriter, MutableSubstitution, no_substitution > | make_apply_enumerate_builder (const DataRewriter &R, MutableSubstitution &sigma, const data::data_specification &dataspec, data::enumerator_identifier_generator &id_generator, bool enumerate_infinite_sorts) |
| |
template<typename T >
requires (std::is_base_of_v<atermpp::aterm, T>) |
| data::data_expression | pbes2data (const T &x) |
| |
template<typename T >
requires (!std::is_base_of_v<atermpp::aterm, T>) |
| void | pbes2data (T &x) |
| |
| pbes_expression | quantifiers_inside (const pbes_expression &x) |
| |
| pbes_expression | quantifiers_inside_forall (const std::set< data::variable > &variables, const pbes_expression &x) |
| |
| pbes_expression | quantifiers_inside_exists (const std::set< data::variable > &variables, const pbes_expression &x) |
| |
| template<typename BinaryOperation > |
| std::tuple< pbes_expression, pbes_expression > | compute_Phi_Psi (const std::vector< pbes_expression > &X, const std::set< data::variable > &V, BinaryOperation op, pbes_expression empty_sequence_result) |
| |
| template<template< class, class, class, class > class Builder, class DataRewriter , class MutableSubstitution , class PbesSubstitution > |
| apply_data_rewriter_with_pbes_substitution_builder< Builder, DataRewriter, MutableSubstitution, PbesSubstitution > | make_apply_data_rewriter_with_pbes_substitution_builder (const DataRewriter &R, MutableSubstitution &sigma, const PbesSubstitution &sigma_pbes) |
| |
| template<template< class, class, class, class > class Builder, class DataRewriter , class MutableSubstitution > |
| apply_data_rewriter_with_pbes_substitution_builder< Builder, DataRewriter, MutableSubstitution, no_substitution > | make_apply_data_rewriter_with_pbes_substitution_builder (const DataRewriter &R, MutableSubstitution &sigma) |
| |
| template<typename Callback > |
| void | for_each_evidence_transition (structure_graph &G, const std::set< structure_graph::index_type > &V, const lps::specification &lpsspec, const pbes &p, const pbes_equation_index &p_index, Callback yield) |
| | Walks the extracted evidence vertex set V of a structure graph that was built from the lps2pbes -c encoding, and calls yield once for every Zpos_i/Zneg_i vertex it contains, with the summand it originates from and the transition it encodes. Shared between the LPS-evidence and LTS-evidence sinks so they cannot drift apart.
|
| |
| pbes_expression | make_not (const pbes_expression &x) |
| |
| template<typename Iterator > |
| pbes_expression | make_conjunction (Iterator first, Iterator last) |
| |
| template<typename Iterator > |
| pbes_expression | make_disjunction (Iterator first, Iterator last) |
| |
| pbes_expression | distribute_not_over_and (const pbes_expression &x) |
| | Assuming that x is of the form (x1 && x2 && ... xn), generates expression !x1 || !x2 || ... !xn.
|
| |
| template<bool allow_ce> |
| std::ostream & | operator<< (std::ostream &out, const pre_srf_summand< allow_ce > &summand) |
| |
| template<bool allow_ce> |
| std::ostream & | operator<< (std::ostream &out, const pre_srf_equation< allow_ce > &eqn) |
| |
| template<bool allow_ce> |
| std::vector< pre_srf_summand< allow_ce > > | srf_or (const pbes_expression &phi, std::deque< pbes_equation > &equations, const pbes_equation &eqn, const data::variable_list &V, data::set_identifier_generator &id_generator, const core::identifier_string &X_true, const core::identifier_string &X_false, std::vector< pre_srf_equation< allow_ce > > &result, bool merge_simple_expressions) |
| |
| template<bool allow_ce> |
| std::vector< pre_srf_summand< allow_ce > > | srf_and (const pbes_expression &phi, std::deque< pbes_equation > &equations, const pbes_equation &eqn, const data::variable_list &V, data::set_identifier_generator &id_generator, const core::identifier_string &X_true, const core::identifier_string &X_false, std::vector< pre_srf_equation< allow_ce > > &result, bool merge_simple_expressions) |
| |
| bool | is_conjunctive (const pbes_expression &phi, bool allow_ce) |
| |
| template<bool allow_ce> |
| detail::pre_srf_pbes< allow_ce > | pbes2pre_srf (const pbes &p, bool merge_simple_expressions=true) |
| | Converts a PBES into standard recursive form.
|
| |
| atermpp::aterm | remove_opid_index (const atermpp::aterm &x) |
| |
| atermpp::aterm | add_opid_index (const atermpp::aterm &x) |
| |
| typecheck_builder | make_typecheck_builder (data::data_type_checker &data_typechecker, const data::detail::variable_context &variables, const detail::pbes_context &propositional_variables) |
| |