Aula 13: Lógica de Predicados - DAINF

Propaganda
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 c1 , c2 , c3 , c4 , c5 e c6 , e definir as interpretações:
I(c1 ) = João,
I(c2 ) = Maria,
I(c3 ) = Ana,
I(c4 ) = Rodrigo,
I(c5 ) = José,
I(c6 ) = 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(c1 )) = I(Q(c2 )) = I(Q(c3 )) = I(Q(c4 )) = I(Q(c5 )) = I(Q(c6 )) = 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, xI .yI > zI .wI
I(Q(x, y)) = 1, se, e somente se, xI < yI
I(R(x, y)) = 1, se, e somente se, xI > yI
I(f (x)) = (xI + 1)
I(g(x)) = (xI − 2)
3
Aula 13: Lógica de Predicados
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)) = (xI ÷ yI ).
A interpretação I(f (a, b)) = 5. Segundo a definição das interpretações, a função deve ter
interpretação de N2 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, xI < yI .
4
Aula 13: Lógica de Predicados
A fórmula pode ser descrita pela sentença “Para todo xI , existe yI tal que xI < yI ”.
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
xI ∈ U , existe yI ∈ U tal que xI < yI .
Agora, se supusermos U = (−∞, 0], I(A) = 0, pois não é possível satisfazer a fórmula
quando xI = 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, xI ≤ yI .
Também definimos I(y) = −5. Se o domínio for U = (−∞, 0], então I(A) = 0 porque é
falso que para todo xI ∈ U , xI ≤ −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 . Uma interpretação estendida de I, denotada por
hx ← diI, é tal que

 d
se α = x
hx ← diI(α) =
 I(α) se α 6= x
onde α é uma variável qualquer.
Exemplo 13.8
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
hx ← 2iI(y) = 4
hx ← 2iI(x) = 2
hx ← 9ihx ← 2iI(y) = 9
hx ← 9ihx ← 2iI(x) = 2
hx ← 7ihx ← 9ihx ← 2iI(y) = 9
hx ← 7ihx ← 9ihx ← 2iI(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) = xI , então xI ∈ U ;
• para toda função f , n-ária, se I(f ) = fI , então fI é uma função n-ária em U , isto é,
fI : U n → U .
• para todo predicado P , n-ário, se I(P ) = pI , então pI é um predicado n-ário em U ,
isto é, PI : U n → {0, 1}.
• para toda constante b, se I(b) = bI , então bI ∈ U .
7
Aula 13: Lógica de Predicados
• se E = f (t1 , t2 , . . . , tn ) é um termo, então I(E)
fI (t1I , t2I , . . . , tnI ) (para todo termo ti , I(ti ) = tI ).
=
I(f (t1 , t2 , . . . , tn ))
=
• se E = P (t1 , t2 , . . . , tn ) é um átomo, então I(E) = I(P (t1 , t2 , . . . , tn )) =
PI (t1I , t2I , . . . , tnI ) (para todo termo ti , I(ti ) = tI ).
• 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 ,
hx ← diI(A) = 1.
• se E = ∃x(A), então I(E) = I(∃x(A)) = 1 se, e somente se, existe d ∈ U para o qual
hx ← diI(A) = 1.
Como exigimos que bI , xI ∈ 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) = pI e pI ∈ {0, 1}.
Download