Lógica de
Predicados
Tableaux semânticos
Sistema de Tableaux
Semânticos
Alfabeto da Lógica de Predicados
Conjunto de fórmulas da Lógica de
Predicados
Conjunto de regras de dedução (ou
regras de inferência)
R1=H^G
H
G
R2=HvG
R3=HG
H
H
R4=HG
R5=H
H
H^G H^G
R7=(HvG)
H
G
G
G
R6=(H^G)
H G
R8=(HG) R9=(HG)
H
G
H^G H^G
Regras para quantificadores
R10=(x)H
(x)H
R11= (x)H
(x)H
R12=(x)H
H(t)
R13= (x)H
H(t)
onde t é novo,
que não apareceu
na prova ainda
onde t é qualquer
R10 e 12 devem ter preferência!
Por quê???
Características do Método de
Tableau Semântico
Baseado em árvores
Ramos são decomposições de H em
subfórmulas
ou seja, possibilidades de interpretações
da fórmula
Cada ramo representa uma ou mais
interpretações
Adequado para implementação!
Idéia Básica de
Tableaux Semânticos
Concebido por E. Beth (1954) e Jaako
Hintikka (1955)
Cada interpretação representa um
mundo possível
Interpretação – caminho da raiz da
árvore a uma folha
“Semântica dos Mundos Possíveis”
Buscam admissões de interpretações
Características do Método de
Tableau Semântico (cont.)
Sistema de refutação
Prova por negação ou absurdo
Para provar H supõe-se inicialmente,
por absurdo, H
As deduções desta fórmula levam a um
fato contraditório (ou absurdo)
Então H é verdade!!
Construção de um Tableau
Tableau semântico para o conjunto de
fórmulas {(AvB),(A^ B)}
1. AvB
2.A^ B
3. A B R2, 1.
4. A A R1, 2.
5. B B R1, 2.
Construção do mesmo Tableau
mais curto
Tableau semântico para o conjunto de
fórmulas {(AvB),(A^ B)}
1. AvB
2.A^ B
3. A
R1, 2.
4. B
R1, 2.
5. A
B R2, 1.
Heurística para aplicação de
regras para tableau
Advindas do sistema de tableau
analítico
“First Order Logic”, R. Smullyan (1970)
Adiar a bifurcação
Aplicar primeiro as regras que não
bifurquem
Árvore menor => menos interpretações a
serem analisadas
Ramo aberto e fechado
Ramo fechado – contém uma fórmula B
e sua negação B, ou o símbolo de
verdade false
Tableau fechado – não contém ramos
abertos
Prova e Teorema em Tableaux
Semânticos
Uma prova de H usando tableaux
semânticos é ...
Um tableau fechado associado a...
H!
Neste caso, H é um teorema do sistema de
tableaux semânticos
Exemplo de Prova em
Tableaux Semânticos
Como provar
H=((PQ)^(PQ)^(P))??
Gerar um tableau fechado para H:
(((PQ)^(PQ)^(P)))
1. (((PQ)^(PQ)^(P)))
2. (PQ)^(PQ)^(P)
3. PQ
4. PQ
5. P
6. P
7. P
Q
fechado
8.
P^Q P^Q
9.
P
P
10.
Q
Q
fechado fechado
R5,
R1,
R1,
R1,
R5,
1.
2.
2.
2.
5.
R3, 3.
R9, 4.
R1, 8.
R1, 8.
1. ((PQ)vP))
2. (PQ)
3. P
4. P
5. P^Q
6. P
7. Q
aberto
P^Q
P
Q
fechado
Conseqüência Lógica em
Tableaux Semânticos
Dada uma fórmula H e
um conjunto de hipóteses
b={H1,H2,...Hn},
então H é conseqüência lógica em
tableaux semânticos de b
se existe uma prova, usando tableaux
semânticos de
(H1^H2^...^Hn) H
Notação de Conseqüência Lógica
em Tableaux Semânticos
Dada uma fórmula H, se H é
conseqüência lógica de um conjunto de
hipóteses b={H1,H2,...Hn} em tableaux
semânticos, diz-se que:
b├ H ou
{H1,H2,...Hn}├ H
Exemplo de Conseqüência Lógica
em Tableaux Semânticos
Guga é determinado
Guga é inteligente
Se Guga é determinado, ele não é um
perdedor
Guga é um atleta se é amante do tênis
Guga é amante do tênis se é inteligente
“Guga não é um perdedor” é conseqüência
lógica das afirmações acima??
Solução
Provar
H=(P^Q^((P^R)P1)^(Q1R)^(QQ1))
P1
Mostrando que H é absurdo
(P^Q^((P^R)P1)^(Q1R)^(QQ1))
P1) gera um tableau fechado?
Exercícios de Formalização
A proposta de auxílio está no correio.
Se os árbitros a receberem até sextafeira, eles a analisarão. Portanto, eles a
analisarão porque se a proposta estiver
no correio, eles a receberão até sextafeira. (C, S, A)
Solução
A proposta de auxílio está no correio. Se os
árbitros a receberem até sexta-feira, eles a
analisarão. Portanto, eles a analisarão porque
se a proposta estiver no correio, eles a
receberão até sexta-feira.
C: A proposta de auxílio está no correio.
S: Os árbitros recebem a proposta até Sexta-feira.
A: Os árbitros analisarão a proposta.
{C, SA, CS} |-- A
Exercício
Hoje é Sábado ou Domingo. Se hoje é
Sábado então é um fim de semana. Se
hoje é Domingo então é um fim de
semana. Portanto, hoje é um fim de
semana.
Exercício
Se hoje é Quinta-feira, então amanhã
será sexta-feira. Se amanhã for sextafeira, então depois de amanhã será
sábado. Conseqüentemente, se hoje for
quinta-feira, então depois de amanhã
será sábado.
Exemplo 1:
Construção de um Tableau
H=(x)(y)p(x,y) p(a,a) é tautologia?
Tableau sobre H:
0. ((x)(y)p(x,y) p(a,a))
1. (x)(y)p(x,y)
R8,0
2. p(a,a)
R8,0
3. (y)p(a,y)
R13,1 com t=a
4. p(a,a)
R13,3 com t=a
fechado
Exemplo 2:
Construção de um Tableau
H=(x)p(x) (y)p(y) é tautologia?
Tableau sobre H:
0. ((x)p(x) (y)p(y))
1. (x)p(x)
R8,0
2. (y)p(y)
R8,0
3. (y)p(y)
R11,2
4. p(a)
R13,3 com t=a
4. p(a)
R13,1 com t=a
fechado
Exemplo 3:
Construção de um Tableau
W= (x)(Bom(x) Alegria) (x)
(Bom(x) Alegria)
Tableau sobre W???
0. ((x)(Bom(x) Alegria) (x) (Bom(x) Alegria))
1. (x)(Bom(x) Alegria)
R8,0
2. (x) (Bom(x) Alegria))
R8,0
3. (x)(Bom(x) Alegria)
R5,1
4. (x)(Bom(x) Alegria)
R11,2
5. (x)Bom(x)
R8,4
6. Alegria
R8,4
7. Bom(a)
R13, t=a
8. (x)Bom(x)
9. Bom(a)
fechado
Alegria
fechado
R3,3
R13,8, t=a
Exercícios
J=((x)p(x)^(x)q(x)) (x)(p(x)^q(x))
P=(x)(p(x)^q(x)) (x)p(x)^ (x)q(x))
Q=(x)(p(x) (y)(p(y))
Exemplo de prova
M=(x)(y)p(x,y) p(a,a)
0. ((x)(y)p(x,y) p(a,a))
1. (x)(y)p(x,y)
R8,0
2. p(a,a))
R8,0
3. (y)p(t1,y)
R12,1, t1 novo, t1=a
4. p(t1,t2)
R12,1, t2 novo, t2=a e t1
Fechado???
Se R12 fosse usada com t1 e t2=a (errado!), o
tableau seria fechado
Exemplo 2 de prova
H=(x)p(x)^q(x) (x)p(x) é
tautologia?
Fazer o Tableau sobre H
Exemplo 2 de prova (cont.)
H=(x)p(x)^q(x) (x)p(x)
0. ((x)p(x)^q(x) (x)p(x))
1. (x)p(x)^q(x) R8,0
2. (y)p(x)
R8,0
3. p(t)
R12,2, t novo
4. p(t)^q(t)
R13,1, t qualquer
4. p(t)
R1,4
5. q(t)
R1,4
6. Fechado - Que alegria
Mais exercícios... Fumo!!
E1=(x)(p(x) q(x))
E2=(x)p((x) (x)q(x))
E1 E2??
G1=(x)(p(x) q(x))
G2=(x)p((x) (x)q(x))
G1 G2??
G2 G1??
Conseqüência Lógica em
Tableaux Semânticos
Dada uma fórmula H e
um conjunto de hipóteses
b={H1,H2,...Hn},
então H é conseqüência lógica em tableaux
semânticos de b
se existe uma prova, usando tableaux
semânticos de
(H1^H2^...^Hn) H
Porém em Lógica de 1ª. Ordem, isto é raro...
Notação de Conseqüência Lógica
em Tableaux Semânticos
Dada uma fórmula H, se H é conseqüência
lógica de um conjunto de hipóteses
b={H1,H2,...Hn} em tableaux semânticos,
diz-se que:
b├ H ou
{H1,H2,...Hn}├ H
├{H1,H2,...Hn,H}
Queremos provar, por negação ao absurdo,
que b U H é insatisfatível
b U H├ Falso
Exercício de Cons. Lógica
{(x)(Homem(x) Mortal(x)),
Homem(Sócrates)} ├ Mortal(Sócrates)?
Prova por tableaux de
H =(x)(Homem(x) Mortal(x))^
Homem(Sócrates)) Mortal(Sócrates)
H= ((x)(Homem(x) Mortal(x))^
Homem(Sócrates)) Mortal(Sócrates))
Exercício de Cons. Lógica
(cont.)
H= ((x)(Homem(x) Mortal(x))^ Homem(Sócrates))
Mortal(Sócrates))
Por R8, queremos um tableau fechado que começa SEMPRE
com as premissas e negação dõ conseqüente
1. (x)(Homem(x) Mortal(x))^ Homem(Sócrates)) R3,0
2. (x)(Homem(x) Mortal(x))
R1,1
3. Homem(Sócrates)
R1,1
4. Mortal(Sócrates)
R3,0
Portanto se eu gerar o conseqüente (Mortal(Sócrates))
diretamente, eu já tenho uma contradição!
Podem (e devem) usadas outras contradições
Exercício de Cons. Lógica
(cont.)
1. (x)(Homem(x) Mortal(x))^
Homem(Sócrates))
2. (x)(Homem(x) Mortal(x))
3. Homem(Sócrates)
4. Mortal(Sócrates)
5. Homem(Sócrates) Mortal(Sócrates)
6. Homem(Sócrates)
Fechado
Mortal(Sócrates)
Fechado
E para a
implementação??
Tem um probleminha...
0. ((x)(Bom(x) Alegria) (x) (Bom(x) Alegria))
1. (x)(Bom(x) Alegria)
R8,0
2. (x) (Bom(x) Alegria))
R8,0
3. (x)(Bom(x) Alegria)
R5,1
4. (x)(Bom(x) Alegria)
R11,2
5. (x)Bom(x)
R8,4
6. Alegria
R8,4
7. Bom(a)
R13, t=a
8. (x)Bom(x)
Alegria
9. Bom(a1)
fechado
10. Bom(a2)
.... E nunca fazer x=a
R3,3
R13,8, t=a
Solução
Tableaux semânticos podem ser usados,
mas
Podem não ser decidíveis (por quê?)
ocupam muita memória, para gerar as
instanciações possíveis
Aguardem os próximos capítulos...
Unificação!!