Theoretical Computer Science 47 (1986) 39-60 North-Holland
RATIONAL EQUIVALENCE
39
RELATIONS*
J. Howard JOHNSON Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada N2L 3G I
Communicated by M. Nivat Received April 1986
Abstract. Rational relations (finite transductions) which are equivalence relations are discussed. After establishing a containment hierarchy, the complexity of canonical function computation and a number of class membership decision problems are studied. The following classes are considered: (1) rational equivalence relations, (2) equivalence kernels of rational functions, (3) deterministic rational equivalence relations, (4) equivalence kernels of subsequential functions, (5) recognizable equivalence relations, (6) length-bounded rational equivalence relations, and (7) finite equivalence relations. Except for one open case ((1) ? (2)), Hasse diagrams are given to show the relative containments in the general and one-letter-alphabet cases. Canonical function application for an input of length n is shown to be O(n 2) time and space for (1), O(n) time and space for (2), (3), and (6), and O(n) time and constant space for the others. It is shown that transitivity, symmetry, reflexivity, and membership in any of (1) through (5) are undecidable properties for rational relations whereas membership in (6) or (7) is decidable.
1. Introduction Rational relations or finite transductions can be used to describe a natural class of relations on words just as regular languages describe a natural class of sets of words. Of particular interest are the functions or single-valued relations which associate a unique range value to each domain value and thus provide a good model for parsing. Rational relations which are functions have been studied by a number of authors, for example, [3, 6, 7, 17, 18, 19]. [1, Chapter IV] provides an excellent introduction to the subject with references to the original literature. Another important class of relations is the class of equivalence relations. These arise naturally as the equivalence kernels of functions or can be defined directly as relations satisfying the reflexive, symmetric, and transitive laws. Thus, we can introduce rational equivalence relations either as the equivalence kernels of rational (or subsequential) functions, or directly as rational (or deterministic rational or * This work was supported by the Natural Sciences and Engineering Research Council of Canada under Grant No. A0237, and appears in abbreviated form in the Proceedings of the 13th ICALP (1986). 0304-3975/86/$3.50 © 1986, Elsevier Science Publishers B.V. (North-Holland)
40
ZH. Johnson
recognizable or length-bounded rational or finite) relations which satisfy the three required properties. The motivation for considering rational equivalence relations arose from the study of functions used to phonetically encode names for matching purposes as advocated in [5, 8, 13, 15, 16, 21]. For example, Soundex code [13, 16] maps surnames into four-character codes so that similar-sounding names are mapped to the same code and different-sounding names are assigned different codes. Thus, "Johnson" and "Jansen" are both transformed into the code "J525" and "Smith" is transformed into "$530". In order to improve on Soundex, a number of attempts have been made to construct coding functions that more closely reflect the structure of surnames in the population of interest. For example, the NYSIIS code was designed to achieve greater accuracy on a population with a significant fraction of Spanish surnames. A number of coding functions, including NYSIIS, is discussed by Moore et al. [15]. Both the Soundex and NYSIIS functions can be modelled as subsequential functions [ 11] so that they can be computed deterministically from left to right by a finite state machine with output. Thus, they are rational functions and the relation "has the same code" is a rational equivalence relation in both cases. The principal advantage of using coding functions to identify similar strings is low cost. Even very large files can be partitioned cheaply according to a code value using any of a number of sorting or hashing algorithms. Since the coding function need only be computed once per record, a moderate amount of effort can be directed into computing better codes if accuracy can be improved. Thus, more general equivalence relation models which more accurately mirror the true error process are worthy of consideration. In spite of the fact that a moderate computation cost can be tolerated in the interest of greater accuracy, it is important to recognize special cases where more efficient or simpler algorithms are possible. The case of Soundex is illuminating. Since only a finite number of codes are possible, 6734 to be exact, and each code corresponds to a regular language, we could construct a semi-automaton that recognizes all of these languages simultaneously and whose states identify the corred code. Such a semi-automaton will have 7845 states. On the other hand, Soundex has a 23-state subsequential transducer [11]. If the length restriction to four characters is removed, only seven states are needed. As a result, it is of interest to study subclasses of rational equivalence relations from the point of view of their relative modelling power and canonical function costs as well as considering when transformations between classes exist and are effective. For this purpose, the relative containments and decidabilities addressed in this paper are an important first step.
2. Terminology A (binary) relation over sets S and T is a subset of S'x T. We will be interested in the Boolean operations on relations as well as composition, inversion, sub-identity,
Rational equivalence relations
41
domain, range, cross-product, and application:
R, o R2 = {(u, w)13v[(u, v)~ R, ^ (v, w ) e R2]}, Rc-~)={(v,u)l(u,v)~R},
,,={(u,u)lu~L},
dom(R)={ul3v[(u,v)~R]},
ran(R)={vl:lu[(u,v)~R]},
Llx~={(u,v)lu~L~^v~L2},
R(L)={vl3u[u~L^(u,v)~R]}.
An equivalence relation R over a set S is a relation satisfying the reflexive, symmetric, and transitive laws: ts - R, R ~-~) ~ R, and R o R ~ R. The (equivalence) kernel of a function f : S--> T is the equivalence relation over S: ker(f) = {(u, v ) ~ S x S I f ( u ) = f ( v ) } = f o f < - ' ) .
A canonical function for an equivalence relation R over S is any function f : S-~ T satisfying R = ker(f). A cross-section of an equivalence relation R over S is a set D containing one element from each class of R. Then f = R c~ (S x D) is a canonical function. The restriction R [ D of an equivalence relation R to a set D is the relation formed from R by restricting the domain and range to D. Thus, R I D = R n (D x D). A thinning of an equivalence relation R is a restriction whose domain contains at least one member of each equivalence class of R. A relation R is locally-finite if, for any x ~ dom(R), the set R({x}) is finite. If R is an equivalence relation, then local-finiteness requires that every class be finite in size. A monoid (M, Q, 1) is a set M with an associative binary operation Q and a (left and right) identity element 1. We can extend Q to subsets of M and define the Q-closure of a subset of M:
SQ T = { a Q b l a ~ S ^ b~ T}, O0
S 1=S,
S k=Sk-IQS,
S+=uSt,
VS, T ~ M .
i=1
The class of rational subsets of a monoid (M, ®, 1), denoted RIt(M), is defined as all sets derivable from finite sets using a finite number of applications of the (rational) operations union, Q, and Q-closure. Note that S * = {1} u S+ will be rational if S is. The first type of monoid that we will consider is the finitely generated free monoid (2*,., A). The class Rat(.~*) corresponds to the family of regular languages over .Y*. It is well known that this class is a Boolean algebra and can be characterized by deterministic finite automata (finite state machines). It is possible to characterize a disjoint collection of regular languages using a semi-automaton, a 3-tuple (,~, Q, 8) where ,Y is the alphabet, Q is a set of states, and 8: Q x £ -, Q is a set of transitions. The second type of monoid is the direct product of two finitely generated free monoids (,Y*x A*,., (A, A)) where the operation, is defined componentwise. The subsets in the class Rat(,Y* x A*) are called (binary) rational relations. In addition
ZH. Johnson
42
to the rational operations, they are closed under composition, inversion, sub-identity, domain, range, cross-product, application, and domain and range restriction: I R1 ° R2 E Rat(.Y* x F*),
/ R~ ~ Rat(~* x A*)"
R2~Rat(A*xF*)
R~-1) ~ Rat(A* x .Y*),
[ ~z~~ Rat(X* x X*), ~
~dom(R~)~Rat(~*),
L~ ~ Rat(.~*)
ran(R1) ~ Rat(A*),
L2 e Rat(A*)
L~ x L2 c Rat(Z* x A*),
R~(L~) ~ Rat(A*), R~ c~ (L~ x L2) ~ Rat(.~* x A*).
They are not closed under the Boolean operations intersection or set difference except in special cases. One such special case occurs when .~ and A each contain exactly one letter. Such rational relations form a Boolean algebra [10]. Another special case is the class of recognizable relations Ree(.S* x A*) which contains rational relations expressible as a finite union of products of regular languages: R = Uiml Ai x Bi. This class is also a Boolean algebra but not closed under + , ,, or ~L. Another special case is the class of length-bounded rational relations LBRat(.~* x A*) which contains rational relations satisfying the following property for some k:
(u, v)~R =~ Ivl-k<~lul<~lvl+k. It is closed under + and * for relations satisfying the length property with k = 0 and under c~ and - but not under x , and since the universal element 2 * x A* is not length-bounded, it is not a Boolean algebra. The class Fin(Y.* x A*). is closed under c~ and - but not under +, *, or ~L and is not a Boolean algebra because it also lacks the universal element. A finite transducer T = (~, A, Q, q_, Q+, E) is a 6-tuple where ~ is the tape-one alphabet, A is the tape-two alphabet, Q is a finite set of states, q_ e Q is a distinguished start state, Q + _ Q is a distinguished set of final states, and E __q ( Q x 2;* x A * x Q) is a set of transitions. A path from qo to qk through T is a sequence of transitions from E of the form
( qo, ul , v~, q~)( q~ , u2, v2, q2)(q2, u3, v3, q 3 ) - . . ( qk-l, Uk, ~k, qk)" A successful path is one where q o - q - and qk ~ Q+. The label of a path is the componentwise concatenation of the labels: (UlU2U3...Uk, VlV2V3...Vk). The behaviour ITI of a transducer T is the set of labels of successful paths. The class Rat(,Y*x A*) is identical to the class of finite transductions. At the expense of adding some states, we can restrict finite transducers to those with transitions of
Rational equivalence relations
43
the form (Qx.~ xA x Q)u(Qx
A x.Y, x Q ) u ( Q x A x A x Q).
Such a transducer will be called alphabetic. A deterministic 2-tape finite automaton A = (.Y, A, Q1, Q2, q-, Q+, 81, 82) is an 8-tuple where .Y and A are the tape-one and tape-two alphabets, Q1 and Q2 are disjoint finite sets of states, q_ e Q~ w Q2 is a distinguished start state, Q+ ~ QI w Q2 is a distinguished set of final states, and
81:Qlx(~V,u{-~})-->Q, wQ2,
82:Q2x(Au{-.4})-->Q1uQ2
are partial functions. The symbol 4 is a special endmarker character not occurring in either ~Y or a. Every such machine can be interpreted as the alphabetic finite transducer: TA = (-Y w {~}, A u {-~}, Q, wQ2, q-, Q+,
U
U
(q,a,A, 8,(q,a))w
qe Qt,a e-~w{--I}
(q, A, b,
82(q,
b))).
q~ Q2, b ¢ a t..,{--4}
Paths, successful paths, and labels are then defined implicitly in terms of this transducer. The behaviour IA] of an automaton A is the set of pairs (u, v) such that (u-q, v~) e ITA]. Deterministic 2-tape finite automata recognize a subclass of rational relations [9] which will be denoted as DetRat(£*xA*). Deterministic rational relations are closed under complement but not under u , - , +, *, or o. However, the classes RecEq(Z* x A*) and LBRat(Z* x A*) with their rich closure properties are both contained in DetRat(Z* × A*). Although it is not possible to make the choice of tape to read deterministic without restricting the class of relations that are recognized, it is possible to make the choice of transition deterministic after the tape to read has been chosen. A quasi-deterministic 2-tape finite automaton A = (X,, A. Q, q_, Q+, 81, 82) is a 7-tuple where ~ and A are the tape-one and tape-two alphabets, respectively, Q is a set of states, q_ e Q is a distinguished start state, Q+ _c Q is a distinguished set of final states, and
8,: Ox( ;
Q,
82: Ox(A
O
are partial functions. Successful paths and behaviour are defined in a similar fashion to deterministic automata except that the state set is not partitioned according to which tape should be read next. This class of automata recognizes the full class Rat (.Y* x A*). A subsequential transducer S = (.Y, A, Q, q_, 8, A, p) is a 7-tuple where .Y is the input alphabet, A is the output alphabet, Q is a set of states, q_ e Q is a distinguished start state, and 6 : Q x.Y--> Q,
A : Q x.Y--> A*,
p:Q-~A*
44
ZH. Johnson
are partial functions indicating the next state, the output function, and the termination output function, respectively. Every such machine can be interpreted as a finite transducer:
Ts=(~,,A, Q u{q+},q_,{q+},
U
(q,a,A(q,a),8(q,a))
qE Q, a ~ $
u qEQ U (q,A,p(q),q+) I. Paths, successful paths, labels, and behaviour can then be defined implicitly in terms of this transducer (or directly as in [1]). A rationalfunction is a rational relation that is single-valued. Relations that are the behaviour of subsequential transducers constitute a subclass called subsequentialfunctions. These two classes will be denoted RatF(.Y* x A*) and SSeqF(.Y* x A*). Note that the class DetRatF(.Y* x A*) of singlevalued deterministic rational relations is different from both of these. For the basic theory of rational relations and rational functions, see [1, 6]. For a discussion of the properties of deterministic rational relations, see [9]. Lengthbounded rational relations are discussed in [7]. A lexicographicorder < on .Y* is the total order induced by an order on .Y using the rules
u
Vu, v,w~.Y*, Va, b~.Y,.
The set of words that are lexicographically minimal within their classes for a rational equivalence relation R will be denoted by lexmin(R). Since lexicographic ordering is not a good order, there may be classes without minimal elements so that lexmin(R) might not be a cross-section. The set of words that are length minimal within their classes for a rational equivalence relation R will be denoted by lenmin(R). This may fail to be a cross-section since classes may have more than one element of minimal length. The subclass of Rat(Z* × •*) that are equivalence relations over their domains will be denoted RatEq(.Y*) or simply RatFal if the alphabet is understood. In an analogous way the following notations will be used: KerRatF: DetRatEq: KerSSeqF: RecEq: LBRatEq: FiaEq:
equivalence kernels of rational functions, deterministic rational equivalence relations, equivalence kernels of subsequential functions, recognizable equivalence relations, length-bounded rational equivalence relations, and finite equivalence relations.
It is easily shown that the recognizable equivalence relations are exactly the rational equivalence relations of finite index [11]. In Section 3, the relative containments of these classes are shown in general and for the one-letter-alphabet case. Section 4, through a system of examples, shows that the containments presented in Section 3 are proper and that incomparable
Rational equivalence relations
classes are truly so. Section 5 discusses the question function application in terms of the input word length. of decidability results concerning class membership. conclusions and some open problems remaining from
45
of complexity of canonical Section 6 presents a number Finally, Section 7 presents this investigation.
3. A containment hierarchy This section and the following one establish a hierarchy of rational equivalence relations as summarized in the following theorem. Theorem 3.1. Rational equivalence relations can be organized into the containment hierarchy as shown in the form of a Hasse diagram in Fig. l(a). I f the alphabet is restricted to contain one letter, the hierarchy collapses into that shown in Fig. l(b). The remainder of this section establishes the containments of Theorem 3.1. The next section shows that the indicated containments are proper with the exception of KerRatF_ RatF_zl which remains open. It has been conjectured that these two classes are the same [12].
RatEq I I I
RatEq = KerRatF
I
KerRatF
DetRatEq
I
DetRatEq
LBRatEq u KerSSeqF
KerSSeqF = LBRatEq u RecEq
/\
LBRatEq
KerSSeqF
/
Rec
/\ \/
LBRatEq
RecEq
FinEq = LBRatEq n RecEq (b)
FinEq = LBRatEq n RecFAI (a) Fig. 1. Containment hierarchies for rational equivalence relations. (a) General case. (b) One-letteralphabet case.
46
Z H. Johnson
Lemma 3.2. KerRatF_ RatEq. Proof. Let R E KerRatF. Then there is a rational function f such that R = ker(f) = f o f (-~). Since rational relations are closed under inverse and composition, R
RatEq.
[]
Lemma 3.3. DetRatEq_ KerRatF. Proof. This follows from [12, Theorems 5.3 and 3.1].
[]
Lemma 3.4. LBRatEq ~ DetRatEq. Proof. This follows immediately from the observation that LBRat(Y*xA*)_q DetRat(~* x A*). For, if R ~ LBRat(.Y* x A*), then, in the terms of Elgot and Mezei [7], R is finite-automaton describable (FAD) so that R can be recognized by a finite automaton that reads one character (or blank) from each tape for each transition until both tapes are exhausted. Since this behaviour can be simulated by a deterministic 2-tape automaton which alternately reads one character from each
tape, REDetRat(.Y*xA*).
[]
Lemma 3.5. KerSSeqF c_ DetRatEq. ProoL Let R e KerSSeqF. Then there is a subsequential function f such that R = k e r ( f ) = f o f < - l ) which can be characterized by some subsequential transducer T = ( Y , A , Q, q_, 8, A,p). From this we may construct a deterministic 2-tape automaton for R that simulates the running of T on each of its input tapes while checking that they agree on their outputs. The states of this derived machine will be composed of the states of the two copies of T as well as a pair of buffers each large enough to accommodate the largest A or p string. At any time only one buffer will be allowed to be nonempty and the simulation will read the input tape corresponding to the other buffer. That buffer is loaded with the appropriate letters from the A or p strings and the longest common prefix removed. If the result leaves both buffers nonempty, then a mismatch has occurred and the machine simply deadlocks. [ ]
Lemma 3.6. RecEq~ KerSSeqF. Proof. Let R~RecEq. Then R ~ R a t E q and R has finite index, say k [11]. Since each equivalence class C~ (1 ~< i<~ k) is a regular set, the relation f = [..J~ffil C~ x {a i} from ,Y* to {a}* is a canonical function for R. Since the classes Ci together with Co = ? * - d o m ( R ) fo~m a regular partition of 2*, there is a semi-automaton A = (?, Q, 8) whose states identify a refinement of this partition. From this, a subsequential transducer f o r f can be constructed: T -- (,Y, A, Q, 8, A, p), where A(q, x) = A for all q E Q and x ~ ,Y and p(q) = a i if state q corresponds to a subclass of C~ for i t> 1 and p(q) is undefined if q identifies a subclass of Co. []
Rational equivalence relations
47
Lemma 3.7. FinEq = LBRatEq n RecEq.
Proof. If R ~ FinEq, then R is a finite relation and therefore rational. Since R is of finite index, R ~ RecEq. Since the maximum difference in length of related words is bounded, R ~ LBRatEq. If R ~ LBRatEq n RecEq, then R has only a finite number of classes and each class is finite in size. Thus, R can be described by enumerating a finite number of pairs of related elements and thus is in HnEq. []
Lemma 3.8. If [~Y[= 1, then RatEq = KerRatF.
ProoL Rational relations over a one-letter alphabet are dosed under intersection [10]. The relation R>={(am, a n ) l m > n } is rational so that L = dora(R) - dom(R n R>) is a regular cross-section. As a result, R n (dom(R) x L) is a rational canonical function f o r / ~ []
Corollary 3.9. When I£[ = 1, we can restrict the output alphabet of rational transductions to one letter without changing the class KerRatF.
Lemma 3.10. I f [~[ = 1, then KerSSeqF= L B R a t E q u RecEq.
ProoL Since RecEq__ KerSSeqF, we need only prove that when ]Z[ = 1, LBRatEq KerSSeqF and KerSSeqF_ RecEq u LBRatEq. Let ~Y= {a} and R ~ LBRatEq. The set of words that are of minimum length in their class is a regular set: L = dora(R) - d o m ( R n R>). Thus, the function that maps a word in dora(R) to the minimum length word in its equivalence class is a rational function. It is clearly also a length-bounded rational function. It is also subsequential as can be shown by construction. We assume that we are given a deterministic 2-tape finite automaton which reads one character (or blank) from each tape in each transition. We will then construct a machine that reads the input it is given and simulates a second input that is shorter than the given input by no more than k letters. It can manage this by keeping track of the current states reached if the virtual input is terminated at i characters less than the current input for i between 0 and k as well as the state reached if neither is terminated. These states are maintained in the finite control of the subsequential transducer. As input is read, a new state is added to the memory. If the memory does not overflow, no output is written. If it does overflow, the oldest state is removed and a single a is written. When the input is terminated, enough a's are written to make the output correspond to the shortest virtual string that led to a final state.
48
J.H. Johnson
Let ,Y = {a} and R ~ KerSSeqF so that R = k e r ( T ) for some T = (,?, A, Q, q_, 6, kp). Let Q+ = {q ~ Q Ip(q) ~ A*}. Suppressing the output part of T we obtain a deterministic finite automaton with the same states and transition structure: A = (,Y, Q, q_, Q+, 8). The accessible part of A must be a simple path of s + 1 states {q-, q~, q 2 , . . . , qs-1, ro} connected to a loop o f p states {ro, rl, r 2 , . . . , rp_~, ro} (see, for example, [6] for details). The structure of T will be the same except that write labels will be attached to each arc and final states will have a terminating p string. Let f = IT[. If none of the r/s are in Q+, then the domain of f is finite and so k e r ( f ) is in FinEq. In order that ker(f) be infinite, at least one of the loop states, say ri, must be final. Then, f ( a ~+i+kp)= uDkw where u = A(q_, aS+~), v = A(rb aP), and w = p(r~). Let ~ ( n ) = If(an)I, the length function of f and a = [v[/p. Then O(n) ~< a n + f12 where f12 = maXm~+i+p{~b(m) - am} and ~b(n) ~> an + fll where fll = minm~+~+p{&(m) - am}. In other words, we need only check once around the loop in order to ensure that the bounds work since T can only pump up by (a p, v) (or by some cyclic shift of v). Suppose now that (a", a ~°) ~ ker(f) so t h a t f ( a " ) = f ( a "°) and ~b(n) = ~b(no). There are two cases depending on whether a is equal to zero or not. If a > 0, then the constraint an + [32 ~ ano + [3~ implies that n t> n o - ([32 -- [31)/Ot and an + [3~<~ano + [32 implies that n<--no+([32-[3~)/a. As a result it follows that ker(f) must be in LBRatEq. If a = 0, then the constraint ~b(n)<~ f12 implies that the length of f ( a " ) must be f12 or less. Thus, the cardinality of the range o f f is restricted to ~ k ~ [AI k implying that k e r ( f ) is of finite index and therefore in RecEq. [] Corollary 3.11. When [~1 = 1, we can restrict the output alphabet of subsequential transductions to one letter without changing the class KerSSeqF. Proof. Let f be a subsequential function with a one-letter input alphabet. By the previous lemma, k e r ( f ) is either in LBRatEq or in ReeEq. But in either case another subsequential function using only a one-letter output alphabet can be constructed. []
4. Proofs of proper containment
To show that the hierarchy of Section 3 contains distinct classes, it is necessary to exhibit relations that occur in one class but not in a subclass. The following five relations will be used: (1) The universal relation U = ~ * x £ * has one class containing all of ~ * . (2) The relation .~ = ( ( ~ x ~y)2), u ~vhas classes containing all words of the same even length and singleton classes for words of odd length. Note that ~ is the identity function when [£1 = 1.
Rational equivalence relations
49
(3) The relation ~ = ((a, a)- U) u ((b, b)- ~u) has one class containing all words beginning with a and singleton classes for each word beginning with b. This relation is undefined when IZl= l. (4) The relation ~ = ((2~2)* × (2~2)*) u (2~ × .Y)* has one class containing all even length words. Odd length words are grouped into classes by length. (5) The relation ~ = ((.Y × .v2). (.v2 × 2~4),) u ((.v2 × .v). (Z4 × .v2),) u (Z × ~)* has classes containing all words of some odd length together with all words of twice that length. Other words form classes by length.
Theorem 4.1. The restriction of the hierarchies of Theorem 3.1 to the five classes {U, ~, ~, ~, ~} is as shown in the form of Hasse diagrams in Fig. 2(a), (b).
Lemma 4.2. U ~ RecEq- LBRatEq.
Proof. Since U is a rational equivalence relation with one class, it is recognizabl e. It is not length-bounded since there is no value k satisfying the length-bound constraint. For any value k, (A, a k+l) ~ U. []
I
I I
{u,,~, ~, ~, ~}
I I
{U,s~,~, ~}
/
I
{u,~}
/\
\
{s~}
{ u, ~}
\/ (b)
0 (a) Fig. 2. Containment hierarchies restricted to {U, ~1, ~, ~, ~}. (a) General case. (b) One-letter-alphabet case.
50
ZH. Johnson
Lemma 4.3. ~ e LBRatEq-
RecF_al.If [.Y[>>-2, then M ~ KerSSeqF.
Proof. Since M is described by a rational expression and satisfies a length-bound constraint, M e LBRatEq. It is of infinite index and thus not recognizable. However, if [,Y[>I 2, it does not have a subsequential canonical function. Otherwise, suppose M =fof~-~) where S = (,Y, A, Q, q_, 8, A, p) and f = IS[. Then, for any even length k = [w[, A(q_, w)p(8(q_, w)) must be a constant string independent of w. The second factor can only take on [QI different values since there are only [Q[ different p values. Thus, for words of some fixed even length the first factor can take on at most [Q[ different values as well. However, for each of the [,y[k words of length k after reading an additional a we must have [~y[k different values A(q_, w)A(8(q_, w), a)p(8(B(q_, w), a)). The last two factors are dependent on w only through 8(q_, w) and so can only take on [Q[ distinct values. Combining these observations we have that [,~[k~ [Q[2. This is false when k > 2 1Ogl$ I [Q[. []
Lemma 4A. If I,YI>I2, then ~ ~ KerSSeqF- (LBRatEq w RecEq). Proof. After reading the first character, a subsequential transducer can either stop or begin copying its input depending on whether an a or a b was seen. Thus, ~ KerSSeqF. However, ~ cannot belong to LBRatEq since words beginning with a can differ arbitrarily in length. It cannot belong to RecEq since there is an infinite number of classes corresponding to the words beginning with b. []
Lemma 4.5. ~ ~ DetRatEq- (LBRatEq u KerSSeqF). Proof. To show that cg is deterministic, consider a deterministic 2-tape automaton that repeatedly reads one character from each tape and keeps track of the parity (even or odd) of the lengths. When an end-marker is detected on one of the tapes, we know the parity of the te~iiiinated string and can either cheek for termination or even parity of the other string as appropriate. Formally, let A = (.Y, ~, {A, B, C, D, E}, {A', B', C', D', E'}, A. {E}. 8~, 82),
8,(A, x) = a', 8~(A, -0 = C', 8,(B, x) = B', 8,(B, ~ ) = E',
8,(C,x)=D, 8,(D, x) = C, 8,(D, ---I)= E,
8:(A', x) = B, 82(A', -t) = C, 8~(B', x) = A, 8~(C',x)= D', 8~(C', ~) = E, 82(D', x) = C', 82(E', "0 = E,
Vx e,Y.
It is easily shown that this automaton behaves as described and thus recognizes qg.
Rational equivalence relations
51
However, :g does not have a subsequential canonical function even if [,Y[= 1. Otherwise, suppose :g = f o f < - t ) where S = (Z, A, Q, q_, 8, A, p) and f = IS]. Let k~ = If(A)I and k~=maxq~Qlp(q)l.Since R is of infinite index, the range o f f is infinite so that there must be a word w satisfying If(w)l > kl+k~. Thus, [w I is odd since otherwise If( w)l = [f( A )[ = k~. Let 8 (q_, w) = ql. Then, [;t (q_, w) p(q~)l > k~ + k2 but IA(q_, w)A(ql, a)p(8(q~,a))[=kl so that ]A(q_,w)l~k ~. But then Ip(q~)l>k2, a contradiction. The relation cg cannot be length-bounded for any k since one of the words a k+~ or ak+2 is of even length and thus in the same equivalence class as A. [] Lemma 4.6. ~ ~ KerRatF- DetRatEq.
Proof. Let a be a letter from ,Y. Then the set D = (aa)* of words that have an even number of a's is a regular cross-section for @. Thus, @ n (2~*x D) is a rational canonical function for @ and @ e KerRatF. However, even if J,Y[ = 1, @ is not deterministicany recognizable. Otherwise, there is a deterministic 2-tape automaton accepting @: A = (~, ,~, Q1, Q2, q-, Q+, 8~, 82). Since Q = QI u Q2 is finite, there must exist i, j, i', and j ' with i # i' or j # j ' such that A is in the same state, say q, after reading (a i, a j) and (a i', aJ'). But then if A accepts (a i+m, at+'), it must also accept (a ~'+", a j'+") since there is a path from q to a final state with label (am-q, a"-q). Let n be any n u m b e r satisfying n > max{0, i/2-j, i - i ' - 2 j + j ' } and n ~ j (rood 2) and define m = 2 j + 2 n - i . Then it follows that (1) m, m~>0, (2) i + m = 2 ( j + n ) where j + n is odd, and (3) i ' + m > j ' + n . Thus, (a~+~,aJ+")e@ and therefore (a ~'+", a t'+") e @ leading to the constraint 2j - i = 2 j ' - i'. Alternatively, we can set m to be any n u m b e r satisfying m > m a x { 0 , j / 2 - / , j - j ' - 2 i + i'} and m ~ i (rood 2) and define n = 2 i + 2 m - j . This leads to the constraint 2 i - j = 2i'-j'. The only way that both constraints can be satisfied is if i = i' and j = j ' . []
S. Canonical function computation
One of the principal motivations for studying rational equivalence relations was to discover more general models for string similarity which partition the set of strings over some alphabet into disjoint classes. Implicit in this is the requirement that, for any given set of strings, the partitioning can be done efficiently. If there is an efficiently computable canonical function, then the partitioning can be achieved by computing the canonical form for each string and sorting the set by the canonical form value. To be m o r e specific the problem then is: Given a description of an equivalence relation, construct an efficient algorithm which accepts as input a word and writes a canonical form for the class to which the word belongs. The discussion of
52
J.H. Johnson
complexity will be restricted to that of the algorithm found and not consider the cost of finding it. Furthermore, the algorithm cost will be in terms of the input length only.
Theorem 5.1. The cost of canonical function computation on an input of length n for the subclasses of RatEq can be summarized in the following table: Class
Time
Space
RatEq RatF.4 KerRatF DetRatEq
O(n 2) O(n3/log n) O(n ) O(n)
O(n 2) O(n) O(n) O(n)
LBRatEq KerSSeqF
O(n)
O(n)
RecEq
O(n) O(n)
O(I) O(I)
FinEq
O(n)
O(1)
When restricted to the one-letter case, RatEq has a canonical function computable in O( n ) time and space and LBRatEq has a canonical function computable in O( n ) time and O(1) space.
Because the proofs in Section 3 were all effective reductions, we can prove Theorem 5.1 by establishing the complexity bounds in the three cases RatEq, KerRatF, and KerSSeqF. Lemma 5.2. For any R ~ RatEq there is a canonical function f computable in
O(n3/log n) time and O(n) space. Alternatively, it may be computed in O(n 2) time and space.
Proof. Consider an enumeration of Z* that lists A, then strings of length one, strings of length two, and so on. Within each set of strings of a given length, we choose a reversed lexicographic ordering. For example, if our alphabet is {a, b, c} and we choose to have a < b < c, then our enumeration will be A, a, b, c, aa, ha, ca, ab, bb, cb, ac, bc, cc, aaa, baa, . . . . If we are now given a string u, we will find the first element v in sequence such that (u, v) ~ R. This is definitely a bounded search since we never need to search past u. This exponential time algorithm provides a canonical function for R.
Rational equivalence relations
53
We can reduce the cost of finding the canonical element using a modification of the membership algorithm for rational relations. Assume that we are given a quasideterministic 2-tape automaton for a rational equivalence relation R: A = (£, Z, Q, q_, Q+, 81, 82). Consider the modified automaton A' = (£, .Y u {?}, Q, q_, Q+, 8~, 81) where ? is a new letter not in .Y and
8~(q,x)=I82(q,x)
ifx~Z,
[y[~J 82(q, y ) i f x =
?.
Thus, 8~ is the same as 82 except that it can read a wild card character instead of any other letter. We can use A' to identify the canonical string. We first find its length by testing (u, A), (u, ?), (u, ??), and so on for membership. When we find a string of wild card characters that is related to u, we then know the length of the output word. The second part of the algorithm attempts to replace each wild card character by a letter from Z proceeding from right to left. Let 2 ={ai[ 1 <~ i <~s} and suppose our given ordering is a~ < a 2 < aa < " " < as. First we replace the last wild card by al and test the new string for membership. If this fails, we try a 2 and so on until we succeed. Then we move on to the second last wild card and repeat the process. When we finish the first wild card, we will have a string in ,~* and it will be minimal according to the above ordering. This algorithm requires O(n) space and O( n3/log n) time since it requires a maximum of n+l,T,In passes of the standard membership algorithm each of which require O(n2/log n) time and O(n) space [14, 20]. It should be clear that we could have assigned wild cards from left to right instead of from fight to left. The advantage with the above approach is that we can avoid many repeated computations as done in the algorithm in Fig. 3. This is a modification of the standard dynamic programming algorithm for testing whether a pair of words is accepted by a nondeterministic 2-tape automaton. The basic data structure used is an array T with rows indexed by positions in the first word and columns indexed by positions in the second word, here being computed. The first for-statement (at (A) in Fig. 3) initializes column zero of T so that T[i, 0] contains all states reachable from q_ with a label (u~u2... ui, A). The while-statement at (B) continues adding columns until one is found whose last element contains a final state. Each column is added by extending the output word with a wild card character and determining the states reachable with label as the appropriate prefix of u and the correct number of wild cards. The length of the output is known and assigned to the variable L. The loop at (C) then prepares for a backward pass of the array T by removing from the last column all states which are not on a path to a final state. The loop at (D) continues the process by weeding out from T the states which cannot be on a successful path. The decision about the actual characters of v are made in the loop (E). Each character in ,~ is tried in turn until one is found which does not cause the column under consideration to be completely zeroed out and thus break all paths. This algorithm then requires O(n 2) time and O(n 2) space since each column Of the
54
J.H. Johnson
{Given a modified automaton A'= (2, Z, Q, q_, Q+, 81, 82) and an input word u, compute the first word v in reversed lexicographic sequence such that (u, v) ~ [A'[. Let vii(k, x) = {q[Si(q, x) = k} for i = 1, 2} T: array [0:lu[, 0: [ul] of set of states; W: array [0: [ul] of set of states;
(A) (B)
~ , m T[0, 0] := {q_}; for i:= 1 to lul do r[~ 0]:= U~,Tt,-l,O] ~l(k~ Ui); j:=0; while T[lul,j]n Q + = 0 do begin j :=j + 1; T[0,j] := Uk~T[O,j-l] ~2(]~ ?); for i: = 1 to [u[ do
T[~j] := UkcT[i--l,j] ~l(ks g/i) L.JUkcT[i,j:I] ~2(k~ ?) (c)
end; L:=j; T[[uJ, L]:= T[luJ, L ] n Q+; for i := JuI - 1 to 0 by - 1 do
r[/, L] := r[i, L] r~ U~rt,+,,,] ~,(~ u,+l); (V) (E)
for j := L - 1 to 0 by - 1 do begin for l : = l to I$1 untit U~% w [ i ] ~ , 0 do begin vj+l := az; W[luj] :--- T[lul,j] n Uk~T[lul,j+! ] yl2(k~/3j+1); for i : = l u l - 1 to 0 by - 1 do W[i] := T[i,j] ~ {[,.JkEW[/+1] 7h(k, u,+l) u Uk~r[~/+l] ~/z(k, Vj+l)} end; for i:=0 to lul do T[/,j]:--- W[i] end end Fig. 3. A canonical function for a rational equivalence relation.
table will be computed once in the first part of the algorithm and modified a maximum of I~ I times in the second part. [] The above function is not in general rational. For example, consider the relation R = T u T (-~) u ,u, where T = {(a2'b4~ b4'a2J+l) I i,j >---0}. The above algorithm would select from each class the shorter of the two words. This is shown in [12] not to be a regular set. As a result, it cannot be the range o f a rational function. Lemma 5.3. l f R e KerRatF, then there is a canonical function that requires O( n ) time
and space for input of size n. Furthermore, this function can effectively be computed from a :finite transducer for R. Proof. Clearly, if R e KerRat, then there is a rational function f that is a canonical function. Thus, we need to demonstrate that such a rational function can be found and that it can be used to construct an O(n) time and space bounded canonical function. It is shown in [12] that any R ~ gerRatF has a regular cross-section. Thus, we can effectively find a rational function for R by enumerating regular languages
Rational equivalence relations
55
and testing whether restricting the domain of R to each of these yields a function. Clearly, such a function will be rational and will exist because of the existence of a regular cross-section. Now any rational function can be expressed as the composition of a left sequential and a right sequential transduction [ 1, Theorem 5.2, pp. 126-127]. Since a sequential transduction cannot generate an output whose length exceeds its input length by more than a constant factor, the time and space required will be O(n). []
Lemma 5A. I f R ~ Kei'SSeqF, then there is a canonical function that requires O( n ) time and O(1) space. Furthermore, this function can effectively be computed from a deterministic finite automaton for 17,. Proof. The only information that needs to be stored is the current state and the next symbol of input. For each character read we will expend an effort proportional to the number of characters written. This is bounded by a constant so that the overall cost is linear in the size of the input. We can effectively find such a transducer if it exists. Without loss of generality we can assume that the image alphabet has two letters. We simply enumerate transducers from 2:* into {a, b}* until we find one f satisfying f o f (-1)= R. This latter question is known to be decidable for deterministic rational relations [2] and as a result of the reductions of Section 3 we know that both sides of the equality are deterministic rational. []
6. Decision problems If rational equivalence relations are to be useful, it must be possible to construct them. One approach would be to start with a rational relation specified as a finite transducer and modify it until it is an equivalence relation. This section shows that this is very likely not to be a feasible approach since it is recursively undecidable whether the behaviour of a given transducer is an equivalence relation.
Theorem 6.1. G/ten a finite transducer for a rational relation R, the following properties are recursively undecidable : (1) R is transitive (i.e., R o R c_ R ). (2) R is symmetric (i.e., R c_ R(-t)). (3) R is reflexive ( i.e., tdom(R)-- R). (4) R ~RatEq. (5) R ~ KerRatF. (6) R ~ DetRatEq.
(7) R KerSSeqF. (8) R ~ ReeEq. The following properties are decidable: (1) R ~L1BnatEq.
J.H. Johnson
56
(2) R e FinEq. (3) R e ReeFal when R is known to be an equivalence relation. I f the alphabet is restricted to contain one letter, then the above undecidable properties become decidable except for R ~ DetRatF_,q which remains open. This will be proven by exhibiting a rational relation which is either the universal relation or not an equivalence relation depending on whether an instance of Post's Correspondence Problem has a solution. Since the universal relation is in ReeEq, by the hierarchy of Theorem 3.1 it is undecidable whether a given rational relation is in any of the classes RatEq, KerRatF, DetRatEq, KerSSeqF, or RecEq. Since the relation can be made to fail any of the reflexive, symmetric, or transitive laws, t h e s e are undecidable properties. These arguments depend critically on ,~ having at least two letters. All of these questions become decidable in the one-letter case using the decidability of inclusion. The following three lemmas will follow a model of Fischer and Rosenberg [9] using a reduction from Post's Correspondence Problem: Given sequences ul, u 2 , . . . , up and v~, v 2 , . . . , vp of strings, determine a nonempty sequence of indices i~, i 2 , . . . , ik such that uilu~.. . u~,,= v~v~.. . v~,. The existence of a solution to PCP is a well-known recursively undecidable problem. Lemma 6.2. Transitivity testing for rational relations is undecidable.
Proof. Let a and b be in 2 and u~, u 2 , . . . , up, v~, v 2 , . . . , vp~Z* be an instance of PCP. We can construct a relation that is transitive if and only if this instance of PCP has no solution. Define
U={(ab, uO,(a2b, u : ) , . . . , ( a P b , up)},
V = { ( a b , vO,(aEb, v : ) , . . . , ( a P b , vp)}.
The relation U + is subsequential since we can construct a subsequential transducer that counts a's and whenever it reads a b, emits the correct ui. Thus, U + is a deterministic rational relation. Similarly, V+ is a deterministic rational relation. The relations (Z* x ~*) - U + and (~7" x ~ * ) - V+ are deterministic rational since deterministic rational relations are closed under complementation. Since any deterministic rational relation is rational, z =
x
- u +} v
x
- v +} =
x
-(
u +•
v +)
is rational. Now U+r~ V+ is not empty if and only if the corresponding instance of PCP has a solution. If U + n V+ is empty, then Z = ~ * x ~7" and is thus transitive. If U + r~ V+ is not empty, it will be a function that is not total. Thus, if (w,, w2) e U + r~ V+, then z ~ w2 implies that (w~, z)~ U+c~ W-. It is possible to choose z ~ w2 such that z ~ dom(U+c~ V+) since there are at least two words (and therefore at least one different from w2) in , ~ * - d o m ( U + n W ) (for example, aa and aaa). Now, (wl, w2)~ Z but (wl, z), (z, w2)e Z. Thus Z is not transitive. Since Z is transitive iff the given instance of PCP does not have a solution, transitivity is an undeeidable property. []
Rational equivalence relations
57
Lemma 6.3. Symmetry testing for rational relations is undecidable. Proof. Consider Z = (,Y* x ,Y*) - ( U + n V +) with ,Y, U, and V defined as above. Since Z is a rational relation, ( A . Z ) u B where A = 2~ x A and B = A x2~* is a rational relation. Now, if U + n V + is empty, then ( A . Z ) u B is Z * x 2~* and thus symmetric. If U + n V + is not empty, A . ( U + n V+) is a function but its inverse is not. Thus, ( A . Z ) u B = (,Y* x ,Y*) -- (A- ( U + n V+)) is not symmetric. [] Lemma 6.4. Reflexivity testing for rational relations is undecidable. ProoL Let A = {a, b, $} = 2~ u {$} and let Z = (Z* x •*) - ( U + n V+) as above and A = A x ( , Y * . { $ } ) and B = ( { $ } . , Y * ) x A . Thus, A . Z . B has as domain {w~$w2[ w~, w2~-Y*}. But (w~$w2, w~$w2)e A . Z . B if and only if (Wl, w2)~ U + n V+ since by construction (w~$w2, w~$w2) must factor into (A, w~$) ~ A, (w~, w2) • Z, and ($we, A) ~ B. Thus, A . Z- B is reflexive if and only if the given instance of PCP is empty. [] Note that we can extend the domain of A . Z . B to A* by constructing Z ' = A- Z . B u 0 : * u (~:*$~:*($~:*)+)) x (~:* u (~:*$~:*($~:*)+)) without affecting the proof. In addition, we could code A back into 2~, so that two letters suffice. Corollary 6.5. It is undecidable whether a rational relation is in RecEq. Proof. The above lemmas construct a rational relation which is either a recognizable equivalence relation (,Y* × £ * ) or not an equivalence relation depending on whether an instance of PCP has a solution. Thus, membership in RecEq is undecidable. [] Lemma 6.6. It is decidable whether a rational relation is in LBRatEq. Proof. We can check whether it is length-bounded by inspecting the transducer for loops that are not length-preserving and yet can occur on a successful path. If there is one such loop, the transduction cannot be length-bounded since we can pump up one of the tapes arbitrarily and exceed any predefined bound. If there is no such loop, then the transduction is length-bounded following [7]. If the relation is length-bounded, then it is deterministic. Symmetry can be tested using Bird's algorithm [2] to see whether R equals R (-I). Transitivity can be tested by computing R o R which is length-bounded if R is and testing whether this relation is equal to R. It is easily shown that R -- R (-I) and R = R o R if and only if R is an equivalence relation on its domain. []
58
J.H. Johnson
Lemma 6.7. It is decidable whether a rational relation is in FinFal. Proof. We can easily check whether the relation is finite by checking the domain and range for finiteness [1, Proposition 8.2, p. 88]. If they are finite, then the finite set of ordered pairs in the relation can be enumerated and the reflexivity, symmetry, and transitivity verified. []
Lemma 6.8. It is decidable whether a rational relation is an equivalence relation in the one-letter-alphabet case.
Proof. Inclusion testing for rational relations over a one-letter alphabet is decidable. Thus, testing of reflexivity, symmetry, and transitivity are all decidable. []
Lemma 6.9. Given a rational equivalence relation R it is decidable whether R E ReeEq. Proof. The idea is to compute a locally finite thinning of R as shown in [12] and test whether the resulting relation is finite. If it is, then the original relation must have been of finite index and is therefore in RecEq. []
Lemma 6.10. It is decidable whether a rational relation is in either o f the classes RecEq or KerSSeqF in the one-letter-alphabet case. ProoL From the above results we can decide whether a relation is in LBRatEq or in RecEq and therefore whether it is in KerSSeqF (since it is the union of these two classes in the one-letter case). [] There remains exactly one case and this is still open. If R ~ KerRatF, is it decidable whether R ~ DetRatEq?
7. Conclusions and open problems A hierarchy of rational equivalence relations has been established. This provides a framework for identifying efficient canonical functions and a number of decidability questions. Although it is undecidable whether a given rational relation is an equivalence relation, canonical functions seem to be efficiently computable, at least in terms of the input length. The most significant remaining open problem is whether the containment KerRatF~_ RatEq is proper or alternatively that these classes are the same [12]. There are several relative decidability questions that remain open.
Rational equivalence relations
Given
Membership decision problem
R R R R R
R ~ KerRatF?
~ RatEq ~ KerRatF ~ DetRatEq ~ LBRatEq ~ DetRat
R ~ DetRatEq?
59
R ~ KerSSeqF?
R ~ DetRatEq? R ~ KerSSeqF? R ~ KerSSeqF? R ~ KerSSeqF? R ~ DetRatEq? R ~ KerSSeqF? R ~ RecEq?
With regard to the question of whether R e KerSSeqF when R e KerRatF, it is known to be decidable whether a rational function is subsequential [4]. However, this question is stronger: For the given rational function is there a subsequential function whose equivalence kernel is the same? Another type of open problem is that of effectively characterizing the classes RatEq and DetRatEq, that is, coming up with a presentation for these two classes such that any member of the class can be represented by the model and it is decidable whether the presentation is well formed. For example, a rational equivalence relation can be described by a rational transducer and an assurance that it describes an equivalence relation. Since the assurance cannot be verified effectively, this is not an effective characterization. On the other hand, a member of KerRatF can be presented in terms of a rational function in the form of a transducer. It is possible to verify that this transducer describes a function. Another open problem related to the effe~ive characterization for DetRatEq is the decidability of the question whether R o R = R when R is deterministic rational. If this is decidable, then the class of DetRatEq can effectively be characterized by deterministic 2-tape finite automata.
Acknowledgment
I wish to thank Karel Culik, II for his help at the early stages of this research and especially for pointing the way in the undeddability proofs of Section 6. I also thank Christian ChoffTUt for some useful discussions leading to the resolution of the one-letter-alphabet ease and Derick Wood and a referee for comments on the presentation of the material.
References [1] J. Berstel, Transductions and Context-Free Languages (Teubner, Stuttgart, 1979). [2] M. Bird, The equivalence problem for deterministic two-tape automata, J. Comput. System Sci. 7 (1973) 218-236. [3] M. Blattner and T. Head, Single valued a-transducers, J. Comput. Syst. Sci. 15 (1977) 310-327. [4] C. Chofl~t, Une caract~risation des fonctions s~quentielles et des fonctions sous-stquentielles en tant que relations rationnelles, Theoret. Comput. SeL 5 (1977) 325-338.
60
J,H. Johnson
[5] L. Davidson, Retrieval of misspelled names in an airlines passenger record system, Comm. A C M 5 (3) (1962) 169-171. [6] S. Eilenberg, Automata, Languages, and Machines, VoL A (Academic Press, New York, 1974). [7] C.C. Elgot and J.E. Mezei, On relations defined by generalized finite automata, IBM J. Res. 9 (1965) 47-65. [8] I.P. Fellegi and A.B. Sunter, A theory of record linkage, J. Amer. Statist. Assoc. 64 (1969) 1183-1210. [9] P.C. Fischer and A.L. Rosenberg, Multitape one-way nonwriting automata, J. Comput. System Sc~ 2 (1968) 88-101. [ 10] S. Ginsburg, The Mathematical Theory of Context-Free Languages (McGraw-Hill, New York, 1966 ). [11] J.H. Johnson, Formal models for string similarity, Ph.D. Thesis, Res. Rept. CS-83-32, Univ. of Waterloo, 1983. [12] J.H. Johnson, Do rational equivalence relations have regular cross-sections?, in: Pro~ 12th lnternat. Conf. on Automata, Languages, and Programming, Lecture Notes in Computer Science 194 (Springer, Berlin, 1985) 300-309. [13] D.E. Knuth, Sorting and Searching (Addison-Wesley, Reading, MA, 1973). [14] W.J. Masek and M.S. Paterson, A faster algorithm for computing string-edit distances, J. Comput. System Sci. 20 (1) (1980) 18-31. [15] G.B. Moore, J.L. Kuhns, J.L. Tretttzs and C.A. Montgomery, Accessing Individual Records from Personal Data Files using Non-unique Identifiers, Tech. Rept. NBS Special Publication 500-2, U.S. Dept. of Commerce--National Bureau of Standards, 1977 (available from the National Technical Information Service). [16] H.B. Newcombe and J.M. Kennedy, Record linkage: making maximum use of the discriminating power of identifying information, Comm. ACM 5 (11) (1962) 563-566. [17] M. Nivat, Transductions des langages de Chomsky, Ann. de rlnst. Fourier 18 (1968) 339-456. [18] M.P. Schfitzenberger, A remark on finite transducers, Inform. and Control 4 (1961) 185-196. [19] M.P. Sch/itzenberger, Sur les relations rationelles, in: Automata Theory and Formal Languages: 2nd GI Conf. (1975) 209-213. [20] J. Van Leeuwen and M. Nivat, Efficient recognition of rational relations, Inform. Process. Lett. 14 (1) (1982) 34-38. [21] G. Wiederhold, Database Design (McGraw-Hill, New York, 1977).