Definitions
Parameterised Boolean Equation Systems (PBESs) are empty (denoted
) or finite sequences of fixed point equations, where each
equation is of the form
or
. The left-hand side of each equation consists
of a fixed point symbol, where
indicates a least and
a greatest fixed point, and a sorted predicate variable
of sort
, taken from some countable domain of sorted
predicate variables
. The right-hand side of each equation
is a predicate formula as defined below.
Definition
Predicate formulae are defined by the following grammar:
where ,
,
is a data term of
sort
,
is a predicate variable,
is a
data variable of sort
, and
is a vector of data terms.
The set of predicate variables that occur in a predicate formula ,
denoted by
, is defined recursively as follows, for any
formulae
:
Extended to equation systems, is the union
of all variables occurring at the right-hand side of equations in
. Likewise, the set of predicate variable instantiations
that occur in a predicate formula
is denoted by
, and is defined recursively as follows:
For any equation system , the set of binding predicate
variables,
, is the set of variables
occurring at the left-hand side of some equation in
.
Formally:
Let be the set of free data variables occurring in
a data term
. The function
is extended to
predicate formulae using:
The set of freely occurring predicate variables in ,
denoted
, is defined as
. An
equation system
is said to be well-formed iff every
binding predicate variable occurs at the left-hand side of precisely one
equation of
. We only consider well-formed equation systems
in this document.
An equation system is called closed if
and open otherwise. An
equation
, where
denotes either
the fixed point sign
or
, is called data-closed if
the set of data variables that occur freely in
is contained in
the set of variables induced by the vector of variables
. An equation
system is called data-closed iff each of its equations is data-closed.
Definition
Action formulae are defined by the following grammar:
where ,
,
is a data term of
sort
,
is a predicate variable,
is a
data variable of sort
, and
is an action label.
Definition
State formulae are defined by the following grammar:
where ,
,
,
is a data term of sort
,
is a predicate variable,
is a data
variable of sort
,
is a vector of data terms, and
is an action formula.
Well typedness constraints
Well typedness constraints for PBES equations
The binding variable parameters have unique names.
The names of the quantifier variables in the equation are disjoint with the binding variable parameter names.
Within the scope of a quantifier variable in the formula, no other quantifier variables with the same name may occur.
Well typedness constraints for PBESs
The sorts occurring in the global 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 the global variable specification.
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.
Monotonicity
Definition
A state formula is called monotonous if it can be rewritten such that
propositional variables are not inside the scope of a negation or an
implication. More formally, a state formula is monotonous
if
, where
is defined as
follows. This definition applies to predicate formulae as well.
Normalization
The normalization function eliminates implications from a state
formula
and pushes negations inwards to the level of data
expressions. A precondition of
is that
is
monotonous. If this is not the case, during the computation a term
will be encountered.