An alternative lazy algorithm for instantiating a PBES, ported from bes_deprecated.h.
More...
#include <pbesinst_alternative_lazy_algorithm.h>
|
| | pbesinst_alternative_lazy_algorithm (const data::data_specification &data_spec, const data::rewriter &datar, search_strategy search_strategy=search_strategy::breadth_first, transformation_strategy transformation_strategy=transformation_strategy::lazy, const mcrl2::pbes_system::remove_level erase_unused_bes_variables=mcrl2::pbes_system::remove_level::none, const std::size_t maximum_todo_size=std::numeric_limits< std::size_t >::max(), const bool approximate_true=true) |
| | Constructor.
|
| |
| propositional_variable_instantiation | next_todo () |
| |
| void | add_todo (const propositional_variable_instantiation &X) |
| |
| std::size_t | get_rank (const propositional_variable_instantiation &X) |
| |
| template<bool is_mu> |
| bool | find_loop_rec (const pbes_expression &expr, propositional_variable_instantiation X, std::size_t rank, std::unordered_map< propositional_variable_instantiation, bool > &visited) |
| |
| template<bool is_mu> |
| bool | find_loop (pbes_expression expr, propositional_variable_instantiation X) |
| |
| void | regenerate_states () |
| |
| pbes_expression_pair | simplify_pbes_expression (const pbes_expression &p, const std::unordered_map< propositional_variable_instantiation, pbes_expression > &trivial) |
| |
| void | run (pbes &p) |
| | Runs the algorithm. The result is obtained by calling the function get_result.
|
| |
| pbes | get_result (bool short_rename_scheme=true) |
| | Returns the computed bes in pbes format.
|
| |
| enumerate_quantifiers_rewriter & | rewriter () |
| |
|
| void | 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.
|
| |
An alternative lazy algorithm for instantiating a PBES, ported from bes_deprecated.h.
Definition at line 126 of file pbesinst_alternative_lazy_algorithm.h.
◆ pbes_expression_pair
◆ pbesinst_alternative_lazy_algorithm()
Constructor.
- Parameters
-
| data_spec | A data specification. |
| datar | A data rewriter. |
| search_strategy | A search strategy (e.g. breadth_first). |
| transformation_strategy | A strategy to transform the PBES into a BES. |
| erase_unused_bes_variables | An indicator how often unreachable variables must be garbage collected. |
| maximum_todo_size | An indication of the maximal size of the stack with explorable BES variables. If the stack exceeds this size, the ignored variable is set to true or false, depending on the parameter approximate_true. |
| approximate_true | If true BES variables that are not investigated are set to false. If false these variables are set to true. |
Definition at line 234 of file pbesinst_alternative_lazy_algorithm.h.
◆ add_todo()
◆ find_loop()
◆ find_loop_rec()
◆ get_rank()
◆ get_result()
| pbes mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::get_result |
( |
bool |
short_rename_scheme = true | ) |
|
|
inline |
◆ next_todo()
◆ print_equation_count()
| void mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::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 |
|
inlineprotected |
◆ regenerate_states()
| void mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::regenerate_states |
( |
| ) |
|
|
inline |
◆ rewriter()
◆ run()
| void mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::run |
( |
pbes & |
p | ) |
|
|
inline |
◆ simplify_pbes_expression()
◆ equation
◆ equation_index
| std::unordered_map<core::identifier_string, std::size_t> mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::equation_index |
|
protected |
◆ init
◆ instantiations
◆ m_approximate_true
| const bool mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::m_approximate_true |
|
protected |
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
Definition at line 147 of file pbesinst_alternative_lazy_algorithm.h.
◆ m_data_spec
◆ m_datar
| const data::rewriter& mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::m_datar |
|
protected |
◆ m_elements_not_stored_in_todo_buffer
| std::size_t mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::m_elements_not_stored_in_todo_buffer = 0 |
|
protected |
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.
Definition at line 151 of file pbesinst_alternative_lazy_algorithm.h.
◆ m_erase_unused_bes_variables
◆ m_maximum_todo_size
| const std::size_t mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::m_maximum_todo_size |
|
protected |
◆ m_search_strategy
| search_strategy mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::m_search_strategy |
|
protected |
◆ m_transformation_strategy
◆ occurrence
◆ ranks
| std::vector<std::size_t> mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::ranks |
|
protected |
◆ regeneration_count_init
| const std::size_t mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::regeneration_count_init = 100 |
|
staticprotected |
◆ symbols
| std::vector<fixpoint_symbol> mcrl2::pbes_system::pbesinst_alternative_lazy_algorithm::symbols |
|
protected |
◆ todo
◆ todo_set
◆ trivial
The documentation for this class was generated from the following file: