Lógica de Predicados

Prof. Dr. Silvio do Lago Pereira
Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Motivação
Há vários argumentos que não podem ser adequadamente formalizados e validados em lógica proposicional.

Exemplo Exemplo
Sócrates ééhomem. Sócrates homem. Todo homem éémortal. Todo homem mortal. Logo, Sócrates éémortal Logo, Sócrates mortal intuitivamente, podemos ver que este argumento é válido sua formalização em lógica proposicional resulta em {p, q} r porém, não há como mostrar que {p, q} r é válido a validade deste argumento depende do significado da palavra “todo” para tratar este tipo de argumento precisamos da lógica de predicados
Prof. Dr. Silvio do Lago Pereira – DTI / FATEC-SP 2

Linguagem formal: elementos básicos A linguagem formal da lógica de predicados é mais expressiva que aquela da lógica proposicional. Esta maior expressividade decorre do fato de as fórmulas da lógica de predicados serem compostas pelos seguintes elementos básicos: objetos predicados conectivos variáveis quantificadores Prof. Dr. Silvio do Lago Pereira – DTI / FATEC-SP 3 .

fictícios: unicórnio. Silvio do Lago Pereira – DTI / FATEC-SP 4 . . atômicos ou compostos: um teclado é composto de teclas Nomes de objetos devem iniciar com letra minúscula! Nomes de objetos devem iniciar com letra minúscula! Prof....Linguagem formal: sintaxe Objeto Objeto ééqualquer coisa aarespeito da qual precisamos dizer algo qualquer coisa respeito da qual precisamos dizer algo Na lógica de predicados.. Dr. . Objetos podem ser: concretos: a bíblia. Saci-Pererê. a paz.. abstratos: o conjunto vazio.. a lua. . a noção de objeto é usada num sentido bastante amplo.

Silvio do Lago Pereira – DTI / FATEC-SP 5 .Linguagem formal: sintaxe Predicado Predicado denota uma relação entre objetos num determinado contexto denota uma relação entre objetos num determinado contexto A B C sobre(a.azul): o bloco B tem cor azul maior(a.c): o bloco A é maior que o bloco C proposições atômicas! Nomes de predicados também devem iniciar com letra minúscula! Nomes de predicados também devem iniciar com letra minúscula! Prof. Dr.b) : o bloco A está sobre o bloco B cor(b.

Dr. aapartir de proposições atômicas forma proposições compostas. Silvio do Lago Pereira – DTI / FATEC-SP 6 .b) ∧ sobre(b.m): A está sobre B e B está sobre a mesa ¬ cor(b.c) ∨ maior(c.b): o bloco B é maior que C ou C é maior que B Prof.Linguagem formal: sintaxe Conectivo Conectivo forma proposições compostas. partir de proposições atômicas A B C sobre(a.azul): a cor de B não é azul maior(b.

Dr. sem nomeá-los explicitamente permite estabelecer fatos sobre objetos.Linguagem formal: sintaxe Variável Variável permite estabelecer fatos sobre objetos. Nomes de variáveis devem iniciar com letra maiúscula! Nomes de variáveis devem iniciar com letra maiúscula! Prof. Silvio do Lago Pereira – DTI / FATEC-SP 7 . sem nomeá-los explicitamente bloco(X) : X é um bloco mesa(Y) : Y é uma mesa sobre(X. mas não podemos dizer se bloco(X) é verdadeiro ou falso até que a variável X tenha sido substituída ou quantificada.Y) : X está sobre Y não são proposições atômicas! Note que proposições atômicas são sentenças que podem ter valor verdadeiro ou falso.

Linguagem formal: sintaxe Quantificador Quantificador permite estabelecer fatos sobre objetos.Y) ∀X[bloco(X) → ∃Y[sobre(X.. sem enumerá-los explicitamente permite estabelecer fatos sobre objetos. sem enumerá-los explicitamente Há dois quantificadores: Universal.Y) ∧ (bloco(Y) ∨ mesa(Y))]] Prof. Dr.: ∀X[bloco(X)] estabelece que todo objeto X é um bloco Existencial.. Silvio do Lago Pereira – DTI / FATEC-SP 8 ..: ∃Y[mesa(Y)] estabelece que algum objeto Y é uma mesa Y[mesa(Y)] Estes quantificadores podem ser combinados numa mesma fórmula Todo bloco está sobre alguma coisa que é um bloco ou uma mesa Y[sobre(X..

b .Linguagem formal: semântica Interpretação Interpretação um conjunto não-vazio D um conjunto não-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 relação sobre D um mapeamento que associa cada predicado uma relação sobre D O quantificador universal denota conjunção Por exemplo. b . m} A fórmula ∃Y[mesa(Y)] equivale a mesa(a) ∨ mesa(b) ∨ mesa(c) ∨ mesa(m) Y[mesa(Y)] Equivalências X[α X[¬ ¬ ∀X[α(X)] ≡ ∃X[¬ α(X)] ¬ ∃X[α(X)] ≡ ∀X[¬ α(X)] X[α X[¬ Prof.c. para D = {a. m} A fórmula ∀X[bloco(X)] equivale a bloco(a) ∧ bloco(b) ∧ bloco(c) ∧ bloco(m) O quantificador existencial denota disjunção Por exemplo. Silvio do Lago Pereira – DTI / FATEC-SP 9 . para D = {a. Dr.c.

Universal negativo: Nenhum homem é extra-terrestre. denominadas enunciados categóricos: Universal afirmativo: Todos os homens são mortais. Silvio do Lago Pereira – DTI / FATEC-SP 10 .Representação de conhecimento Para facilitar a formalização se sentenças na lógica de predicados. Particular afirmativo: Alguns homens são cultos. Dr. destacamos quatro tipos de sentenças de especial interesse. Particular negativo: Alguns homens não são cultos. Prof.

..: para todo X.. Silvio do Lago Pereira – DTI / FATEC-SP 11 .: Todos os homens são mortais Sintaxe. Dr......Representação 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 q Exemplo: Sentença. se X∈h então X∈m Prof..: ∀X[h(X) → m(X)] Semântica..

....Representação 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 são disjuntos estabelece que os conjuntos p q são disjuntos p X q Exemplo: Sentença..: ∀X[h(X) → ¬ e(X)] Semântica.. se X∈h então X∉e Prof...: Nenhum homem é extra-terrestre Sintaxe.: para todo X.. Silvio do Lago Pereira – DTI / FATEC-SP 12 .. Dr.

: ∃X[h(X) ∧ c(X)] Semântica.: existe X tal que X∈h e X∈c Prof.Representação 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 têm intersecção não-vazia estabelece que os conjuntos p q têm intersecção não-vazia Exemplo: Sentença.......: Alguns homens são cultos Sintaxe. Silvio do Lago Pereira – DTI / FATEC-SP 13 .. Dr....

: ∃X[h(X) ∧ ¬ c(X)] Semântica....: Alguns homens não são cultos Sintaxe...Representação 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 não estão em q estabelece que existem elementos em p que não estão em q Exemplo: Sentença.... Silvio do Lago Pereira – DTI / FATEC-SP 14 .: existe X tal que X∈h e X∉c Prof.. Dr..

Há aves que não voam. Existem políticos não são honestos. Vegetarianos não gostam de açougueiros. Nenhuma bruxa é bela. Ninguém gosta de impostos. Algumas plantas são carnívoras. Dr. Formalize as sentenças a seguir usando lógica de predicados Toda cobra é venenosa. Tudo que sobe. Silvio do Lago Pereira – DTI / FATEC-SP 15 . desce. Pedras preciosas são caras. Prof. Não existe bêbado feliz.Representação de conhecimento Exercício 1. Toda mãe ama seus filhos.

Silvio do Lago Pereira – DTI / FATEC-SP 16 . Dr. Exemplo Sentenças Nem tudo que brilha é ouro. Existe algo que brilha e não é ouro.Equivalência entre sentenças Há sentenças que podem ser escritas em mais de uma forma. Fórmulas ¬∀X[b(X) o(X)] ¬∀X[b(X) → o(X)] o(X)] ∃X[b(X) ∧ ¬ o(X)] Equivalência ¬∀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.

Nem todo bêbado é fumante. Alguns bêbados são fumantes. Nem todo ator americano é famoso. Prof. Dr.Representação de conhecimento Exercício 2. Algumas estradas não são perigosas. Silvio do Lago Pereira – DTI / FATEC-SP 17 . Verifique se os pares de sentenças são equivalentes Nem toda estrada é perigosa. Alguns atores americanos não são famosos.

Todo homem éémortal. Sócrates homem. Silvio do Lago Pereira – DTI / FATEC-SP instanciação de variável 18 . Sócrates mortal Formalização: { h(s). Sócrates éémortal Logo.1) Prof.Validação de argumentos Exemplo Exemplo Sócrates ééhomem. Dr. ∀X[h(X) → m(X)] } m(s) m(X)] Normalização: { h(s). ∀X[¬ h(X) ∨ m(X)] } m(s) X[¬ m(X)] Refutação (1) h(s) ∆ (2) ¬ h(X) ∨ m(X) ∆ ------------------Hipó (3) ¬ m(s) Hipótese (4) ¬ h(s) RES(3. Logo. Todo homem mortal.2) / {X=s} (5) ⃞ RES(4.

1) / {Y=s} Prof. Todo homem mortal. Silvio do Lago Pereira – DTI / FATEC-SP 19 (1) h(s) . Dr.2) / {Y=X} RES(4.1) (5) ⃞ RES(4. Consulta: Quem éémortal? Consulta: Quem mortal? Formalização: { h(s). Todo homem éémortal. ∀X[h(X) → m(X)] } ∃Y[m(Y)] m(X)] Normalização: { h(s). Sócrates homem.Extração de respostas Exemplo Exemplo Sócrates ééhomem. ∀X[¬ h(X) ∨ m(X)] } ∃Y[m(Y)] X[¬ m(X)] Refutação ∆ ¬ ∃Y [m(Y) ] ≡ ∀Y [¬ m(Y) ] (2) ¬ h(X) ∨ m(X) ∆ ------------------Hipó (3) ¬ m(Y) Hipótese resposta da consulta (4) ¬ h(Y) RES(3.

.: ∀X[cão(X) → ∃Y[fiel(X.. Significado.: cão(rex) → ∃Y[fiel(rex..: Todo cão fiel a Ana..... Conclusão.: Se Rex um cão..: cão(rex) → ∃Y[fiel(rex.. Apenas variáveis universais podem ser corretamente instanciadas. algué algu Conclusão.... então Rex ééfiel a alguéém.....: ∀X[cão(X) → fiel(X..ana)] / {Y=ana} Instância...Y)] / {X=rex} Instância...ana)] / {Y=ana} Significado. então Rex fiel aalguém. Significado..: aafórmula eesua instância têm significados coerentes Conclusão.: fórmula sua instância não têm significados coerentes Prof.: Todo cão ééfiel a Ana.....: ∀X[cão(X) → ∃Y[fiel(X. Dr.: ∀X[cão(X) → fiel(X.Y)]] Fórmula...Instanciação de variáveis universais Apenas variáveis universais podem ser corretamente instanciadas.. Variável universal: “Todo cão ééfiel aaalguém” Variável universal: “Todo cão fiel alguém” Fórmula. Silvio do Lago Pereira – DTI / FATEC-SP 20 ...Y)]] Instância..Y)] / {X=rex} Significado..: Se Rex ééum cão.Y)]] Instância....: ∀X[cão(X) → ∃Y[fiel(X...: fórmula sua instância têm significados coerentes Variável existencial: “Todo cão ééfiel aaalguém” Variável existencial: “Todo cão fiel alguém” Fórmula..Y)]] Fórmula.: ∀X[cão(X) → ∃Y[fiel(X..: aafórmula eesua instância não têm significados coerentes Conclusão.

: aafórmula eesua instância têm significados coerentes Conclusão..Y)]] Instância.. Conclusão.: Todo cão ééfiel a seu dono. Dr.. Significado. A função deve ter como argumentos todas as variáveis que são globais a ela.: ∀X[cão(X) → fiel(X.. Daqui em diante vamos considerar apenas variáveis universais..Skolemização de variáveis existenciais Supomos aaexistência de uma função que dá o valor correto para aavariável. em vez de função.: ∀X[cão(X) → ∃Y[fiel(X. Se não houver variáveis globais.dono(X))] / {Y=dono(X)} Significado.: fórmula sua instância têm significados coerentes A suposição destas funções foi originalmente proposta por Thoralf Skolem.dono(X))] / {Y=dono(X)} Instância. Supomos existência de uma função que dá o valor correto para variável.. Variável existencial: “Todo cão ééfiel aaalguém” Variável existencial: “Todo cão fiel alguém” Fórmula.. Prof...: ∀X[cão(X) → fiel(X....Y)]] Fórmula.: Todo cão fiel a seu dono.. Silvio do Lago Pereira – DTI / FATEC-SP 21 .....: ∀X[cão(X) → ∃Y[fiel(X.... podemos usar uma constante.

duas fórmulas idênticas (a fim de que possamos usar resolução). substitua todas as ocorrências da variável pelo outro elemento e continue a comparação das fórmulas. Dr. finalize com fracasso. Algoritmo de unificação Para unificar duas fórmulas atômicas (sem variáveis em comum): Compare as fórmulas até achar uma discrepância ou atingir o final de ambas. Silvio do Lago Pereira – DTI / FATEC-SP 22 . finalize com sucesso. Prof.Unificação Unificação Unificação ééooprocesso de encontrar um conjunto minimal de substituições que torna processo de encontrar um conjunto minimal de substituições que torna duas fórmulas idênticas (a fim de que possamos usar resolução). Caso contrário. Ao encontrar uma discrepância: Se nenhum dos elementos envolvidos for uma variável. Ao atingir o final de ambas as fórmulas atômicas.

X) = igual(bola.primo(X.branco) = cor(sapato(suspeito).mora(X. ?.f(Z)). ?.X) = p(X.igual(X.Y.p(X) = p(f(X)).cor(sapato(X). Dr.Z). ?.casa(mãe(X))) = mora(joana.gosta(ana.Y) = ama(X.filho(X)). verifique se os pares de fórmulas podem ser unificados ?. ?.Unificação Prolog implementa unificação por meio do predicado predefinido =/2 Prolog implementa unificação por meio do predicado predefinido=/2. ?. ?.bala). =/2. ?.Y).f(a).ama(deus.Y) = prima(A. =/2 Exercício 3. Silvio do Lago Pereira – DTI / FATEC-SP 23 . Prof.p(f(Y).B).Y).X) = gosta(Y. Usando Prolog.

Fim .

Sign up to vote on this title
UsefulNot useful