Você está na página 1de 24

Lgica de Predicados

Prof. Dr. Silvio do Lago Pereira


Departamento de Tecnologia da Informao Faculdade de Tecnologia de So Paulo

Motivao
H vrios argumentos que no podem ser adequadamente formalizados e validados em lgica proposicional.

Exemplo Exemplo
Scrates homem. Scrates homem. Todo homem mortal. Todo homem mortal. Logo, Scrates mortal Logo, Scrates mortal intuitivamente, podemos ver que este argumento vlido sua formalizao em lgica proposicional resulta em {p, q} r porm, no h como mostrar que {p, q} r vlido a validade deste argumento depende do significado da palavra todo para tratar este tipo de argumento precisamos da lgica de predicados
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 2

Linguagem formal: elementos bsicos


A linguagem formal da lgica de predicados mais expressiva que aquela da lgica proposicional. Esta maior expressividade decorre do fato de as frmulas da lgica de predicados serem compostas pelos seguintes elementos bsicos: objetos predicados conectivos variveis quantificadores

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: sintaxe


Objeto Objeto
qualquer coisa aarespeito da qual precisamos dizer algo qualquer coisa respeito da qual precisamos dizer algo
Na lgica de predicados, a noo de objeto usada num sentido bastante amplo. Objetos podem ser: concretos: a bblia, a lua, ... abstratos: o conjunto vazio, a paz, ... fictcios: unicrnio, Saci-Perer, ... atmicos ou compostos: um teclado composto de teclas Nomes de objetos devem iniciar com letra minscula! Nomes de objetos devem iniciar com letra minscula!
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 4

Linguagem formal: sintaxe


Predicado Predicado
denota uma relao entre objetos num determinado contexto denota uma relao entre objetos num determinado contexto
A B C

sobre(a,b) : o bloco A est sobre o bloco B cor(b,azul): o bloco B tem cor azul maior(a,c): o bloco A maior que o bloco C proposies atmicas!

Nomes de predicados tambm devem iniciar com letra minscula! Nomes de predicados tambm devem iniciar com letra minscula!
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 5

Linguagem formal: sintaxe


Conectivo Conectivo
forma proposies compostas, aapartir de proposies atmicas forma proposies compostas, partir de proposies atmicas

A B C

sobre(a,b) sobre(b,m): A est sobre B e B est sobre a mesa cor(b,azul): a cor de B no azul maior(b,c) maior(c,b): o bloco B maior que C ou C maior que B

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: sintaxe


Varivel Varivel
permite estabelecer fatos sobre objetos, sem nome-los explicitamente permite estabelecer fatos sobre objetos, sem nome-los explicitamente
bloco(X) : X um bloco mesa(Y) : Y uma mesa sobre(X,Y) : X est sobre Y

no so proposies atmicas!

Note que proposies atmicas so sentenas que podem ter valor verdadeiro ou falso; mas no podemos dizer se bloco(X) verdadeiro ou falso at que a varivel X tenha sido substituda ou quantificada.
Nomes de variveis devem iniciar com letra maiscula! Nomes de variveis devem iniciar com letra maiscula!
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 7

Linguagem formal: sintaxe


Quantificador Quantificador
permite estabelecer fatos sobre objetos, sem enumer-los explicitamente permite estabelecer fatos sobre objetos, sem enumer-los explicitamente H dois quantificadores:
Universal....: X[bloco(X)] estabelece que todo objeto X um bloco Existencial..: Y[mesa(Y)] estabelece que algum objeto Y uma mesa Y[mesa(Y)]

Estes quantificadores podem ser combinados numa mesma frmula Todo bloco est sobre alguma coisa que um bloco ou uma mesa
Y[sobre(X,Y) X[bloco(X) Y[sobre(X,Y) (bloco(Y) mesa(Y))]]

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

Linguagem formal: semntica


Interpretao Interpretao
um conjunto no-vazio D um conjunto no-vazio D um mapeamento que associa cada objeto aaum elemento fixo de D um mapeamento que associa cada objeto um elemento fixo de D um mapeamento que associa cada predicado aauma relao sobre D um mapeamento que associa cada predicado uma relao sobre D
O quantificador universal denota conjuno
Por exemplo, para D = {a, b ,c, m} A frmula X[bloco(X)] equivale a bloco(a) bloco(b) bloco(c) bloco(m)

O quantificador existencial denota disjuno


Por exemplo, para D = {a, b ,c, m} A frmula Y[mesa(Y)] equivale a mesa(a) mesa(b) mesa(c) mesa(m) Y[mesa(Y)]

Equivalncias
X[ X[ X[(X)] X[ (X)] X[(X)] X[ (X)] X[ X[
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 9

Representao de conhecimento
Para facilitar a formalizao se sentenas na lgica de predicados, destacamos quatro tipos de sentenas de especial interesse, denominadas enunciados categricos: Universal afirmativo: Todos os homens so mortais. Universal negativo: Nenhum homem extra-terrestre. Particular afirmativo: Alguns homens so cultos. Particular negativo: Alguns homens no so cultos.

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

10

Representao de conhecimento
Enunciado universal afirmativo Enunciado universal afirmativo
da forma X[p(X) q(X)] da forma X[p(X) q(X)] q(X)] q(X)] estabelece que p um subconjunto de q estabelece que p um subconjunto de q

p X

Exemplo:
Sentena....: Todos os homens so mortais Sintaxe.......: X[h(X) m(X)] Semntica..: para todo X, se Xh ento Xm
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 11

Representao de conhecimento
Enunciado universal negativo Enunciado universal negativo
da forma X[p(X) q(X)] da forma X[p(X) q(X)] q(X)] q(X)] estabelece que os conjuntos p eeq so disjuntos estabelece que os conjuntos p q so disjuntos

p X

Exemplo:
Sentena....: Nenhum homem extra-terrestre Sintaxe.......: X[h(X) e(X)] Semntica..: para todo X, se Xh ento Xe
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 12

Representao de conhecimento
Enunciado particular afirmativo Enunciado particular afirmativo
da forma X[p(X) q(X)] da forma X[p(X) q(X)] q(X)] q(X)] estabelece que os conjuntos p eeq tm interseco no-vazia estabelece que os conjuntos p q tm interseco no-vazia

Exemplo:
Sentena....: Alguns homens so cultos Sintaxe.......: X[h(X) c(X)] Semntica..: existe X tal que Xh e Xc
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 13

Representao de conhecimento
Enunciado particular negativo Enunciado particular negativo
da forma X[p(X) q(X)] da forma X[p(X) q(X)] q(X)] q(X)] estabelece que existem elementos em p que no esto em q estabelece que existem elementos em p que no esto em q

Exemplo:
Sentena....: Alguns homens no so cultos Sintaxe.......: X[h(X) c(X)] Semntica..: existe X tal que Xh e Xc
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 14

Representao de conhecimento
Exerccio 1. Formalize as sentenas a seguir usando lgica de predicados
Toda cobra venenosa. Nenhuma bruxa bela. Algumas plantas so carnvoras. H aves que no voam. Tudo que sobe, desce. Existem polticos no so honestos. No existe bbado feliz. Pedras preciosas so caras. Ningum gosta de impostos. Vegetarianos no gostam de aougueiros. Toda me ama seus filhos.
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 15

Equivalncia entre sentenas


H sentenas que podem ser escritas em mais de uma forma. Exemplo
Sentenas
Nem tudo que brilha ouro. Existe algo que brilha e no ouro.

Frmulas
X[b(X) o(X)] X[b(X) o(X)] o(X)] X[b(X) o(X)]

Equivalncia
X[b(X) o(X)] X[b(X) o(X)] X[ X[ o(X)] X[ b(X) o(X)] o(X)] X [ b(X) o(X)] o(X)] X [b(X) o(X)]

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

16

Representao de conhecimento
Exerccio 2. Verifique se os pares de sentenas so equivalentes
Nem toda estrada perigosa. Algumas estradas no so perigosas. Nem todo bbado fumante. Alguns bbados so fumantes. Nem todo ator americano famoso. Alguns atores americanos no so famosos.

Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

17

Validao de argumentos
Exemplo Exemplo
Scrates homem. Scrates homem. Todo homem mortal. Todo homem mortal. Logo, Scrates mortal Logo, Scrates mortal

Formalizao: { h(s), X[h(X) m(X)] } m(s) m(X)] Normalizao: { h(s), X[ h(X) m(X)] } m(s) X[ m(X)] Refutao
(1) h(s)

(2) h(X) m(X) ------------------Hip (3) m(s) Hiptese (4) h(s) RES(3,2) / {X=s} (5) RES(4,1)
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP

instanciao de varivel

18

Extrao de respostas
Exemplo Exemplo
Scrates homem. Scrates homem. Todo homem mortal. Todo homem mortal. Consulta: Quem mortal? Consulta: Quem mortal?

Formalizao: { h(s), X[h(X) m(X)] } Y[m(Y)] m(X)] Normalizao: { h(s), X[ h(X) m(X)] } Y[m(Y)] X[ m(X)] Refutao
Y [m(Y) ] Y [ m(Y) ] (2) h(X) m(X) ------------------Hip (3) m(Y) Hiptese resposta da consulta (4) h(Y) RES(3,2) / {Y=X} RES(4,1) (5) RES(4,1) / {Y=s}
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 19

(1) h(s)

Instanciao de variveis universais


Apenas variveis universais podem ser corretamente instanciadas. Apenas variveis universais podem ser corretamente instanciadas.

Varivel universal: Todo co fiel aaalgum Varivel universal: Todo co fiel algum
Frmula......: X[co(X) Y[fiel(X,Y)]] Frmula......: X[co(X) Y[fiel(X,Y)]] Instncia.....: co(rex) Y[fiel(rex,Y)] / {X=rex} Instncia.....: co(rex) Y[fiel(rex,Y)] / {X=rex} Significado.: Se Rex um co, ento Rex fiel a algum. Significado.: Se Rex um co, ento Rex fiel aalgum. algu algu Concluso..: aafrmula eesua instncia tm significados coerentes Concluso..: frmula sua instncia tm significados coerentes

Varivel existencial: Todo co fiel aaalgum Varivel existencial: Todo co fiel algum
Frmula......: X[co(X) Y[fiel(X,Y)]] Frmula......: X[co(X) Y[fiel(X,Y)]] Instncia.....: X[co(X) fiel(X,ana)] / {Y=ana} Instncia.....: X[co(X) fiel(X,ana)] / {Y=ana} Significado.: Todo co fiel a Ana. Significado.: Todo co fiel a Ana. Concluso..: aafrmula eesua instncia no tm significados coerentes Concluso..: frmula sua instncia no tm significados coerentes
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 20

Skolemizao de variveis existenciais


Supomos aaexistncia de uma funo que d o valor correto para aavarivel. Supomos existncia de uma funo que d o valor correto para varivel.

Varivel existencial: Todo co fiel aaalgum Varivel existencial: Todo co fiel algum
Frmula......: X[co(X) Y[fiel(X,Y)]] Frmula......: X[co(X) Y[fiel(X,Y)]] Instncia.....: X[co(X) fiel(X,dono(X))] / {Y=dono(X)} Instncia.....: X[co(X) fiel(X,dono(X))] / {Y=dono(X)} Significado.: Todo co fiel a seu dono. Significado.: Todo co fiel a seu dono. Concluso..: aafrmula eesua instncia tm significados coerentes Concluso..: frmula sua instncia tm significados coerentes A suposio destas funes foi originalmente proposta por Thoralf Skolem. A funo deve ter como argumentos todas as variveis que so globais a ela. Se no houver variveis globais, em vez de funo, podemos usar uma constante. Daqui em diante vamos considerar apenas variveis universais.
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 21

Unificao
Unificao Unificao
ooprocesso de encontrar um conjunto minimal de substituies que torna processo de encontrar um conjunto minimal de substituies que torna duas frmulas idnticas (a fim de que possamos usar resoluo). duas frmulas idnticas (a fim de que possamos usar resoluo).
Algoritmo de unificao Para unificar duas frmulas atmicas (sem variveis em comum): Compare as frmulas at achar uma discrepncia ou atingir o final de ambas. Ao encontrar uma discrepncia: Se nenhum dos elementos envolvidos for uma varivel, finalize com fracasso. Caso contrrio, substitua todas as ocorrncias da varivel pelo outro elemento e continue a comparao das frmulas. Ao atingir o final de ambas as frmulas atmicas, finalize com sucesso.
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 22

Unificao
Prolog implementa unificao por meio do predicado predefinido =/2 Prolog implementa unificao por meio do predicado predefinido=/2. =/2. =/2

Exerccio 3. Usando Prolog, verifique se os pares de frmulas podem ser unificados


?- gosta(ana,X) = gosta(Y,Z). ?- primo(X,Y) = prima(A,B). ?- igual(X,X) = igual(bola,bala). ?- ama(deus,Y) = ama(X,filho(X)). ?- cor(sapato(X),branco) = cor(sapato(suspeito),Y). ?- mora(X,casa(me(X))) = mora(joana,Y). ?- p(X) = p(f(X)). ?- p(f(Y),Y,X) = p(X,f(a),f(Z)).
Prof. Dr. Silvio do Lago Pereira DTI / FATEC-SP 23

Fim