calculo de predicados
TRANSCRIPT
LÓGICA
Introducción
Hay varias aplicaciones en las cuales el cálculo
proposicional no se considera suficiente, ya que cuenta
con una deductibilidad limitada y en donde es preferible
otro tipo de lógica, como lo es el cálculo o lógica de
predicados de primer orden.
El cálculo de predicados se aplica para las mismas
proposiciones que se pueden enunciar en el cálculo de
proposiciones, con la diferencia que en el primero se
tiene acceso a los elementos constitutivos de cada
proposición.
LÓGICA
Introducción
Ejemplo:
p: Todos los mamíferos son mortales
q: Lassie es un mamífero
----
r: Lassie es mortal
Elementos constitutivos de p, q y r:
mamífero, mortal, Lassie
LÓGICA
Introducción
)()1( mnmnnnn
Ejemplo:
El razonamiento “para cualquier número natural n se
tiene que n < n +1. Luego para cualquier número natural
n se tiene que hay un número natural m tal que n < m”.
una representación de ese razonamiento en el lenguaje
de proposiciones sería p q, la cual está bastante
lejos de indicarnos por qué es válido.
Usualmente en matemáticas el razonamiento anterior
se representa así:
LÓGICA
Introducción
Una de las aplicaciones más importantes del cálculo de
predicados es la especificación formal. Esto es muy
importante para realizar verificaciones, por lo general de
forma matemática, de lo expresado en la lógica.
NOTA:
La capacidad de verificación formal de código es una
pieza fundamental para el análisis de correctividad de
los algoritmos. Es útil para describir la semántica de los
lenguajes de programación, así como para describir el
comportamiento funcional de un programa o parte de él.
LÓGICA
Predicado
Desde el punto de vista lingüístico, un predicado es la
parte de una proposición que relaciona al sujeto con uno o
más elementos: igual, menor que, padre de, etc.
Según el número de parámetros puede ser monádico
(morir), diádico (leer), triádico (aconsejar), etc. Los
predicados monádicos son equivalentes a proposiciones
simples.
Ejemplos:
Diádico: X = Y
Monádico: 2 es par
Triádico: Ana le dice a Luis algo
LÓGICA
Lenguaje
El alfabeto consta de los siguientes tipos de símbolos:
1. Variables: z, y, ...
2. Funciones: f, g, …
3. Constantes (funciones nulas): a, b, …
4. Predicados o símbolos de relación: P, Q, …
5. Conectivos proposicionales: , , , , .
6. Cuantificadores: (universal), (existencial).
7. Auxiliares: „(„, „)‟, „,‟.
LÓGICA
Lenguaje
Para un alfabeto de símbolos descrito como antes se
define un lenguaje de predicados de primer orden y se
denota Lσ para un vocabulario σ = <F, P, C> específico,
donde F es el conjunto de símbolos de función, P es el
conjunto de símbolos de predicado y C el conjunto de
símbolos de constante.
Ejemplo:
σ = <{f1, f2}, {Q, R, =, P}, {a, b, c}>
LÓGICA
Lenguaje
NOTA:
Para cada símbolo de función y cada símbolo de
predicado se debe indicar el número de parámetros que
soporta o “grado de aridad” correspondiente.
Para el ejemplo anterior, si se dice que f1 es 1-aria,
quiere decir que permite un solo parámetro, luego su
forma de aparición en las expresiones válidas del
lenguaje Lσ determinado por el vocabulario σ es f1(x)
para una variable cualquiera x.
LÓGICA
Términos
Para un alfabeto del lenguaje de predicados de
primer orden descrito como antes, se define un
término al aplicar un número finito de veces las
siguientes reglas:
• Una variable es un término.
• Una constante es un término.
• Si t1, …, tn son términos y f es una función n-
aria, entonces f(t1, …, tn) es un término.
• Nada más es un término.
LÓGICA
Términos
Se llama grado de complejidad de un término t y se
denota por comp(t), al número de símbolos de función
que figuran en t.
NOTA:
Si t es una variable o una constante, entonces
comp(t) = 0
Si t = f(t1, …, tk), entonces
comp(t) = comp(t1) + … + comp(tk) + 1
LÓGICA
Fórmula
Una lista de símbolos del alfabeto de un lenguaje de
primer orden es una fórmula o fórmula bien formada si y
sólo si se obtiene aplicando un número finito de veces
las siguientes reglas:
1. Si P es un símbolo de predicado (relación) n-ario
y t1, …, tn son términos, entonces P(t1, …, tn) es
una fórmula llamada atómica.
2. Si F es una fórmula, F también lo es.
3. Si F y G son fórmulas, (F G), (F G), (F G)
y (F G) también son fórmulas.
4. Si F es una fórmula y x una variable, ( x F) y ( x
F) son fórmulas.
5. Nada más es una fórmula.
LÓGICA
Fórmula
Se llama grado de complejidad de una fórmula F y se
denota como comp(F), al número de conectivos y
cuantificadores que figuran en F.
NOTA:
Si F es una fórmula atómica, comp(F) = 0
comp( F) = comp(F) + 1
comp(F Θ G) = comp(F) + comp(G) + 1;
Θ { , , , }
comp( x F) = comp( x F) = comp(F) + 1
LÓGICA
Fórmula
NOTA:
Al igual como ocurre con las fórmulas en el cálculo
proposicional, hay que tener cuidado con la regla de
precedencia de los conectores y el uso de paréntesis.
Una de las reglas más usadas es la siguiente:
{ , } > > > > >
Ejemplo:
x (P(x) Q(x))
LÓGICA
Fórmula
Ejercicio. Sea un lenguaje de primer orden Lσ cuyo
vocabulario σ = <{f1, f2}, {Q, R, =, P}, {a, b, c}> con f1, Q
y R 1-arios y f2, „=‟ y P 2-arios. Decidir cuáles de las
siguientes expresiones pertenecen al lenguaje y para
ellas, cuáles son términos y cuáles son fórmulas:
1. f1(x)P(f1(x, y))
2. f2(f1(x), f1(y))
3. f1(P(a, b) Q(c))
4. P(Q(a), b)
5. ( x (c P(x, c)))
6. ( x ( y = (P(x, y), P(y, x))))
7. ( x ( y (P(f2(x, y), y) = (x, y))))
8. ((R(a) Q(a)) P(a, b))
LÓGICA
Árbol sintáctico
El árbol de una fórmula F, denotado por A(F), es el gráfico
que se construye de acuerdo con las siguientes
instrucciones:
1. El árbol A(x) de una variable x es x.
2. El árbol A(a) de una constante a es a.
3. Los árboles A(f(x)) para una función f y A(P(x)) para
un predicado P se construyen como sigue:
f P
x x
LÓGICA
Árbol sintáctico
4. A( F) se construye como sigue:
A(F)
5. A(F Θ G) con Θ { , , , } se construye
de la siguiente forma:
Θ
A(F) A(G)
LÓGICA
Árbol sintáctico
6. A(Φx F) con Φ { , } se construye de la
siguiente forma:
Φx
A(F)
NOTA:
Un nodo del árbol sintáctico que se forma con
las fórmulas de predicado de primer orden
puede tener más de dos hijos en funciones y
predicados n-arios con n > 2.
LÓGICA
Árbol sintáctico
Ejemplo: ( x(P(x, c) Q(f(y))))
x
P Q
x c f
y
LÓGICA
Árbol sintáctico
Ejercicio. Construir los árboles sintácticos de las siguientes
fórmulas:
1. P(x) Q(y)
2. (P(c) Q(x, y)) R(y)
3. P(f(x)) Q(f(c))
4. P(g(x, f(y)), f(c))
5. x(P(x) Q(y))
6. x(P(x) y( Q(y)))
7. y xP(g(x, f(y)), f(c))
8. (P(f(x)) Q(f(c))) ( x(P(x) Q(y)))
9. P(f(x)) Q(f(c)) x(P(x) Q(y))
10.P(f(x)) Q(f(c)) xP(x) Q(y)
LÓGICA
Variables libres y variables
ligadasSe dice que una variable x aparece ligada en una
fórmula F, si está afectada por un cuantificador x o x.
En caso contrario, se dice que aparece libre en F.
Ejemplo:
Sean las variables x, y; los símbolos de predicado P y Q
y la fórmula (( x P(x, y)) ( y Q(x, y))), las dos
primeras apariciones de x y las dos últimas apariciones
de y son ligadas; la última aparición de x y la primera de
y son libres.
LÓGICA
Variables libres y variables
ligadasSi F es una fórmula atómica, todas las apariciones de todas
las variables que aparecen en F son libres.
Si F es una fórmula tal que comp(F) > 0 y supongamos que se
han definido las apariciones libres de variables en toda
fórmula G tal que comp(G) < comp(F), entonces se definen las
apariciones libres de variables en F según los siguientes
casos:
1. Si F es G, las apariciones libres de una variable x en
F coincide con las apariciones libres de x en G.
2. Si F es (G H), (G H), (G H) o (G H), las
apariciones libres de una variable x en F son las
apariciones libres de x en G y en H.
LÓGICA
Variables libres y variables
ligadas3. Si F es ( x G) o ( x G), todas las apariciones de x en
F son ligadas. Para el resto de variables y, las
apariciones libres de y en F coinciden con las
apariciones libres de y en G.
Es posible obtener el conjunto de variables libres de una
fórmula F mediante la expresión libres(F):
• Si F es atómica, libres(F) son todas las variables que
ocurren en F
• Si F es G, libres(F) = libres(G)
• Si F es (G Θ H), libres(F) = libres(G) libres(H);
Θ { , , , }
• Si F es ( x G) o ( x G), libres(F) = libres(G) – {x}
LÓGICA
Variables libres y variables
ligadasSe llama rango cuantificacional de una fórmula F y se
denota como Rq(F), al máximo número de
cuantificadores anidados que figuran en F.
En este sentido:
• Si F es una fórmula atómica, Rq(F) = 0
• Rq( F) = Rq(F)
• Rq(F Θ G) = max{Rq(F), Rq(G)}; Θ { , , ,
}
• Rq( x F) = Rq( x F) = Rq(F) + 1
LÓGICA
Variables libres y variables
ligadasEjercicio. Identifique las variables libres y las variables
ligadas en las siguientes fórmulas:
1. R(3, 27)
2. y R(1, y)
3. x R(x, y)
4. y xR(x, 1) R(y, 2)
5. x y((R(x, y) R(y, x)) Q(x, y))
6. x y(R(x, y) R(y, x)) Q(x, y)
7. x yR(x, y) R(y, x) Q(x, y)
8. x1 x2((R(x1, x2) R(x2, x1)) Q(x3, x4))
9. x y z((R(x, y) R(y, z)) R(x, z))
10. x1 x2 x3((R(x, y) R(y, z)) R(x, z))
LÓGICA
Variables libres y variables
ligadasEjercicio. ¿Cuáles de las apariciones de x1 en las
siguientes fórmulas son libres y cuáles son ligadas?
¿Cuáles son las variables libres en cada caso? Para
cada fórmula definir el vocabulario σ necesario para que
sean válidas en el lenguaje Lσ correspondiente:
1. ( x2 (P(x1, x2) P(x2, a1)))
2. (P(x3) ( x1( x2 Q(x1, x2, a1))))
3. (( x1 P(x1)) ( x2 Q(x1, x2, x3)))
4. ( x2 (P(f(x1, x2), x1) ( x1 Q(x3, f(x1, x2)))))
LÓGICA
Variables libres y variables
ligadasEjercicio. Sea Lσ un lenguaje con un símbolo de
predicado P 2-ario, un símbolo de función f 2-ario y un
símbolo de constante c. Decidir para cada una de las
siguientes fórmulas qué variables son libres:
1. ( x3 ( x1 P(x1, x2) P(x3, c)))
2. ( x2 (P(x3, x2) ( x3 P(x3, x2))))
3. (( x1 ( x2 ( x3 (P(x1, x2) P(f(x2, c), x4)))))
( x4 P(x3, x4)))
LÓGICA
Formalizaciones
El proceso inverso al de las interpretaciones, es la
formalización, tratar de representar mediante fórmulas
del lenguaje de predicados oraciones de un idioma
dado.
Las representaciones buscadas deben ser tales que
manifiesten al máximo la estructura de la oración. El
interés de este procedimiento es analizar de manera
formal el discurso del lenguaje natural .
Para realizar estas traducciones debe tener en cuenta
lo siguiente:
LÓGICA
Formalizaciones1.- Dominio: Para hacer una traducción, hay que
comenzar fijando el lenguaje, explicando lo que
representa cada símbolo, luego fijar el dominio, los
valores que pueden tomar las variables .
Ejemplo: “Pedro posee un perro”
Donde se interpreta como “…posee…”
se interpreta como “…es un perro”
= “Pedro”
},,{ 1
1
2
2
1 cRRL
2
1R
1
2R
1c
LÓGICA
Formalizaciones
La traducción de la oración en el lenguaje sería:
El domino es Pedro y el conjunto de los perros
Ahora la siguiente oración “Pedro posee un perro, pero
hay hombres que no poseen perros”. ¿Cuál es el
dominio?,
¿Cuál será el lenguaje?0
)),()(( 11
2
11
1
21 xcRxRx
LÓGICA
Formalizaciones
2. Cuantificador Universal: En general cuando encontramos
las palabras “todo”, “todos”, “cualquier”, “cualquiera”
reconocemos fácilmente un cuantificador universal.
Ejemplo :
a) Todo matemático sabe sumar.
b) Cualquier matemático sabe sumar.
Estas oraciones pueden traducirse como.
)),()(()(()),()(( 21
2
12
1
221
1
3111
2
11
1
21 xxRxRxxRxxcRxRx
))(( 1
1
11 xRx
LÓGICA
Formalizaciones
A veces las palabras “siempre” y “cuando” también denotan
cuantificación universal.
Ejemplo:
Siempre que se es matemático se sabe sumar.
Cuando se es matemático se sabe sumar.
Los Adjetivos ningún, nada, el pronombre nadie y el adverbio
nunca identifican cuantificación universal.
“Ningún carro dura un milenio”
Significa lo mismo que “Todo carro no dura un milenio”,
Oración completamente inusual pero fácil de traducir.
)( 1
1
11 xRx
LÓGICA
Formalizaciones
3.- Cuantificador existencial: se reconoce fácilmente al
cuantificador existencial en verbos como “existe” y “hay”
consideremos la oración
“Existen lógicos que son escritores”
Una traducción de esta oración puede ser:
También se puede reconocer el cuantificador existencial
en adjetivos como “algunos”, y en pronombres como
“algo” y “alguien”.
“Algunos hombres son inmortales”.
“Algo esta podrido en la nevera”
“Alguien viene”
))()(( 1
1
21
1
11 xRxRx
LÓGICA
Formalizaciones
Los adjetivos ningún, nada, el pronombre nadie y el
adverbio nunca, identifican cuantificación existencial
precedida por la negación. Considere las siguientes
oraciones :
“No existen carros que duren un milenio”
“No existen escritores de Basho que sean malos”
“No existen personas que nazcan aprendidas”
“No hay políticos totalmente sinceros”
Nota: Estas oraciones se han podido traducir como:
)( 1
1
11 xRx
)( 1
1
11 xRx
LÓGICA
Formalizaciones
4.- Relaciones entre cuantificadores y conectores: En el
proceso de traducción de oraciones del castellano al
lenguaje formal, puede resultar sorprendente que
oraciones con aparentemente la misma estructura tiene
traducciones completamente diferentes. Considere las
siguientes oraciones:
“Algún matemático es célebre”
“Todo matemático es célebre”
))()(())()(( 1
1
21
1
111
1
21
1
11 xRxRxyxRxRx
LÓGICA
Formalizaciones5.- Varios cuantificadores: Muchas veces necesitamos
más de un cuantificador para traducir del castellano al
lenguaje. Considere la siguiente oración:
“Al lado de un gran hombre hay una gran mujer”
Esta oración puede traducirse como:
En donde tomamos el dominio al conjunto de seres
humanos,
))),()(()(( 21
3
32
1
221
1
11 xxRxRxxRx
1
1R
1
2R
2
3R
“… es un gran hombre”
“… es una gran mujer”
“Al lado de … está …”
LÓGICA
Formalizaciones6.- Pronombres: Hay ocasiones en las que los
pronombres cambian totalmente el sentido de la frase y
por tanto la traducción. Considere las siguientes
oraciones:
“Pedro tiene un colega y se burla de él”
“Pedro tiene un colega quien se burla de él”
La primera se traduce como:
La segunda se traduce como
))),()(( 11
2
21
1
11 xcRxRx
))),()(( 11
2
21
1
11 cxRxRx
LÓGICA
Formalizaciones
7.- Ambigüedades: No siempre es claro como traducir,
ya que el lenguaje natural permite varios sentidos a
ciertas oraciones. Considere las siguientes oraciones:
a) “Nadie ama al que odia”
Esta oración puede significar:
a‟) “No hay una persona que ame y odie a otra”
O bien
a‟‟) “Ninguna persona que odie es amada”
LÓGICA
Formalizaciones
8.- Relaciones escondidas: hay casos en que las relaciones
están sugeridas por un artículo.
Ejemplo:
a) “Todos los niños pequeños rompen algunos de sus
juguetes”
Si se toma como lenguaje a },,{ 2
3
1
2
1
1 RRR
1
1R
1
2R
2
3R
“… es un niño pequeño”
“… es un juguete”
“… rompe …”
))),()(()(( 21
2
32
1
221
1
11 xxRxRxxRx
LÓGICA
Formalizaciones
9.- Posición de cuantificadores y conectores: El sitio que
ocupa los cuantificadores o con respecto a conectores es
importante.
Ejemplo:
a) Todo ser humano tiene un ancestro.
b) Hay un ancestro común a todos los seres humanos
Estas oraciones tiene claramente un sentido diferente, sin
embargo cuando se traduce al lenguaje formal, la
diferencia es apenas un cambio en el orden de los
cuantificadores .
LÓGICA
Formalizaciones
10.- Identidad: Para algunas oraciones es indispensable el
uso de la identidad es su traducción.
Ejemplo:
a) Borges es el mejor de los escritores argentinos en vida.
b) Hay mas de un buen escritor venezolano.
a= )),(( 11
2
1111 xcRcxx
LÓGICA
Formalizaciones: Ejercicio
No es cierto que todos los proyectos informáticos
estén dirigidos por algún ingeniero en informática.
Un proyecto informático tiene garantía de éxito
siempre que esté dirigido por personas altamente
cualificadas. Ser ingeniero en informática es
condición suficiente para ser una persona
altamente cualificada. Por tanto, los proyectos
informáticos dirigidos por algún ingeniero en
informática tienen garantía de éxito
LÓGICA
Interpretación de Enunciados
Ejercicio. Simbolizar los siguientes enunciados. Primero
sin usar cuantificadores existenciales y luego sin usar
cuantificadores universales. Definir el vocabulario y
aclarar sobre qué universo trabaja:
1. Algunas personas son lindas o bajas.
2. No todos los vehículos tienen tres ruedas.
3. Ningún ratón es más pesado que un elefante.
4. Todo número es negativo o posee raíz cuadrada.
LÓGICA
Interpretaciones
Una interpretación natural del vocabulario de predicados
es asignar, a los símbolos que lo constituyen, palabras o
frases de un idioma particular (por ejemplo el castellano),
de tal modo que las fórmulas se interpreten como
oraciones con sentido completo en el idioma en cuestión
1.- Las variables se interpretan como sustantivos (de una
categoría en particular).
2.- Los símbolos funcionales como asignaciones de
sustantivos a sustantivos.
3.- Los símbolos relacionales como predicado, al símbolo
≡ como el predicado que expresa la identidad de dos
objetos.
LÓGICA
Interpretaciones
4.- Los cuantificadores se les interpreta como objetivos que
califican la cantidad.
5.- Los conectores de igual manera que en el cálculo de
proposiciones.
6.- Las constantes como ciertos nombres propios.
LÓGICA
Satisfacibilidad y Equivalencia de
Fórmulas
Leyes de Morgan (para una fórmula cualquiera F):
x F x F
x F x F
Otras leyes (para un par de fórmulas F y G):
x(F G) x F x G (no con la conectiva )
x F x G x (F G) (no con la conectiva )
x y F y x F
x y F y x F
LÓGICA
Satisfacibilidad y Equivalencia de
FórmulasMás leyes (para un par de fórmulas F y G y si x no ocurre
libre en G):
x(F G) x F G
x(F G) x F G
x(F G) x F G
x(F G) x F G
x(G F) G x F
x(F G) x F G
x(G F) G x F
x(F G) x F G