L´ ogica matem´ atica II
L´ ogica de predicados
Jonatan Gom´ ez Perdomo, Ph.D.
jgomezpe@unal.edu.co
Arles Rodr´ıguez, Ph.D.(c)
aerodriguezp@unal.edu.co
Camilo Cubides, Ph.D.(c)
eccubidesg@unal.edu.co
Grupo de investigaci´on en vida artificial – Research Group on Artificial Life – (Alife) Departamento de Ingenier´ıa de Sistemas e Industrial
L´ogica de predicados
Agenda
1
L´ ogica de predicados Predicados
Cuantificadores
Sem´ antica de los cuantificadores Leyes de Morgan para cuantificadores Particularizaci´ on universal
L´ ogica de predicados en programaci´ on
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 2 / 24
L´ogica de predicados Predicados
Agenda
1
L´ ogica de predicados Predicados
Cuantificadores
Sem´ antica de los cuantificadores Leyes de Morgan para cuantificadores Particularizaci´ on universal
L´ ogica de predicados en programaci´ on
L´ogica de predicados Predicados
Predicados I
En la l´ ogica proposicional no definen objetos variables, siempre se hace referencia a un objeto espec´ıfico. As´ı como se puede hablar de una proposici´ on como la siguiente “p: el ni˜ no juega con la pelota roja y blanca”, tambi´ en se podr´ıa hablar de una proposici´ on como “q: la foca juega con la pelota azul y verde”, en este caso las proposiciones son similares, pues lo que cambia es el sujeto y/o el complemento.
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 4 / 24
L´ogica de predicados Predicados
Predicados II
A partir de los casos anteriores se puede pensar en definir enunciados sin un sujeto o un complemento espec´ıfico. Por ejemplo el sujeto puede cambiar (la foca, el ni˜ no) y tambi´ en el complemento puede cambiar (la pelota roja y blanca, la pelota azul y verde) de acuerdo a una realidad.
Esto da como resultado frases del estilo “x juega con y ”.
L´ogica de predicados Predicados
Predicados III
x e y son objetos que est´ an relacionados mediante un predicado y dependiendo de los objetos, se obtiene una proposici´ on que es V o es F . En t´ erminos de los sujetos y los complementos se define un predicado como una frase que dice algo acerca del sujeto que lo relaciona con el complemento. En el ejemplo anterior el predicado es “juega con” y se escribir´ıa simb´ olicamente mediante le expresi´ on juegaCon(x , y ), que se interpreta conceptualmente como “x juega con y ”.
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 6 / 24
L´ogica de predicados Predicados
Predicados IV
Un predicado da una forma m´ as amplia de hablar. Se podr´ıa tener una
colecci´ on {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, y sobre esta colecci´ on se puede definir
un predicado. Por ejemplo, se podr´ıa hablar del predicado esPar (x ). Si se
toma el predicado y se asigna al sujeto x el valor 3 entonces esPar (3)
tendr´ a un valor de verdad F , si se toma el predicado y se asigna al sujeto
x el valor 6 entonces esPar (6) tendr´ a un valor de verdad V .
L´ogica de predicados Predicados
Predicados V
Universo del discurso e instancias
A una colecci´ on de objetos a los cuales se les desea aplicar el predicado se le llama el universo de discurso. Cuando en un predicado se reemplaza una variable x por un valor concreto del universo del discurso, se dice que se est´ a “instanciando” la variable x , la f´ ormula resultante se dice que es una
“instancia” del predicado inicial.
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 8 / 24
L´ogica de predicados Predicados
Predicados VI
Universo del discurso e instancias
Cuando no ha instanciado un predicado, a ´ este no se le puede asignar un
valor de verdad. Por ejemplo, el predicado esPrimo(x ) no se puede
valorar, por el contrario, cuando se instancian todas la variables de un
predicado, lo que se obtiene es una proposici´ on, y por lo tanto se cumple
la condici´ on de que en ese caso la instancia tendr´ a un valor o V o F , y no
puede tener los dos a la vez.
L´ogica de predicados Cuantificadores
Agenda
1
L´ ogica de predicados Predicados
Cuantificadores
Sem´ antica de los cuantificadores Leyes de Morgan para cuantificadores Particularizaci´ on universal
L´ ogica de predicados en programaci´ on
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 10 / 24
L´ogica de predicados Cuantificadores
Cuantificadores I
Pueden haber predicados como esDigito(x ) que para todos los objetos del universo del discurso {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} son V . Para este mismo universo, el predicado esMayora10(x ) es F para todos los elementos de dicha colecci´ on, y el predicado esModuloAditivo(x ) es V s´ olo para x = 0 y para el resto de los casos ser´ a F .
Cuando se desea expresar que un predicado P(x ) describe una propiedad
sobre todos los elementos del universo del discurso o para s´ olo algunos, se
dice que se est´ a cuantificando la variable x .
L´ogica de predicados Cuantificadores
Cuantificadores II
Cuando se desea expresar que un predicado describe una propiedad para todos los elementos del universo del discurso, se dice que se est´ a
cuantificando universalmente. Cuando el predicado describe una propiedad para algunos de los elementos del universo del discurso, se dice que se est´ a cuantificando existencialmente.
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 12 / 24
L´ogica de predicados Cuantificadores
Cuantificadores III
Para expresar estas nuevas propiedades se necesitan nuevos s´ımbolos, y estos son los s´ımbolos ∀ y ∃ que permiten ampliar el l´ exico y se utilizan de la siguiente manera:
Para notar que una variable x est´ a cuantificada universalmente en un predicado P(x ) se utiliza la expresi´ on
∀ xP(x ) que se lee “para todo x P(x )”.
Para notar que una variable x est´ a cuantificada existencialmente en
un predicado P(x ) se utiliza la expresi´ on
L´ogica de predicados Sem´antica de los cuantificadores
Agenda
1
L´ ogica de predicados Predicados
Cuantificadores
Sem´ antica de los cuantificadores Leyes de Morgan para cuantificadores Particularizaci´ on universal
L´ ogica de predicados en programaci´ on
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 14 / 24
L´ogica de predicados Sem´antica de los cuantificadores
Sem´ antica I
Cuando en una expresi´ on una variable est´ a cuantificada universalmente, se tiene que
ξ(∀xP(x )) ⇔ ξ(P(x
1) ∧ P(x
2) ∧ ⋯ ∧ P(x
n)) para todo valor x
idel universo del discurso.
Cuando en una expresi´ on una variable est´ a cuantificada existencialmente, se tiene que
ξ(∃xP(x )) ⇔ ξ(P(x
1) ∨ P(x
2) ∨ ⋯ ∨ P(x
n))
para todo valor x
idel universo del discurso.
L´ogica de predicados Sem´antica de los cuantificadores
Sem´ antica II
Ejemplo
Si se tienen los n´ umeros d´ıgitos como universo de discurso y se establece como predicado
P(x ) ∶= x es m´ ultiplo de 4,
se tiene que ξ(∃xP(x )) = V y ξ(∀xP(x )) = F ; esto porque el predicado ser´ a cierto cuando se instancia la variable con los valores 0, 4 y 8 (P(0), P(4), P(8)), aqu´ı se ha tomado la definici´ on de m´ ultiplo como
Definici´ on
Se dice que un n´ umero m es m´ ultiplo de d (d ≠ 0) si existe un entero k, tal que se satisface la igualdad m = dk, esto se expresa como que “m es un m´ ultiplo de d ”. A el n´ umero d se le conoce como divisor o factor de m, lo que se denota como d ∣ m y se lee “d divide a m”. Si d no divide a m esto se denotar´ a como d ∣ Ò m.
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 16 / 24
L´ogica de predicados Leyes de Morgan para cuantificadores
Agenda
1
L´ ogica de predicados Predicados
Cuantificadores
Sem´ antica de los cuantificadores Leyes de Morgan para cuantificadores Particularizaci´ on universal
L´ ogica de predicados en programaci´ on
L´ogica de predicados Leyes de Morgan para cuantificadores
Leyes de Morgan
Con respecto a los cuantificadores, se tienen la siguientes equivalencias que expresan leyes an´ alogas a las leyes de Morgan para la l´ ogica de proposiciones:
¬∃xP(x ) ⇔ ∀x ¬P(x ): no existe un x que cumpla el predicado P quiere decir que para todo x no se cumple el predicado P.
¬∀ xP(x ) ⇔ ∃x ¬P(x ): no todo x cumple el predicado P es decir que existe un x que no cumple el predicado.
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 18 / 24
L´ogica de predicados Particularizaci´on universal
Agenda
1
L´ ogica de predicados Predicados
Cuantificadores
Sem´ antica de los cuantificadores Leyes de Morgan para cuantificadores Particularizaci´ on universal
L´ ogica de predicados en programaci´ on
L´ogica de predicados Particularizaci´on universal
Particularizaci´ on universal I
Si se piensa por un segundo en el argumento atribuido a Arist´ oteles,
“Todo hombre es Mortal, Arist´ oteles es un hombre entonces Arist´ oteles es Mortal”
Uno de los universos de discurso podr´ıa ser
U = todas las cosas pensadas por Arist´ oteles.
En este caso se pueden identificar dos predicados: Mortal (x ) y Humano(x ).
∀ x (Humano(x ) → Mortal (x )) Humano(Aristoteles)
∴Mortal (Aristoteles)
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 20 / 24
L´ogica de predicados Particularizaci´on universal
Particularizaci´ on universal II
en este razonamiento se observa que Arist´ oteles realiza una
particularizaci´ on universal, esto consiste en reemplazar una variable que est´ a cuantificada universalmente por un objeto del universo. ´ Este es un argumento valido, ya que si se asume la veracidad del predicado
∀x (Humano(x ) → Mortal (x )) y tambi´ en la veracidad de la proposici´ on Humano(Aristoteles), entonces la conclusi´ on Mortal (Aristoteles) debe ser verdadera, ya que si no fuese as´ı, entonces, la proposici´ on
( Humano(Aristoteles) → Mortal (Aristoteles)) seria falsa, y eso har´ıa que
el predicado ∀x (Humano(x ) → Mortal (x )) fuese falso, lo que contradice
la suposici´ on de su veracidad.
L´ogica de predicados L´ogica de predicados en programaci´on
Agenda
1
L´ ogica de predicados Predicados
Cuantificadores
Sem´ antica de los cuantificadores Leyes de Morgan para cuantificadores Particularizaci´ on universal
L´ ogica de predicados en programaci´ on
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 22 / 24
L´ogica de predicados L´ogica de predicados en programaci´on
L´ ogica de predicados en programaci´ on I
Cuando un profesor revisa un programa, ´ este eval´ ua que para toda entrada
dada, se tenga una salida esperada. Si el profesor encuentra un caso para
el que el programa no muestra una salida esperada (particularizaci´ on
universal), se concluye que el programa no funciona pues se espera que
haga lo que debe hacer para todos los posibles casos contemplados.
L´ogica de predicados L´ogica de predicados en programaci´on
L´ ogica de predicados en programaci´ on II
La l´ ogica de predicados ayuda a establecer precondiciones en la elaboraci´ on de los programas. Validaciones de este tipo incluyen verificaciones en los tipos de datos, por ejemplo:
El c´ alculo de per´ımetros y ´ areas debe funcionar solamente con n´ umeros positivos.
El valor de una temperatura requiere que la medici´ on se realice con magnitudes continuas.
El tiempo promedio de vida de un animal unicelular es una cantidad continua que representa tiempos positivos.
G´omez, Rodr´ıguez & Cubides (UN) Programaci´on de computadores, Cap. 2.2 2do semestre de 2013 24 / 24