Moreover, the symbol '$E'
is used to indicate , in order to allow transitions in which the input or output symbol is the
empty symbol. This implies that there are two ways to define a jump
in a finite-state transducer:
trans(Q0,'$E'/'$E',Q)
is
equivalent to jump(Q0,Q). Note that the system does
not allow the use of sequences of symbols in transitions (it can be
shown that this does not restrict the transductions that can be
defined).
A sub-sequential transducer is like a finite-state transducer except that we associate a sequence of symbols with a final state. These symbols are written to the output tape if the system halts in that final state. Such sub-sequential transducers are deterministic with respect to the `in'-part of symbols: for each state there is at most one transition leaving that state upon reading some symbol. Note that we use sub-sequential transducers because the determinization of a finite-state transducer leads to a sub-sequential transducer (Roche and Schabes [12]). Sub-sequential transducers are represented as finite-state transducers, except that we now use a different predicate to indicate the final state with a sequence of symbols: