Apostila escrita pelo professor José Gonçalo dos Santos Contato: jose.goncalo.santos@gmail.com Raciocínio Lógico - Parte II
Sumário 1. Operações Lógicas sobre Proposições... 1 2. Tautologia, contradição e contigência... 7 3. Referências Bibliográficas... 8 2
1. Operações Lógicas sobre Proposições As principais operações lógicas sobre as proposições são: negação, conjunção, disjunção, condicional e bi-condicional. Cada uma delas será apresentada em detalhes nesta aula. A partir deste momento usaremos mais a linguagem simbólica. Negação (~) Esta operação é considerada unária, pois se aplica a apenas uma proposição simples ou composta, e tem a função de inverter o valor da proposição, ou seja, se uma proposição for falsa, passa a ser verdadeira e se for verdadeira passa a ser falsa. Simbolicamente temos: p (proposição) e ~p (a sua negação lê-se não p). Se V(p) = 1, então V(~p) = 0 e se V(p) = 0, então V(~p) = 1. Podemos representar essa operação em forma de tabela-verdade, como mostrado a seguir. Conjunção (^) p ~p 0 1 1 0 A operação conjunção é binária (aplica-se duas proposições simples ou compostas) e é equivalente à operação interseção da teoria de conjuntos, o que equivale dizer que o valor lógico de uma conjunção só será verdadeiro se ambas as proposições forem verdadeiras. Em símbolos, a conjunção das proposições p e q é p^q (lê-se p e q) e sua tabela-verdade é a seguinte: Disjunção (v) p q p^q 0 0 0 0 1 0 1 0 0 1 1 1 Também binária, é equivalente à operação união da teoria de conjuntos, isto quer dizer que o valor de uma disjunção só será falso se ambos o forem. Em símbolos, a disjunção das proposições p e q é pvq (lê-se p ou q) e sua tabela-verdade é a seguinte: Condicional (->) p q pvq 0 0 0 0 1 1 1 0 1 1 1 1 As operações apresentadas até agora são simples de entender porque é algo intuitivo. Porém, o condicional não é tão simples, por isso requer uma explicação adicional. Como as duas anteriores, é uma operação binária e o seu valor lógico só será falso se a primeira (antecedente) for verdadeira e a segunda (conseqüente) for falsa. Em símbolos, condicional das proposições p e q é p->q (lê-se se p, então q) e sua tabela-verdade é a seguinte:
p q p->q 0 0 1 0 1 1 1 0 0 1 1 1 A tabela-verdade do condicional é, no mínimo, intrigante, a princípio, porque parece estranho que falso com falso dá verdadeiro e falso com verdadeiro dá verdadeiro. Mas, se prestarmos atenção nas explicações a seguir, tudo ficará claro. Seja a seguinte situação: o pai de Maria, João, Paulo e Júlia diz para cada um deles que se for aprovado no vestibular ganha um carro. Analisando a situação podemos deduzir que a condição suficiente para Maria ganhar um carro é ser aprovada no vestibular, o mesmo ocorre com os demais. Façamos as seguintes suposições: 1 Maria não passou no vestibular e não ganhou o carro; 2 Paulo não passou no vestibular, mas ganhou o carro; 3 Julia passou no vestibular, mas não ganhou o carro; 4 Paulo passou no vestibular e ganhou o carro. A pergunta é: em qual das situações o pai pode ser chamado de mentiroso? Na primeira situação não, porque para fazer jus ao presente seria necessário passar no vestibular, o que não aconteceu. Na segunda também não, pois ele nada disse a respeito de quem não passasse. Já na terceira, sim, porque a condição suficiente se verificou e não houve a premiação. Na última, também a condição suficiente se verificou e a premiação aconteceu. Logo, só há uma situação em que o valor lógico de um condicional é falso, só quando o antecedente (lado esquerdo do condicional) é verdadeiro e o conseqüente (lado direito) é falso. Bi-condicional (<->) Esta operação é semelhante à condicional, é como se uníssemos um condicional de p para q (p->q) com um de q para p (q->p). Neste caso, dizemos que p é condição necessária e suficiente para que q ocorra, ou seja, vai ocorrer q se e somente se p ocorrer. E se p não ocorrer? Bom, q não deve ocorrer. Em símbolos, bi-condicional das proposições p e q é p<->q (lê-se p se e somente se q) e sua tabela-verdade é a seguinte: p q P<->q 0 0 1 0 1 0 1 0 0 1 1 1 Em resumo: o valor lógico de um bi-condicional só será verdadeiro se ambos forem iguais. Valor lógico de proposições compostas Para se calcular o valor lógico de uma proposição composta, é necessário sabermos o valor lógico de cada de seus componentes (proposição simples) e fazer as 2
operações conforme visto na página anterior. O exemplo a seguir mostra como efetuar esse cálculo. Seja V(p) = V(q) = 1 e V(r) = 0, calcule o valor lógico da proposição ~(p^q)v~r. Resolução: ~(1^1)v~0 ~(1)v1 0v1 = 1 Logo, o valor lógico da proposição apresentada é VEREDADEIRO (0). Um pouco de prática Sabendo-se que V(p) = V(q) = 1 e V(r) = v(s) = 0, determinar o valor lógico das seguintes proposições: a) (p ^ (q v r)) -> (p -> (r v q)) b) (q -> r) <-> (~q v r) c) ~p v ~(r ^ s) d) ~(q <-> (~p ^ s)) e) (p <-> q) v (q -> ~p) f) (p <-> q) ^ (~r -> s) g) ~(~q ^ (p ^ ~s)) h) ~p v (q ^ (r -> ~s)) i) (~p v r) -> (q -> s) j) ~(~p v (q ^ s)) -> (r -> ~s) k) ~q ^ ((~r v s) <-> (p -> ~q)) l) ~(p -> (q -> r)) -> s Respostas a) Substituindo as proposições componentes pelos seus valores lógicos dados, temos: (1 ^ (1 v 0)) -> (1 -> (0 v 1)) como 1 v 0 = 1 e 0 v 1 = 1, temos: (1 ^ 1) -> (1 -> 1) sabendo que 1 ^ 1 = 1 e 1 -> 1 = 1, temos: 1 -> 1 dado que 1 -> 1 = 1, o valor lógico é 1, ou seja, é verdadeiro. Procedendo da mesma forma para os demais, temos: b) (1 -> 0) <-> (~1 v 0) (0) <-> (0 v 0) (0) <-> (0) c) ~1 v ~(0 ^ 0) 0 v ~0 3
0 v 1 d) ~(1 <-> (~1 ^ 0)) ~(1 <-> (0 ^ 0)) ~(1 <-> 0) ~(0) e) (1 <-> 1) v (1 -> ~1) (1) v(1 -> 0) (1) v (0) f) (1 <-> 1) ^ (~0 -> 0) (1) ^ (1 -> 0) (1) ^ (0) 0 (falso) g) ~(~1 ^ (1 ^ ~0)) ~(0 ^ (1 ^ 1)) ~(0 ^ 1) ~(0) h) ~1 v (1 ^ (0 -> ~0)) 0 v (1 ^ (0 -> 1)) 0 v (1 ^ 1) 0 v (1) i) (~1 v 0) -> (1 -> 0) (0 v 0) -> (0) (0) -> (0) j) ~(~1 v (1 ^ 0)) -> (0 -> ~0) ~(0 v 0) -> (0 -> 1) ~(0) -> (1) 1 -> 1 k) ~1 ^ ((~0 v 0) <-> (1 -> ~1)) 0 ^ ((1 v 0) <-> (1 -> 0)) 0 ^ (1 <-> 0) 0 ^ (0) 0(falso) l) ~(1 -> (1 -> 0)) -> 0 ~(1 -> 0) -> 0 ~(0) -> 0 1 -> 0 0 (falso) Como foi visto na página anterior, o valor lógico da proposição composta foi calculado para um caso específico. Se quisermos saber para todas as possibilidades, devemos construir a sua tabela-verdade, onde cada linha 4
corresponde a uma situação específica. Podemos verificar isso ao resolver os exercícios a seguir. Construa a tabela-verdade das seguintes proposições: m) (p ^ (q v r)) -> (p -> (r v q)) n) (q -> r) <-> (~q v r) o) ~p v ~(r ^ s) p) ~(q <-> (~p ^ s)) q) (p <-> q) v (q -> ~p) r) (p <-> q) ^ (~r -> s) s) ~(~q ^ (p ^ ~s)) t) ~p v (q ^ (r -> ~s)) u) (~p v r) -> (q -> s) v) ~(~p v (q ^ s)) -> (r -> ~s) Respostas a) (p ^ (q v r)) -> (p -> (r v q)) p q r q v r p ^ (q v r) r v q p -> (r v q) (p ^ (q v r)) -> (p -> (r v q)) 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 Como pode ser visto na tabela acima, para todas as possibilidades, o valor será sempre. b) (q -> r) <-> (~q v r) q r q -> r ~q ~q v r (q -> r) <-> (~q v r) 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 Vide comentário anterior c) ~p v ~(r ^ s) p r s ~p r ^ s ~(r ^ s) ~p v ~(r ^ s) 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 O valor lógico da proposição acima só será 0 (falso), se todas as componentes tiverem valor lógico. d) ~(q <-> (~p ^ s)) p q s ~p ~p ^ s q <-> (~p ^ s) ~(q <-> (~p ^ s)) 0 0 0 1 0 1 0 5
0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 Para esta proposição, temos quatro casos em ela tem valor lógico verdadeiro (1) e quatro casos, falso (0). e) (p <-> q) v (q -> ~p) p q p <-> q ~p q -> ~p (p <-> q) v (q -> ~p) 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 Vide comentário da a). f) (p <-> q) ^ (~r -> s) p q r s p <-> q ~r ~r -> s (p <-> q) ^ (~r -> s) 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 Para esta proposição, temos seis casos em ela tem valor lógico verdadeiro (1) e vinte e seis casos, falso (0). g) ~(~q ^ (p ^ ~s)) p q s ~q ~s p ^ ~s ~q ^ (p ^ ~s) ~(~q ^ (p ^ ~s)) 0 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 0 1 6
O valor lógico da proposição acima só será 0 (falso), se a primeira componentes tiver valor lógico e as outras, 0 (falso). h) ~p v (q ^ (r -> ~s)) p q r s ~p ~s r -> ~s q ^ (r -> ~s) ~p v (q ^ (r -> ~s)) 0 0 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 Para esta proposição, temos cinco casos em ela tem valor lógico falso (0) e vinte e sete casos, verdadeiro (1). i) (~p v r) -> (q -> s) p q r s ~p ~p v r q -> s (~p v r) -> (q -> s) 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 Para esta proposição, temos três casos em ela tem valor lógico falso (0) e vinte e nove casos, verdadeiro (1). 2. Tautologia, contradição e contigência Dizemos que uma proposição composta é uma tautologia quando o seu valor lógico é sempre verdadeiro (1), não importando os valores lógicos de cada uma de suas componentes. Ao contrário da tautologia, quando o valor lógico de uma proposição composta for sempre falso (0), não importando os valores lógicos de suas 7
componentes, essa proposição é uma contradição. Já, se a proposição (composta) não for tautologia e nem contradição, ela é uma contingência. Exemplos: As letras a), b) e e) da página anterior são exemplos de tautologia. Como pode ser notado, todas linhas de sua tabela-verdade (última coluna) resultam em valor lógico verdadeiro. Todas as demais são exemplos de contingência, pois não são tautologias e nem contradições. Abaixo são apresentados alguns exemplos de proposições compostas que são contradição. 1) ~(~(p^q)) <-> (~p v ~q) p q p^q ~p ~q ~p v ~q (p^q) <-> (~p v ~q) 0 0 0 1 1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 2) ~p^(p^~q) p q ~p ~q p^~q ~p^(p^~q) 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 Nesta aula foi apresentada uma série de exemplos de operações com proposições compostas, bem como as suas tabelas-verdades. Na aula seguinte faremos uso dessa ferramenta (tabela-verdade) para trabalharmos outros assuntos a relacionados ao raciocínio lógico. 3. Referências Bibliográficas CURY, Márcia Xavier. Introdução à Lógica. São Paulo: Érica, 1997. RUSSEL, Stuart & NORVING, Peter. Inteligência Artificial. São Paulo: Campus, 2003. NOLT, John & RHOATYN, Dennis. Lógica. São Paulo: Makron Books, 1991. NDC. Lógica na Wikipedia. Documento on-line disponível em [http://ndpc.subtom.com.br/l%c3%b3gica_na_wikipedia]. Acesso em: 23/06/2009. 8
BABYLON. Definição de Tabela Verdade. Documento on-line disponível em [http://dicionario.babylon.com/tabela%20verdade]. Acesso em: 26/06/2009. WIKIPÉDIA. Regra de Inferência. Documento on-line disponível em [http://pt.wikipedia.org/wiki/regra_de_infer%c3%aancia]. Acesso em: 06/08/2009. 9