05 Skolemizacao

Propaganda
Skolemização
O método da resolução na Lógica de Predicados é definido a partir de
fórmulas que estão na forma prenex e que não contêm quantificadores
existenciais.
Dada uma fórmula qualquer, que contém quantificadores universais e
existenciais, deve-se inicialmente eliminar os quantificadores existenciais
para que a fórmula possa ser utilizada na resolução.
A skolemização é um método de eliminação de quantificadores
existenciais.
Portanto, substitui-se a variável existencial x por uma constante a, u por
uma função de 2 variáveis f(y,z), e w por uma função de três parâmetros
g(y, z, v). Então, obtém-se a seguinte forma padrão da fórmula:
∀y∀z∀v(P(a, y, z, f(y,z), v, g(y, z, v))
Exemplo 2: Obter a forma padrão da fómula: ∀x∃y∃z((∼P(x,y) ∧ Q(x,z)) ∨
R(x,y,z)).
Primeiro, a matriz é transformada em uma forma normal conjuntiva:
∀x∃y∃z(( ∼P(x, y) ∨ R(x, y, z)) ∧ (Q(x, z) ∨ R(x, y, z))).
Seja uma fórmula α já na forma normal prenex (Q1x1) ... (Qnxn)M, onde
M está expressa na forma normal conjuntiva.
Então, desde que (∃y) e (∃z) são ambas precedidas por (∀x), as variáveis
existenciais y e z são substituídas, respectivamente, por funções de uma
variável f(x) e g(x). Então, pode-se obter a seguinte forma padrão para a
fórmula:
Suponha-se que Qr é um quantificador existencial no prefixo (Q1x1) ...
(Qnxn), 1 ≤ r ≤ n .
∀x(( ∼P(x, f(x)) ∨ R(x, f(x), g(x))) ∧ (Q(x, g(x)) ∨ R(x, f(x), g(x))))
Se nenhum quantificador universal aparece antes de Qr, pode-se escolher
uma nova constante c diferente das outras constantes que aparecem em M,
substituir todos os xr de M por c, e eliminar (Qrxr) do prefixo.
Se Qs1, ..., Qsm são todos quantificadores universais que aparecem antes
de Qr, 1 ≤ s1 < s2 ... < sm < r, pode-se escolher um novo símbolo f m-ário
diferente dos outros símbolos da função, substituir todos os xr em M por
f(s1, s2, ..., sm), e eliminar (Qrxr) do prefixo.
Após o processo anterior ser aplicado para todos os quantificadores
existenciais no prefixo, a fórmula final obtida é uma “forma padrão
skolem” (ou somente forma padrão) da fórmula α, denotada skolem(α).
As constantes e funções usadas para substituir os quantificadores
existenciais são chamados de funções skolem.
Exemplo 1: Obter a forma padrão skolem da fómula:
∃x∀y∀z∃u∀v∃w(P(x, y, z, u, v, w))
Na fórmula acima, (∃x) não é precedido por nenhum quantificador
universal, (∃u) é precedido por (∀y) e (∀z), e (∃w) por (∀y), (∀z) e (∀v).
Definição: Uma cláusula é uma disjunção de literais.
Ex: P(x) ∨ Q(a) ∨ ∼R(y)
Quando for conveniente, pode-se ver um conjunto de literais como um
sinônimo de uma cláusula. Por exemplo, (P ∨ Q) ∧ ∼R = { P ∨ Q, ∼R}.
Uma cláusula composta de r literais é chamada uma cláusula r-literal.
Uma cláusula 1-literal é chamada uma cláusula unitária.
Quando uma cláusula não contém literais, pode-se chamar de cláusula
vazia.
Desde que uma cláusula vazia não possui literais, os quais podem ser
satisfeitas por uma interpretação, uma cláusula vazia é sempre falsa.
Normalmente, representa-se cláusulas vazias pelo símbolo
As disjunções ∼P(x, f(x)) ∨ R(x, f(x), g(x)) e Q(x, g(x))
na forma padrão no Exemplo 2 são cláusulas.
∨
.
R(x, f(x), g(x))
Um conjunto S de cláusulas é considerado como uma conjunção de todas
as cláusulas em S, onde toda variável em S é considerada regida por um
quantificador universal.
Por convenção, uma forma padrão pode ser simplesmente representada por
um conjunto de cláusulas.
Por exemplo, a forma padrão do exemplo 2 pode ser representada pelo
conjunto:
{ ∼P(x, f(x)) ∨ R(x, f(x), g(x)), Q(x, g(x)) ∨ R(x, f(x), g(x)) }
Procedimento de Transformação de Fórmulas em Cláusulas
1. Eliminar ↔ usando a “lei” α ↔ β |=| (α → β) ∧ (β → α)
2. Eliminar → usando a “lei” α → β |=| ∼α ∨ β
3. Reduzir escopo de ∼ usando a “lei” de De Morgan e outras “leis”
Teorema 1: Seja α um fórmula da Lógica de Predicados. Então, α é
insatisfatível se e somente se skolem(α) é insatisfatível.
4. Renomear variáveis
Este teorema é equivalente ao teorema abaixo.
6. Converter para a forma normal prenex
Teorema 2: Seja S um conjunto de cláusulas que representa uma forma
padrão de uma fórmula α. Então α é insatisfatível se e somente se S é
insatisfatível.
7. Converter matriz para a forma normal conjuntiva
Obs.: Enquanto as outras formas normais apresentadas preservam os
modelos das fórmulas originais (são tautologicamente equivalentes), a
forma normal de skolem apenas preserva a condição de insatisfatibilidade
da fórmula original.
Exemplo 4: Transformar a fórmula abaixo numa representação clausal:
Exemplo 3: Seja α = ∃x(P(x)). Então, skolem(α) = P(a), onde a é uma
nova constante introduzida no processo. Seja I definida abaixo uma
interpretação para o conjunto {∃x(P(x)), P(a)}:
D = {1, 2}
aI = 1
PI(1) = F
PI(2) = V
Então, I satisfaz α, mas não satisfaz skolem(α).
5. Skolemizar
8. Eliminar quantificadores universais
9. Eliminar ∧ e obter conjunto de cláusulas
∀x(P(x) → (∀y(P(y) → P(f(x, y))) ∧ ~∀y(Q(x, y) → P(y))))
1. ∀x(~P(x) ∨ (∀y(~P(y) ∨ P(f(x, y))) ∧ ~∀y(~Q(x, y) ∨ P(y))))
2. ∀x(~P(x) ∨ (∀y(~P(y) ∨ P(f(x, y))) ∧ ∃y(~(~Q(x, y) ∨ P(y))))
3. ∀x(~P(x) ∨ (∀y(~P(y) ∨ P(f(x, y))) ∧ ∃y(Q(x, y) ∧ ~P(y))))
4. ∀x(~P(x) ∨ (∀y(~P(y) ∨ P(f(x, y))) ∧ ∃w(Q(x, w) ∧ ~P(w))))
5. ∀x(~P(x) ∨ (∀y(~P(y) ∨ P(f(x, y))) ∧ (Q(x, g(x)) ∧ ~P(g(x)))))
6. ∀x∀y (~P(x) ∨ ((~P(y) ∨ P(f(x, y))) ∧ (Q(x, g(x)) ∧ ~P(g(x)))))
7. ∀x∀y((~P(x)
~P(g(x))))
∨
~P(y)
∨
P(f(x, y)))
∧
(~P(x)
∨
Q(x, g(x)))
∧
(~P(x)
8. { ~P(x) ∨ ~P(y) ∨ P(f(x, y)), ~P(x) ∨ Q(x, g(x)), ~P(x) ∨ ~P(g(x)) }
O conjunto de cláusulas pode ser representado na forma:
1. ~P(x) ∨ ~P(y) ∨ P(f(x, y))
2. ~P(x) ∨ Q(x, g(x))
3. ~P(x) ∨ ~P(g(x))
∨
Download