Lógica para Computação Primeiro Semestre, 2015 DAINF-UTFPR Aula 3: Linguagem Proposicional Prof. Ricardo Dutra da Silva 3.1 Semântica A semântica da lógica proposicional consiste em associar um significado ou interpretação para os elementos sintáticos. Isso é realizado atribuindo valores verdade às fórmulas da linguagem. Os valores verdade são: verdadeiro e falso. Comumente representamos verdadeiro e falso por 1 e 0, respectivamente. Exemplo 3.1 Dadas as proposições: p: Está nublado; q: Está chovendo. podemos interpretar cada uma das proposições como verdadeira ou falsa. Podemos também interpretar fórmulas compostas, como p q, que serão verdadeiras ou falsas dependendo das interpretações dos átomos que as compõem. Suponha que temos I(p) = 1 e I(q) = 0. A fórmula p q será interpretada como falsa, ou seja, I(p q) = 0. Isso ocorre porque a conjunção somente é verdadeira se seus dois argumentos forem verdadeiros. Definição 3.1. Uma interpretação (ou valoração) é uma função I que atribui valores verdade para as fórmulas proposicionais L LP, ou seja, I : L LP {0, 1}. A interpretação I de uma fórmula A L LP é definida como 1 : 1. Base: I(p) = {0, 1} para todo p P. 2. Passo 1: Caso A = B. I(A) = I( B) = 1 se, e somente se, I(B) = 0. 1 O valor verdade das definições deve ser invertido quando a condição à direita do se, e somente se for falsa. 1
2 Aula 3: Linguagem Proposicional 3. Passo 2: Caso A = B C. I(A) = I(B C) = 1 se, e somente se, I(B) = 1 e I(C) = 1. 4. Passo 3: Caso A = B C. I(A) = I(B C) = 1 se, e somente se, I(B) = 1 ou I(C) = 1. 5. Passo 4: Caso A = B C. I(A) = I(B C) = 1 se, e somente se, I(B) = 0 ou I(C) = 1. Podemos visualizar as funções de valoração para os conectivos da lógica proposicional através de matrizes de conectivos como na Tabela 3.1. Tabela 3.1: Matrizes de conectivos. (a) negação I( A) I(A) = 0 1 I(A) = 1 0 (c) disjunção I(A B) I(B) = 0 I(B) = 1 I(A) = 0 0 1 I(A) = 1 1 1 (b) conjunção I(A B) I(B) = 0 I(B) = 1 I(A) = 0 0 0 I(A) = 1 0 1 (d) implicação I(A B) I(B) = 0 I(B) = 1 I(A) = 0 1 1 I(A) = 1 0 1 Exemplo 3.2 Dados os átomos p, q e r, suponha a seguinte valoração para eles: I(p) = 1, I(q) = 0 e I(r) = 1. Então podemos valorar a fórmula (p q) ( q r) iniciando pelas subfórmulas mais internas e prosseguindo para as mais externas. (p q) ( q r) (1 0) ( 0 1) 1 (1 1) 1 1 1
3.1. SEMÂNTICA 3 Dada outra valoração para os átomos, I(p) = 1, I(q) = 1 e I(r) = 0, temos a seguinte valoração da fórmula. (p q) ( q r) (1 1) ( 1 0) 1 (0 0) 1 0 0 O valor de uma fórmula pode variar conforme a interpretação dos átomos. Podemos computar a interpretação de uma fórmula seguindo um processo das menores subfórmulas para as maiores subfórmulas. Definição 3.2. A interpretação de uma fórmulas A pode ser realizada da seguinte forma: 1. Computamos as subfórmulas de A, Subf(A). 2. Ordenamos as subfórmulas pelo seu tamanho. 3. Computamos as interpretações das menores subfórmulas e propagamos para as maiores subfórmulas. Exemplo 3.3 Dados os átomos p, q e r, suponha a seguinte valoração para estes: I(p) = 1, I(q) = 0 e I(r) = 1. Então podemos valorar a fórmula (p q) ( q r) da seguinte forma: 1. Computação das subfórmulas. Subf((p q) ( q r)) = {(p q) ( q r)} Subf((p q)) Subf(( q r)) = {(p q) ( q r)} {(p q)} Subf(p) Subf(q) Subf(( q r)) = {(p q) ( q r)} {(p q)} {p} Subf(q) Subf(( q r)) = {(p q) ( q r)} {(p q)} {p} {q} Subf(( q r)) = {(p q) ( q r)} {(p q)} {p} {q} {( q r)} Subf( q) Subf(r) = {(p q) ( q r)} {(p q)} {p} {q} {( q r)} { q} Subf(q) Subf(r)
4 Aula 3: Linguagem Proposicional = {(p q) ( q r)} {(p q)} {p} {q} {( q r)} { q} {q} Subf(r) = {(p q) ( q r)} {(p q)} {p} {q} {( q r)} { q} {q} {r} = {(p q) ( q r), (p q), p, q, ( q r), q, r} 2. Ordenação das subfórmulas pelo tamanho. Subf((p q) ( q r)) = {p, q, r, q, (p q), ( q r), (p q) ( q r)} 3. Computação das interpretações. (a) Subfórmulas de tamanho 1. 1 0 1 (b) Subfórmulas de tamanho 2. 1 0 1 1 (c) Subfórmulas de tamanho 3. 1 0 1 1 1 (d) Subfórmulas de tamanho 4. 1 0 1 1 1 1 (e) Subfórmulas de tamanho 8. 1 0 1 1 1 1 1
3.2. SATISFAZIBILIDADE 5 3.2 Satisfazibilidade A fórmula p p possui apenas um átomo e, portanto, podemos ter duas valorações diferentes, I(p) = 0 e I(p) = 1. Em ambos os casos, I(p p) = 1. Por outro lado, a fórmula p p será interpretada como falsa para qualquer valoração do átomo p. Existem também fórmulas que pode ser interpretadas como verdadeiras ou como falsas, dependendo da interpretação de seus átomos. A fórmulas p q é um exemplo do último caso. Podemos classificar as fórmulas conforme esses comportamentos. Definição 3.3. Uma fórmula A é: válida (tautologia) se para qualquer valoração dos seus átomos sua valoração é verdadeira, I(A) = 1; satisfazível se existe uma valoração dos seus átomos que torne sua valoração verdadeira, I(A) = 1; insatisfazível se para qualquer valoração dos seus átomos sua valoração é falsa, I(A) = 0. falsificável se existe uma valoração dos seus átomos que torne sua valoração falsa, I(A) = 0. 3.3 Tabela-Verdade A tabela-verdade é um método que gera todas as possíveis valorações de uma fórmula. Definição 3.4. A tabela-verdade de uma fórmula A é gerada da seguinte forma: 1. Computamos as subfórmulas de A. 2. Ordenamos as subfórmulas por tamanho. 3. Criamos uma coluna para cada subfórmula conforme a ordenação anterior: átomos mais à esquerda e A na posição mais à direita. 4. Criamos uma linha para cada uma das possíveis valorações dos átomos.
6 Aula 3: Linguagem Proposicional 5. Propagamos a valoração dos átomos para as subfórmulas, das menores (mais à esquerda) para as maiores (mais à direita). Exemplo 3.4 Dada a fórmula, A = (p q) ( p q), sua tabela-verdade é construída da seguinte maneira: 1. Computação das subfórmulas. Subf((p q) ( p q)) = {(p q) ( p q), p q, p, q, p q, p, q} 2. Ordenação das subfórmulas. Subf((p q) ( p q)) = {p, q, p, q, p q, p q, (p q) ( p q)} 3. Criação das colunas da tabela. 4. Criação das linhas da tabela. 0 0 0 1 1 0 1 1 5. Propagação da valoração. 0 0 1 0 1 1 1 0 0 1 1 0
3.3. TABELA-VERDADE 7 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 0 Podemos usar a tabela-verdade de uma fórmula A para classificá-la. Definição 3.5. Dada a tabela-verdade de uma fórmula A: A é satisfazível se alguma linha da coluna A tem um 1; A é válida se todas linha da coluna A têm um 1; A é falsificável se alguma linha da coluna A tem um 0;
8 Aula 3: Linguagem Proposicional A é insatisfazível se todas as linhas da coluna A têm um 0. Exemplo 3.5 Seja A = (p q) ( p q) cuja tabela-verdade é dada abaixo. 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 0 0 Conforme a coluna relativa a A: A é satisfazível pois as valorações dos átomos dadas pela segunda e terceira linhas tornam I(A) = 1; A não é válida (tautologia) pois nem todas as valorações dos átomos tornam A verdadeira; A é falsificável pois as valorações dos átomos dadas pela primeira e quarta linhas tornam I(A) = 0; A não é insatisfazível pois nem todas as valorações dos átomos tornam A falsa. Exemplo 3.6 Dada a fórmula, A = p p, a tabela-verdade é p p p p 0 1 1 1 0 1 Classificação: É satisfazível? Sim. É válida ou tautologia? Sim. É falsificável? Não.
3.3. TABELA-VERDADE 9 É insatisfazível? Não. Exemplo 3.7 Dada a fórmula, A = p p, a tabela-verdade é p p p p 0 1 0 1 0 0 Classificação: É satisfazível? Não. É válida ou tautologia? Não. É falsificável? Sim. É insatisfazível? Sim.