5

I have been asked to find a grammar that will generate the language $\{a^{n^2}:n \ge0\}$ in an exercise. So far I tried to replicate the previously written characters with my grammar rules but it didn't work. Any idea on how to setup such grammar? Any help will be appreciated.

theycallmefm
  • 97
  • 1
  • 5

2 Answers2

2

Set aside $n$ of the $n^2$ characters, and use that $(n+1)^2 = n^2 + 2n +1$.

So at any moment we have (say) $n^2-n$ symbols $A$ and $n$ symbols $B$. We also need endmarkers. $L,R$ count as A$.

$S\to LBBR$

In one linear phase we visit all symbols, and each symbol $B$ will generate two extra $A$'s. Finally we add a $B$.

$L \to LX$; $XA\to AX$; $XB\to AABX$; $XR\to BR$

Nondeterministically end, transforming all symbols into $a$.

Hendrik Jan
  • 30,578
  • 1
  • 51
  • 105
2

Found the answer here. Basically the grammar looks like this: $$ S→LAYR \\ ZA→aAZ \\ Za→aZ \\ ZR→AAYR \\ aY→Ya \\ AY→YA \\ LY→LZ \\ YR→X \\ aX→Xa \\ AX→Xa \\ LX→ε \\ $$

theycallmefm
  • 97
  • 1
  • 5