wu ⇒ wv and uw ⇒ vw for any word w

Post's Correspondence Problem
Word Problem in semi-Thue Systems
Hector Miguel Chavez
Western Michigan University
Jun 10, 2009
Post's Correspondence Problem

An instance of the Post's Correspondence
Problem (PCP) consists of two lists of strings
over some alphabet Σ;



A = w1, w2, . . ., wk
B = x1, x2, . . ., xk
The PCP has a solution if there is a sequence
where:
wi, wi, . . ., wk = xi, xi, . . ., xk
Post's Correspondence Problem

Example 1:
List A
List B
i wi
xi
1 1
111
2 10111 10
3 10
0
This problem has a solution: 2, 1, 1, 3
w2w1w1w3 = x2x1x1x3 = 101111110
Post's Correspondence Problem

Example 2:
List A
List B
i
wi
xi
1
10
101
2
011
11
3
101
011
w1 = 10
w3 = 101
x1 = 101
x3 = 011
10101..
101011...
Post's Correspondence Problem

The Modified “PCP”

The first pair in the solution must be the first pair in
the lists.
w1, wi, . . ., wk = x1, xi, . . ., xk
List A
List B
i wi
xi
1 1
111
2 10111 10
3 10
0
No solution
Post's Correspondence Problem

Reducing a MPCP to PCP
List A
List B
List B
i
wi
xi
i wi
xi
0
*1*
*1*1*1
1 1
111
1
1*
*1*1*1
2 10111 10
2
1*0*1*1*1* *1*0
3 10
3
1*0*
*0
4
$
*$
List A
0
Post's Correspondence Problem
String Sequences
Solution?
A
YES
B
MPCP
Decider
Input
W
L(G)
YES
G
w
NO
Membership
NO
Post's Correspondence Problem
Membership Problem
G
w
A
Generate
AB
B
YES
MPCP
Decider
MPCP can be reduced to PCP
NO
Post's Correspondence Problem

Generating A & B
A
B
G
FS →
F
S: Start symbol
F: Special Symbol
a
a
For every a
V
V
For every V
E
→ wE
String w
E: Special Symbol
y
x
For every production
X→Y
→
→
Post's Correspondence Problem

Example:
S
aABb
| Bbb
Bb

C
AC

aac
w

aaac
A
B
FS →
F
Post's Correspondence Problem

Example:
S
aABb
| Bbb
Bb

C
AC

aac
w

aaac
A
B
FS →
F
a
a
b
b
c
c
Post's Correspondence Problem

A
B
FS →
F
a
a
S
aABb
| Bbb
b
b
c
c
Bb

C
A
A
B
B
AC

aac
w

aaac
C
C
S
S
Example:
Post's Correspondence Problem

A
B
FS →
F
a
a
S
aABb
| Bbb
b
b
c
c
Bb

C
A
A
B
B
AC

aac
w

aaac
C
C
S
S
E
→ aaacE
aABb
S
Bbb
S
C
Bb
aac
AC
→
→
Example:
Post's Correspondence Problem
Membership Problem
G
w
A
Generate
AB
B
YES
MPCP
Decider
MPCP can be reduce to PCP
NO
Word Problem for Semi-Thue Systems

A semi-Thue system S is a pair {Σ, P} where:



Σ is an alphabet
P is a set of rewrite rules or productions
In a rewriting x is called the antecedent and y
the consequent.
x→y

A semi-Thue system is also known as a rewriting
system.
Word Problem for Semi-Thue Systems

We say that a word v over Σ is immediately
derivable from u if there is a rewrite rule x → y
such that:
u = rxs and v = rys

If v is immediately derivable from u we write:
v u
Word Problem for Semi-Thue Systems

Let P' be the set of all pairs (u, v) from Σ* x Σ*
such that u v. Then P P' and if u v , then
w u w v and u w v w for any word w

If a  b there is a sequence of derivations
a = a1, a2, a3 = b.
If a  b and c  d imply ac  bd
Word Problem for Semi-Thue Systems
Example: Let S be a semi-Thue system where:
 Σ = {a, b, c}
 P = {ab → bc, bc → cb}.
The words ac3b, a2c2b and bc4 can be derived
from a2bc2.



a2bc2 a(bc)c2 ac(bc)c  ac2(cb) = ac3b
a2bc2 a2(cb)c a2c(cb) = a2c2b
a2bc2 a(bc)c2 (bc)cc2 = bc4
Word Problem for Semi-Thue Systems

Given an arbitrary semi-Thue system S over
Σ = {a, b} and two arbitrary words x, y, is y
derivable from x in S?
The halting problem of the Turing Machines can be
reduced to the Word Problem. Ex: If given an input
X, the machine halts if Y can be produced.
References



Introduction to Automata Theory, Languages and
Computation, John E. Hopcroft, Rajeev Motwani and
Jeffrey D. Ullman, 2nd edition, Addison Wesley 2001
(ISBN: 0-201-44124-1)
Mathematical Theory of Computation, Zohar Manna.
Courier Dover Publications, 2003 (ISBN 0486432386,
9780486432380)
Lecture Notes, The Post Correspondence Problem,
Konstantin Busch.
www.csc.lsu.edu/~busch/courses/theorycomp/fall2008/sli
des/Post_Correspondence.ppt
Question
Q: How can you reduce an MPCP to PCP
List A
List B
List B
i
wi
xi
i wi
xi
0
*1*
*1*1*1
1 1
111
1
1*
*1*1*1
2 10111 10
2
1*0*1*1*1* *1*0
3 10
3
1*0*
*0
4
$
*$
List A
0