Include file:
#include "mcrl2/pbes/pbes.h
mcrl2::pbes_system::
pbes
¶parameterized boolean equation system
mcrl2::pbes_system::pbes::
equation_type
¶typedef for pbes_equation
mcrl2::pbes_system::pbes::
m_data
¶The data specification.
mcrl2::pbes_system::pbes::
m_equations
¶The sequence of pbes equations.
mcrl2::pbes_system::pbes::
m_initial_state
¶The initial state.
compute_declared_variables
() const¶Returns the predicate variables appearing in the left hand side of an equation.
Returns: The predicate variables appearing in the left hand side of an equation.
init_term
(const atermpp::aterm_appl &t)Initialize the pbes from an aterm.
Parameters:
t A term
is_declared_in
(Iter first, Iter last, const propositional_variable_instantiation &v, const data::data_specification &data_spec) const¶Checks if the propositional variable instantiation v appears with the right type in the sequence of propositional variable declarations [first, last).
Parameters:
first Start of a sequence of propositional variable declarations
last End of a sequence of propositional variable declarations
v A propositional variable instantation
data_spec A data specification.
Returns: True if the type of v is matched correctly
Parameters:
v A propositional variable instantiation
binding_variables
() constReturns the set of binding variables of the pbes. This is the set variables that occur on the left hand side of an equation.
Returns: The set of binding variables of the pbes.
data
() constReturns the data specification.
Returns: The data specification of the pbes
data
()Returns the data specification.
Returns: The data specification of the pbes
equations
() constReturns the equations.
Returns: The equations.
equations
()Returns the equations.
Returns: The equations.
global_variables
() constReturns the declared free variables of the pbes.
Returns: The declared free variables of the pbes.
global_variables
()Returns the declared free variables of the pbes.
Returns: The declared free variables of the pbes.
initial_state
() constReturns the initial state.
Returns: The initial state.
initial_state
()Returns the initial state.
Returns: The initial state.
is_closed
() constTrue if the pbes is closed.
Returns: Returns true if all occurring variables are binding variables, and the initial state variable is a binding variable.
is_well_typed
() constChecks if the PBES is well typed.
Returns: True if the sorts occurring in the free variables of the equations are declared in the data specification the sorts occurring in the binding variable parameters are declared in the data specification the sorts occurring in the quantifier variables of the equations are declared in the data specification the binding variables of the equations have unique names (well formedness) the global variables occurring in the equations are declared in global_variables()the global variables occurring in the equations with the same name are identical the declared global variables and the quantifier variables occurring in the equations have different names the predicate variable instantiations occurring in the equations match with their declarations the predicate variable instantiation occurring in the initial state matches with the declaration the data specification is well typed
N.B. Conflicts between the types of instantiations and declarations of binding variables are not checked!
load
(std::istream &stream, bool binary = true, const std::string &source = "")Reads the parameterized boolean equation system from a stream.
Parameters:
stream The stream to read from.
binary An indicator whether the stream is binary or textual.
source The source from which the stream originates. Used for error messages.
occurring_variable_instantiations
() const¶Returns the set of occurring propositional variable instantiations of the pbes. This is the set of variables that occur in the right hand side of an equation.
Returns: The occurring propositional variable instantiations of the pbes
occurring_variables
() constReturns the set of occurring propositional variable declarations of the pbes, i.e. the propositional variable declarations that occur in the right hand side of an equation.
Returns: The occurring propositional variable declarations of the pbes
pbes
() = default¶Constructor.
pbes
(atermpp::aterm_appl t, const bool data_specification_is_type_checked = true)¶Constructor.
Parameters:
t An aterm representing a pbes_specification.
data_specification_is_type_checked A boolean that indicates whether the data specification in the term has been type checked. If so, the internal data specification data structures will be set up. Otherwise, the function declare_data_specification_to_be_type_checked must be invoked after type checking, before the data specification can be used.
pbes
(data::data_specification const &data, const std::vector<pbes_equation> &equations, propositional_variable_instantiation initial_state)¶Constructor.
Parameters:
data A data specification
equations A sequence of pbes equations
initial_state A propositional variable instantiation
pbes
(data::data_specification const &data, const std::vector<pbes_equation> &equations, const std::set<data::variable> &global_variables, propositional_variable_instantiation initial_state)¶Constructor.
Parameters:
data A data specification
equations A sequence of pbes equations
global_variables A sequence of free variables
initial_state A propositional variable instantiation
save
(std::ostream &stream, bool binary = true) constWrites the pbes to a stream.
Parameters:
stream The stream to which the pbes is written.
binary If binary is true the pbes is saved in compressed binary format. Otherwise an ascii representation is saved. In general the binary format is much more compact than the ascii representation.