Calculo de Predicados

47
LÓGICA [email protected] [email protected] [email protected] Ing. Ronald Pérez Cálculo de Predicados

Transcript of Calculo de Predicados

Page 1: Calculo de Predicados

LÓGICA

[email protected]@cantv.net

[email protected]

Ing. Ronald Pérez

Cálculo de Predicados

Page 2: Calculo de Predicados

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.

Page 3: Calculo de Predicados

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

Page 4: Calculo de Predicados

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í:

Page 5: Calculo de Predicados

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.

Page 6: Calculo de Predicados

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

Page 7: Calculo de Predicados

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: „(„, „)‟, „,‟.

Page 8: Calculo de Predicados

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}>

Page 9: Calculo de Predicados

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.

Page 10: Calculo de Predicados

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.

Page 11: Calculo de Predicados

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

Page 12: Calculo de Predicados

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.

Page 13: Calculo de Predicados

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

Page 14: Calculo de Predicados

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))

Page 15: Calculo de Predicados

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))

Page 16: Calculo de Predicados

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

Page 17: Calculo de Predicados

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)

Page 18: Calculo de Predicados

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.

Page 19: Calculo de Predicados

LÓGICA

Árbol sintáctico

Ejemplo: ( x(P(x, c) Q(f(y))))

x

P Q

x c f

y

Page 20: Calculo de Predicados

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)

Page 21: Calculo de Predicados

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.

Page 22: Calculo de Predicados

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.

Page 23: Calculo de Predicados

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}

Page 24: Calculo de Predicados

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

Page 25: Calculo de Predicados

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))

Page 26: Calculo de Predicados

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)))))

Page 27: Calculo de Predicados

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)))

Page 28: Calculo de Predicados

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:

Page 29: Calculo de Predicados

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

Page 30: Calculo de Predicados

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

Page 31: Calculo de Predicados

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

Page 32: Calculo de Predicados

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

Page 33: Calculo de Predicados

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

Page 34: Calculo de Predicados

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

Page 35: Calculo de Predicados

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

Page 36: Calculo de Predicados

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á …”

Page 37: Calculo de Predicados

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

Page 38: Calculo de Predicados

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”

Page 39: Calculo de Predicados

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

Page 40: Calculo de Predicados

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 .

Page 41: Calculo de Predicados

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

Page 42: Calculo de Predicados

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

Page 43: Calculo de Predicados

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.

Page 44: Calculo de Predicados

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.

Page 45: Calculo de Predicados

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.

Page 46: Calculo de Predicados

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

Page 47: Calculo de Predicados

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