Vous êtes sur la page 1sur 7

Lgica de Predicados o

Prof. Dr. Silvio do Lago Pereira


slago@ime.usp.br

Introduo ca

H vrios tipos de argumentos que no podem ser adequadamente formalizados a a a em lgica proposicional. Como exemplo, considere o argumento a seguir: o Scrates homem. o e Todo homem mortal. e Logo, Scrates mortal. o e Intuitivamente, podemos ver que esse argumento vlido. No entanto, usando e a lgica proposicional, a formalizaao desse argumento resulta em {p, q} |= r e no o c a h como mostrar que a concluso r uma conseqncia lgica das premissas p a a e ue o e q. Isso acontece porque a validade desse argumento depende do signicado da palavra todo, que no pode ser expresso na lgica proposicional. De fato, para a o tratar argumentos desse tipo precisamos da lgica de predicados [3]. o

Sintaxe da lgica de predicados o

Alm dos conectivos lgicos (, , e ), as frmulas bem-formadas da lgica e o o o de predicados so compostas por objetos, predicados, variveis e quanticadores. a a 2.1 Objetos e predicados

Na lgica de predicados, a noao de objeto usada num sentido bastante amplo. o c e Objetos podem ser concretos (e.g., esse livro, a lua), abstratos (e.g., o conjunto vazio, a paz), ou ct cios (e.g., unicrnio, Saci Perer). Objetos podem ainda ser o e atmicos ou compostos (e.g., um teclado composto de teclas). Em suma, um o e objeto pode ser qualquer coisa a respeito da qual precisamos dizer algo [3]. Por convenao, nomes de objetos so escritos com inicial minscula e assumimos que c a u nomes diferentes denotam objetos diferentes.
A B C

Figura 1. Blocos empilhados sobre uma mesa.

S. L. Pereira

Um predicado denota uma relaao entre objetos de um determinado conc texto de discurso [3]. Por exemplo, no contexto ilustrado na Figura 1, podemos dizer que o bloco a est sobre o bloco b usando o predicado sobre e escrevendo a sobre(a, b); para dizer que o bloco b azul, podemos usar o predicado cor e escre ever cor(b, azul) e, para dizer que o bloco b maior que o bloco c, podemos usar e o predicado maior e escrever maior(b, c). Por convenao, nomes de predicados c so escritos com inicial minscula. a u 2.2 Variveis e quanticadores a

Grande parte da expressividade da lgica de predicados devida ao uso dos o e conectivos lgicos, que nos permitem formar senteas complexas a partir de seno c tenas mais simples. Por exemplo, considerando o contexto da Figura 1, podemos c dizer que o bloco a est sobre o bloco b e que este est sobre a mesa escrevendo: a a sobre(a, b) sobre(b, mesa) Entretanto, o que realmente torna a lgica de predicados mais expressiva que a o lgica proposicional a noao de variveis e quanticadores: o e c a usando variveis, podemos estabelecer fatos a respeito de objetos de um dea terminado contexto de discurso, sem ter que nomear explicitamente esses objetos (por convenao, nomes de variveis so escritos com inicial maiscula); c a a u usando o quanticador universal (), podemos estabelecer fatos a respeito de todos os objetos de um contexto, sem termos que enumerar explicitamente todos eles; e, usando o quanticador existencial () podemos estabelecer a existncia de um objeto sem ter que identicar esse objeto explicitamente. e Por exemplo, considerando novamente o contexto da Figura 1, podemos dizer que todo bloco est sobre alguma coisa (bloco ou mesa) escrevendo: a X[bloco(X) Y [sobre(X, Y )]]

Semntica da lgica de predicados a o

O signicado das frmulas na lgica de predicados depende da semntica dos o o a conectivos e da interpretaao de objetos e predicados [3,2]. Uma interpretaao c c na lgica de predicados consiste de: o um conjunto D = , denominado dom nio da interpretaao; c um mapeamento que associa cada objeto a um elemento xo em D; um mapeamento que associa cada predicado a uma relaao em D. c O quanticador denota uma conjunao e o quanticador denota uma c disjunao. Por exemplo, para D = {a, b, c}, a frmula X[colorido(X)] denota a c o conjunao colorido(a) colorido(b) colorido(c) e a frmula X[cor(X, azul)] c o denota a disjunao cor(a, azul) cor(b, azul) cor(c, azul). Alm disso, como c e ( ) ( ), fcil ver que X[cor(X, azul)] X[cor(X, azul)]. e a De modo anlogo, conclu a mos que X[cor(X, roxo)] X[cor(X, roxo)].

Lgica de Predicados o

Formalizao de argumentos ca

Usando a lgica de predicados, o argumento que apresentamos inicialmente o Scrates homem. o e Todo homem mortal. e Logo, Scrates mortal. o e pode ser formalizado como: { homem(socrates), X[homem(X) mortal(X)] } |= mortal(socrates) 4.1 Enunciados categricos o

Para facilitar a formalizaao de argumentos na lgica de predicados, destac o camos quatro tipos de sentenas de especial interesse, denominadas enunciados c categrigos. o
p X q p X q p X q p X q

(a)

(b)

(c)

(d)

Figura 2. Semntica dos enunciados categricos em termos de conjuntos. a o

Universal armativo: so enunciados da forma X[p(X) q(X)]. Em a termos de conjuntos, um enunciado universal armativo estabelece que o conjunto p um subconjunto do conjunto q (Figura 2-a). Por exemplo, a sene tena Todos os homens so mortais pode ser traduzida como X[h(X) c a m(X)], ou seja, para todo X, se X p ento X m. a Universal negativo: so enunciados da forma X[p(X) q(X)]. Em a termos de conjuntos, um enunciado universal negativo estabelece que os conjuntos p e q so disjuntos (Figura 2-b). Por exemplo, a sentena Nenhum a c homem extra-terrestre pode ser traduzida como X[h(X) e(X)], ou e seja, para todo X, se X h ento X e. a Particular armativo: so enunciados da forma X[p(X) q(X)]. Em a termos de conjuntos, um enunciado universal armativo estabelece que os conjuntos p e q tm uma interseao no-vazia (Figura 2-c). Por exemplo, a e c a sentena Alguns homens so cultos pode ser traduzida como X[h(X) c a c(X)], ou seja, existe X tal que X h e X c. Particular negativo: so enunciados da forma X[p(X) q(X)]. Em a termos de conjuntos, um enunciado universal negativo estabelece que existem elementos que esto no conjunto p mas no esto no conjunto q (Figura 2-d). a a a Por exemplo, a sentena Alguns homens no so cultos pode ser traduzida c a a como X[h(X) c(X)], ou seja, existe X tal que X h e X c.

S. L. Pereira

Reconhecer o tipo de uma sentena facilita a sua traduao para a linguagem c c da lgica de predicados. Veja outros exemplos: o Toda cobra venenosa: X[cobra(X) venenosa(X)] e Os remdios so perigosos: X[remedio(X) perigoso(X)] e a Nenhuma bruxa bela: X[bruxa(X) bela(X)] e No existe bbado feliz: X[bebado(X) f eliz(X)] a e Algumas pedras so preciosas: X[preda(X) preciosa(X)] a Existem plantas que so carn a voras: X[planta(X) carnivora(X)] Alguns pol ticos no so honestos: X[politico(X) honesto(X)] a a H aves que no voam: X[ave(X) voa(X)] a a

Exerc cio 1 Usando lgica de predicados, formalize as sentenas a seguir: o c Tudo que sobe, desce. Nenhum leo manso. a e Todo circo tem palhao. c Toda pedra preciosa cara. e Nenhum homem infal e vel. Ningum gosta de impostos. e Existem impostos que no so bem empregados. a a Equivalncia entre sentenas e c

4.2

H sentenas que podem ser escritas, equivalentemente, de mais de uma forma. a c Por exemplo, considere a sentena Nem tudo que brilha ouro. Ora, se nem c e tudo que brilha ouro, ento signica que exite alguma coisa que brilha e no e a a ouro. Assim, a sentena Nem tudo que brilha ouro pode ser escrita como e c e X[brilha(X) ouro(X)] ou como X[brilha(X) ouro(X)]. Para ver que isso verdade, verique as equivalncias a seguir: e e X[brilha(X) ouro(X)] X[brilha(X) ouro(X)] X[brilha(X) ouro(X)] X[brilha(X) ouro(X)] H tambm sentenas mais complexas como, por exemplo, Nem todo ator a e c americano famoso. Nesse caso, o antecedente da frmula condicional deve e o ser uma conjunao, veja: X[ator(X) americano(X) f amoso(X)]. Uma c interpretaao dessa sentena seria a seguinte: ora, se nem todo ator americ c cano famoso, ento deve existir ator americano que no famoso. Assim, a e a a e sentena tambm poderia ser traduzida como X[ator(X) americano(X) c e f amoso(X)]. A equivalncia entre essas duas formas de traduzir a sentena e c e demonstrada a seguir:

Lgica de Predicados o

X[ator(X) americano(X) f amoso(X)] X[(ator(X) americano(X)) f amoso(X)] X[ator(X) americano(X) f amoso(X)] X[ator(X) americano(X) f amoso(X)] X[ator(X) americano(X) f amoso(X)] Exerc cio 2 Verique se as sentenas a seguir so equivalentes: c a Nem toda estrada perigosa e Algumas estradas no so perigosas. e a a Nem todo bbado fumante e Alguns bbados so fumantes. e e e a

Inferncia na lgica de predicados e o

Inferir concluses corretas, a partir de um conjunto de premissas, uma imporo e tante caracter stica de todo sistema lgico. Para entendermos como a inferncia o e pode ser realizada na lgica de predicados, vamos considerar o argumento: o {homem(socrates), X[homem(X) mortal(X)]} |= mortal(socrates) Normalizando1 essas frmulas, obtemos: o {homem(socrates), homem(X) mortal(X)} |= mortal(socrates) Observe que a regra de inferncia por resoluao no pode ser aplicada diree c a tamente para deduzir que Scrates mortal, pois as frmulas homem(socrates) o e o e homem(X) no so complementares. Entretanto, como a varivel X unia a a e versal, podemos substitu por qualquer constante do dom -la nio. Ento, fazendo a X = socrates, obtemos uma nova instncia da frmula homem(X)mortal(X) a o e, assim, podemos inferir a concluso desejada. Veja: a (1) homem(socrates) (2) homem(socrates) mortal(socrates) (3) mortal(socrates) 5.1 /X=socrates RES(1, 2)

Instanciao universal e variveis existenciais ca a

Infelizmente, o princ pio de instanciaao universal, que nos permite substituir c uma varivel por uma constante, s funciona corretamente para variveis unia o a versais [4]. Para entender o porqu, considere a sentena Todo mestre tem um e c disc pulo, que pode ser traduzida como: X[mestre(X) Y [discipulo(Y, X)]] Sendo X uma varivel universal, podemos substitu por qualquer constante a -la e a sentena obtida continuar sendo verdadeira. Particularmente, poder c a amos fazer X = xisto e obter a seguinte instncia: a mestre(xisto) Y [discipulo(Y, xisto)].
1

Na forma normal, todas as variveis so universais. a a

S. L. Pereira

Note que se mestre(xisto) for verdade, a semntica da sentena original forar a c c a Y [discipulo(Y, xisto)] a ser verdade tambm e, como , conclu e mos que a instncia obtida verdadeira. Por outro lado, se mestre(xisto) for falso, ina e dependentemente do valor da frmula Y [discipulo(Y, xisto)], a instncia obtida o a tambm verdadeira, pois e . e e Agora, substituindo a varivel existencial, obtemos a instncia: a a X[mestre(X) [discipulo(xisto, X)], que estabelece que Todo mestre tem um disc pulo chamado Xisto. Evidentemente, o signicado da sentena original foi alterado. Isso acontece porque o c valor de Y depende do valor escolhido para X. 5.2 Skolemizao ca

Uma forma de eliminar uma varivel existencial, sem alterar o signicado da a sentena original, admitir a existncia de uma funao que representa o valor c e e c correto para substituir a varivel existencial. Por exemplo, poder a amos substituir a varivel existencial Y pela funao seguidor(X), veja: a c X[mestre(X) [discipulo(seguidor(X), X)] Note que, nessa instncia, o signicado da sentena original mantido; j que a c e a ela no se compromete com nenhum valor particular de Y . a No processo de skolemizaao2 , cada varivel existencial substitu por uma c a e da funao distinta, cujos argumentos so as variveis universais, globais 3 a varivel c a a ` a existencial em questo [1]. Por exemplo, podemos eliminar a varivel existencial a a em X, Y [p(X, Y ) ZW [q(Z, X) q(W, Z)]] fazendo Z = f (X, Y ). Caso no haja uma varivel universal global a varivel existencial a ser skolemizada, a a ` a podemos usar uma funao sem argumentos (ou uma constante). Por exemplo, c para eliminar a varivel X em XY [p(X) q(Y )] podemos fazer X = f . a Daqui em diante, assumiremos que todas as variveis so universais (j que a a a as variveis existenciais sempre podem ser eliminadas) e, portanto, os quantia cadores (universais) caro impl a citos. Exerc cio 3 Formalize as sentenas e skolemize as frmulas obtidas: c o Todo co el ao seu dono. a e Existe um lugar onde todos so felizes. a 5.3 Unicao ca

Como vimos, a inferncia por resoluao requer que as frmulas atmicas cancee c o o ladas sejam idnticas (a menos da negaao que deve ocorrer numa delas). O proe c cesso que determina que substituioes so necessrias para tornar duas frmulas c a a o
2 3

Proposto e demonstrado pelo matemtico Thoralf Skolem. a Uma varivel global a outra se declarada antes dessa outra. a e ` e

Lgica de Predicados o

atmicas sintaticamente idnticas denominado unicaao. Nesse processo, uma o e e c varivel pode ser substitu por uma constante, por uma varivel ou por uma a da a funao. Por exemplo, podemos unicar gosta(ana, X) e gosta(Y, Z), fazendo Y = c ana e X = Z. Tambm podemos unicar ama(deus, Y ) e ama(X, f ilho(X)), e fazendo X = deus e Y = f ilho(deus). J as frmulas atmicas igual(X, X) a o o e igual(bola, bala) no podem ser unicadas; pois, fazendo X = bola, obtemos a igual(bola, bola) e igual(bola, bala). Como bola e bala so constantes distintas, a no existe substituiao que torne essas frmulas atmicas idnticas. Tambm a c o o e e no poss a e vel substituir uma varivel por uma funao que tenha essa mesma a c varivel como parmetro, como por exemplo, X = f (X). a a Para unicar duas frmulas atmicas (sem variveis em comum): o o a 1. Compare as frmulas at encontrar uma incorrespondncia ou atingir o nal o e e de ambas; 2. Ao encontrar uma incorrespondncia: e (a) se ela no envolver pelo menos uma varivel, nalize com fracasso; a a (b) caso contrrio, substitua todas as ocorrncias da varivel pelo outro a e a termo e continue a varredura (no passo 1); 3. Ao atingir o nal de ambas, nalize com sucesso. Exerc cio 4 Unique (se poss vel) as frmulas atmicas a seguir: o o cor(sapato(X), branco) e cor(sapato(suspeito), Y ) mora(X, casa(mae(X))) e mora(joana, Y ) primo(X, Y ) e prima(A, B) ponto(X, 2, Z) e ponto(1, W ) p(f (Y ), Y, X) e p(X, f (a), f (Z))

Referncias e
1. Amble, T. Logic Programming and Knowledge Engineering, Addison-Wesley, 1987. 2. Brachman, R. J. & Levesque, H. J. Knowledge Representation and Reasoning, Morgan Kaufmann, 2004. 3. Genesereth, M. R. and Nilsson, N. J. Logical Fundations of Articial Intelligence, Morgan Kaufmann Publishers, 1988. 4. Rich, E. and Knight, K. Inteligncia Articial, 2a ed., Makron Books, 1995. e