Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para...
Transcript of Lógica para Computação - DAINFkaestner/Logica/LogicaProposicional.pdf · Lógica para...
Lógica para Computação
Prof. Celso Antônio Alves Kaestner, Dr. Eng.
celsokaestner (at) utfpr (dot) edu (dot) br
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
23
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
24
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
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
26
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
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
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
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
Lógica para Computação (IF61B)
Lógica Proposicional
09/10/2014 Prof. Celso A A Kaestner
31
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