Include file:
#include "mcrl2/pbes/pbesinst_alternative_lazy_algorithm.h
mcrl2::pbes_system::
pbesinst_alternative_lazy_algorithm
¶An alternative lazy algorithm for instantiating a PBES, ported from bes_deprecated.h.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
pbes_expression_pair
¶typedef for std::pair< pbes_expression, pbes_expression >
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
equation
¶Map a variable instantiation to its right hand side.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
equation_index
¶A lookup map for PBES equations.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
init
¶The initial value.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
instantiations
¶instantiations[i] contains all instantiations of the variable of the i-th equation in the PBES.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
m_approximate_true
¶The variable m_approximimate_true indicates whether boolean variables that cannot be dealt with as the todo buffer would otherwise exceeds m_maximum_todo_size are set to true or to false
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
m_data_spec
¶mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
m_datar
¶Data rewriter.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
m_elements_not_stored_in_todo_buffer
¶When the todo buffer is limited, due to m_maximum_todo_size, then the variable below counts how many elements are dropped out of the todo buffer.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
m_erase_unused_bes_variables
¶Indicate to which extent explored bes equations that turn out not to reachable can be thrown away. Values are: none, some or all.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
m_maximum_todo_size
¶The maximum size that the todo buffer is allowed to have.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
m_search_strategy
¶The search strategy to use when exploring the state space.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
m_transformation_strategy
¶Transformation strategy.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
occurrence
¶Map a variable instantiation to a set of other variable instantiations on whose right hand sides it appears.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
R
¶The rewriter.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
ranks
¶ranks[i] contains the rank of the i-th equation in the PBES.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
symbols
¶symbols[i] contains the fixedpoint symbol of the i-th equation in the PBES.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
todo
¶Propositional variable instantiations that need to be handled.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
todo_set
¶The content of todo as a set.
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
trivial
¶Map a variable instantiations to its right hand side when the latter is trivial (either true or false).
mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::
regeneration_count_init
¶Initial value for regeneration_period.
print_equation_count
(const std::size_t nr_of_processed_variables, const std::size_t nr_of_generated_variables, const std::size_t todo_size) const¶Prints a log message for every 1000-th equation.
add_todo
(const propositional_variable_instantiation &X)¶find_loop
(pbes_expression expr, propositional_variable_instantiation X)¶find_loop_rec
(const pbes_expression &expr, propositional_variable_instantiation X, std::size_t rank, std::unordered_map<propositional_variable_instantiation, bool> &visited)¶get_rank
(const propositional_variable_instantiation &X)¶get_result
(bool short_rename_scheme = true)¶Returns the computed bes in pbes format.
Returns: The computed bes in pbes format
next_todo
()¶pbesinst_alternative_lazy_algorithm
(const data::data_specification &data_spec, const data::rewriter &datar, search_strategy search_strategy = breadth_first, transformation_strategy transformation_strategy = lazy, const mcrl2::bes::remove_level erase_unused_bes_variables = mcrl2::bes::none, const std::size_t maximum_todo_size = std::numeric_limits<std::size_t>::max(), const bool approximate_true = true)¶Constructor.
Parameters:
regenerate_states
()¶rewriter
()run
(pbes &p)Runs the algorithm. The result is obtained by calling the function get_result.
Parameters:
simplify_pbes_expression
(const pbes_expression &p, const std::unordered_map<propositional_variable_instantiation, pbes_expression> &trivial)¶