Skip to main content
1 of 6
Raphael
  • 72.9k
  • 30
  • 181
  • 393

Claim: $L$ is context-free.

Proof Idea: There has to be at least one difference between the first and second half; we give a grammar that makes sure to generate one and leaves the rest arbitrary.

Proof: For sake of simplicity, assume a binary alphabet $\Sigma = \\{a,b\\}$. The proof readily extends to other sizes. Consider the grammar $G$:

$\qquad\begin{align} S &\to AB \mid BA \\ A &\to a \mid aAa \mid aAb \mid bAa \mid bAb \\ B &\to b \mid aBa \mid aBb \mid bBa \mid bBb \end{align}$ It is quite clear that it generates

$\qquad \cal{L}(G) = \\{ \underbrace{w_1}_k x \underbrace{w_2v_1}_{k+l}y\underbrace{v_2}_l \mid |w_1|=|w_2|=k, |v_1|=|v_2|=l, x\neq y \\} \subseteq \Sigma^*$

Now, $w_2$ and $v_1$ commute (intuitively speaking, $w_2$ and $v_1$ can exchange symbols because each contain symbols chosen independently from the rest of the word). Therefore, $x$ and $y$ appear the same position (in their respective half), which implies $\cal{L}(g) = L$ because $G$ imposes no other restrictions on its language.


The interested reader may enjoy two follow-up problems:

Exercise 1: Come up with a PDA for $L$!

Exercise 2: What about $\\{xyz \mid |x|=|y|=|z|, x\neq y \lor y \neq z \lor x \neq z\\}$?

Raphael
  • 72.9k
  • 30
  • 181
  • 393