A determinization algorithm
[2,13,14]
maintains subsets of states. Each subset is a state in the
deterministic machine. To compute the transitions leaving a
given subset *D*, a determinization algorithm computes for each symbol
the set of states *Q* such that
and
.

In the case of predicates, however, transitions might overlap. For example, one transition may be applicable for high vowels, whereas another transition may be applicable for round vowels. In the determinized pfsr, such overlaps are not allowed. Therefore, we create a separate transition for high and round vowels, another transition for vowels which are high but not round, and a third transition for vowels which are round but not high.

In general, in order to compute the transitions leaving a given subset
*D* we do as follows. Firstly we compute the function * Trans*^{D}:
, defined as:
. For
example, suppose *D*={p}, and suppose we have transitions

In that case:

Let be the predicates in the domain of * Trans*^{D}. For each split
of into two subsets
and
we have a
transition:

for the example we obtain the transitions: