logica para computação

125
Lógica para Computação

Upload: abraaocaldas

Post on 10-Jun-2015

8.810 views

Category:

Documents


53 download

DESCRIPTION

Lógica matematica para ciência da computação.

TRANSCRIPT

Page 1: Logica para computação

Lógica paraComputação

Page 2: Logica para computação
Page 3: Logica para computação

Tecnologia em Análisee Desenvolvimento de Sistemas(Sistema Presencial Mediado)

Lógica

Universidade do Estado do Amazonas

paraComputação

Page 4: Logica para computação

GovernadorEduardo Braga

Vice-GovernadorOmar Aziz

ReitoraMarilene Corrêa da Silva Freitas

Vice-ReitorCarlos Eduardo S. Gonçalves

Pró-Reitor de PlanejamentoOsail Medeiros de Souza

Pró-Reitor de AdministraçãoFares Franc Abnader Rodrigues

Pró-Reitor de Extensão e Assuntos ComunitáriosRogelio Casado Marinho Filho

Pró-Reitora de Ensino de GraduaçãoEdnéa Mascarenhas Dias

Pró-Reitor de Pós-Graduação e PesquisaJosé Luiz de Souza Pio

Coordenador Geral do Curso de Tecnologiaem Análise e Desenvolvimento de Sistemas

(Sistema Presencial Mediado)Odwald Schreder

Coordenadora PedagógicaÂngela Timótia Pereira Lima

Coordenador Técnico AdministrativoEdnaldo Coelho Pereira

Diagramação, Formatação e CapaAurelino da Silva Bentes

Revisão XXXXXXXXXXX

Ficha Técnica

Page 5: Logica para computação

Salvador Ramos Bernardino da Silva (Coordenador)Professor da Escola Superior de Tecnologia (EST/UEA)Especialista em Desenvolvimento de Sistemas –UFAM

Manoel S. S. AzevedoProfessor da Escola Superior de Tecnologia (EST/UEA)

Mestre em Engenharia Elétrica-UFCG

Cláudio de Oliveira SantosProfessor da Escola Superior de Tecnologia (EST/UEA)Especialista em Metodologia do Ensino Superior - FSDB

Perfil dos Autores

Page 6: Logica para computação
Page 7: Logica para computação

Palavra da Reitora

Nós últimos anos, o avanço da tecnologia da informática mudou os

conceitos de ensino e de trabalho. A preocupação com o que se denominou de

“inclusão digital” passou a ser um problema urgente a ser enfrentado pelos

dirigentes do País, já que todos os processos de novas tecnologias deságuam

no conhecimento de informática. No Amazonas, a dificuldade de locomoção

na região, por falta de rodovias, por sua grande extensão territorial, pela

baixa densidade demográfica e pelo subdesenvolvimento secular imposto à

população ribeirinha, torna-se árduo o esforço do Governo para tornar

realidade à inclusão digital.

A UEA, que já nasceu moderna, incorporando tecnologias educacionais

de ponta, utilizando-se particularmente da informática pela massificação do

uso de microcomputadores combinados com uma rede complexa de acesso à

Internet, não poderia ficar alheia a essa necessidade premente. Por isso,

propôs e realizou o primeiro vestibular para levar a 12 municípios um curso

que formasse a mão-de-obra inicial que tornasse a inclusão digital uma

realidade em nosso Estado.

A proposta do curso de Tecnologia em Análise e Desenvolvimento de

Sistemas oferecido pela UEA vislumbra criar mão-de-obra qualificada em um

número significativo de localidades do Estado, cabendo às pessoas

beneficiadas com essa iniciativa a tarefa de irradiar o uso de tecnologias de

informática, abrindo caminhos novos e suscitando novos empregos para a

população local, consolidando, assim, o exercício da cidadania.

Professora Doutora Marilene Corrêa da Silva FreitasReitora da Universidade do Estado do Amazonas

Page 8: Logica para computação
Page 9: Logica para computação

09

Sumário

1. INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.1 O que é lógica? . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2 Origem da lógica . . . . . . . . . . . . . . . . . . . . . . . . . 121.3 Classificação da lógica: . . . . . . . . . . . . . . . . . . . . . . 13

2. A LÓGICA PROPOSICIONAL . . . . . . . . . . . . . . . . . . . . . . . 152.1 Elementos fundamentais da sintaxe da linguagem da Lógica

Proposicional: . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.1.1 Formalização de uma proposição: . . . . . . . . . . . 19

2.2 Semântica da lógica proposicional . . . . . . . . . . . . . . . 222.2.1 Interpretação dos conectivos lógicos . . . . . . . . . . 23

2.2.1.1 Negação de uma proposição . . . . . . . . . . . . 232.2.1.2 Conjunção de duas proposições . . . . . . . . . . 262.2.1.3 Disjunção . . . . . . . . . . . . . . . . . . . . . . . 272.2.1.4 Condicional . . . . . . . . . . . . . . . . . . . . . . 282.2.1.5 Bicondicional . . . . . . . . . . . . . . . . . . . . . 292.2.1.6 Disjunção exclusiva . . . . . . . . . . . . . . . . . 30

2.2.2 Interpretação de uma fbf . . . . . . . . . . . . . . . . 31

3. O CÁLCULO PROPOSICIONAL . . . . . . . . . . . . . . . . . . . . . 343.1 Ordem de precedência entre os operadores . . . . . . . . . 343.2 Tabela verdade. . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3 Propriedades semânticas da lógica proporcional . . . . . . 43

3.3.1 Tautologia . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3.2 Contradição . . . . . . . . . . . . . . . . . . . . . . . . 433.3.3 Fórmula satisfatível . . . . . . . . . . . . . . . . . . . . 443.3.4 Equivalência lógica . . . . . . . . . . . . . . . . . . . . 453.3.5 Implicação lógica . . . . . . . . . . . . . . . . . . . . . 45

4. VALIDADE DE UM ARGUMENTO. . . . . . . . . . . . . . . . . . . . . 494.1 Argumento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.2 Métodos para avaliar a validade de um argumento . . . . . 53

4.2.1 Método da tabela verdade . . . . . . . . . . . . . . . . 544.2.2 Método da Árvore Semântica . . . . . . . . . . . . . . . 554.2.3 Método da negação (ou absurdo) . . . . . . . . . . . . 614.2.4 Dedução lógica . . . . . . . . . . . . . . . . . . . . . . . 65

4.2.4.1 Regras de dedução . . . . . . . . . . . . . . . . . . 654.2.4.2 Outras regras de dedução: . . . . . . . . . . . . . 74

Page 10: Logica para computação

5. QUANTIFICADORES . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.1 Quantificador universal e existencial . . . . . . . . . . . . . 81

6. RECORRÊNCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.1 Seqüência definida por recorrência . . . . . . . . . . . . . . 886.2 Algoritmo definido por recorrência . . . . . . . . . . . . . . 91

6.2.1 Construindo uma algoritmo recorrente . . . . . . . . . 91 6.2.2 Como um algoritmo recorrente executa . . . . . . . . 95

Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Respostas dos Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . 98

Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

10

Page 11: Logica para computação

A atividade de desenvolver sistemas leva, com freqüência,

o desenvolvedor a lidar com raciocínios e estruturas lógicas.

Um programa de computador é um problema estruturado

dentro de um formato lógico específico. A programação de

computadores é uma atividade que requer o desenvolvimento da

lógica de programação, que, por sua vez, tem seus fundamentos

na lógica matemática.

A lógica é uma ciência de índole matemática e fortemente

ligada à Filosofia. Já que o pensamento é a manifestação do

conhecimento, e que o conhecimento busca a verdade, é preciso

estabelecer algumas regras para que essa meta possa ser

atingida. Assim, a lógica é o ramo da filosofia que cuida das

regras do bem pensar, ou do pensar correto, sendo, portanto, um

instrumento do pensar.

A lógica estuda os princípios e métodos usados para

distinguir o raciocínio correto do incorreto. (COPI, 1978, p. 19).

1.1 O que é lógica?

11

IntroduçãoCapítulo I

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

Page 12: Logica para computação

“Lógica é a ciência do raciocínio.”

(Malba Tahan)

“Lógica é a ciência das leis do pensamento e a arte de

aplica-las corretamente na pesquisa e na demonstração da

verdade.”

(R. Solivete)

“A Lógica é a ciência que dirige, por meio de leis, as

operações de nossa razão, para que ordenada, facilmente

alcance a verdade.”

(Sinibaldi)

Não se pretende afirmar, com essas definições, que só se

pode argumentar corretamente com uma pessoa que tenha

estudado lógica. Assim como um bom nadador não necessita

estudar física e a fisiologia do seu corpo para nadar bem, uma

pessoa pode argumentar corretamente sem ter estudado lógica.

No entanto, quando a pessoa estuda lógica e pratica os

exercícios correspondentes, tem maior possibilidade de

raciocinar corretamente. (COPI, 1978, p. 19).

O estudo da lógica foi iniciado pelo filósofo grego

Aristóteles (384 – 322 a.C.), nascido em Estagira, na Macedônia.

Criou a Ciência da lógica, cuja essência era a teoria do silogismo.

Reuniu essa teoria nos escritos denominados Órganon, ou

Instrumento da Ciência.

Ainda na Grécia, distinguiram-se duas escolas, a

PERIPATÉTICA, derivada de Aristóteles e a ESTÓICA, fundada por

Zenão (326 – 264 a.C.) e desenvolvida por Crisipo (280 – 250 a.C.).

1.2 Origem da lógica.

12

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 13: Logica para computação

No período que vai de Aristóteles até o século XIX, não

foram registrados estudos significativos sobre lógica, exceto os

trabalhos desenvolvidos por Gottfried Wilhem Leibiniz (1646 –

1716), que só foram apreciados e conhecidos no século XIX.

O Período Booleano (1840 – 1920) iniciou-se com as obras

de George Boole e Augustus de Morgan, que publicaram os

fundamentos da chamada Álgebra da lógica, respectivamente

com MATHEMATICAL ANALYSIS OF LOGIC e FORMAL LOGIC.

A partir do século XIX, diversos estudiosos dedicaram-se ao

estudo da lógica. Surgiram outros ramos da lógica.

Não há unanimidade quanto à classificação da lógica.

Alguns autores classificam a lógica como:

a) Lógica Indutiva – ocupa-se dos argumentos indutivos e

dos testes para medir a probabilidade indutiva.

b) Lógica dedutiva – é a lógica na qual, dada uma causa, é

possível determinar suas conseqüências.

A lógica dedutiva é, freqüentemente, dividida em:

a) Lógica clássica – Considerada como o núcleo da lógica

dedutiva. É o que chamamos hoje de CÁLCULO DE

PREDICADOS.

Três princípios regem a Lógica Clássica:

1. da IDENTIDADE: “A é A”, ou seja, uma coisa é ela própria

sem possibilidade de contestação.

1.3 Classificação da lógica:

13

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 14: Logica para computação

2. da CONTRADIÇÃO: A não pode ser, ao mesmo tempo A e

não-A, ou seja, ou é A ou não é A.

3. do TERCEIRO EXCLUÍDO: A ou é Y ou é Z, não admitindo

uma terceira possibilidade. Exemplo: A ou tem valor

verdadeiro ou tem valor falso e não admite um terceiro

valor.

b) LÓGICAS COMPLEMENTARES DA CLÁSSICA: São lógicas

que têm alguns princípios além dos princípios da lógica

clássica e, de alguma forma complementam a lógica

clássica.

Exemplos: lógicas modal, que adiciona à lógica clássica o

princípio das possibilidades; lógica deôntica, que agrega os

princípios dos direitos, obrigações e proibições; lógica

epistêmica, agrega o princípio da certeza, etc.

c) LÓGICAS NÃO-CLÁSSICAS: Assim caracterizadas por

derrogarem algum ou alguns dos princípios da lógica

clássica.

Exemplos: paracompletas e intuicionistas (derrogam o

princípio do terceiro excluído); paraconsistentes (derrogam o

princípio da contradição); não-aléticas (derrogam o terceiro

excluído e o da contradição); não-reflexivas (derrogam o

princípio da identidade); a lógica difusa (fuzzy logic), que

trabalha com estados intermediários ou gradações, como é o

caso, ao se estudar a variável temperatura, que pode assumir

estados intermediários entre o estado “quente” e “frio”, entre

outras.

14

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 15: Logica para computação

15

2.1 Elementos fundamentais da sintaxe da linguagem da Lógica Proposicional:

Uma linguagem é um conjunto de símbolos destinados a

transmitir idéias. Toda linguagem tem sua sintaxe: as regras que

dizem quais formações simbólicas são válidas para aquela

linguagem.

Na língua portuguesa os símbolos “caza”, “cekql”, não têm

significado porque não estão de acordo com a sintaxe da língua.

De acordo com Souza (2002, p. 4), o conjunto de símbolos

que constitui a sintaxe da linguagem da Lógica Proposicional é

composto dos seguintes elementos:

a) Alfabeto – constituído por:

a) símbolos de pontuação: () , .

b) símbolos de verdade: true, false.

c) símbolos proposicionais: P, Q, R, S, P1, Q1, S1, A, B, ...

d) conectivos proposicionais: Ø, Ù, Ú, ®, «.

A lógica proposicional (simbólica ou matemática) não

difere da lógica clássica em essência, mas distingue-se dela pelo

uso de uma linguagem técnica específica, que lhe dá mais rigor,

tornando-se um instrumento mais eficaz para a análise e

dedução formal.

Capítulo II

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

A Lógica Proposicional

Page 16: Logica para computação

b) Proposição

É uma sentença declarativa afirmativa, a respeito da qual

se pode afirmar que é falsa ou verdadeira.

Vejamos as seguintes sentenças:

Manaus é uma capital.

— Proposição

Ela é muito inteligente.

— Não é proposição pois “ela” não está especificada.

Que horas são?

— É uma pergunta e não pode ser uma proposição.

Paris é uma cidade brasileira.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

16

Os símbolos de pontuação são diferentes dos utilizados na

sintaxe da língua portuguesa.

Os símbolos de verdade são originários da língua inglesa. Há

autores que utilizam T e F para representá-los. Nesse contexto,

serão utilizados os símbolos V e F, significando os valores

“verdadeiro” e “falso”, respectivamente.

Quantos símbolos proposicionais existem? Pelo exemplo

acima, percebe-se que são infinitos, o que torna o alfabeto da

linguagem da Lógica Proposicional infinito, ao contrário do

alfabeto de muitas outras linguagens, como o da língua

portuguesa.

Os conectivos proposicionais são utilizados com freqüência

na Matemática. ¬ é denominado “não”. Alguns autores utilizam

’ (apóstrofo) como símbolo de negação. Será adotado ~ (til) para

representar negação. Os outros conectivos são , que se lê “e”,

, denominado “ou”, , para representar implicação e

denominado “se e somente se”, “bi-implicação” ou

“bicondicional”.

Os conectivos lógicos serão vistos em detalhe na seção 2.2

Ù

Ú ® «

Page 17: Logica para computação

— Proposição

Cinco é menor que oito.

— Proposição.

Proposições podem ser representadas por letras. Na forma

acima, uma proposição está em linguagem corrente. Quando se

representa uma proposição por uma letra, usa-se a linguagem

simbólica.

Exemplos:

A casa número 5 é amarela. Pode ser representada pela

letra maiúscula P.

A lua é feita de queijo. Pode ser representada pela letra Q.

P e Q, acima, são proposições, pois são sentenças às quais

se pode atribuir um valor verdade (ou valor lógico) falso ou

verdadeiro.

Proposições podem ser:

Simples (ou atômicas): quando expressam uma única idéia.

“A lua é quadrada” é um exemplo de proposição simples.

Compostas (ou moleculares): quando são formadas por

duas ou mais proposições simples, como: “A casa é grande e o

carro é bonito”,

Proposições compostas podem não serem unidas por

conectivos. Exemplo: João gosta de correr. José gosta de andar.

O valor de uma proposição é chamado de valor lógico ou

valor verdade da proposição e pode ser VERDADEIRO ou FALSO.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

17

Page 18: Logica para computação

c) Fórmulas

Construídas a partir dos símbolos do alfabeto, conforme as

seguintes regras:

a) Todo símbolo de verdade é uma fórmula;

b) Todo símbolo proposicional é uma fórmula;

c) Se H é uma fórmula então ~H é uma fórmula (negação)

d) Se H e G são fórmulas então:

H G é uma fórmula (disjunção)

H G é uma fórmula (conjunção)

H G é uma fórmula (condicional)

H G é uma fórmula (bicondicional)

Ú

Ù

®

«

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

18

1. Marque as sentenças abaixo que são proposições, simples

ou compostas. Para as sentenças que não são proposições,

explique porque não o são.

a) ( ) Os gatos têm três patas.

b) ( ) João é alto.

c) ( ) Ela é bonita.

d) ( ) A casa é pequena.

e) ( ) Quem está batendo à porta?

f) ( ) Muitos foram chamados, mas poucos foram

selecionados.

g) ( ) Talvez eu vá ao teatro.

h) ( ) 2 + 2 = 4

i) ( ) x + y = 8

j) ( ) O planeta Marte é habitado.

k) ( ) Possivelmente choverá hoje.

l) ( ) Falar é fácil. Difícil é fazer.

m) ( ) Quem falou?

EXERCÍCIOS

Page 19: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

19

O item a) define as fórmulas mais simples: os símbolos de

verdade, que são VERDADEIRO e FALSO.

O item b) define os símbolos proposicionais. Se Q

representa uma proposição, Q é uma fórmula da lógica

proposicional.

A negação de uma proposição também é considerada uma

fórmula, conforme a regra c).

A quarta regra define que duas fórmulas (lembre que um

símbolo proposicional é uma fórmula) combinadas por um

conectivo lógico formam uma nova fórmula.

Fórmulas do tipo

))A B C, A não são fórmulas

válidas na lógica proporcional, pois não estão de acordo com as

regras de formação acima. Pode-se dizer que são fórmulas mal

formuladas.

As cadeias (A C) B e (A B C) (B B1), são cadeias

válidas na Lógica Proposicional.

Uma cadeia válida é chamada de fórmula bem formulada,

ou, de forma abreviada, fbf.

Obs.: Alguns autores adotam wff (em vez de fbf) que á a

abreviação da expressão well formed formula, no idioma inglês.

«Ù ÚÚ B Ú ® , PÙ«

«Ù ÚÚ®Ù

As informações da Tabela 1 ajudam a escrever fórmulas da

lógica proposicional, a partir de sentenças na linguagem

corrente.

Seja a sentença:

Se João Gosta de Maria, então Maria é feliz. João gosta de

Maria. Logo, Maria é feliz.

2.1.1 Formalização de uma proposição:

Page 20: Logica para computação

Nessa afirmação, algumas proposições simples poderão ser

identificadas:

Proposição simples

- João gosta de Maria

- Maria é feliz

Representação na lógica proporcional: (P Q) P Q.®Ù®

Representação

P

Q

Outro exemplo:

Se Maria gosta de José e José é feliz, então Maria é feliz.

Mas, se Maria não gosta de José, e José não é feliz, então Maria

não é feliz.

Identificamos:

Proposição simples

Maria gosta de José

José é feliz

Maria é feliz

Representação

P

Q

R

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

20

Expressão em Português

E, mas, também, além disso, ponto final entre duas proposições

Ou

Se A então B

A implica B

A logo B

A só se B, A somente se B

A é uma condição suficiente para B

Basta A para B

B é uma condição necessária para A

A se e somente se BA é condição necessária e suficiente para B

Conectivo lógico

Expressão Lógica

conjunção A BÙ

disjunção A BÚ

Condicional A B®

Bicondiconal (equivalência) A B«

Tabela 1 – Indicações para formalização de uma proposição (Geristing, 2001, p. 4).

Page 21: Logica para computação

Não há uma única maneira de escrever cada uma das

fórmulas acima como uma sentença do nosso idioma.

Apresentamos, abaixo, alguns exemplos de como cada uma pode

ser escrita:

a) Se José é atleta, então gosta de correr.

José é atleta, logo gosta de correr.

José ser atleta implica em gostar de correr.

b) José é atleta, gosta de correr mas não é magro.

José é atleta, gosta de correr e não é magro.

José é atleta. José gosta de correr. José não é magro.

c) José será atleta se, e somente se, gostar de correr.

d) Se José é atleta ou gosta de correr, então José é magro.

José é atleta ou gosta de correr. Portanto, José é magro.

e) José será atleta se, e somente se, gostar de correr e for

magro.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

21

Representação da sentença, como uma fbf:

(P Q) R ((~P ~Q) ~R)Ù®ÙÙ®

Tendo-se uma fórmula da lógica proposicional e

conhecendo-se o significado de cada proposição simples que a

compõe, é possível escrever uma sentença na linguagem

corrente que represente essa fórmula.

Considerando A “José é atleta”, B “José gosta de correr” e

C “José é magro” é possível escrever as fórmulas da lógica

proposicional dadas abaixo, como uma sentença na linguagem

corrente:

a) A B

b) A B ~C

c) A B

d) (A B) C

e) A (B C)

®

ÙÙ

«

Ú®

«Ù

Page 22: Logica para computação

EXERCÍCIOS

1. Considere as proposições simples A “Está frio”, B “Está

chovendo” e C “Está quente”. Observando a Tabela 1 e usando o

alfabeto da lógica proposicional, representar as proposições:

a) Está frio e está chovendo.

b) Está frio mas não está chovendo.

c) Está chovendo ou está quente.

d) Se está frio então não está quente.

e) Estará frio se, e somente se, estiver chovendo.

f) Está quente ou está chovendo.

g) Se está frio e está chovendo, então não está quente.

h) Se está quente, então não está chovendo nem está frio.

i) Estar frio é condição suficiente para chover.

j) Está chovendo, logo não está quente.

k) Estar chovendo implica em estar frio.

2. Considere P “A casa é bonita”, Q “A porta é pequena” e R

“A janela é grande”. Escreva uma sentença em linguagem

corrente correspondente às seguintes fórmulas da lógica

proposicional:

a) P Q f) P Q

b) P Q g) P Q

c) ~P h) ~(P Q)

d) (P Q) R i) (P Q) (P R)

e) ((P Q) R) Q j) Q (P R)

Ù Ú

« ®

Ù

Ù® ®Ú®

ÚÙ®®Ù

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

2.2 Semântica da lógica proposicional

A semântica de uma linguagem se ocupa dos significados

dos símbolos sintáticos dessa linguagem.

Não basta escrever corretamente uma fbf. Faz-se

necessário atribuir valores a essas fórmulas. 22

Page 23: Logica para computação

Uma proposição

PVF

Duas proposições

PVVFF

QVFVF

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

2.2.1.1 Negação de uma proposição

A negação de uma proposição P é obtida acrescentando-se

“É falso que” ou “Não é verdade que” antes de P ou inserindo-se

a palavra “não” em P. Representa-se a negação por ~P (alguns

autores usam ¬ P, outros preferem P'). 23

2.2.1 Interpretação dos conectivos lógicos

A semântica dos elementos sintáticos da Lógica

Proposicional é uma função cujo domínio são as fbf da lógica

proposicional e cujo contradomínio é o conjunto {V, F}, ou seja, a

interpretação de uma proposição simples resultará em V ou F. Por

esse motivo, ela é chamada lógica bivalente.

Antes de passar à semântica de cada conectivo lógico,

vejamos algumas considerações sobre a construção de tabela

verdade.Uma forma de avaliar o valor lógico de uma proposição é

construir a tabela verdade para essa proposição.Inicia-se a construção de uma tabela verdade fazendo

todas as combinações possíveis dos valores verdade de cada

proposição simples.Uma proposição simples tem a tabela verdade formada por

duas linhas, pois só pode ter dois valores verdade possíveis:

verdadeiro ou falso. Se a proposição for composta por duas

proposições simples, P e Q, por exemplo, serão possíveis quatro

combinações de valores verdade simultaneamente: ambas

falsas, ambas verdadeiras e uma falsa e outra verdadeira.

Escrevendo essas possibilidades em forma de tabela temos:

Page 24: Logica para computação

É importante observar que, ao negar uma proposição

composta, quando se nega cada proposição simples deve-se

negar também o conectivo.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

24

Observe exemplos de negação de uma proposição na Tabela

2.

Proposição Negação correta Negação incorreta

O dia está quente O dia não está quente.É falso que o dia está quente.Não é verdade que o dia está quente.

Paulo é baixo e gordo

É falso que Paulo seja baixo e gordo.Paulo não é baixo ou não é gordoPaulo é alto ou magro.

Paulo é alto e magro.Observar que basta que ele não tenha um dos atributos para estar negada a afirmação inicial.

O rio é raso ou não está poluído

É falso que o rio seja raso ou não esteja poluído.Não é verdade que o rio é raso ou não está poluídoO rio é fundo e está poluído

O rio não é raso ou está poluído

Tabela 3 – Negação de uma proposição.

ProposiçãoValor verdade(valor lógico)

Representaçãosimbólica

Manaus está no Brasil.Manaus não está no Brasil.É falso que Manaus está no Brasil.Não é verdade que Manaus não está no Brasil3 + 4 = 5É falso que 3 + 4 = 53 + 4 5

VFFVFVV

P~P~P

~(~P)Q

~Q~Q

Tabela 2 – Valor verdade de uma proposição.

A negação de uma proposição deve ser feita com cuidado,

principalmente quando se trata de uma proposição composta.

Observe a tabela 3.

Page 25: Logica para computação

1. Dê a negação das seguintes proposições:

a) O processador é rápido, mas a impressora é lenta.

b) O processador é rápido ou a impressora é lenta.

c) Pepinos são verdes e não têm sementes.

d) A comida é boa ou o serviço é excelente.

e) Nem a comida é boa nem o serviço é excelente.

2. Dê o valor lógico das proposições:

a) 16 não é um número ímpar.

b) Não é verdade que 14 é um número ímpar.

c) Não é verdade que 11 não é um número par.

d) 3 + 5 8

e) O Solimões é o menor rio do mundo.

3. Qual das seguintes proposições representa ~A se A é a

proposição “Júlia gosta de sorvete mas detesta creme”.

a) Júlia detesta sorvete e creme.

b) Júlia não gosta de sorvete nem de creme.

c) Júlia não gosta de sorvete mas adora creme.

d) Júlia odeia sorvete ou gosta de creme.

¹

EXERCÍCIOS

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

25

Tabela verdade da negação:

P

V

F

~P

F

V

Page 26: Logica para computação

2.2.1.2 Conjunção de duas proposições

Quando duas proposições são combinadas pelo conectivo

“e” formam uma proposição composta, chamada conjunção.

A conjunção e entre duas proposições – P, Q – é representada

por P Q e se lê “P e Q”.Ù

P Q P Ù Q V V V V F F F V F F F F

Exemplos:

(1) Paris está na França e 2 + 2 = 4.

(2) Paris está na França e 2 + 2 = 5.

(3) Paris está na Inglaterra e 2 + 2 = 4.

(4) Paris está na Inglaterra e 2 + 2 = 5.

As quatro proposições acima podem ser representadas por

P e Q ou, na linguagem simbólica, por P Q.

No exemplo (1), P e Q são ambas verdadeiras. Nesse caso,

a conjunção é verdadeira.

Nos exemplos (2) e (3) uma é verdadeira e outra é falsa. A

conjunção resulta em valor verdade (ou valor lógico) falso.

No último exemplo, ambas as proposições, P e Q, são

falsas e a conjunção também resulta em falso.

Conclusão:

A conjunção entre duas proposições só é verdadeira se

ambas o forem.

Tabela verdade da conjunção:

Ù

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

26

Page 27: Logica para computação

2.2.1.3 Disjunção

A proposição “João é alto ou Maria é bonita” é uma

proposição composta, onde “João é alto” é uma proposição

simples e “Maria é bonita” é outra proposição simples. Quando se

unem essas duas proposições simples pelo conectivo “ou”, tem-

se uma proposição composta. A proposição composta obtida pela

combinação de duas proposições simples e a palavra “ou” (com

sentido “e/ou”), é chamada de disjunção.

A disjunção das proposições P e Q é representada por

“P Q”.

O valor verdade da proposição composta acima será

determinado pelo valor verdade de cada uma das proposições

simples que a formam. Se for verdade apenas a proposição “João

é alto” ou apenas a proposição “Maria é bonita” ou, ainda, se

ambas as proposições forem verdadeiras, a conjunção resultará

em valor lógico verdadeiro.

A disjunção de duas proposições será falsa somente quando

ambas as proposições forem falsas.

Tabela verdade da disjunção:

Ú

P Q P Ú Q V V V V F V F V V F F F

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

27

EXERCÍCIOS

1. Dê o valor lógico das proposições abaixo:

a) 4 é par e 6 é ímpar

b) 4 = 2 + 2 e 5 + 5 = 10

c) A lua é um satélite e a Terra é um planeta.

d) Roma é capital da França e Londres é capital do Brasil.

e) 6 + 4 = 12 e Manaus é a capital do Amazonas.

Page 28: Logica para computação

2.2.1.4 Condicional

Uma proposição do tipo “se P então Q” é chamada

condicional e é designada por P Q.

Em P Q, P é a proposição antecedente, e Q é a

conseqüente.

®

®

Considere a frase “Se eu me sair bem na prova, então irei ao

cinema”.

Se essa pessoa sair-se bem na prova, dizer que ela não irá ao

cinema, é atribuir o valor lógico falso à proposição condicional,

pois a mesma afirmou que, saindo-se bem na prova, irá ao

cinema. Ou seja, quando o antecedente é verdadeiro e o

conseqüente é falso, o condicional é falso.

Caso a pessoa saia-se mal na prova, nada se pode afirmar

sobre se irá ou não ao cinema. A frase não dá nenhuma

informação nesse sentido. Por isso, convencionou-se que P Q

será verdadeira quando P for falsa.

®

A declaração “o fogo é condição necessária para a fumaça”

pode ser dito “se houver fumaça então haverá fogo”.

Antecedente: “há fumaça”, conseqüente “há fogo”. Por outro

lado, o fato de haver fogo não leva à conclusão de há fumaça.

Dizendo de outra forma: em P Q, se o fato de P ser verdadeira

levar a Q ser verdadeira, não quer dizer que quando Q é

verdadeira P também será.

®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

28

1. Dê o valor verdade das proposições:

a) O homem é um animal ou 5 + 4 = 15

b) Fleming descobriu a penicilina ou Newton foi um físico.

c) Ou Brasília é a capital do Ceará ou Fortaleza é a capital

do Ceará.

d) Ou o Sol é um satélite de Marte ou a Terra é uma estrela.

e) Ou o Sol é uma estrela ou Plutão é um planeta.

EXERCÍCIOS

Page 29: Logica para computação

EXERCÍCIOS

1. Dê o antecedente e o conseqüente das seguintes

proposições:

a) Se a chuva continuar, então o rio vai transbordar.

b) Uma condição suficiente para faltar energia, é que a

chave central desligue.

c) Uma boa dieta é uma condição necessária para um gato

ser saudável.

d) A definição ficará errada apenas se for alterada.

2. Dê o valor verdade das proposições abaixo:

a) Se a Lua é um satélite então a terra é um planeta.

b) Um corpo celeste não é um satélite se gira em torno de

um planeta.

c) Se Mimi é um gato, então tem quatro patas. (Supor que

existe um gato chamado Mimi)

d) Se a Terra é uma estrela então a Lua é um planeta.

2.2.1.5 Bicondicional

Uma proposição da forma “P se, e somente se, Q” é dita

bicondicional. É representada por P Q.

Uma proposição bicondicional será verdadeira quando

ambas as proposições componentes são de mesmo valor verdade.

E será falsa quando as duas proposições têm valores opostos.

«

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

29

Tabela verdade do condicional:

P Q P à Q V V V V F F F V V F F V

Page 30: Logica para computação

EXERCÍCIOS

1. Dê o valor verdade das seguintes proposições:

a) Amarelo será preto se, e somente se, vermelho for

branco.

b) 3 + 4 = 7 se e somente se 8 x 5 = 50.

c) 1 + 1 = 4 se, e somente se, 7 + 3 = 10.

d) Azul não é verde se, e somente se, preto for lilás.

e) Não é verdade que 1 + 1 = 3 se, e somente se, 2 + 2 = 5.

2.2.1.6 Disjunção exclusiva

Dadas duas proposições P e Q, a disjunção exclusiva é

definida como sendo verdadeira se apenas uma delas é

verdadeira. Pode-se ler “P ou Q mas não ambas”.

Representaremos por .

A disjunção exclusiva é representada em programação

pelo operador XOR, que é um acrônimo da expressão inglesa

“exclusive or”.

Ú

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

30

P Q P « Q V V V V F F F V F F F V

Obs.: o conectivo “se e somente se” pode ser escrito de

forma abreviada: “sse”.

Page 31: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

31

EXERCÍCIOS

1. Dê o valor verdade das proposições:

a) Quando você ligou eu estava dormindo ou estava

passeando.

b) Quando você ligou eu estava em casa ou estava

dormindo.

c) Quando você ligou eu não estava em casa ou estava

dormindo.

d) Para sobremesa, ou escolho goiabada ou bananada.

Tabela verdade do ou exclusivo:

P Q P Ú Q V V F V F V F V V F F F

Observe que a disjunção exclusiva não foi apresentada

como um conectivo do alfabeto da lógica proposicional. Não só

esse como outros conectivos podem ser definidos a partir

daqueles.

O significado de “P ou Q mas não ambos” como um

conectivo é uma simplificação da fórmula (P Q) ~(P Q).ÚÙÙ

2.2.2 Interpretação de uma fbf

A interpretação de uma fbf composta depende da

interpretação de cada proposição simples da fórmula.

Exemplo 1:

Seja H = (P Q). Existem quatro interpretações possíveis

para H. Basta observar a tabela verdade da disjunção.

Qual a interpretação de H, se H = (P Q) P, sabendo que

I[P] = V e I[Q] = F?

Ú

Ú®

Page 32: Logica para computação

Com I[P] = V e I[Q] = F, P Q resulta em verdadeiro.

Verdadeiro P (verdadeiro verdadeiro) resulta em

verdadeiro. Logo, I[H] = V

Ú

® ®

P Ú Q ® P H

V F V

P Ú Q ® P H

V V F V V V

Exemplo 2:

Qual a interpretação da fórmula E = (( ~P Q) (R P),

sabendo que I[P] = V e I[Q] = F?

Solução:

Como na análise da fórmula anterior, inicialmente lança-

se na tabela os valores das interpretações conhecidas:

Ù®Ù

(~ P Ù Q) ® (R Ù P) E

V F V

Sendo I[P] = V, I[~P] tem valor F. Conseqüentemente,

I[~P Q] = F. Não se conhecendo a interpretação de R, não é

possível concluir pela interpretação de R P. Por outro lado,

~P Q é o antecedente do condicional. Quando o antecedente de

um condicional é falso, este resulta em verdadeiro,

independente do valor lógico do conseqüente. Dessa forma,

pode-se concluir que I[E] = V, mesmo não se conhecendo I[Q]. O

quadro final dessa análise será:

Ù

Ù

Ù

(~ P Ù Q) ® (R Ù P) E

F V F F V V V

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

32

Para responder a essa pergunta, analisa-se o valor da

fórmula, a partir das interpretações conhecidas:

Page 33: Logica para computação

1. Seja I uma interpretação tal que I[P Q] = F. O que se

pode deduzir a respeito dos resultados das interpretações:

a) I[~P Q]

b) I[P ~Q]

c) I[Q P]

®

Ù

Ú

®

EXERCÍCIOS

Solução

Só há uma situação em que I[P Q] = F: quando I[P] = V e

I[Q] = F. Com esses valores lógicos de P e Q, analisa-se cada uma

das fórmulas dadas para concluir, ou não, pelo seu valor verdade.

®

2. Qual a interpretação da fórmula G, abaixo, sabendo que

I[P] = V e I[Q] = V?

G = (P (~Q R)) ~(Q (P ~R))®ÚÙÚ«

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

33

Exemplo 3:

Sendo G = P Q e sabendo-se que I[G] = V, o que se pode

concluir a respeito de I[P] e I[Q]?

Solução:

A disjunção é verdade quanto pelo menos um de seus

componentes é verdadeiro, existindo três situações possíveis.

Dessa forma, nada se pode concluir sobre o valor verdade de P e

de Q.

Ú

P Ú Q G

? V ? V

Page 34: Logica para computação

Capítulo 3

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

O Cálculo Proposicional

34

Tem por objetivo avaliar o valor verdade de uma fórmula.

3.1 Ordem de precedência entre os operadores

Para avaliar o valor verdade de uma fórmula da lógica

proposicional, a precedência dos operadores deve ser

observada. Abaixo são apresentados os operadores lógicos, da

maior para a menor precedência:

1. expressões entre parênteses, resolve-se a partir dos

parênteses mais internos para os mais externos.

2. ~ (negação)

3. , (conjunção e disjunção têm a mesma precedência,

operando-se o que ocorrer primeiro, da esquerda para a direita).

4.

5.

Isto significa que, para avaliar a fórmula A B C, como

não há parênteses, avalia-se primeiro a conjunção ( ), depois o

condicional ( ).

ÙÚ

®

«

®Ù

Ù

®

Page 35: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

35

A B C V V V V V F V F V V F F F V V F V F F F V F F F

Quando os conectivos lógicos foram apresentados,

tínhamos tabelas verdade com duas proposições simples, cada

uma com quatro linhas. No exemplo acima, temos uma fórmula

com três proposições simples e a respectiva tabela verdade tem

oito linhas. Podemos concluir que o número de linhas de uma n

tabela verdade é obtido por 2 linhas, sendo n o número de

proposições simples que a fórmula contém.

O passo seguinte é analisar a fórmula, de acordo com a

precedência dos operadores, um operador por coluna da tabela.

Exemplos:

Construir a tabela verdade para as fórmulas G e H abaixo:

a) G = A B A B

Como a fórmula acima não contém parênteses, deve-se,

então, seguir a ordem de precedência dos operadores na análise

Ù®Ú

3.2 Tabela verdade.

Para construir a tabela verdade de uma fórmula, inicia-se

pela composição, em conjunto, de todos os valores lógicos das

proposições simples que compõem uma fórmula.

Considerando a fórmula (A B) C, vemos que a mesma

possui três proposições simples. Fazendo todas as combinações

possíveis dos valores verdade dessas proposições simples temos:

Ú®

Page 36: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

36

Conclui-se que o valor da fórmula G é VVVV.

Outra maneira de fazer uma tabela verdade é criar uma

coluna para cada símbolo da fórmula e realizar as operações

seguindo a ordem de precedência dos operadores.

Dessa segunda maneira, a tabela verdade da fórmula acima

A seguir, acrescenta-se outra coluna e faz-se a operação do

conectivo Ú

A B A Ù B A Ú B V V V V V F F V F V F V F F F F

Por fim, acrescenta-se mais uma coluna e avalia-se o

conectivo , considerando como antecedentes os valores da 3a

coluna e como conseqüentes os valores da 4a coluna,

completando a tabela verdade.

®

A B A Ù B A Ú B A Ù B ® A Ú B V V V V V V F F V V F V F V V F F F F V

A B A Ù B V V V V F F F V F F F F

da mesma. Após fazer as combinações possíveis dos valores

verdade de A e B, opera-se primeiro o conectivo :Ù

Page 37: Logica para computação

1 2 3 4 5 6 7 8 9 A B A Ù B ® A Ú B

V V V F F V F F

Etapa

inicia escrevendo toda a fórmula, cada símbolo em uma coluna,

e fazendo a composição de todas as possibilidades dos valores

lógicos de A e B.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

37

1 2 3 4 5 6 7 8 9 A B A Ù B ® A Ú B

V V V V V V V V V F V F F V V F F V F F V F V V F F F F F F F F

Etapa 1 2 1 3 4 3

O primeiro conectivo a ser avaliado é o , o que é feito em

duas etapas: na etapa 1, repete-se os valores verdade de A e B

das colunas 1 e 2 nas colunas 3 e 5, respectivamente e na etapa 2

opera-se o :

Ù

Ù

1 2 3 4 5 6 7 8 9 A B A Ù B ® A Ú B

V V V V V V F V F F F V F F V F F F F F

Etapa 1 2 1

A seguir opera-se o . De forma semelhante ao que foi feito

nas etapas 1 e 2, a etapa 3 consiste em copiar os valores de A e B

para as colunas 7 e 9, respectivamente, e na etapa 4 anota-se o

resultado da disjunção entre A e B, gerando a tabela:

Ú

Page 38: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

38

A B C A Ú B V V V V V V F V V F V V V F F V F V V V F V F V F F V F F F F F

Obs.: A diferença básica entre uma e outra maneira de

construir a tabela verdade é que na primeira forma a última

coluna sempre corresponde ao conectivo principal, enquanto na

segunda, o conectivo principal continua sendo o último a ser

avaliado mas não está situado na última coluna.

b) H = ((A B) C) (B ~C)

Após fazer as combinações de valores verdade das

proposições simples, procede-se à avaliação da expressão do

parêntese mais interno (A B):

Ú®«®

Ú

Finalmente, passa-se à etapa 5, que é avaliar o condicional,

sendo o antecedente os valores da coluna 4 (etapa 2) e os

conseqüentes os valores constantes da coluna 8 (etapa 4),

gerando a tabela verdade final:

1 2 3 4 5 6 7 8 9 A B A Ù B ® A Ú B

V V V V V V V V V V F V F F V V V F F V F F V V F V V F F F F F V F F F

Etapa 1 2 1 5 3 4 3

Page 39: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

39

O valor da fórmula H é: FFVFFFVV.

Obs.: Caso as combinações de valores verdade iniciais (três

primeiras colunas da tabela) estejam em uma ordem diversa da

apresentada acima a ordem dos valores verdade (V, F) do

resultado poderá ser diferente da apresentada. No caso do

exemplo acima, se a combinação da 1a e da 2a linhas, estiverem

Depois, faz-se a avaliação de ~C, seguindo-se a avaliação

do condicional (B ~C) e, por fim, do bicondicional, entre os

valores das colunas 5 e 7.

®

1

2

3

4

5

6

7

8

A

B

C

A Ú B ((A Ú B) ® C)

~C

(B ® ~C)

«

V

V

V

V

V

F

F

F

V V F V F V V F

V F V V V F V V

V F F V F V V F

F V V V V F F F

F V F V F V V F

F F V F V F V V F F F F V V V V

A seguir, considera-se a quarta coluna como o antecedente

e a terceira coluna como conseqüente, e avalia-se o condicional

( ) do parêntese mais externo ((A B) C).® Ú®

A B C A Ú B ((A Ú B) ® C)

V V V V V

V V F V F

V F V V V

V F F V F

F V V V V

F V F V F F F V F V F F F F V

Page 40: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

40

1 2 3 4 5 6 7 8 9 10 11 12 13 A B C ((A Ú B) ® C) « (B ® ~ C)

V V V V V V V V F V V V V F V V V F V F F V V F F V V F V V F V F F V V F F V F F F F F F F F F

Etapa 1 2 1

1 2 3 4 5 6 7 8 9 10 11 12 13 A B C ((A Ú B) ® C) « (B ® ~ C)

V V V V V F V F V V F F F V V F V F F F V F F F

O parêntese mais interno é o primeiro a ser avaliado. A

etapa 1 é repetir os valores verdade de A e B e a etapa 2 é fazer a

conjunção de A e B. Após a etapa 2 a tabela verdade assume o

aspecto abaixo:

em outra posição, os dois valores F iniciais do resultado não serão

os primeiros. Seja qual for a ordem das combinações iniciais, o

resultado sempre terá 5 valores F e três V.

A fórmula H = ((A B) C) (B ~C), do exemplo

anterior, avaliada pelo segundo método, onde se escreve cada

símbolo em uma coluna, é feita como da forma abaixo. Notar que

é importante representar os parênteses da fórmula, já que esses

influem na ordem das operações. Também vale destacar que o

símbolo de negação deve figurar em uma coluna, separado da

proposição que está negando.

Ú®«®

Page 41: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

41

Coluna 1 2 3 4 5 6 7 8 9 10 11 12 13 A B C ((A Ú B) ® C) « (B ® ~ C)

V V V V V V V V V F F V V V F V V V F F V V V F V F V V V F V V F V F V V F F V V F F F F V V F F V V F V V V V V F F V F V F F V V F F V V V F F F V F F F V V F V F V F F F F F F V F F V V F

Etapa 1 2 1 4 3 5 7 6 5

Coluna 1 2 3 4 5 6 7 8 9 10 11 12 13 A B C ((A Ú B) ® C) « (B ® ~ C)

V V V V V V V V V V F V V V F F V F V V V F V V V F F V V F F F F V V F V V V V F V F F V V F F F F V F F F V V F F F F F F V F

Etapa 1 2 1 4 3

A etapa 5 é transcrever os valores verdade de B e C para as

colunas 10 e 13, respectivamente.

É importante observar que a negação precede todos os

outros operadores. Por isso, antes de operar o condicional da

coluna 11 é necessário fazer a negação de C (coluna 12), que

constitui a etapa 6. O passo 7 é avaliar o condicional da coluna

11, gerando a posição abaixo da tabela verdade:

A etapa 3 é transcrever os valores verdade de C para a

coluna 8. A etapa 4 será fazer o condicional entre a coluna 5 ( ),

como antecedente e a coluna 8 (C), como conseqüente.

Ú

Page 42: Logica para computação

EXERCÍCIOS

1. Faça a tabela verdade para as fbf abaixo:

a) (A B) C

b) A B ~A

c) (A B) ~A B

d) (P (~Q R)) ~(Q (P ~R))

Ú®

Ú®

®«Ú

®ÚÙÚ«

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

42

1 2 3 4 5 6 7 8 9 10 11 12 13

A B C ((A Ú B) ® C) « (B ® ~ C)

V V V V V V V V F V F F V

V V F V V V F F F V V V F

V F V V V F V V V F V F V

V F F V V F F F F F V V F

F V V F V V V V F V F F V

F V F F V V F F F V V V F

F F V F F F V V V F V F V

F F F F F F V F V F V V F

Etapa 1 2 1 4 3 8 5 7 6 5

A coluna da etapa 8 contém o resultado. Como já se

esperava, esse resultado coincide com o encontrado na tabela

verdade feita anteriormente. E não poderia ser diferente, pois a

mesma fórmula só pode gerar um único resultado, seja qual for o

método empregado para fazer sua avaliação.

Para finalizar a construção da tabela verdade, a etapa 8

consiste na avaliação do bicondicional, que será feita entre o

resultado da expressão do lado esquerdo, que consta da coluna 7

e o resultado da expressão do lado direito, que se encontra na

coluna 11:

Page 43: Logica para computação

3.3.2 Contradição

Uma fórmula é contraditória (ou uma contradição) se, e

somente se, para toda interpretação I, I[H] = F.

Exemplo: (P Q) ~(P Q)ÙÙÚ

P Q P Ù Q ( P Ú Q) ~(P Ú Q) Ù V V V V F F V F F V F F F V F V F F F F F F V F

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

43

3.3 Propriedades semânticas da lógica proporcional

3.3.1 Tautologia

Uma fórmula H é uma tautologia ou é válida se, e somente

se, para toda interpretação I, I[H] = V

Fazendo-se a tabela verdade para a fbf H = P ~( P Q),

tem-se

ÚÙ

P Q P Ù Q ~( P Ù Q) P Ú ~( P Ù Q) V V V F V V F F V V F V F V V F F F V V

Observa-se que o valor lógico de H é V, ou seja, para toda

interpretação I, I[H] = V. Nesse caso, H é uma tautologia.

EXERCÍCIOS

1. Fazer a tabela verdade para a fórmula

H = (P Q) (P Q) e verificar se a mesma é uma tautologia.

2. Mostre que a fórmula abaixo é uma tautologia:

(P Q) (~P Q)

Ù®Ú

®«Ú

Page 44: Logica para computação

EXERCÍCIOS

1) Mostre que as fórmulas abaixo são contradições:

a) ~(P Q) Q

b) ~(P (P Q))

®Ù

®Ú

3.3.3 Fórmula satisfatível.

Uma formula é satisfatível (uma indeterminação ou uma

contingência), se existe pelo menos uma interpretação I, tal que

I[H] = V

Por essa definição, basta que apenas uma interpretação I,

de H, seja verdadeira, ou seja, basta que apenas uma linha da

tabela verdade de H resulte em V, para que a fórmula seja

classificada como satisfatível.

Exemplo: construir a tabela verdade para a fórmula

G = ~((A B) A)®®

A B (A ® B) (A ® B) ® A ~

V V V V F V F F V F F V V F V F F V V F

EXERCÍCIOS

1) Construa a tabela verdade para as fórmulas abaixo e

prove que são satisfatíveis:

a) H = (P Q) Q

b) G = (P Q) (P Q)

«Ú

®®Ù

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

44

Page 45: Logica para computação

3.3.4 Equivalência lógica (rtepresentada por )Û

Dadas duas fórmulas H e G, G equivale a H (G H), se e

somente se, para toda interpretação I, I[G] = I[H]

Fazendo a tabela verdade para a fbf H = (A B) (B A),

temos:

®Ù®

Û

A B A ® B B ® A (A ® B) Ù(B ® A) V V V V V V F F V F F V V F F F F V V V

Comparando a tabela verdade da fórmula H, acima, com a

tabela verdade fórmula P Q (bicondicional, vista no item

2.2.5), verifica-se que são idênticas. Diz-se, então, que a

fórmula H e o bicondicional são equivalentes.

«

Fazer as tabelas verdade para as fórmulas G e H abaixo e

verificar se são equivalentes (verificar se G H):

a) G = A B e H = ~(A B)

b) G = ~(A B) e H = ~A ~B

® Ú

Ú Ù

Û

EXERCÍCIOS

3.3.5 Implicação lógica (representada por Þ)

Sejam as fórmulas G e H. As três condições seguintes são

equivalentes:

(1) ~G Ú H é uma tautologia.

(2) G Ù ~H é uma contradição.

(3) G ® H é uma tautologia.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

45

Page 46: Logica para computação

K L (lê-se K implica logicamente em L) se satisfizer a uma

das três condições acima especificadas. Escolhendo a condição

(1), sua tabela verdade será:

Þ

K L ~K ~K Ú L V V F V F F V V V F F F F F V V

que não é uma tautologia. Logo, K não implica logicamente em L.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

46

K L M P Q P Ù Q Ú Q P Ù Q P Ú Q V V V V V V V F F F F V F V F V F V F F F F F F

Resumindo:

P Q K L M V V V V V V F F F V F V V F V F F F F F

Uma fórmula G implica logicamente uma fórmula H (G H)

se uma das condições acima for satisfeita.

Exemplos: Considere as fórmulas

a) K = (P Q) Q

b) L = P Q

c) M = P Q

As tabelas verdade de K, L e M são:

Þ

ÙÚ

Ù

Ú

Page 47: Logica para computação

EXERCÍCIOS

1) Considerando as fórmulas K, L, e M do último exemplo,

verificar se:

a) L Þ M

b) M Þ K

c) L Þ K

d) K Þ M

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

47

Usando a mesma condição (1) para testar se L Þ K, temos:

K L ~L ~L Ú K V V F V F F V V V F V V F F V V

resulta em uma tautologia. Logo, L implica logicamente em K.

Aplicando o critério (2), G ~H, para verificar se L Þ K,

faz-se a tabela verdade para L ~K, chega-se ao seguinte

resultado:

Ù

Ù

K L ~K L Ù ~K V V F F F F V F V F F F F F V F

que é uma contradição.

Aplicando o critério (3), que é fazer a tabela verdade

para L K, verifica-se que é uma tautologia.

Chega-se à conclusão que, se duas fórmulas atendem a um

dos critérios acima, pode-se afirmar que uma implica

logicamente na outra, mesmo que não se teste os outros dois

critérios.

®

Page 48: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

48

Outra maneira de verificar a implicação lógica:

Dadas duas fórmulas G e H, G implica H (G H) se, e

somente se, para toda interpretação I,

se I[G] = T, então I[H] = T

Pela definição de implicação acima, K implica M. Observe

que para as duas interpretações I[K] = V , I[M] = V também.

Quando I[K] = F, nada se pode afirmar sobre I[M]. Da mesma

forma, L implica K e L implica M. Já não se pode dizer o mesmo a

respeito de M em relação a L e K, uma vez que para todas as

interrpretações I[M] = V, nem todas as interpretações de I[L] e

I[K] são também verdadeiras.

Þ

EXERCÍCIOS

2) Construa as tabelas verdade para as fórmulas A = (~P

Q) e B = (P Q) e verifique se A Þ B, usando este último critério

de implicação.

«

Ú

Page 49: Logica para computação

49

4.1 Argumento

Suponha que seja feita a pergunta: “A Terra tem luz

própria?”. Uma forma de buscar a resposta é procurar um termo

intermediário que se relacione com outros termos da pergunta.

Esse termo pode ser “planeta”. A partir desse termo, pode-se

formular as seguintes sentenças:

Um planeta não tem luz própria.

A Terra é um planeta.

Logo, a Terra não tem luz própria.

A terceira sentença é uma conclusão, que foi tirada a partir

das duas primeiras e, com isso, a pergunta foi respondida.

Outro exemplo:

3 + 2 = 5

5 = 4 + 1

3 + 2 = 4 + 1

Raciocínios como os apresentados acima, são da forma

silogística.

Capítulo 4

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

Validade de umArgumento

Page 50: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

50

Aristóteles definiu o silogismo como:

“O silogismo é uma série de palavras em que, sendo

admitidas certas coisas, delas resultará necessariamente

alguma outra, pela simples razão de se terem admitido

aquelas.”

Silogismo significa ligação, ou seja, a ligação de dois

termos através de um terceiro.

As sentenças que servem para provar ou, pelo menos, para

fornecer alguma evidência para a conclusão são chamadas de

premissas. Um conjunto de sentenças, onde algumas são

premissas e outra é a conclusão é chamado de argumento.

Um argumento pode ser escrito de diversas formas.

Vejamos o seguinte exemplo:

Andar de bicicleta é um ótimo exercício. Josefina anda de

bicicleta. Josefina pratica um ótimo exercício.

Alguns autores preferem representar o argumento da

forma:

Andar de bicicleta é um ótimo exercício.

Josefina anda de bicicleta.

Josefina pratica um ótimo exercício. (três pontos para

identificar a conclusão.)

\

Outros autores preferem a forma:

Andar de bicicleta é um ótimo exercício.

Josefina anda de bicicleta.

Þ Josefina pratica um ótimo exercício. (o símbolo condicional

para identificar a conclusão.)

Page 51: Logica para computação

51

Indicadores de conclusão

logo

portanto

assim

por conseguinte

dessa maneira

neste caso

daí

de modo que

então

assim sendo

segue-se que

o(a) qual implica que

resulta que

podemos deduzir que

Indicadores de premissa

desde que

como

porque

assumindo que

visto que

admitindo que

isto é verdade porque

a razão é que

em vista de

como conseqüência de

como mostrado pelo fato que

sabendo-se que

supondo que

Um argumento acontece quando se pretende provar ou

demonstrar uma conclusão, a partir de uma ou mais

premissas.

Uma maneira de representar, na lógica proposicional, um

argumento é:

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

O importante é caracterizar a conclusão. Na álgebra

proposicional as premissas e conclusão são representadas por

símbolos proposicionais (letras maiúsculas).

Um argumento onde a conclusão decorre das premissas é

um argumento válido. Argumentos dessa forma são conhecidos

pela expressão latina modus ponens (método de afirmação).

Existem termos que são freqüentemente usados para

assinalar a conclusão e as premissas de um argumento. Abaixo,

destacamos alguns dos mais freqüentemente utilizados:

Page 52: Logica para computação

Proposição simples

- O criminoso é primário

- O criminoso cometeu um descuido

- O criminoso terá sua pena diminuída.

Representação

P

Q

R

Representação na lógica proporcional:

(P Q) (P R) ~P ~R.

Note que (P R) tem, obrigatoriamente, que vir entre

parênteses. A fbf acima, se escrita da forma (P Q) P R ~P

~R, nos levaria a duas situações:

— primeiro, surgiria a dúvida: qual é a conclusão, o

primeiro ou o segundo condicional?

— em segunda instância, a sua avaliação seguiria a

precedência dos operadores e primeiro seria feito ((P Q) P),

depois seria avaliado (R ~P) e, por fim, os dois condicionais

restantes , o que levaria a um resultado diferente do esperado.

Úٮٮ

®

ÚÙ®Ù

®

ÚÙ

Ù

®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

52

Na lógica proposicional, temos: A B C.

Como o operador conjunção ( ) tem precedência sobre o

condicional ( ), não é necessário escrever (A B) C. Porém,

há situações que os parênteses são obrigatórios.

Vejamos o argumento abaixo:

O criminoso é primário, ou cometeu um descuido. Se o

criminoso for primário, então terá sua pena diminuída. O

criminoso não é primário. Logo, sua pena não será diminuída.

Ù®

Ù

® Ù®

A viagem para Manacapuru dura uma hora. A

João irá a Manacapuru B

Logo, João viajará durante uma hora. C

Page 53: Logica para computação

4.2 Métodos para avaliar a validade de um argumento

Verificar se um argumento é válido é verificar se o mesmo é

uma tautologia, ou seja, se todas as interpretações (linhas) de

sua tabela verdade resultam em valor lógico verdadeiro (V). Em

última instância, é verificar se o valor verdade do conectivo

principal (o último que será analisado) é verdadeiro, para todas

as interpretações do argumento.

Argumentos podem ser escritos como fórmulas da

linguagem da Lógica Proposicional. Entretanto, nem todas as

fórmulas são escritas em formato de argumento, composto de

premissas e uma conclusão.

Os métodos de avaliação de um argumento, que serão

vistos a seguir, são métodos de avaliação geral e se prestam para

avaliar fbf quaisquer. Assim, adotaremos o termo fórmula e não

argumento, ao longo dos próximos itens.

Serão estudados quatro métodos para verificar a validade

de fórmulas da lógica proposicional: método da tabela verdade,

método da árvore semântica, método da negação ou absurdo e

dedução lógica.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

53

EXERCÍCIOS

1. Represente na linguagem simbólica da Lógica

Proposicional os argumentos:

a) Se Jonas andar e o trem sair no horário, ele perde o trem.

Se ele perder o trem, então ele fica triste e volta para

casa. Jonas andou. Portanto, Jonas voltou para casa.

b) Vou para casa somente se não chover e não estiver

quente. Não choveu mas está quente. Portanto, não vou

para casa.

Page 54: Logica para computação

P Q P ® Q ~Q ~P ~Q® ~P (P ® Q) « (~Q® ~P) V V V F F V V V F F V F F V F V V F V V V F F V V V V V

Para todas as interpretações I, I[H] = V. Então, H é uma

fórmula válida (é uma tautologia).

Mas o número de linhas de uma tabela verdade é dado por n

2 , onde n é o número de proposições simples. Quando o número

dessas proposições simples aumenta, a tabela verdade torna-se

não recomendável.

Existem outros métodos de prova que abreviam o processo

e que serão vistos a seguir.

EXERCÍCIOS

1) Usando o método da tabela verdade, verificar se o

argumento (S (~C ~Q)) (~C Q) ~S (letra b) do exercício

da seção anterior) é válido.

®ÙÙÙ®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

4.2.1 Método da tabela verdade

O método da tabela verdade é conhecido, também, como

método da força bruta, por ser um método exaustivo de prova.

Através dele, tem-se os resultados de todas as interpretações

possíveis de uma fbf.

Exemplo

Verificar se a fbf H = (P Q) (~Q ~P) é válida.

A construção da tabela verdade deve ser feita conforme o

item 3.2.

®«®

54

Page 55: Logica para computação

Na árvore do exemplo acima, o nó 1 é chamado de raiz e

está no primeiro nível da árvore, os nós 2 e 3 estão no segundo

nível, os nós 4 a 7 estão no terceiro nível, e assim,

sucessivamente. Os nós que não estão ligados a nenhum nó em

um nível abaixo, são chamados de nós folha. No exemplo acima,

são nós folha: 4, 5, 7, 9, 10 e 11.

Uma árvore binária pode ser utilizada para verificar a

validade de uma fórmula da lógica proposicional.

Exemplo 1:

Verificar se a fbf H = (P Q) (~Q ~P) é válida,

utilizando o método da árvore semântica.

®«®

O primeiro passo é construir uma árvore binária com os nós

1, 2 e 3, como no exemplo acima. A seguir, escolher uma

proposição simples para analisar, por exemplo, a proposição P.

Cada aresta da árvore construída representará um dos valores

lógicos possíveis de P.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

55

4.2.2 Método da Árvore Semântica

Uma árvore é uma estrutura de dados, composta por nós,

unidos por arestas. Quando cada nó se liga a, no máximo, dois

outros nós, essa árvore é chamada de árvore binária.

Exemplo de árvore binária:

1

2 3

4 5 6 7

8 9

10 11

Page 56: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

56

A interpretação de um nó corresponde a todas as

interpretações (arestas) encontradas no caminho percorrido da

raiz até o nó em questão.

A análise de um nó consiste em partir da interpretação

desse nó e tentar concluir pelo seu valor verdade.

Temos:

1

2 3

I[P] = V I[P] = F

Para analisar o nó número 2, começamos atribuindo o valor

V a todas as ocorrências de P na fórmula H, dada.

Esquematicamente:

(P Q) (~Q ~P)

Nó 2 = V V

Como P é verdadeiro, podemos concluir que ~P é falso

(segunda ocorrência de P na fórmula).

(P Q) (~Q ~P)

Nó 2 = V FV

®«®

®«®

O lado esquerdo do bicondicional é um condicional, cujo

antecedente é verdadeiro. Nesse caso, o valor verdade desse

condicional depende do conseqüente. O lado direito do

bicondicional é outro condicional, cujo conseqüente é falso (se P

é verdadeiro, ~P é falso), e depende do antecedente para se

poder concluir pelo seu valor lógico. Como não se tem o valor

verdade da expressão do lado esquerdo do bicondicional (P Q), ®

Page 57: Logica para computação

1

2 3

I[P] = V I[P] = F

V

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

57

Quando o antecedente de um condicional é falso, esse

condicional tem valor lógico V, independente do valor lógico do

conseqüente. Quando o valor lógico do conseqüente de um

condicional é falso, esse condicional tem valor lógico V,

independente do valor lógico do antecedente. Dessa forma, é

possível concluir pelo valor lógico do bicondicional, uma vez que

se tem os valores lógicos das expressões à direita e à esquerda

deste.

nem da expressão do lado direito (~Q ~P), nada se pode

afirmar sobre o valor lógico desse bicondicional e, portanto,

nada se pode afirmar sobre o valor do nó 2:

(P Q) (~Q ~P)

Nó 2 = V ? ? ? FV

De forma semelhante, analisa-se o nó 3:

(P Q) (~Q ~P)

Nó 3 = F VF

®

®«®

®«®

(P Q) (~Q ~P)Nó 3 = F V V V VF

®«®

Quando se chega à conclusão do valor verdade (V ou F) da fórmula, através da análise de um nó da árvore, esse valor é representado na mesma, abaixo do nó e este se torna um nó folha:

Page 58: Logica para computação

Procede-se à análise do valor verdade dos nós 4 e 5. A

interpretação do nó 4 é obtida percorrendo-se a árvore a partir

da raiz até o nó em questão. O nó 4 significa que P e Q têm,

ambas, valor lógico V. Lança-se esses valores na fórmula e busca-

se concluir pelo valor verdade desta:

(P Q) (~Q ~P)

Nó 4 = V V V V FV V FV

Procedimento semelhante deve ser adotado em ralação ao

nó 5. Para esse nó tem-se I[P] = V e [Q] = F:

(P Q) (~Q ~P)

Nó 5 = V F F V VF F FV

Como ambos os condicionais resultam em F, o bicondicional

resulta em V.

Árvore semântica final de H:

®«®

®«®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

58

Como nada se pode concluir a respeito do nó 2, acrescenta-

se a esse nó a interpretação de outra proposição simples da

fórmula sob análise:

I[P] = V I[P] = F

I[Q] = V I[Q] = F V

1

2 3

4 5

Page 59: Logica para computação

I[P] = V I[P] = F

1

2 3

Interpretação do nó 2: O conectivo principal é o segundo

condicional. Como P é verdadeiro, nada se pode concluir a

respeito do antecedente do conectivo principal, ou seja, não é

possível concluir pelo valor da expressão (P Q). Mas o

conseqüente do conectivo principal tem valor verdadeiro e,

nesse caso, a implicação é verdadeira. Logo, o nó 2 tem valor

verdadeiro.

(P Q) P

Nó 2 = V ? V V

®

®®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

59

I[P] = V I[P] = F

I[Q] = V I[Q] = F V

1

2 3

4 5

V V

Como todos os nós folha resultaram em V (verdadeiro),

conclui-se que H é válida (é uma tautologia).

Exemplo 2:

Verificar se a fórmula G = (P Q) P é válida.

Solução:

Iniciando com a interpretação de P, tem-se a árvore:

®®

Page 60: Logica para computação

Para que uma fbf não seja válida, basta que 1 nó folha

apresente valor lógico falso. Como para I[P] = F tem-se I[G] = F,

está demonstrado que G não é uma fbf válida.

Observações:

1) Como foi possível concluir pelo valor verdade dos nós 2 e

3, conhecendo-se apenas o valor de P, a árvore não

prossegue em nenhum dos dois nós. Está concluída.

2) Se todos os nós folha tiverem valor lógico falso, a fórmula

será uma contradição. Caso nem todos tenham valor

falso, diz-se que a mesma é satisfatível.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

60

I[P] = V I[P] = F

1

2 3

V F

A interpretação do nó 3 é feita assumindo que P tem valor

falso. Independente do valor de Q, o valor do antecedente do

conectivo principal será verdadeiro e seu conseqüente falso. A

fórmula resulta em falso.

(P Q) P

Nó 3 = F V F F

A árvore semântica de G tem o seguinte aspecto:

®®

Page 61: Logica para computação

Exemplo 1:

Verifique, através do método da negação (ou absurdo) se a

fórmula G, abaixo, é válida:

G = ((A B) (B C)) (A C)®Ù®®®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

61

EXERCÍCIOS

1) Construir uma árvore semântica para as fórmulas F, G e

H, abaixo, e verificar se são válidas. Caso a fórmula não seja

válida, diga para que interpretação I a fórmula tem valor lógico

falso.

a) F = (P (P Q)) (P Q)

b) G = ~(P Q) ~P

c) H = ((A B) (A C)) A

2) Mostre que o argumento (S (~C ~Q)) (~C Q) ~S é

válido, usando o método da árvore semântica.

Ù®®«

Ù®

ÚÙ®®

®ÙÙÙ®

4.2.3 Método da negação (ou absurdo)

Esse é um método geral de demonstração. Será utilizado

nesse contexto para provar se uma fbf é uma tautologia.

Suponha que se quer provar a validade de uma fórmula H.

Procura-se demonstrar, a princípio, que H é falsa. Recorrendo a

uma série de deduções, pode-se chegar à conclusão que, de fato,

H é falsa, ou pode-se chegar a um absurdo.

Na hipótese de se concluir que H é falsa, está provado que

a fórmula não é uma tautologia.

Quando se tenta provar que H é falsa e se chega a um

absurdo, conclui-se que H é uma tautologia. Dizendo de outra

forma: se é absurdo dizer que H é falsa, é porque H não é falsa, H

é válida, é uma tautologia.

Page 62: Logica para computação

Para que o antecedente do conectivo principal, que é a

conjunção – , seja verdadeiro, as expressões à esquerda e à

direita deste devem ser, ambas, verdadeiras. Na situação acima,

depende-se do valor de B para se tirar uma conclusão. Para que a

expressão A B resulte em V, com A sendo V, B teria que ter valor

V. Já a expressão B C só resulta em V se B tiver valor F. Todavia,

é um absurdo atribuir valor verdadeiro e falso a B, ao mesmo

tempo. Não há como provar que G tem valor lógico falso.

Conclusão:

Dizer que G é falso é um absurdo logo, G é válida. G é uma

tautologia.

Ù

®

®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

62

O primeiro passo para a solução é identificar o conectivo

principal, aquele que será analisado por último e atribuir valor

falso a esse conectivo:

G = ((A B) (B C)) (A C)

F

Sendo o conectivo principal um condicional, o único caso

em que será falso é quando o antecedente é verdadeiro e o

conseqüente falso. Faz-se essa suposição:

G = ((A B) (B C)) (A C)

V F F

Como o conseqüente é uma expressão mais simples que o

antecedente, faz-se primeiro sua análise. Este será falso,

somente quando seu antecedente for V e o conseqüente for F.

Assim, atribui-se valor V à proposição A e F à proposição C.

Depois, atribui-se esses mesmos valores às demais ocorrências

das proposições A e C, na fórmula, obtendo-se a situação:

G = ((A B) (B C)) (A C)

V V F F V F F

®Ù®®®

®Ù®®®

®Ù®®®

Page 63: Logica para computação

O bicondicional resulta em falso em duas situações: quando

o termo à esquerda é falso e o da direita é verdadeiro ou quando

a situação é inversa, o termo da esquerda é verdadeiro e o da

direita é falso. Faz-se necessário testar as duas situações.

Poissibilidade 1: H = (P Q) (~P ~Q)

V F F

As expressões à direita e à esquerda são ambas

condicionais. Há três possibilidades de um condicional ser

verdadeiro e uma de ser falso. Por esse motivo, inicia-se pelo

lado direito, onde, para o antecedente ser verdadeiro e o

consequente falso, P deve ter valor F e Q ter valor V. Aplicando

®«®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

63

Ausência de absurdo

Ao se tentar negar uma fórmula que se supõe, inicialmente,

verdadeira pode-se não chegar a nenhum absurdo. Em outras

palavras, pode-se chegar à conclusão de que, para uma

determinada interpretação I, a fórmula é falsa. Nesse caso,

pode-se afirmar que a mesma não é válida, que não é uma

tautologia. Entretanto, não se pode dizer que é uma contradição

ou que é apenas satisfatível.

Exemplo 2:

Verificar se a fórmula H = (P Q) (~P ~Q)

Solução

Tenta-se provar que H é falsa. Para tal, atribui-se o valor

lógico falso ao conectivo principal, aquele que será avaliado por

último. Vê-se que é .

H = (P Q) (~P ~Q)

F

®«®

«

®«®

Page 64: Logica para computação

EXERCÍCIOS

1. Verificar, usando o método da negação ou absurdo, se os

argumentos abaixo são válidos:

a) G = A B ~A

b) Se Luiz é o presidente, ele está feliz. Luiz está feliz.

Portanto, ele é o presidente.

c) H = ((A B) (A C)) A

Ú®

ÚÙ®®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

64

esses valores à expressão à esquerda do bicondicional, chega-se

à conclusão que esta é verdadeira:

H = (P Q) (~P ~Q)

F V V F VF F FV

não se chegando a nenhum absurdo, provando que H é falsa para

a interpretação I[P] = F e I[Q] = V. Essa conclusão já é suficiente

para afirmar que a fórmula não é válida.

Para completar a análise, vejamos a outra situação.

Poissibilidade 2: H = (P Q) (~P ~Q)

F F V

Desta feita, é aconselhável começar pela subfórmula do

lado esquerdo, obtendo os valores P verdadeiro e Q falso.

Concluindo a análise não se chega a nenhum absurdo, reforçando

o resultado já obtido de que H não é válida.

Poissibilidade 2: H = (P Q) (~P ~Q)

V F F F FV V VF

®«®

®«®

®«®

Page 65: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

65

4.2.4.1 Regras de dedução

As regras de dedução são de dois tipos: regras de

equivalência e regras de inferência.

4.2.4 Dedução lógica

Para testar se um argumento do tipo P1 P2 P3 P4 ...

Pn Q é uma tautologia, pode-se usar um sistema de regras de

dedução, que modifica uma fbf preservando seu valor lógico.

A prova por dedução supõe que as premissas são todas

verdadeiras e segue uma seqüência de demonstração até

verificar que a conclusão é verdadeira.

Uma seqüência de demonstração é uma seqüência de fbf,

na qual cada fbf é uma hipótese ou é obtida através da aplicação,

às fbf anteriores, de uma das regras de dedução do sistema

formal.

Uma seqüência de demonstração para provar que Q é uma

conclusão válida numa fbf do tipo P1 P2 P3 P4 ... Pn

Q, tem o formato:

P1 hipótese

P2 hipótese

P3 hipótese

...

Pn hipótese

fbf1 deduzida de uma ou mais das fbf anteriores, por

uma regra de dedução

fbf2 deduzida de uma ou mais das fbf anteriores, por

uma regra de dedução

fbf3 deduzida de uma ou mais das fbf anteriores, por

uma regra de dedução

...

Q deduzida de uma ou mais das fbf anteriores, por

uma regra de dedução

ÙÙÙÙÙ

®

ÙÙÙÙÙ®

Page 66: Logica para computação

Fórmula Equivale a Nome/abreviação da regra

P Ù Q P Ú Q

Q Ù P Q Ú P

Comutativa – com

(P Ù Q) Ù R (P Ú Q) Ú R

P Ù (Q Ù R) P Ú (Q Ú R)

Associatividade - ass

~(P Ù Q) ~(P Ú Q)

~P Ú ~Q ~P Ù ~Q

Leis de De Morgan

P® Q ~P Ú Q Condicional – cond P ~(~P) Dupla negação – dn

P « Q (P® Q) Ù (Q® P) Definição de Equivalência - equi Tabela 4 - Regras de equivalência

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Regras de inferência:

De Podemos deduzir Nome da regra

P, P® Q Q Modus ponens – mp

P ® Q, NQ ~ P Modus tollens – mt

P, Q P Ù Q Conjunção – conj

P Ù Q P, Q Simplificação - simp

P P Ú Q Adição – ad Tabela 5 - Regras de inferência

66

Regras de equivalência permitem substituir uma fbf por

outra equivalente, sem mudar o valor lógico da fórmula.

Relembrando equivalência lógica, dizer que R Û S (R

equivale logicamente a S) tem o mesmo significado de “R S é

uma tautologia”.

Embora seja possível adotar muitas equivalências lógicas

num sistema formal de regras de dedução, será adotado um

conjunto mínimo de regras de equivalência e de inferência, de

modo que o sistema lógico formal seja correto (os argumentos

demonstráveis são válidos) e completo (todos os argumentos

válidos devem ser demonstráveis).

Regras de equivalência

«

Page 67: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

67

Caso se tenha uma fórmula constante da primeira coluna da

tabela de regras de equivalência, pode-se substituir essa

fórmula pela sua correspondente na segunda coluna, sem que o

valor da fórmula seja alterado, da mesma forma que uma

fórmula da segunda coluna pode ser substituída pela sua

correspondente da primeira coluna.

Exemplo: A fórmula P Q é equivalente à fórmula ~P Q

Uma maneira de provar a equivalência lógica (P Q) Û

(~P Q) é fazer a tabela verdade para (P Q) (~P Q) e

verificar que é uma tautologia.

Outra forma de fazer essa verificação, é analisar a tabela

verdade do condicional:

® Ú

®

Ú ®« Ú

P Q P à Q V V V V F F F V V F F V

Observa-se que I[P Q] = V em três situações de P e Q em

conjunto. Por outro lado, observando as interpretações de P e de

Q separadamente, vê-se que quando I[P] = F, I[P Q] = V e que

quando I[Q] = V, também I[P Q] = V. Mas I[P] = F significa que

I[~P] = V. Dessa forma é possível afirmar que quando P Q for

verdadeiro, ~P ou Q será verdadeiro, ou, ainda, sabendo que ~P é

verdadeira ou que Q é verdadeira (basta uma ser verdadeira) a

implicação P Q também será verdadeira.

As regras de inferência não podem ser utilizadas da

mesma forma.

Voltando-se à tabela verdade do condicional mais uma vez,

percebe-se que P e P Q têm ambas valor lógico verdadeiro

®

®

®

®

®

®

Page 68: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

68

somente na primeira linha da tabela, e nessa situação Q também

tem valor lógico verdadeiro.

Sempre que se saiba que uma proposição P é verdadeira e

outra proposição P Q também é verdadeira pode-se inferir que

a proposição Q também o é.

Voltando à tabela verdade, verifica-se que Q e P Q são

ambas verdadeiras em duas situações: na primeira linha, quando

P também é verdadeira e na terceira linha, quando P é falsa.

Conclusão: sabendo-se que Q e P Q são ambas

verdadeiras nada se pode afirmar sobre o valor de P, já que P

tanto pode ter valor lógico V quanto F.

Por esse motivo, conhecendo-se o valor verdade de uma

fórmula da primeira coluna da tabela de regras de inferência,

pode-se concluir pelo valor da fórmula correspondente,

constante da segunda coluna. Entretanto, conhecendo-se o valor

de uma fórmula da segunda coluna NÃO é possível deduzir o valor

da fórmula da primeira coluna, como acontece com as regras de

equivalência.

®

®

®

Exemplo 1:

Utilizando dedução lógica, prove a validade do argumento:

(A C) (C D) A D

O primeiro passo é identificar as hipóteses:

Tem-se três hipóteses (que representam premissas), as

quais estão ligadas pelo conectivo “e”, e uma conclusão, que é

C.

A prova por dedução consiste em supor que as hipóteses

são verdadeiras e procurar concluir que a conclusão também o é,

o que torna o argumento válido.

Identificadas as hipóteses, relacionam-se as mesmas em

um coluna, enumerando os passos da dedução e, ao lado, anota-

®Ù®Ù®

Page 69: Logica para computação

Após essa conclusão tem-se 4 fbf verdadeiras. Percebe-se

que a partir das fbf 2 e 4, novamente usando a regra modus

ponens, é possível concluir que D é verdadeira, concluindo a

dedução:

1. A C hip ®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

69

se o significado, ou como foi obtida a fbf constante da primeira

coluna:

1. A C hip (Hipótese. É suficiente a abreviatura)

2. C D hip

3. A hip

®

®

O objetivo é provar que D (a conclusão) é verdadeira. D está

na segunda hipótese. Observando as regras de equivalência e de

inferência não é possível concluir pelo valor de D diretamente.

Porém, há uma regra de inferência que permite concluir pelo

valor de C: o modus ponens. Essa regra diz que, se o antecedente

de uma implicação e a própria implicação são verdadeiras, então

pode-se inferir que o conseqüente dessa implicação também é

verdadeiro. Tem-se, pela hipótese 1 que A C é verdadeira e na

hipótese 3 que A – antecedente da fbf da hipótese 1 – também é

verdadeira. Assim, deduz-se que C também é verdadeira. Esse é

o passo 4 da dedução:

1. A C hip

2. C D hip

3. A hip

4. C 1, 3 mp (que significa: da hipótese 1 e da 3,

através da regra modus ponens, concluo que

C também é verdadeira).

®

®

®

Page 70: Logica para computação

A conjunção só é verdadeira quando ambas as componentes

o são. A regra de inferência “simplificação” foi criada partindo

desse pressuposto: sabendo que a conjunção é verdadeira,

conclui-se que uma componente e também a outra são

verdadeiras.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

70

2. C D hip

3. A hip

4. C 1, 3 mp

5. D 2, 4 mp.

®

Exemplo 2:

Através de dedução lógica, provar que o argumento abaixo

é válido:

(A (B C)) A C

Verifica-se que existem duas hipóteses e o objetivo é

provar que C é verdadeira.

1. A (B C) hip

2. A hip

®ÙÙ®

®Ù

É conhecido o valor da implicação (hipótese 1) e do

antecedente desta (hipótese 2). Por modus ponens conclui-se

pelo conseqüente. Observar que na tabela 5, a regra é genérica.

Em P, P Q, P pode ser uma fbf com mais de uma proposição

simples, da mesma forma que Q. Nesse último exemplo o

conseqüente, B C, corresponde ao Q da tabela:

1. A (B C) hip

2. A hip

3. B C 1, 2 mp

®

Ù

®Ù

Ù

Page 71: Logica para computação

Relembrando a tabela verdade da conjunção:

P Q P Ú Q V V V V F V F V V F F F

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

71

1. A (B C) hip

2. A hip

3. B C 1, 2 mp

4. B, C 3, simp

®Ù

Ù

Provando que C é verdadeira e, portanto, que o argumento

é válido.

Obs.: O passo 4 significa que B é verdadeira e também C é

verdadeira. Embora não seja necessário, não estaria errado

desmembrá-lo em dois:

4. B 3, simp

5. C 3, simp.

Exemplo 3:

Provar a validade do argumento abaixo, usando dedução

lógica:

((A ~B) C) (C D) A D

1. (A ~B) C hip

2. C D hip

3. A hip

Foram levantadas três hipóteses e o objetivo é provar que a

conclusão, D, é verdadeira. A princípio não há nenhuma regra

que permita tirar conclusões a partir das hipóteses acima.

ڮٮٮ

Ú®

®

Page 72: Logica para computação

Os passos seguintes são imediatos:

1. (A ~B) C hip

2. C D hip

3. A hip

4. A ~B 3, ad

5. C 1, 4, mp

6. D 2, 5, mp

Ú®

®

Ú

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

72

Conhecendo apenas o valor da conjunção, P Q, como

sendo verdadeiro não é possível saber qual o valor de apenas

uma componente, já que existem três situações em que a

conjunção resulta em valor lógico V.

Por outro lado, saber que uma proposição P é verdadeira, é

suficiente para poder afirmar que a conjunção dessa proposição

com qualquer outra também será verdadeira. Esse fato originou

a regra de inferência “adição”. Observa-se que, sabendo que P é

verdadeira, P Q também o será.

Obs.: Nada se pode afirmar sobre o valor de P, se só se

conhece o valor da conjunção P Q.

Na hipótese 1, caso se conheça o valor do antecedente, A

~B, pode-se inferir o valor do conseqüente. Mas só se conhece o

valor de A. A regra da adição permite inferir que, como A é

verdadeira, A ou “qualquer outra fbf” resultará em valor V. E essa

“qualquer outra fbf” pode ser ~B. A prova do argumento

prossegue assim:

1. (A ~B) C hip

2. C D hip

3. A hip

4. A ~B 3, ad, obtendo, dessa forma, o valor

verdade do antecedente da hipótese do

passo 1.

Ú

Ú

Ú

Ú

Ú®

®

Ú

Page 73: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

73

Observações:

1. Possivelmente, modus ponens é a regra de inferência

mais intuitiva e mais utilizada em deduções lógicas.

2. Embora menos freqüentes, quando surgirem fbf da forma

~(P Q) e ~(P Q) deve-se utilizar as leis de De Morgan para

convertê-las em ~P ~Q e ~P ~Q, respectivamente.

3. Fórmulas bem formuladas da forma P Q são de pouca

utilidade em demonstrações. Usando a dupla negação chega-se a

~(~P) Q e depois pode-se usar a regra do condicional para obter

~P Q.

Exemplo 4:

Provar, usando dedução lógica, o argumento:

~A (B A) ~B

Solução

1. ~A hip

2. B A hip

Ù Ú

Ú Ù

Ú

Ú

®

Ù®®

®

Essa é uma amplicação direta da regra de inferência modus

tollens, que diz que sabendo-se que uma implicação é

verdadeira e que o conseqüente dessa implicação é falso, deduz-

se que o antecedente também é falso. De fato, ao observar a

tabela verdade do condicional percebe-se que essa situação é

única. Nada se poderia afirmar sobre o conseqüente, sabendo

que a negação do antecedente é verdadeira.

1. ~A hip

2. B A hip

3. ~B mt

®

Page 74: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

74

EXERCÍCIOS

1. Diga quais regras foram empregadas na prova do

argumento abaixo. A primeira regra já foi fornecida.

Argumento: A (~B ~C) B

Passo de indução regra

1. A hip

2. ~B ~C

3. ~(~B) ~C

4. B ~C

5. ~C B

6. C B

7. B

2. Prove os argumento abaixo, usando dedução lógica:

a) A (B C) [(A B) (D ~C)] B D

b) ~A B (B (A C)) C

Ù®®

®

Ú

Ú

Ú

®

Ù®ÙÙ®ÚÙ®

ÙÙ®Ú®

4.2.4.2 Outras regras de dedução:

a) Conclusão de um argumento constituída por um

condicional

Suponha que o argumento que queremos provar tem a

forma:

P1 P2 P3 ... Pn (R S)ÙÙÙÙ®®

Page 75: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

75

Como se quer inferir uma conclusão constituída por um

condicional, R S, o método dedutivo permite adicionar o

antecedente, R, como hipótese adicional e depois inferir S.

Quando uma conclusão é formada por uma fbf com mais de

um símbolo proposicional, do tipo A B, A B, etc, terá que ser

provada por inteiro, ou seja, não basta provar uma das

componentes. A exceção é quando a proposição composta é um

condicional, do qual se tomou o antecedente como hipótese.

Exemplo 4

Provar o argumento:

(A (A B)) (A B)

Além da hipótese A (A B), também podemos adicionar

A, antecedente da conclusão, como hipótese básica e procurar

provar que B é verdadeira, para que o argumento seja válido.

Temos:

1. A (A B) hip

2. A hip

A partir desse ponto a conclusão é imediata:

3. A B 1, 2, mp

4. B 2, 3, mp

®

ÙÚ

®®®®

®®

®®

®

EXERCÍCIOS

Provar o argumento:

(~A ~B) (A C) (B C)®Ù®®®

Page 76: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

76

b) Silogismo hipotético (sh)

A regra de inferência silogismo hipotético (sh) que diz:

De A B e B C pode-se concluir que A C

Escrevendo o silogismo hipotético como uma fbf temos:

(A B) (B C) (A C)

®® ®

®Ù®®®

Exemplo 5

Provar o argumento: (~A B) (B C) (A C)

Solução:

1. ~A B hip

2. B C hip

O objetivo é provar que a conclusão A C é verdadeira. A

partir das hipóteses 1 e 2 e usando as regras conhecidas não é

possível fazer inferências. Como a conclusão é um condicional, é

opcional acrescentar A como hipótese básica. Vamos tentar uma

solução sem acrescentar A como hipótese.

Analisando a tabela de regras de equivalência vê-se que a

hipótese 1 consta da segunda coluna dessa tabela, na regra

“condicional”. Infere-se, então, que ~A B equivale a A B.

1. ~A B hip

2. B C hip

3. A B 1, cond

ÚÙ®®®

Ú

®

®

Ú ®

Ú

®

®

EXERCÍCIOS

Prove o silogismo hipotético.

Page 77: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

77

Ficou fácil inferir a conclusão. Basta usar o silogismo

hipotético:

1. ~A B hip

2. B C hip

3. A B 1, cond

4. A C 2, 3 sh

Ú

®

®

®

EXERCÍCIO 2

Provar o argumento: (A B) (~C A) C B®ÙÚÙ®

Page 78: Logica para computação

78

Capítulo V

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

Quantificadores

A lógica proposicional trata de relações fundamentais da

lógica, definidas através dos operadores lógicos (~ (negação),

(conjunção), (disjunção), (condicional),

(bicondeicional)). Contudo, não contempla argumentos que

contenham as expressões: “todo”, “nenhum” e “algum”.

O argumento abaixo é válido. Mas, sua validade é uma

função do significado das expressões “alguns” e “todos”:

Alguns quadrúpedes são bovinos.

Todos os bovinos são herbívoros.

Portanto, alguns quadrúpedes são herbívoros.

Nenhuma das sentenças desse argumento é formada com

os operadores lógicos. Até é possível representar o argumento na

lógica proposicional, que poderia ser a fórmula A B C.

Todavia, esse argumento carece de estrutura interna. Não é

possível interpretar “todos” e “alguns”.

O que se quer significar por estrutura interna, são

relações entre atributos, as quais denotam conjuntos ou classes,

o que pode ser visto representando o argumento da forma:

Algum F é G.

Todo G é H.

Portanto, algum F é H.

Ù

Ú ® «

Ù®

Page 79: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

79

Notar que as letras F, G e H não representam sentenças,

como na lógica proposicional, mas classes de atributos:

quadrúpedes, bovinos e herbívoros. Uma classe é formada por

um conjunto de objetos. Uma classe de atributos, é formada por

um conjunto de objetos que possuem aquele atributo. Não

somente substantivos comuns denotam classes de atributos.

Locuções nominais, como “olho de lula”, “coisa bonita”, “da

Amazônia”, entre outras, também representam classes de

atributos.

Caso as sentenças venham expressas por adjetivo, locução

adjetiva, verbo ou locução verbal, é possível ser convertida em

uma locução nominal, acrescentando a palavra “coisa”.

“Velho”, torna-se “coisas velhas”, “ama Graça” torna-se “coisas

que amam Graça”.

Nos enunciados, as classes de atributos são, muitas vezes,

relacionadas com outras pelas expressões “todo” e “algum”, que

são denominadas quantificadores. Assim como ~, , , , , os

quantificadores também são operadores lógicos. Entretanto,

enquanto aqueles expressam relações entre sentenças, os

quantificadores expressam conjuntos designados pelas classes

de atributos. Um enunciado da forma “Todo A é B”, diz que todo

elemento do conjunto A também é elemento do conjunto B, ou

seja, é o mesmo que dizer que A é subconjunto de B. É convenção

universal que enunciados da forma “Algum A é B” estabelecem

que pelo menos um elemento de A também é elemento de B.

A sentença “Alguns de meus amigos estão zangados

comigo” é interpretada, usualmente, como pressupondo, ou

sugerindo que “mais de um” ou “nem todos” os amigos da pessoa

estão zangados com ela. Esse enunciado é da forma “Algum A é

B”, onde A substitui “meus amigos” e B substitui a locução

adjetiva “zangados comigo”. A interpretação lógica difere um

pouco da usual. Significa “pelo menos um”. Em outras palavras,

ÙÚ®«

Page 80: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

80

significa que “um”, “alguns” ou “todos” os amigos possuem o

atributo B.

Ainda em relação ao último exemplo, todos os enunciados

estão caracterizados por um quantificador (todo, algum) seguido

por uma classe de atributos (F, G), um elo (é) e, finalmente, uma

outra classe de atributos (G, H). Enunciados desse tipo são

chamados de enunciados categóricos. A primeira classe de um

enunciado categórico é chamada de termo sujeito e a segunda de

termo predicado.

Enunciados categóricos são de quatro formas:

Todo S é P.

Nenhum S é P.

Algum S é P.

Algum S não é P.

Nessas formas, S representa o termo sujeito e P representa

o termo predicado.

Enunciados categóricos podem ser negados, acrescentando

a expressão “não é verdade que”, “não é o caso que”, etc., o que

torna toda a sentença negativa. É importante ressaltar que negar

apenas uma classe de atributo tem um significado diferente. O

conjunto dos elementos que não pertencem a um dado conjunto

C é, em geral, o complemento de C. Quando o “não” se aplica a

uma classe de atributos, expressa a complementação, em vez de

negação. Em “Algumas árvores não são mognos” o “não”

expressa a complementação: o conjunto das árvores que não são

mognos, como as castanheiras, seringueiras e várias outras.

“Algumas árvores são mognos” é verdadeira e refere-se ao

conjunto das coisas que são árvores e, ao mesmo tempo, são

mognos. “Algumas árvores não são mognos”, também é

verdadeira, refere-se ao conjunto das coisas que são árvores mas

não são mognos, é o complemento da primeira, em relação ao

Page 81: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

81

EXERCÍCIOS

Considere as sentenças abaixo. Classifique por tipo as que

são enunciados categóricos e diga quais não são enunciados

categóricos.

a) Todo pato é bom nadador.

b) Não é o caso que todo pato é bom nadador.

c) Alguns sapos são verdes.

d) Se o carro verde é veloz, então é difícl alcançá-lo.

e) Nadar faz bem.

f) Algumas toalhas estão úmidas e algumas não estão.

g) Qualquer diversão é ilegal.

h) A floresta é bonita.

Passemos a um estudo mais detalhado dos quantificadores.

5.1 Quantificador universal e existencial

conjunto universo de todas as árvores. Acrescentar a expressão

“não é verdade que” às duas sentenças, é dizer que não existe

nem um nem outro conjunto. Como sabemos que árvores

existem, e que parte delas são mognos, dizer o contrário é tornar

falsas ambas as sentenças.

É possível representar o conjunto dos inteiros positivos

através da sentença: “para todo x, x > 0”. Mas essa sentença

contém um quantificador, “para todo” e descreve uma

propriedade para x, “x > 0”, chamada de predicado.

Quantificadores são expressões que dizem a quantidade de

objetos que possuem determinado predicado. Para representr

simbolicamente o quantificador “qualquer que seja” ou “para

Page 82: Logica para computação

todo”, adota-se o símbolo . A sentença acima é assim

representada:

x(x > 0)

O quantificador age sobre a expressão entre parênteses

que se seque a ele.

Considerando o conjunto dos inteiros e a expressão “existe

x, tal que (x/2) é inteiro”, nota-se o surgimento de outro

quantificador. O quantificador existencial, que significa “para

algum” ou “para pelo menos um” ou, ainda, “existe algum” e é

simbolizado por .

Uma propriedade dos elementos de um conjunto pode ser

representada, genericamente, por P(x). Assim, pode-se ter:

x(Px) ou x(Px).

Uma expressão com quantificador pode ser verdadeira ou

falsa.

Considerando o conjunto universo como sendo o conjutno

de todas as pessoas que moram no Estado do Amazonas e a

propriedade P(x) = “x é do sexo feminino”, determinar o valor

verdade das expressões:

a) x(Px) b) x(Px)

A expressão x(Px) não pode ser verdadeira, pois entre as

pessoas que moram no Estado do Amazonas, nem todas são do

sexo feminino. Já a expressão x(Px) é verdadeira, pois pelo

menos uma (sabe-se que são muitas) pessoa residente no

Amazonas é do sexo feminino.

"

"

$

"$

" $

"

$

82

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 83: Logica para computação

EXERCÍCIO 1

Considere um conjunto universo qualquer e uma

propriedade P sobre esse conjunto universo e, caso seja possível:

a) Encontre uma interpretação para a qual x(Px) seja falso

e, ao mesmo tempo, x(Px) seja verdadeira.

b) Encontre uma interpretação para a qual x(Px) seja

verdadeira e, ao mesmo tempo, x(Px) seja falsa.

"

$

"

$

Quando o predicado é uma propriedade que envolve apenas

uma variável, como nos exemplos vistos, é chamado de

predicado unário. Se a propriedade é binária, por exemplo,

P(x,y) = x < y, é dita predicado binário. Predicados podem ter

mais de duas variáveis. De forma genérica, predicados são

n-ários, envolvendo n variáveis.

Quando se tem mais de uma variável quantificada, a

ordem dos quantificadores é muito importante. Considerando a

propriedade P(x,y) = x < y, sobre o conjuto universo dos inteiros

positivos, a expressão x yP(x,y) significa que para qualquer x

do conjunto universo existe um y maior que x. Isso é verdade:

para qualquer inteiro, existirá ou inteiro maior. A expressão

y xP(x,y) quer dizer que existe um y que é menor que qualquer

inteiro positivo x. Isso não é verdade. Essa segunda expressão

tem valor lógico falso.

Proposições quantificadas podem constituir fbf.

"$

$"

Uma proposição do tipo “Todo S é P” representa, como já

foi dito, conjuntos de classes. Ela pode ser reformulada para

representar objetos individuais, resultando num enunciado do

tipo:

Qualquer que seja x, se x é S, então x é P.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

83

Page 84: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

84

É importante ressaltar que proposições com o

quantificador universal devem ser simbolizadas com o

condicional, enquanto proposições com o quantificador

existencial devem adotar a conjunção.

Essa nova forma contém um condicional. Na expressão “x é

S”, x é o sujeito e S o predicado. Simbolicamente, representa-se

primeiro o predicado, depois o sujeito. “x é S” é representado

como “Sx”. O condicinal já é conhecido. x é P é representado por

“Px”. A expressão acima fica:

x(Sx Px)

Um enunciado do tipo “Nenhum S é P”, pode ser expresso

como “Qualquer que seja x, se x é S, então x não é P”. Em

notação simbólica tem-se:

x(Sx ~Px)

A proposição do tipo “Algum S é P” pode ser expressa

como

Para pelo menos um x, x é S e x é P,

significando que é suficiente que um x pertença ao conjunto S e

também ao conjunto P, para que essa sentença seja verdadeira.

Simbolicamente, a proposição é escrita como

x(Sx Px)

que também pode ser lida como: “Existe x, tal que x é S e x é P”.

De maneira análoga, uma proposição do tipo “Algum S não

é P”, quando escrita em linguagem simbólica, resulta em

x(Sx ~Px)

Page 85: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

85

Exemplos:

Interpretando por V o predicado “é vermelho”, A “é azul”,

B “é branco”, C “é um carro” e F “é uma Ferrari”, formalizar as

sentenças abaixo:

a) Toda coisa é um carro. xCx

b) Nada é um carro. x~Rx (ou ~ xRx)

c) Nem toda coisa é um carro. ~ xRx

d) Todos as Ferraris são vermelhas. x(Fx Vx)

e) Nenhum carro é vermelho. x(Cx ~Vx)

f) Existem carros brancos. x(Cx Bx)

g) Nenhuma Ferrari é branca. x(Fx ~Bx)

h) Alguns carros não são Ferrari e são brancos. x(~Fx Bx)

I) Não é verdade que existem carros brancos. ~ x(Cx Bx)

"

" $

"

$ Ù

" ®

$ Ù

EXERCÍCIO 2

Considerando R “é uma rã”, V “é verde” e S “está

saltitando”, formalize as sentenças a seguir:

a) Toda coise é uma rã.

b) Existem rãs verdes.

c) Todas as rãs são verdes.

d) Existem rãs que são verdes e não estão saltitando.

e) Todas as rãs estão saltitando.

f) Ou qualquer coisa é uma rã ou nada é uma rã.

g) Somente rãs são verdes.

h) Nenhuma rã é verde.

i) Nenhuma rã estã saltitando.

j) Qualquer coisa que está saltitando é uma rã.

k) Alguma rã está saltitando.

l) Se nada é verde, então não existem rãs verdes.

Page 86: Logica para computação

Parênteses, que são símbolos de agrupamento,

determinam o escopo do identificador. Quando uma variável

aparece em uma fórmula e não está quantificada, é chamada de

variável livre. Na expressão x(Qxy y(Rxy)) o escopo de x é

toda a fórmula e y é uma vaariável livre em Qxy, pois não está

quantificada.

Para determinar o valor lógico de uma fbf predicada é

necessário conhecer a interpretação de cada proposição da

fórmula, de forma semelhante a uma fbf proposicional.

Para encontrar o valor lógico da fórmula $x(Ax Ù "y(Bxy

Cy)), considerando o conjunto universo como o conjunto dos

inteiros, Ax significando “x > 0”, Bxy sendo “x > y” e Cx

significando “y £ 0”, deve-se observar, inicialmente, o escopo de

x, que é toda a fórmula e de y, que é Bxy Cy. A sua

interpretação é: existe um valor de x, tal que, x > 0 e para

qualquer y, se x > y então y £ 0. Fazendo x = 1 a fbf acima é

verdadeira.

" $®

®

$ " ®

Encontre uma interpretação para a qual a mesma fbf

tenha valor lógico falso. (Mude o significado de A, B ou C).

EXERCÍCIO 3

Sendo o conjunto universo o conjunto de todas as pessoas,

Ax significando “x é um aluno”, Ix sendo “x é inteligente” e Fx “ x

gosta de futebol”, escreva fbf para representar as proposições:

a) Todos os alunos são inteligentes.

b) Alguns alunos inteligentes gostam de futebol.

c) Toda pessoa que gosta de futebol é um aluno e não é

inteligente.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

86

Page 87: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

87

d) Apenas alunos inteligentes gostam de futebol.

A primeira sentença traz o quantificador universal: x(Ax

Ix)

A segunda sentença está formulada de forma ligeiramente

difertente dos exemplos anteriores. A forma intermediária

poderia ser: “existe alguma coisa que é aluno, é inteligente e

gosta de futebol”. A fbf correspondente será: x(Ax Ix Fx).

Rescrevendo a terceira sentença: “para qualquer coisa, se

gosa de futebol, então é um aluno e não é inteligente”.

Representação simbólica: x(Fx Ax ~Ix).

A última sentença diz que ninguém mais além dos alunos

inteligentes gosta de futebol. Assim, pode-se reescrevê-la como:

“se alguém gosta de futebol então é um aluno inteligente”, ou,

ainda, “toda coisa gosta que de futebol é um aluno e é

inteligente”. Escrevendo na linguagem simbólica: x(Fx Ax

Ix)

"

®

$ÙÙ

"® Ù

Ù

EXERCÍCIO 4

1) Determine o valor lógico das fbf abaixo, sendo o

conjunto dos inteiros o conjunto universo, e a interpretação Ix “x

é impar”, Mx “x < 0” e Nx “x > 5":

a) x(Ix) b) x(Ix) c) x(Mx Nx)

d) x(Mx Nx) e) x(Ix Nx)

2) Sendo o conjunto universo o conjunto dos números

inteiros (conjunto Z), qual o valor lógico das fbf a seguir:

a) x, y(x + y = x) b) y, x (x + y = x)

c) x, y(x + y = 0) d) y, x (x + y = 0)

" $ $Ù

$Ú $Ù

"$ $"

"$ "$

Page 88: Logica para computação

88

Capítulo 6

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

Recorrência

Em uma definição recorrente, o item que está sendo

definido faz parte da definição.

Uma definição recorrente é constituída de

1. Uma base, ou condição básica, na qual um ou alguns

casos do item que está sendo definido é explicitado.

2. O passo indutivo ou recorrente, onde novos casos do

item sendo definido são dados em função de ocorrências

anteriores.

Seqüências e algoritmos podem ser definidos por

recorrência.

6.1 Seqüência definida por recorrência

Uma seqüência é uma lista de itens, enumerados em uma

determinada ordem. Existe um primeiro, um segundo item, etc.

Exemplo de uma seqüência numérica: S = 2, 4, 8, 16, 32,

64, ...

A seqüência S, acima, está explicitando os seis primeiros

termos e há a indicação de que é infinita. Outra forma de

escrever a seqüência é:

Page 89: Logica para computação

S(1) = 2

S(2) = 4

S(3) = 8

S(4) = 16

...

Para representá-la de forma recorrente, explicita-se o

primeiro termo, S(1), e procura-se escrever cada um dos demais

termos em função do anterior:

O passo 1 já está definido – S(1) = 2 – mas o passo 2 deve ser

escrito de forma a definir cada um dos demais termos da

seqüência em função do termo anterior. Assim, S(2) deve ser

definido em função de S(1), S(3) em função de S(2), e assim,

sucessivamente. A seqüência, assim definida, passa a ser escrita

da forma:

S(1) = 2

S(2) = 4 = 2 + 2

S(3) = 8 = 4 + 4

S(4) = 16 = 8 + 8

...

Percebe-se que, a partir de S(2), cada valor pode ser

decomposto em uma soma com duas parcelas: S(n – 1) + um valor.

No exemplo, a segunda parcela coincide com a primeira: S(n – 1)

+ S(n – 1).

A definição recorrente, para a seqüência em questão, é:

S(1) = 2

S(n) = 2S(n – 1), para n ³ 2.

89

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 90: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

90

Outro exemplo:

Escrever a seqüência T = 2, 4, 7, 11, 16, 22, ...

Reescrevendo T:

T(1) = 2 = 2

T(2) = 4 = 2 + 2

T(3) = 7 = 4 + 3

T(4) = 11 = 7 + 4

T(5) = 16 = 11 + 5

T(6) = 22 = 16 + 6

Vê-se que a primeira parcela da soma em que cada termo

foi decomposto é, a partir S(2), igual a S(n – 1) e que a segunda

parcela é igual a “n”. A forma recorrente de T é:

S(1) = 2

S(n) = S(n – 1) + n, para n ³ 2.

Considere a seqüência recorrente abaixo e escreva os seus

primeiros cinco termos:

S(1) = 3

S(n) = S(n – 1) + 2n, para n ³ 2

O primeiro termo já foi dado: 3.

O segundo termo será obtido fazendo:

S(2) = S(2 – 1) + 2 x 2 = S(1) + 4 = 3 + 4 = 7

Dada uma definição recorrente, para saber o valor do n-

ésimo termo, é necessário saber o valor do termo n – 1.n

Atenção: 2 também representa a seqüência acima, mas

não é uma forma recorrente de representação. Essa é uma forma

fechada de representar uma seqüência. Encontrar a forma

fechada de uma seqüência é resolver a seqüência. No presente

contexto, não será estudado como resolver uma seqüência.

Page 91: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

EXERCÍCIOS

)1(

1)(

-=

nAnA para n 2.³

1) Escreva os seis primeiros termos das seqüências

recorrentes:

a) S(1) = 10

S(n) = S(n – 1) + 10, para n ³ 2

b) A(1) = 2

c) F(1) = 1

F(2) = 1

F(n) = F(n – 2) + F(n – 1), para n > 2.

2) Escreva as seqüências abaixo de forma recorrente:

a) S = 1, 2, 4, 7, 11, 16, ...

b) T = 1, 3, 9, 27, 81, ...

6.2 Algoritmo definido por recorrência

6.2.1 Construindo um algoritmo recorrente

Entre os comandos empregados no desenvolvimento de

algoritmos, está o comando condicional (ou comando de

decisão), que tem a estrutura: 91

Os termos seguintes:

S(3) = S(2) + 2 x 3 = 7 + 6 = 13

S(4) = S(3) + 2 x 4 = 13 + 8 = 21

S(5) = S(4) + 2 x 5 = 21 + 10 = 31

Resumindo:

S = 3, 7, 13, 21, 31 ...

Page 92: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

se A > = B entãoEscreva “A é maior ou igual a B”senãoEscreva “B é maior que A”

fimse.

Para os valores dados, o teste da condição resulta em falso

e será executada a cláusula “senão”: a frase “B é maior que A”

será “escrita”.

O significado do comando “escreva” deixa de ser explicado

porque, no atual contexto, é suficiente saber o funcionamento

do comando “se”.92

se <condição> entãocomando(s)1senãocomando(s)2

fimse

onde: <condição> é uma expressão lógica e, portanto, deve

resultar no valor lógico falso ou verdadeiro;

comando(s)1 é um, ou uma seqüência de comandos;

comando(s)2 é um, ou uma seqüência de comandos.

Quando a execução de um algoritmo chaga a um comando

de decisão desse tipo, testa o valor lógico de <condição>. Caso

<condição> = V, executa a cláusula então, constituída pelo

comando1 (ou grupo de comandos1) e deixa de executar a

cláusula senão. Caso contrário (<condição> = F), a execução é

desviada para a cláusula senão, composta do comando2 (ou

grupo de comandos2).

Exemplo:

Supondo que A = 2 e B = 7, o comando de decisão abaixo será

executado da seguinte forma:

Page 93: Logica para computação

Algoritmo S(n)se <condição> então

retorne valorsenãoretorne S(n – 1)

fimsefimalgoritmo

Algoritmos definidos por recorrência têm a estrutura:

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

onde:

S é o nome do algoritmo;

n é uma variável, através da qual é passado o valor que o

algoritmo deve processar;

Uma referência ao nome do algoritmo é um comando que

faz executar esse algoritmo. Em “retorne S(n – 1)” há um

comando para executar S, que é o próprio algoritmo. Essa é a

característica do algoritmo recorrente: “manda” executar a si

próprio.

Algoritmos recorrentes também são conhecidos como

algoritmos recursivos.

Voltando à seqüência recorrente

S(1) = 2

S(n) = 2S(n – 1) para n ³ 2.

É possível escrever um algoritmo recorrente para fornecer

o n-ésimo termo dessa seqüência:

Algoritmo S(n)se n = 1 então (corresponde a S(1))

retorne 2 (corresponde ao valor de S(1)senãoretorne 2S(n – 1) (expressão que define S(n))

fimsefimalgoritmo

93Exemplos:

Faça um algoritmo recorrente para as sequências:

Page 94: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

algoritmo S(n) se n = 1 então

retorne 1 senão

retorne S(n – 1) + (n – 1) fimse fimalgoritmo

b) O primeiro passo é escrever a sequência na forma

recorrente, que é:

P(1) = 3

P(n) = P(n – 1) + 2(n – 1)

Depois, procede-se como no exemplo anterior, gerando o

algoritmo:

algoritmo P(n) se n = 1 então

retorne 3senãoretorne P(n – 1) + 2(n – 1)

fimse fimalgoritmo

EXERCÍCIO 1

Faça um algoritmo recorrente para a sequência R = 3, 7, 16,

32, 57, ...94

a) S(1) = 1

S(n) = S(n – 1) + (n – 1)

b) P = 3, 5, 9, 15, 23, ...

Soluções:

a) Como a sequência já está escrita de forma recorrente, a

construção do algoritmo recorrente resume-se a transcrever o

valor de S(1) para a cláusula então do comando de decisão, e a

expressão que determina S(n) para a cláusula senão.

Page 95: Logica para computação

6.2.2 Como um algoritmo recorrente executa

Supondo que seja mandado executar o algoritmo do

primeiro exemplo para o valor n = 5, a primeira linha do

algoritmo é testar se n = 1, que resulta em falso, pois o valor

inicial de n é 5. Sendo o resultado do teste falso, deixa de

executar a cláusula então e a execução vai para a cláusula senão,

retorne 2S(n – 1), que significa “execute S com valor de entrada n

= 4 e multiplique o resultado por 2”. Como não se tem o valor de

S(4), a operação multiplicação fica pendente e S(n – 1) faz

executar o próprio algoritmo S(n), sendo n, desta feita, igual a 4.

Essa pendência é armazenada:

2 * S(4)

O armazenamento das operações pendentes é feito em uma

estrutura de dados denominada PILHA, que tem esse nome

porque a forma como acontece esse armazenamento das

informações e o acesso posterior às mesmas, conceitualmente

funciona como uma pilha, onde a última informação armazenada

é a primeira a ser retirada.

A nova execução do algoritmo produz o mesmo resultado:

“manda” executar S com o atual valor de n diminuído de 1,

ficando pendente, mais uma vez, o valor a ser retornado:

2 * S(3) 2 * S(4)

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

As pendências se sucedem, até que o algoritmo é mandado

executar com n = 1:

2 * S(1) 2 * S(2) 2 * S(3) 2 * S(4)

95

Page 96: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Ao ser executado com n = 1, é feito o teste na primeira linha

do comando de decisão (comando se) e este resulta em

verdadeiro, sendo executada, desta feita, a cláusula então:

“retorne 2”. Como não há mais pendência de operação, é feito o

“desempilhamento” das operações pendentes:

S(1) = 2 S(2) = 2 * S(1) = 2 * 2 = 4 S(3) = 2 * S(2) = 2 * 4 = 8 S(4) = 2 * S(3) = 2 * 8 = 16 S(5) = 2 * S(4) = 2 * 16 = 32

Quando a última pendência é resolvida, o algoritmo para,

fornecendo como resultado o valor da última operação. No

exemplo acima, o valor fornecido pelo algoritmo é 32. Para n = 5

o valor retornado é S(5).

EXERCÍCIO 2

Execute o algoritmo abaixo, considerando o valor inicial n =

4 e diga qual o valor final retornado pelo algoritmo:

algoritmo M(n) se n = 1 então retorne 3

senãoretorne M(n – 1) + (n – 2)

fimse fimalgoritmo

96

Page 97: Logica para computação

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

Bibliografia

COPI, Irving M. Introdução à Lógica. 2a. Ed. São Paulo: Mestre

Jou, 1978.

FILHO,Edgard de Alencar. Iniciação à lógica Matemática. São

Paulo: Nobel, 2002.

GERSTING, Judith L., Fundamentos matemáticos para a Ciência

da Computação, 4ª ed., Rio de Janeiro: Livros Técnicos e

Científicos Editora, 2001.

SOUZA, João N., Lógica para Ciência da Computação, Rio de

Janeiro: Elsevier, 2002.

97

Page 98: Logica para computação

2.1 Elementos fundamentais da sintaxe da linguagem da Lógica Proposicional:

1. a) ( X )

b) ( X )

c) ( ) Não é proposição, pois “ela” não está definida.

d) ( X )

e) ( ) Não é proposição pois é uma pergunta.

f) ( ) Muitos, poucos indefinem. Não é proposição

g) ( ) Talvez: indefine. Não é proposição.

h) ( X )

i) ( ) Não se sabe qual o valor de x nem de y, logo não se

pode afirmar se é verdadeira ou falsa. Não é

proposição

j) ( X )

l) ( ) Possivelmente: lança a dúvida. Indefine.

m ( ) É uma pergunta. Não pode ser proposição.

2.1.1 Formalização de uma proposição:

A “Está frio”, B “Está chovendo” e C “Está quente”.

1. a) A B

b) A ~B

Ù

Ù98

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

Respostas dosExercícios

Page 99: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

c) A C

d) A ~C

e) A B

f) C B

g) (A B) ~C

h) C (~B ~A )

i) A B

j) B ~C

k) B A

2. a) A casa é bonita e a porta é pequena.

b) A casa é bonita se, e somente se, a porta for pequena.

c) A casa não é bonita. (Não é verdade que a casa é bonita).

d) Se a casa é bonita e a porta é pequena, então a janela é

grande.

e) Se a casa é bonita ou a porta é pequena e a janela é

grande, então a porta é pequena.

f) A casa é bonita ou a porta é pequena.

g) A casa ser bonita implica em a porta ser pequena.

h) Não é verdade que a casa é bonita e a porta é pequena. (A

casa não é bonita ou a porta não é pequena).

i) Ou a casa é bonita implica em a porta ser pequena ou a

casa ser bonita implica a janela ser grande.

j) Se a porta é pequena, então a casa é bonita e a janela é

grande.

Ù

®

«

Ú

Ù®

®Ù

®

®

®

2.2.1.1 Negação de uma proposição

1. a) O processador não é rápido ou a impressora não é

lenta.

b) O processador não é rápido e a impressora não é lenta.

c) Pepinos não são verdes ou têm sementes. 99

Page 100: Logica para computação

2.2.1.2 Conjunção de duas proposições

1. a) F

b) V

c) V

d) F

e) F

2.2.1.3 Disjunção de duas proposições

1. a) V

b) V

c) V

d) F

e) V

2.2.1.4 Condicional

1. a) antecedente: A chuva continuar

conseqüente: o rio vai transbordar

b) antecedente: a chave central desligar

conseqüente: faltar energia.

c) antecedente: um gato saudável

conseqüente: uma boa dieta.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

100

d) A comida não é boa e o serviço não é bom.

e) A comida é boa ou o serviço excelente.

2. a) V

b) V

c) V

d) F

e) F

3. d)

Page 101: Logica para computação

2.2.1.4 Condicional

1. a) V

b) F

c) F

d) F

e) F

2.2.1.6 Ou exclusivo

1. a) V

b) F

c) F

d) V

2.2.1.7 Interpretação de uma fbf composta.

1. a) F

b) V

c) V

2. I[G] = F

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

101

d) antecedente: definição é alterada

conseqüente: a definição ficará errada.

2. a) V

b) F

c) V

d) V

Page 102: Logica para computação

A B A Ú B ~A A Ú B ® ~A V V V F F V F V F F F V V V V F F F V V

b)

c) (A B) ~A B®«Ú

1 2 A B A ® B ~A ~A Ú B 1 « 2 V V V F V V V F F F F V F V V V V V F F V V V V

d) (P (~Q R)) ~(Q (P ~R))®ÚÙÚ«

1 2

P

Q

R

~Q

~Q Ú R

P ®

~R

P « ~R Q Ú~( ) 1 Ù 2V

V

V

F

V

V

F

F

V F F

V

V

F

F

F

F

V

V

V F F

V

F

V

V

V

V

F

F

F V VV

F

F

V

V

V

V

V

V F FF

V

V

F

V

V

F

V

V F FF V F F F V V F V F FF F V V V V F V V F FF F F V V V V F F V V

3.3.1 Tautologia

1) H = (P Q) (P Q)Ù®Ú

P Q P ÙQ P Ú Q (P ÙQ) ® (P Ú Q) V V V V V V F F V V F V F V V F F F F V

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

102

Page 103: Logica para computação

2) (P Q) (~P Q)®«Ú

P Q P ®Q ~P ~P Ú Q (P ® Q) « (~P Ú Q) V V V F V V V F F F F V F V V V V V F F V V V V

3.3.2 Contradição

1) a) ~(P Q) Q®Ù

P Q P ®Q ~(P ® Q) ~(P ® Q) Ù Q V V V F F V F F V F F V V F F F F V F F

b) ~(P (P Q))®Ú

P Q P Ú Q P ® (P Ú Q) ~(P ® (P Ú Q)) V V V V F V F V V F F V V V F F F F V F

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

103

3.2 Tabela verdade

1. a)

A B C A Ú B A Ú B ® C V V V V V V V F V F V F V V V V F F V F F V V V V F V F V F F F V F V F F F F V

Page 104: Logica para computação

b) G = (P Q) (P Q)®®Ù

P Q P ® Q P Ù Q (P ® Q) ® (P Ù Q) V V V V V V F F F V F V V F F F F V F F

3.3.4 Equivalência lógica

a) G = A B e H = ~(A B)® Ú

A B G A Ú B H

V V V V F V F F V F F V V V F F F V F V

Conclusão: G não equivale a H

b) G = ~(A B) e H = ~A ~B Ú Ù

A B A Ú B G ~A ~B H

V V V F F F F V F V F F V F F V V F V F F F F F V V V V

Conclusão: G equivale a H.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

104

3.3.3 Fórmula satisfatível

1) a) H = (P Q) Q«Ú

P Q P « Q Ú Q V V V V V F F F F V F V F F V V

Page 105: Logica para computação

a) L M. Pelo critério 3:Þ

L M L ® M V V V F V V F V V F F V

Logo, L M, pois L M é uma tautologia.

b) M Þ K

Þ®

M K M ® K V V V V F F V V V F F V

Logo, M não implica logicamente em K.

c) L Þ K

L K L ® K V V V F F V F V V F F V

Logo, L implica logicamente em K.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

105

3.3.5 Implicação lógica

1) As tabelas verdade de K, L e M são:

K L M V V V F F V V F V F F F

Page 106: Logica para computação

2) A = (~P Q) e B = (P Q)«Ú

P Q A B V V F V V F V V F V V V F F F F

Verifica-se que I[A] = V na terceira e quarta linhas e nessas

mesmas linhas I[A] = V também. Logo, A Þ B.

4.1 Argumento

1) a) Identifica-se as proposições simples:

Jonas anda J

O trem sai no horário T

Jonas perde o trem P

Jonas fica triste F

Jonas volta para casa C

Argumento: ((J T) P) (P (F C)) J C

b) (S (~C ~Q)) (~C Q) ~S

ٮٮÙÙ®

®ÙÙÙ®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

106

K M K ® M V V V F V V V V V F F V

Conclusão: K implica logicamente em M (ou K M).Þ

d) K Þ M

Page 107: Logica para computação

4.2.2 Exercício 1

I[P] = V I[P] = F

I[Q] = V I[Q] = F V

1

2 3

4 5

V V

F = (P (P Q)) (P Q)

Nó 2: V ? V ? ? V ?

Nada se pode concluir sobre o valor do nó 2.

F = (P (P Q)) (P Q)

Nó 3: F F F V V F ?

Como o antecedente da implicação é falso, conclui-se que o

nó 3 tem valor lógico V.

F = (P (P Q)) (P Q)

Nó 4: V V V V V V V V V

Conclusão: o nó 4 é verdadeiro.

Ù®®«

Ù®®«

Ù®®«

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

4.2.1 Exercício 1.

1 2 3 4 S C Q ~C ~Q ~C Ù ~Q S ® 1 ~C Ù Q 2 Ù 3 ~S 4 ® ~SV V V F F F F F F F VV

V

F

F

V

F

F

F

F

F

V

V

F

V

V F

F

F

V

F

F

V

V

F

F

V V

V

V

F

F

F

V

F

V

V

F

F

F

V

F

F

V V

F

V

F

F

V

F

V

F

F

V VF F V V F F V V V V VF F F V V V V F F V V

A fórmula é válida.

107

Page 108: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

108

I[P] = V I[P] = F

I[Q] = V I[Q] = F V

1

2 3

4 5

V F

b) G = ~(P Q) ~PÙ®

c) H = ((A B) (A C)) AÚÙ®®

I[A] = V

I[B] = FV I[B] = V

V

1

2 3

54

I[A] = F

I[C] = V I[C] = F

6 7

VF

A fórmula não é válida, pois o nó 5 tem valor F. A

interpretação para a qual I[G] = F é: I[P] = V e I[Q] = F.

F = (P (P Q)) (P Q)

Nó 5: V F V F F V F F F Idem nó 3.

Todos os nós da árvore têm valor lógico V, logo a fórmula é

válida.

Ù®®«

Page 109: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

109

Exercício 2

(S (~C ~Q)) (~C Q) ~S

Nó 2: V ? ? FV

Nó 3: F V ? V VF

Nó 4: V F FV F F FV F V FV

Nó 5: V ? VF ? ? VF ? ? FV

Nó 6: V F VF F FV F VF V V V FV

Nó 7: V V VF V VF F VF F F V FV

®ÙÙÙ®

Como todos os nós folha da árvore possuem valor lógico V, a

fórmula é válida.

4.2.3 Método da negação ou absurdo

1

2 3

4 5

6 7

V

V

V V

I[S] = V I[S] = F

I[C] = V I[C] = F

1. a) G = A B ~A

F V F VF

Para que o condicional seja falso o antecedente ( ) deve

Ú®

Ú

A fórmula não é válida. Para I[A] = F, I[B] = V e I[C] = V tem-se

I[H] = F.

Page 110: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

110

ser verdadeiro e o conseqüente falso. Mas isso só seria possível se

A tivesse valor V em A B e valor F em ~A, o que seria um absurdo,

pois A não pode ter, ao mesmo tempo, dois valores verdade

distintos. Como não se pode provar que G é falsa, então G é

válida.

b) (P E) E P

F V V V V F F.

Para I[P] = F, a fbf resulta em F. Logo, não é válida.

c) H = ((A B) (A C)) A

F V V V F V F F.

Para I[A] = F e I[B] = V, tem-se I[H] = F. Conclusão: H não é

válida.

Ú

®Ù®

ÚÙ®®

4.2.4.1 Regras de dedução

1) Argumento: A (~B ~C) B

Passo de indução regra

1. A hip

2. ~B ~C hip

3. ~(~B) ~C 2, cond

4. B ~C 3, dn

5. ~C B 4, com

6. C B 5, cond

7. B 1, 6, mp

2. a) A (B C) [(A B) (D ~C)] B D

1. A hip

2. B C hip

3. (A B) (D ~C) hip

4. B hip

Ù®®

®

Ú

Ú

Ú

®

Ù®ÙÙ®ÚÙ®

®

Ù®Ú

Page 111: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

111

5. A B 1, 4, conj

6. D ~C 3, 5, mp

7. ~C D 6, com

8 . C D 7, cond

9. C 2, 4, mp

10. D 8, 9, mp

b) ~A B (B (A C)) C

1. ~A hip

2. B hip

3. B (A C) hip

4. A C 2, 3, mp

5. ~(~A) C 4, dn

6. ~A C 5, cond

7. C 1, 6, mp

Ù

Ú

Ú

®

ÙÙ ®Ú®

®Ú

Ú

Ú

®

4.2.4.2 Exercício 1: (~A ® ~B) Ù (A ® C) ® (B ® C)

1. ~A ~B hip

2. A C hip

3. B hip (só precisa provar C)

4. ~(~A) 1, 3, mt

5. A 4, dn

6. C 2, 5, mp

®

®

Exercício 2: (A ® B) Ù (~C Ú A) Ù C ® B

1. A B hip

2. ~C A hip

3. C hip

4. C A 2, cond

5. C B 1,4 sh

6. B 3, 5, mp

®

Ú

®

®

Page 112: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

112

5. Quantificadores

a) Todo S é P.

b) Todo S é P negada.

c) Algum S é P.

d) Não é enunciado categórico.

e) Não é enunciado categórico.

f) Dois enunciados: Algum S é P e Algum S não é P.

g) Todo S é P.

h) não é enunciado categórico.

5.1 Quantificador Universaol e Existencial

Exercício 1

a) P(x) = x é Jaraqui, no conjunto de todos os peixes.

b) Não é possível.

Exercício 2

a) x,Rx b) x(Rx Vx)

c) x(Rx Vx) d) x(Rx ~Sx)

e) x(Rx Sx) f) x,Rx x, ~Rx

g) x(Vx Rx) h) x(Rx ~Vx)

i) x(Rx ~Sx) j) x(Sx Rx)

k) x(Rx Sx) l) x ~Vx ~x(Vx Rx)

Exercício 3

Fazendo Ax “x é par”, Bxy “x < y” e Cy “y é ímpar”, a fbf

assume valor falso.

Exercício 4

1) a) F b) V c) F d) V e) V

2) a) V b) V c) V d) F

" $Ù

"® $Ù

"® "Ú

"® "®

"® "®

$Ù "®Ù

Page 113: Logica para computação

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

113

6.1 Seqüência recorrente

a) S = 10, 20, 30, 40, 50, ...

b) A = 2; 0,5; 2; 0,5; 2; ...

c) F = 1, 1, 2, 3, 5, ...

2. a) S(1) = 1

S(n ) = S(n – 1) + (n – 1), para n ³ 2

b) S(1) = 1

S(n ) = S(n – 1) + 2(n – 1), para n ³ 2.

6.Algoritmo definido por recorrência

1) algoritmo R(n) se n = 1 então retorne 3

senão2 retorne R(n – 1) + n

fimse fimalgoritmo

2) 6

Page 114: Logica para computação

114

Lógica para Computação

Tecnologia em Análise e Desenvolvimento de Sistemas

Exercícios

1. Diga qual das sentenças abaixo são proposições, da

Lógica Proposicional. Classifique as que são proposições como

simples ou compostas.

a) Aline é bonita.

b) Klinger é trabalhador.

c) Quem saiu?

d) Ninguém falou.

e) Alguém está sorrindo.

f) 2 x 7 = 14.

g) 4 + y = 25.

h) Jorge chegou e Janice saiu.

i) 4 x 9 = 57 e Tefé fica no estado de Roraima.

j) Cucui fica no estado do Amazonas e a floresta é bonita.

k) Qualquer um pode falar.

l) Alguém gritou.

m) Ou o exercício está correto ou não sei a resposta.

n) Cheguei cedo mas não encontrei Onofre.

o) Se azul for amarelo, então roxo é branco.

p) Quem corre cansa.

q) Euclides viajou?

r) Josefina está alegre e vai à festa hoje.

s) Heliodoro não conhece todos.

t) A casa está fechada mas a janela está aberta.

Page 115: Logica para computação

2. Diga quais das fórmulas abaixo não são fbf :

a) P Q

b) PQR A

c) A B

d) ((A B) C)

e) P1 P2 P3 P4

f) A1 B C D F G H

g) A (B C) ((B C) D) F ( G H) ( P Q R)

h) A B (( B C

i) )) A B C D ((

j) ~(~C (~B C) (~(~A ~B) ~(D E))

3. Seja P “Paulo é alto”, Q “Paulo é elegante” e seja R

“Paulo é feliz”. Escreva cada uma das seguintes proposições de

forma simbólica:

a) Paulo é alto e elegante.

b) Paulo é alto mas não é elegante

c) É falso que Paulo é baixo ou elegante.

d) Paulo não é nem alto nem elegante.

e) Paulo é alto, ou Paulo é baixo e elegante.

f) Se Paulo é alto, então ele é felia e elegante.

g) Paulo é baixo ou não é elegante.

h) Se Pualo é alto então ou ele é alto ou se ele é elegante

então ele é feliz..

i) Paulo será alto se, e somente se, for elegante.

j) Se Paulo é alto e elegante, então ele é elegante.

k) Paulo não é alto e não é elegante.

l) Ou Paulo é alto logo é elegante, ou Paulo não é alto.

m) Ou Paulo é alto ou, se é elegante não é alto.

n) Ou Paulo é elegante e feliz se, e somente se é alto, ou

não é alto mas é feliz.

o) Se Paulo é elegante se, e somente se, for alto, então ele

é alto e elegante.

®

®

«®

«ÙÚ

«ÙÚ

®ÙÚÚÚ«Ù

® Ù«Ú«®Ù«ÚÙ

ÙÙ««®

ÙÙÚ

ÚÙÚ®««

115

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 116: Logica para computação

p) Se Paulo é elegante se, e somente se, for alto, então ele

é alto. Paulo é elegante.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

116

4. Seja P “A lua é fria”, seja Q “O sol é quente” e seja R “A

Terra é redonda”. Passe para a linguagem corrente as

proposições:

a) P Q b) P Q c) P Q d) P ~Q

e) Q P f) ~P ~Q g) P ~Q h) P (P Q)

i) ~Q ~R j) ~Q ~P k) (Q R) (P Q)

l) (R (P Q)) R m) P Q R

n) ((Q R) Q) R o) (P Q R) (P Q)

5. Faça a negação das proposições abaixo:

a) A castanheira é alta.

b) A seringueira é alta e a castanheira é não é alta.

c) A floresta é bonita ou a castanheira é alta.

d) Ou a floresta não é bonita ou a seringueira não é alta.

e) Nem a seringueira é alta nem a floresta é bonita.

f) A casa é grande, mas o quarto é pequeno.

g) A casa é grande ou o quarto é pequeno.

h) A camisa é bonita mas não tem botões.

i) A camisa não é bonita e tem botões.

j) A camisa é bonita ou não tem botões.

k) Nem a camisa é bonita nem tem botões.

l) Se a camisa é bonita, então tem botões.

m) A casa não é grande e o quarto não é pequeno.

Ú Ù «®

Ú Ù ««

Ú ®®®®

®ÚÙ ÙÙ

Ù®Ú ÚÚ®«

6. Considere as proposições abaixo e diga quais negações de

cada uma estão corretas.

a) A resposta certa é 3 ou 6.

1) A resposta certa não é 3 ou não é 6.

Page 117: Logica para computação

2) A resposta certa não é 3 e não é 6.

3) A resposta certa não é 3 mas é 6.

b) Mamão não é verde e tem sementes.

1) Mamão é verde e não tem sementes.

2) Mamão é verde e tem sementes.

3) Mamão é verde ou tem sementes.

4) Mamão é verde ou não tem sementes.

7. Dê o valor verdade das seguintes proposições:

a) A Terra é um planeta.

b) A Terra não é um planeta.

c) Não é verdade que a terra não é um planeta.

d) O Amazonas é o maior rio do mundo.

e) 10 + 5 = 20

f) 10 + 5 20.

g) A Terra é um planeta e Marte não é um planeta.

h) A Terra gira em torno do Sol e Saturno também.

i) Tambaqui é peixe e boto não é peixe.

j) Tambaqui é peixe e onça é mamífero.

k) Tambaqui é peixe ou onça é mamífero.

l) Ou peixe-boi não é peixe ou onça não sai da toca à noite.

m) Não é verdade que tambaqui é peixe e onça é mamífero.

n) Se tambaqui é peixe, então onça é mamífero.

o) Se tambaqui não é peixe, então onça é mamífero.

p) Se tucunaré peixe, então boto não é peixe.

q) Tucunará é peixe se, e somente se, boto não for peixe.

r) Tucunaré é peixe se, e xomente se, dourado for peixe.

s) Não é verdade que se a castanheira é árvore então

seringueira também é árvore.

t) Se castanheira não é árvore, então boto não é peixe.

u) Se castanheira é árvore, então boto não é peixe.

v) Se castanheira é árvore, então boto é peixe.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

117

Page 118: Logica para computação

w) Arara é ave se, e somente se, águia for ave.

x) Arara não é ave se, e somente se, águia não for ave.

y) Arara é ave se, e somente se, águia não for ave.

z) Arara é não é ave se, e somente se, águia for ave.

Para as próximas sentenças, considere que só seja possível

escolher uma alternariva:

aa) Ou bebo suco ou bebo refrigerante.

bb) Ou vou ao baile ou vou dormir.

cc) Não bebo suco nem bebo refrigerante.

dd) Vou ao baile e vou dormir (ao mesmo tempo).

ee) Não é verdade que vou ao baile e vou dormir.

8. Fazer a tabela verdade para as fórmulas:

a) ~ (P Q)

b) ~(P ~ Q)

c) (P Q) (P Q)

d) (P Q) (~Q ~P)

e) ~(P (~P Q)) Q

f) P (P ~Q)

g) (P Q) ( ~P Q)

h) ~ (P Q) ~(Q P)

i) A ~(~A ~B)

j) (A B) [(A C) (B C)]

k) A ~B ~(A B )

l) ~((A B) (~A ~B))

m) (A (B ~C) ) (~A C ~B)

n) (A B) C A (B C)

o) (~A B) (B C)

p) A (B (A C)

q) C (A (B A))

r) (P (Q (P Q))) (P (P Q)) (P (P ~Q))

Ù

Ù

Ù®Ú

®«®

ÙÚÚ

ÚÙ

Ù®Ú

ÙÚ«

ÙÚ

®®Ú®Ú

Ú®Ú

ÚÙÚ

Ú®ÙÚ«

ÙÚ®ÙÚ

ÚÙÚ

Ú®Ù

«ÚÚ

®®®ÚÙÚ«ÚÙ118

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 119: Logica para computação

9. Diga quais das fórmulas do exercício 8 são tautologias,

contradições ou, apenas, satisfatíveis.

10. Seja I uma interpretação, tal que I[P] = T, I[Q] = F e I[R] =

F. O que se pode afirmar a respeito do valor verdade de cada

fórmula abaixo?

a) (Q ~P) b) (falso Q) R c) (P (Q P))

d) verdadeiro (P R) e) ~P ~R ~Q

f) ~Q (P ~Q) g) (P (Q R)) ((P Q) R)

11. Seja I uma interpretação tal que I[P Q] = V. O que se

pode deduzir a respeito dos resultados das interpretações:

a) I[~P Q] b) I[P ~Q] c) I[Q P] d) P Q

12. Sabendo que I é uma interpretação que interpreta cada

fórmula abaixo como sendo verdadeira e que I[A] = V, o que se

pode concluir a respeito de I[B] e I[C]?

a) L = ~(A ~B) b) M = (A B) C

c) N = (A ~B) C d) O = (A B) ~B

13. Considere as fórmulas G, H e L, abaixo, e responda o

que se pede.

G = (A B) ~B H = ~A ~B L = ~(A B)~

Verifique se:

a) G Þ H b) G Þ L c) L Þ G

d) L Þ H e) H Þ G f) H Þ L

14. Verifique, usando a árvore semântica, se as seguintes

fbf são válidas. Caso alguma fbf não seja válida, identifique uma

interpretação para a qual a fórmula não é válida.

a) (~P Q) (P Q)

b) P ((Q R) ((P R) (P R)))

c) (P ~Q)) ~P

® ®«ÚÙ

®Ú ÚÙ

ÙÚ ®®«Ù®

®

Ù Ú ®Ú

Ù ÚÙ

ÙÙ Ù®

Ù® Ù Ù

Ú«®

®®®®®®

®« 119

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 120: Logica para computação

d) (P (Q R)) ((P Q) R)

e) P1 (P2 (P3 (P4 (P5 (P6 (P7 ))))))

f) P1 ((P2 P3) ((P4 P5) ((P6 P7) P8)))

g) ~((P Q) R S) (P1 Q1)

h) (~P Q) ((~Q P) (P Q))

i) (P ((P (Q P))) (Q P))

j) (P ~Q) ~(P Q)

®®«Ù®

®®®®®®®

®Ù®Ù®Ù®

ÙÚÚÙÙ

®®®ÙÚ

®®Ù®Ù

®®Ù

15. Transforme os argumentos abaixo em fórmulas da lógica

proposicional e verifique, usando árvore semântica, se são

válidos:

a) Suponha que são verdadeiras as afirmações

i) João ama Aline ou Luciana.

ii) Se João ama Aline, então ele também ama Luciana.

A partir dessas afirmações é possível afirmar que

– necessariamente, João ama Aline?

– necessariamente, João ama Luciana?

a) Quatro detetives, Ana, Teresa, Cynthia e Melo, estão

investigando as causas de um assassinato e cada um deles

conclui:

Ana: Se há sangue na cena do crime, então o matador é um

profissional.

Teresa: É falso que há sangue na cena do crime e o matador

é um profissional.

Cynthia: O matador não é um profissional e há sangue na

cena do crime.

Melo: Há sangue na cena do crime.

Determine se, a partir das conclusões de Teresa e Melo,

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

120

Page 121: Logica para computação

pode-se concluir que o matador é profissional.

– Determine se as conclusões de Ana e Teresa são

equivalentes.

– Determine se há implicação lógica entre as conclusões de

Cynthia e Ana.

b) Se a temperatura e os ventos permanecerem constantes,

não choverá. A temperatura não permaneceu constante. Logo,

Se chover significa que os ventos não permaneceram constantes.

c) Se Godofredo ama Gripilina, então é possível concluir

que:

Se Gripilina é bonita, inteligente e sensível, então

Godofredo é feliz.

A partir das afirmações acima é possível concluir que:

– Godofredo não ama Gripilina?

– Gripilina não é bonita, não é inteligente e nem é sensível?

– Godofredo é feliz?

d) Se Katielly está bonita, então Tony está feliz e se Tony

está feliz, Danilo está preocupado. Se Danilo está preocupado,

então Katielly está bonita. Portanto, não é verdade que se Danilo

está preocupado, então Tony está feliz.

16. Usando o método da negação, verifique os argumentos

dos exercícios 14 e 15.

17. Justifique cada passo de indução, na prova da fórmula:

~A (A B) B

1. ~A

2. A B

3. ~(~A) B

ÙÚ®

Ú

Ú121

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 122: Logica para computação

122

4. ~A B

5. B

18. Usando dedução lógica, prove que os argumentos

abaixo são válidos:

a) ~P Q (Q (P R)) R

b) (A (B C) ~B ~C ~A

c) (A B) ~A B

d) (A B) (~B ~A)

e) ((P Q) R) (P (Q R))

f) (P (Q R)) ~Q ~R ~A

g) (A B) (A (B C)) (A C)

h) (A B) (~A ~B)

i) ((A B) C) (A (B C))

j) (A B) (B (C D)) A (B C)) (A D)

k) “Se as taxas de juros caírem, o mercado imobiliário vai

melhorar. Ou a taxa federal de descontos vai cair, ou o mercado

imobiliário não vai melhorar. As taxas de juros vão cair. Portanto,

a taxa federal de descontos vai cair.”

l) “Meu cliente é canhoto mas, se o diário não tiver sumido,

então meu cliente não é canhoto; portanto, o diário sumiu.”

m)

19. Crie símbolos proposicionais e formalize as sentenças

predicadas abaixo:

a) Todos os dias são bonitos.

b) Alguns dias são bonitos.

c) Nada é bonito.

d) Tudo é bonito.

e) Todos os dias que são ensolarados são bonitos.

f) Alguns dias não são ensolarados.

g) Nenhum dia é ensolarado.

®

ÙÙ®Ú®

®ÚÙÙ®

ÚÙ®

®®®

Ù®®®®

®ÚÙÙ®

®Ù®®®®

®®®

Ù®®®®

®Ù®®Ù®®®®

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 123: Logica para computação

123

h) Todos os dias são bonitos se, e somente se, não está

chovendo.

i) Não é verdade que alguns dias bonitos são ensolarados.

j) Todos os carros são pretos.

k) Alguns carros são pretos.

l) Somente Fuscas são pretos.

m) Não existem Fuscas pretos.

n) Alguns Fuscas são pretos ou são vermelhos.

o) Alguns carros são Fuscas e são pretos.

p) Se está chovendo, então algumas pessoas estão

molhadas.

q) Ou está chovendo ou nenhuma pessoa está molhada.

r) Se nada é preto, então não existem carros pretos.

s) Qualquer coisa ou é um Fusca ou não é um Fusca.

t) Não é verdade que existem alguns Fuscas pretos.

20. Escreva os seis primeiros termos das seqüências

recorrentes:

a) A(1) = 5

A(n) = A(n 1) + 10, para n 2.

b) B(1) = 3

B(n) = B(n – 1) + 1/n, para n 2.

c) C(1) = 1

C(n) = C(n – 1) +3(n – 1), para n 2.

d) D(1) = 1

D(2) = 2

D(n) = 2D(n – 1) + 3D(n – 2), para n > 2.

e) M(1) = 1

M(2) = 1

M(3) = 2

M(n) = M(n – 1) + 2M(n – 2) + 3M(n – 3), para n > 3.

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 124: Logica para computação

124

21. Escreva as seqüências abaixo de forma recorrente:

a) S = 5, 10, 15, 20, 25, ...

b) T = 5, 7, 10, 14, 19, ...

c) U = 2, 8, 24, 64, 160, ...

d) V = 1, 4, 16, 64, 256, ...

e) X = 4, 7, 13, 22, 34, ...

22. Escreva um algoritmo recorrente para calcular o n-

ésimo termo de cada uma das seqüências do exercício 21.

23. Qual o valor retornado pelos algoritmos abaixo:

a) Para n = 6, como valor inicial.

algoritmo S(n) se n = 1 então retorne 3

senão retorne S(n – 1) + 2(n – 1)

fimsefimalgoritmo

b) para qualquer valor inicial de n:

algoritmo A(n) se n = 1 então retorne 1

senão retorne A(n – 1) + 1

fimsefimalgoritmo

c) Para o valor inicial n = 5

algoritmo R(n) se n = 1 então retorne 1

senão retorne R(n – 1) + 7(n + 1)

fimsefimalgoritmo

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas

Page 125: Logica para computação

125

Lógica para ComputaçãoTecnologia em Análise eDesenvolvimento de Sistemas