However, if * locality* is crucial then one might wonder why we
extended the local matching approach with global permutation steps.
Our motivation for the use of global permutation is the observation
that it ensures the matching approach is strictly more powerful than
the counting approach. A weaker, and perhaps more interesting,
treatment is obtained if locality is enforced in these permutation
steps as well. For example, such a weaker variant is obtained if the
following definition of ` permute_marker` is used:

macro(permute_marker, % local variant {? ,[([] x @),?,(@ x [])], [(@ x []),?,([] x @)]}* ).This is a weaker notion of permutation than the definition given earlier. Interestingly, using this definition resulted in equivalent transducers for all of the syllabification examples given in this paper. In the general case, however, matching with local permutation is less powerful.

Consider the following artificial example. In this example, inputs of
interest are strings over the alphabet {b,*c*}. * Gen* introduces
an ` a` * before* a sequence of ` b`'s, or two ` a`'s *
after* a sequence of ` b`'s. * Gen* is given as an automaton in
fig. 5. There is only a single constraint, which forbids `
a`. It can easily be verified that a matching approach with global
permutation using a precision of 1 exactly implements this OT. In
contrast, both the counting approach as well as a matching approach
based on local permutation can only approximate this
OT.^{11}