Está en la página 1de 22

Lógica para las

Ciencias Informáticas
Clase 5: Cálculo de Predicados

Licenciatura en Sistemas

Dr. Carlos E. Alvez


caralv@fcad.uner.edu.ar
Adaptación de: Simari - 2006 - UNS

Contenido de la clase

 Cálculo de Predicados.
 Teorías de 1er Orden
 ¿Qué se intenta formalizar?
 Lenguaje del cálculo de predicados
 Variables, constantes, funciones y cuantificadores
 Semántica – Interpretaciones y modelos
 Verdad y Falsedad en P
 FBFs verdaderas y falsas

1
Cálculo de Predicados
El Sistema P
Introducción

Relación entre L y P

Cálculo Proposicional
L

Cálculo de Predicados

2
Teorías de 1er Orden y P

Teorías de Primer Orden

Cálculo de Predicados
P

¿Qué se intenta formalizar?

 El cálculo proposicional presenta algunas falencias


desde el punto de vista de su capacidad de
representación.

 Fundamentalmente, la representación de
propiedades de individuos no es posible de manera
natural.

 Esta habilidad es provista en el cálculo de


predicados.

3
¿Qué se intenta formalizar?

 La palabra predicado tiene varios significados:

 Afirmar una cualidad, atributo o propiedad de un


individuo.
 La parte de una sentencia que expresa lo que se
dice del sujeto.

 Por ejemplo:
En “Pedro es alto” se dice que el individuo Pedro
tiene el atributo o propiedad de ser alto.

¿Qué se intenta formalizar?

 Observando algunos ejemplos notamos la falta de


capacidad del cálculo proposicional para referirse a
individuos.

 Por ejemplo las sentencias:


 Pedro es alto.
 Juan es alto.
 Eduardo es alto.
se podrían representar como A1, A2, A3 en L.

4
¿Qué se intenta formalizar?

 Pero esto no refleja la semántica que se intenta tener


de las sentencias representadas.

 El cálculo de predicados permite mantener la


conexión entre la representación y lo que se quiere
representar:

Pedro es alto. alto(pedro)


Juan es alto. alto(juan)
Eduardo es alto. alto(eduardo)

¿Qué se intenta formalizar?


 A veces, la predicación es acerca de relaciones entre
individuos:

“Juan, Pedro, Edu, Luis y Seba forman un equipo de basket”

equipo-de-basket(juan, pedro, edu, luis, seba)

“Juan es el padre de Pedro”

padre(juan, pedro)
10

5
¿Qué se intenta formalizar?

 El lenguaje permite combinar sentencias referidas a


individuos:

“Juan es alto y María es bonita”

alto(juan)  bonita(maría)

de manera similar a la utilizada en el cálculo proposicional.

11

¿Qué se intenta formalizar?

 El lenguaje permite referirse a individuos de manera


general para modelar sentencias como las siguientes:

“Todos los perros son mamíferos”

((X) (perro(X)  mamífero(X)))

“Alguien habló”

((X)hablo(X))
12

6
¿Qué se intenta formalizar?

 Los dos símbolos introducidos se denominan


cuantificadores.

 El primero, “”, es el cuantificador universal y permite


referirse a todos los individuos de un dominio particular.
((X)(perro(X)  mamífero(X))

 El segundo, “”, es el cuantificador existencial y permite


referirse a uno más individuos en el dominio sin
especificar cual.
((X)hablo(X))
13

Cálculo de Predicados

El Lenguaje de P

14

7
Teoría Formal (repaso)

Definición: Una teoría formal  consiste de:

1. Un conjunto contable de símbolos. Se llamará


Lenguaje

expresión a toda secuencia finita de símbolos.

2. Un subconjunto de las expresiones, llamadas


Fórmulas Bien Formadas (FBF), en Inglés wff.
Máquina de

3. Un subconjunto de las FBFs llamado Axiomas.


Inferencia

4. Un conjunto finito de relaciones sobre las FBFs


llamadas Reglas de Inferencia.

15

Definición del lenguaje

Para definir el lenguaje debemos dar:

1. Un conjunto contable de símbolos. Se llamará


expresión a toda secuencia finita de símbolos.

2. Un subconjunto de las expresiones, llamadas


Fórmulas Bien Formadas (FBF).

16

8
Lenguaje de P (alfabeto)
 Un conjunto contable no vacío de letras predicativas:
pkn para todo n y k natural (aridad y nombre
respectivamente).
 Un conjunto contable posiblemente vacío de letras
funcionales: fkn para todo n y k natural.
 Un conjunto numerable de variables: x, y, z , x1, x2, x3, ... .

 Símbolos posiblemente vacío de constantes : a b, c, ...,


a1, a2, a3, ... .
 Conectivos lógicos:   .
 Símbolos auxiliares: “)”, “(”, “,”.
17

Lenguaje de P (FBFs)
Notación:

 En fkn el supraíndice indica aridad y el subíndice distingue


nombres, i.e.,
 f12 y f32 son distintos porque tienen la misma aridad pero
distinto nombre.
 f21 y f23 también porque tienen el mismo nombre pero
distinta aridad.

 Análogamente para las letras predicativas pkn.

 En general, en la exposición trataremos de usar, en lo posible,


letras sin índices.
18

9
Lenguaje de P (FBFs)
Términos:
1. Todas las constantes y variables son términos y
2. si fkn es una letra funcional n-aria y t1, t2,..., tn son términos
entonces fkn(t1, t2,..., tn) también lo es.

Fórmulas bien formadas:


1. Si pkn es una letra predicativa n-aria y t1, t2,..., tn son
términos entonces pkn(t1, t2,..., tn) es una FBF, denominada
fórmula atómica o átomo.
2. Si P y Q son FBFs yx una variable, entonces:
(P), (P Q), ((x)P) también lo son.
19

Lenguaje de P (FBFs)
término ::= variable | constante
| letra-funcional “(” lista-términos “)”

lista-términos ::= término | término “,” lista-términos

fórmula-atómica ::= letra-predicativa “(” lista-términos “)”

FBF ::= fórmula-atómica | “(” FBF “)” | “(” FBF “”


FBF“)”
| “((” variable “)” FBF“)”

donde variable, constante, letra-funcional y letra-


predicativa se definen como en alfabeto.

20

10
Lenguaje de P (FBFs)

 El resto de los conectivos se pueden definir utilizando solo la


implicación y la negación de acuerdo a las equivalencias
mostradas anteriormente y la regla de reescritura:
((x)P) se reescribe como (((x)(P)))

Precedencia: , ,  ,  , , .
Alcance de un cuantificador: FBF sobre la cual está aplicado.

x Q(x)  P(x, y)
x (Q(x)  P(x, y))
21

Variables

 Variable ligada (bound) si es la que aparece junto a un


cuantificador o es igual a la de un cuantificador y está dentro
de su alcance.
 Variable libre (free) si no está ligada.

En p(x, y)  ((x) q(x))

y está libre, x está libre y x ligada.

 Una FBF es cerrada si no contiene variables libres.

22

11
Notación
 Letras mayúsculas como A, B, P, Q, R, ... como
metavariables que representan FBFs arbitrarias.
 Letras minúsculas como p, q, r, ... para representar
predicados del lenguaje de P.
 Letras minúsculas itálicas como f, g, h, ... para representar
funciones del lenguaje de P .
 Letras minúsculas como x, y, z, ... para representar variables
del lenguaje de P .
 Letras minúsculas como a, b, c, ... para representar
constantes del lenguaje de P .
 R(x, y) denotará una FBF con las variables libres x e y, donde
R es una metavariable que representa una FBF de
complejidad arbitraria del lenguaje de P.
23

Cálculo de Predicados

Semántica

24

12
Verdad

 En el Cálculo Proposicional (L) las FBFs sólo


estaban construidas a partir de letras
proposicionales y posiblemente conectivos lógicos
Por esta razón bastaba un valor de verdad a las
letras proposicionales para obtener una
interpretación.

 Para explicitar todas las interpretaciones posibles era


suficiente construir la tabla de verdad.

25

Verdad

 La situación en P es más compleja.


 Para establecer si una FBF es verdadera o falsa en
una interpretación es necesario tener en cuenta:

 Qué valores toman las variables,

 Los valores de las constantes y

 Qué funciones y que relaciones pueden ser


representados con las letras funcionales y
predicativas.

26

13
Interpretaciones

Una interpretación de una FBF (o conjunto de ellas) consiste de:


1. Un dominio D llamado dominio de la interpretación.
2. Una asignación para cada constante de un elemento de D.
3. Una asignación para cada función fkn de una operación
n-aria en D, i.e. D n  D .
4. Una asignación para cada predicado pkn de una relación
n-aria en D, i.e. un subconjunto de D n.

 Una interpretación que hace verdadera a una FBF (o


conjunto de ellas) se denomina modelo para las mismas.

27

Interpretaciones

 Las variables tienen su rango sobre D.

 Los conectivos (“”, “”, “”, “”, “”) tienen el


significado dado en L.

 ((x)p(x)) significa que para todos los valores posibles


para x en el dominio, el predicado p(x) se verifica.

 ((x)p(x)) significa que existe al menos un valor para x en


el dominio para el que se verifica p(x).

28

14
Interpretaciones (Ejemplo)
Dado el siguiente conjunto de FBF:
a. p(x, y)  q(x)
b. (x) (q(x)  q(f(x)))
c. (((x) (y) p(x, y))  ((x) (y) p(x, y)))
Interpretación: el dominio es  (enteros)
p(x, y) se interpreta como x  y
q(x) se interpreta como x  1
f(x) se interpreta como x  1
1. x  yx1
2. (x) ((x  1)  ((x  1)  1)))
3. ( ( (x) (y) x  y )  ( (x) (y) x  y ) )
29

Interpretaciones (Ejemplo)

Dado el siguiente conjunto de FBF:


a. p(x, y)  q(x)
b. (x) (q(x)  q(f(x)))
c. (((x) (y) p(x, y))  ((x) (y) p(x, y)))
Interpretación: el dominio es  (enteros)
p(x, y) se interpreta como x  y  0
q(x) se interpreta como x  0
f(x) se interpreta como x  x
1. (x  y  0)  (x  0)
2. (x) ( (x  0)  ((x  x)  0)) )
3. ( ( (x)(y)(x  y  0) )  ( (x)(y)(x  y  0) ) )
30

15
Interpretaciones (Ejercicio)

Dado el siguiente conjunto de FBF:


a. p(x,y)  q(x)
b. (x) (q(x)  q(f(x)))
c. (((x) (y) p(x, y))  ((x) (y) p(x, y)))
Interpretación: el dominio es ?
p(x, y) se interpreta como ?
q(x) se interpreta como ?
f(x) se interpreta como ?
31

Interpretaciones

 Ahora definiremos con más precisión con


satisfacibilidad y verdad en una interpretación.

 Dada una interpretación con dominio D, sea  el


conjunto de secuencias numerables de elementos de D.

 Estas secuencias de  elementos de D tienen la forma


s  (b1, b2, ..., bn, ...).

 Utilizaremos estas secuencias para definir la


satisfacibilidad de las FBFs de P

32

16
Interpretaciones
Def: Dada una secuencia s  (b1, b2, ..., bn, ...) de , definimos una
función s que toma valores en el conjunto de todos los términos del
lenguaje de P y que toma valores en D. La función s se define por
casos de acuerdo a los diferentes tipos de términos que puede tener
como parámetro, i.e. un término puede ser una variable, una
constante o una letra funcional aplicada a términos:
1. Si t es una variable xi entonces s( t )  s( xi )  bi es decir s
toma el valor i-ésimo de la secuencia s.

2. Si t es una constante individual entonces s( t ) es el elemento fijo de


D asignado a esa constante por la interpretación.

3. Si fj es una letra funcional, g es la correspondiente operación en D


asignada por la interpretación y t1, t2, ..., tn son términos, entonces
s( fj ( t1, t2, ..., tn ) )  g( s( t1 ), s( t2 ), ..., s( tn )).
33

Interpretaciones: Ejemplo
 Si el término t es f3( f2( a1, x4 ), f2( x7, a8 )) y la
interpretación es tal que el dominio D es el conjunto de los
enteros, f2 es la suma “” entre enteros y f3 es el producto “”,
a1 es la constante 3 y a8 es la constante 10, entonces si s  (b1,
b2, ..., bn, ...) tenemos:
s( t )  s( f3( f2( a1, x4 ), f2( x7, a8 ) ) )
 (s( f2( a1, x4 )), s( f2( x7, a8 ) ) )
 ( ( s( a1 ), s( x4 ) ), ( s( x7 ), s( a8 ) ) )
 (( 3, b4 ), ( b7 , 10 ) )
 ( ( 3  b4 )  ( b7  10 ) )

Si s = (1, -2, 5, 0, 8, 10, 2, …) entonces


s*(t ) = (3 + 0)  (2 + 10) = 36
34

17
Interpretaciones
 Def: Dada una secuencia s  (b1, b2, ..., bn, ...) de  decimos
que s satisface a una FBF A de acuerdo a los siguientes casos:
1. Si A es una FBF atómica pj(t1, t2, ..., tn ), sea Pj es la
relación que le corresponde a pj por la interpretación,
entonces la secuencia s satisface a A sssi
Pj(s( t1 ), s( t2 ), ..., s( tn ) ), i.e.
la n-upla (s( t1 ), s( t2 ), ..., s( tn ) )  Pj
2. s satisface A si y solo si s no satisface a A.
3. s satisface A  B sssi o bien s satisface a B
o bien s no satisface a A.
4. s satisface (xi) A sssi cada secuencia w de  que difiere
de s en a lo sumo en el i-ésimo componente satisface a A.
35

Interpretaciones (Ejemplo)

 La FBF p(x1, x2)  q( x1 ) interpretada con dominio  (enteros)


y con p(x1, x2) interpretado como x1x2, q(x1) interpretado como
x1  1, resulta en la fórmula x1 x2  x1  1

Todas las secuencias s  ( 2, 1, ...), donde los puntos suspensivos


representan cualquier secuencia de números enteros, satisfacen a
esa fórmula.

 La FBF p(x1, x2)  q(x1) interpretada con dominio  (enteros) y


con p(x1, x2) interpretado como x1  x2  0, q(x1) interpretado
como x1  0, resulta en la fórmula x1x2  0  x1  0

Todas secuencias s  ( 0, ...), donde los puntos suspensivos


representan secuencia de números enteros satisfacen a esa fórmula.
36

18
Verdad y Falsedad

 Def: Una FBF A es verdadera (en una interpretación


particular) sssi, cada secuencia en  satisface a A.

 Def: Una FBF A es falsa (en una dada interpretación) sssi


ninguna secuencia en  satisface a A.

 Obs: Una FBF A puede no ser verdadera ni falsa (en una


dada interpretación) puesto que puede ser que una parte
de las secuencias en  la satisfagan pero otras no lo hagan.

37

Observaciones
1. A es falsa en una interpretación sssi A verdadera en esa
interpretación y A es verdadera en una interpretación sssi A falsa.
2. Si A y AB son verdaderas en una interpretación entonces B
también lo es.
3. En una interpretación particular, AB es falsa sssi A es
verdadera y B falsa.
4. Para los conectivos introducidos por reescritura:
 s satisface a AB si y solo si s satisface a A y s satisface a B.
 s satisface a AB si y solo si s satisface a A o s satisface a B .
 s satisface a A  B si y solo si s satisface a A y s satisface a B o
s no satisface ni a A ni a B.
 s satisface a ((xi) A) si existe s, que difiere de s en a lo sumo el
lugar i, tal que s satisface a A.
38

19
Observaciones

5. La FBF A(x) es verdadera sssi su clausura ((x)A(x)) es verdadera.


La clausura de una FBF A se obtiene prefijándola con un
cuantificador universal para c/variable que aparece libre en A.
6. Cada instancia de una tautología es verdadera en todas las
interpretaciones.
Ver “Truth, Deduction, and Computation,” R. Davis, pág. 53..
7. Si todas las variables libres de una FBF A son las que aparecen en
la lista x1, x2, ...,xk y si las secuencias s y s tienen las mismas
componentes en los lugares 1 a k entonces s satisface a A si y solo
si s satisface a A.
8. Si A no contiene a la variable xi libre, entonces
(xi) (AB)  (A(xi)B)
es verdadera en todas las interpretaciones.
39

Semántica

 Lema: Si t y u son términos, y s es una secuencia de ,


y t resulta de t substituyendo u por todas las apariciones de
xi en t, y s resulta de s substituyendo s( u ) por la
componente i-ésima de s, entonces s( t ) = (s) ( t ).

 Corolario: Si ((xi) A(xi)) es satisfecha por s, también lo es


A(t ). Luego, (xi) A(xi)A( t ).

Ver demostraciones en “Truth, Deduction, and


Computation,” R. Davis, pág. 54.

40

20
Semántica

 Def: Una FBF A se dice lógicamente válida si y solo si A es


verdadera en cada interpretación ( |=A ).
 Obs: Una FBF es verdadera en una interpretación si es
satisfecha por todas las secuencias de  y es lógicamente
verdadera si es verdadera en todas las interpretaciones.
 Def: Una FBF A se dice satisfacible si y solo existe una
interpretación en la que A es satisfecha por al menos una
secuencia de .
Ver discusión en “Truth, Deduction, and Computation” R.
Davis, pág. 54.

41

Semántica
 Def: Una FBF A se dice contradictoria (insatisfacible) si y
solo si A es lógicamente válida.

 Def: Se dice que a una FBF A implica lógicamente a una


FBF B si y solo si en cada interpretación cada secuencia de
 que satisface a A también satisface a B ( A | B ).

 Def: Se dice que a una FBF A es una consecuencia lógica de


un conjunto S de FBFs, si y solo si en cada interpretación
cada secuencia de  que satisface a cada FBF en S también
satisface a A (S | A ).

42

21
Semántica

Def: A y B se dicen lógicamente equivalentes si y solo si A


implica lógicamente a B y B implica lógicamente a A.

Def: Cualquier sentencia de un lenguaje formal que es una


instancia de una FBF que es lógicamente válida se dice
lógicamente verdadera y una FBF que es una instancia de
una FBF que es contradictoria se dice lógicamente falsa.

Ver consecuencias de estas definiciones en “Truth,


Deduction, and Computation”, R. Davis, pág. 55 y los
ejercicios en pág. 56.

43

Bibliografía

 “Truth, Deduction, and Computation”. Logic and


Semantics for Computer Science. R. Davis, 1994.
Computer Science Press

 Capítulo 3

 “Lógica Computacional”. José Luis Fernández Vindel,


Ángeles Manjarrés Riesco, Francisco Javier Díez Vegas
Dpto. Inteligencia Artificial, E.T.S.I. Informática, UNED,
2003.

 Capítulo 2

44

22

También podría gustarte