En este mensaje presentaremos sin ánimo de ser rigurosos los conceptos básicos que vamos a manejar. Presentaremos "mezclados" los conceptos sintácticos (relativos a los signos) y los semánticos (relativos a los significados de los signos) porque resulta más natural. Luego, en el mensaje siguiente los separaremos cuidadosamente y precisaremos todo lo que aquí haya podido quedar "en el aire".
El universo de una interpretación Como hemos dicho en el mensaje anterior, cada lenguaje formal se diseña para describir una realidad. También hemos señalado que al final no será obligatorio explicar cuál es esa realidad de la que queremos hablar, sino que los lenguajes formales terminarán siendo "autónomos" y podremos razonar con ellos sin necesidad de especificar qué son los objetos de los que presuntamente estamos hablando. Ahora bien, si, pese a no estar obligados a ello, queremos especificar cuál es la "realidad" de la que estamos hablando con un lenguaje dado, lo primero que tendremos que especificar es la colección de objetos que integran dicha realidad. Dicha colección de objetos será lo que llamaremos el
universo de la interpretación.
Por ejemplo, vamos a construir un lenguaje formal y le vamos a asignar a la vez una interpretación, y establecemos aquí que el universo de dicha interpretación será la colección \( U \) de todos los seres humanos que han vivido o viven en la Tierra desde el año 1 hasta el año 2012.
Colecciones
Usamos aquí la palabra "colección" en el mismo sentido en que normalmente se emplea la palabra "conjunto", pero preferimos evitar el término "conjunto" para no confundirlo con el término técnico de la teoría de conjuntos. Observemos que "la colección de todos los seres humanos que han vivido o viven en la Tierra desde el año 1 hasta el año 2012" es una colección de objetos bien definida, en el sentido de que no hay ninguna duda de qué objetos pertenecen a ella. Si alguien encuentra cualquier ambigüedad, puede concretarla a su gusto sin que altere nada de lo que vamos a decir. Por ejemplo, podemos concretar que si alguien ha nacido en 2012 y ha muerto en 2013 está contenido en \( U \) por definición, al igual que alguien que haya nacido antes del año 1 pero haya muerto en dicho año o después.
En general, hemos determinado una colección siempre que hayamos dado un criterio claro e inequívoco de qué objetos pertenecen a la colección y cuáles no. Napoleón está en \( U \), el caballo de Napoleón no está en \( U \), el faraón Keops no está en \( U \), etc. En general, está perfectamente definido qué es estar en \( U \) (sin perjuicio de que pueda haber un individuo del que no sepamos si está o no en \( U \) porque no sabemos si murió antes o después del año 1, pero eso sólo significa que no sabemos si tal persona está o no en \( U \), no que no esté bien definida su pertenencia (o no) a \( U \).
Constantes Definir un lenguaje formal supone especificar unos signos. No vamos a poner restricciones sobre la forma que puedan adoptar los signos de un lenguaje formal. Cada signo podrá ser una letra (latina, griega, hebrea, etc.), una combinación de letras o cualquier "garabatito" con el único requisito de que podamos diferenciar clara e inequívocamente un signo de otro.
Pero, al establecer que un signo forma parte de un determinado lenguaje formal, estamos obligados a especificar su "función sintáctica" (el equivalente en castellano a ser un sustantivo, un adjetivo, un verbo, un pronombre, una conjunción, etc). Por ejemplo, en el mensaje precedente ya hemos hablado de las constantes. Son los nombres propios de los lenguajes formales. Una constante es un signo al que, en caso de que decidamos especificarle un significado, éste será un objeto concreto (perteneciente a un universo prefijado).
Por ejemplo, podemos empezar a construir un lenguaje formal estableciendo que va a tener tres constantes, \( N \), \( J \) y \( n \). Y además podemos atribuirles un significado. Por ejemplo, considerando el universo \( U \) especificado anteriormente, podemos establecer que \( \overline N \) (el significado de la constante \( N \)) sea el emperador Napoleón I, mientras que \( \overline J \) (el significado de \( J \)) sea la emperatriz Josefina Beauharnais y que \( \overline n \) sea Napoleón II, el hijo de ambos.
Aquí es crucial recordar que \( N \) es un signo de un lenguaje formal y \( \overline N \) es un emperador de Francia.
Relatores Fijado un universo, entre sus objetos podemos seleccionar las relaciones que nos interesen. En general, una relación \( n \)-ádica \( R \) en un universo \( U \) es cualquier criterio que, a cada \( n \) objetos \( x_1,\ldots, x_n \) de \( U \), repetidos o no y en un cierto orden, les asigna un "verdadero" o "falso". Cuando la relación \( R \) es verdadera sobre \( x_1,\ldots, x_n \) escribimos (a modo de taquigrafía) \( R(x_1,\ldots, x_n) \).
Por ejemplo, en nuestro universo \( U \) tenemos la relación monádica "ser un hombre", que es verdadera sobre los objetos de \( U \) que son hombres y es falsa sobre los que son mujeres (donde podemos definir "hombre" como "tener al menos un cromosoma Y").
Un ejemplo de relación diádica en \( U \) sería por ejemplo "estar casados".
Los
relatores son los signos de un lenguaje formal que, en caso de ser interpretados, su significado es una relación. Un relator monádico es un relator que debe ser interpretado por una relación monádica, un relator diádico es un relator que debe ser interpretado por una relación diádica, etc.
Por ejemplo, en nuestro lenguaje formal podemos incluir dos relatores monádicos \( H \) y \( M \) y asignarles como significado las relaciones \( \overline H \) y \( \overline M \) en \( U \) dadas por "ser un hombre" y "ser una mujer", respectivamente.
En estos términos las cadenas de signos \( HN, MJ, Hn \) serían verdaderas, pues significan que Napoleón I es un hombre, que Josefina es una mujer y que Napoleón II es un hombre. En cambio \( HJ \) sería una afirmación falsa.
También podemos introducir un relator diádico \( C \) y asignarle como significado la relación diádica \( \overline C \) tal que \( \overline C(x,y) \) se cumple cuando \( x \) e \( y \) están casados (para cualesquiera objetos \( x \), \( y \) del universo \( U \).
En estos términos, \( CNJ \) es una afirmación verdadera en nuestro lenguaje formal, de acuerdo con la interpretación fijada. En cambio, \( CNn \) es falsa.
Podemos considerar también un relator triádico \( \rm Pd \) y asignarle como significado la relación \( \overline{\rm Pd} \) en \( U \) tal que \( \overline {\rm Pd}(x,y,z) \) se cumple si \( x \) e \( y \) son los padres de \( z \).
Así, \( {\rm Pd}NJn \) es una afirmación verdadera, y \( {\rm Pd}NnJ \) es falsa.
Cuando definimos un lenguaje formal, debemos especificar sus signos, así como a qué categoría pertenece cada signo (si es una constante, o un relator, o pertenece a cualquiera de las otras categorías que aún tenemos que introducir) y, en caso de que sea un relator, debemos especificar su
rango, es decir, si se trata de un relator monádico, o diádico, o triádico, etc. No estamos obligados a asignarle un significado a un relator, pero si lo hacemos, la relación asignada a un relator monádico debe ser monádica (es decir, debe requerir un complemento), la asignada a un relator diádico debe ser diádica (debe requerir dos complementos), etc.
Observaciones
En principio, podríamos admitir también relatores \( 0 \)-ádicos, es decir, relatores cuyas relaciones asociadas no necesitaran ningún complemento, sino que fueran directamente verdaderas o falsas. Por ejemplo, un relator \( 0 \)-ádico podría ser un signo \( p \) cuyo significado \( \overline p \) fuera, por ejemplo, "Llueve".
También podríamos considerar relatores sin rango definido, como un relator \( H \) cuyo significado fuera "ser hermanos", de modo que \( Hxy \) significara "x e y son hermanos", mientras que \( Hxyz \) significara "x, y, z, son hermanos", etc.
Sin embargo, no vamos a admitir ni lo uno ni lo otro. La razón es que podemos prohibir ambas posibilidades sin reducir por ello las capacidades expresivas de nuestros lenguajes, y no admitir estos casos simplifica considerablemente la sintaxis.
Por ejemplo, si definimos \( H \) como un relator diádico, para expresar que "x, y, z son hermanos" podemos escribir \( Hxy\land Hyz\land Hxz \), donde hemos usado un signo \( \land \) que todavía no hemos introducido).
Observemos ahora que tendríamos problemas si quisiéramos definir un lenguaje formal que constara de un relator monádico \( H \) (con el significado de "ser un hombre") y de unas constantes \( E \) y \( HE \), (con el significado de Elena y "Héctor"). Entonces, no estaría claro si \( HE \) es la constante que representa a Héctor o si es la afirmación (falsa) "Helena es un hombre".
Una forma de evitar estos problemas sería ser muy estrictos sobre qué signos se admiten como válidos. Por ejemplo, podríamos decretar que si un lenguaje va a tener dos constantes, éstas tengan que ser precisamente \( C_1, C_2 \), y que si va a tener un relator monádico, éste tenga que ser precisamente \( R_1^1 \) (el superíndice indica que es monádico y el subíndice que es el primero). Ahora bien, esto haría muy rígidos y molestos de usar los lenguajes formales. En la práctica es preferible dejar que los signos tomen nombres "sugerentes" y a la vez tener cuidado de no dar pie a dudas sobre dónde empieza y dónde termina cada signo.
Cada lenguaje formal puede tener las constantes que queramos (incluso ninguna) y los relatores que queramos, pero exigiremos que todo lenguaje formal tenga al menos un relator diádico que representaremos por \( = \) (y que llamaremos
igualador) y al que siempre asignaremos el mismo significado, a saber la relación diádica \( \equiv \) de identidad (de modo que \( x\equiv y \) se cumple si y sólo si \( x \) e \( y \) son el mismo objeto).
Funtores En un universo dado \( U \), además de relaciones, podemos considerar
funciones \( n \)-ádicas, es decir, criterios \( f \) que a cada \( n \) objetos de \( U \) repetidos o no y en un cierto orden les asigne un nuevo objeto de \( U \) que representaremos por \( f(x_1,\ldots, x_n) \).
Los signos de un lenguaje formal que, en caso de ser interpretados, deben tener asignado como significado una función \( n \)-ádica se llaman
funtores \( n \)-ádicos.
Por ejemplo, podemos añadir a nuestro lenguaje un funtor monádico \( P \) cuyo significado sea la función monádica \( \overline P \) dada por
\( \overline P(x)=\left\{\begin{array}{cl}\text{el padre de } x & \text{si el padre de } x \text{ está en } U\\ x&\text{en caso contrario.}\end{array}\right. \)
De este modo, \( N=Pn \) es una afirmación verdadera en nuestro lenguaje formal (siempre respecto de la interpretación fijada), pues significa que Napoleón I es el padre de Napoleón II.
Como en el caso de los relatores, exigiremos que cada funtor tenga un rango definido (no admitiremos funtores que admitan una cantidad indeterminada de argumentos). Notemos que los funtores \( 0 \)-ádicos serían simplemente las constantes.
Conectores lógicos Los conectores lógicos son signos de naturaleza diferente a las constantes, los relatores y los funtores, porque van a tener siempre la misma interpretación y no admitiremos que se modifique. Además, el significado de un conector lógico no será un objeto, una relación o una función, sino una
tabla de verdad.Por ejemplo, un conector lógico es el
negador, al que le reservaremos siempre el signo \( \lnot \), y su significado es la tabla:
\( \begin{array}{|c|c|}
p&\lnot p\\
\hline
V&F\\
F&V
\end{array} \)
Esto significa que si \( p \) es una afirmación de nuestro lenguaje formal, entonces \( \lnot p \) es otra afirmación que es falsa cuando \( p \) es verdadera y viceversa. Esto se abrevia diciendo que el significado de \( \lnot \) es el mismo que el de la palabra castellana "no".
Por ejemplo, \( MN \) significa que Napoleón es una mujer, y es una afirmación falsa, mientras que \( \lnot MN \) significa que Napoleón no es una mujer, y es una afirmación verdadera.
Los restantes conectores lógicos requieren dos argumentos. Son \( \land, \lor, \rightarrow, \leftrightarrow \), se llaman
conjuntor, disyuntor, implicador y
coimplicador, y sus significados vienen dados por las tablas de verdad:
\( \begin{array}{|cc|c|c|c|c|}
p&q&p\land q&p\lor q&p\rightarrow q&p\leftrightarrow q\\
\hline
V&V&V&V&V&V\\
V&F&F&V&F&F\\
F&V&F&V&V&F\\
F&F&F&F&V&V
\end{array} \)
Estas tablas se resumen en que \( \land \) significa "y", \( \lor \) significa "o", \( \rightarrow \) significa "si... entonces" y \( \leftrightarrow \) significa "si y sólo si".
Por ejemplo, la afirmación \( HJ\rightarrow MN \) es verdadera, pues su significado es "Si Josefina es un hombre entonces Napoleón es una mujer", y esto es cierto, porque la tabla de verdad del implicador asigna el valor "verdadero" al caso en que ambas afirmaciones son falsas.
Variables y cuantificadores Las
variables son signos similares a las constantes, pero a los que en ningún caso se asignará un significado fijo. Son el equivalente a los pronombres indefinidos en castellano, como "todo", "alguno", etc.
Así, por ejemplo, \( Hx \) significa que "x" es un hombre, y no podemos decir que sea una afirmación verdadera o falsa, pues no está especificado el significado de la variable \( x \). La afirmación \( x={\rm Pd}n \) significa que "x" es el padre de Napoleón II, y ahora podemos decir que será verdadera si la variable \( x \) se interpreta como Napoleón I, y falsa en cualquier otro caso.
Las variables están pensadas para ser usadas en combinación con los
cuantificadores, que son otros dos signos con un significado fijo. Les reservaremos los signos \( \forall \) y \( \exists \). El primero se llama
cuantificador universal o
generalizador y el segundo
cuantificador existencial o
particularizador.Cada cuantificador debe ir seguido de una variable, e indica que para que la afirmación sea verdadera, debe serlo para toda interpretación posible de la variable (en el caso del generalizador) o al menos para alguna interpretación posible de la variable (en el caso del particularizador).
Por ejemplo, la afirmación \( \exists x\ Hx \) significa que existe al menos un hombre, y es una afirmación verdadera, mientras que \( \forall x(Hx\rightarrow \lnot Mx) \) significa que todo \( x \) que sea un hombre no puede ser una mujer, y también es una afirmación verdadera.
Los
signos lógicos de un lenguaje formal serán aquellos cuya presencia es obligada y su significado es fijo, a saber, los conectores lógicos, el igualador y los cuantificadores. Además, también consideraremos a las variables como signos lógicos. Los demás signos de un lenguaje formal serán sus
signos opcionales, es decir, los signos que un lenguaje puede tener o no y que, en caso de existir, requieren que se les asigne una interpretación si queremos interpretar las afirmaciones en las que aparezcan, ya que no tienen ningún significado fijo asignado. Los signos opcionales son, pues, las constantes, los relatores distintos de igualador y los funtores. Las variables las consideraremos como signos lógicos pues, por una parte, son obligatorios (exigiremos que todo lenguaje formal tenga infinitas variables) y, por otra parte, no hay que fijarles ninguna interpretación.
Ejemplo Vamos a definir ahora otro lenguaje formal distinto del que acabamos de construir. Sus signos opcionales serán dos relatores monádicos \( P \) y \( B \) y una constante \( D \). En este lenguaje formal podemos considerar las afirmaciones siguientes:
\( \forall x(Px\rightarrow Bx) \)
\( PD \)
\( BD \)
Se trata de la formalización del silogismo del mensaje anterior. Mejor dicho, la formalización de dicho silogismo sería lo que más adelante expresaremos así:
\( \forall x(Px\rightarrow Bx), PD\vdash BD \)
Según veremos, aquí dice que la tercera afirmación es consecuencia lógica de las dos primeras. La lógica nos permitirá probar que esto es así sin necesidad de considerar ninguna interpretación de los signos opcionales. No obstante, hay muchas interpretaciones posibles. La que es fiel al significado en castellano del silogismo del mensaje anterior tiene por universo la colección \( U \) de todas las palabras griegas, la interpretación del relator \( P \) es la relación monádica \( \overline P \) en \( U \) que cumplen las palabras llamadas properispómenas (que son cierta clase de palabras griegas, como en castellano hay palabras agudas, llanas y esdrújulas), la interpretación del relator \( B \) es la relación monádica \( \overline B \) que cumplen las palabras barítonas (que son otra clase de palabras griegas) y la interpretación de la constante \( D \) es la palabra griega \( \overline D\equiv \delta\tilde\omega\rho\omicron\nu \).
Con esta interpretación, el \( \forall x \) de la primera afirmación se interpreta como "para toda palabra griega" (pues hemos fijado como universo la colección de las palabras griegas), y la afirmación significa "para toda palabra griega x, si x es properispómena, entonces x es barítona" o, lo que es lo mismo, "toda palabra (griega) properispómena es barítona".
Ahora bien, nada nos impide cambiar completamente la interpretación, tomar como universo la colección de las personas vivas en 2012, interpretar \( P \) como "ser español", interpretar \( B \) como "ser europeo" e interpretar \( D \) como "El rey Juan Carlos I". Entonces, exactamente las mismas afirmaciones del mismo lenguaje formal (que no hemos modificado en nada) se interpretan como el silogismo:
Todo español (vivo en 2012) es europeo,
El rey Juan Carlos I es español (vivo en 2012),
luego el rey Juan Carlos I es europeo.
Este silogismo tiene exactamente la misma forma lógica que el considerado en el mensaje anterior. Esto significa que ambos silogismos son interpretaciones particulares de las mismas fórmulas de un mismo lenguaje formal.
Como hemos dicho al principio de este mensaje, nuestro objetivo aquí era únicamente el de presentar los conceptos principales que vamos a manejar. En los mensajes sucesivos precisaremos todos los conceptos que aquí hemos empleado sin más explicaciones, como el de "afirmación", el de "verdadero", etc.