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