Tiempo y Orden (I)
Gramática Formal
Gramática Formal
Sin entrar en un análisis exhaustivo sobre teoría de gramáticas formales, vamos a centrarnos solo en la idea de cómo definir un orden de sucesos usando una gramática formal, recordemos que orden es facultad de la mente.
Partimos de las siguientes hipótesis:
Todo orden de sucesos crea tiempo, ya sea que ese orden esté dado, sea creado por nosotros o este dado pero nosotros ordenamos de otra forma.Sin orden no hay tiempo; si es posible más de un orden, existe más de un tiempo.
Todo lo pensado, recordado, imaginado y lo que se presenta es suceso.
La frase: “Todo es suceso” es suceso, pero también. la palabra “Todo” es suceso y también la letra “T” es suceso. Si “Todo es suceso” es suceso, existe un orden de sucesos “Todo”, “es” y “suceso”.
Existen sucesos y relaciones entre sucesos que también son sucesos. El orden es una relación.
Las relaciones entre sucesos crean una forma, en este caso, una forma tiempo. A diferencia de una forma dada en el espacio, la forma tiempo nunca llega a estar bien formada si bien aplican todas las relaciones que podemos encontrar en una figura dada en el espacio, esto es: extensión, parte, semejanza, inclusión, proporción, simetría, etc.
Por último, no existen dos dimensiones, una temporal y otra espacial, existe una sola dimensión que es tiempo, el tiempo crea espacio pero también, el tiempo puede ser pensado como espacio.
Comencemos definiendo una gramática formal. Lo que nos proponemos es un mecanismo que determine si un orden de símbolos son sintácticamente correctos de acuerdo a nuestra gramática prescindiendo de todo significado que podamos asignarle a un símbolo.
Definimos “vocabulario” a todos los símbolos de nuestra gramática.
Distinguimos dos clases de símbolos, símbolos terminales que son símbolos que no pueden producir ningún símbolo y meta-símbolos capaces de producir otros símbolos, esto es, símbolos terminales o meta-símbolos.
Definimos “lenguaje” a todos los ordenes posibles de símbolos terminales de nuestro vocabulario sintácticamente correctos de acuerdo a nuestra gramática.
Definimos “regla de producción” a símbolos capaces de producir símbolos, en la parte izquierda de una regla solo puede haber meta-símbolos, en la parte derecha puede haber meta-símbolos o símbolos terminales.
Comencemos definiendo una única regla de producción con un único símbolo terminal que llamamos “s” y un único meta-símbolo que llamamos “suceso”, lo definimos usando la notación BNF:
<suceso> ::= s
El meta-símbolo “::=” se lee: “produce”
El meta-símbolo “suceso” produce el símbolo terminal “s”.
Por el momento el vocabulario de nuestra gramática consta de tres símbolos, un símbolo terminal “s”, un meta-símbolo “
Pero si yo escribo: “ss”, dos símbolos “s”, uno seguido de otro, no hay forma que nuestra gramática pueda producirlos. Para esto necesitamos agregar una nueva regla de producción ahora recursiva, algo como esto:
<sucesos> ::= <sucesos><suceso> | <suceso>
<suceso> ::= s
El meta-símbolo “<sucesos>” puede producir dos meta-símbolos uno seguido de otro: “<sucesos><suceso>” o bien un sólo meta-símbolo: “<suceso>”, el nuevo meta-símbolo “|” dice produce esto o lo otro.
De manera que si se presentan dos símbolos: “ss”, nuestra gramática puede producirlos aplicando las reglas de producción, el símbolo “=>” que no es parte de nuestra gramática lo interpretamos: “se deriva aplicando alguna regla de producción de nuestra gramática”
<sucesos> => <sucesos><suceso>
<sucesos><suceso> => <sucesos>s
<sucesos>s => <suceso>s
<suceso>s => ss
<sucesos><suceso> => <sucesos>s
<sucesos>s => <suceso>s
<suceso>s => ss
Ahora nuestra gramática admite las siguentes frases: “s”, “ss”,“sss”, etc.
Observen que si bien el vocabulario de la gramática consta de símbolos y meta-símbolos (“<sucesos>”, “<suceso>”, “::=”, “|” y “s”), el vocabulario del lenguaje contiene un único símbolo: “s”.
Agreguemos dos símbolos terminales a nuestro vocabulario: “[“ y “]”.
Agreguemos un nuevo meta-símbolo y una nueva regla de producción:
<orden> ::= [<sucesos>]
Si escribimos:
[ss]
Nuestra gramática puede producir esa frase:
<orden> => [<sucesos>]
[<sucesos>] => [<sucesos><suceso>]
[<sucesos><suceso>] => [<sucesos>s]
[<sucesos>s] => [<suceso>s]
[<suceso>s] => [ss]
[<sucesos>] => [<sucesos><suceso>]
[<sucesos><suceso>] => [<sucesos>s]
[<sucesos>s] => [<suceso>s]
[<suceso>s] => [ss]
Por último, extendamos la regla orden para que permita entre un símbolo “[“ y un símbolo “]” contener ese mismo orden de símbolos.
<orden> ::= [<sucesos>] | [<sucesos><orden>]
Veamos la secuencia de derivación que permite esta regla partiendo del meta.símbolo orden para producir la siguiente frase:
[ss[sss]]
<orden> => [<sucesos><orden>]
[<sucesos><orden>] => [<sucesos>[<sucesos>]]
[<sucesos>[<sucesos>]] => [<sucesos><suceso>[<sucesos>]]
[<sucesos><suceso>[<sucesos>]] => [<suceso><suceso>[<sucesos>]]
[<suceso><suceso>[<sucesos>]] => [s<suceso>[<sucesos>]]
[s<suceso>[<sucesos>]] => [ss[<sucesos>]]
[ss[<sucesos>]] => [ss[<sucesos><suceso>]]
[ss[<sucesos><suceso>]] => [ss[<sucesos>s]]
[ss[<sucesos>s]] => [ss[<sucesos><suceso>s]]
[ss[<sucesos><suceso>s]] => [ss[<sucesos>ss]]
[ss[<sucesos>ss]] => [ss[<suceso>ss]]
[ss[<suceso>ss]] => [ss[sss]]
[<sucesos><orden>] => [<sucesos>[<sucesos>]]
[<sucesos>[<sucesos>]] => [<sucesos><suceso>[<sucesos>]]
[<sucesos><suceso>[<sucesos>]] => [<suceso><suceso>[<sucesos>]]
[<suceso><suceso>[<sucesos>]] => [s<suceso>[<sucesos>]]
[s<suceso>[<sucesos>]] => [ss[<sucesos>]]
[ss[<sucesos>]] => [ss[<sucesos><suceso>]]
[ss[<sucesos><suceso>]] => [ss[<sucesos>s]]
[ss[<sucesos>s]] => [ss[<sucesos><suceso>s]]
[ss[<sucesos><suceso>s]] => [ss[<sucesos>ss]]
[ss[<sucesos>ss]] => [ss[<suceso>ss]]
[ss[<suceso>ss]] => [ss[sss]]
Sin embargo, nuestra gramática no es capaz de producir la siguiente frase:
[[ss]s]
Porque la regla de producción: [<sucesos><orden>] obliga a que luego del símbolo terminal “[” aparezca al menos un símbolo terminal “s” y en este caso aparecen dos símbolos terminales “[“, uno seguido de otro. No es difícil modificar las reglas de producción para admitir esa sintaxis.
No voy a extenderme más, sin embargo, quiero hacer notar una cantidad de aspectos que aparecen aquí.
“En primer lugar”, cuando decimos que el meta-símbolo “suceso” produce el símbolo terminal “s”, tendemos a pensar que el símbolo terminal “s” refiere a un suceso, que el símbolo “[” refiere al comienzo de un orden de sucesos y por extensión que podemos expresar más de un suceso, que podemos expresar un orden de sucesos y que un orden de sucesos puede estar contenido en otro; pero eso es una interpretación del lenguaje producido por nuestra gramática, nuestra gramática no dice nada de eso, los símbolos terminales “s”, “[“, “]” en una gramática formal son símbolos que carecen de todo significado.
Lo cierto es que el nombre que le demos a un meta-símbolo es completamente irrelevante, podríamos haber sustituído la palabra “suceso” por la palabra “escalera” o por la frase “escalera al cielo” (sucesos) y la gramática y reglas de producción de la gramática seguirían funcionando, porque la única función del nombre de un meta-símbolo es poder identificarlo para realizar el proceso de substitución sin importar qué significa su nombre.
Sin embargo, cuando decimos que una gramática formal solo establece un orden de símbolos permitidos para esa gramática cuyos símbolos carecen de significado, nos olvidamos que para definir esa gramática deben exister símbolos que sí tienen significado, de lo contrario sería imposible definirla. Por ejemplo, el símbolo “<” significa comienzo de un meta-símbolo, el símbolo “::=” significa que un meta-símbolo produce una serie de meta-símbolos o símbolos.
Cuando leemos el nombre de un meta-símbolo y ese nombre es una palabra, por ejemplo, “escalera” nuestra mente parte de una imagen visual inmediata, ve un símbolo, luego advierte que ese símbolo está compuesto de otros símbolos, los separa siguiendo un orden, luego los vuelve a juntar en el mismo u otro orden y aparece la palabra y con la palabra aparece una imagen visual que hace corresponder la palabra “escalera” con una forma, claro que en su repertorio de imágenes no existe una única forma escalera. Pero también, en este proceso de identificación también aparece una imagen auditiva, el sonido produce no una escalera, la palabra escalera.
Qué pasaría si el nombre de nuestro meta-símbolo fuera escalera pero escrita en lengua para nosotros desconocida:
سُلُّم
Para nosotros lo que vemos no es palabra, es símbolo, ¿es un único símbolo o está compuesto de otros símbolos? No lo sabemos. ¿qué sonido produce? Ninguno. Solo vemos en la imagen una forma. Para nuestra gramática que en realidad no le importa que nombre ni significado tenga un meta-símbolo pero sí poder identificarlo tantas veces aparezca en una regla de producción nuestra mente debe recurrir a la semejanza de una forma con otra. Por ejemplo, la siguiente regla de producción que antes era:
<sucesos> ::= <sucesos><suceso> | <suceso>
Ahora se vería así:
<الأحداث> ::= <الأحداث><حدث> | <حدث>
Observen que ha sido alterado el orden de lectura de la regla pero no la regla. Luego, nuestra gramática debería poder declarar el orden de lectura de una regla para alguien que no conoce la lengua semítica, para quien la conoce, sabe que una regla así escrita debe ser leída de derecha a izquierda:
La regla:
<sucesos> ::= <sucesos><suceso> | <suceso>
Y la regla:
<الأحداث> ::= <الأحداث><حدث> | <حدث>
Es la misma regla y el nombre de los meta-símbolos sin significado, producen lo mismo.
¿Cómo reconocemos un meta-símbolo en nuestra gramática escrita?, la respuesta es: porque lo vemos en su totalidad. Un meta-símbolo comienza con un símbolo “<” y termina con un símbolo “>”, entre esos dos símbolos está encerrado un nombre que puede ser una palabra pero no está obligada a ser una palabra. Podría ser algo como esto:
<3ab41c1f-52aa-4b43-9d5c-97515ffdb74b>
Si antes resultaba sencillo reconocer una regla porque los meta-símbolos eran palabras con un significado, ahora ya no son palabras, son nombres que no producen ninguna imagen visual ni sonora. Para reconocerlos, solo nos queda la forma y orden de símbolos que forman parte del nombre.
<3ab41c1f-52aa-4b43-9d5c-97515ffdb74b> ::= <3ab41c1f-52aa-4b43-9d5c-97515ffdb74b><68e59002-ccd0-495e-ad76-c82ed70361ed> | <68e59002-ccd0-495e-ad76-c82ed70361ed>
Esta regla es equivalente a la regla:
<sucesos> ::= <sucesos><suceso> | <suceso>
Solo que mucho más difícil de reconocer si tuviéramos que ser nosotros los que seguimos el proceso de derivación aplicando las reglas de la gramática. Si el nombre, que ahora es un código fuera mucho más extenso (sin ser infinito) pero al punto de no poder llegar al símbolo final “>”, el meta-símbolo nunca llegaría a producirse.
Notemos también que las reglas de producción de la gramática inicialmente están ordenadas al momento de ser escritas, pero una vez escritas, no están obligadas a un orden. Por ejemplo las reglas:
<sucesos> ::= <sucesos><suceso> | <suceso>
<suceso> ::= s
<suceso> ::= s
Al momento de ser escritas, están ordenadas, pero el proceso de derivación no requiere de un orden, solo requiere buscar el nombre del meta-símbolo que aparece a izquierda y reemplazarlo por lo que está a la derecha. Ahora que, para esa búsqueda, también es necesario un orden.
Qué pasaría si quisieramos que las reglas de producción de nuestra gramática fueran capaces de producir nuevas reglas de producción, expandir la gramática desde la propia gramática. En lenguaje natural sería semejante a primero crear una palabra y luego usar esa palabra, pero crear una palabra no significa darle un significado, solo indicar que función cumple dentro de una estructura sintáctica. En ese caso, un meta-símbolo como “:==” podría ser a la vez meta-símbolo y símbolo terminal. Para evitar la ambiguedad, o bien debemos analizar el contexto donde el meta-símbolo aparece o bien utilizar meta-meta-símbolos.
Dijimos que una gramática formal solo define sintaxis, prescindiendo de todo significado, cuando interpretamos que la siguiente frase:
[ss[sss]s]
Expresa dos ordenes de sucesos uno contenido en otro, en realidad nuestra gramática no dice nada de eso, estamos interpretando. Pero observemos que si lo interpretáramos de esa forma y quisieramos representar un orden que todavía no está formado, por ejemplo:
[ss[sss
Nuestra gramática no puede producir esa frase, de la misma forma la frase:
[ss[sss]s]
Que sí es aceptada por nuestra gramática, no tenemos forma de indicar que queremos representar dos ordenes donde uno no está contenido en otro sino parcialmente contenido.
Aquí interpretamos el símbolo terminal “[“ como comienzo de sucesos y el símbolo terminal “]” como final de sucesos. Pero el primer final de sucesos “]” corresponde al primer comienzo, no al segundo..
Pero tampoco a nuestra interpretación de símbolos de acuerdo a nuestra gramática le es posible interpretar un orden con comienzo o final desconocido o indefinido.