Disjunctive Languages and Codes

* A i A + A i " X + AB = {xylx c A, y ~ B}, A = o and = u A word w ~ is i=0+ i=l called primitive if w = fn, f c X , implies n = i. A non-empty language A such that A ~ X + is called a code if XlX2...x n = ylY2...y m and xi,Y j ~ A for every i and j implies n = m and x i = Yi for all i. A code A is said to be a prefix (suffix) code if A n AX + = ~ (A n X+A=~). For any language A, the relations PA and RA defined by x E y (PA) if and only if A..x = A..y