Lenguaje de Dyck
# Lenguaje de Dyck

En la teoría de los lenguajes formales de las ciencias de la computación, las matemáticas y la lingüística, un lenguaje de Dyck es un lenguaje libre de contexto que está formado por palabras balanceadas de paréntesis. Es importante para el análisis sintáctico de expresiones que deben tener una secuencia de paréntesis correctamente anidados, como las expresiones aritméticas y algebraicas. Toma su nombre del matemático alemán Walther von Dyck, que estudió en profundidad la teoría de grupos.

Los lenguajes de Dyck son cruciales en la teoría de los lenguajes formales ya que, según el teorema de Chomsky-Schützenberger, cualquier lenguaje libre de contexto se puede expresar como el homomorfismo de la intersección de un lenguaje regular y un lenguaje de Dyck.

## Definición formal

### Concepto

Un lenguaje de Dyck es aquel cuyas expresiones tienen los paréntesis correctamente anidados. Valgan como ejemplo las siguientes expresiones:

* La expresión $[[]]$ sí pertenece a los lenguajes de Dyck
* La expresión $(]$ no pertenece a un lenguaje de Dyck
* La expresión $))$ no pertenece a un lenguaje de Dyck

### Definición

El lenguaje de Dyck $D$ se define mediante la siguiente gramática formal:

    $S\rightarrow \varepsilon$
    $S\rightarrow SS$
    $S\rightarrow (S)$

O de manera abreviada:

    $S\to SS~|~(S)~|~\varepsilon$

Donde $\varepsilon$ es la cadena vacía y $S$ es un símbolo no terminal.

### Generalización

Para cada número natural $n\in \mathbb {N}$ se define el lenguaje de Dyck $D_{n}$ como aquel que tiene $n$ parejas distintas de paréntesis correctamente anidados.

De este modo, si el lenguaje de Dyck $D_{2}$ tiene las dos parejas $(~)$ y $[~]$, entonces la gramática del lenguaje de Dyck $D_{2}$ es:

    $S\to \varepsilon$
    $S\to SS$
    $S\to (S)$
    $S\to [S]$

O de manera abreviada:

    $S\to SS~|~(S)~|~[S]~|~\varepsilon$

Generalizando para todo $n\in \mathbb {N}$, para cada $D_{n}$ existen las correspondientes $n$ producciones del tipo $S\to \{S\}$.

### Propiedades

* El número de posibles expresiones (palabras) de longitud $2j$ en el lenguaje de Dyck $D_{1}$ viene dado por $C_{j}$, donde $C_{j}$ es el número de Catalan. Los llamados 'caminos de Dyck' son una representación gráfica de esta propiedad.
