Lógica para Computação (IF61B)
Lógica para Computação
Prof. Celso Antônio Alves Kaestner, Dr. Eng.
[email protected]
Lógica para Computação (IF61B)
Lógica Proposicional
•
•
•
•
•
Linguagem informal x linguagem formal (1.1);
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);
Conectivos: conjunção (E), disjunção(OU),
negação (NÃO), implicação (SE … ENTÃO…);
Não trata de relações sobre elementos de um
conjunto, como “todos”, “algum”, o que será
visto mais adiante, no estudo da lógica
predicativa.
05/11/2015
Prof. Celso A A Kaestner
2
Lógica para Computação (IF61B)
Lógica Proposicional
A linguagem proposicional (1.2):
•
Alfabeto:
1. Símbolos proposicionais, variáveis proposicinais ou
átomos: P = {p0, p1, p2, …};
2. Conectivos:
1. unário: negação:  (NÃO);
2. binários: conjunção:  (E), disjunção:  (OU), implicação: 
(SE…ENTÃO…);
3. Símbolos de pontuação: parênteses “(“e “)”.
05/11/2015
Prof. Celso A A Kaestner
3
Lógica para Computação (IF61B)
Lógica Proposicional
A linguagem proposicional (1.2.1):
•
Fórmulas (fórmulas bem formadas, fbf):
definidas indutivamente como o menor
conjunto LLP com as seguintes regras de
formação:
1. Caso básico: todos os símbolos 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.
05/11/2015
Prof. Celso A A Kaestner
4
Lógica para Computação (IF61B)
Lógica Proposicional
•
Fbf…
•
•
•
•
•
•
•
Exemplos …
Regras para a omissão de parênteses;
Precedência entre os conectivos.
Subfórmulas (1.2.2);
Tamanho das fórmulas (1.2.3);
Expressando idéias (1.2.4);
Exercícios.
05/11/2015
Prof. Celso A A Kaestner
5
Lógica para Computação (IF61B)
Lógica Proposicional
Semântica (= significado, 1.3):
• Em lógica proposicional consiste na
atribuição de valores-verdade às
fórmulas da linguagem;
• Em lógica clássica: verdadeiro (1) e falso
(0);
• Os valores-verdade são associados aos
símbolos proposicionais por meio de
uma função de valoração V: P  {0,1}.
05/11/2015
Prof. Celso A A Kaestner
6
Lógica para Computação (IF61B)
Lógica Proposicional
•
Para as fórmulas complexas:
1.
2.
3.
4.
•
•
V ( A ) = 1 sse V ( A ) = 0 ;
V (A  B) = 1 sse V ( A ) = 1 e V ( B ) = 1;
V (A  B) = 1 sse V ( A ) = 1 ou V ( B ) = 1;
V ((A  B) = 1 sse V ( A ) = 0 ou V ( B ) = 1.
Matrizes dos conectivos …
Exercícios (pg.16).
05/11/2015
Prof. Celso A A Kaestner
7
Lógica para Computação (IF61B)
Lógica Proposicional
•
Satisfazibilidade, Validade, Tabelasverdade (1.4):
1. Uma fbf A é satisfazível sse existe uma valoração
V de seus átomos tal que V (A ) = 1;
2. Uma fbf A é insatisfazível sse para toda valoração V
de seus átomos tem-se que V (A ) = 0;
3. Uma fbf A é válida (ou tautologia) sse toda
valoração V de seus átomos é tal que V (A ) = 1;
4. Uma fbf A é falsificável sse existe uma valoração V
de seus átomos é tal que V (A ) = 0.
05/11/2015
Prof. Celso A A Kaestner
8
Lógica para Computação (IF61B)
Lógica Proposicional
•
Resultados (1.4):
1. Toda fbf válida é também satisfazível;
2. Toda fbf insatisfazível é falsificável;
3. Uma fbf pode ser satisfazível e falsificável: neste
caso é dita contingente;
4. Uma fbf não pode ser válida e falsificável; também
não pode ser insatisfazível e satisfazível;
5. Se A é válida, A é insatisfazível e reciprocamente;
6. Se A é satisfazível,  A é falsificável e
reciprocamente.
05/11/2015
Prof. Celso A A Kaestner
9
Lógica para Computação (IF61B)
Lógica Proposicional
•
Tabelas-verdade…
1. http://www.math.csusb.edu/notes/quizzes/tablequ
iz/tablepractice.html ;
2. http://en.wikipedia.org/wiki/Truth_table ;
3. http://www.brian-borowski.com/Truth/.
•
Exercícios (pg. 20).
05/11/2015
Prof. Celso A A Kaestner
10
Lógica para Computação (IF61B)
Lógica Proposicional
Conseqüência lógica (1.5):
•
•
05/11/2015
Uma fbf B é conseqüência lógica de uma fbf
A, denotando-se A |= B sse para toda
valoração V que satisfaz A também satisfaz
B, i.e. tal que V ( A ) = 1 implica V ( B ) = 1;
De modo similar B é conseqüência lógica de
um conjunto de fbf  ={ A1, A2 … An },
denotando-se por  |= B sse para toda
valoração V que satisfaz todas as fbf de 
também satisfaz B.
Prof. Celso A A Kaestner
11
Lógica para Computação (IF61B)
Lógica Proposicional
Conseqüência lógica:
•
Exemplo:
Modus ponens: p , (p  q) |= q .
•
Teorema da dedução:
 , A |= B sse  |= A  B .
•
Mais exemplos…
05/11/2015
Prof. Celso A A Kaestner
12
Lógica para Computação (IF61B)
Lógica Proposicional
Equivalência lógica:
•
•
•
•
05/11/2015
Duas fbf A e B são logicamente
equivalentes, representando-se por A  B
sse A |= B e B |= A;
Na prática para verificar se duas fbf são
logicamente equivalentes basta construir as
tabelas-verdade para A e B e verificar se as
colunas para A e para B são idênticas;
Definição: A  B  (A  B )  (B  A )
Teorema: A  B sse A  B é tautologia.
Prof. Celso A A Kaestner
13
Lógica para Computação (IF61B)
Lógica Proposicional
Equivalência lógica (1.5.1):
•
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 ).
05/11/2015
Prof. Celso A A Kaestner
14
Lógica para Computação (IF61B)
Lógica Proposicional
Equivalência lógica (1.5.2):
•
(Re)definições de conectivos em função de
e:
1. p  q   p  q   (  p  q);
2. p  q   ( p   q ).
•
05/11/2015
É possível se definir todos os conectivos em
função de um só ?
Prof. Celso A A Kaestner
15
Lógica para Computação (IF61B)
Lógica Proposicional
Ver http://www.cfh.ufsc.br/~dkrause/pg/cursos/Novo4.pdf
“Barras de Sheffer” ou “conectivos de Sheffer” são
simbolizados por:
1. # (negação conjunta) e
2. | (disjunção alternativa), definidos pela seguinte tabela:
05/11/2015
p
q
p#q
p|q
1
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
Prof. Celso A A Kaestner
16
Lógica para Computação (IF61B)
Lógica Proposicional
Fazendo:
1.  p = (p # p), e
2. p  q =((p # q) # (q # q)), pode-se definir os
conectivos  e  a partir de #, e obter os demais
conectivos a partir desses.
Deve-se comprovar que as tabelas-verdade que são
obtidas coincidem com as previamente conhecidas.
Reciprocamente, os conectivos # e | podem ser
definidos por: p # q =  (p  q) e p | q =  (p  q):
05/11/2015
Prof. Celso A A Kaestner
17
Lógica para Computação (IF61B)
Lógica Proposicional
•
•
Exercícios (pg. 27).
Desafios da Lógica Proposicional
(1.6)…
05/11/2015
Prof. Celso A A Kaestner
18
Download

Lógica para Computação