Cómo escribir una gramática libre de contexto para esto

No puedes Ese lenguaje no está libre de contexto.

Este hecho se puede mostrar utilizando el lema de bombeo para lenguajes libres de contexto. De acuerdo con este lema, si un idioma no tiene contexto, entonces cualquier cadena en este idioma de longitud suficiente [math] l [/ math] puede dividirse en cinco partes, [math] uvwxy [/ math], de tal manera que se cumplen estas condiciones:

  • [math] vx [/ math] no está vacío,
  • la longitud de [math] vwx [/ math] no es mayor que [math] l [/ math],
  • y cada cadena [math] uv ^ {n} wx ^ {n} y [/ math] está en el idioma, para todos [math] n \ geq 0 [/ math].

Consideremos la cadena [matemáticas] a ^ {l} b ^ {l} c ^ l [/ matemáticas]. Observe que no hay forma de obtener todas estas propiedades verdaderas: si [math] vwx [/ math] incluye un [math] a [/ math], entonces no puede incluir un [math] c [/ math]; si incluye una [matemática] c [/ matemática], entonces no puede incluir una [matemática] a [/ matemática]. De cualquier manera, habrá algunas [matemáticas] n [/ matemáticas] para las cuales la propiedad [matemáticas] i + 2j = 3k [/ matemáticas] falla.

Creo que no.
U puede usar lo siguiente:

J = 2 * I y K = 3 * I

Cuando I = 1, 1 + 2 = 3, que es 3 * I
Cuando I = 2, 2 + 4 = 6, que es 3 * I
Cuando I = 4, 4 + 8 = 12, que es 3 * I
…y así.

CFG significa 1 pila + autómatas finitos, y usar esto no es posible formular eso.
Necesitamos al menos 2 stack que dicen que no es CFG. Puede ser un CSG.

Espero que responda su consulta.