automaton.synchronize
Create a new transducer, equivalent to the first one, but where the transitions advance along all the tapes at the same rate, for as long as possible. The transitions before the final states may have the empty word on one of the tapes, to allow for words of different lengths on the input and output.
Preconditions:
The input automaton is a transducer.
Input.has_bounded_lag
Postconditions:
Result.is_synchronized
See also:
Examples
The following automaton is not synchronized (the first transition is already not synchronized):
The lag is bounded, because every cycle (here, the loop) has a lag of 0.
Apart from pure spontaneous transitions, the only transitions with in them are right before the final state.
This is a (for the most part) letter-to-letter transducer equivalent to the input.