lógica para computação - dainfkaestner/logica/logicaproposicional.pdf · lógica para...
TRANSCRIPT
![Page 1: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/1.jpg)
Lógica para Computação
Prof. Celso Antônio Alves Kaestner, Dr. Eng.
celsokaestner (at) utfpr (dot) edu (dot) br
![Page 2: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/2.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Linguagem informal x linguagem formal;
Linguagem proposicional: envolve proposições e conectivos, formando fórmulas complexas;
Proposição: enunciado ao qual se pode atribuir um valor verdade (verdadeiro ou falso);
09/10/2014 Prof. Celso A A Kaestner
2
![Page 3: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/3.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Conectivos: conjunção (... E ...), disjunção (... OU ...), negação (NÃO ...), implicação (SE … ENTÃO…), bicondicional (...SE E SOMENTE SE...);
A Lógica Proposicional NÃO trata de relações sobre elementos de um conjunto, como “todos”, “algum”, nem utiliza variáveis; isto que será visto mais adiante, no estudo da Lógica Predicativa.
09/10/2014 Prof. Celso A A Kaestner
3
![Page 4: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/4.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
A linguagem proposicional utiliza:
1. Variáveis proposicionais (ou símbolos
proposicionais, ou átomos):
P = {p0, p1, p2, … };
2. Conectivos:
a) unário: negação: (NÃO);
b) binários: conjunção: (E), disjunção:
(OU), implicação: (SE…ENTÃO);
3. Símbolos de pontuação: parênteses “(” e “)”.
09/10/2014 Prof. Celso A A Kaestner
4
![Page 5: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/5.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Fórmulas bem formadas (fbf) são definidas indutivamente como o menor conjunto LLP com as
seguintes regras de formação:
1. Caso básico: todos a variáveis proposicionais são fbf, isto é: P LLP ;
2. Caso indutivo 1: Se A LLP então ( A) LLP ;
3. Caso indutivo 2: Se A, B LLP então (A B)
LLP, (A B) LLP, e (A B) LLP.
09/10/2014 Prof. Celso A A Kaestner
5
![Page 6: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/6.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Exemplos de fórmulas:
• ((p0 ( p1)) ( (( p0) p1)))
• (p (q p))
• (p ( ( p)))
• (( p) ( (( q) r)))
• ((p0 ( p1)) ( (( p0) p1)))
• (p ((q ( p)) ( q)))
09/10/2014 Prof. Celso A A Kaestner
6
![Page 7: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/7.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Regras para a omissão de parênteses:
• O parênteses mais externo pode ser eliminado;
• O uso repetido de ou de dispensa os parênteses;
neste caso considera-se que os parênteses são aninhados
à esquerda:
p q r s representa (((p q) r) ( s))
• O uso repetido de também dispensa os parênteses,
mas neste caso eles aninham-se à direita:
p q r s representa (p (q (r ( s))))
09/10/2014 Prof. Celso A A Kaestner
7
![Page 8: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/8.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Utiliza-se ainda a seguinte precedência entre
os conectivos: , , e .
Logo:
• p q representa (( p) q);
• p q r representa ((p q) r);
• p r q representa ((p r) q).
09/10/2014 Prof. Celso A A Kaestner
8
![Page 9: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/9.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Diz-se que g é uma subfórmula de uma fórmula
f se g atende as condições para ser uma fbf e
além disto é compatível com a estrutura de f.
O conjunto subf (f) das subfórmulas de f pode
ser obtido indutivamente por:
• Se f = p (uma variável proposicional) então
Subf (f) = { p };
• Se f = g então Subf (f) = { g} U Subf (g);
• Se f = g h, f = g h ou f = g h então
Subf (f) = { f } U Subf (g) U Subf (h).
09/10/2014 Prof. Celso A A Kaestner
9
![Page 10: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/10.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Exemplo:
f = p r (p s) = (( p) (r (p s)))
Subf(f)=
{ p r (ps)} U Subf( p) U Subf(r (p s)) =
{ p r (p s)} U { p} U Subf(p) U {r (p s)} U
Subf(r) U Subf(p s) =
{ p r (p s), p} U {p} U {r (p s)} U {r} U
{ps} U Subf(p) U Subf(s) =
{ p r (p s), p, r (p s)}, p, r, p s} U {p}
U {s}
09/10/2014 Prof. Celso A A Kaestner
10
![Page 11: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/11.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Outra definição indutiva muito utilizada é a do
tamanho de uma fórmula:
• |p| = 1 se p é uma variável proposicional;
• | f | = 1 + | f |;
• | f g | = |f g|= |f g|= 1 + |f | + |g|.
09/10/2014 Prof. Celso A A Kaestner
11
![Page 12: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/12.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Itens adicionais:
Expressando ideias em Lógica Proposicional
(ver item 1.2.4 da referência 1);
Exercícios (ver pg. 12 da referência 1).
09/10/2014 Prof. Celso A A Kaestner
12
![Page 13: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/13.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Semântica:
Consiste na atribuição de valores-verdade às fórmulas da linguagem;
Os valores-verdade no caso clássico são “verdadeiro” (1) e “falso” (0);
Os valores-verdade são associados aos símbolos proposicionais por meio de uma função de valoração (ou interpretação):
V: P { 0,1 }
09/10/2014 Prof. Celso A A Kaestner
13
![Page 14: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/14.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Para as demais fórmulas:
1. V ( A) = 1 se e somente se V (A) = 0 ;
2. V (A B) = 1 se e somente se V (A) = 1 e
V (B) = 1;
3. V (A B) = 1 se e somente se V (A) = 1 ou
V (B) = 1;
4. V (A B) = 1 se e somente se V (A) = 0
ou V (B) = 1.
09/10/2014 Prof. Celso A A Kaestner
14
![Page 15: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/15.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Dada uma fórmula proposicional f e uma
interpretação V, a atribuição de valores-verdade
definida anteriormente permite a obtenção do valor-verdade V(f) da fórmula f;
Por exemplo, se f = (p (q p)) e se V(p) = 1 e
V(q) = 0, então o valor-verdade de f pode ser
computado por:
V(1 (0 1)) = V(1 1)) = V(1) = 1
09/10/2014 Prof. Celso A A Kaestner
15
![Page 16: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/16.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Os valores-verdade produzidos pelos conectivos podem
ser mais claramente vistos nas tabelas a seguir:
Não:
E:
09/10/2014 Prof. Celso A A Kaestner
16
f f
0 1
1 0
f g f g
0 0 0
0 1 0
1 0 0
1 1 1
![Page 17: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/17.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
17
f g f g
0 0 0
0 1 1
1 0 1
1 1 1
f g f g
0 0 1
0 1 1
1 0 0
1 1 1
Ou:
Implica:
![Page 18: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/18.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Satisfação e validade:
1. Uma fórmula A é satisfazível se e somente se existe uma interpretação V tal que V (A) = 1;
2. Uma fórmula A é insatisfazível (ou uma contradição) se e somente se para todas as interpretações possíveis V tem-se V(A) = 0;
3. Uma fórmula A é válida (ou uma tautologia) se e somente se para toda interpretação V tem-se V(A) = 1;
4. Uma fórmula A é falsificável se e somente se existe uma valoração V tal que V (A) = 0.
09/10/2014 Prof. Celso A A Kaestner
18
![Page 19: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/19.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Algumas consequências:
1. Toda fórmula válida é também satisfazível;
2. Toda fórmula insatisfazível é falsificável;
3. Uma fórmula pode ser satisfazível e falsificável:
neste caso é dita contingente;
4. Uma fórmula não pode ser válida e insatisfazível;
5. Se A é válida, A é insatisfazível e
reciprocamente;
6. Se A é satisfazível, A é falsificável e
reciprocamente.
09/10/2014 Prof. Celso A A Kaestner
19
![Page 20: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/20.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Tabelas-verdade:
1. Dada uma fórmula proposicional f, a tabela
apresenta os valores-verdade de f para todas as
interpretações possíveis;
2. Para uma fórmula com n variáveis existem 2n
interpretações possíveis;
3. A ordem de avaliação dos conectivos deve ser
estritamente seguida;
4. As propriedades lógicas da fórmula (validade,
satisfação, etc) são facilmente verificáveis.
09/10/2014 Prof. Celso A A Kaestner
20
![Page 21: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/21.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Exemplo de tabela-verdade:
09/10/2014 Prof. Celso A A Kaestner
21
(p (q p))
(1) (4) (1) (3) (2) (1)
0 1 0 1 1 0
0 1 1 1 1 0
1 1 0 1 0 1
1 0 1 0 0 1
![Page 22: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/22.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Prática de tabelas-verdade:
• http://www.math.csusb.edu/notes/quizzes
/tablequiz/tablepractice.html ;
• http://en.wikipedia.org/wiki/Truth_table ;
• http://www.brian-
borowski.com/Software/Truth/.
Exercícios (ver referência 1 à página 20).
09/10/2014 Prof. Celso A A Kaestner
22
![Page 23: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/23.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
23
![Page 24: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/24.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
24
![Page 25: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/25.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
25
f g
0 ...
0 ...
1 1
0 ...
1 1
0 ...
1 1
![Page 26: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/26.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
26
![Page 27: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/27.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Algumas equivalências notáveis:
1. p p (dupla negação);
2. p q p q (definição de em função de e );
3. (p q ) ( p q ) e (p q ) ( p q ) (leis de De Morgan);
4. p ( q r ) ( p q ) (p r ) (distributividade de sobre );
5. p ( q r ) ( p q ) (p r ) (distributividade de sobre ).
09/10/2014 Prof. Celso A A Kaestner
27
![Page 28: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/28.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Equivalência lógica usando tabelas-verdade: para que se tenha A B os valores-verdade de V(A) e de
V(B) devem ser os mesmos em todas as linhas.
09/10/2014 Prof. Celso A A Kaestner
28
f g
... ...
0 0
1 1
... ...
1 1
0 0
1 1
![Page 29: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/29.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Definições dos conectivos em função de e :
1. p q p q ( p q);
2. p q ( p q ).
• É possível se definir todos os conectivos em
função de um só ?
09/10/2014 Prof. Celso A A Kaestner
29
![Page 30: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/30.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
30
A B
0 0 1 1
0 1 0 1
1 0 0 1
1 1 0 0
![Page 31: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/31.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
31
![Page 32: Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para Computação (IF61B) Lógica Proposicional Linguagem informal x linguagem formal; Linguagem](https://reader030.vdocuments.net/reader030/viewer/2022020414/5bc01fe309d3f215708c8193/html5/thumbnails/32.jpg)
Lógica para Computação (IF61B)
Lógica Proposicional
Exercícios (página 27 da referência 1);
Desafios da Lógica Proposicional (ver
item 1.6 da referência 1 à página 28).
09/10/2014 Prof. Celso A A Kaestner
32