1 teorema de herbrand. 2 equivalências de 1 a ordem as “leis” da lógica proposicional e as...

89
1 Teorema de Herbrand

Upload: elias-bentes-cabral

Post on 07-Apr-2016

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

1

Teorema de Herbrand

Page 2: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

2

Equivalências de 1a Ordem

As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica de 1a Ordem.

Page 3: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

3

Equivalências de 1a Ordem

A B

x( ) x() x não ocorre em

x( ^ ) x() ^ “

x( ) x() “

x( ^ ) x() ^ “

Page 4: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

4

Equivalências de 1a Ordem

A B

~x() x(~)

~x(~) x()

~x() x(~)

~x(~) x()

Page 5: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

5

Equivalências de 1a Ordem

A Bx() ^ x() x( ^ )

x() x () x( )

x() x() xz( ) z não ocorre em

x() ^ x () xz( ^ ) “

Page 6: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

6

Def. 1 Uma fórmula é dita estar na forma normal prenex se e somente se é da forma: Q1x1, ... ,Qnxn(M)

onde Qi {, } e M é uma fórmula sem quantificadores.

Toda fórmula de 1a Ordem pode ser transformada na Forma Normal Prenex

Forma Normal Prenex

Page 7: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

7

Procedimento de Transformação de Fórmulas para a Forma Normal Prenex

Passo 1: usar as “leis” abaixo para eliminar os conectivos ~, e

~(~) |=| |=| ( ) ^ ( ) |=| ~

Page 8: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

8

Passo 2: usar repetidamente as “leis” abaixo para interiorizar a negação

~( ^ ) |=| ~ ~ ~( ) |=| ~ ^ ~ ~x() |=| x(~) ~x() |=| x(~)

Procedimento de Transformação de Fórmulas para a Forma Normal Prenex

Page 9: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

9

Passo 3: usar as “leis” abaixo para mover os quantificadores para a esquerda e obter a forma normal prenex:

Qx( ) |=| Qx() Qx( ^ ) |=| Qx() ^ x() ^ x() |=| x( ^ )x() x () |=| x( )x() x() |=| xz( )x() ^ x () |=| xz( ^ )

Procedimento de Transformação de Fórmulas para a Forma Normal Prenex

Page 10: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

10

Transformação de Fórmulas para a Forma Normal Prenex

Exemplo:x(P(x)) x(Q(x))~x(P(x)) v x(Q(x))x(~P(x)) v x(Q(x))x(~P(x) v Q(x))

Page 11: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

11

Transformação de Fórmulas para a Forma Normal Prenex

Exemplo:x(P(x)) v x(~Q(x)) v x(R(x))x(P(x)) v y(~Q(y)) v z(R(z)) xyz (P(x) v ~Q(y) v R(z))

Page 12: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

12

Transformação de Fórmulas para a Forma Normal Prenex

Exemplo:x y( z(P(x,z) ^P(y,z)) u(Q(x,y,u) )x y(~z(P(x,z) ^P(y,z)) v u(Q(x,y,u) )x y(z~(P(x,z) ^P(y,z)) v u(Q(x,y,u) )x y(z (~P(x,z) v ~P(y,z)) v

u(Q(x,y,u))x yz u(~P(x,z) v ~P(y,z) v (Q(x,y,u))

Page 13: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

13

Transformação de Fórmulas para a Forma Normal Prenex

Exemplo:“se x chama y, x e y são programas no dicionário”

xy(C(x, y) (z(P(x, z)) ^ w(P(y, w))))xy(~C(x, y) v (z(P(x, z)) ^ w(P(y, w))))xyzw(~C(x, y) v (P(x, z) ^ P(y, w)))

Page 14: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

14

Forma Normal Skolem Essa forma elimina os quantificadores

existenciais de uma forma prenex obtendo uma generalização

A eliminação do existencial é obtida pelo seguinte procedimento proposto por skolem:

Page 15: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

15

Procedimento de Eliminação de Quantificadores Existenciais

Seja uma fórmula na forma normal prenex Q1x1, ..., Qnxn(M), onde M está na forma normal conjuntivae Qr um quantificador existencial no prefixo de Q1x1, ... ,Qnxn, 1 r n.

A eliminação de Qnxn é feita observando-se os quantificadores que o antecedem. Ocorre da seguinte maneira:

Page 16: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

16

Procedimento de Eliminação de Quantificadores Existenciais

Se não existir nenhum quantificador universal anterior a Qrxr no prefixo, faça: escolha uma nova constante c diferente de

qualquer outra que ocorre em M, substitua todos os xr ocorrendo em M por c e elimine Qrxr do prefixo.

senão ...

Page 17: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

17

Se Qs1, ... ,Qsm são os quantificadores universais anteriores a Qr no prefixo, 1 s1 < s2 < ... < sm < r, faça: escolha um novo símbolo funcional m-ário f

diferente de outros símbolos funcionais ocorrendo em M,

substitua todos os xr ocorrendo em M pelo termo f(s1, ... , sm) e

elimine Qrxr do prefixo.

Procedimento de Eliminação de Quantificadores Existenciais

Page 18: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

18

Depois do processo de eliminação (skolemização) ser aplicado a todos os quantificadores existenciais do prefixo, a fórmula obtida está na forma normal de skolem, denotada por skolem().

Procedimento de Eliminação de Quantificadores Existenciais

Page 19: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

19

Exemplo: obter skolem() = xyzu(P(x, y, z, u))

1. x não é precedido de quantificador universal, então:

yzu(P(a, y, z, u))

2. u é precedido por yz, então: yz (P(a, y, z, f(y, z)))

Procedimento de Eliminação de Quantificadores Existenciais

Page 20: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

20

Procedimento de Eliminação de Quantificadores Existenciais

Observe a semântica da função skolem:

Considere o predicado Mãe definido com o seguinte significado:

Mãe(x,y): x é mãe de y

papel do 1o termo: é mãe papel do 2o termo: é filho

Page 21: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

21

Procedimento de Eliminação de Quantificadores Existenciais

Exemplo 1: “Todo mundo tem mãe”

xy(Mãe(y,x)) “para todo x existe um y que é mãe de

x “

x(Mãe(f(x),x))fica claro que o valor de y: a mãe,

depende do valor de x: o filho

Page 22: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

22

Procedimento de Eliminação de Quantificadores Existenciais

Exemplo 2: “Existe alguém que é mãe de todos”

xy(Mãe(x,y)) isto é:“existe um x que para todo y, x é mãe de y “

y(Mãe(a,y))a = “Nossa Senhora”

Page 23: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

23

Procedimento de Eliminação de Quantificadores Existenciais

Exemplo: obter skolem() = (xyz((~P(x,y) ^ Q(x,z)) v

R(x,y,z))

xyz((~P(x,y) ^ Q(x,z)) v R(x,y,z))xyz((~P(x,y) v R(x,y,z)) ^ (Q(x,z) v R(x,y,z)))xz((~P(x,f(x)) v R(x,f(x),z)) ^ (Q(x,z) v R(x,f(x),z)))x((~P(x,f(x)) v R(x,f(x),g(x)) ^ (Q(x,g(x)) v

R(x,f(x),g(x))))

Page 24: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

24

Forma Normal Skolem Teorema 1: Seja um fórmula de 1a

ordem. Então, é insatisfatível se e somente se skolem() é insatisfatível.

As outras formas normais preservam os modelos das fórmulas originais (são tautologicamente equivalentes)

A forma normal de skolem preserva apenas a condição de insatisfatibilidade da fórmula original.

Page 25: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

25

Forma Normal Skolem Exemplo:

Seja = x(P(x)). então, skolem() = P(a)

Seja I a seguinte interpretação :D = {1, 2}aI = 1PI(1) = FPI(2) = V

Então, I satisfaz , mas não satisfaz skolem().

Page 26: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

26

Representação Clausal de Fórmulas

Def.2 Um literal é uma fórmula atômica (literal positivo) ou a negação de uma fórmula atômica (literal negativo).

Def.3 Uma cláusula é uma disjunção de literais Exemplo: P(x) Q(a) ~R(y)

Page 27: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

27

Representação Clausal de Fórmulas

Por conveniência, uma cláusula pode também ser representada como um conjunto, o conjunto de seus literais.

Exemplo: {P(x), Q(a), ~R(y)}

Page 28: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

28

Representação Clausal de Fórmulas

Def.4 A cláusula vazia é uma cláusula sem literais (conjunto vazio) e é representada por . Representa uma fórmula insatisfatível ( ^ ~).

Qualquer fórmula de 1a ordem pode ser transformada em um conjunto de cláusulas.

Page 29: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

29

Procedimento de Transformação de Fórmulas em Cláusulas

1. Eliminar usando a “lei” a b |=|(a b)^(b a) 2. Eliminar usando a “lei” a b |=| ~ a b 3. Reduzir escopo de ~ usando a “lei” de De Morgan

e outras “leis” 4. Renomear variáveis 5. Skolemizar 6. Converter para a Forma Normal Prenex 7. Converter matriz para a Forma Normal Conjuntiva 8. Eliminar quantificadores universais 9. Eliminar ^ e obter o conjunto de cláusulas

Page 30: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

30

Exemplo:Transformar em cláusula =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. xy (~P(x) ((~P(y) P(f(x, y)) ) ^ (Q(x, g(x)) ^ ~P(g(x)) )))7. xy((~P(x) ~P(y) P(f(x, y))) ^ (~P(x) Q(x, g(x))) ^

(~P(x) ~P(g(x))))

8.{ ~P(x) ~P(y) P(f(x, y)), ~P(x) Q(x, g(x)), ~P(x) ~P(g(x)) }

Page 31: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

31

Exemplo: Transformar em cláusula =x(P(x) (y(P(y) P(f(x, y))) ^ ~y(Q(x, y) P(y))))

A fórmula foi transformada em um conjunto, S, de 3 cláusulas :

S= {~P(x) ~P(y) P(f(x, y)), ~P(x) Q(x, g(x)), ~P(x) ~P(g(x)) }

Page 32: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

32

Exemplo: Fazer a representação clausal de um estado do “Dicionário”

Exemplo: A transformação da fórmula 12

xyz((depende(x, z) & depende(z, y)) depende(x, y))xyz(~(depende(x, z) & depende(z, y))v depende(x, y))xyz((~depende(x,z) v ~depende(z,y)) v depende(x,y))

S = {~depende(x,z) v ~depende(z,y) v depende(x,y)}

A fórmula 12 foi transformada em um conjunto S de apenas uma cláusula

Page 33: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

33

Exemplo: Fazer a representação clausal de um estado do “Dicionário”

Representação clausal após as transformações: 1. programa(a, fortran) 2. programa(b, pascal) 3. programa(c, fortran) 4. arquivo(d, sequencial) 5. arquivo(e, direto) 6. chama(a, b) 7. chama(a, c) 8. usa(a, d) 9. usa(b, e) Continua...

Um fórmula atômica é uma cláusula.cada fato (dado) do “Dicionário” já estava representado por uma fórmula atômica.

Page 34: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

34

Exemplo: Fazer a representação clausal de um estado do “Dicionário”

Continuação... 10. ~chama(x, y) depende(x, y) 11. ~usa(x, y) depende(x, y) 12. ~depende(x, z) ~depende(z, y) depende(x, y)

cada regra foi transformada em cláusula.

As três últimas cláusulas também podem ser representadas por conjunto de literais: 10’. ~chama(x, y), depende(x, y)) 11’. ~usa(x, y), depende(x, y) 12’. ~depende(x, z), ~depende(z, y), depende(x, y)

Page 35: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

35

Representação clausal completa: 1. programa(a, fortran) 2. programa(b, pascal) 3. programa(c, fortran) 4. arquivo(d, sequencial) 5. arquivo(e, direto) 6. chama(a, b) 7. chama(a, c) 8. usa(a, d) 9. usa(b, e) 10. ~chama(x, y) depende(x, y) 11. ~usa(x, y) depende(x, y) 12. ~depende(x, z) ~depende(z, y)

depende(x, y)

Exemplo: Fazer a representação clausal de um estado do “Dicionário”

FATOS

REGRAS

Page 36: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

36

O Universo de Herbrand Def.5 O Universo de Herbrand para um conjunto

de cláusulas S, H(S), é definido da seguinte forma:

toda constante ocorrendo em S pertence a H(S). Se nenhuma constante ocorre em S, então H(S) conterá uma constante escolhida arbitrariamente.

se f é um símbolo funcional n-ário ocorrendo em S, e se t1, ...,tn são termos que pertencem a H(S), então o termo f(t1, ...,tn) também pertence a H(S).

Page 37: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

37

O Universo de Herbrand Exemplo:

Seja S = {P(a), ~P(x) P(f(x))}. Então,

H0 = {a}H1 = {a, f(a)}H2 = {a, f(a), f(f(a))}................................H = H(S) = {a, f(a), f(f(a)), f(f(f(a))), ... }

Page 38: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

38

O Universo de Herbrand Seja S = {~P(x) Q(x), P(x)}. Então,

H0 = H(S) = {a}

Quando S não tem funções H(S) é finito

Page 39: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

39

O Universo de HerbrandDef.6 Um termo básico é um elemento

de H(S), onde S é um conjunto de cláusulas.

Def.7 Uma Base de Herbrand para S é o conjunto B(S) de todas as fórmulas atômicas da forma P(t1, ...,tn), onde P é um símbolo predicativo ocorrendo em S e t1, ...,tn são termos básicos, p/ todo n > 0.

Page 40: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

40

O Universo de Herbrand Exemplo:

Seja S = {P(x) Q(x), R(f(y))}

H(S) = {a, f(a), f(f(a)), ... }

B(S) = {P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), R(f(f(a))),...}

Page 41: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

41

O Universo de Herbrand Def.8 Um literal básico de S é um

elemento de B(S) ou a negação de um elemento de B(S).

Def.9 Um par complementar é um conjunto formado por um literal básico e sua negação. Ex: P(a), ~P(a)

Page 42: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

42

O Universo de Herbrand Def.10 Uma instância básica de uma

cláusula C é uma cláusula C’ obtida por substituição das variáveis em C por termos básicos.Ex: Cláusula R(f(y)) do exemplo anterior: Instâncias: R(f(a)) R(f(f(a))) .............. R(a) não é instância dessa cláusula

Page 43: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

43

Interpretação de Herbrand Def.11 Uma interpretação I para um

conjunto de cláusulas S é uma interpretação de Herbrand para S se e somente se:

o domínio D de I é H(S) para cada constante a de S, aI = a para cada símbolo funcional f de S,

fI(t1, ...,tn) = f(t1, ...,tn), para cada t1, ...,tn H(S)

Page 44: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

44

Interpretação de Herbrand Exemplo:

Seja S o seguinte conjunto de duas cláusulas:

1. ~chama(x, y), programa(x, f(x))2. ~chama(x, y), programa(y, g(y))

H(S) = {a, f(a), g(a), f(f(a)), f(g(a)), g(f(a)) ...}

onde a é uma constante arbitrária.continua ...

Page 45: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

45

Interpretação de Herbrandcontinuação...

Toda interpretação de Herbrand I para S (H-interpretação) satisfaz as seguintes condições: aI = a fI(t) = f(t), para todo t H(S) gI(t) = g(t), para todo t H(S)

continua ...

Page 46: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

46

Interpretação de Herbrand

continuação...

O significado dessa H-interpretação se resume à descrição do significado dos símbolos predicativos chama e programa:

chamaI = {(a, a), (a, f(a))}programaI = {(a, a), (a, g(f(a))}

Page 47: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

47

Interpretação de Herbrand Seja B(S) = {A1, A2, ... ,An, ...} a base de

Herbrand de S. Uma H-interpretação I também pode ser representada pelo conjunto:

I = {m1, m2, ... ,mn,...} onde

mj é Aj ou ~Aj, para j = 1, 2, ... . se mj é Aj, então, Aj é verdadeiro se mj é ~Aj, significa que Aj é falso.

Page 48: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

48

Interpretação de Herbrand Seja S = {P(x) Q(x), R(f(y))}

H(S) = {a, f(a), f(f(a)), ... }B(S) = {P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), ...}

Algumas H-interpretações para S:I1 = {P(a), Q(a), R(a), P(f(a)), Q(f(a)), R(f(a)), ... }I2 = {~P(a), ~Q(a), ~R(a), ~P(f(a)), ~Q(f(a)),~R(f(a)),... }I3 = {P(a), Q(a), ~R(a), P(f(a)), Q(f(a)), ~R(f(a)), ... }...........I∞ ={ .... }

Page 49: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

49

Interpretação de Herbrand Teorema 2: Um conjunto de cláusulas S é

satisfatível se e somente se existir alguma H-interpretação que satisfaz S

O problema da insatisfatibilidade para conjunto de cláusulas é redutível ao problema da insatifatibilidade para conjunto de cláusulas na classe de interpretações de Herbrand. Basta assim trabalhar com H-interpretações.

Page 50: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

50

Interpretação de Herbrand Teorema 3: Seja C uma cláusula em um

conjunto S de cláusulas. Uma H-interpretação I para S satisfaz C se e somente se I satisfaz todas as instâncias básicas de C.

Testar satisfatibilidade de uma cláusula em uma H-interpretação I é testar se I satisfaz todas as intâncias básicas de C.

Page 51: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

51

Interpretação de Herbrand 1. Uma instância básica C’ de uma cláusula C

é satisfeita por uma H-interpretação I se e somente se existe um literal básico L’ em C’ tal que L’ I, isto é, C’ I .

2. Uma cláusula C é falsa (não é satisfeita) em uma H-interpretaçã0p-o I se e somente se existe pelo menos uma instância básica C’ de C que não é satisfeita em I.

3. Um conjunto S de cláusulas é insatisfatível se e somente se, para toda H-interpretação I para S, existe no mínimo uma instância básica C’ de alguma cláusula C em S tal que C’ não é satisfeita em I.

Page 52: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

52

Interpretação de Herbrand Exemplo:

Seja C = ~P(x) Q(f(x)) e sejam I1, I2 e I3 H-interpretações para C:

I1 = {~P(a), ~Q(a), ~P(f(a)), ~Q(f(a)), ... } I2 = {P(a), Q(a), P(f(a)), Q(f(a)), ... } I3 = {P(a), ~Q(a), P(f(a)), ~Q(f(a)), ... }

Então, I1 e I2 satisfazem C e I3 não satisfaz C.

Page 53: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

53

Interpretação de Herbrand Exemplo:

Seja S = {P(x), ~P(a)}. Existem apenas duas H-interpretação para S: I1 = {P(a)} I2 = {~P(a)}

S é falso em todas as duas H-interpretações, portanto, S é insatisfatível.

Page 54: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

54

Interpretação de Herbrand Uma Interpretação de um conjunto de

cláusulas não necessariamente tem de ser definida sobre o Universo de Herbrand

Exemplo:Seja S = {P(x), Q(y, f(y,a)) } e a seguinte Interpretação I:

Page 55: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

55

Interpretação de Herbrand...continuação Interpretação I para S = {P(x), Q(y, f(y,a)) }

Domínio: D = { 1, 2} D não é Herbrand Atribuições V:

aI = 2 fI = f(1,1)= f(2,2)= 1,

f(1,2)= f(2,1)= 2 PI = P(1)= V

P(2)= F QI = Q(1,1) = Q(2,1) = Q(2,2) = F

Q(1,2) = Vcontinua ...

Page 56: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

56

Interpretação de Herbrand Para uma interpretação I como a do

exemplo anterior, pode-se definir uma H-interpretação I* correspondente a I.

Exemplo: para o mesmo exemplo segue a I* correspondente: S = {P(x), Q(y, f(y,a)) } B(S) = { P(a), Q(a,a), P(f(a,a)), Q(a,f(a,a)),

Q(f(a,a),a), Q(f(a,a),f(a,a)), ... }. continua ....

Page 57: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

57

Interpretação de Herbrand ...continuação

P(a) = P(2) = FQ(a, a) = Q(2, 2) = TP( f(a, a)) = P( f(2, 2)) = P(1) = TQ(a, f(a, a)) = Q(2, f(2, 2)) = Q(2, 1) = FQ( f(a, a), a) = Q( f(2,2), 2) = Q(1, 2) = TQ( f(a, a), f( a, a)) = Q( f(2, 2), f(2, 2)) = Q(1, 1) = F

..........

A H-interpretação I* correspondente a I é :I* = { ~P(a), Q(a,a), P(f(a,a), ~Q(a, f(a,a)), Q(f(a,a), a), ~Q(f(a, a), f(a,a)), ... }.

Page 58: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

58

Interpretação de Herbrand No caso de não existirem constantes

em S, o elemento a, que é usado para iniciar o universo Herbrand de S, pode ser mapeado para qualquer elemento do domínio D. Neste caso, se existe mais de um elemento em D, então existe mais de uma H-interpretação correspondente a I.

Page 59: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

59

Interpretação de Herbrand Exemplo2 :

Seja S = { P(x), Q(y, f(y, z)) }, (sem constantes) D = { 1, 2} e I = a mesma interpretação do exemplo anterior, exceto a atribuição para a.

Como S não tem constantes, e D tem dois elementos, existem duas interpretações I* equivalentes a I: I1 para a= 1 e I2 para a = 2.

Page 60: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

60

Árvores Semânticas Def.12 Uma árvore semântica binária

para um conjunto de cláusulas S é qualquer árvore binária A com as arestas rotuladas por literais básicos de S tal que: para todo nó N de A, os rótulos das arestas

ligando N a seus filhos são literais básicos complementares

duas arestas em um mesmo ramo de A não são rotulados por literais complementares.

Page 61: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

61

Árvores Semânticas Def.13 Se r for um caminho ou ramo de

A, rot(r) denotará o conjunto de todos os literais que rotulam as arestas de r. Se N for um nó de A, rot(N) denotará o conjunto de todos os literais que rotulam as arestas do caminho da raiz de A até N.

Page 62: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

62

Árvores Semânticas Def.14 Uma árvore semântica

binária A para um conjunto de cláusulas S é completa se e somente se: para toda H-interpretação I para S, existe

um ramo r de A tal que rot(r) = I. para todo ramo r de A, rot(r) é uma H-

interpretação para S.

Page 63: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

63

Árvores Semânticas Exemplo: Seja S = { P v Q, Q , R v Q}

B(S) = {P, Q, R}. uma árvore semântica binária completa para S seria:

Page 64: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

64

Árvores Semânticas Exemplo: Seja S = {P(x), P(a)}

B(S) = {P(a)} uma árvore semântica binária completa para S seria:

Page 65: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

65

Árvores Semânticas Def.15 Duas cláusulas C e C’ são

comple-mentares se e somente se C é o conjunto dos literais complementares aos literais em C’, C = comp(C’).

Exemplo: 1. ~chama(x, y), programa(x, f(x)) 2. chama(x, y), ~programa(x, f(x))

Page 66: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

66

Árvores SemânticasDef.16 Seja A uma árvore semântica binária

para um conjunto de cláusulas S:(a) um nó N de A é um nó de falha se e somente se existe uma instância básica B de uma cláusula de S tal que comp(B) rot(N) e nenhum ancestral de N é um nó de falha.(b) A é fechada se e somente se todo ramo de A possui um nó de falha a uma distância finita da raiz, ou seja, se todo ramo de A é finitamente fechado.

Page 67: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

67

Árvores Semânticas Exemplo:

Seja S o seguinte conjunto de cláusulas: 1. ~chama(x, y), programa(x, f(x)) 2. ~chama(x, y), programa(y, g(y))

H(S) = {a, f(a), g(a), f(f(a)), f(g(a)), ... }continua .....

Page 68: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

68

Árvores Semânticas.... continuação A árvore abaixo é uma árvore semântica para S:

Seja N o nó marcado com (*) rot(N) = {chama(a,a),~programa(a,a),~programa(a,f(a))}

Page 69: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

69

Árvores Semânticas ..... continuação Seja B a seguinte instância básica da cláusula 1:

~chama(a, a), programa(a, f(a))

Então, comp(B) = {chama(a, a), ~programa(a, f(a))}

Como comp(B) rot(N), então N é um nó de falha.

Toda H-interpretação que contém rot(N) falsifica B, e por conseguinte, S.

Page 70: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

70

Árvores Semânticas Teorema 4: I é um modelo para um conjunto S

de cláusulas se e somente se para toda instância básica B de S, comp(B) I.

Teorema 5: Seja S um conjunto de cláusulas: (i) se S é insatisfatível então toda árvore semântica

binária completa para S é fechada. (ii) se existe uma árvore semântica binária

completa e fechada para S então S é insatisfatível.

Page 71: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

71

Árvores Semânticas Exemplo1: Prove que S é insatisfatível

S = { P, Q v R, ~P v ~Q, ~P v ~R}

H = {a}

B(H) = {P, Q, R}

A obtenção de uma árvore fechada indica que S é insatísfatível

Page 72: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

72

Árvores Semânticas Exercício2: Prove que S é insatisfatível

S = { P(x), ~P(x) v Q(f(x)), ~Q(f(a))}

H = {a, f(a), f(f(a)), f(f(f(a))), .....}

B(S) = {P(a), Q(a), P(f(a)), Q(f(a)), ......}

A obtenção de uma árvore fechada indica que S é insatísfatível

Page 73: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

73

Árvores Semânticas Exercício 3: Use Árvore Semântica para

provar a validade do argumento:

Todo Homem é MortalSócrates é um HomemLogo, Sócrates é Mortal

Page 74: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

74

Árvores Semânticas Exercício 4: Repita o exercício anterior

considerando o argumento:

Todo Homem é MortalO pai de Sócrates é um HomemLogo, o pai de Sócrates é Mortal

Sugestão: No alfabeto inclua a função p(x) com o significado:

p(x) : pai de x

Page 75: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

75

Teorema de Herbrand Teorema de Herbrand: Um conjunto de

cláusulas S é insatisfatível se e somente se existe um conjunto finito de instâncias básicas de cláusulas de S que é insatisfatível.

Prova: )Prova-se que se S é satisfatível então todo

conjunto finito de instâncias básicas é satisfatível.

) Prova-se que se S é insatisfatível, então existe um conjunto finito de instâncias básicas de S que é insatisfatível.

Page 76: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

76

Teorema de Herbrand O Teorema de Herbrand reduz o problema

da insatisfatibilidade de um conjunto de cláusulas ao problema de gerar um conjunto finito de instâncias básicas das cláusulas do conjunto que seja insatisfatível. Tal conjunto sempre existirá se o conjunto inicial de cláusulas for realmente insatisfatível, mas poderá não existir em caso contrário.

Page 77: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

77

Teorema de Herbrand O Problema de Prova de Teorema:

Temos um conjunto de fórmulas e desejamos deduzir uma fórmula meta a partir de : (i) Sistemas Axiomáticos:

(ii) Sistemas por Refutação (contradição):

Page 78: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

78

Teorema de Herbrand O Problema de Prova de Teorema:

(i) Sistemas Axiomáticos: procura-se deduzir a partir de usando-se as regras de inferência. Justificativa: — se e somente se |=

(ii) Sistemas por Refutação (contradição): nega-se a fórmula meta e converte-se o conjunto { ~} para um conjunto de cláusulas S. Procura-se então verificar se S é insatisfatível. Justificativa: Se | S então |=

Page 79: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

79

Procedimento de Refutação Sugerido pelo Teorema de Herbrand:

1. Dado um conjunto S de cláusulas, gere sistematicamente todos os conjuntos finitos S0, S1, ..., Sn, ... de instâncias básicas de cláusulas em S.

2. Para cada conjunto Si gerado, teste se Si é insatisfatível.

3. Pare com SIM, se Si é insatisfatível. 4. Pare com NÃO, se não houver novos

conjuntos a gerar.

Page 80: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

80

Procedimento de Refutação Sugerido pelo Teorema de Herbrand:

Esse procedimento: Sempre pára com SIM quando S for

realmente insatisfatível. Nunca pára quando S for satisfatível e

existir um conjunto infinito de instâncias básicas de cláusulas de S.

Sempre pára com NÃO quando S for satisfatível mas o conjunto de instâncias básicas de cláusulas de S é finito.

Page 81: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

81

Procedimento de Refutação Sugerido pelo Teorema de Herbrand:

É um procedimento de decisão parcial (semi decidível) para o problema da insatisfatibilidade de conjunto de cláusulas.

É um procedimento de decisão (decidível) para o problema da insatisfatibilidade de conjunto de cláusulas cujo conjunto de instâncias básicas é finito.

Page 82: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

82

Procedimento de Refutação Sugerido pelo Teorema de Herbrand:

Exemplo: Seja P o conjunto de cláusulas

representando um estado do “Dicionário” do exemplo sobre Teoria de 1a Ordem.

Seja P a seguinte cláusula representando uma quetão (meta): depende(a, e)?

Então, S = {P ~P} formaliza o problema.

continua ...

Page 83: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

83

Procedimento de Refutação Sugerido pelo Teorema de Herbrand:

...continuação Uma solução para esse problema usando

Prova de Teorema consiste em verificar se S = {P ~P} é ou não insatisfatível.

H(S) = {a, ..., e, fortran, ..., direto} S é finito. Logo o procedimento parará. continua ...

Page 84: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

84

Procedimento de Refutação Sugerido pelo Teorema de Herbrand:

...continuação Suponha que o seguinte conjunto B de instâncias

básicas de S seja gerado: 1. chama(a, b) 2. usa(b, e) 3. ~chama(a, b), depende(a, b) 4. ~usa(b, e), depende(b, e) 5. ~depende(a, b), ~depende(b, e), depende(a, e) 6. ~depende(a, e)

Traduzindo-se S para fórmulas da Lóg. Proposicional, pode-se verificar que B é insatisfatível, o que acarreta, pelo Teorema de Herbrand, que S é insatisfatível.

Page 85: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

85

Implementação do Teorema de Herbrand

Gilmore apresentou em 1960 um programa de computador que gerava sucessivamente conjuntos S0, S1, ..., onde Si é o conjunto de todas as instâncias básicas obtidas pela substituição das variáveis em S por elementos do i-ésimo nível de H(S).

Page 86: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

86

Implementação do Teorema de Herbrand

Como cada Si é uma conjunção de instâncias básicas, podemos usar qualquer método da Lógica Proposicional para verificar sua insatisfatibilidade. Gilmore usou o método da multiplicação

Método da Multiplicação: Numa Forma Normal Disjuntiva, qualquer conjunção que contém um par complementar é removida.

Exemplo: (P ^ ~P ^ R ^ S) v R = R

Page 87: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

87

Implementação do Teorema de Herbrand

Exemplo: Seja S = {P(a), ~P(x) Q(f(x)), ~Q(f(a))}Então, H0 = {a}

S0 = P(a) & (~P(a) Q(f(a))) & ~Q(f(a))= ((P(a) & ~P(a)) (P(a) & Q(f(a)))) & ~Q(f(a))

= (P(a) & ~P(a) & ~Q(f(a))) (P(a) & Q(f(a)) & ~Q(f(a)))

= =

Logo, S é insatísfatível

Page 88: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

88

Implementação do Teorema de Herbrand

O método multiplicativo usado por Gilmore é ineficiente. Davis e Putnam introduziram um método mais eficiente, mas para muitos casos o problema continuava.

O problema ocorria porque o procedimento de Herbrand tem uma grande desvantagem: ele precisa gerar os conjuntos S1', S2', ... de instâncias básicas das cláusulas. Para muitos casos, esta seqüência cresce exponencialmente.

Page 89: 1 Teorema de Herbrand. 2 Equivalências de 1 a Ordem As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica

89

Implementação do Teorema de Herbrand

Para evitar a geração de conjuntos de instâncias básicas do Procedimento de Herbrand, Robinson em 1965, propôs um método bem mais eficiente, o Princípio da Resolução, que pode ser aplicado a qualquer conjunto S de cláusulas (não necessariamente instâncias básicas) para testar se S é insatisfatível.