Sei sulla pagina 1di 98

Informtica

Noes de Lgica

Gustavo Augusto Lima de Campos


Jerffeson Teixeira de Souza

3 edio
Fortaleza - Cear

2015

Qumica

Informatica_Nocoes de Logica-2013.indd 1

Cincias
Biolgicas

Artes
Plsticas

Informtica

Fsica

Matemtica

Pedagogia

30/04/15 17:58

Copyright 2015. Todos os direitos reservados desta edio UAB/CE. Nenhuma parte
deste material poder ser reproduzida, transmitida e gravada, por qualquer meio eletrnico, por fotocpia e outros, sem a prvia autorizao, por escrito, dos autores.
Presidenta da Repblica
Dilma Vana Rousseff
Ministro da Educao
Renato Janine Ribeiro
Presidente da CAPES
Jorge Almeida Guimares
Diretor de Educao a Distncia da CAPES
Jean Marc Georges Mutzig
Governador do Estado do Cear
Camilo Sobreira de Santana
Reitor da Universidade Estadual do Cear
Jos Jackson Coelho Sampaio
Vice-Reitor
Hidelbrando dos Santos Soares
Pr-Reitora de Graduao
Marclia Chagas Barreto
Coordenador da SATE e UAB/UECE
Francisco Fbio Castelo Branco
Coordenadora Adjunta UAB/UECE
Elosa Maia Vidal
Diretor do CCT/UECE
Luciano Moura Cavalcante
Coordenadora da Licenciatura em Informtica
Francisco Assis Amaral Bastos
Coordenadora de Tutoria e Docncia em Informtica
Maria Wilda Fernandes
Editor da UECE
Erasmo Miessa Ruiz
Coordenadora Editorial
Rocylnia Isidio de Oliveira

Conselho Editorial
Antnio Luciano Pontes
Eduardo Diatahy Bezerra de Menezes
Emanuel ngelo da Rocha Fragoso
Francisco Horcio da Silva Frota
Francisco Josnio Camelo Parente
Gisafran Nazareno Mota Juc
Jos Ferreira Nunes
Liduina Farias Almeida da Costa
Lucili Grangeiro Cortez
Luiz Cruz Lima
Manfredo Ramos
Marcelo Gurgel Carlos da Silva
Marcony Silva Cunha
Maria do Socorro Ferreira Osterne
Maria Salete Bessa Jorge
Silvia Maria Nbrega-Therrien
Conselho Consultivo
Antnio Torres Montenegro (UFPE)
Eliane P. Zamith Brito (FGV)
Homero Santiago (USP)
Ieda Maria Alves (USP)
Manuel Domingos Neto (UFF)
Maria do Socorro Silva Arago (UFC)
Maria Lrida Callou de Arajo e Mendona (UNIFOR)
Pierre Salama (Universidade de Paris VIII)
Romeu Gomes (FIOCRUZ)
Tlio Batista Franco (UFF)

Projeto Grfico e Capa


Roberto Santos
Diagramador
Francisco Jos da Silva Saraiva

Secretaria de Apoio s Tecnologias Educacionais


Av. Paranjana, 1700 - Campus do Itaperi - Fortaleza - Cear
(85) 3101-9962

Informatica_Nocoes de Logica-2013.indd 2

30/04/15 17:58

Sumrio
Apresentao.................................................................................................5
Parte 1 - Lgica Proposicional................................................................7
Captulo 1 - Introduo Lgica............................................................9
Introduo..................................................................................................9

Captulo 2 - Lgica Proposicional.......................................................13


1. Definio de uma Linguagem Proposicional...........................................13
2. E, Ou, No e Tabelas Verdade.............................................................14
2.1. Conectivo E...................................................................................14
2.2. Conectivo Ou................................................................................15
2.3. Conectivo No..............................................................................16
2.4. Tabelas Verdade...........................................................................17
3. Implicao e o Bi condicional..............................................................20
3.1. Equivalncia Lgica......................................................................20
3.2. Implicao.....................................................................................21
3.3. Bi-condicional................................................................................23
4. Tautologias...........................................................................................25
5. Argumentos..........................................................................................32
5.1. Validade de Argumentos...............................................................34
6. Validade, Programao e o Princpio da Demonstrao.....................38
7. Validade, Programao e a Extenso do Princpio..............................40

Parte 2 - Lgica de Predicados.............................................................45


Captulo 3 - Linguagem Lgica de Predicados..............................47
Introduo................................................................................................47
1. Linguagem Lgica de Predicados........................................................48

Captulo 4 - Quantificadores..................................................................51
Introduo................................................................................................51
1. Quantificando a funo proposicional p...............................................51
2. Negao de funes proposicionais quantificadas..............................53
2.1. Funes proposicionais quantificadas em linguagem natural......53
2.2. Negao de funes proposicionais quantificadas
em portugus........................................................................................54
3. Sentenas declarativas que envolvem mais de um quantificador.......55
4. Equivalncias lgicas...........................................................................55
5. Implicaes lgicas..............................................................................56

Informatica_Nocoes de Logica-2013.indd 3

30/04/15 17:58

Captulo 5 - Representao do conhecimento e programao


em lgica........................................................................................................59
Introduo................................................................................................59
1. Programa em Linguagem natural e sua representao
em Linguagem Lgica de Predicados......................................................60
2. Consulta em Linguagem natural e sua representao
em Linguagem Lgica de Predicados......................................................60

Captulo 6 - Funes e Predicados Computveis e a


Noo de Igualdade...................................................................................65
Introduo................................................................................................65
1. Programa em Linguagem natural e sua representao
em Linguagem Lgica de Predicados......................................................66
2. Consulta em linguagem natural e sua representao
em Linguagem Lgica de Predicados:.....................................................67
3. Mtodo de busca de respostas: Raciocnio a partir do objetivo
para trs...................................................................................................67

Parte 3 - Resoluo...................................................................................71
Captulo 7 - Converso para Forma Clausal...................................73
Introduo................................................................................................73
1. Algoritmo Converso para forma Clausal............................................74
2. Converter a frmula abaixo para Forma Clausal.................................75
3. Aplicao do algoritmo ao programa que nos fala sobre o mundo
de Marcos e Csar...................................................................................76
4. Novo programa.....................................................................................77

Captulo 8 - Algoritmo da Unificao.................................................79


Introduo................................................................................................79

Captulo 9 - Algoritmo da Resoluo.................................................85


Introduo................................................................................................85
1. Situaes nas quais a Resoluo pode detectar que no
existe contradio....................................................................................88
2. Resoluo lidando com Funes e Predicados Computveis e
a Noo de Igualdade..............................................................................89

Sobre os autores........................................................................................98

Informatica_Nocoes de Logica-2013.indd 4

30/04/15 17:58

Apresentao
Este livro destaca algumas das principais noes presentes no estudo da cincia do Raciocnio Lgico. Primeiramente, o livro enfatiza o
uso da linguagem Lgica na representao do conhecimento e os princpios que so empregados na demonstrao da validade de argumentos. Posteriormente, enfatiza a automao dos processos envolvidos na
demonstrao de validade e sua utilizao no contexto da programao em lgica. O contedo do livro foi divido em trs unidades: Lgica
Proposicional, Lgica de Predicados e Resoluo.
A Parte 1 apresenta informalmente os conceitos de proposies e proposi- es compostas, de teoria e raciocnio, e de sistemas formais. Em
seguida, apresenta o sistema formal Lgica Proposicional em duas partes.
A primeira parte apresenta a linguagem formal lgica proposicional, a semntica dos conectivos lgicos e as tabelas verdade, as noes de equivalncia lgica e implicao lgica, de tautologia e contradio. A segunda
parte apresenta a noo de argumento e o processo de demonstrao de
validade de um argumento.
A Parte 2 apresenta a linguagem Lgica de Predicados, a gerao de
frmulas bem formadas na linguagem e a semntica de proposies envolvendo quantificadores. Essa Unidade enfatiza a representao de proposies em Lgica de Predicados e identifica a analogia entre o processo de
demonstrao de validade de argumentos e a noo de programao em
lgica, onde o conceito de computao se confunde com o conceito de deduo, que, na Unidade, exemplificada com o mtodo do raciocnio para trs a
partir do objetivo a ser demonstrado, ou seja, de uma consulta a ser respondida por um programa em lgica.
A Parte 3 apresenta idias e algoritmos associados prova automtica de argumentos empregando o mtodo da Resoluo para a Lgica de
Predicados. So detalhados o algoritmo da Resoluo e os algoritmos de
Converso para a Forma Clausal, que o tipo de frmula bem formada manipulada pela Resoluo, e o algoritmo da Unificao, que necessrio durante
o processo de resoluo e para a obteno de respostas para consultas envolvendo variveis.
Os autores

Informatica_Nocoes de Logica-2013.indd 5

30/04/15 17:58

Informatica_Nocoes de Logica-2013.indd 6

30/04/15 17:58

Parte
Lgica Proposicional

Informatica_Nocoes de Logica-2013.indd 7

30/04/15 17:58

Informatica_Nocoes de Logica-2013.indd 8

30/04/15 17:58

Captulo

Introduo Lgica
Objetivos
Conhecer a linguagem formal Lgica Proposicional; assim como gerar
frmulas bem formadas nessa linguagem e atribuir valor verdade s frmulas, envolvendo conectivos lgicos, regras de inferncia que so empregadas no raciocnio correto e a forma geral em que os argumentos so
estabelecidos.
Aplicar o conhecimento adquirido nos processos de representao de
teorias e argumentos em Lgica Proposicional e de demonstrao de validade de argumentos.

Introduo
O objetivo deste captulo consiste em introduzir, informalmente, a idia do que
a Lgica e alguns outros conceitos bsicos, que acreditamos que facilitaro
a compreenso dos objetivos da disciplina e dos assuntos abordados nos prximos captulos e nas prximas unidades.
De uma maneira geral, as apologias abaixo definem, informalmente, o
que Lgica:
Lgica a cincia do raciocnio. (Malba Tahan)
Lgica a cincia das leis do pensamento e a arte de aplic-las
corretamente na pesquisa e na demonstrao da verdade. (R. Solivete)
A Lgica a cincia que dirige, por meio de leis, as operaes de nossa
razo, para que ordenada, facilmente alcance a verdade. (Sinibaldi)

Podemos entender o ato de raciocinar como um processo de derivao


de novos conhecimentos a partir de conhecimentos antigos. Em nosso curso,
o conhecimento expresso atravs de um conjunto de proposies. Uma
proposio uma sentena declarativa qual podemos atribuir um dos valo-

Informatica_Nocoes de Logica-2013.indd 9

30/04/15 17:58

10

Campos, G. A. L. de; Souza, J. T. de

res verdade: verdadeiro (V) ou falso (F). A proposio o bloco construtor da


Lgica. Por exemplo, as seguintes sentenas declarativas so proposies
simples:
Est chovendo
2 maior que 3
3 menor que 4
Nesse exemplo, podemos afirmar que, dependendo das condies climticas em um dado momento, a primeira proposio pode ser V ou F, a
segunda uma proposio F e a terceira V.
Por outro lado, existem algumas sentenas declarativas s quais no
conseguimos atribuir um valor verdade, as sentenas abaixo, por exemplo,
no so proposies.
x menor que 100
Esta sentena falsa
Nesses casos, a no ser que saibamos o valor de x, no primeiro exemplo, e a sentena que estamos afirmando ser falsa, no segundo, no conseguimos atribuir um valor verdade para as sentenas.
Alm das proposies simples, estamos acostumados a construir
proposies compostas a partir da combinao de proposies simples
(subproposies) e conectivos (e, ou, no, se-ento, se e somente se). As
sentenas abaixo, por exemplo, so proposies compostas:
Est chovendo e 2 maior que 3
2 maior que 3 ou 3 menor que 4
Nesses casos, independentemente das condies climticas, a primeira proposio F e a segunda V (se voc tem dvida, aguarde at a apresentao das tabelas verdade dos conectivos e e ou).
Uma teoria consiste de um conjunto de proposies a respeito de um
mundo particular. Por exemplo, o conjunto formado pelas trs proposies
que descrevem o estado de esprito de Scrates e Plato pode ser visto como
uma teoria.
Se Plato estiver disposto a visitar Scrates, ento Scrates est
disposto a visitar Plato.
Se Scrates estiver disposto a visitar Plato, ento Plato no est
disposto a visitar Scrates.
Se Scrates no estiver disposto a visitar Plato, ento Plato est
disposto a visitar Scrates.
Um sistema formal consiste de uma linguagem formal, apropriada para
representar teorias, e de uma abstrao adequada para os princpios usados

Informatica_Nocoes de Logica-2013.indd 10

30/04/15 17:58

Noes de Lgica

11

para provar quando certas proposies so consequncias lgicas de proposies que compem teorias.
A Lgica Proposicional um sistema formal apropriado para a representao de teorias simples, ou seja, aquelas compostas de proposies elementares (proposies que no envolvem quantificadores e variveis). Veja
como a teoria que fala a respeito do estado de esprito de Scrates e de Plato
poderia ser representada utilizando-se uma Linguagem Lgica Proposicional.
p q
q p
q p
Representando a Teoria sobre o mundo de Scrates e Plato atravs da
linguagem formal acima, podemos fazer uso de vrios mecanismos disponveis para a obteno de consequncias lgicas de proposies conhecidas.
Por exemplo, utilizando uma tabela verdade, podemos concluir que Scrates
est disposto a visitar Plato, ou seja:
p
F
F
V
V

q p q p q q p
F V
V
V
V
V V
F
V
V
F F
V
F
V
V F
F
V
F

q p
F
V
V
V

(p q)(q p)(q p) ((p q)(q p)(q p)) q


F
V
V
V
F
V
F
V

Nos prximos captulos e nas prximas unidades, apresentaremos as linguagens formais Lgica Proposicional e Lgica de Predicados, e os diversos mecanismos de inferncia disponveis para a obteno de consequncias lgicas.

Informatica_Nocoes de Logica-2013.indd 11

30/04/15 17:58

Informatica_Nocoes de Logica-2013.indd 12

30/04/15 17:58

Captulo

Lgica Proposicional

1. Definio de uma Linguagem Proposicional


A definio do sistema formal Lgica Proposicional passa pela definio da
Linguagem Proposicional e dos princpios que governam os conectivos lgicos pertencentes ao seu alfabeto. A definio dessa linguagem, por sua vez,
passa pela definio de um alfabeto de smbolos, empregados na construo
de frmulas, e das regras sintticas para a gerao de frmulas bem formadas (fbfs).
O alfabeto da Linguagem Proposicional definido a partir do seguinte
conjunto de smbolos:
conjunto de smbolos proposicionais: p, q, r, ...;
conectivos lgicos: ,

, , ;

parnteses: ( , ) .
Os smbolos proposicionais so empregados na representao das
subproposies, ou seja, das proposies simples estabelecidas em linguagem natural (Portugus, Ingls, etc.). Os conectivos lgicos representam,
respectivamente, as partculas e, ou, no, se-ento e se e somente se. Os
parnteses servem para denotar pontuao. A nvel de exemplo, tente perceber a conveno geralmente adotada quando utiliza-se de parnteses na
representao de proposies escritas em linguagem natural:
3+1 = 5 ou 1=1, implica 3 = 3

representada por

3+1 = 5 ou 1=1 implica 3 = 3

representada por

De acordo com a conveno acima, a primeira e a segunda proposies


tambm podem ser expressas, respectivamente, das seguintes maneiras:
se 3+1 = 5 ou 1=1, ento 3 = 3 e 3+1 = 5 ou se 1=1 ento 3 = 3.

Informatica_Nocoes de Logica-2013.indd 13

30/04/15 17:58

14

Campos, G. A. L. de; Souza, J. T. de

As regras sintticas da Linguagem Proposicional definem o conjunto de


frmulas bem formadas (fbfs) na linguagem como sendo:
os smbolos proposicionais so fbfs: p, q, r, ...;
se p e q so fbfs, ento
se p e q so fbfs, ento

so fbfs;
so fbfs.

A Linguagem Proposicional pode ser definida como o conjunto de todas


as fbfs possveis de serem geradas a partir do alfabeto de smbolos e das regras sintticas descritas acima.

2. E, Ou, No e Tabelas Verdade


Nesta seo, primeiramente, pretendemos criar proposies compostas em
linguagem natural utilizando as partculas e, ou e no e representar estas proposies como fbfs em linguagem Lgica Proposicional. De posse de uma fbf
particular em Lgica Proposicional, as regras semnticas da linguagem capturam o significado pretendido dos conectivos, associando a cada frmula um
dos valores verdade: V ou F. Posteriormente, utilizamos as Tabelas Verdade
como mecanismos apropriado para o estudo dos significados destas fbfs. A
seo foi dividida em quatro subsees principais:
1. Conectivo E
2. Conectivo OU
3. Conectivo NO
4. Tabelas Verdade

2.1. Conectivo E
Se p e q so duas proposies ento p e q , tambm, uma proposio.
Podemos dizer que.
p e q denominada conjuno de p e q;
p e q representada por p q.
De acordo com o esquema de representao adotado acima, dizemos que:
se ambas as proposies, p e q, so verdadeiras,

ento p q verdadeira

seno p q falsa.

Assim, de acordo com a proposio acima, o significado de p q pode


ser expresso atravs da seguinte tabela verdade:

Informatica_Nocoes de Logica-2013.indd 14

30/04/15 17:58

Noes de Lgica

F
F
V
V

F
V
F
V

15

pq
F
F
F
V

As trs primeiras proposies abaixo, por exemplo, so falsas (F), e a


ltima verdadeira (V).

3+1=6 e 2+2=5

2=5 e 2=2

2=2 e 2=3

2=2 e 3+4=7

2.2. Conectivo Ou
Se p e q so duas proposies ento p ou q , tambm, uma proposio.
Podemos dizer que.
p ou q denominada disjuno de p e q;
p ou q representada por

De acordo com o esquema de representao adotado acima, dizemos que.


se pelo menos uma das proposies, p ou q, verdadeira,

ento

verdadeira

seno

falsa.

Alm disso, o significado de


tabela verdade:

pode ser expresso atravs da seguinte

F
F
V
V

F
V
F
V

pq
F
V
V
V

A primeira proposio abaixo, por exempo, falsa, e as trs ltimas


so verdadeiras:

2 = 3 ou 2 + 2 = 5

2 = 3 ou 3 = 3

2 = 2 ou 2 = 3

2 = 2 ou 3 + 4 = 7

Informatica_Nocoes de Logica-2013.indd 15

30/04/15 17:58

16

Campos, G. A. L. de; Souza, J. T. de

Essa disjuno tambm denominada ou inclusivo, ou seja, corresponde ao e/ou algumas vezes encontrada em documentos. Nesse caso, conforme voc pode observar na tabela verdade que a define, a proposio composta verdadeira, inclusive, quando ambas as subproposies envolvidas
so verdadeiras. Na conversao ordinria, frequentemente usamos ou no
sentido exclusivo, por exemplo:
Quando voc telefonou eu estava tomando banho ou estava pas-seando
Neste caso, a verdade da proposio acima no inclui as duas subproposies, ou seja, ela verdadeira quando exatamente uma das subproposies verdadeira.
Considerando a observao acima, podemos utilizar a seguinte tabela
verdade para definir o ou-excluivo:
p

F
F
V
V

F
V
F
V

pq
F
V
V
F

Observe que, apesar de estarmos apresentando o "ou exclusivo", o


smbolo
no pertence ao conjunto de smbolos que define o alfabeto da
Linguagem Proposicional. Mais adiante, voc poder observar que esse smbolo no precisa fazer parte do alfabeto de smbolos da Linguagem Proposicional,
j que possvel construir seu significado, ou melhor, sua a tabela verdade, a
partir de, pelo menos, dois dos conectivos componentes do alfabeto.

2.3. Conectivo No
Se p uma proposio, no p tambm uma proposio. Podemos dizer
que:
no p denominada negao de p;
no p representada por p.
De acordo com o esquema de representao adotado acima, dizemos que:
se uma proposio, p, verdadeira

ento p falsa

seno p verdadeira.

Alm do mais, o significado de p pode ser expresso atravs da seguinte tabela verdade:

Informatica_Nocoes de Logica-2013.indd 16

30/04/15 17:58

Noes de Lgica

p
F
V

17

p
V
F


Observe que existem vrias maneiras de negar uma proposio escrita
em linguagem natural. Considere, por exemplo, as proposies abaixo:
1. 2 + 2 = 5
2. No o caso que 2 + 2 = 5
3. 2 + 2 5
4. 2 + 2 > 5
5. 2 + 2 5
6. x2 + 5x - 1 no uma equao quadrtica
7. No verdade que x2 + 5x - 1 no uma equao quadrtica
8. x2 + 5x - 1 uma equao quadrtica
Note que
a segunda e a terceira proposies so negaes da primeira;
a quinta proposio a negao da quarta;
a stima e oitava proposies so negaes da sexta.
Neste curso de Noes de Lgica, ser considerado que o smbolo se
aplica somente ao prximo smbolo proposicional, ou seja:
p

q significa (p)

q no significa (p

q
q)

Alm disso, considerando a representao de proposies em linguagem natural, adotaremos a seguinte conveno:
p
(p

q representa No o caso que p, ou q


q) representa No o caso que p ou q

2.4. Tabelas Verdade


Como voc j deve ter percebido, as tabelas verdade podem ser usadas para
expressar os valores verdade possveis de proposies compostas. A construo das colunas de uma tabela verdade pode ser realizada de uma maneira
sistemtica. Observe a construo da tabela verdade de (p q), que servir
de exemplo.

Informatica_Nocoes de Logica-2013.indd 17

30/04/15 17:58

18

Campos, G. A. L. de; Souza, J. T. de

Passo 1: preencher os valores verdade possveis de p e q


p

F
F
V
V

F
V
F
V

(pq)

Passo 2: preencher coluna q


p

F
F
V

F
V
F

V
F
F

Passo 3: preencher coluna p


p
F
F
V
V

q
F
V
F
V

q
q
V
F
V
F

Passo 4: preencher coluna (p


p
F
F
V
V

q
F
V
F
V

(pq)

q
V
F
V
F

(pq)
V
F
V
V

(pq)

(pq)
V
F
V
V

(pq)
F
V
F
F

q)

Aps um perodo de experincia, alguns dos passos escritos acima podem ser eliminados. Observe que, se uma proposio composta envolve n
subproposies, sua tabela verdade tem 2n linhas. Por exemplo: uma proposio composta por 3 subproposies tem 23 (oito) linhas.

Para refletir
1. Atribua valores verdade para as seguintes proposies:
a) 3 7 e 4 um inteiro mpar.
b) 3 7 ou 4 um inteiro mpar.
c) 2 + 1 = 3 mas 4 < 4.
d) 5 mpar ou divisvel por 4.

Informatica_Nocoes de Logica-2013.indd 18

30/04/15 17:58

Noes de Lgica

19

e) No verdade que 2 + 2 = 5 e 5 > 7.


f) No verdade que 2 + 2 = 5 ou 5 > 7.
g) 3 3.
2. Suponha que p represente a proposio 7 um inteiro par, q represente 3 + 1 = 4 e r
represente 24 divisvel por 8.
a) Escreva as seguintes proposies em formas simblicas e atribua valores verdade:
i) 3 +1 4 e 24 divisvel por 8.
ii) No verdade que 7 mpar ou 3 + 1 = 4.
iii) 3 + 1 = 4 mas 24 no divisvel por 8.
b) Escreva as seguintes formas simblicas em palavras e atribua valores verdade:
i) p

q.

ii) (r

q).

iii) r

q.

3. Construa tabelas verdade para:


a) p

q.

b) p

p.

c) (p

q)

d) (p

q).

e) p

q.

f) p

q.

r.

g) p p.
h) (p).
4. Apresente negaes adequadas para:
a) 3 - 4 < 7.
b) 3 + 1 = 5 e 2 4.
c) 8 divisvel por 3, mas 4 no .
5. Suponha que definamos o conectivo da seguinte maneira: se p falsa, e q verdadeira,
ento p q verdadeira, seno p q falsa.
a) Escreva a tabela verdade para p q.
b) Escreva a tabela verdade para q p.
c) Escreva a tabela verdade para (p p) q.
6. Denotemos o ou exclusivo, algumas vezes utilizado em nossas conversaes ordinrias,
por . Na definio de p q, se exatamente uma das formas p, q verdadeira ento
p q verdadeira, seno p q falsa.
a) Escreva a tabela verdade para p
b) Escreva as tabelas verdade para p

Informatica_Nocoes de Logica-2013.indd 19

q.
p e (p

q)

q.

30/04/15 17:58

20

Campos, G. A. L. de; Souza, J. T. de

c) Mostre que e/ou realmente significa e ou ou, isto , que a tabela verdade para p
a mesma que (p q) ( p q).

q)
(p
q), (p
q)
(p
q) possuem o
d) Mostre que as formas (p
mesmo significado, ou seja, e ou ou pode ser representado tanto por
(p q) (p q) quanto por (p q) (p q).

3. Implicao e o Bi condicional
Uma das mais importantes formas matemticas a implicao. A maioria dos
teoremas matemticos descrita neste formato, ou seja, como uma proposio do tipo se hiptese, ento concluso. O bi condicional uma forma
matemtica que pode ser composta a partir de duas implicaes e uma conjuno. Podemos demonstrar esta afirmao a partir do momento que apresentarmos uma definio para o conceito de equivalncia lgica. Dividimos
esta seo em trs subsees principais:
1. Equivalncia Lgica
2. Implicao
3. Bi-condicional

3.1. Equivalncia Lgica


Se duas proposies p e q tm a mesma tabela verdade, ento p logicamente equivalente a q. Podemos dizer que:
"p logicamente equivalente a q" representada por p q.
Quando duas proposies so logicamente equivalentes, elas tm a
mesma forma e, consequentemente, podemos substituir uma pela outra
em qualquer proposio ou teorema (aguarde um pouco mais e voc poder verificar o que estamos mencionando). Veja a equivalncia lgica atravs
da construo das tabelas verdade das proposies (p q) e p q:
p
F
F
V
V

q
F
V
F
V

p
V
V
F
F

q
V
F
V
F

(p q )
F
F
F
V

(p q )
V
V
V
F

p q
V
V
V
F

Observe que, independentemente de sabermos o que p e q representam, podemos afirmar que a fbf (p q) logicamente equivalente a fbf
p q. importante ressaltar que a forma de uma proposio que deter-

Informatica_Nocoes de Logica-2013.indd 20

30/04/15 17:58

Noes de Lgica

21

mina se a ela (ou se ela no ) logicamente equivalente a outra proposio,


e no o valor verdade das proposies envolvidas.
Por exemplo: as proposies 2 + 5 = 7 e 3 - 1 = 2 so proposies
verdadeiras mas elas no so logicamente equivalentes. Para comprovar, represente a primeira proposio pelo smbolo proposicional p e a segunda por
q e, em seguida, verifique as tabelas verdade das duas fbfs.
Por outro lado, 2 + 5 = 7 ou 3 - 1 = 2 e 3 - 1 = 2 ou 2 + 5 = 7, alm de
serem proposies verdadeiras, so logicamente equivalentes. Para comprovar, considerando o esquema de representao adotado no pargrafo anterior, represente a primeira proposio por p q e a segunda por q p e, em
seguida, verifique se as formas tm tabelas verdade idnticas.
As Leis de DeMorgan utilizam a ideia de equivalncia lgica para estabelecer a relao existente entre a negao, a conjuno e a disjuno.
se p e q so proposies, ento:
(p q) p q

(p q) p q

Em palavras, as Leis de DeMorgan estabelecem que a negao de uma


disjuno logicamente equivalente conjuno de negaes e que a negao de uma conjuno logicamente equivalente disjuno de negaes.

3.2. Implicao
Se p, q so proposies, ento se p ento q tambm uma proposio.
Podemos dizer que:
se p ento q denominada condicional entre p e q;
se p ento q representada por p q.
Nessa proposio, p denominada premissa (ou hiptese ou antecedente), e q denominada concluso (ou consequncia ou consequente).
De acordo com o esquema de representao adotado acima, dizemos que:
se p uma proposio verdadeira, e q uma proposio falsa,

ento p q falsa

seno p q verdadeira.

Alm disso, o significado de p q pode ser expresso atravs da seguinte tabela verdade:

Informatica_Nocoes de Logica-2013.indd 21

30/04/15 17:58

22

Campos, G. A. L. de; Souza, J. T. de

p
F
F
V
V

q
F
V
F
V

pq
V
V
F
V

Por exemplo, a primeira, a segunda e a quarta proposies abaixo so


verdadeiras e a terceira falsa:

Se verde vermelho ento a lua feita de queijo

Se verde vermelho ento 2 = 2

Se 2 = 2 ento verde vermelho

Se 2 = 2 ento a lua no feita de queijo

Podemos compreender melhor a tabela verdade da implicao, buscando um esclarecimento para o significado de uma proposio do tipo "se p ento
q". Uma proposio desse tipo nos diz exatamente que se p, o antecedente,
ocorrer (verdadeiro), ento q, o consequente, tambm deve ocorrer. Nesse
caso, dizemos que a ocorrncia de p suficiente para garantir a ocorrncia de
q, e, tambm, que, quando p ocorrer, q deve necessariamente ocorrer.
Considerando esse significado, podemos justificar a quarta linha da tabela verdade do condicional, ou seja, na situao em que o antecedente e o
consequente so V, o condicional , tambm, V, j que o significado da proposio "se antecedente ento consequente" est sendo respeitado.
Seguindo essa linha de raciocnio, somente a terceira linha da tabela parece violar o significado deste tipo de proposio, j que, nessa linha, o antecedente ocorre e o consequente no ocorre (falso), ou seja, quando o antecedente
V e o consequente F, o condicional das subproposies falso.
Alm do mais, observe que a proposio se "antecedente ento consequente" no nos diz nada a respeito de qual deve ser o estado do conseqente
(V ou F?) quando o antecedente F. Isso significa, que, tanto a primeira linha
da tabela (antecedente F e consequente F), quanto a segunda (antecedente
F e conseqente V) no violam o significado da proposio se-ento, ou seja,
o condicional de subproposies cujos valores verdade so semelhantes aos
dessas linhas V.
Uma melhor compreenso do significado de uma proposio no formato
de um condicional, tambm, d origem s seguintes equivalncia lgicas:

q p
p q (p q)

p q

Informatica_Nocoes de Logica-2013.indd 22

30/04/15 17:58

Noes de Lgica

23

Ou seja; quando p q verdadeira, ento q p verdadeira e vice-versa; e quando p q verdadeira ento porque (p q) verdadeira (isto , p q falsa) e vice-versa. A proposio q p denominada
contrapositiva de p q.
Alm do formato "se p ento q", existem outras maneiras de se estabelecer o condicional em Portugus:
Se p ento q
p implica q
p mais forte que q
q mais fraca que q
p somente se q
q se p
p suficiente para q
q necessria para p
Uma condio necessria para p q
Uma condio suficiente para q p

3.3. Bi-condicional
Se p e q so proposies, ento p se e somente se q (algumas vezes abreviado sss) tambm uma proposio. Podemos dizer que
p se e somente se q denominada bi condicional entre p e q;
p se e somente se q representada por pq.
De acordo com o esquema de representao adotado acima, dizemos que
se p e q tm o mesmo valor verdade

ento p q verdadeira

seno p q falsa.

Alm do mais, o significado de p q pode ser expresso atravs da


seguinte tabela verdade:
p
F
F
V
V

q
F
V
F
V

pq
V
F
F
V

Por exemplo, a primeira e a quarta proposies a seguir so verdadeiras, e a segunda e a terceira so falsas:

Informatica_Nocoes de Logica-2013.indd 23

30/04/15 17:58

24

Campos, G. A. L. de; Souza, J. T. de

verde vermelho se e somente se a lua feita de queijo

verde vermelho se e somente se 2 = 2

2 = 2 se e somente se verde vermelho

2 = 2 se e somente se a lua no feita de queijo

Existem outras maneira de se estabelecer o bi condicional em Portugus:


p necessria e suficiente para q
p equivalente a q
De acordo com o que o nome bi condicional indica, existe uma relao
entre esse conectivo e o condicional. Por exemplo: observe que p se e somente se q significa que q p e q p, ou seja,

p q (q p)

( q p).

Alm disso, de acordo com a subseo anterior, p q q p.


Assim, a relao entre o bi condicional e o condicional pode, tambm, ser expressa, de uma maneira mais simples, atravs da seguinte equivalncia lgica:

p q (p q)

(q p).

Ou seja, quando pq verdadeira ento pq verdadeira e qp


verdadeira e vice-versa.

Para refletir
1. Quais das formas abaixo so logicamente equivalentes?
a) p q.
e) p q.
b) p q.
f) (p q).
c) ( p q).
g) p q.
d) q p.
h) p q.
2. Mostre que os seguintes pares (formas) so logicamente equivalentes:
a) p (q r); (p q) ( p r).
b) p (q r); (p q) ( p r).
c) p q; (p q) ( q p).
d) p q; q p.
3. Mostre que os seguintes pares (formas) no so logicamente equivalentes:
a) (p q); p q.
b) (p q); p q.
c) p q; q p.
d) (p q); p q.
4. Indique quais proposies so verdadeiras:
a) Se 2 + 1 = 4 ento 3 + 2 =5.
b) Vermelho branco se e somente se verde azul.

Informatica_Nocoes de Logica-2013.indd 24

30/04/15 17:58

Noes de Lgica

25

c) 2 + 1 = 3 e 3 + 1 = 5 implica 4 impar.
d) Se 4 impar ento 5 impar.
e) Se 4 impar ento 5 par.
f) Se 5 impar ento 4 impar.
5. D exemplos de proposies ou mostre porque o exemplo no existe.
a) Uma implicao verdadeira com uma concluso falsa.
b) Uma implicao verdadeira com uma concluso verdadeira.
c) Uma implicao falsa com uma concluso verdadeira.
d) Uma implicao falsa com uma concluso falsa.
e) Uma implicao falsa com uma hiptese falsa.
f) Uma implicao falsa com uma hiptese verdadeira.
g) Uma implicao verdadeira com uma hiptese verdadeira.
h) Uma implicao verdadeira com uma hiptese falsa.
6. Transforme em smbolos:
a) p sempre que q.
b) p a menos que q.
7. D uma negao para p q em uma forma que no envolva o bi condicional.
8. Suponha que p,
deiras?
a) p q.
b) q p.
c) p (q r).
d) p q.

q e r so verdadeiras. Quais formas possuem interpretaes verdae) p r.


f) (p q) p.
g) (p q) q.

9. Temos cinco conectivos lgicos: , , , e ; cada um corresponde a uma


construo de nossa linguagem ordinria. Do ponto de vista lgico, poderamos expressar todos estes conectivos em termos de (somente) e . Mais ainda: se definirmos pq como sendo falsa quando tanto p e q so verdadeiras e pq como sendo
verdadeira em qualquer outro caso, poderamos expressar todas as cinco formas em
termos deste nico conectivo. Verifique parcialmente as declaraes dadas acima:
a) Achando uma proposio que equivalente a p q usando somente e .
b) Escrevendo a tabela verdade para pq.
c) Mostrando que pp equivalente a p.
d) Mostrando que (p q) (q p) equivalente a p q.

4. Tautologias
As tautologias formam uma classe de proposies muito importante. So proposies compostas sempre verdadeiras, isto , suas tabelas verdade contm somente valores verdadeiros (Vs) na coluna final. O fato de uma proposio ser uma
tautologia depende do formato da proposio, ou seja, da ordem em que os smbolos proposicionais so combinados com os conectivos e com os parnteses

Informatica_Nocoes de Logica-2013.indd 25

30/04/15 17:58

26

Campos, G. A. L. de; Souza, J. T. de

para a formao da fbf (representao da proposio que estamos considerando


ser uma tautologia). Por exemplo, a fbf p (p q) uma tautologia:
p
F
F
V
V

q
F
V
F
V

(p q)
F
V
V
V

p (p q)
V
V
V
V

Observe, na tabela verdade anterior, o fato de p (p q) ser uma tautologia independe dos significados atribudos s subproposies envolvidas (dos significados de p e q), ou seja, toda proposio composta possvel de ser representada por esta fbf configura uma tautologia. Por exemplo: considerando que p e q
representem, respectivamente, bananas so laranjas e bananas so bananas
(ou que p e q representem quaisquer outras duas proposies), o valor verdade
de p (p q) V, ou seja, se bananas so laranjas, ento bananas so laranjas
ou bananas so bananas uma proposio verdadeira (assim como, se 2 = 2
ento 2 = 2 ou 3 + 1 = 5 , tambm, uma proposio verdadeira).
importante que faamos a distino entre proposies verdadeiras e
tautologias. Nem sempre uma proposio verdadeira uma tautologia. Por
exemplo: 2 + 2 = 4 uma proposio verdadeira, mas no uma tautologia
pois, considerando sua representao por meio do smbolo proposicional p, a
tabela verdade desta fbf nem sempre verdadeira:
p
F
V

Por outro lado, para reforar a ideia de uma tautologia, podemos dizer
que a proposio 5 a raiz primitiva de 17 ou 5 no a raiz primitiva de 17
uma tautologia, independentemente do que venha a ser a definio de raiz
primitiva. Por exemplo: representando 5 a raiz primitiva de 17 pelo smbolo
proposicional p, observe que a tabela verdade da fbf p p contm somente
valores verdadeiros:
p
F
F
V
V

Informatica_Nocoes de Logica-2013.indd 26

q
F
V
F
V

p
V
V
F
F

p p
V
V
V
V

30/04/15 17:58

Noes de Lgica

27

A negao de uma tautologia, isto , uma proposio cuja tabela verdade contm somente valores falsos, denominada contradio. Por exemplo:
a fbf (p q) (p q) configura uma contradio:
p
F
F
V
V

q
F
V
F
V

q
V
F
V
F

(p q)
V
V
F
V

(p q)
F
F
V
F

(p q) (p q)
F
F
F
F

Observe que, como ocorre nas tautologias, o fato de (p q) (p


q) ser uma contradio independe dos significados atribudos s subproposies envolvidas, ou seja, toda proposio composta possvel de ser representada pela fbf (p q) (p q) configura uma contradio.
Tambm importante que faamos a distino entre proposies falsas
e contradies. Nem sempre uma proposio falsa uma contradio. Por
exemplo, 2 + 2 = 5 uma proposio falsa mas no uma tautologia pois,
considerando que ela pode ser representada pelo smbolo proposicional q,
sua tabela verdade nem sempre falsa:
q
F
V

Por outro lado, 2 + 2 = 5 e 2 + 2 5 uma contradio. Por exemplo:


considerando que essa proposio pode ser representada pela fbf p p,
observe que sua tabela verdade contm somente valores falsos:
q
F
V

q
V
F

qq
F
F

Utilizando a idia de tautologia, podemos clarear a diferena entre


equivalente e logicamente equivalente:
Duas proposies p e q so logicamente equivalentes se e somente se
p q for uma tautologia,
ou seja,

(p q) (pq verdadeira).

Informatica_Nocoes de Logica-2013.indd 27

30/04/15 17:58

28

Campos, G. A. L. de; Souza, J. T. de


Por exemplo, observe que (p q) ( q p) uma equivalncia
lgica, isto , (p q) ( q p):
p

(p q)

( q p)

(p q) ( q p)

F
F
V
V

F
V
F
V

V
V
F
F

V
F
V
F

V
V
F
V

V
V
F
V

V
V
V
V

Alm disso, utilizando a ideia de tautologia, podemos apresentar a definio de implicao lgica:
p q uma implicao lgica se p q for uma tautologia.
Nesse caso, dizemos que p implica logicamente q ou que q uma
consequncia lgica de p.
Uma implicao lgica desse tipo ser denotada por:
p

q.

Alm disso, considerando esse esquema de representao, note que:


(p

q) (p q verdadeira).

Por exemplo: observe que (p q) p uma implicao lgica, ou seja,


(p q) p, e p (p q) no.
p
F
F
V
V

q
F
V
F
V

(p q)
F
F
F
V

(p q) p
V
V
V
V

p (p q)
V
V
F
V

Note que, se p implica logicamente q, e p verdadeira, ento q deve,


tambm, ser verdadeira. Por exemplo: a posio 4 x 3 da tabela acima demonstra essa proposio (quando p q V ento p V). Observe que, no
caso em que uma implicao no uma implicao lgica, essa proposio
violada. Por exemplo: a posio 3 x 3 da tabela demonstra o que estamos
mencionando (quando p V ento p q F).
O fato de as tautologias serem sempre verdadeiras independentemente
dos significados das subproposies envolvidas muito importante. Na realidade, as tautologias formam as regras pelas quais raciocinamos. A seguir,
apresentamos um conjunto dessas regras. Em geral, elas so utilizadas quando raciocinamos durante os processos de demonstrao da validade de nos-

Informatica_Nocoes de Logica-2013.indd 28

30/04/15 17:58

Noes de Lgica

29

sos argumentos (aguarde at a prxima seo para comprovar o que estamos


mencionando) :
Observe na lista de tautologias a seguir:
4-16 so equivalncias lgicas enquanto 17-25 so implicaes lgicas;
p, q, r e s representam proposies;
t representa tautologia;
c representa contradio.
Assim, se quisermos raciocinar corretamente, deveremos empregar essas regras na obteno de consequncias lgicas de duas proposies conhecidas. Elas precisam estar incorporadas em nossa maneira de pensar. Observe
atentamente todas as tautologias e tente compreender porque elas so sempre
verdadeiras, independentemente do que p, q, r e s estejam representando.
Por exemplo: se uma pessoa diz esta blusa feita de algodo ou de
seda e, em seguida, uma outra pessoa observa melhor e diz ela no
feita de algodo o que voc poderia dizer a respeito? Raciocinando corretamente, por exemplo, e representando esta blusa feita de algodo
por p e esta blusa feita de seda por q e empregando a tautologia 22,
voc poderia dizer que a blusa feita de seda pois, se a blusa feita de
algodo ou de seda, e ela no feita de algodo, ento a blusa feita de
seda, ou seja, ((p q) p) q.
Alm do silogismo disjuntivo descrito acima, vale apresentar um tipo
de raciocnio muito comum em nossas conversaes ordinrias, ou seja, o
raciocnio modus ponens. Por exemplo: se verdade que uma pessoa, nomeada de Daniele, disse, em algum momento, se eu fizer os exerccios de
fixao, porque eu gostei da aula, e, atualmente, essa mesma pessoa diz
eu vou fazer os exerccios de fixao, o que poderamos concluir a respeito
da moa? Considerando a tautologia 19, (p (p q)) q, poderamos
afirmar que Danielle gostou da aula.
1.
2.
3.
4.

( p p)
pp
a) p (p p)
b) p (p

5.

p)

pp

Informatica_Nocoes de Logica-2013.indd 29

idempotent laws
double negation

30/04/15 17:58

30

Campos, G. A. L. de; Souza, J. T. de

6.

a) (p q) (q p)

commutative laws

b) (p q) (q p)
c) (p q) (q p)
7.

a) (p (q r) ((p q) r)

8.

q) r)
a) (p
(q r) ((p q) (p r))
b) (p (q r) ((p q) (p r))

distributive laws

9.

a) (p c) p

identity laws

b) (p

b) (p

(q

associative laws

r) ((p

c) c

d) (p t) t
d) (p

t) p

(p q) ( p q)
b) (p q) ( p q)

10.

a)

11.

a) (p q) ((p q)
b) (p q) ((p

(q p))

q) ( p

c) (p q) ( p
12.

q)

14.
15.

a) (p r)

equivalence

q))

a) (p q) ( p q)

(p q) (p q)
(p q) ( q p)
(p q) ((p q) c)

DeMorgans laws

implication

b)
13.

reductio ad absurdum

16.

(q r) ((p q) r)
b) ((p q) (p r)) (p (q r))
((p q) r) (p (q r))

exportation law

17.

p (p q)

addition

18.

(p

19.

(p

20.

((p q)

q) p

simplification

(p q)) q

modus ponens
modus tollens

22.

q) p
((p q) (q r)) (p r)
((p q) p) q

23.

(p c)

absurdity

24.

((p q)

25.

(p q) ((p r) (q r))

21.

Informatica_Nocoes de Logica-2013.indd 30

contrapositive

hypothetical syllogism
disjunctive syllogism

(r s)) ((p r) (q s))

30/04/15 17:58

Noes de Lgica

31

Com relao lista de tautologias, importante que tentemos assimilar


as formas das tautologias tal que possamos reconhecer quando as estivermos
utilizando. Alm do mais, importante reconhecermos o raciocnio incorreto,
isto , quando estivermos considerando incorretamente uma nova proposio
como sendo consequncia lgica de duas proposies conhecidas.

Para refletir
1. Determine quais das seguintes formas abaixo tm a forma de uma das tautologias apresentadas na lista em anexo (por exemplo, ( q p) q tem a forma de 18).

q ( q p).
b) q (q p).
c) (r p) ( r p).
d) (p q) ( p q).
a)

e) ( r q) ( q r).
f) (p ( r q)) ((r

(q r).
h) (( q p) q) p.

q) p).

g) r

2. D exemplos de proposies ou mostre porque o exemplo no existe.


a) Uma implicao lgica com uma concluso falsa.
b) Uma implicao lgica com uma concluso verdadeira.
c) Uma implicao lgica com uma hiptese verdadeira e uma concluso falsa.
3. Indique quais das seguintes proposies so verdadeiras.
a) (p (q r)) (p q).
b) ((p q) r) (p r).

q)) p.
d) ((p q) p) q.

c) (p (p

4. Quais das seguintes formas so tautologias, contradies ou nem uma e nem outra
coisa?
a) (p

q) (q p).

p p.
c) p p.
d) (p p) p.
b)

p) q.
f) (p q) (p q).

e) (p

g) [(p q) r] [p (q r)].

5. Quais das seguintes formas abaixo so corretas?


a) (p q) (p q).
b) (p q) (p q).
c) (p q) q.
6. Ser que associativa, isto , ser que ((p q) r) (p (q r))?
7. Ser que associativa, isto , ser que ((p q) r) (p (q r))?
8. Quais das seguintes proposies verdadeiras so tautologias?
a) Se 2 + 2 = 4 ento 5 mpar.

Informatica_Nocoes de Logica-2013.indd 31

30/04/15 17:58

32

Campos, G. A. L. de; Souza, J. T. de

b) 3 + 1 = 4 e 5 + 3 = 8 implica 3 + 1 = 4.
c) 3 + 1 = 4 e 5 + 3 = 8 implica 3 + 2 = 5.
d) Vermelho amarelo ou vermelho no amarelo.
e) Vermelho amarelo ou vermelho vermelho.
f) 4 mpar ou 2 par e 2 mpar implica que 4 mpar.
g) 4 mpar ou 2 par e 2 mpar implica que 4 par.
9.Quais das seguintes concluses so consequncias lgicas do conjunto de proposies p
q, r q, p?
a) q
b) r.
c)

p s

r
e) ( q r)
d)

f) q r

5. Argumentos
Argumentos so proposies descritas no formato de implicaes. Em geral,
o antecedente de um argumento uma conjuno de subproposies simples ou compostas, e o consequente uma subproposio do mesmo tipo
do antecedente. Sendo assim, podemos representar os argumentos de uma
pessoa atravs da seguinte forma geral:

(p1

p2 ... pn) q;

Onde p1, p2, ..., pn e q representam proposies em linguagem natural,


que esto ligadas por meio de conectivos.
Por exemplo: o quadro a seguir apresenta um argumento em Portugus
e sua representao em Linguagem Proposicional. Observe que o antecedente desse argumento uma conjuno de trs proposies compostas, e o
consequente uma proposio simples.
Argumento em Portugus
p1 - Se Plato estiver disposto a visitar Srates, ento Scrates est disposto a visitar Plato
p2 - Se Scrates est disposto a visitar Plato, ento Plato no est disposto a visitar Scrates
p3 - Se Scrates no est disposto a visitar Plato, ento Plato est disposto a visitar Scrates
q - Scrates est disposto a visitar Plato

Informatica_Nocoes de Logica-2013.indd 32

30/04/15 17:58

Noes de Lgica

33

Argumento em Linguagem Proposicional


Considerando:
p - Scrates est disposto a visitar Plato e
r - Plato est disposto a visitar Scrates,
temos:
p1 - r p
p2 - p
p3 -

pr

q - p.
Na forma geral: ((r p)

(p r) ( p r)) p

Vale ressaltar que os teoremas matemticos podem ser representados no formato dos argumentos. Observe a definio de Programa em
Lgica e Consulta a um Programa. Um Programa em Lgica (programa
= teoria) um conjunto de proposies a respeito de um mundo particular, e
uma Consulta a um Programa (consulta = consequncia lgica, ou no, da
teoria) em lgica uma proposio a respeito desse mundo.
Isso nos sugere uma analogia entre argumentos, e programas e consultas. Na realidade, essa analogia e o entendimento do processo de demonstrao da validade de argumentos so teis para a assimilao da idia de se
programar em Lgica. De acordo com essa analogia, um programa em Lgica
pode ser representado pelo conjunto de fbfs que compem o antecedente da
forma geral de um argumento correspondente, ou seja,

p1, p2, ..., pn;

e a consulta ao programa pela fbf que compe o consequente do argumento,


ou seja: q.
Por exemplo: considerando o argumento apresentado no incio desta
seo, temos o seguinte programa e consulta em Lgica Proposicional:
Programa em Linguagem Lgica Proposicional
p1 - r p
p2 - p
p3 -

pr
Consulta em Linguagem Lgica Proposicional

q -p?

Informatica_Nocoes de Logica-2013.indd 33

30/04/15 17:58

34

Campos, G. A. L. de; Souza, J. T. de

Na realidade, a ideia de Programao em Lgica fundamenta-se na analogia entre os argumentos, os programas e as consultas. Nesta disciplina, exploramos essa analogia programando em Linguagem Formal Lgica. Mas, antes
disso, ainda precisamos considerar o processo de demonstrao de validade de
argumentos e os meios que podem ser empregados para essa finalidade.

5.1. Validade de Argumentos


O que precisamos fazer para ganhar uma argumentao, ou seja, o que precisamos fazer para demonstrar que um argumento vlido? Primeiro, devemos
agir de uma maneira convincente, ou seja, devemos convencer a(s) pessoa(s) a
respeito da verdade lgica de nossa posio. Voc pode, por exemplo, comear
perguntando para uma pessoa: voc aceita que p1, p2, ..., pn so verdadeiras? Se
a resposta for sim, voc pode dizer: ento segue que q tambm, verdadeira. Em
seguida, para voc ganhar a argumentao voc deve provar que (p1 p2 ...
pn) q uma tautologia, ou seja, demonstrando que:

(p1 p2 ... pn) q.

Mais precisamente, devemos mostrar que, se a conjuno p1 p2


... pn for verdadeira (V), ento q tambm verdadeira (V). Nesse caso,
(p1p2...pn) q uma tautologia (na tabela verdade do argumento no
existe uma situao em que a conjuno das hipteses V e a concluso
F) e q consequncia lgica de p1 p2 ... pn.
Na Lgica Proposicional, podemos empregar, por exemplo, os seguintes meios para demonstrar que um argumento vlido:
Tabelas Verdade,
Princpio da Demonstrao e
Extenso do Princpio da Demonstrao.
Alm do mais, todos os meios empregveis na demonstrao da validade de argumentos podem ser empregados na obteno de respostas para
consultas. Na realidade, nas prximas quatro subsees utilizaremos trs
meios, utilizados na demonstrao da validade de argumentos, para implementar a idia de Programao em Lgica Proposicional. Assim, dividimos
essa seo em mais trs subsees:
a) Validade e as Tabelas Verdade
b) Validade e o Princpio da Demonstrao
c) Validade e a Extenso do Princpio da Demonstrao

Informatica_Nocoes de Logica-2013.indd 34

30/04/15 17:58

Noes de Lgica

35

a) Validade e as Tabelas Verdade


Utilizando uma tabela verdade, podemos provar a validade de um argumento
e, consequentemente, programar em Lgica Proposicional. Por exemplo: considere o argumento a respeito do mundo de Scrates e Plato e o mtodo da
Tabela Verdade respondendo sim para a consulta Scrates est disposto a
visitar Plato?:
Hipteses do Argumento
rp
p r
p r
Concluso do Argumento
p
Mtodo de Demonstrao da Validade do Argumento

Tabela Verdade
p

rp

p r

p r

(r p) (p r) (p r)

(r p) (p r) (p r) p

Como sempre que (r p) (p r) (p r) V, p V (ver terceira


linha da tabela verdade), ento (r p) (p r) (p r) p uma tautologia, consequentemente, um argumento vlido, ou seja, (r p) (p r)
(p r) p.
Logo, a resposta sim, ou seja, Scrates est disposto a visitar Plato.
Alm do disso, observe a seguir o Mtodo da Tabela Verdade demonstrando que um argumento no vlido, ou seja, respondendo que a consulta
no consequncia lgica do programa:

Informatica_Nocoes de Logica-2013.indd 35

30/04/15 17:58

36

Campos, G. A. L. de; Souza, J. T. de

Hipteses do Argumento
Se 2 + 2 = 4 ento 3 + 5 = 7
2 + 2 4
Concluso Argumento
3 + 5 7 ?
Hipteses do Argumento
Considerando:
p - 2 + 2 4 e
q - 3 + 5 = 7,
temos:
p1 - p q
p2 - p
Concluso do Argumento
q - q.
Assim, argumento na forma geral: ((p q) p) q
Mtodo de Demonstrao da Validade do Argumento
p

p q

(p q) p

((p q) p) q

F
F

F
V

V
V

V
F

F
V

F
F

V
V

Como nem sempre que (p q) p V, q V (ver quarta linha da tabela verdade), ento ((p q) p) q no uma tautologia, consequentemente, um
argumento no vlido, ou seja, q no consequncia lgica de (p q)p.
Nesse caso, consideraremos que a resposta 3 + 5 7 no consequncia lgica do programa.
Observe que, se o nmero de subproposies diferentes envolvidas em
um argumento/programa-consulta for muito grande, pode ser inconveniente
checar a validade de argumentos/responder a uma consulta utilizando uma
tabela verdade, pois essa tabela pode conter muitas linhas. Essa restrio impossibilita a utilizao generalizada de Tabelas Verdade na demonstrao da
validade de argumentos e/ou na Programao em Lgica Proposicional.

Informatica_Nocoes de Logica-2013.indd 36

30/04/15 17:58

Noes de Lgica

37

Para refletir
1. Onde for possvel, d exemplos; se no for possvel diga o motivo:
a) Um argumento no vlido com uma concluso falsa.
b) Um argumento vlido com uma concluso verdadeira.
c) Um argumento no vlido com uma concluso verdadeira.
d) Um argumento vlido com uma concluso falsa.
e) Um argumento vlido com uma hiptese verdadeira e uma concluso falsa.
f) Um argumento no vlido com uma hiptese verdadeira e uma concluso falsa.
g) Um argumento vlido com uma hiptese falsa e uma concluso verdadeira.
2. Determine a validade dos argumentos descritos em Linguagem Lgica Proposicional,
usando tabelas verdade:
a) p q
b) p q
c) p q
p q
rq
p
qp
q
q
r
d) q p
q
p

e) p
pq

f) (p q) (r s)
r
p q

g) p q
q r
s (p r)
s
q

h) p q
q r
r p
(p q)

i) p q
r q
r p
p

j) p p
p

k) p q
pr
r
q

l) p
q p
q (r s)
r
s
3. A seguir, apresentamos alguns argumentos. Determine a validade dos argumentos/responda s consultas descritas em Portugus, utilizando tabelas verdade:
a) Hipteses do Argumento 1
Se o dia est bonito, ento vou praia
No vou praia
Concluso do Argumento 1
O dia no est bonito ?
b) Hipteses do Argumento 2
Se Nazar Coelho est na Universidade, ento Pedro est no hospital e Jos mudou de
emprego
Jos mudou de emprego
Pedro est no hospital

Informatica_Nocoes de Logica-2013.indd 37

30/04/15 17:58

38

Campos, G. A. L. de; Souza, J. T. de

Concluso do Argumento 2
Nazar Coelho est na Universidade ?
c) Hipteses do Argumento 3
Se Joo descobre a conspirao e der valor a sua vida, ento abandonar o pas
Joo d valor a sua vida
Concluso do Argumento 3
Se Joo descobre a conspirao ento abandonar o pas ?
d) Hipteses do Argumento 4
Se Talita conseguir arranjar um carro emprestado e for pela auto estrada, ento chegar antes de terminar o prazo
Talita chegar antes de terminar o prazo
Concluso do Argumento 4
Se Talita consegue arranjar um carro emprestado ento vai pela auto estrada ?
e) Hipteses do Argumento 5
Se Gerson no est em condies, ento Bira ser zagueiro de rea ou Miguel ser o
zagueiro de rea
Bira no o zagueiro de rea
Concluso do Argumento 5
Se Miguel no o zagueiro de rea, ento Gerson est em condies ?
f) Hipteses do Argumento 6
Se Almir apoia o presidente, ento Jader apoia o novo candidato
Se Jader apoia o novo candidato, ento Hlio abandonar o partido
Se Hlio abandona o partido, ento Almir no apoia o presidente
Concluso do Argumento 6
Almir no apoia o presidente ?
g) Hipteses do Argumento 7
Se Paulo se retira da reunio, ento Baslio ser nomeado ou Clara ficar desapontada
Baslio no ser nomeado
Concluso do Argumento 7
Se Paulo se retira da reunio, ento Clara ficar desapontada ?

6. Validade, Programao e o Princpio


da Demonstrao
Alm da tabela verdade, tambm, podemos provar a validade de um argumento
empregando o Princpio da Demonstrao. Veja o enunciado deste princpio:
Uma demonstrao que o argumento (p1 p2 ... pn) q vlido uma sequncia de proposies s1 , s2 , ... , sk tal que sk (ltima proposio na sequncia) = q
(a concluso) e cada si , 1 i k satisfaz um ou mais dos requisitos:
a) si uma das hipteses do argumento (p1 , p2 , ... , pn,);
b) si uma tautologia;
c) si uma consequncia lgica de proposies recentes na sequncia.

Informatica_Nocoes de Logica-2013.indd 38

30/04/15 17:58

Noes de Lgica

39

Por exemplo: observe o Princpio da Demonstrao mostrando que o


argumento sobre o mundo de Scrates e Plato vlido, ou seja, que a resposta consulta sim:
Hipteses do Argumento
p1 - r p
p2 - p r
p3 - p r
Concluso do Argumento
q - p.
Mtodo de Demonstrao da Validade do Argumento
Princpio da Demonstrao
s1 = r p

s2 = p r

s3 = (r p) (p r)

s4 = Tautologia 21 - ((p q) (q r)) (p r))

s5 = (r r)

s6 = Tautologia 12.a) - (p q) (p q)

s7 = r r

s8 = (r r) r
s10 = p r

s9 = r

utilizando Tautologia 20
((p q) q) p
s11 = (p)

s12 = Tautologia 5 - p p

s13 = p

Assim, como a ltima proposio na sequncia, s13, a concluso do


argumento/consulta ao programa ento o argumento vlido e, consequentemente, a resposta sim.

Para refletir
1. Para cada um dos argumentos que voc considerou como vlidos na Atividade de
Avaliao 3 (Seo Validade e as Tabelas Verdade), utilize a Adaptao do Princpio da
Demonstrao para a Programao em Lgica e mostre que cada uma das respostas correspondentes sim.

Informatica_Nocoes de Logica-2013.indd 39

30/04/15 17:58

40

Campos, G. A. L. de; Souza, J. T. de

7. Validade, Programao e a Extenso do Princpio


A Extenso do Princpio da Demonstrao outra forma de se provar a validade de argumentos e, consequentemente, de se programar em lgica. um
mtodo de prova indireta ou prova por contradio. A Tautologia 14 - (p
q) ((p q) c) fundamenta a prova por contradio. Podemos perceber
melhor esse mtodo empregando essa tautologia forma geral do argumento,
ou seja:
((p1 p2 ... pn) q) ((p1 p2 ... pn q) c).
Assim, de acordo com a equivalncia lgica acima, a extenso nos diz
que, para mostrarmos que o argumento vlido/que a resposta sim, devemos mostra que a conjuno das hipteses do argumento/fbfs do programa
com a negao da concluso do argumento/consulta ao programa implica em
uma contradio, ou seja:
(p1 p2 ... pn q) c.
Mais especificamente, aplicando a Extenso do Princpio da Demonstrao para provar a validade de um argumento/responder consulta, o processo de prova deve terminar quando a ltima proposio na sequncia, sk,
for uma contradio e, somente nesse caso, a resposta ser sim. Observe a
extenso mostrando que o argumento sobre o mundo de Scrates e de Plato
vlido, ou seja, que a resposta consulta sim:
Hipteses do Argumento
p1 - p q
p2 - q p
p3 - p q
Concluso do Argumento
q - q.
Negao da Concluso do Argumento
q - q.
p1 - p q

Novas Hipteses do Argumento

p2 - q p
p3 - p q
p4 - q
Nova Concluso do Argumento
q - contradio.

Informatica_Nocoes de Logica-2013.indd 40

30/04/15 17:58

Noes de Lgica

41

Mtodo de Demonstrao da Validade do Argumento


Extenso do Princpio da Demonstrao
s1 = q

s2 = p q
utilizando Tautologia 22
(p q) p) q
s4 = p q

s3 = p

utilizando Tautologia 19
(p (p q)) q
s5 = q

s6 = q

s7 = q q

s8 = (q q) contradio

s9 = contradio

Observe, que na sequncia de proposies ( s1 , s2 , ... , s9 ), cada uma


das proposies satisfaz, a pelo menos, um dos requisitos descritos no enunciado do Princpio da Demonstrao, ou seja:
a) s1 , s2 , s4 , s6 so hipteses do argumento/fbfs do programa, inclusive a
consulta negada, s6;
b) s8 uma tautologia;
c) s3 , s5 , s7, s9 so consequncias lgicas de proposies recentes na sequncia.
Assim, como a ltima proposio na sequncia s9 a nova concluso
do argumento/nova consulta ao programa, isto , a negao da concluso do
argumento/negao da consulta ao programa uma contradio, ento o
argumento vlido, e consequentemente, a resposta sim.
Diferentemente da Tabela Verdade, o Princpio da Demonstrao e a
Extenso do Princpio no demonstram que um argumento no vlido; o fato
de no se demonstrar a validade no garante que o argumento seja no vlido.
Para se demonstrar a no validade de um argumento, alm da Tabela
Verdade, podemos tentar encontrar um contra exemplo, ou seja, uma interpretao para as subproposies envolvidas no argumento tal que suas hipteses, p1 ,p2 , ... , pn, sejam todas verdadeiras e a concluso, q, seja falsa. Nesse

Informatica_Nocoes de Logica-2013.indd 41

30/04/15 17:58

42

Campos, G. A. L. de; Souza, J. T. de

caso, o argumento no vlido pois, (V V ... V) F F. Por exemplo,


o argumento
p1 - p q
p2 - p q
q - q p.
Mais precisamente, ( (p q) (p q) ) (q p) no vlido pois
se, por exemplo, p for interpretado como 2 < 1 (uma subproposio F), e q
como 3 > 2 (uma suproposio V), todas as hipteses do argumento sero
verdadeiras
p1 - F V V
p2 - V V V,
e a concluso do argumento falsa,
q - V F F;
Logo, essas interpretaes produzem um argumento no vlido,
(V V ) F F.
Assim,
se 2 < 1 ento 3 > 2
2 > 1 ou 3 >2
se 3 >2 ento 2 < 1
um contra exemplo para o argumento.

Atividades de avaliao
1. Para cada um dos argumentos que voc considerou como vlidos na
Atividade de Avaliao 3 na Seo Validade e as Tabelas Verdade, utilize a Extenso do Princpio da Demonstrao e mostre que cada uma
das respostas correspondentes sim.
2. Para cada um dos argumentos que voc considerou como no vlidos
na Atividade de Avaliao 3 na Seo Validade e as Tabelas Verdade,
encontre um contra exemplo.

Informatica_Nocoes de Logica-2013.indd 42

30/04/15 17:58

Noes de Lgica

43

Leituras
PAIXO, Walter. Aprendendo a raciocinar: lgica para iniciantes. So Paulo:
Humanitas, 2007.
ABE, Jair Minoro; SCALZITTI, Alexandre e SILVA FILHO, Joo Incio. Introduo lgica para a cincia da computao. So Paulo: Arte & Cincia, 2002.
SOUZA, Joo Nunes de. Lgica para cincia da computao: uma introduo concisa. 2 ed. Rio de Janeiro: Elsevier, 2008.

Filmes/Vdeos
Raciocnio Lgico - lgebra das Proposies, Lgica Proposicional.
Durao: 43min 53s. Video aula que aborda: Raciocnio Lgico - lgebra
das Proposies, Lgica Proposicional - Tabela Verdade. Aula bastante didtica com o Prof. Pedro Evaristo. Acesso em: https://www.youtube.com/
watch?v=H8DiPEokCsg
Raciocnio Lgico - Conectivos Lgicos - Estudo das Negaes e Argumentao. Durao: 35min 44s. Video aula que aborda: Raciocnio Lgico Conectivos Lgicos - Estudo da Negao. Aula bastante didtica com o Prof.
Pedro Evaristo. Acesso em: https://www.youtube.com/watch?v=e2sXcHuLTjk
Eletrnica Digital - Tabela Verdade. Durao: 24min 38s. Vdeo aula de eletrnica digital sobre a definio, formao e metodologia de montagem da
Tabela Verdade. Neste vdeo apresentada principalmente uma metodologia
para a montagem geral de qualquer Tabela Verdade. Acesso em: https://www.
youtube.com/watch?v=w0X7mM-_0Vo

Sites
http://www.infoescola.com/matematica/logica-proposicional/
http://www.pucsp.br/~logica/Proposicional.htm
http://www.pucrs.br/famat/demat/facin/exerc.htm

Informatica_Nocoes de Logica-2013.indd 43

30/04/15 17:58

Informatica_Nocoes de Logica-2013.indd 44

30/04/15 17:58

Parte
Lgica de Predicados

Informatica_Nocoes de Logica-2013.indd 45

30/04/15 17:58

Informatica_Nocoes de Logica-2013.indd 46

30/04/15 17:58

Captulo

Linguagem Lgica de
Predicados
Objetivos
Conhecer a linguagem formal Lgica de Predicados, assim como gerar frmulas bem formadas nessa linguagem, a atribuio de valor verdade s
frmulas envolvendo quantificadores, algumas implicaes e equivalncias
lgicas que podem ser empregadas durante o processo de raciocnio.
Aplicar o conhecimento adquirido nos processos de representao de programas em Lgica de Predicados e de raciocnio automtico na obteno
de respostas para consultas realizadas aos programas.

Introduo
Uma teoria consiste de um conjunto de proposies acerca de um universo
de discurso (U). Considere o exemplo abaixo:
Catlogo:
p1. Soma.for um programa FORTRAN
p2. Soma.pas um programa PASCAL
p3. Soma.pro um programa PROLOG
p4. Todo programa FORTRAN um programa procedimental
p5. Todo programa PASCAL um programa procedimental
p6. Todo programa PROLOG um programa declarativo
U = {Soma.for. Soma.pas, Soma.pro, FORTRAN, PASCAL, PROLOG}
Um sistema formal consiste de uma linguagem formal e de uma abstrao adequada para os princpios usados para decidir quando uma proposio consequncia lgica de outras.

Informatica_Nocoes de Logica-2013.indd 47

30/04/15 17:58

48

Campos, G. A. L. de; Souza, J. T. de

A Lgica Proposicional um exemplo de sistema formal.


Nesse contexto, a Lgica de Predicados de Primeira Ordem uma
extenso da Lgica Proposicional que pode ser caracterizada como um sistema formal apropriado definio de teorias acerca de diversos universos
de discurso.
A Linguagem Lgica de Predicados permite a representao de proposies que no podem ser representadas razoavelmente na Linguagem
Lgica Proposicional.
Exemplo:
Proposio

Lgica Proposicional

Lgica de Predicados

p1. Scrates um homem

homem(Scrates)

p2. Plato um homem

homem(Plato)

p3. Todos os homens so mortais

x:(homem(x) mortal(x))

A Resoluo para Lgica de Predicados permite que se decida se


uma proposio consequncia lgica de outras.

1. Linguagem Lgica de Predicados


O Alfabeto (A) da Linguagem Lgica de Predicados consiste de:
a) uma srie de smbolos lgicos:
variveis;
conectivos lgicos;
quantificadores;
pontuao;
smbolo de igualdade;
b) e de uma srie de smbolos no lgicos:
constantes;
smbolos predicativos;
smbolos funcionais.

Informatica_Nocoes de Logica-2013.indd 48

30/04/15 17:58

Noes de Lgica

49

constantes - servem para denotar


indivduos especficos do universo
de discurso
Smbolo Lgicos
pontuao: ( , )
smbolo de igualdade (opcional): =
variveis: x, y, ...
conectivos lgicos: , , , ,
quantificadores: ,

Smbolos No-lgicos
constantes: FORTRAN, PASCAL, PROLOG, ...
smbolos predicativos: programa, procedimental, declarativo, ...
smbolo funcionais: sen, cos, ...

quantificador universal - "para todo .."


quantificador existencial - existe ..."

smbolos predicativos - servem para


denotar relaes entre indivduos.
smbolos predicativos - servem para
denotar funes sobre indivduos.

variveis - servem para denotar indivduos


arbitrrios do universo de discurso.

Um termo particular da linguagem pode ser:


uma varivel,
uma constante ou
uma expresso da forma f(t1, t2, tm), onde
f um smbolo funcional admitindo m argumentos e
t1, t2, ..., tm so termos.
As Regras Sintticas da linguagem definem as sentenas da linguagem como sendo frmulas de dois tipos:
a) frmula atmica da forma p(t1, t2, tn), onde
p um smbolo predicativo admitindo n argumentos e
t1, t2, ..., tn so termos;
b) expresso obtida compondo-se frmulas
atravs dos conectivos lgicos ou
prefixando-se frmulas com quantificadores.
Considere o exemplo a seguir:

Informatica_Nocoes de Logica-2013.indd 49

30/04/15 17:58

50

Campos, G. A. L. de; Souza, J. T. de

Termos - permitem denotar indivduos do


domnio de discurso diretamente atravs de seus
nomes ou indiretamente atravs de funes.

Termos
varivel: x, y, ...
constantes: 0, 1, Soma.for ...

Frmulas
frmula atmica: programa(Soma.for, FORTRAN), procedimental(x), ...

expr. func.: sen(x), cos(y), ...

frmula: x:(programa(x, FORTRAN) procedimental(x)), ...

frmula: programa(Soma.for, FORTRAN) programa(Soma.pas, PASCAL)

Frmulas atmicas permitem expressar


relaes entre indivduos do universo de
discurso e as propriedades destes.

Frmulas (no atmicas) permitem


expressar propriedades das relaes entre
indviduos do universo de discurso.

A Linguagem Lgica de Predicados o conjunto de frmulas bem


formadas sobre A.
As Regras Semnticas da linguagem capturam o significado das
frmulas definidas sobre o alfabeto associando um dos valores verdade
V ou F.
Veja o exemplo abaixo:
Universo
U = conj. reais

Alfabeto
A = {maior, x, y, ... } U

Significado
maior(x, y) = V sss (x, y) {(m,n) UxU
| m > n}
maior(2, 1) = V
maior(1, 1) = F

Informatica_Nocoes de Logica-2013.indd 50

30/04/15 17:58

Captulo

Quantificadores
Introduo
Uma Proposio uma sentena declarativa que verdadeira ou falsa.
Exemplo:
Proposio

Valor Verdade

2 < 3

Verdadeira

Uma Funo Proposicional uma sentena declarativa contendo


uma ou mais variveis, que se torna uma proposio quando valores particulares (interpretaes) so atribudos s variveis.
O Domnio de Discurso de uma funo proposicional o conjunto de
valores possveis para as variveis da funo. Supondo-se D o domnio de
discurso de uma funo proposicional p, podemos tornar p uma proposio
substituindo vrios membros de D em p
Considere o seguinte exemplo:
Funo Proposicional

x D1 = {1,2,3}

y D2 = {2,4}

Proposio

Representao

V. Verdade

x < 3

1 < 3

p(1)

verdadeira

x < 3

2 < 3

p(3)

falsa

x < y

2 < 4

q(2, 4)

verdadeira

x < y

3 < 2

q(3, 2)

falsa

1. Quantificando a funo proposicional p.


Maneiras de se quantificar uma funo proposicional:
prefaciar a funo proposicional com para todo x em D e
prefaciar a funo proposicional com existe um x em D tal que

Informatica_Nocoes de Logica-2013.indd 51

30/04/15 17:58

52

Campos, G. A. L. de; Souza, J. T. de

Veja o exemplo:
F. Prop.

Representao

Proposio

Representao

x < 3

p(x)

para todo x em D1, p(x)

x:p(x)

x < 3

p(x)

existe x em D1 tal que p(x)

x:p(x)

x < y

q(x, y)

para todo x em D1, existe y em D2 tal que


q(x, y)

x:y:q(x, y)

x < y

q(x, y)

existe x em D1 tal que para todo y em D2,


q(x, y)

x:y:q(x, y)

O Valor Verdade de uma funo proposicional quantificada determinado da seguinte forma:


Se p(x) verdadeira para toda interpretao de x em D
ento x : p(x) verdadeira
seno x : p(x) falsa
Se p(x) verdadeira para pelo menos uma interpretao de x em D
ento x : p(x) verdadeira
seno x : p(x) falsa
Observao: o valor verdade de uma funo proposicional depende do domnio D utilizado

Se D finito, com elementos x1, x2, ..., xn,


ento x : p(x) equivalente a p(x1) p(x2) ... p(xn) e
x : p(x) equivalente a p(x1) p(x2) ... p(xn)
Se D vazio, no contm elementos,
ento x : p(x) verdadeira e
x : p(x falsa

Para refletir
1. Seja x D = {1, 2, 3, 4}, y S = {-1, 0, 1, 2}, p(x) x < 3 e q(y) y < 3. Verifique o valor
verdade das seguintes proposies: x : p(x), y : q(y), x : p(x), y : q(y).
2. Seja x D o conjunto de matemticos acima de trs metros de altura, p(x) x gosta
de chocolate. Verifique o valor verdade das seguintes proposies: x : p(x), x : p(x).

Informatica_Nocoes de Logica-2013.indd 52

30/04/15 17:58

Noes de Lgica

53

2. Negao de funes proposicionais quantificadas


Funes proposicionais quantificadas com para todo e existe esto relacionadas atravs do conectivo de negao, da forma como se segue.
(x : p(x)) x : p(x)
(x : p(x)) x : p(x)
Exemplo:
(x : (p(x) q(x))) x : ( p(x) q(x))
(x : (p(x) q(x))) x : (p(x) q(x))

2.1. Funes proposicionais quantificadas


em linguagem natural
Em linguagem natural, as funes proposicionais quantificadas so frequentemente utilizadas de diversas formas, como mostrado nos exemplos a seguir:
Existe um inteiro tal que seu quadrado nove
D = conjunto dos inteiros
p(x) x2 = 9
x : p(x)
Se f diferencivel, ento f contnua
D = conjunto de funes
p(f) f diferencivel
q(f) f contnua
f : (p(f) q(f))
Todo estudante de lgica entende quantificadores
D = conjunto de estudantes
p(x) x estudante de lgica
q(x) x entende quantificadores
x : (p(x) q(x))
Alguns estudantes de lgica entendem quantificadores
D = conjunto de estudantes
p(x) x estudante de lgica
q(x) x entende quantificadores
x : (p(x) q(x))

Informatica_Nocoes de Logica-2013.indd 53

30/04/15 17:58

54

Campos, G. A. L. de; Souza, J. T. de

Observaes:
Todo p um q representado por x : (p(x) q(x))
Algum p um q representado por x : (p(x) q(x))

2.2. Negao de funes proposicionais quantificadas


em portugus
A relao de negao existente entre os quantificadores de funes proposicionais quantificadas frequentemente usada em linguagem natural na gerao
de sentenas logicamente equivalentes, como mostrado no exemplo abaixo.
Todo estudante de lgica entende quantificadores
Representao em Lgica de Predicados

x : (p(x) q(x))
x : ( p(x) q(x))

Negao da representao
Significado da representao em Portugus

Alguns estudantes de lgica no entendem


quantificadores

Para refleir
1. Encontre uma negao para cada uma das proposies a seguir.
a) Existe um inteiro x tal que 4 = x + 2.
b) Para todo inteiro x, 4 = x + 2.
c) Todo estudante gosta de lgica.
d) Alguns estudantes no gostam de lgica.
e) Nenhum homem uma ilha.
f) Todo mundo que estuda lgica gosta.
g) Toda pessoa tem uma me.
2. Seja D o conjunto dos nmeros naturais (isto , D = {1, 2, 3, 4, ...}), p(x) x par, q(x) x
divisvel por 3 e r(x) x divisvel por 4. Expresse em Portugus, determine valores
verdade e d uma negao para cada uma das proposies.
a) x : p(x).

f) x : r(x).

b) x : (p(x) q(x)).

g) x : (p(x) q(x)).

c) : (p(x) q(x)).

h)x : (p(x) q(x)).

d) : (p(x) r(x)).

i) x : (q(x) q(x + 1)).

e) x : (p(x) q(x)).

Informatica_Nocoes de Logica-2013.indd 54

30/04/15 17:58

Noes de Lgica

55

3. Sentenas declarativas que envolvem mais de


um quantificador
importante destacar que uma dada funo declarativa pode ser quantificada,
simultaneamente, por mais de um quantificador.
Exemplos:
Para todo inteiro par n, existe um inteiro k tal que n = 2k
Para todo y em B, existe um x em A tal que y = f(x)
No entanto, importante perceber que a ordem na qual os quantificadores esto dispostos interfere na interpretao lgica da sentena, como
mostrado abaixo.
Se S = {x1, x2, ...,xn} e T = { y1, y2, ..., ym},
ento x : (y : p(x,y)) no equivalente a y : (x : p(x,y)).
Exemplo:
Se S = T = {1, 2} e p(x,y) x = y,
ento x : (y : p(x,y)) uma proposio verdadeira, e
y : (x : p(x,y)) uma proposio falsa

Para refletir
1. Seja S = T = conjunto de todas as pessoas e p(x,y) y me de x. Qual o valor
verdade de x:(y:p(x,y)) e y:(x:p(x,y))?
2. Seja a proposio: Para todo cachorro preto no sof existe uma pulga no carpete
tal que se o cachorro preto ento a pulga pica o cachorro.
a) Qual a representao da proposio em Linguagem Lgica de Predicados?
b) Qual a negao da proposio em Linguagem Lgica de Predicados?
c) Qual a negao da proposio em Portugus?

4. Equivalncias lgicas
Alm da equivalncia lgica dada pela negao entre os quantificadores para
todo e existe, outras equivalncias existem, como apresentado abaixo:
x : (y : p(x,y)) y : (x : p(x,y))
x : (y : p(x,y)) y : (x : p(x,y))
((x : p(x)) (x : q(x))) x : (p(x) q(x))
((x : p(x)) (x : q(x))) x : (p(x) q(x))

Informatica_Nocoes de Logica-2013.indd 55

30/04/15 17:58

56

Campos, G. A. L. de; Souza, J. T. de

5. Implicaes lgicas
Alm dessas equivalncias lgicas, algumas implicaes lgicas podem ser
desenhadas.
y : (x : p(x,y)) x : (y : p(x,y))
((x : p(x)) (x : q(x))) x : (p(x) q(x))
x : (p(x) q(x)) ((x : p(x)) (x : q(x)))
x : (p(x) q(x)) ((x : p(x)) (x : q(x)))
As ideias e mtodos de anlise utilizados para declaraes envolvendo
dois quantificadores podem ser estendidos para trs (ou mais) quantificadores.

Atividades de avaliao
1. Seja S = conjunto de inteiros, p(x) x par e q(x) x mpar.

Verifique as duas ltimas equivalncias lgicas acima.

2. Seja S = conjunto de inteiros, p(x) x par e q(x) x mpar.


Verifique as trs ltimas implicaes lgicas acima.

3. Traduzir as seguintes sentenas em formas simblicas, indicando escolhas apropriadas para os domnios:
a) Para todo inteiro par n existe um inteiro k tal que n = 2k.
b) Para toda linha l e todo ponto p no em l existe uma linha l que passa por
p que paralela a l.
c) Para todo y em B existe um x em A tal que f(x) = y.
d) Para todo x em G existe um x em G tal que xx = e.
e) Se todo inteiro mpar, ento todo inteiro par.
f) Todo mundo ama algum alguma vez.
g) Para todo inteiro n existe outro inteiro maior que 2n.
h) A soma de dois inteiros pares par.
4. Ache uma negao em Portugus para todas as proposies no exerccio acima.
5. Considere que p(x,y) representa x + 2 > y e D o conjunto dos nmeros naturais (D= {1, 2, 3,...}). Escreva em palavras e atribua valores verdade para

Informatica_Nocoes de Logica-2013.indd 56

30/04/15 17:58

Noes de Lgica

57

a) x : (y : p(x,y)). d) x : (y : p(x,y)).
b) x : (y : p(x,y)).

e) y : (x : p(x,y)).

c) x : (y : p(x,y)). f) y : (x : p(x,y)).
6. Considere a seguinte proposio: Para toda galinha no galinheiro e para
toda cadeira na cozinha existe uma frigideira no armrio tal que se o ovo
da galinha est na frigideira ento a galinha est a dois metros da cadeira.
a) Traduza em forma simblica.
b) Expresse sua negao em smbolos e em Portugus.

Informatica_Nocoes de Logica-2013.indd 57

30/04/15 17:58

Informatica_Nocoes de Logica-2013.indd 58

30/04/15 17:58

Captulo

Representao do
conhecimento e
programao em lgica
Introduo
A Programao em Lgica de Predicados composta pelos seguintes elementos:
Um programa, que uma teoria formalizada em Linguagem Lgica de
Predicados, isto , uma coleo finita de frmulas em Linguagem Lgica
de Predicados;
Uma consulta, que qualquer frmula em Linguagem Lgica de Predicados exprimindo as condies a serem satisfeitas por uma resposta correta;
Uma resposta correta, que um indivduo do universo de discurso U; e
Um mtodo de busca que pode ser utilizado para obteno de respostas
a Resoluo para Lgica de Predicados.
Exemplo:

Programa em Lgica de Predicados


F1. programa(Soma.for, FORTRAN)

Consulta em Lgica de Predicados


F6. x : procedimental(x)

F2. programa(Soma.pro, PROLOG)


F3. x : (programa(x, FORTRAN) procedimental(x))
F4. x : (programa(x, PASCAL) procedimental(x))
F5. x : (programa(x, PROLOG) declarativo(x))

Informatica_Nocoes de Logica-2013.indd 59

30/04/15 17:58

60

Campos, G. A. L. de; Souza, J. T. de

1. Programa em Linguagem natural e sua representao


em Linguagem Lgica de Predicados
1. Marcos era um homem
homem (Marcos)
2. Marcos Nasceu em Pompeia
pompeano (Marcos)
3. Todos os que nasceram em Pompeia eram romanos
x : (Pompeano(x) Romano(x))
4. Csar era um soberano
soberano (Csar)
5. Todos os romanos eram leais a Csar ou ento odiavam-no
x : (Romano(x) (leal_a(x,Csar) odeia(x,Csar)))
6. Marcos tentou assassinar Csar
tentou_assassinar (Marcos,Csar)
7. As pessoas s tentam assassinar soberanos aos quais no so leais
x : (y : ((pessoa(x) soberano(y) tentou_assassinar(x,y)) leal_a(x,y)))
8. Todo mundo leal a algum
x : (y : leal_a(x,y))
9. Todos os homens so pessoas
x : (homem(x) pessoa(x))

2. Consulta em Linguagem natural e sua representao


em Linguagem Lgica de Predicados
10. Marcos era leal a Csar?
leal_a(Marcos,Csar) ou

leal_a(Marcos,Csar)
Exemplo de um mtodo de busca de respostas: raciocnio a partir
do objetivo para trs. A fim de responder consulta, isto , a fim de comprovar o objetivo, utilizamos modus ponens como fundamento e transformamos
o objetivo principal (consulta) em um subobjetivo (ou, possivelmente, em um
conjunto de subobjetivos) que possa, por sua vez, ser transformado e assim
por diante, at todos os subobjetivos gerados serem satisfeitos (ou seja, at
todas as variveis geradas no processo de raciocnio serem substitudas por
constantes apropriadas).

Informatica_Nocoes de Logica-2013.indd 60

30/04/15 17:58

Noes de Lgica

61

Resposta: Marcos no era leal a Csar.


leal_a(Marcos,Csar)
(7, substituio)
pessoa(Marcos)
soberano(Csar)
tentou_assassinar(Marcos,Csar)
(4)
pessoa(Marcos)
tentou_assassinar(Marcos,Csar)
(6)
pessoa(Marcos)
(9)
homem(Marcos)

(1)

Aspectos importantes que precisam ser consideradas no processo


de converso de frases em linguagem natural para Linguagem Lgica de
Predicados:
a) Frases em linguagem natural so ambguas, portanto, pode ser difcil escolher
uma representao correta.
Exemplo:
Declarao 5:
Todos os romanos eram leais a Csar ou ento odiavam-no
x:(Romano(x) (leal_a(x,Csar) odeia(x,Csar))) ou

x:(Romano(x) ((leal_a(x,Csar) odeia(x,Csar))


(leal_a(x,Csar) odeia(x,Csar)))

b) Para se usar um conjunto de declaraes eficientemente, normalmente


necessrio ter acesso a um outro conjunto de declaraes que representam
fatos que as pessoas consideram bvios demais para serem declarados.
Exemplo:
Declarao 9:
"Todos os homens so pessoas
x:(homem(x) pessoa(x))

Informatica_Nocoes de Logica-2013.indd 61

30/04/15 17:58

62

Campos, G. A. L. de; Souza, J. T. de

c) A relao elemento pertence conjunto pode ser representada por uma


frmula atmica da forma conjunto (elemento).
Exemplo:
Declarao 2: Marcos Nasceu em Pompeia - Elemento Marcos
pertence ao conjunto dos pompeanos.

Pompeano(Marcos) - pertence(Marcos, Pompeanos)

Declarao 4: Csar era um soberano - Elemento Csar pertence


ao conjunto dos soberanos.

soberano(Csar) - pertence (Csar, Soberanos)

d) A relao conjunto1 contido conjunto2 pode ser representada por uma


frmula da forma x:(conjunto1(x) conjunto2(x)).
Exemplo:

Declarao 3: Todos os que nasceram em Pompeia eram ro-


manos - Conjunto de pompeanos contido no de romanos
x:(Pompeano(x) Romano(x)) - contido(Pompeanos,Romanos)

Atividades de avaliao
1. Represente as seguintes sentenas por fbf em Lgica de Predicados:
a) Um sistema de computador inteligente se pode realizar uma tarefa que,
se realizada por um humano, requer inteligncia.
b) Uma frmula cujo conectivo principal uma equivalente a alguma
frmula cujo principal conectivo um .
c) Se a entrada para o algoritmo da unificao um conjunto de expresses unificveis, a sada o mgu (unificador mais geral); se a entrada
um conjunto de expresses no unificveis, a sada fracasso.
d) Se no se pode dizer um fato a um programa, ento o programa no
pode aprender o fato.
2. Traduza as seguintes fbf em Lgica de Predicados para o Portugus.
a) x : (duvida(x) perde(x)).
b) x : (homem_negcios(x) gosta(x,vida_noturna)).
c) x : (brilhante(x) ouro(x)).
d) x : (y : (z : (mais_rpido(x,y) mais_rpido(y,z)) mais_rpido (x,z))).

Informatica_Nocoes de Logica-2013.indd 62

30/04/15 17:58

Noes de Lgica

63

3. O que est errado com o seguinte argumento?


Os homens esto amplamente distribudos pela Terra.
Scrates um homem.
Portanto, Scrates est amplamente distribudo pela Terra
4. Como os fatos representados pela sentena acima devem ser representados na lgica para que este problema no ocorra?
5. Expresse as seguintes sentenas em Lgica de Predicados. Use somente o objeto simblico Erasmus e as relaes simblicas homem(x),
mulher(x), vegetariano(x), aougueiro(x), gosta(x,y), =(x,y).
a) Erasmus no gosta de nenhum vegetariano.
b) Erasmus no gosta de todo vegetariano.
c) Nenhum homem aougueiro e vegetariano.
d) Todos os homens gostam de vegetarianos, exceto os aougueiros.
e) Alguns vegetarianos no gostam de todos os aougueiros.
f) Os nicos vegetarianos so homens que gostam de vegetarianos.
g) Homens s gostam de mulheres que no so vegetarianas.
h) Nenhuma mulher gosta de qualquer homem que no gosta de todos os
vegetarianos.
i) Todo homem gosta de uma mulher diferente.

Informatica_Nocoes de Logica-2013.indd 63

30/04/15 17:58

Informatica_Nocoes de Logica-2013.indd 64

30/04/15 17:58

Captulo

Funes e Predicados
Computveis e a
Noo de Igualdade
Introduo
Considerando que estamos interessados nos aspectos de construo de programas provadores automticos, capazes de encontrar respostas para consultas, as funes computveis so necessrias quando o programa precisar
avaliar a verdade de predicados que possuam expresses funcionais, como
termos. Por exemplo:
2 + 3 maior que 1
maq(+(2, 3), 1))
Nesse caso, o programa provador deve chamar uma funo computvel capaz de computar o valor da expresso 2+3 e, em seguida, avaliar o
predicado maq(5, 1).
No programa em lgica apresentado anteriormente, utilizamos predicados isolados (para diferenciar de predicados computveis) para a representao de fatos simples e uma combinao desses predicados para a representao de relaes entre fatos. Por exemplo:
6. Marcos tentou assassinar Csar
tentou_assassinar(Marcos,Csar)
9. Todos os homens so pessoas
x : (homem(x) pessoa(x))
A representao por meio de predicados isolados deve ser empregada
quando o nmero de fatos no for muito grande. Se, por exemplo, desejarmos
representar fatos que expressem relaes do tipo maior que em um conjunto
composto por um nmero grande de elementos numricos,
um maior que zero
maq(1, 0)
dois maior que um

Informatica_Nocoes de Logica-2013.indd 65

30/04/15 17:58

66

Campos, G. A. L. de; Souza, J. T. de

maq(2, 1)
trs maior que 2
maq(3, 2)
...
deveremos empregar um predicado computvel. Assim, em vez do
programa provador automtico procurar pelo predicado explcito no conjunto
de frmulas disponveis (ou tentar deduzir o predicado atravs de mais raciocnio) para a obteno de respostas, ele deve invocar um procedimento, e
este avaliar o predicado.
A noo de igualdade permite que indivduos iguais do universo de
discurso sejam substitudos uns pelos outros sempre que esse procedimento
parecer til durante o processo de busca respostas. Por exemplo: a representao da sentena abaixo, utilizando a noo de igualdade,
Estamos agora em 1998
agora = 1998
indica que, sempre que a constante agora aparecer como termo de
algum predicado, ela poder ser substituda pela constante 1998.

1. Programa em Linguagem natural e sua representao


em Linguagem Lgica de Predicados
1. Marcos era um homem
homem(Marcos)
2. Marcos Nasceu em Pompeia
pompeano(Marcos)
3. Marcos nasceu em 40 d.C.
nasceu(Marcos,40)
4. Todos os homens so mortais
x : (homem(x) mortal(x))
5. Todos os habitante de Pompeia morreram quando o vulco entrou em
erupo em 79 d.C.
x : (Pompeano(x) morreu(x,79))
entrou_em_erupo(vulco,79)
6. Nenhum mortal vive mais que 150 anos
x : (t1 : (t2 : (( mortal(x) nasceu(x,t1) maq(-( t2,t1),150)) morto(x,t2))))

Informatica_Nocoes de Logica-2013.indd 66

30/04/15 17:58

Noes de Lgica

67

7. Estamos agora em 1998


agora = 1998
8. Estar morto significa no estar vivo
x : (t : ((morto(x,t) vivo(x,t)) (vivo(x,t) morto(x,t)))
9. Se algum morre, ento ele est morto em todos os momentos posteriores
x : (t1 : (t2 : (( morreu(x,t1) maq( t2,t1)) morto(x,t2))))

2. Consulta em linguagem natural e sua representao


em Linguagem Lgica de Predicados:
10. Marcos est vivo?
vivo(Marcos, agora) ou vivo(Marcos, agora)

3. Mtodo de busca de respostas: Raciocnio a partir do


objetivo para trs
Resposta 1: Marcos no est vivo (porque foi morto pelo vulco).
vivo(Marcos, agora)
(8, substituio)
morto(Marcos, agora)
(9, substituio)
morreu(Marcos, t1)
maq(agora, t1)
(5, substituio)
Pompeano(Marcos)
maq(agora, 79)
(2)
maq(agora, 79)
(7)
maq(1998, 79)
(calcular maq)
nil

Informatica_Nocoes de Logica-2013.indd 67

30/04/15 17:58

68

Campos, G. A. L. de; Souza, J. T. de

Resposta 2: Marcos no est vivo (seno estaria com mais de 150 anos).
vivo(Marcos, agora)
(8, substituio)
morto(Marcos, agora)
(6, substituio)
mortal(Marcos)
nasceu(Marcos, t1)
maq(-(agora, t1), 150)
(4, substituio)
homem(Marcos)
nasceu(Marcos, t1)
maq(-(agora, t1), 150)
(1)
nasceu(Marcos, t1)
maq(-(agora, t1), 150)
(3, substituio)
maq(-(agora, 40), 150)
(7, substituio)
maq(-(1998, 40), 150)
(computar -)
maq(1958, 150)
(computar maq)
nil

Observaes:
A representao de fatos que adquirem gradualmente com a experincia
pode diminuir o nmero de etapas para a consulta ser respondida.
Um bom mtodo de busca de respostas deve ser capaz de:
Determinar que existe um casamento entre dois predicados;
Ex: morto (Marcos, agora) casa com morto(x, t2),
Garantir substituies uniformes em toda a prova r;
Aplicar modus ponens;
Do ponto de vista computacional, precisamos de um mtodo de busca de
respostas capaz de executar, em uma nica operao, a srie de processos envolvidos no raciocnio com declaraes em Lgica de Predicados.

Informatica_Nocoes de Logica-2013.indd 68

30/04/15 17:58

Noes de Lgica

69

Atividades de avaliao
1. Usando o primeiro programa em lgica desta seo responda consulta:
Marcos odiava Csar?
2. Considere as seguintes sentenas:
"Joo gosta de todo tipo de comida.
Mas so comidas.
Frango comida
Qualquer coisa que algum coma e que no cause sua morte comida.
Paulo come amendoim e est vivo.
Susana come tudo o que Paulo come
Traduza as sentenas em fbf em Lgica de Predicados e responda
consulta abaixo, usando o raciocnio a partir do objeto para trs:
Joo gosta de amendoim?

Leituras
HEGENBERG, Lenidas. Lgica: o clculo de predicados. Barcelona: Herder, 2008.
REZENDE, Solange Oliveira. (Org.). Sistemas inteligentes: fundamentos e
aplicaes. Barueri, SP: Manole, 2005
MORTARI, Cezart A. Introduo lgica. So Paulo: Editora UNESP, 2001.

Filmes/Vdeos
Lgica de predicados. Durao: 13min 23s. Video aula que aborda: Conceitos base para Lgica de Predicados. Acesso em: https://www.youtube.com/
watch?v=oShq4Ho3vfU
Quantificadores. Durao: 07min 15s. Video aula que aborda o assunto:
quantificadores. Acesso em: https://www.youtube.com/watch?v=OiCDIcPFIR0
Processamento de linguagem natural. Durao: 55min 14s. Vdeo aula com
apresentao feita no meetup nodebr em maro de 2014. Acesso em: https://
www.youtube.com/watch?v=BoUz4xoqRbY

Informatica_Nocoes de Logica-2013.indd 69

30/04/15 17:58

70

Campos, G. A. L. de; Souza, J. T. de

Sites
http://www.ime.usp.br/~slago/IA-logicaDePredicados.pdf
http://www.ime.usp.br/~slago/pl-3.pdf
https://rarefecundo.wordpress.com/category/sistemas-de-informacao/logica-de-predicados/
http://www.academia.edu/3331978/L%C3%B3gica_dos_predicados_
sintaxe_e_sem%C3%A2ntica

Informatica_Nocoes de Logica-2013.indd 70

30/04/15 17:58

Parte
Resoluo

Informatica_Nocoes de Logica-2013.indd 71

30/04/15 17:58

Informatica_Nocoes de Logica-2013.indd 72

30/04/15 17:58

Captulo

Converso para Forma


Clausal
Objetivos
Conhecer alguns dos principais algoritmos que podem ser utilizados durante o processo de prova automtica de argumentos e de programao em
Lgica de Predicados.
Aplicar o algoritmo de prova automtica da Resoluo e seus algoritmos
auxiliares na obteno de respostas para consultas realizadas a programas em Lgica de Predicados.

Introduo
A Resoluo um mtodo de deciso que, em uma nica operao, executa
a srie de rocessos envolvidos com declaraes em Linguagem Lgica de
Predicados.
Esse mtodo opera em declaraes que foram convertidas em uma
forma padro conveniente; a Forma Clausal.
As respostas so obtidas por meio de um processo de prova
por refutao.
Definies:
(a) Uma frmula P uma Conjuno se e somente se, omitindo-se os parnteses, for da forma P1 P2 ... Pn.
(b) Uma frmula P uma Disjuno se e somente se, omitindo-se os parnteses, for da forma P1 P2 ... Pn.
(c) Uma frmula P est em Forma Normal Prenex se e somente se P for da
forma Q(M) onde Q, o prefixo de P, uma cadeia de quantificadores e M,
a matriz de P, uma frmula sem ocorrncia de quantificadores.

Informatica_Nocoes de Logica-2013.indd 73

30/04/15 17:58

74

Campos, G. A. L. de; Souza, J. T. de

(d) Uma frmula P est em Forma Normal Conjuntiva se e somente se estiver em Forma Normal Prenex, e sua matriz for uma conjuno de disjunes de frmulas atmicas, negadas ou no.
(e) Uma frmula P est em Forma Clausal se e somente se estiver em
Forma Normal Conjuntiva, mas sem nenhuma instncia do conectivo .
Exemplo:
Frmula em Forma Normal Prenex: x : (y : (p(x, y) (q(x) q(y))))

Prefixo: x : y:

Matriz: p(x, y) (q(x) q(y))

Frmula em Forma Normal Conjuntiva: x : (y : ((p(x, y) q(x)) (p(x,y)


q(y))))
Frmula na Forma Clausal

Clusula1: p(x, F(x)) q(x)

Clusula2: p(x, F(x)) q(F(x))

1. Algoritmo Converso para forma Clausal


Para que a resoluo funcione, primeiro, precisamos converter cada frmula
do programa em Forma Normal Conjuntiva e, em seguida, dividir cada expresso resultante em um conjunto de clusulas.
A partir do algoritmo de converso, considerando uma frmula em
Linguagem Lgica de Predicados e a execuo dos passos abaixo sobre a
frmula, obteremos um conjunto de clusulas equivalente frmula original.
1. Elimine , usando
(p q) (p q).

Tautologia 12.a).

2. Reduza o escopo de cada a um nico termo usando


p p, -

(p q) (p q) e -

(p q) (p q).

Tautologia 5,

Tautologia 10.a),
-

Tautologia 10.b);

e as correspondncias padres entre quantificadores:

(x : p(x)) x : p(x) e

(x : p(x)) x : p(x).

3. Padronize as variveis para que cada quantificador fique vinculado a uma


nica varivel, por exemplo:
(x : p(x)) (x : q(x))

Informatica_Nocoes de Logica-2013.indd 74

30/04/15 17:58

Noes de Lgica

75

poderia ser convertida em

(x : p(x)) (y : q(y)).
4. Coloque a frmula na Forma Normal Prenex.
5. Elimine os quantificadores existenciais, ou seja

y : presidente(y)

pode ser transformada em presidente(S1),

x : y : pai_de(y,x)

pode ser transformada em x : pai_de(S2(x),x)

onde:
S1 uma funo sem argumentos, que, de algum modo, produz um valor
que satisfaz presidente;
S2 uma funo com um argumento x que, de algum modo, produz para
cada x (em D) um valor que satisfaz pai_de.
6. Elimine o prefixo.
7. Converta a matriz em uma conjuno de disjunes, usando
(p (q r)) ((p q) (p r)).

Tautologia 8.b)

8. Crie uma clusula separada que corresponda a cada conjuno


c1: p q
e
c2: p r.
9. Padronize distintamente as variveis do conjunto de clusulas gerados no
Passo 8. Essa transformao est baseada no fato que
(x : (p(x) q(x))) ((x : p(x)) (x : q(x))).
Veja os exemplos a seguir:

2. Converter a frmula abaixo para Forma Clausal


x : ((Romano(x) conhece(x, Marcos)) (odeia(x, Csar)
(y : ((z : odeia(y, z)) acha_louco(x, y)))))

Informatica_Nocoes de Logica-2013.indd 75

30/04/15 17:58

76

Campos, G. A. L. de; Souza, J. T. de

1. x : ((Romano(x) conhece(x, Marcos)) odeia(x, Csar)


(y : ((z : odeia(y, z)) acha_louco(x, y))))
2. x : (Romano(x) conhece(x, Marcos) odeia(x, Csar)
(y : (( z : odeia(y, z)) acha_louco(x, y))))
3. x : (Romano(x) conhece(x, Marcos) odeia(x, Csar)
(y : (( z : odeia(y, z)) acha_louco(x, y))))
4. x : (y : (z : (Romano(x) conhece(x, Marcos) odeia(x, Csar)
odeia(y, z) acha_louco(x, y))))
5. x : (y : (z : (Romano(x) conhece(x, Marcos) odeia(x, Csar)
odeia(y, z) acha_louco(x, y))))
6. Romano(x) conhece(x, Marcos) odeia(x, Csar) odeia(y, z)
acha_louco(x, y)
7. Romano(x) conhece(x, Marcos) odeia(x, Csar) odeia(y, z)
acha_louco(x, y)
8. Romano(x) conhece(x, Marcos) odeia(x, Csar) odeia(y, z)
acha_louco(x, y)
9. Romano(x) conhece(x, Marcos) odeia(x, Csar) odeia(y, z)
acha_louco(x, y)

3. Aplicao do algoritmo ao programa que nos fala


sobre o mundo de Marcos e Csar
1. homem(Marcos)
homem(Marcos)
2. Pompeano(Marcos)
Pompeano(Marcos)
3. x : (Pompeano(x) Romano(x))
3.1 x : (Pompeano(x) Romano(x))
3.6 Pompeano(x) Romano(x)
3.9 Pompeano(x1) Romano(x1)
4. soberano(Csar)
soberano(Csar)
5. x : (Romano(x) (leal_a(x, Csar) odeia(x, Csar)))
5.1 x : (Romano(x) leal_a(x, Csar) odeia(x, Csar))
5.6 Romano(x) leal_a(x, Csar) odeia(x, Csar)
5.9 Romano(x2) leal_a(x2, Csar) odeia(x2, Csar)

Informatica_Nocoes de Logica-2013.indd 76

30/04/15 17:58

Noes de Lgica

77

6. tentou_assassinar(Marcos, Csar)
tentou_assassinar(Marcos, Csar)
7. x : (y : ((pessoa(x) soberano(y) tentou_assassinar(x, y))
leal_a(x, Csar)))
7.1 x : (y : ((pessoa(x) soberano(y) tentou_assassinar(x, y))
leal_a(x, Csar)))
7.2 x : ( y : (pessoa(x) soberano(y) tentou_assassinar(x, y)
leal_a(x, Csar)))
7.6 pessoa(x) soberano(y) tentou_assassinar(x, y) leal_a(x, Csar)
7.9 pessoa(x3) soberano(y) tentou_assassinar(x3, y) leal_a(x3, Csar)
8. x : (y : leal_a(x, y))
8.5 x : (leal_a(x, S1(x)))
8.6 leal_a(x, S1(x))
8.9 leal_a(x4, S1(x4))
9. x : (homem(x) pessoa(x))
9.1 x : (homem(x) pessoa(x))
9.6 homem(x) pessoa(x)
9.9 homem(x5) pessoa(x5)

4. Novo programa
Clusula1: homem(Marcos)
Clusula2: Pompeano(Marcos)
Clusula3: Pompeano(x1) Romano(x1)
Clusula4: soberano(Csar)
Clusula5: Romano(x2) leal_a(x2, Csar) odeia(x2, Csar)
Clusula6: tentou_assassinar(Marcos, Csar)
Clusula7: pessoa(x3) soberano(y) tentou_assassinar(x3, y)

leal_a(x3, Csar)
Clusula8: leal_a(x4,S1(x4))
Clusula9: homem(x5) pessoa(x5)

Informatica_Nocoes de Logica-2013.indd 77

30/04/15 17:58

78

Campos, G. A. L. de; Souza, J. T. de

Atividades de avaliao
1. Colocar em forma normal conjuntiva a seguinte frmula:

x : (cidade(x) (y : guarda(x,y) (z : ((co(z) vive(x, z))


mordido(y, z))))).

Em seguida, dar trs passos adicionais que completaro o processo de


converso da frmula original em uma conjuno de clusulas, til no
mtodo da resoluo:
Eliminar quantificadores universais,
Eliminar smbolos de conjuno e
Rebatizar variveis, de forma que um certo termo do tipo varivel no
aparea em mais de uma clusula.
2. Converta para forma clausal as seguintes frmulas:
a) x : (y : (P(x, y) Q(x, y))).
b) x : (y : (Q(x, y) P(x, y))).
c) x : (y : (P(x, y) (Q(x, y) R (x, y)))).
d) x : (y : (P(x, y) (Q(x, y) R (x, y)))).
e) x : (y : (P(x, y) (Q(x, y) R (x, y)))).
f) x : (y : (P(x, y) (Q(x, y) R (x, y)))).
g) x : (y : ((P(x, y) Q(x, y))) R (x, y))).
h) x : (y : (P(x, y) Q (x, y))).
i) (x : (y : (P(x, y) Q (x, y)))).
j) (x : P(x)) (x : P(x)).
k) x : (P(x) P(x)).
l) (x : P(x)) (x : P(x)).

Informatica_Nocoes de Logica-2013.indd 78

30/04/15 17:58

Captulo

Algoritmo da Unificao

Introduo
Na Resoluo para Lgica Proposicional fcil para um programa provador
automtico obter uma clusula-resolvente a partir de duas clusulas-pais,
contendo smbolos proposicionais complementares causadores de uma contradio. Por exemplo:
p q r

ps
q r s.

No exemplo, o programa procurou uma contradio, obteve a clusula-resolvente como uma disjuno das clusulas-pais e, em seguida, eliminou a
contradio, eliminando os smbolos complementares p e p. Essa facilidade
decorre de um processo de casamento simples proporcionado pela presena
de simples smbolos proposicionais.
Na Resoluo para a Lgica de Predicados, o processo de casamento
entre frmulas atmicas torna-se mais complicado, pois os argumentos dos
predicados que compem estas frmulas tambm devem ser comparados.
Nesse caso, podem ocorrer diversos tipos de situaes. Por exemplo:
Situao em que se configura uma contradio sem substituio de
variveis:

homem(Joo) mulher(Maria)

homem(Joo) mortal(x)
{ }

mulher(Maria) mortal(x)

Informatica_Nocoes de Logica-2013.indd 79

30/04/15 17:58

80

Campos, G. A. L. de; Souza, J. T. de

Situao em que se configura uma contradio com substituio de


variveis:
homem(Joo) mulher(Maria)

homem(x) mortal(x)
{ (Joo/x) }

mulher(Maria) mortal(Joo)
Situao em que no se configura uma contradio:
homem(Joo) mulher(Maria)

homem(Pedro) mortal(x)
FALHA

Para auxiliar o programa provador automtico na busca de contradies, podemos implementar certo algoritmo denominado Algoritmo da
Unificao. Esse algoritmo descreve uma funo recursiva que compara
duas frmulas atmicas e retorna, se existir, um conjunto de substituies que
tornem as frmulas idnticas.

O Algoritmo
Unificar(L1, L2)
1. Se L1 ou L2 varivel ou constante

ento se L1 e L2 so idnticos

ento retorne { }.

seno se L1 for varivel

ento se L1 ocorre em L2

ento retorne FALHA.

seno retorne { (L2/L1) }.

seno se L2 for varivel


ento se L2 ocorre em L1

ento retorne FALHA.

seno retorne { (L1/L2) }.

seno retorne FALHA.

2. Se os smbolos predicativos em L1 e L2 no so idnticos


ento retorne FALHA.
3. Se L1 e L2 tm nmero de termos diferentes

ento retorne FALHA.

4. Faa SUBST := { }.

Informatica_Nocoes de Logica-2013.indd 80

30/04/15 17:58

Noes de Lgica

81

5. Para i = 1, ..., nmero de termos em L1:


(a) Chame Unificar com o i-simo argumento de L1 e o i-simo ar


L2, colocando o resultado em S.

(b) Se S = FALHA

gumento de

ento retorne FALHA.


(c) Se S { }
ento: aplique S ao restante de L1 e L2 e

faa SUBST := Concatena( SUBST, S).

6. Retorne SUBST..

Observao sobre a funo Concatena(Lista1, Lista2):


A funo Concatena recebe como argumentos duas listas de substituies, armazenadas em Lista1 e Lista2, e retorna uma terceira lista resultante
da concatenao das duas primeiras. Por exemplo:
SUBST := Concatena({ (Marcos/x) }, { (z/y) })
SUBST := { (Marcos/x), (z/y) }
SUBST := Concatena({ (z/y) }, { (Marcos/x) })
SUBST := { (z/y), (Marcos/x) }
SUBST := Concatena( { }, { (Marcos/x), (z/y) })
SUBST := { (Marcos/x), (z/y) }
SUBST := Concatena({ (Marcos/x), (z/y) }, { })
SUBST := { (Marcos/x), (z/y) }
Exemplos:
Unificar(homem(Joo), homem(Joo))
L1 := homem(Joo)
L2 := homem(Joo)
4. SUBST := { } .
5. i := 1
(a) Unificar(Joo, Joo)

S := { }.

6. Retornar { }.

Informatica_Nocoes de Logica-2013.indd 81

30/04/15 17:58

82

Campos, G. A. L. de; Souza, J. T. de

Unificar(homem(Joo), homem(x))
L1 := homem(Joo)
L2 := homem(x)
4. SUBST := { }.
5. i := 1
(a) Unificar(Joo, x)

S := { ( Joo/x) }.

(c) L1 := homem(Joo)
L2 := homem(x)
SUBST := { (Joo/x) }.
6. Retornar { (Joo/x) }.
Unificar(homem(Joo), homem(Pedro))
L1 := homem(Joo)
L2 := homem(Pedro)
4. SUBST := { }.
5. i := 1
(a) Unificar(Joo, Pedro)
S := FALHA.
(b) retornar FALHA.
Unificar(odeia(Marcos,z), odeia(x,y))
L1 := odeia(Marcos, z)
L2 := odeia(x,y)
4. SUBST := { }.
5. i := 1
(a) Unificar(Marcos, x)
S := { ( Marcos/x)}
(c) L1 := odeia(Marcos,z)
L2 := odeia(x,y)
SUBST := { (Marcos/x) }
i := 2
(a) Unificar(z, y)
S := { ( y/z) }.

Informatica_Nocoes de Logica-2013.indd 82

30/04/15 17:58

Noes de Lgica

83

(c) L1 := odeia(Marcos,z)
L2 = odeia(x,y)
SUBST := { (Marcos/x), (y/z) }.
6. Retornar { (y/z), (Marcos/x) }.
Unificar(f(x,x), f(g(x),x))
L1 := f(x,x)
L2 := f(g(x),x)
4. SUBST := { }.
5. i := 1
(a) Unificar(x, g(x))
S := FALHA.
(b) retornar FALHA.
Observao
Esse ltimo exemplo descreve um tipo de situao em que o Algoritmo da Unificao
tenta unificar uma expresso funcional g(x), envolvendo a varivel x, com a prpria
varivel x. Conforme se pode observar, nesse caso, o Algoritmo retorna FALHA, pois,
se ele aceitasse g(x) como substituio para x, S := { (g(x)/x) }, ento quando ele fosse
substituir x por g(x) no restante da frmula atmica L1 (Passo 5.(c)), ele estaria causando uma recurso infinita, ou seja:
L1 := f(x,g(g(g(g... ;
j que no seria possvel eliminar x de L1.

Informatica_Nocoes de Logica-2013.indd 83

30/04/15 17:58

84

Campos, G. A. L. de; Souza, J. T. de

Atividades de avaliao
1. Utilize o Algoritmo da Unificao para produzir substituies apropriadas
para os pares de frmulas atmicas abaixo. Caso possvel, ou seja,
caso as frmulas sejam unificveis, expresse o retorno do Algoritmo.
Caso no possvel, ou seja, caso as frmulas no sejam unificveis,
explique porque.

Informatica_Nocoes de Logica-2013.indd 84

a) cor(lolo,amarelo)

cor(x,y)

b) cor(lolo,amarelo)

cor(x,x)

c) cor(chapu(carteiro),azul)

cor(chapu(y),x)

d) R(F(x),bbb)

R(y,z)

e) R(F(y),x)

R(x,F(bbb))

f) R(F(y),y,x)

R(x,F(z),F(w))

g) ama(x,y)

ama(y,x)

30/04/15 17:58

Captulo

Algoritmo da Resoluo
Introduo
Basicamente, os passos que compem o Algoritmo da Resoluo para a
Lgica de Predicados so os mesmos realizados para a Lgica Proposicional.
As diferenas esto nos algoritmos de Converso para Forma Clausal e, no caso
da Lgica de Predicados, a necessidade de se ter em mos um procedimento de
unificao que possibilite verificar o casamento de duas frmulas atmicas.
Seja: P = Programa = { Frmulas em Lgica de Predicados } e
C = Consulta a ser respondida pelo Algoritmo da Resoluo =
Frmu la em Lgica de Predicados
1. Converter Frmulas de P para Forma Clausal.
2. Negar C. Converter C para Forma Clausal e acrescentar resultado ao novo P, obtido no
Passo 1.
3. Repetir {

a) Selecionar duas clusulas-pais, C1 e C2, tal que:

C1 contm frmula atmica f,

C2 contm frmula f, e
f unifica com f;

b) Obter:

resolvente = disjuno de todos as frmulas atmicas
de C1 e C2 com a eliminao de f e f, realizando-se
as substituies apropriadas na disjuno resultante;

c) Se resolvente nil

ento acrescentar resolvente a P.

seno Resposta foi encontrada.

} at uma Resposta ser encontrada, ou at no ser possvel

nem um progresso, ou at uma quantidade pr-determinada
de repeties terem sido realizadas.
4. Responder.

Conforme voc pode perceber, o Algoritmo da Resoluo para a Lgica


de Predicados, primeiramente, chama vrias vezes o Algoritmo de Converso

Informatica_Nocoes de Logica-2013.indd 85

30/04/15 17:58

86

Campos, G. A. L. de; Souza, J. T. de

para a Forma Clausal no Passo 1 e uma vez no Passo 2; posteriormente,


chama, sempre que necessrio, o algoritmo da Unificao em cada repetio
no Passo 3.
Veja outros exemplos:
P = {F1. homem(Marcos) ,
F2. Pompeano(Marcos) ,
F3. x : (Pompeano(x) Romano(x)) ,
F4. soberano(Csar) ,
F5. x : (Romano(x) (leal_a(x, Csar) odeia(x, Csar))) ,
F6. tentou_assassinar(Marcos, Csar) ,
F7. x : (y : ((pessoa(x) soberano(y) tentou_assassinar(x, y))
leal_a(x,y))) ,
F8. x : (y : leal_a(x,y)) ,
F9. x : (homem(x) pessoa(x))
}
C = odeia(Marcos, Csar)

1.
P = { C1. homem(Marcos) ,
C2. Pompeano(Marcos) ,
C3. Pompeano(x1) Romano(x1) ,
C4. soberano(Csar) ,
C5. Romano(x2) leal_a(x2,Csar) odeia(x2,Csar) ,
C6. tentou_assassinar(Marcos,Csar) ,
C7. pessoa(x3) soberano(y) tentou_assassinar(x3,y)
leal_a(x3,y),
C8. leal_a(x4,S1(x4)) ,

Informatica_Nocoes de Logica-2013.indd 86

30/04/15 17:58

Noes de Lgica

87

C9. homem(x5) pessoa(x5)


}.

2.
C = odeia(Marcos,Csar).
P = { C1. homem(Marcos) ,
C2. Pompeano(Marcos) ,
C3. Pompeano(x1) Romano(x1) ,
C4. soberano(Csar) ,
C5. Romano(x2) leal_a(x2, Csar) odeia(x2, Csar) ,
C6. tentou_assassinar(Marcos, Csar) ,
C7. pessoa(x3) soberano(y) tentou_assassinar(x3, y)
leal_a(x3, y),
C8. leal_a(x4, S1(x4)) ,
C9. homem(x5) pessoa(x5) ,
C10. odeia(Marcos, Csar)
}.

Informatica_Nocoes de Logica-2013.indd 87

30/04/15 17:58

88

Campos, G. A. L. de; Souza, J. T. de

3.
C5. odeia(Marcos, Csar)
{ (Marcos/x2) }

Romano(Marcos) leal_a(Marcos,Csar)
C2.

C3.

{ (Marcos/x1) }
Pompeano(Marcos) leal_a(Marcos, Csar)

leal_a(Marcos, Csar)

C7.

{(Marcos/x3), (Csar/y) }
pessoa(Marcos) soberano(Csar) tentou_as aassinar(Marcos, Csar) C9.
{ (Marcos/x5) }
C1. homem(Marcos) soberano(Csar) tentou_assassinar(Marcos, Csar)
soberano(Csar) tentou_assassinar(Marcos, Csar)

C6.

C4.

tentou_assassinar(Marcos, Csar)

nil
4. Resposta = sim.

Heursticas que podem ser utilizadas para acelerar o processo de busca de uma resposta:
a) Selecionar clusulas-pais que contenham frmulas atmicas complementares.
b) Eliminar resolventes que sejam:
tautologias,
subordinados a outras clusulas existentes (p q est subordinado a p).
c) Iniciar processo de resoluo resolvendo a clusula que se deseja refutar
(consulta negada em forma clausal) e, sempre que possvel, continuar resolvendo os resolventes gerados a partir desta.
d) Sempre que possvel, resolver clusulas-pais que contenham uma nica
frmula atmica.

1. Situaes nas quais a Resoluo pode detectar que


no existe contradio
No programa no existe uma clusula que contenha uma frmula atmica
complementar a alguma frmula atmica da consulta negada em forma
clausal, por exemplo:

Informatica_Nocoes de Logica-2013.indd 88

30/04/15 17:58

Noes de Lgica

89

P = { C1. homem(Marcos) ,
C2. Pompeano(Marcos) ,
C3. Pompeano(x1) Romano(x1) ,
C4. soberano(Csar) ,
C5. Romano(x2) leal_a(x2, Csar) odeia(x2, Csar) ,
C6. tentou_assassinar(Marcos, Csar) ,
C7.pessoa(x3) soberano(y) tentou_assassinar(x3, y) leal_a(x3, y),
C8. leal_a(x4,S1(x4)) ,
C9. homem(x5) pessoa(x5)
}.
C = odeia(Marcos, Csar).

Quando a Resoluo partir de uma certa consulta negada e gerar um tipo


de situao semelhante situao descrita acima, por exemplo:
C = leal_a(Marcos, Csar).
Resoluo:
C5. leal_a(Marcos, Csar).
{ (Marcos/x2) }
Romano(Marcos) odeia(Marcos, Csar)

C3.
{ (Marcos/x1) }

C2.

Pompeano(Marcos) odeia(Marcos, Csar)

odeia(Marcos, Csar)

2. Resoluo lidando com Funes e Predicados


Computveis e a Noo de Igualdade
P={
F1. homem(Marcos) ,

F2. Pompeano(Marcos) ,

F3. nasceu(Marcos, 40) ,

F4. x:(homem(x) mortal(x)) ,

F5. entrou_em_erupo(vulco, 79) x:(Pompeano(x) morreu(x, 79)) ,

F6. x : (t1 : (t2 : (( mortal(x) nasceu(x, t1) maq(-( t2, t1), 150)) morto(x, t2))))

F7. agora = 1998 ,

F8x : (t : (morto(x, t) vivo(x, t)) ,

F9.x : (t : (morto(x, t) vivo(x, t)) ,
F10. x : (t1 : (t2 : (( morreu(x, t1) maq( t2, t1)) morto(x, t2))))
}
C = vivo(Marcos, agora)

Informatica_Nocoes de Logica-2013.indd 89

30/04/15 17:58

90

Campos, G. A. L. de; Souza, J. T. de

1.
P={










}.

C1. homem(Marcos) ,
C2. Pompeano(Marcos) ,
C3. nasceu(Marcos, 40) ,
C4. homem(x1) mortal(x1) ,
C5. Pompeano(x2) morreu(x, 79) ,
C6. entrou_em_erupo(vulco, 79) ,
C7. mortal(x) nasceu(x, t1) maq(-( t2, t1), 150) morto(x, t2)
C8. agora = 1998 ,
C9. morto(x, t) vivo(x, t),
C10. morto(x, t) vivo(x, t) ,
C11. morreu(x, t1) maq(t2, t1) morto(x, t2)

2.
C = vivo(Marcos,agora).
P = { C1. homem(Marcos) ,

C2. Pompeano(Marcos) ,

C3. nasceu(Marcos, 40) ,

C4. homem(x1) mortal(x1) ,

C5. Pompeano(x2) morreu(x2, 79) ,

C6. entrou_em_erupo(vulco, 79) ,

C7. mortal(x3) nasceu(x3, t1) maq(-( t2, t1), 150) morto(x3, t2),

C8. agora = 1998 ,

C9. morto(x4, t3) vivo(x4, t3) ,

C10. morto(x5, t4) vivo(x5, t4) ,

C11. morreu(x6, t5) maq( t6, t5) morto(x6, t6)

C12. vivo(Marcos, agora)

}

Informatica_Nocoes de Logica-2013.indd 90

30/04/15 17:58

Noes de Lgica

3.
C9.

91

vivo(Marcos, agora)
{ (Marcos/x4), (agora/t3) }

morto(Marcos, agora)

C11.
{ (Marcos/x6), (agora/t6) }

morreu(Marcos, t5) maq( agora, t5)

C5.

{ (Marcos/x2), (79/t5) }
Pompeano(Marcos) maq( agora, 79)

C8.
substituir iguais

Pompeano(Marcos) maq( 1998, 79)


Computar maq

C2.

Pompeano(Marcos)

nil
4. Resposta = sim.

Formas bsicas em que as consultas em Linguagem Natural podem


aparecer e tipos de respostas correspondentes:
a) Perguntas que exigem respostas do tipo sim-no:
Consulta em Linguagem Natural: Marcos est vivo ?
Consulta em Lgica de Predicados: morto(Marcos,agora)
Respostas: sim ou no.
b) Perguntas que exigem respostas do tipo preenchimento de lacunas:
Consulta em Linguagem Natural: Quem tentou assassinar um soberano ?
Consulta em Lgica de Predicados: x : (y : ( tentou_assassinar(x, y)
soberano(y)))
Respostas: substituio de indivduos do universo de discurso no
lugar de x, digamos (x0 / x), e de y, digamos (y0 / y), tal que tentou_
assassinar(x0, y0) soberano(y0) verdadeiro.
Exemplos:
P = { F1. homem(Marcos) ,
F2. Pompeano(Marcos) ,
F3. nasceu(Marcos, 40) ,
F4. x:(homem(x) mortal(x)) ,
F5. entrou_em_erupo(vulco, 79) x : (Pompeano(x) morreu(x, 79)) ,
F6. x : (t1 : (t2 : (( mortal(x) nasceu(x, t1) maq(-( t2, t1), 150)) morto(x,t2)))) ,
F7. agora = 1998 ,
F8x : (t : (morto(x, t) vivo(x, t)) ,

Informatica_Nocoes de Logica-2013.indd 91

30/04/15 17:58

92

Campos, G. A. L. de; Souza, J. T. de

F9.x : (t : (morto(x, t) vivo(x, t)) ,


F10. x : (t1 : (t2 : (( morreu(x, t1) maq( t2, t1)) morto(x, t2))))}
C = t : morreu(Marcos, t)
1.
P={










}.

C1. homem(Marcos) ,
C2. Pompeano(Marcos) ,
C3. nasceu(Marcos, 40) ,
C4. homem(x1) mortal(x1) ,
C5. Pompeano(x2) morreu(x, 79) ,
C6. entrou_em_erupo(vulco,79) ,
C7. mortal(x) nasceu(x, t1) maq(-( t2, t1), 150) morto(x, t2),
C8. agora = 1998,
C9. morto(x, t) vivo(x, t) ,
C10. morto(x, t) vivo(x,t) ,
C11. morreu(x, t1) maq( t2, t1)) morto(x, t2)

2.
C = t:morreu(Marcos, t).
Convertendo-se a consulta negada para forma clausal obtemos:
C12. = morreu(Marcos, t).
P={










Informatica_Nocoes de Logica-2013.indd 92

C1. homem(Marcos) ,
C2. Pompeano(Marcos) ,
C3. nasceu(Marcos, 40) ,
C4. homem(x1) mortal(x1) ,
C5. Pompeano(x2) morreu(x2, 79) ,
C6. entrou_em_erupo(vulco, 79) ,
C7. mortal(x3) nasceu(x3, t1) maq(-( t2, t1), 150) morto(x3, t2),
C8. agora = 1998 ,
C9. morto(x4, t3) vivo(x4, t3) ,
C10. morto(x5, t4) vivo(x5, t4) ,
C11. morreu(x6, t5) maq( t6, t5) morto(x6, t6)
C12. morreu(Marcos, t) }.

30/04/15 17:58

Noes de Lgica

3.
C5.

93

morreu(Marcos, t)

Pompeano(Marcos)

{ (Marcos/x2), (79/t) }
C2.

nil
4. Resposta = 79.

Observaes
A resposta pode ser derivada da cadeia de unificaes que leva de volta
clusula inicial.
A resposta pode ser derivada acrescentando uma frmula fictcia no processo de resoluo. Essa frmula consiste da consulta negada em forma
clausal com um marcador especial. Por exemplo:
C5.

morreu(Marcos,t) morreu(Marcos, t)
{ (Marcos/x2), (79/t) }
Pompeano(Marcos) morreu(Marcos, 79)
C2.

morreu(Marcos, 79).

Nesse caso, a Resoluo pode parar quando s restar a frmula fictcia.

Atividades de avaliao
1. Considerando o par de clusulas-pais abaixo:
C1 = P(z1,a) P(z1,x) P(x,z1) e
C2 = P(z2,f(z2)) P(z2,a),
onde o smbolo a denota uma constante, encontre uma substituio
adequada para os dois conjuntos de frmulas atmicas componentes
(omitindo-se a negao em C1) e, logo aps, encontre o resolvente correspondente.
2. Em relao ao mtodo de resoluo, explique sucintamente porque importante dispor de um processo de converso de uma frmula qualquer
para uma frmula equivalente expressa em forma normal conjuntiva.

Informatica_Nocoes de Logica-2013.indd 93

30/04/15 17:58

94

Campos, G. A. L. de; Souza, J. T. de

3. Porque casamento importante no mtodo da resoluo?


4. Mostre que a Resoluo consistente, isto , mostre que o resolvente de
duas clusulas-pais segue logicamente dessas clusulas.
5. Considere a seguinte base de conhecimento:
x : (y : (H(x) D(y)) F(x, y)) ,

y : (G(y) (z : (R(z) F(y, z)))) ,

y : (G(y) D(y)) ,

x : (y : (z : ((F(x, y) F(y, z)) F(x, z)))).

Use Resoluo para responder a seguinte consulta:

x : (z : ((H(x) R(z)) F(x, z))).


6. Usando o primeiro programa em lgica desta seo (pgs. 86 a 88), responda
pergunta: Marcos odiava Csar?
7. Anteriormente, mostramos que, dado um conjunto de fatos, havia duas
maneiras de provar a declarao vivo(Marcos,agora). Nesta seo,
apresentamos uma prova de Resoluo que corresponde a um desses
mtodos. Use a Resoluo para derivar a outra prova da declarao,
atravs da outra cadeia de raciocnio.
8. Considere as seguintes sentenas:
Joo gosta de todo tipo de comida
Mas so comida
Frango comida
Qualquer coisa que algum coma e que no cause sua morte comida
Paulo come amendoim e ainda est vivo
Susana come tudo o que Paulo come

a) Traduza essas sentenas em Lgica de Predicados.

b) Converta cada uma das frmulas acima em Forma Clausal.

c) Responda a pergunta: Joo gosta de amendoim?

d) Use a resoluo para responder: O que Susana come? , isto ,


x : come(Susana, x).

9. Considere os seguintes fatos:


Os membros do Clube de Tranca da Rua Elmo so Joo, Salete, Paulo
e Helena
Joo casado com Salete

Informatica_Nocoes de Logica-2013.indd 94

30/04/15 17:58

Noes de Lgica

95

Paulo irmo de Helena


A esposa ou marido de cada pessoa casada membro do clube tam-
bm est no Clube
A ltima reunio do Clube foi na casa do Joo

a) Represente esses fatos em Lgica de Predicados.

b) A partir dos fatos informados, a maioria das pessoas seria capaz de


responder s seguintes perguntas:

A ltima reunio do Clube foi na casa de Salete?


Helena no casada?
Ser que voc consegue construir provas de resoluo para demonstrar a verdade de cada uma destas declaraes, dados os fatos listados
anteriormente? Faa-o, se possvel. Caso contrrio, acrescente os fatos
necessrios e depois crie as provas.
10. Assuma os seguintes fatos:
Carlos gosta de cursos fceis
O curso de Cincias difcil.
Todos os cursos do departamento de prendas domsticas so fceis.
BK 301 um curso de prendas domsticas

Use a Resoluo para responder pergunta:

De que curso Carlos gostaria?


11. Nesta seo respondemos pergunta: Quando Marcos morreu?, usando a resoluo para mostrar que houve um tempo em que Marcos morreu. Usando os mesmos fatos, e o fato adicional
x : (t1 : (morto(x, t1) (t2 : (maq(t1, t2) morreu(x, t2))))),
existe um outro modo de mostrar que houve um tempo em que Marcos
morreu?

a) Faa uma prova de resoluo desta outra cadeia de raciocnio.

b) Que resposta esta prova dar pergunta: Quando Marcos morreu?

12. Se um curso fcil, alguns estudantes no curso so felizes. Se um curso tem exame, nenhum estudante no curso feliz. Use resoluo para
mostrar que, se um curso tem exame, o curso no fcil.
13. Qualquer coisa que pode ler alfabetizada. Alguns golfinhos so inteligentes, mas nenhum golfinho alfabetizado. Use resoluo para mostrar
que algumas coisas inteligentes no sabem ler.

Informatica_Nocoes de Logica-2013.indd 95

30/04/15 17:58

96

Campos, G. A. L. de; Souza, J. T. de

14. Vitor foi assassinado, e Artur, Bernadete e Karlene so suspeitos. Artur


disse que ele no fez isso. Ele disse que Bernadete era amiga da vtima
e que Karlene odiava a vtima. Bernadete disse que ela estava fora da
cidade no dia do assassinato e, alm disso, ela disse que nem conhecia
o rapaz. Karlene disse que ela inocente e que ela viu Artur e Bernadete
com a vtima logo aps o assassinato. Assumindo que todo mundo (exceto
o assassino) est falando a verdade, use resoluo para resolver o crime.
15. Sabemos que cavalos so mais rpidos do que ces e que h um cachorro, chamado Fig, que mais rpido que todos os coelhos. conhecido que Centelha um cavalo e Pernalonga um coelho. Use resoluo para mostrar que Centelha mais rpido que Pernalonga.
16. Considere o seguinte programa:
Animal que tem pena no mamfero.
Animal que tm pelo mamfero e no ave.
Animal que no mamfero ave.
Animal que no tem pena tm pelo.
Sabi um animal que voa e no mamfero.
Pinguim um animal que ave e no voa.
Vaca um animal que mamfero e no voa.
Morcego um animal que voa e no ave.

Consulte o programa para identificar um animal que voa e no tem pena.


Mostre a sequncia de prova usada.

Leituras
NORVIG, Peter ; RUSSELL, Stuart. Inteligncia Artificial. 3 ed. Rio de Janeiro: Elsevier, 2014.
Nunes, Daltro J. Introduo a Abstrao de Dados: Srie Livros Didticos
Informtica UFRGS. Porto Alegre:Bookman, 2012.
JOYANES AGUILAR, Luis. Fundamentos de programao: algortmos, estruturas de dados e objetos. 3.ed. Porto Alegre: AMGH, 2011.

Informatica_Nocoes de Logica-2013.indd 96

30/04/15 17:58

Noes de Lgica

97

Filmes/Vdeos
Algoritmos e Lgica | E-Learning - Aula 1 11. Durao: 01h 35min 24s.
Video aula que aborda: Algoritmo e Lgica de programao + Pascal + Java +
C/C++ (e todos os fontes) . Interessante assistir as onze video aulas. Acesso
em: https://www.youtube.com/watch?v=-0au8eT16XA

Sites
http://www.dcc.fc.up.pt/~nam/aulas/9798/ia/def.html
http://www.ppgsc.ufrn.br/~rogerio/material_auxiliar/FMC20121T2_repres_
clausal_form.pdf
http://www.sawp.com.br/blog/?p=795
http://pt.wikipedia.org/wiki/Princ%C3%ADpio_da_resolu%C3%A7%C3%A3o

Informatica_Nocoes de Logica-2013.indd 97

30/04/15 17:58

98

Campos, G. A. L. de; Souza, J. T. de

Sobre os autores
GustavoAugusto Lima de Campos: Cursou graduao em Engenharia Eltrica
na Universidade Federal do Par (1987), mestrado em Engenharia Eltrica na
Universidade Federal de Uberlndia (1990) e doutorado em Engenharia Eltrica
na Universidade Estadual de Campinas (2003). Atualmente professor adjunto
da Universidade Estadual do Cear. Tem experincia na rea de Cincia da
Computao, com nfase em Inteligncia Artificial, atuando principalmente nos
seguintes temas: agentes inteligentes, lgica, redes neurais artificiais, sistemas
fuzzy, busca e problemas de tomada de deciso.
Jerffeson Teixeira de Souza: Recebeu o ttulo de Ph.D. em Cincia da
Computao, em 2004, pela School of Information Technology and Engineering
(SITE) da University of Ottawa, Canad. Bacharel (1998) e Mestre (2000)
em Cincia da Computao pela Universidade Federal do Cear (UFC) e
atualmente, professor adjunto da Universidade Estadual do Cear (UECE).
Seus interesses de pesquisa so: Otimizao em Engenharia de Software,
Documentao e Aplicao de Padres de Software e Estudo de Tcnicas e
Aplicao de Algoritmos de Minerao de Dados.

Informatica_Nocoes de Logica-2013.indd 98

30/04/15 17:58

Potrebbero piacerti anche