Define a finite state transducer as a 7-tuple
M=(SIGMA, GAMMA, Q, q0, delta, phi, F)
where SIGMA, Q, q0, delta, and F are as a definition of finite automaton,
GAMMA is a finite alphabet, and phi is a function from Q to GAMMA*.
The intuition is that M is a dfa, with the addition of an "output function":
phi(q) is the string that M outputs if in state q.
Formally, we can define a function from T_M from SIGMA* to GAMMA* as follows:
T_M(epsilon)=phi(q0)
T_M(xa)=T_M(x)phi(delta(deltaHat(q0,x),a))=T_M(x)phi(deltaHat(q0,xa))
In words: as the dfa goes through its states on input x,
a string is output in each
state: when in state q, the string phi(q) is output.
T_M(x) is the concatenation of these strings.
- Let h() be a homomorphism from SIGMA to GAMMA*. Build a finite state
transducer M such that for all x h(x)=T_M(x)
- Prove that if A is a regular set, and M a finite state transducer,
the set M(A)={y| y=T_M(x) for some x in A} is regular.