A weak match of a correspondence system $\{(u_1,v_1), (u_2,v_2), \ldots, (u_n,v_n)\}$ is a string $w$ such that, for some $n > 0$, $i_1,i_2,\ldots,i_n$, $j_1,j_2,\ldots,j_n$ where $1 \leq i_1,\ldots,i_n,j_1,\ldots,j_n \leq k$
Is it decidable whether a correspondence system has a weak match?
The solution given below reduces the problem to that of deciding the emptiness of the language accepted by a nondeterministic pushdown automaton. The NPDA operates as follows: As it reads its input it parses it using elements of the $u_i$'s as well as elements of the $v_i$'s and uses the stack to keep track of the difference between the number of elements of $u_i$'s used in the parsing and the number of $v_i$'s used in the parsing (If $u_i$'s have been used up in excess then as many $1$'s as there have been extra $u_i$'s are stored in the stack and, on the other hand, if $v_i$'s have been used up in excess then as many $0$'s as there have been extra $v_i$'s are stored in the stack.)
The automaton accepts a string, if at the end of reading the entire string it has been fully parsed in terms of $u_i$'s and $v_i$'s (a condition on states) and the number of $u_i$'s used in parsing it is the same as the number of $v_i$'s used in parsing it (the stack is empty). Thus a string is accepted iff it is a solution to the problem described above. It is an easy exercise to turn such an automaton into an equivalent traditional NPDA that accepts by final states (or equivalently empty stack).
K Narayan Kumar, SMI, Chennai
kumar@smi.ernet.in