Lógica para Computação Segundo Semestre, 2014 Aula 13: Lógica de Predicados DAINF-UTFPR Prof. Ricardo Dutra da Silva Na Lógica de Predicados existem símbolos que não ocorriam na lógica proposicional e isso faz com que as interpretações (ou valorações) sejam obtidas de maneira diferente. Em especial, é necessário estabelecer um domínio para uma interpretação I. Exemplo 13.1 Considere o predicado P (x) que é interpretado como verdadeiro se, e somente se, x é um número par. Neste caso a interpretação deve ter como domínio, U, o conjunto dos números. A interpretação de uma variável x deve pertencer ao domínio da interpretação, neste caso, I(x) U. Portanto, I(P (x)) = 1 se, e somente se, I(x) é um número par. Exemplo 13.2 Dado o domínio das pessoas cursando lógica U = {João, Maria, Ana, Rodrigo, José, Júlia} podemos escolher constantes como c 1, c 2, c 3, c 4, c 5 e c 6, e definir as interpretações: I(c 1 ) = João, I(c 2 ) = Maria, I(c 3 ) = Ana, I(c 4 ) = Rodrigo, I(c 5 ) = José, I(c 6 ) = Júlia. 1
2 Aula 13: Lógica de Predicados Dado o predicado Q, cuja interpretação é I(Q(x)) = 1 se, e somente se, I(x) é inteligente, a sentença Todo aluno que está cursando Lógica é inteligente é representada por x(q(x)). Note que a propriedade ser aluno e a relação estar cursando Lógica foram suprimidas pois estão implícitas no domínio. A interpretação da fórmula x(q(x)) será I( x(q(x))) = 1 se, e somente se, I(Q(c 1 )) = I(Q(c 2 )) = I(Q(c 3 )) = I(Q(c 4 )) = I(Q(c 5 )) = I(Q(c 6 )) = 1. Uma variável x pode ser substituída por qualquer elemento do domínio de U e também por constantes, que representam elementos do domínio. Exemplo 13.3 Considere as fórmulas A = ( P (x, y, a, b)) R(f(x), g(y)) B = P (x, y, a, b) (Q(x, y) R(y, a)) e a interpretação I sobre o domínio dos números inteiros Z, tal que I(x) = 3, I(y) = 2, I(a) = 0, I(b) = 1 I(P (x, y, z, w)) = 1, se, e somente se, x I.y I > z I.w I I(Q(x, y)) = 1, se, e somente se, x I < y I I(R(x, y)) = 1, se, e somente se, x I > y I I(f(x)) = (x I + 1) I(g(x)) = (x I 2)
Aula 13: Lógica de Predicados 3 A interpretação de A é A = ( P (x, y, a, b)) R(f(x), g(y)) = ( 1) R(4, 0) = 0 1 = 1. A interpretação de B é B = P (x, y, a, b) (Q(x, y) R(y, a)) = 1 (0 1) = 1 0 = 0 Exemplo 13.4 Agora considere I uma interpretação sobre os naturais I(a) = 25, I(b) = 5, I(c) = 0, I(f(x, y)) = (x I y I ). A interpretação I(f(a, b)) = 5. Segundo a definição das interpretações, a função deve ter interpretação de N 2 em N. No entanto, temos que I(f(x, c)) é indefinida. Logo teríamos que restringir o domínio para N N +. Além disso, temos que f(x, y) Q. Portanto a função está definida de N N + em Q. Mas isso vai contra a definição da interpretação. Logo se o domínio é o conjunto dos naturais não podemos definir a função de divisão. Exemplo 13.5 Suponha uma fórmula A = x( y(p (x, y)) e a interpretação I(P (x, y)) = 1 se, e somente se, I(x) < I(y), e I(x) < I(y) se, e somente se, x I < y I.
4 Aula 13: Lógica de Predicados A fórmula pode ser descrita pela sentença Para todo x I, existe y I tal que x I < y I. Claramente estamos falando de números. No entanto, sem explicitar o domínio não é possível avaliar se a interpretação I(A) é verdadeira ou falsa. Suponha o domínio U = [0, ). Nesse caso, I(A) = 1, pois é verdade que para todo x I U, existe y I U tal que x I < y I. Agora, se supusermos U = (, 0], I(A) = 0, pois não é possível satisfazer a fórmula quando x I = 0. Exemplo 13.6 Suponha uma fórmula A = x(p (x, y)) e a interpretação I(P (x, y)) = 1 se, e somente se, I(x) I(y), e I(x) < I(y), se, e somente se, x I y I. Também definimos I(y) = 5. Se o domínio for U = (, 0], então I(A) = 0 porque é falso que para todo x I U, x I 5. No entanto, se I(y) = 0, então temos que I(A) = 1. Os Exemplos 13.5 e 13.6 mostram que além do domínio é preciso considerar a classificação de variáveis dentro das fórmulas para avaliar as interpretações. Vamos recordar as definições de escopo e variáveis livres e ligadas. Definição 13.1. Seja E uma fórmula: se x(h) é uma subfórmula de E, então o escopo de x em E é H. se x(h) é uma subfórmula de E, então o escopo de x em E é H. Definição 13.2. Seja x uma variável e E uma fórmula, se x ocorre em E dentro do escopo de um quantificador, x ou x, então x é uma variável ligada; caso contrário, x é uma variável livre. No Exemplo 13.5 temos as variáveis x e y. Essas variáveis são variáveis ligadas. Durante a avaliação da interpretação, isso significa que x e y devem ser substituídas por todos os elementos do domínio considerado.
Aula 13: Lógica de Predicados 5 No Exemplo 13.6 temos as mesma variáveis x e y, mas apenas x é uma variável ligada. A variável x deverá ser substituída por todos os elementos do domínio. A variável y é livre. Isso significa que não existe um quantificador forçando que elementos do domínio sejam atribuídos a y. Por esse motivo, no Exemplo 13.6, explicitamente atribuímos uma interpretação para y. Veremos também que mesmo quando uma variável possui uma interpretação explícita, dentro do escopo em que ela é ligada devemos considerar todas as possíveis interpretações dentro do domínio. Exemplo 13.7 Considere a fórmula A = x( y(p (x, y))) x(p (x, y)) e a interpretação I(P (x, y)) = 1 se, e somente se, I(x) < I(y) I(x) = 0 I(y) = 5, no domínio U = [0, ). O átomo P (x, y) aparece duas vezes na fórmula mas sua interpretação não é igual, ela depende dos escopos definidos para as variáveis x e y nas subfórmulas B = x( y(p (x, y))) e C = x(p (x, y)). Em B, a variável x tem escopo D = y(p (x, y)). Logo o x que aparece em D é uma variável ligada. A variável y em D tem escopo E = P (x, y). Logo o y que aparece em E também é uma variável ligada. Como as variáveis são ligadas, mesmo que tenhamos definido as interpretações I(x) = 0 e I(y) = 5, dentro do escopo em que as variáveis são ligadas devemos ignorar tais interpretações e considerar que x e y podem assumir qualquer valor no domínio U = [0, ). Consequentemente, a subfórmula B = x( y(p (x, y))) é verdadeira, como vimos no Exemplo 13.5. Na subfórmula C = x(p (x, y)), x é uma variável ligada e y é uma variável livre. Devemos considerar então que x assume qualquer valor no domínio U = [0, ) enquanto y assume a interpretação I(y) = 5. A subfórmula C é falsa para qualquer x 5. A interpretação I(A) = I( x( y(p (x, y))) x(p (x, y))) = 1 0 = 0. A seguir definimos formalmente essas ideias para formar a interpretação de uma fórmula.
6 Aula 13: Lógica de Predicados Definição 13.3. Seja I uma interpretação sobre um domínio U, x uma variável da linguagem da LP e d um elemento de U. x d I, é tal que onde α é uma variável qualquer. Exemplo 13.8 d x d I(α) = I(α) Uma interpretação estendida de I, denotada por se α = x se α x Considere a interpretação I sobre os números naturais I(x) = 4, I(a) = 5, I(y) = 4 Temos como exemplos de interpretações estendidas x 2 I(y) = 4 x 2 I(x) = 2 x 9 x 2 I(y) = 9 x 9 x 2 I(x) = 2 x 7 x 9 x 2 I(y) = 9 x 7 x 9 x 2 I(x) = 7 Note que a extensão mais à esquerda tem precedência sobre a extensão mais à direita. Definição 13.4. Seja U um conjunto não-vazio chamado domínio. Uma interpretação I sobre o domínio U é uma função tal que: para toda variável x, se I(x) = x I, então x I U; para toda função f, n-ária, se I(f) = f I, então f I é uma função n-ária em U, isto é, f I : U n U. para todo predicado P, n-ário, se I(P ) = p I, então p I é um predicado n-ário em U, isto é, P I : U n {0, 1}. para toda constante b, se I(b) = b I, então b I U.
Aula 13: Lógica de Predicados 7 se E = f(t 1, t 2,..., t n ) é um termo, então I(E) = I(f(t 1, t 2,..., t n )) = f I (t 1I, t 2I,..., t ni ) (para todo termo t i, I(t i ) = t I ). se E = P (t 1, t 2,..., t n ) é um átomo, então I(E) = I(P (t 1, t 2,..., t n )) = P I (t 1I, t 2I,..., t ni ) (para todo termo t i, I(t i ) = t I ). se E = A, então I(E) = I( A) = 1 se, e somente se, I(A) = 0. se E = A B, então I(E) = I(A B) = 1 se, e somente se, I(A) = 1 ou I(B) = 1. se E = A B, então I(E) = I(A B) = 1 se, e somente se, I(A) = 1 e I(B) = 1. se E = A B, então I(E) = I(A B) = 1 se, e somente se, I(A) = 0 ou I(B) = 1. se E = x(a), então I(E) = I( x(a)) = 1 se, e somente se, para todo d U, x d I(A) = 1. se E = x(a), então I(E) = I( x(a)) = 1 se, e somente se, existe d U para o qual x d I(A) = 1. Como exigimos que b I, x I U, então constantes e variáveis livres são necessariamente interpretadas como elementos do domínio de interpretação. A interpretação de uma predicado 0-ário é p, I(p) = p I e p I {0, 1}.