Lógica para Computação Primeiro Semestre, 2015 Aula 2: Linguagem Proposicional DAINF-UTFPR Prof. Ricardo Dutra da Silva Linguagens naturais, como o nosso Português, podem expressar ideias ambíguas ou imprecisas. Exemplo 2.1 A frase: Contrata-se. é imprecisa, pois não especifica o que é oferecido. Qual a vaga? Qualquer um é contratado? Podem surgir diversas interpretações. A frase: Crianças que recebem leite materno frequentemente são mais sadias. Qual a interpretação correta dessa frase? Queremos estudar a lógica usando métodos matemáticos. Para isso, precisamos de uma linguagem formal, com regras de formação precisamente definidas e que não permitam construções ambíguas ou imprecisas. A primeira linguagem que consideraremos é a Linguagem Proposicional, que é baseada em proposições ou frases declarativas. Podemos atribuir valores verdade para tais proposições, ou seja, podemos argumentar sobre sua veracidade ou falsidade. Uma frase declarativa p é uma sentença gramaticalmente correta que pode ser substituída na seguinte frase: É verdade que p?. Exemplo 2.2 As seguintes sentenças são declarativas: A soma dos números 3 e 5 é igual a 8. Jane reagiu violentamente às acusações de Jack. Todo número natural par maior que dois é a soma de dois números primos. 1
2 Aula 2: Linguagem Proposicional Exemplo 2.3 As seguintes sentenças não são declarativas: Você pode me passar o sal, por favor? Atenção, preparar, já! Que a sorte lhe sorria. Consideramos frases declarativas como sendo atômicas e podemos atribuir símbolos distintos para as frases, símbolos como p, q e r. Exemplo 2.4 Dadas as seguintes sentenças declarativas: p: A soma dos números 3 e 5 é igual a 8. q: Jane reagiu violentamente às acusações de Jack. r: Todo número natural par maior que dois é a soma de dois números primos. A partir das frases atômicas, podemos formar frases mais complexas usando operações de conjunção ( E ), disjunção ( OU ), implicação ( SE... ENTÃO... ) e negação ( NÃO ). 2.1 Sintaxe Vamos iniciar a definição da linguagem proposicional pelo alfabeto, que contém os componentes básicos da linguagem. Definição 2.1. O alfabeto da lógica proposicional é composto por: Um conjunto de variáveis proposicionais (átomos), tais como P = {p, q, r, s}. O conectivo unário: (negação). Os conectivos binários: (conjunção), (disjunção) e (implicação). Símbolos de pontuação: ( e ).
2.1. SINTAXE 3 Uma variável proposicional (um átomo) é utilizada para representar as proposições, como vimos no Exemplo 2.4. O conjunto L LP de fórmulas da lógica proposicional é formada pela concatenação de símbolos. Para definir todos os elementos pertencentes à L LP, ou seja, todas as fórmulas da linguagem proposicional, usaremos uma definição recursiva (ou definição por indução). Em uma definição por recursão (ou por indução) o elemento que está sendo definido aparece como parte da definição. Existem duas partes básicas em uma definição recursiva: a base, elementos simples e explicitamente definidos; e passos recursivos (indutivos), definem novos elementos a partir de elementos definidos previamente. Exemplo 2.5 A função fatorial f pode ser definida recursivamente como: Base: f(0) = 1. Passo recursivo: f(n) = n f(n 1), para n > 0. A base define explicitamente um elemento simples, trivial. O fatorial de 0 é 1. O passo recursivo define o fatorial de qualquer número n maior que 0. O fatorial do n-ésimo número é n multiplicado pelo fatorial do (n 1)-ésimo número. O fatorial de 5, por exemplo, pode ser calculado usando a definição recursiva. f(5) = 5 f(4) f(5) = 5 4 f(3) f(5) = 5 4 3 f(2) f(5) = 5 4 3 2 f(1) f(5) = 5 4 3 2 1 f(0) f(5) = 5 4 3 2 1 1 f(5) = 120 base Definição 2.2. O conjunto de fórmulas da lógica proposicional L LP satisfaz as seguintes regras de formação. Base: Todas as variáveis proposicionais pertencem a L LP, ou seja, P L LP.
4 Aula 2: Linguagem Proposicional Passo recursivo 1: Se A L LP, então ( A) L LP Passo recursivo 2: Se A, B L LP, então (A B) L LP, (A B) L LP e (A B) L LP Usaremos letras minúsculas (p, q, r) para representar as variáveis proposicionais e letras maiúsculas para representar fórmulas (A, B, C). Exemplo 2.6 Dadas as seguintes fórmulas: a) p; b) (p q); c) (p ( q)); d) ((p q) r); podemos obtê-las conforme as regras de criação dadas pela Definição 2.2. a) p fórmula p regra (base) p é trivialmente uma fórmula pela base. b) (p q) fórmula regra p (base) q (base) (p q) (A B)(passo) p e q são fórmulas pelas base. Podemos usar o (A B) para construir uma implicação de fórmulas A e B já definidas. Mas para isso basta fazer A = p e B = q e formamos (p q).
2.1. SINTAXE 5 c) (p ( q)) fórmula regra p (base) q (base) ( q) ( A)(passo) (p ( q)) (A B)(passo) d) ((p q) r) fórmula regra p (base) q (base) r (base) (p q) (A B)(passo) ((p q) r) (A B)(passo) Exemplo 2.7 A sequência de símbolos p q não pode ser construída pelas regras da Definição 2.2. Portanto, não é uma fórmula proposicional. Podemos usar algumas regras para diminuir o uso de parênteses. A primeira é que parênteses mais externos podem ser omitidos. O uso repetitivo dos conectivos e dispensa o uso de parênteses. Podemos escrever p q r ao invés de (p q) r. Note que os parênteses aninham-se à esquerda. Da mesma forma, podemos dispensar os parênteses quando o conectivo é usado repetitivamente. Neste caso, os parênteses são aninhados à direita. Por exemplo, escrevemos p q r em vez de p (q r). Por fim, teremos uma ordem de precedência entre os operadores dada pela sequência,,,,, listada da maior para a menor precedência. Portanto, é o operador com maior precedência e é o operador com menor precedência. Exemplo 2.8 As fórmula do exemplo anterior poderiam ser reescritas retirando os parênteses conforme
6 Aula 2: Linguagem Proposicional as regras acima. a) p continua p. b) (p q) pode ser escrita como p q, excluindo os parênteses mais externos. c) (p ( q)) pode ser escrita como p ( q), excluindo os parênteses mais externos. Além disso, o conectivo tem maior precedência do que o conectivo, podemos então eliminar os parênteses obtendo p q. d) ((p q) r) pode ser escrita como (p q) r ao ocultar os parênteses externos. Não há mais nenhum par de parênteses que possa ser removido. Os parênteses que englobam (p q) definem uma precedência diferente daquela dada pela fórmula p q r. Nesta última, deve preceder na ordem em que as operações são avaliadas. Por esse motivo, (p q) r contém o menor número possível de parênteses neste caso. Obviamente, podemos seguir o caminho contrário e adicionar parênteses a uma fórmula para explicitamente definir as precedências de operações. Exemplo 2.9 As fórmulas p q, p q r e p q r podem, portanto, ser reescritas como: p q = ( p) q = (( p) q) p q r = p (q r) = (p (q r)) p q r = p ( q) r = (p ( q)) r = ((p ( q)) r) Definição 2.3. O conjunto de subfórmulas de uma fórmula A, Subf(A), é definido como:
2.1. SINTAXE 7 Base: A = p. Subf(A) = {p}. Passo 1: Caso A = B. Subf( B) = { B} Subf(B). Passo 2: Caso A = B C. Subf(B C) = {B C} Subf(B) Subf(C). Passo 3: Caso A = B C. Subf(B C) = {B C} Subf(B) Subf(C). Passo 4: Caso A = B C. Subf(B C) = {B C} Subf(B) Subf(C). Exemplo 2.10 As subfórmulas de p q r q são: Subf(p q r q) = {p q r q} Subf(p q) Subf(r q) = {p q r q} {p q} Subf(p) Subf( q) Subf(r q) = {p q r q} {p q} {p} Subf( q) Subf(r q) = {p q r q} {p q} {p} { q} Subf(q) Subf(r q) = {p q r q} {p q} {p} { q} {q} Subf(r q) = {p q r q} {p q} {p} { q} {q} {r q} Subf(r) Subf(q) = {p q r q} {p q} {p} { q} {q} {r q} {r} Subf(q) = {p q r q, p q, p, q, q, r q, r}. Definição 2.4. O tamanho de uma fórmula 1 A, denotado A, é definido como: Base: p = 1 para toda variável proposicional (átomos). Passo 1: A = 1 + A. Passo 2: A B = 1 + A + B. Passo 3: A B = 1 + A + B. Passo 4: A B = 1 + A + B. Exemplo 2.11 Dada a fórmula p q r q, seu tamanho é: 1 Também pode ser chamado de complexidade de uma fórmula.
8 Aula 2: Linguagem Proposicional p q r q = 1 + p q + r q = 1 + 1 + p + q + 1 + r + q = 1 + 1 + 1 + 1 + q + 1 + 1 + 1 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8