Lógica de Predicados Ing. Nerio Villalobos Finol 3 Lógica de Predicados 1. Introducción Como ya hemos visto, la lógica proposicional trata de las proposiciones y de sus combinaciones, pero sin considerar la estructura de las proposiciones. Este aspecto lo atiende la Lógica de Predicados o Lógica de Primer Orden, que estudiaremos en este capítulo. La lógica de primer orden se preocupa por la representación de los mundos en términos de objetos y predicados sobre objetos, es decir, propiedades de los objetos o relaciones entre los objetos, así como del uso de conectivos y cuantificadores, mediante los cuales se pueden escribir oraciones sobre todo lo que pasa en el universo, a un mismo tiempo. La lógica de primer orden permite la aprehensión de buena parte de lo que sabemos sobre el mundo. En la lógica proposicional se supone que en el mundo hay hechos que se cumplen o no. Son de dos tipos: verdaderos o falsos. En la lógica de primer orden se va más allá: que el mundo está compuesto por objetos que guardan entre sí ciertas relaciones que se cumplen y otras que no se cumplen. En la lógica de predicados, las proposiciones se componen básicamente de dos miembros: el sujeto y el predicado. En la proposición “Bolívar fue el Libertador de Venezuela”, Bolívar es el sujeto y fue el Libertador de Venezuela es el predicado. La lógica de predicados considera, por otra parte, los sujetos y los complementos como una de las partes de la proposición y, por otro lado, los verbos como otra de las partes. Por lo que la proposición se compone de: Sujetos y complementos llamados argumentos Verbos, llamados predicados. Las demás partes de la proposición se reducen a cualquiera de las dos anteriores. Para la lógica de predicados utilizaremos constantes, variables, funciones, predicados, operadores, cuantificadores y delimitadores. Constantes Las constantes con los identificadores más simples, y se utilizan para representar instancias del dominio que estemos tratando. Pueden se meras abstracciones ú objetos físicos, y los representaremos con cadenas alfanuméricas en letras mayúsculas y con caracteres de subrayados en caso de requerir mayor claridad. Por ejemplo: MARTÍNEZ, NARANJA, VENEZUELA, LÓGICA, A, B, C, etc. Variables Las variables son identificadores que representan un elemento de un conjunto, sin representar uno específico, como en el caso de las constantes. Sus identificadores los representaremos por medio de cadenas en letras minúsculas. Por ejemplo: estudiante, fruta, país, asignatura, x, y, z, etc. Funciones. Asumiendo que un conjunto es una determinada colección de entidades, tenemos que entre conjuntos cabe establecer relaciones. Por ejemplo: la relación que asigna a los jugadores de un equipo un número; la relación por la que a cada estudiante de un determinado curso se le asigna una nota; la relación por la que cada vehículo tiene un propietario; la relación de ser más alto que entre los estudiantes de un curso; etc. Una relación entre dos conjuntos tiene una dirección, va de un conjunto al que llamaremos origen a otro conjunto que llamamos imagen. Para ciertas relaciones el conjunto origen y el conjunto imagen coinciden, son el mismo conjunto. Definición.- Una función es una relación entre dos conjuntos que satisface la condición de que a cada entidad del conjunto origen le corresponde una única entidad del conjunto imagen. Definición.- Las entidades del conjunto origen de una función son denominadas argumentos de la función o también dominio. Las entidades del conjunto imagen que corresponden a los argumentos de una función son denominadas valores de la función o también rango. El conjunto de valores o rango de una función no tiene por qué coincidir con el conjunto imagen, pudiendo ser un subconjunto imagen. Así, por ejemplo, la función madre de tiene como dominio el conjunto de personas y como rango el conjunto de mujeres que son madres, así su conjunto imagen podría tomarse del conjunto de las mujeres. Dicha función es una relación tal que a cada persona le corresponde una única mujer, que es su madre. De la misma manera son funciones las relaciones: capital_de entre naciones y ciudades; decano_de entre facultades de una universidad y profesores de la misma; cumpleaños_de entre personas y fechas; etc. Hemos de tener en cuenta también que algunas funciones pueden requerir argumentos formados por secuencias de entidades. Cuando requieren como argumentos entidades singulares se denominan monarias; cuando requieren como argumentos secuencias de dos entidades o pares reciben el nombre de binarias, cuando requieren secuencias de tres ternarias, etc. Y de manera general cuando requieren secuencias de n entidades se les denomina n-arias ó también n-ádicas. La función fruta(x) es monaria; la función producto(x, y) es binaria, pues toma como argumentos pares de números; profesor(alumno, asignatura, período) es una función terciaria. Los argumentos pueden ser constantes, variables o a su vez otra función. Los identificadores de funciones los representaremos con letras minúsculas, y entre paréntesis los argumentos o parámetros separados por comas, si son más de uno. Ejemplos: madre(x): La madre de x, siendo x una variable. madre(JUAN): La madre de JUAN, siendo JUAN una constante. jugo(NARANJA): Lugo de naranja. bebida(jugo(NARANJA): Bebida de jugo de naranja. Predicados. Los predicados se utilizan para representar relaciones entre los diferentes elementos del dominio que esté bajo estudio. Tendrán el valor de verdadero si cumplen la relación o de falso en caso contrario. Los identificadores que los representarán serán cadenas de caracteres en letras mayúsculas. Por medio de los predicados podemos representar fórmulas atómicas como por ejemplo: HOMBRE(JUAN): Se entenderá que JUAN es un hombre. LIBRO(DONQUIJOTE): Don Quijote es un libro. HOMBRE(x): Significará que x es un hombre, siendo x una variable. MUJER(madre(JUAN)): La madre de JUAN es una mujer. PROPIEDAD(casa(JUAN), JUAN): La casa de JUAN es propiedad de JUAN. MAYOR(JUAN, CARLOS): Juan es mayor que Carlos. COMPRA(x, y, z): x compra y a z. DEPORTE(FUTBOL): El fútbol es un deporte. ESTRELLA(SOL): El Sol es una estrella. SATELITE(LUNA) : La luna es un satélite. VENDE(ACME, ARMAS, FIEL(cliente)) La empresa Acme vende armas a los clientes que le son fieles. ACME y ARMAS están como constantes. FIEL es un predicado y cliente es una variable, la cual puede ser reemplazada por cualquiera de los nombres de los clientes que compran asiduamente en Acme. Al estar el predicado FIEL dentro del predicado VENDE se considera a la expresión como molecular. Operadores y Delimitadores Se utilizarán los siguientes operadores al igual que en la lógica proposicional, es decir, , , , , , y ; igualmente delimitadores como los paréntesis, y separadores como la coma, en expresiones moleculares como las siguientes: CIENTÍFICO(EINSTEIN) ALEMAN(EINSTEIN): Einstein fue un científico alemán. CULTURA(CIENCIA) APOYAR(CIENCIA): Si la ciencia es cultura entonces la ciencia debe apoyarse. AMA(ROMEO, JULIETA) AMA(JULIETA, ROMEO): Romeo y Julieta se aman, o mejor, dado el tiempo pasado en que sucedió, Romeo y Julieta se amaron, observe que en lógica de predicados hacemos abstracción del tiempo. SENTIMIENTO(AMOR) CIENCIA(LÓGICA) DEPORTE(BOXEO) es de conjunto. DEPORTE(BOXEO) SUBLIME(AMOR): El amor es un sentimiento sublime. DISCIPLINA(LÓGICA): La lógica es ciencia o disciplina. DECONJUNTO(BOXEO): El boxeo es un deporte que no BRUTAL(BOXEO): El boxeo es un deporte brutal. Todos los ejemplos dados hasta ahora conforman fórmulas singulares, ninguna está siendo cuantificada, como, si lo vamos a iniciar desde el siguiente párrafo. Cuantificación Universal. Utilizaremos para la cuantificación universal el símbolo en expresiones tales como x F(x) significará que para todo valor de la variable x la fórmula que se coloque a continuación será verdadera. Por ejemplo: xP(x): P es lo que se predica de x. Para todo x, x es P. xEN_MOVIMIENTO(x): Significa que todo está en movimiento, o también que dada cualquier cosa x, esta cosa está en movimiento, o también que dada cualquier x, x está en movimiento. x(ESTÁTICA(x) ENMOVIMIENTO(x)): Para toda x que es estática implica que no está en movimiento. x(MATERIA(x) ENMOVIMIENTO(x)): Para toda x que es material implica que está en movimiento. x(DEPORTE(x) x(PLUSVALÍA(x) SALUDABLE(x)): Todos los deportes son saludables. TRABAJO(x)): Toda plusvalía es trabajo. x(TRABAJO(x) DEBESERPAGADO(x)): Todo trabajo debe ser pagado. x((ELECCIONES(x) LIMPIAS(x)) FRAUDULENTAS(x)): Si las elecciones son limpias entonces no son fraudulentas. x(LIMPIAS(x) x(OSO(x) FRAUDULENTAS(x)): Limpias es lo contrario de fraudulentas. ANIMAL(x)): Los osos son animales. x(ANIMAL(x) OBJETOFISICO(x)): Los animales son objetos físicos. x(ANIMAL(x) CEREBRO(cerebro(x)): Todos los animales tienen un cerebro. x((ESTRELLA(x) PLANETA(x) SATELITE(x)) ASTRO(x)) x y((CONECTADO(x, y) (SEÑAL(x) = SEÑAL(y))): Si dos terminales están conectadas, entonces tienen la misma señal. x y(CONECTADO(x, y) conmutativa. CONECTADO(y, x)): La expresión CONECTADO es x y z((VENDEDOR(x) ARMA(y) CLIENTE(z) DELINCUENTE(z)) VENDE(x, y, z) DELITO(x): Es delito que un vendedor venda armas a un delincuente. x y(MAYOR(x, y)): x es mayor que y. En resumen, la cuantificación universal de un predicado P(x) es la proposición para todos los valores de x, P(x) es verdadera. Se supone que sólo se consideran los valores de x que tengan sentido en P(x). Si se desea restringir los valores de x, se puede escribir, por ejemplo, x > 0 o x R. La oración P(x): -(-x) = x es un predicado que tiene sentido para los números reales x. La cuantificación universal de P(x), xP(x), es una proposición verdadera, porque para todos los números reales -(-x) = x se cumple. Sea Q(x): x + 1 < 4. Entonces para x >= 0, Q(x) es una proposición falsa, porque Q(5) no es verdadera. Cuantificación Existencial. Utilizaremos para la cuantificación existencial el símbolo , en expresiones como x, que significará que para algún valor de la variable x la fórmula que se coloque a continuación será verdadera. Por ejemplo: x(SABROSA(x)): Significa que algo es sabroso. x(COSA(x) ESTATICA(x)): Significa que algunas cosas no son estáticas x(DEPORTE(x) DECONJUNTO(x)): Algunos deportes son de conjunto. x(DEPORTE(x) DECONJUNTO(x)): Algunos deportes no son de conjunto. x(ELECCIONES(x) FRAUDULENTAS(x)): Algunas elecciones son fraudulentas. x(ELECCIONES(x) LIMPIAS(x)): Algunas elecciones no son limpias. En resumen, en las situaciones en que sólo se requiere que haya por lo menos un valor para el cual sea verdadero el predicado utilizamos la cuantificación existencial. Se pueden incluir restricciones al cuantificador, como por ejemplo en x>0. Sea Q(x): x+1<4. La cuantificación existencial de Q(x), xQ(x), es una proposición verdadera, porque, por ejemplo, Q(2) es una proposición verdadera. La proposición y(y+2=y) es falsa. No hay ningún valor de y para el cual la función proposicional y+2=y produzca una proposición verdadera. Símbolo de Igualdad. La igualdad es un símbolo de predicado con un significado previamente definido, por ejemplo, en las siguientes expresiones: padre(AURELIANO_BUENDIA) = JOSE_ARCADIO_BUENDIA madre(AURELIANO_BUENDIA) = ÚRSULA_IGUARÁN x y(HERMANA(AMARANTA, x) HERMANA(AMARANTA, y) (x = y). Esta expresión da a entender que Amaranta tiene al menos dos hermanos. Estrategias de Formalización Para formalizar utilice las siguientes reglas, para tratar de ayudarse. Ahora, no hay ninguna regla definitiva para poder lograr este propósito. Lo que debe hacer es estudiar los ejemplos y principalmente hacer muchos ejercicios de formalización de pasajes lingüísticos: Entender y explicar el universo de discurso, si este no viene dado en el enunciado que se le propone. Establecer las claves o identificadores a manejar para la formalización. Parafrasear el enunciado o enunciados del lenguaje natural, para aproximarlo al lenguaje lógico-formal. Fijarse en el orden de los términos de individuo(constantes y variables) que siguen a un predicado Establecer con claridad qué variables de individuo determina cada cuantificador, ayudándose de paréntesis y sin dejar variables libres. Veamos a continuación algunos ejemplos de casos. x y(PADRE(x, y) HIJO(y, x)): Para todo x y todo y, si x es el padre de y esto implica que y es hijo de x. x y(HERMANO(x, y) HERMANO(y, x)): Para todo x y todo y, si x es hermano de y implica que y es hermano de x. y x(AMAR(x, y)): Siempre hay alguien a quien todos aman. Existe un y, tal que, para todo x, x ama a y. x y(AMAR(x, y)): Todas las personas aman a alguien. Para todo x existe, al menos, un y, tal que x ama a y. x y(ORBITAR(x, y) (PLANETA(y) SATELITE(x)) En la representación del conocimiento, un dominio es un fragmento del mundo acerca del que deseamos expresar un determinado conocimiento. Veamos a continuación un dominio muy sencillo de unos lazos de parentesco en una familia: m h(ESPOSO(h, m) HOMBRE(h) ESPOSA(m, h)) x(HOMBRE(x) MUJER(x)) p h(PADRE(p, h) HIJO(h, p)) x y(HERMANO(x, y) HERMANO(y, x)) a n(ABUELO(a, n) (PADRE(a, p) PADRE(p, n))