Matemática Discreta I
Rodrigo Ribeiro
Departamento de Ciências Exatas e Aplicadas Universidade de Federal de Ouro Preto
Sumário
1 Motivação
2 A Linguagem da Lógica Proposicional
Sintaxe da Lógica Proposicional
Semântica da Lógica Proposicional Tabelas Verdade
Motivação (I)
Porquê Estudar Lógica?
A lógica é um dos pilares nos quais se sustenta a ciência da computação.
Alguns exemplos de aplicação:
Engenharia de software: Especicação formal de software e prova de programas.
Recuperação de informação: Processamento de consultas em máquinas de busca.
Arquitetura de computadores, Linguagens de Prog., B.D.s, etc...
Motivação (II)
Porquê Estudar Lógica?
Lógica é utilizada em computação para descrever linguagens para modelar situações (problemas...) que encontramos em nosso dia-a-dia como prossionais de computação. Porquê não modelar usando português?
A linguagem natural é de ampla compreensão. Mas possui um problema: é ambígua!
Motivação (III)
Um Pouco de História...
A lógica foi inventada pelos gregos, que
desejavam determinar a validade de argumentos propostos em linguagem natural.
Grande parte deste trabalho foi documentado nas obras de Aristóteles.
Motivação (IV)
Nesta Disciplina...
Vamos estudar duas lógicas:
Lógica proposicional.
Lógica de predicados (lógica de primeira ordem).
Existem muitas outras lógicas, com aplicações especícas:
Lógica temporal. Lógica modal. Lógica intuicionista.
Lógica Proposicional (I)
Proposição
Proposições são o elemento mais básico da lógica proposicional.
Proposições são sentenças para as quais é possível atribuir valores verdadeiro ou falso. Toda proposição deve ser sempre verdadeira ou falsa. Não existem valores intermediários. Exemplos:
Hoje é segunda feira. 2 + 2 = 5.
Lógica Proposicional (II)
Exercício
Quais das seguintes sentenças são proposições?
1 A lua é feita de queijo suíço. 2 Os juros vão subir no ano que vem. 3 x2 −4 = 0
Lógica Proposicional (III)
Considere a seguinte frase...
O dia está ensolarado e José está feliz.
Esta frase é uma Proposição?
Veja que para atribuir um valor lógico a esta frase temos que:
Vericar se o dia está ensolarado. Vericar se José está feliz.
Lógica Proposicional (IV)
Ainda sobre a frase anterior...
O valor lógico desta depende de:
O dia está ensolarado E José está feliz.
Nesta frase, temos duas proposições:
O dia está ensolarado. José está feliz.
Proposições Simples
Dizemos que uma proposição é simples se esta não pode ser subdivida em proposições menores.
Lógica Proposicional (V)
Então temos que a frase:
O dia está ensolarado e José está feliz Possui duas proposições simples, a saber:
O dia está ensolarado. José está feliz.
Lógica Proposicional (VI)
Uma Observação...
A tarefa de considerar que uma proposição é simples ou não varia de acordo com a modelagem. Pode-se considerar a frase anterior como uma proposição indivisível. Porém, adotaremos a seguinte convenção: sempre decompor o enunciado analisado no maior número de proposições possível.
Lógica Proposicional (VII)
Proposições Compostas
Enunciado formado de proposições mais simples de forma a expressar:
Negação: Arma que a proposição não é verdadeira.
Ex: "A lua não está visível hoje."
Conjunção: Arma que duas proposições são verdadeiras.
Ex: "O dia está lindo, embora nublado."
Disjunção: Arma que pelo menos uma dentre duas proposições é verdadeira.
Lógica Proposicional (VIII)
Proposições Compostas
Condicional: Arma que caso uma certa
proposição seja verdadeira, uma outra também é, isto é, não é o caso que a primeira possa ser verdadeira e a outra falsa.
Ex: "Se hoje chover, usarei o guarda-chuva."
Bicondicional: Arma que uma proposição é verdadeira exatamente nos casos em que outra também é.
Ex: "Um número é par, se e somente se, seu quadrado é um número par."
Lógica Proposicional (IX)
Formalizando...
Observe as seguintes proposições compostas:
O dia está lindo, embora nublado. O dia está ensolarado e José está feliz.
Ambas as proposições representam uma
conjunção, e, portanto somente são verdadeiras se ambas as proposições que as compõe forem verdadeiras.
Lógica Proposicional (X)
Formalizando...
Como a estrutura das proposições é similar, podemos eliminar os detalhes irrelevantes:
Representaremos proposições simples por variáveis. Uma variável será representada por uma letra do alfabeto. Logo teremos:
Variável Proposição
A O dia está lindo
B O dia está nublado
C O dia está ensolarado
Lógica Proposicional (XI)
Formalizando...
Sendo assim, podemos representar as frases como:
A e B. C e D.
Porém, ainda estamos expressando a maneira que usamos para compor proposições simples usando o português.
Podemos expressar as maneiras de compor
Lógica Proposicional (XII)
Conectivos Lógicos
São símbolos usados para representar o tipo de composição entre proposições. Os conectivos são:
Nome Símbolo Nome Símbolo
Verdadeiro >
Falso ⊥
Negação ¬ Disjunção ∨
Conjunção ∧ Condicional →
Lógica Proposicional (XIII)
Portanto...
As frases apresentadas nos slides anteriores poderiam ser representadas por:
A ∧ B C ∧ D
Sintaxe da Lógica Proposicional
Variáveis e conectivos lógicos são utilizados para construir fórmulas da lógica proposicional.
Lógica Proposicional (XIV)
Identicando Conectivos em Frases
Conjunção: A ∧ B
A e B; A, mas B; A também B; A além disso B.
Disjunção: A ∨ B A ou B Condicional: A → B Se A, então B. A implica B. A, logo B. A só se B A somente se B
Lógica Proposicional (XV)
Identicando Conectivos em Frases
Condicional: A → B
A é uma condição suciente para B basta A para B.
B é condição necessária para A.
Bicondicional: A ↔ B
A se e somente se B
A é condição necessária e suciente para B.
Negação: ¬A
não A
É falso que A
Lógica Proposicional (XVI)
Exercício
Represente as seguintes setenças utilizando fórmulas da lógica proposicional:
1 O herói não é americano, mas o bandido é francês. 2 Se João vencer ou perder, irá car cansado.
3 Vai chover ou nevar, mas não ambos.
4 Se José vencer a eleição, então haverá aumento de impostos e melhorias na saúde.
Sintaxe e Semântica
Linguagens Formais
Uma linguagem formal é aquela que possui sintaxe e semântica denidas.
Sintaxe: Descreve como frases daquela linguagem podem ser formadas a partir de frases menores. Semântica: Descreve como atribuir um signicado às frases sintaticamente corretas de uma
linguagem.
Exemplos de linguagens formais:
Linguagens de programação: Java, C/C++, etc... Lógica proposicional.
Sintaxe da Lógica Proposicional (I)
Denição
O conjunto de fórmulas, F, que constitutem a linguagem da lógica proposicional é denido por:
a) >, ⊥ ∈ F.
b) Seja V o conjunto de todas as variáveis proposicionais. Temos que V ⊆ F.
c) Se α ∈ F, então ¬α ∈ F.
d) Se α, β ∈ F, então: α ∧ β ∈ F, α ∨ β ∈ F, α → β ∈ F e α ↔ β ∈ F
Sintaxe da Lógica Proposicional (II)
Exemplo
A fórmula (P ∨ Q) → P pertence a linguagem da lógica proposicional (é uma fórmula bem formada).
Podemos concluir aplicando as regras anteriores para formar esta fórmula.
1) As variveis P, Q ∈ F pela regra b).
2) Pela regra d) podemos concluir que P ∨ Q ∈ F
3) Finalmente, pela regra d) temos que: (P ∨ Q) → P ∈ F
Sintaxe da Lógica Proposicional (III)
Mais sobre a Sintaxe da Lógica Proposicional
As regras apresentadas não permitem a
formação de fórmulas sintaticamente incorretas. Exemplos de fórmulas incorretas:
(P ∧ ∨P) → ¬
Sintaxe da Lógica Proposicional (IV)
Uso de Parênteses
Apesar de não presentes nas regras apresentadas, pode-se usar parênteses para construir fórmulas bem formadas da lógica proposicional.
Para usarmos parênteses basta considerar a seguinte regra:
e) Se α ∈ F, então (α) ∈ F.
Podemos usar parênteses para impor uma ordem de avaliação à fórmula.
Sintaxe da Lógica Proposicional (V)
Precedência entre Conectivos Lógicos
Para evitar um excesso de parênteses nas fórmulas utiliza-se a seguinte convenção de precedência entre os conectivos lógicos:
A negação (¬) possui maior precedência. Ex: ¬P ∧ Q signica (¬P) ∧ Q.
A conjunção (∧) possui a segunda maior precedência. Este conectivo associa a esquerda. Ex: P ∨ Q ∧ R ∧ Z signica P ∨ (Q ∧ (R ∧ Z)).
Sintaxe da Lógica Proposicional (VI)
Precedência entre Conectivos Lógicos
A disjunção (∨) possui a terceira maior
precedência. Assim como a conjunção, também associa à esquerda. Ex: P ∧ Q ∨ R ∨ U ∧ V signica ((P ∧ Q) ∨ R) ∨ (U ∧ V ).
O condicional possui o próximo nível de precedência. Este conectivo associa à direita. Ex: P ∧ Q → P → Q → S signica
Sintaxe da Lógica Proposicional (VII)
Precedência entre Conectivos Lógicos
O bicondicional possui o menor nível de precedência. Assim como o condicional este conectivo associa à direita. Ex:
P ∧ Q ↔ P ↔ Q ↔ S signica (P ∧ Q) ↔ (P ↔ (Q ↔ S)).
Sintaxe da Lógica Proposicional (VIII)
Exercício
Elimine parênteses desnecessários:
1 ((A ∨ B) ∨ (C ∨ D)) 2 (A → (B → (A ∧ B))) 3 ¬(A ∨ (B ∧ C)) 4 ¬(A ∧ (B ∨ C))
Semântica da Lógica Proposicional (I)
Semântica
Agora que sabemos como montar fórmulas bem formadas da lógica proposicional, podemos lhes atribuir valores lógicos (Verdadeiro > ou Falso ⊥).
O valor de cada fórmula depende unicamente de:
Do valor lógico atribuído a cada uma das variáveis da fórmula considerada.
Da semântica dos conectivos lógicos presentes na fórmula.
Semântica da Lógica Proposicional (II)
Dando signicado para Fórmulas
Cada uma das variáveis presentes na fórmula deverá receber todas as possíveis combinações de {>, ⊥}.
O signicado dos conectivos é apresentado por tabelas-verdade.
Semântica da Lógica Proposicional (III)
Tabela-Verdade para a Negação.
A ¬A ⊥ > > ⊥
Semântica da Lógica Proposicional (IV)
Tabela-Verdade para a Conjunção.
A B A ∧ B
⊥ ⊥ ⊥
⊥ > ⊥
> ⊥ ⊥
Semântica da Lógica Proposicional (V)
Tabela-Verdade para a Disjunção.
A B A ∨ B
⊥ ⊥ ⊥
⊥ > > > ⊥ > > > >
Semântica da Lógica Proposicional (VI)
Tabela-Verdade para o Condicional.
A B A → B
⊥ ⊥ >
⊥ > >
> ⊥ ⊥
Semântica da Lógica Proposicional (VII)
Tabela-Verdade para o Bicondicional.
A B A ↔ B
⊥ ⊥ >
⊥ > ⊥
> ⊥ ⊥
Semântica da Lógica Proposicional VIII
Exercício
Construa tabelas verdade para:
1 A ∧ B → A
2 (A → B) ∧ ¬(B ∨ A) 3 (A → B) ∧ A ∧ ¬B 4 (A → B) ∨ (A ∧ ¬B)
Semântica da Lógica Proposicional (IX)
Classicando Fórmulas
Uma tautologia é uma fórmula que é sempre verdadeira independentemente dos valores atribuídos às variáveis que a compõe.
Uma contradição é uma fórmula que é sempre falsa independentemente dos valores atribuídos às variáveis que a compõe.
Semântica da Lógica Proposicional (X)
Classicando Fórmulas
Uma fórmula é falseável se esta possui pelo menos uma atribuição de valores às suas variáveis que a tornem falsa.
Uma fórmula é satisfazível se esta possui pelo menos uma atribuição de valores às suas
Semântica da Lógica Proposicional (XI)
Classicando Fórmulas
Uma fórmula é dita ser contingente se esta é falseável e satisfazível.
Semântica da Lógica Proposicional (XII)
Exercício
Seja f uma fórmula. Quais armativas estão corretas?
1 Se f é uma tautologia então f é satisfazível. 2 Se f é uma contradição então f é contingente. 3 Se f é contingente, então f é falseável.
Semântica da Lógica Proposicional (XI)
Limitações de Tabelas-Verdade
O número de linhas de uma tabela-verdade para uma fórmula α com n variveis é 2n.
Impraticável mesmo para fórmulas para um número pequeno de variáveis.