Livros para - Prof. André Luiz do Vale Soares

Livre

0
5
125
1 year ago
Preview
Full text

  

Lógica para

Computação

  

Universidade do Estado do Amazonas

Tecnologia em Análise

e Desenvolvimento de Sistemas

  

(Sistema Presencial Mediado)

Lógica

para

  

Computação

  

Governador

Eduardo Braga

Vice-Governador

Omar Aziz

Reitora

Marilene Corrêa da Silva Freitas

Vice-Reitor

Carlos Eduardo S. Gonçalves

Pró-Reitor de Planejamento

Osail Medeiros de Souza

  

Pró-Reitor de Administração

Fares Franc Abnader Rodrigues

Pró-Reitor de Extensão e Assuntos Comunitários

Rogelio Casado Marinho Filho

Pró-Reitora de Ensino de Graduação

Ednéa Mascarenhas Dias

Pró-Reitor de Pós-Graduação e Pesquisa

José Luiz de Souza Pio

Coordenador Geral do Curso de Tecnologia

em Análise e Desenvolvimento de Sistemas

  

(Sistema Presencial Mediado)

Odwald Schreder

Coordenadora Pedagógica

Ângela Timótia Pereira Lima

Coordenador Técnico Administrativo

Ednaldo Coelho Pereira

Diagramação, Formatação e Capa

Aurelino da Silva Bentes

Revisão

XXXXXXXXXXX

  

Ficha Técnica

  

Perfil dos Autores

Salvador Ramos Bernardino da Silva (Coordenador)

  

Professor da Escola Superior de Tecnologia (EST/UEA)

Especialista em Desenvolvimento de Sistemas –UFAM

Manoel S. S. Azevedo

  

Professor da Escola Superior de Tecnologia (EST/UEA)

Mestre em Engenharia Elétrica-UFCG

Cláudio de Oliveira Santos

  

Professor da Escola Superior de Tecnologia (EST/UEA)

Especialista em Metodologia do Ensino Superior - FSDB

  

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 Freitas Reitora da Universidade do Estado do Amazonas

  Sumário

  1. INTRODUđấO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

  1.1 O que é lógica? . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

  1.2 Origem da lógica . . . . . . . . . . . . . . . . . . . . . . . . . 12

  1.3 Classificação da lógica: . . . . . . . . . . . . . . . . . . . . . . 13

  2. A LÓGICA PROPOSICIONAL . . . . . . . . . . . . . . . . . . . . . . . 15

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

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

  2.2 Semântica da lógica proposicional . . . . . . . . . . . . . . . 22

  2.2.1 Interpretação dos conectivos lógicos . . . . . . . . . . 23

  2.2.1.1 Negação de uma proposição . . . . . . . . . . . . 23

  2.2.1.2 Conjunção de duas proposições . . . . . . . . . . 26

  2.2.1.3 Disjunção . . . . . . . . . . . . . . . . . . . . . . . 27

  2.2.1.4 Condicional . . . . . . . . . . . . . . . . . . . . . . 28

  2.2.1.5 Bicondicional . . . . . . . . . . . . . . . . . . . . . 29

  2.2.1.6 Disjunção exclusiva . . . . . . . . . . . . . . . . . 30

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

  3. O CÁLCULO PROPOSICIONAL . . . . . . . . . . . . . . . . . . . . . 34

  

3.1 Ordem de precedência entre os operadores . . . . . . . . . 34

  

3.2 Tabela verdade. . . . . . . . . . . . . . . . . . . . . . . . . . . 35

  

3.3 Propriedades semânticas da lógica proporcional . . . . . . 43

  3.3.1 Tautologia . . . . . . . . . . . . . . . . . . . . . . . . . . 43

  3.3.2 Contradição . . . . . . . . . . . . . . . . . . . . . . . . 43

  3.3.3 Fórmula satisfatível . . . . . . . . . . . . . . . . . . . . 44

  3.3.4 Equivalência lógica . . . . . . . . . . . . . . . . . . . . 45

  3.3.5 Implicação lógica . . . . . . . . . . . . . . . . . . . . . 45

  4. VALIDADE DE UM ARGUMENTO. . . . . . . . . . . . . . . . . . . . . 49

  

4.1 Argumento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

  

4.2 Métodos para avaliar a validade de um argumento . . . . . 53

  4.2.1 Método da tabela verdade . . . . . . . . . . . . . . . . 54

  4.2.2 Método da Árvore Semântica . . . . . . . . . . . . . . . 55

  4.2.3 Método da negação (ou absurdo) . . . . . . . . . . . . 61

  4.2.4 Dedução lógica . . . . . . . . . . . . . . . . . . . . . . . 65

5. QUANTIFICADORES . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.1 Quantificador universal e existencial . . . . . . . . . . . . . 81

6. RECORRÊNCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

  6.1 Seqüência definida por recorrência . . . . . . . . . . . . . . 88

  6.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

  Lógica para Computação Tecnologia em Análise e Desenvolvimento de Sistemas

  Capítulo I Introduçã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.

1.1 O que é lógica?

  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 .

  Desenvolvimento de Sistemas Desenvolvimento de Sistemas Lógica para Computação Lógica 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).

1.2 Origem da lógica.

  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

  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.

1.3 Classificação 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.

  Lógica para Computação Desenvolvimento de Sistemas

  Desenvolvimento de Sistemas Lógica 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.

  Lógica para Computação Tecnologia em Análise e Desenvolvimento de Sistemas

  Capítulo II A Lógica Proposicional

  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.

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, ...

  É 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. Lógica para Computação Desenvolvimento de Sistemas 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 Ù Ú ® «

b) Proposiçã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ção Desenvolvimento de Sistemas

  Desenvolvimento de Sistemas Lógica para Computação EXERCÍCIOS

  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?

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) «

  Lógica para Computação Desenvolvimento de Sistemas

  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 « Ù Ú Ú B Ú ® «

  ))A B C, A , PÙ 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.

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

  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 Nessa afirmação, algumas proposições simples poderão ser identificadas: Proposição simples

  Representação P Q

  • João gosta de Maria - Maria é feliz Representação na lógica proporcional: (P Q) 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

  Representação P Q Lógica para Computação Desenvolvimento de Sistemas

  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 B A é 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).

  Lógica para Computação Desenvolvimento de Sistemas

  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) 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

  Desenvolvimento de Sistemas Lógica 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)

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.

  Lógica para Computação Desenvolvimento de Sistemas

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:

  Uma proposição Duas proposições P P Q

  V V

  V F

  V F F

  V F F

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

  Desenvolvimento de Sistemas Lógica para Computação

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

  Valor verdade Representação Proposição (valor lógico) simbólica Manaus está no Brasil.

  V P

Manaus não está no Brasil. F ~P

É falso que Manaus está no Brasil. F ~P

Não é verdade que Manaus não está no Brasil

  V ~(~P)

3 + 4 = 5 F Q

É falso que 3 + 4 = 5 V ~Q 3 + 4 5

  V ~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.

  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 É falso que Paulo seja baixo e Paulo é alto e

gordo gordo. magro.

  Paulo não é baixo ou não é Observar que basta gordo que ele não tenha Paulo é alto ou magro. um dos atributos para estar negada a afirmação inicial. O rio é raso ou não É falso que o rio seja raso ou O rio não é raso ou está poluído não esteja poluído. está poluído

  Não é verdade que o rio é raso ou não está poluído

O rio é fundo e está poluído

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

  É importante observar que, ao negar uma proposição composta, quando se nega cada proposição simples deve-se

  Lógica para Computação Desenvolvimento de Sistemas

  Tabela verdade da negação:

  P ~P

  V F F

  V EXERCÍCIOS

  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.

  Desenvolvimento de Sistemas Lógica 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”.

  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:

  P Q P Ù Q

  V V

  V V F F F

  V F

F F F

  Lógica para Computação Desenvolvimento de Sistemas 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.

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

  Desenvolvimento de Sistemas Lógica para Computação EXERCÍCIOS

  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.

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

  Lógica para Computação Desenvolvimento de Sistemas

  Tabela verdade do condicional:

  P Q P Q à

  V V

  V V F F F

  V V F F

  V 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

  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.

  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ção Desenvolvimento de Sistemas

  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”.

2.2.1.6 Disjunção exclusiva

  Lógica para Computação Desenvolvimento de Sistemas 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 Ú Ú ®

  Desenvolvimento de Sistemas Lógica para Computação

  Para responder a essa pergunta, analisa-se o valor da fórmula, a partir das interpretações conhecidas: Ú ®

  

P Q P H

  V F Ú

  V 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 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

  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ção Desenvolvimento de Sistemas

  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

  Lógica para Computação Tecnologia em Análise e Desenvolvimento de Sistemas

  Capítulo 3

O Cálculo Proposicional

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 ( ).

  Lógica para Computação Desenvolvimento de Sistemas

  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:

  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,

  Desenvolvimento de Sistemas Lógica para Computação

  da mesma. Após fazer as combinações possíveis dos valores Ù verdade de A e B, opera-se primeiro o conectivo :

  A B A Ù B

  V V

  V V F F F

  V F F F F

  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 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.

  1

  7

  V F F

  V F

  V V F F F F F F F F

  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

  8

  V F F

  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

  V V F F

  V F

  2

  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ção Desenvolvimento de Sistemas

  3

  4

  

5

  6

  7

  8

  9 A B A Ù

B

® A Ú B

  V V

  V F F

  V F F Etapa

  1

  V V

  2

  3

  4

  

5

  6

  7

  8

  9 A B A Ù

B

® A Ú B

  V V

  V V

  V V

  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: Ú

  Lógica para Computação Desenvolvimento de Sistemas A B C A Ú B

  V F F

  V V

  V V

  V V

  V V

  V V F

  V F F

  V V

  V F F

  V V F

  8

  V V F F F F F

  V F F F Etapa

  1

  2

  1

  5

  3

  4

  9 A B A Ù B ® A Ú B

  7

  V V

  

V F

  V V

  V V F

  V V F

  V V

  V F F

  V F

  V V

  V F

  V F F

  6

  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

  3

  Lógica para Computação Desenvolvimento de Sistemas

  V V

  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 F

  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 V F F F

  V F

  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

  V V

  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 F F F

  V V F 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

  Desenvolvimento de Sistemas Lógica para Computação

  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.

  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:

  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

  Lógica para Computação Desenvolvimento de Sistemas Coluna

  V F F

  C) « (B ® ~ C)

  V V V

  V V

  V V V

  V V F

  V V

  V F V

  2

  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:

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

  1

  1

  V V V F F

  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

  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 Coluna

  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

  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. Ú

  Desenvolvimento de Sistemas Lógica para Computaçã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:

  1

  2

  3 4 5 6 7 8 10 11 12 13

  9 A B C ((A Ú « (B ®

  B) ®

  C) ~ C)

  V V V

  V V V V V

  V F F V F

  V V F

  V V V F F

  V V V F F

  V F V

  V V F V V F V F V

  V V F F

  V V F F F F V V F F F

  V V F

  V V V V

  V F F V F F

  V F F

  V V F F

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

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

  V 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.

  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))

3.3 Propriedades semânticas da lógica proporcional

3.3.1 Tautologia

  V F

  2. Mostre que a fórmula abaixo é uma tautologia: (P Q) (~P Q) Ù ® Ú ® « Ú

  1. Fazer a tabela verdade para a fórmula H = (P Q) (P Q) e verificar se a mesma é uma tautologia.

  EXERCÍCIOS

  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.

  V V

  V V F F F

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 F F

  V F

  V V

  P Q P Ù Q ~( P Ù Q) P Ú ~( P Ù Q)

  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 Ú Ù

  V F F Lógica para Computação Desenvolvimento de Sistemas

  V F F

  V V F F

  V V

  V V F

  EXERCÍCIOS

  V V

  1) Construa a tabela verdade para as fórmulas abaixo e prove que são satisfatíveis: a) H = (P Q) Q

  V V F EXERCÍCIOS

  V F F

  V V F

  V F F

  V F F

  V V F

  B) ® A ~

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

  A B (A ®

B) (A ®

  Exemplo: construir a tabela verdade para a fórmula G = ~((A B) A) ® ®

  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.

  contingência), se existe pelo menos uma interpretação I, tal que I[H] = V

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

  b) ~(P (P Q)) ® Ù ® Ú 3.3.3 Fórmula satisfatível.

  a) ~(P Q) Q

  Desenvolvimento de Sistemas b) G = (P Q) (P Q) « Ú ® ® Ù Lógica para Computação

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

  V V

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

  EXERCÍCIOS

  b) G = ~(A B) e H = ~A ~B ® Ú Ú Ù Û

  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)

  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. «

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

  V V F F F F

  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: ® Ù ® Û

  V F F

  V V F F

  V V

  V V

  A)

  A B A ® B B ® A (A ® B) Ù (B ®

  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. Lógica para Computação Desenvolvimento de Sistemas

  Desenvolvimento de Sistemas Lógica para Computação Þ

  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:

  K L M P Q P Ù Q Ú Q P Ù Q P Ú Q

  V V

  

V

V

  V V

  V F F F F

  V V F

  V F 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

  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

  EXERCÍCIOS

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

  V F que é uma contradição.

  V F F F F F

  V F

  V V F F F F

  K L ~K L Ù ~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: Ù Ù

  V V F F

  1) Considerando as fórmulas K, L, e M do último exemplo, verificar se: a) L Þ M

  V F

  V V

  V F F

  V V F

  K L ~L ~L Ú K

  c) L Þ K Lógica para Computação Desenvolvimento de Sistemas Usando a mesma condição (1) para testar se L Þ K, temos:

  b) M Þ K

  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. ®

  Desenvolvimento de Sistemas Lógica para Computação

  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.

  Lógica para Computação Tecnologia em Análise e Desenvolvimento de Sistemas

  Capítulo 4 Validade de um Argumento

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

  Lógica para Computação Desenvolvimento de Sistemas

  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

  Lógica para Computação Desenvolvimento 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:

  Indicadores de conclusão Indicadores de premissa logo desde que portanto como assim porque por conseguinte assumindo que dessa maneira visto que neste caso admitindo que daí isto é verdade porque de modo que a razão é que então em vista de assim sendo como conseqüência de segue-se que como mostrado pelo fato que o(a) qual implica que sabendo-se que resulta que supondo que podemos deduzir 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

  Lógica para Computação Desenvolvimento de Sistemas

  A viagem para Manacapuru dura uma hora. A João irá a Manacapuru B Logo, João viajará durante uma hora. C Ù ® 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.

  Proposição simples Representação

  • O criminoso é primário P - O criminoso cometeu um descuido Q - O criminoso terá sua pena diminuída. 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.

  Desenvolvimento de Sistemas Lógica para Computação 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.

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

  Lógica para Computação Desenvolvimento 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.

  

P Q P ® ~P Q) « (~Q® ~P)

Q ~Q ~P ~Q® (P ®

  V V

  V V

  V F F F

  V F

  V V F F

  V V F V

  V V F

  V V V

  V V F F

  Para todas as interpretações I, I[H] = V. Então, H é uma fórmula válida (é uma tautologia). n Mas o número de linhas de uma tabela verdade é dado por 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.

  Desenvolvimento de Sistemas Lógica para Computação

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 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ógica para Computação Desenvolvimento de Sistemas

  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

  Desenvolvimento de Sistemas Lógica para Computação ®

  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 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. ® « ®

  (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:

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

  2

  3 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ção Desenvolvimento de Sistemas 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 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ção Desenvolvimento de Sistemas

  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: ® ®

  Lógica para Computação Desenvolvimento de Sistemas

  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:

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

  2

  3 V F

  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.

  Desenvolvimento de Sistemas Lógica para Computação 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.

  Exemplo 1:

  Verifique, através do método da negação (ou absurdo) se a fórmula G, abaixo, é válida:

  Lógica para Computação Desenvolvimento de Sistemas

  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 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.

  Desenvolvimento de Sistemas Lógica para Computação 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 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

  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ção Desenvolvimento de Sistemas 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 ® « ® ® « ® ® « ®

  Desenvolvimento de Sistemas Lógica para Computação

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

4.2.4.1 Regras de deduçã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ção Desenvolvimento 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

  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 «

  Desenvolvimento de Sistemas Lógica para Computação

  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,

  Lógica para Computação Desenvolvimento de Sistemas

  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

  Desenvolvimento de Sistemas Lógica para Computação

  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). 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:

  ® Lógica para Computação Desenvolvimento de Sistemas

  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 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

  Desenvolvimento de Sistemas Lógica para Computação ® Ù

  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.

  Relembrando a tabela verdade da conjunção:

  P Q P Ú Q

  V V

  V V F

  V F

  V V

  Lógica para Computação Desenvolvimento de Sistemas Ú

  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. Os passos seguintes são imediatos: Ú ® 1. (A ~B) C hip ®

  2. C D hip

  3. A hip Ú

  4. A ~B 3, ad

  Lógica para Computação Desenvolvimento de Sistemas 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 ®

  Lógica para Computação Desenvolvimento de Sistemas 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)

  Desenvolvimento de Sistemas Lógica para Computação

  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)

  Lógica para Computação Desenvolvimento de Sistemas

  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)

  EXERCÍCIOS Prove o silogismo hipotético. 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 ®

  Desenvolvimento de Sistemas Lógica para Computação

  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

  Lógica para Computação Tecnologia em Análise e Desenvolvimento de Sistemas

  Capítulo V 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.

  Desenvolvimento de Sistemas Lógica para Computação

  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

  Lógica para Computação Desenvolvimento de Sistemas

  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

  Desenvolvimento de Sistemas Lógica para Computação

  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.

  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

  É 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

  " Lógica para Computação Desenvolvimento de Sistemas

  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.

  Desenvolvimento de Sistemas Lógica 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:

  Lógica para Computação Desenvolvimento de Sistemas

  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)

  É importante ressaltar que proposições com o quantificador universal devem ser simbolizadas com o condicional, enquanto proposições com o quantificador

  Desenvolvimento de Sistemas Lógica para Computação 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ã.

  Lógica para Computação Desenvolvimento de Sistemas

  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.

  EXERCÍCIO 3

  Encontre uma interpretação para a qual a mesma fbf tenha valor lógico falso. (Mude o significado de A, B ou C).

  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 é

  Desenvolvimento de Sistemas Lógica para Computação

  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)

  Lógica para Computação Tecnologia em Análise e Desenvolvimento de Sistemas

  Capítulo 6 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

  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. Lógica para Computação Desenvolvimento de Sistemas

  Desenvolvimento de Sistemas Lógica para Computação

  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.

  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:

  Lógica para Computação Desenvolvimento de Sistemas

  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 ...

  EXERCÍCIOS

  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

  1

³

para n 2. A ( n ) = ( n

  • 1 ) A

  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

  Desenvolvimento de Sistemas Lógica para Computação se <condição> então comando(s)1 senão comando(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:

  se A > = B então Escreva “A é maior ou igual a B” senão Escreva “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

  Lógica para Computação Desenvolvimento de Sistemas

  Algoritmos definidos por recorrência têm a estrutura:

  Algoritmo S(n) se <condição> então retorne valor senão retorne S(n – 1) fimse fimalgoritmo

  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ão retorne 2S(n – 1) (expressão que define S(n)) fimse fimalgoritmo

  Desenvolvimento de Sistemas Lógica para Computação

  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.

  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 3 senão retorne P(n – 1) + 2(n – 1) fimse fimalgoritmo

  EXERCÍCIO 1

  Faça um algoritmo recorrente para a sequência R = 3, 7, 16,

  Lógica para Computação Desenvolvimento de Sistemas

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)

  As pendências se sucedem, até que o algoritmo é mandado executar com n = 1:

  2 * S(1) 2 * S(2)

  Desenvolvimento de Sistemas Lógica para Computação

  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ão retorne M(n – 1) + (n – 2) fimse fimalgoritmo

  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.

  Lógica para Computação Tecnologia em Análise e Desenvolvimento de Sistemas

  Respostas dos Exercícios

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

  Desenvolvimento de Sistemas Lógica para Computação Ù

  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.

  Desenvolvimento de Sistemas Lógica para Computação

  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)

  

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

  Lógica para Computação Desenvolvimento de Sistemas

  d) antecedente: definição é alterada conseqüente: a definição ficará errada.

  2. a) V

  b) F

  c) V

  d) V

  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 A B

A Ú B ~A A Ú B ® ~A

  V V

  V V

  V Lógica para Computação Desenvolvimento de Sistemas

  V V F F F F

  V F

  V V F

  V V F F

  V V

  V V

  P Q P Ù Q P Ú Q (P Ù Q) ® (P Ú Q)

  1) H = (P Q) (P Q) Ù ® Ú

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

  d) (P (~Q R)) ~(Q (P ~R)) ® Ú Ù Ú « 1 ~Q Ú R P ® 2 P Q R ~Q ~R P « ~R Q Ú ~( ) 1 Ù 2 V V V F V V F F V F F

  V V

  V V

  V F F

  V V

  V F F

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

  V F

  V F F F

  V V

  V V F F F

  V V

  b)

  1

  V F

  2 A B A ® B ~A

  ~A Ú B 1 «

  2 V

  V V F

  V V

  V F F F F

3.3.1 Tautologia

  2) (P Q) (~P Q) ® « Ú

  V F

  1. a)

  3.2 Tabela verdade

  V V

  V V

  V F

  P Q P ® Q ~P ~P Ú Q (P ® Q) « (~P Ú Q)

  V F

  V F

  V V

  V V F F

  V F F

  V V

  V V F

  V F F F

  V V

  V F

  V F F F F

  V

  V V

  V V

  V F F

  V V

  V V

  V F

  V F F F F

  V V

  V F

  V V

  A B C A Ú B A Ú B ® C

3.3.2 Contradição

  V F Lógica para Computação Desenvolvimento de Sistemas

  V V

  V V F F

  V V F

  V V

  P Q

P Ú Q P ® (P Ú Q) ~(P ® (P Ú Q))

  b) ~(P (P Q)) ® Ú

  V F F

  V V F F F F

  

V F

F

  V F F

  V F F

  V V

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

  1) a) ~(P Q) Q ® Ù

  V F b) G = (P Q) (P Q) ® ® Ù

  P Q P ® Q P Ù Q (P ® Q) ® (P Ù Q)

  V V Lógica para Computação Desenvolvimento de Sistemas

  V F

  

V F F

  V F F

  V V F

  V F F F F F

  

V

V

  3.3.3 Fórmula satisfatível

  V V

  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 F F F F

  A B A Ú B G ~A ~B H

  V V

  A B G A Ú B H

  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) ® Ú

  V V

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

  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

  V V

3.3.5 Implicação lógica

  L K L ® K

  V F F F

  V V F

  V F F

  V V

  K L M

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

  V Lógica para Computação Desenvolvimento de Sistemas

  V V F F

  V F

  V F F

  V V

  a) L M. Pelo critério 3: Þ

  L M L ® M

  V Logo, M não implica logicamente em K.

  V F F

  V V

  V V F F

  V V

  M K M ® K

  b) M Þ K Þ ®

  V Logo, L M, pois L M é uma tautologia.

  V V F F

  V V F

  V F

  V V

  c) L Þ K

  2) A = (~P Q) e B = (P Q) «Ú

  V Conclusão: K implica logicamente em M (ou K M). Þ

  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.

  d) K Þ M

  P Q A B

  K M K ® M

  V V

  V F

  V V

  V V

  V F F

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

  Desenvolvimento de Sistemas b) (S (~C ~Q)) (~C Q) ~S Ù ® Ù ® Ù Ù ® ® Ù Ù Ù ® Lógica para Computação

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

  V 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 F

  V F F

  V V F F

  V V F F

  V V

  V V

  V F F F

  V V

  V V F F

  V V A fórmula é válida.

  V V F F

  V V F F F

  V

  1

  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) Ù ® ® « Ù ® ® « Ù ® ® « Lógica para Computação Desenvolvimento de Sistemas 4.2.1 Exercício 1.

  2

  V V F

  3

  4 S C Q ~C ~Q ~C Ù ~Q S ® 1 ~C Ù Q 2 Ù

  3 ~S 4 ® ~S

  V V

  V F F F F F F F

  V V

  V F F

  V F F F F F

4.2.2 Exercício 1

  Desenvolvimento de Sistemas Lógica para Computação Ù ® ® «

  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. Ù ®

  b) G = ~(P Q) ~P

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

  2

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

  4

5 V F

  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. Ú Ù ® ®

  c) H = ((A B) (A C)) A

1 I[A] = V I[A] = F

  3

  2 V I[B] = F I[B] = V

  4

  5 V I[C] = V I[C] = F

  6

  7

  Lógica para Computação Desenvolvimento de Sistemas

  A fórmula não é válida. Para I[A] = F, I[B] = V e I[C] = V tem-se I[H] = F.

  Exercício 2

  

1

I[S] = V I[S] = F

  2

  3 I[C] = V I[C] = F

  V

  4

  5 V

  6

  7 ® Ù Ù Ù ®

  V V

  (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. a) G = A B ~A F V F VF

  Desenvolvimento de Sistemas Lógica para Computação

  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

  Ù Lógica para Computação Desenvolvimento de Sistemas

  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 ®

  Desenvolvimento de Sistemas Lógica para Computação

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

  Lógica para Computação Desenvolvimento de Sistemas

  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ão 2 retorne R(n – 1) + n fimse fimalgoritmo

  2) 6

  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.

  Lógica para Computação Desenvolvimento de Sistemas

  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.

  Desenvolvimento de Sistemas Lógica para Computação

  p) Se Paulo é elegante se, e somente se, for alto, então ele é alto. Paulo é elegante.

  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.

  Lógica para Computação Desenvolvimento de Sistemas

  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.

  Desenvolvimento de Sistemas Lógica 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))

  Lógica para Computação Desenvolvimento de Sistemas

  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) 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. Lógica para Computação Desenvolvimento de Sistemas 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 Ù Ú ® Ú Lógica para Computação Desenvolvimento de Sistemas

  Desenvolvimento de Sistemas Lógica para Computação ®

  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.

  Lógica para Computação Desenvolvimento de Sistemas

  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

  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) fimse fimalgoritmo

  b) para qualquer valor inicial de n:

  algoritmo A(n) se n = 1 então retorne 1 senão retorne A(n – 1) + 1 fimse fimalgoritmo

  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) fimse Lógica para Computação Desenvolvimento de Sistemas

  Lógica para Computação Desenvolvimento de Sistemas

Novo documento

Tags

Documento similar

DESENVOLVIMENTO DE MATERIAL DIDÁTICO (TUTORIAIS E MANUAIS) PARA AS ATIVIDADES PRÁTICAS DE GEOTECNOLOGIAS APLICADAS NO CURSO DE GRADUAÇÃO EM GEOGRAFIA (IGEOG - UERJ)
0
0
10
PROPOSTA DE REGIONALIZAÇÃO PARA RIO CLARO - SP
0
0
16
O papel do professor de Geografia no contexto atual
0
0
11
AS ESPECIFICIDADES DO PROCESSO DE FORMAÇÃO HISTÓRICO-TERRITORIAL DO DISTRITO DE GUARAGI - PONTA GROSSA (PR)
0
0
9
ENTENDENDO O PASSADO DO ENSINO DE GEOGRAFIA NA REDE PÚBLICA DE MT ATRAVÉS DA HISTÓRIA DE VIDA DOS PROFESSORES APOSENTADOS: uma alternativa para pensar o futuro
0
0
11
Estudo Técnico de Revisão dos limites da Floresta Nacional do Jamanxim Relatório Final
0
0
39
I - Vigilância de microcefalias eou alterações do sistema nervoso central (SNC)
0
0
5
Estudos e produção de subsídios técnicos para a construção de uma Política Nacional de Pagamento por Serviços Ambientais - Relatório Final.
0
2
448
Métrica: Potencial de Aquecimento Global em 100 anos (GWP-100) usando valores do
0
0
10
Influências de Usinas Hidrelétricas no Funcionamento Hidro-Ecológico do Pantanal Mato-Grossense - Recomendações
0
0
19
Rua Conselheiro Saraiva nº 519 - CEP: 02037-021 - V Siciliano - Sao Paulo
0
0
6
RELATÓRIO DE IMPACTO AMBIENTAL - RIMA PROJETO VOLTA GRANDE
0
1
68
Ano XXV - Estado do Tocantins, quinta-feira, 16 de maio de 2013
0
0
52
DECRETO Nº 17.775, DE 4 DE MAIO DE 2012, que "Declara imune ao corte, nos termos do art. 7º da Lei Federal nº 4.771, de 15 de setembro de 1965 (Código Florestal) a Tipuana (“Tipuana tipu”) situada na Rua Eça de Queiroz, nº 619."
0
0
38
Tema da monografia: Multithread Autor: Luiz Paulo Maia lpmaiatraining.com.br Data: 180598
0
0
14
Show more