Traducir frases del lenguaje natural a expresiones lógicas es una tarea crucial en matemáticas, programación lógica, inteligencia artificial y muchas otras disciplinas. Comenzamos estudiando esta cuestión en la sección 1.11, donde utilizamos expresiones con variables proposicionales y conectivos lógicos. Allí evitamos afirmaciones cuya traducción requiriese de funciones proposicionales y cuantificadores. Formalizar frases del lenguaje natural en expresiones lógicas se hace más complejo cuando se necesitan cuantificadores. Además, puede haber diferentes formas de traducir una frase particular. (En consecuencia, no hay un “libro de recetas” que se pueda seguir paso a paso). Utilizaremos algunos ejemplos para ilustrar cómo se formalizan frases del lenguaje natural en cálculo de predicados. El objetivo es producir expresiones lógicas simples y útiles. En esta sección nos limitamos a frases que pueden traducirse a expresiones lógicas usando un solo cuantificador. En la sección 3.10 veremos frases más complicadas que requieren dos o más cuantificadores.
Ejemplo 16. Expresar la frase “Todo estudiante de esta clase ha estudiado cálculo” utilizando funciones proposicionales y cuantificadores.
73 Solución. Primero, reescribimos la proposición, de tal forma que podamos identificar con claridad los cuantificadores que debemos emplear. Haciéndolo, obtenemos: “Para todo estudiante de esta clase, ese estudiante ha estudiado cálculo”. Luego introducimos la variable x, de tal forma que nuestra proposición se convierte en “Para todo estudiante x de esta clase, x ha estudiado cálculo”. Continuando, introducimos la función proposicional
xC , que significa “x ha estudiado cálculo”. Por consiguiente, si el dominio de x consiste de los estudiantes de la clase, podemos traducir nuestra frase como xC(x).
No obstante, hay otras opciones correctas; se pueden considerar diferentes dominios o diferentes funciones proposicionales. La opción que seleccionemos dependerá del razonamiento que queramos realizar a continuación. Por ejemplo, podemos estar interesados en un grupo de personas más amplio que el de esa clase en particular. Si cambiamos el dominio, tomando el conjunto de todas las personas, habría que expresar nuestro enunciado como “Para toda persona x, si la persona x es un estudiante de esta clase, entonces x ha estudiado cálculo”. Si S(x) significa “x está en la clase”, nuestra proposición se puede expresar como x(S(x)C(x)). [¡Cuidado! ¡Nuestra proposición no puede expresarse como x(S(x)C(x)), puesto que esta proposición afirmaría que todas las personas son estudiantes de la clase y han estudiado cálculo!].
Finalmente, cuando estamos interesados en los estudios de una persona, aparte del cálculo, podríamos preferir usar una función proposicional de dos variables Q(x,y) para la frase “el estudiante x ha estudiado la asignatura y”. Así, podríamos reemplazar C(x) por
cálculo) ,
(x
Q en las dos opciones que hemos elegido para obtener xQ(x,cálculo) o cálculo)) , ( ) ( (S x Q x x .
En el ejemplo anterior mostramos diferentes formas de expresar la misma proposición utilizando funciones proposicionales cuantificadores y conectivos lógicos. Sin embargo, siempre adoptaremos la opción más sencilla que sea adecuada para nuestro razonamiento posterior.
Ejemplo 17. Formalizar las frases “Algún estudiante de esta clase ha visitado México” y “Todo estudiante de esta clase ha visitado bien México o bien Argentina”.
Solución. La frase “Algún estudiante de esta clase ha visitado México” significa que “Hay un estudiante en esta clase que tiene como atributo que ese estudiante ha visitado México”. Podemos introducir una variable x, de tal forma que nuestra frase se convierte en “Hay un estudiante x en esta clase que tiene como atributo que ha visitado México”. Ahora, introducimos la función proposicional M(x), que es el enunciado “x ha visitado México”. Si el dominio para x consiste de los estudiantes de esta clase, se puede traducir esta primera frase como xM(x).
Sin embargo, si estamos interesados en otras personas además de la clase, tomamos la frase de forma ligeramente diferente. Nuestra frase se puede expresar como “Hay una persona x que tiene como atributos que x es un estudiante de esta clase y que x ha visitado México”.
74
En este caso, el dominio para la variable x es todas las personas. Introducimos la función proposicional S(x), “x es un estudiante de esta clase”. Nuestra solución se convierte en
)) ( ) ( (S x M x x
, ya que la frase hace referencia a una persona x que es estudiante de la clase y que ha visitado México. [¡Cuidado! ¡Nuestra proposición no puede expresarse comox(S(x)M(x)), la cual es correcta cuando todos en la clase han visitado México!]. De forma similar, la segunda frase se puede expresar como “Para todo x en la clase, x tiene como atributo que x ha visitado México o x ha visitado Argentina”. (Hay que tener en cuenta que estamos asumiendo el o inclusivo, no el exclusivo). Sea C(x) la expresión “x ha visitado Argentina”. Siguiendo el razonamiento anterior, vemos que si el dominio de
x consiste de los estudiantes de la clase, esta segunda proposición se puede expresar como )) ( ) ( (C x M x x
. Sin embargo, si el dominio de x consiste de todas las personas, la frase se puede expresar como “Para toda persona x, si x es un estudiante de esta clase, entonces x ha visitado México o x ha visitado Argentina”. En este caso, la proposición se puede expresar como x(S(x)(C(x)M(x))).
En lugar de utilizar las funciones proposicionales M(x) y C(x) para representar que “x ha visitado México” y que “x ha visitado a Argentina”, respectivamente, podríamos haber utilizado una función proposicional de dos variables V(x,y) para representar “x ha visitado el país y”. En este caso, V(x,México) y V(x,Argentina) tendrían el mismo significado que M(x) y C(x), respectivamente, y podrían reemplazarlas en nuestras respuestas. Si estamos trabajando con muchas frases relacionadas con gente que visita diferentes países, podríamos preferir la opción de una función proposicional de dos variables. En otros casos, por simplicidad, nos quedaríamos con las funciones proposicionales de una variable M(x) y C(x).