Escolar Documentos
Profissional Documentos
Cultura Documentos
Nelma Moreira
Departamento de Ciencia de Computadores
Faculdade de Ciencias, Universidade do Porto
email: nam@ncc.up.pt
2004-2005
Agradecimentos
Conte
udo
1 L
ogica proposicional
1.1
Linguagens da l
ogica proposicional . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Sem
antica da l
ogica proposicional . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1
1.2.2
Func
oes de verdade . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.2.3
12
Formas normais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.3.1
13
1.3.2
13
1.3.3
15
1.3.4
F
ormulas de Horn e Satisfazibilidade . . . . . . . . . . . . . . . . . . .
16
1.3.5
Satisfazibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Sistemas dedutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
1.4.1
Metodos de deduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
1.4.2
Sistemas de deduc
ao axiomaticos . . . . . . . . . . . . . . . . . . . . .
23
1.4.3
Sistema de deduc
ao natural, DN . . . . . . . . . . . . . . . . . . . . .
24
38
1.5.1
38
1.5.2
. . . . . . . . . . . .
42
1.6
Decidibilidade da l
ogica proposicional . . . . . . . . . . . . . . . . . . . . . .
45
1.7
45
1.7.1
45
1.7.2
46
1.7.3
Tableaux sem
anticos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
1.7.4
Resoluc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
1.3
1.4
1.5
Departamento de Ci
encia de Computadores F.C.U.P.
CONTEUDO
2 L
ogica de primeira ordem
51
2.1
Linguagens da l
ogica de primeira ordem . . . . . . . . . . . . . . . . . . . . .
52
2.2
Sem
antica da l
ogica de 1a ordem . . . . . . . . . . . . . . . . . . . . . . . . .
55
2.2.1
60
2.2.2
Equivalencia sem
antica . . . . . . . . . . . . . . . . . . . . . . . . . .
69
2.2.3
Substituic
ao de variaveis . . . . . . . . . . . . . . . . . . . . . . . . . .
70
2.2.4
71
Sistema de deduc
ao natural para a logica de 1a ordem . . . . . . . . . . . . .
72
2.3.1
73
2.3.2
73
2.3.3
. . . . . . . . . . .
74
2.4
Equivalencia dedutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
2.5
Integridade e completude . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
2.5.1
84
2.5.2
86
2.5.3
. . . . . . . . . . . . . . . . . .
87
2.5.4
91
Axiomatizac
oes e teorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
2.6.1
97
2.6.2
98
2.6.3
99
2.6.4
Teorias da l
ogica de 1a ordem
2.3
2.6
2.7
. . . . . . . . . . . . . . . . . . . . . .
101
101
2.7.1
101
2.7.2
Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
102
3 Indecidibilidade e Incompletude
105
3.1
105
3.2
Indecidibilidade da L
ogica de 1a ordem
. . . . . . . . . . . . . . . . . . . . .
106
3.2.1
Revis
oes de Decidibilidade e Maquinas de Turing . . . . . . . . . . . .
106
3.2.2
Linguagem L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
112
3.3
Subconjuntos decidveis de L . . . . . . . . . . . . . . . . . . . . . . . . . .
116
3.4
117
4 Programa
c
ao em L
ogica
4.1
122
Cl
ausulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
122
4.1.1
123
Convers
ao em forma clausal . . . . . . . . . . . . . . . . . . . . . . . .
Departamento de Ci
encia de Computadores F.C.U.P.
CONTEUDO
4.1.2
4
Satisfazibilidade de Clausulas . . . . . . . . . . . . . . . . . . . . . . .
127
Unificac
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
132
4.2.1
134
4.3
O operador TP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
137
4.4
Resposta correcta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
139
4.5
Resoluc
ao-SLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
140
4.5.1
142
4.5.2
Completude da resolucao-SLD . . . . . . . . . . . . . . . . . . . . . .
144
4.2
A Sistema de dedu
ca
o natural para a l
ogica proposicional
146
Bibliografia
148
Departamento de Ci
encia de Computadores F.C.U.P.
Captulo 1
L
ogica proposicional
A logica proposicional remonta a Aristoteles, e teve como objectivo modelizar o raciocnio
humano. Partindo de frases declarativas (proposico
es), que podem ser verdadeiras (V) ou
falsas (F) estuda-se o processo de construcao e a veracidade de outras proposicoes usando
conectivas como ou ( ), e ( ), n
ao (), se. . . ent
ao. . . (). Se p e q s
ao proposicoes, p q
e uma proposic
ao verdadeira se p e q o forem, e e uma proposicao falsa, caso contrario; p q
e uma proposic
ao verdadeira se p ou q o forem, e falsa, caso contrario;p e uma proposic
ao
verdadeira se p for falsa, e falsa se p for verdadeira.
Considera as seguintes frases declarativas (com o respectivo valor de verdade):
Os gorilas s
ao mamferos V
O Porto e uma cidade V
2+3=6 F
3NV
3>7F
Um quadrado tem 6 lados F
Entao, podemos concluir que:
Os gorilas s
ao mamferos e O Porto e uma cidade V
porque e uma conjuncao de proposicoes V
2 + 3 = 6 ou 3 N V
porque e uma disjuncao de proposicoes das quais uma e V
nao 3 > 7 V
porque e uma negacao de uma proposicao F
Departamento de Ci
encia de Computadores F.C.U.P.
1.1. LINGUAGENS DA LOGICA
PROPOSICIONAL
Se 7 > 3 ent
ao 3 + 3 = 6 V
porque uma implicacao e V sse o consequente e V sempre que o antecedente e V
Se 3 > 7 ent
ao 2 + 3 = 6 V
porque e uma implicacao cujo antecedente e F.
Cada proposicao vai ser representada por uma vari
avel proposicional (p, q, s, t, p1 , . . . ) e as
conectivas l
ogicas por smbolos n-
arios. Em particular temos:
Conectiva
Smbolos
Aridade
Conjuncao
Disjuncao
Negacao
Implicacao
1.1
, , !
,
Linguagens da l
ogica proposicional
Uma linguagem da l
ogica proposicional e formada a partir dos seguintes conjuntos de smbolos
primitivos:
um conjunto numeravel de variaveis proposicionais
VP rop = {p, q, r, . . . , p1 , . . .}
conectivas l
ogicas , , e
os parentesis ( e )
Defini
c
ao 1.1. Uma f
ormula bem-formada (,,,. . . ) e definida indutivamente pelas seguintes regras:
i) uma vari
avel proposicional p e uma f
ormula
ii) se e uma f
ormula ent
ao () e uma f
ormula
iii) se e s
ao f
ormulas ent
ao ( ), ( ) e ( ) s
ao f
ormulas
Exemplos de formulas sao:
((p (p)) (p (q r)))
(((p) q) (p (q (r))))
Departamento de Ci
encia de Computadores F.C.U.P.
1.1. LINGUAGENS DA LOGICA
PROPOSICIONAL
O conjunto das formulas da logica proposicional pode tambem ser descrito pqela seguinte
gramatica independente de contexto, em notacao BNF:
:= p | () | ( ) | ( ) | ( )
uma gramatica independente de contexto que gere a linguagem das f
ormulas da l
ogica proporcional, onde p VP rop . Usando a gramatica podemos associar a cada formula uma arvore
sint
actica.
p
q
Defini
c
ao 1.2. Uma sub-f
ormula imediata e definida indutivamente pelas seguintes regras:
1. uma vari
avel proposicional n
ao tem sub-f
ormulas imediatas;
2. () tem como sub-f
ormula imediata;
Departamento de Ci
encia de Computadores F.C.U.P.
1.2. SEMANTICA
DA LOGICA
PROPOSICIONAL
3. as f
ormulas ( ), ( ) e ( ) tem e como sub-f
ormulas imediatas.
Defini
c
ao 1.3. Uma f
ormula e uma sub-f
ormula duma f
ormula se e s
o se:
1. e uma sub-f
ormula imediata de
2. existe uma f
ormula tal que e uma sub-f
ormula de e e uma sub-f
ormula de
Dada uma arvore sintactica duma formula, cada no define uma sua sub f
ormula.
Exemplo 1.2. Para o exemplo 1.1 as sub-f
ormulas s
ao:p, q, p, r, p p, q r, p (q
r)e(p (q r)).
1.2
Sem
antica da l
ogica proposicional
rizac
ao v pode ser estendida ao conjunto das f
ormulas:
i. para p VP rop v(p) j
a est
a definido
ii.
v() = V
se
v() = F
v() = F
se
v() = V
iii.
v( ) = V
se
v( ) = F
v() = V e v() = V
caso contr
ario
iv.
v( ) = V
v( ) = F
se
v() = V ou v() = V
caso contr
ario
Departamento de Ci
encia de Computadores F.C.U.P.
1.2. SEMANTICA
DA LOGICA
PROPOSICIONAL
v.
v( ) = F
se
v() = V e v() = F
v( ) = V
caso contr
ario
F
V
Dada uma formula , o valor de v() pode assim ser recursivamente calculdado a partir dos
valores atribudos `as variaveis da formula .
Por exemplo se v(p) = V, v(q) = F e v(r) = V, podemos calcular o valor de v((p q) r):
( p q ) r
p q r
V F V
F
F F
Uma formula com n variaveis proposicionais tem 2n valorizacoes. Porque?
Podemos construir uma tabela em que cada linha corresponde a uma delas. Seja a formula
(p q) r, temos as seguintes valorizacoes:
1.2.1
Defini
c
ao 1.5. Uma f
ormula e
satisfazvel se existe uma valorizac
ao v tal que v() = V. Escreve-se |=v e diz-se que v
satisfaz
Departamento de Ci
encia de Computadores F.C.U.P.
1.2. SEMANTICA
DA LOGICA
PROPOSICIONAL
10
uma contradi
c
ao se para todas as valorizac
oes v, v() = F. Escreve-se *|= . Ex: *|=
p p.
Proposi
ca
o 1.1. Uma f
ormula e uma tautologia se e s
o se e uma contradica
o. Uma
f
ormula e satisfazvel se e s
o se n
ao e uma tautologia. Uma f
ormula e nao-satisfazvel
se e s
o se e uma contradic
ao.
Demonstrac
ao. Seja v uma atribuicao de valores de verdade. Por definicao, v() = V se e s
o
se v() = F. Se e verdade para todas as valorizacoes entao e falsa para todas elas. Do
mesmo modo se concluem a segunda e terceira afirmacao.
Defini
c
ao 1.6. Seja um conjunto de f
ormulas. Uma valorizac
ao v satisfaz se e s
o se v
satisfaz toda a f
ormula . O conjunto e satisfazvel se existe uma valorizac
ao que o
satisfaz. Uma f
ormula e uma consequencia sem
antica de , se para toda a valorizac
ao v
que satisfaz , se tem v() = V; e escreve-se |= .
Todos estes conceitos podem ser avaliados usando tabelas de verdade. Uma formula e
satisfazvel, se houver uma linha da tabela para a qual o seu valor e V; uma tautologia se
Se |= e |= ent
ao e s
ao sem
anticamente equivalentes(i.e as suas tabelas de verdade
s
ao iguais), e escreve-se .
Alguns exemplos de f
ormulas sem
anticamente equivalentes:
(comutatividade)
( )
( )
( )
( )
( )
( )
(comutatividade)
(Lei de de DeMorgan)
(Lei de DeMorgan)
(associatividade)
( )
( )
(idempotencia)
( )
(idempotencia)
( )
(associatividade)
( )
( ) ( )
(distributividade)
(Dupla negacao)
( )
( ) ( )
(distributividade)
Departamento de Ci
encia de Computadores F.C.U.P.
1.2. SEMANTICA
DA LOGICA
PROPOSICIONAL
11
1.2.2
Fun
c
oes de verdade
Qualquer funcao de f : {V, F}n {V, F}, com n > 0 diz-se uma func
ao de verdade ou
funcao booleana.
f1
x1
f2
x1
f3
x1
f4
Cons-
Por hip
otese de inducao existem i , com variaveis p1 , . . . , pn , tal que Fi = fi para
i = 1, 2. Tome-se = (pn+1 1 ) (pn+1 2 ), entao F = f .
Proposi
ca
o 1.3. O conjunto de conectivas {, } e completo.
Departamento de Ci
encia de Computadores F.C.U.P.
1.2. SEMANTICA
DA LOGICA
PROPOSICIONAL
12
Demonstrac
ao. Basta ver que ( ) e ( ).
Exerccio 1.4. Mostra que o conjunto de conectivas {, } e completo. (
1.2.3
Podemos restringuir-nos s
o a conjuntos completos de conectivas. Em particular, podiamos
ter considerado na definicao da linguagem da logica proposicional, apenas ou:
as conectivas , e
as conectivas e
...
E considerar as restantes abreviaturas.
Uma das vantagens de ter um n
umero menor de tipos de formulas e o de facilitar as demonstracoes... Mas tambem podemos definir outras conectivas. Por exemplo uma para cada uma
das funcoes de verdade unarias ou binarias... As mais usuais sao:
Designacao
Conectiva
Falso
Verdade
Implicacao
Equivalencia
Ou Exclusivo
N
ao-e
N
ao-ou
( ) ( )
( ) ( )
( )
( )
Departamento de Ci
encia de Computadores F.C.U.P.
13
1.3
Formas normais
1.3.1
Demonstrac
ao. Basta usar as Leis de DeMorgan e eliminar as duplas negacoes.
Exemplo 1.3. Determinar a forma normal negativa de ((p q) p).
((p q) p)
(p q) p
(DeMorgan)
(p q) p
(DeMorgan)
(p q) p
(Dupla Negac
ao)
1.3.2
com n vari
aveis proposicionais e em forma normal disjuntiva, tal que F = f .
Departamento de Ci
encia de Computadores F.C.U.P.
14
Demonstrac
ao. Se f = F, para todos os valores dos argumentos, entao = p1 p1 . Senao,
pi
se v(pi ) = V
pi
se v(pi ) = F
Departamento de Ci
encia de Computadores F.C.U.P.
15
3. aplicar a distributividade: ( ) ( ) ( )
( ) ( ) ( )
Exerccio 1.9. Determina uma forma normal disjuntiva para
(p r) (q p)
(
Resolu
ca
o 1.3.2 (1.9).
(p r) (q p) ((p r) (q p)) ((q p) (p r))
((p r) (q p)) ((q p) (p r))
((p r) (q p)) ((q p) p r)
(((p r) (q p)) (q p)) (((p r)
(q p)) (p r))
(p r (q p)) (q p (q p))
(p r (p r)) (q p (p r))
(p r q) (p r p) (q p q) (q p p)
(p r p) (p r r) (q p p) (q p r)
(p r q) (q p r)
No u
ltimo passo eliminamos conjunco
es que n
ao eram satisfazveis.
Lema 1.2. Uma conjunca
o de literais l1 . . . ln e satisfazvel se e s
o se para todo o
1 i, j n, li n
ao e lj .
Corol
ario 1.2. Uma f
ormula em forma normal disjuntiva e satisfazvel se e s
o se alguma
das suas conjunco
es de literais o for.
Obtemos assim um metodo de determinar se uma formula e satisfazvel. Em particular, se a
formula ja estiver em forma normal disjuntiva o metodo e linear no seu tamanho.
Exerccio 1.10. Explicita este metodo. (
1.3.3
Departamento de Ci
encia de Computadores F.C.U.P.
16
Entao, e facil determinar se uma formula em forma normal conjuntiva e uma tautologia: basta
verificar se todas as disjuncoes sao tautologias, pelo metodo dado no Lema 1.3.
Mas como obter uma formula em forma normal conjuntiva?
1. se tivermos a tabela de verdade, por um metodo dual ao da forma normal disjuntiva:
isto e, escolher as linhas que correspondem a F, considerar para cada uma disjuncao de
literais tal que se xi = V coloca-se pi e se xi = F coloca-se pi ; e finalmente tomar a
conjuncao dessas disjuncoes (Verifica a correcao!).
2. se tivermos uma f
ormula, adaptar o metodo dado para a forma normal disjuntiva, usando
a distributividade para a conjuncao...
Exerccio 1.11. Obtem uma f
ormula em forma normal conjuntiva correspondente a
` tabela
de verdade dada anteriormente. (
Resolu
ca
o 1.3.3. Uma f
ormula e:
(p1 p2 p3 ) (p1 p2 p3 ) (p1 p2 p3 ) (p1 p2 p3 )
Exerccio 1.12. Determina uma forma normal conjuntiva equivalente `
a f
ormula
(p r) (q p)
(
1.3.4
F
ormulas de Horn e Satisfazibilidade
Uma f
ormula de Horn da logica proposicional e uma formula em forma normal conjuntiva em
que em cada disjuncao existe no maximo um literal positivo. Exemplos de formulas de Horn
s
ao:
p q (q p)
(p q s p) (q r p) (p s s)
(p q s) (q r p) s
Departamento de Ci
encia de Computadores F.C.U.P.
17
ou se os pi nao existem)
Fp
Nota que nem todas as formulas tem uma formula de Horn equivalente...basta que as suas
formas normais conjuntivas tenham mais que um literal positivo que nao possa ser simplificado...
Para determinar se uma f
ormula de Horn da l
ogica proposicional e satisfazvel podemos
usar um algoritmo (mais eficiente que a construcao da tabela de verdade correspondente e a
verificacao se para alguma linha a formula tem o valor V).
Vamos ilustrar o algoritmo com a f
ormula p q (q p):
comecar por colocar numa linha as vari
aveis proposicionais que ocorrem na formula e
colocar a f
ormula. Ex:
p q (q p)
p q
p q (q p)
tabela de verdade (para essa linha), analisando cada disjuncao para determinar se, para
ela ser verdadeira, se pode determinar mais valores para as variaveis proposicionais:
p
(q
p)
V V
(q
(q
p)
V V
p)
Departamento de Ci
encia de Computadores F.C.U.P.
18
1. Justifica a correca
o do algoritmo, isto e, que atribui o valor verdade
se e s
o se a f
ormula de Horn e satisfazvel.
2. Aplica o algoritmo a
`s seguintes f
ormulas:
(p q) (q r) q
p (p q) (q p)
p (p q) q
p (p q) r
(
1.3.5
Satisfazibilidade
O problema de determinar se uma formula da logica proposicional e satisfazvel e um problema com muitas aplicacoes em Ciencia de Computadores uma vez que muitos problemas
de combinatoria e optimizacao se podem reduzir a ele (p.e. resolucao de puzzles, como o
sudoku, etc). J
a vimos que este problema se pode resolver atraves da construcao de tabelas
de verdade, mas no pior caso isso pode ser exponencial no n
umero de vari
aveis. Na realidade,
nao se conhece nenhum algoritmo mais eficiente para resolver este problema para qualquer
tipo de formulas. Contudo, existem classes de formulas para as quais o problema e polinomial
(linear): por exemplo se a formula estiver em forma normal disjuntiva ou for uma formula de
Horn. Por outro lado, no caso geral existem diversos algoritmos que na pr
atica se comportam
muito melhor que o da construcao de tabelas de verdade. Estes algoritmos podem ser aplicados a f
ormulas genericas (com qualquer tipo de conectiva) mas sao especialmente simples
se as f
ormulas estiverem em forma normal conjuntiva (FNC). Este tipo de formulas pode ser
representado de forma compacta usando a nocao de cl
ausula.
1.3.5.1
Cl
ausulas
Defini
c
ao 1.8. Uma cl
ausula e uma disjunca
o de literais l1 l2 . . . ln , n 0. Uma
cl
ausula pode-se representar por um conjunto de literais. Se n = 0 dizemos que a cl
ausula e
vazia e corresponde a F. Se n = 1 dizemos que a cl
ausula e unitaria.
Departamento de Ci
encia de Computadores F.C.U.P.
19
l, se l e uma vari
avel (positivo)
p,
se l e da forma p (negativo)
satisfazibilidade.
1.3.5.2
O algoritmo de Davis-Putnam
O algoritmo que vamos apresentar e uma variante do original de 1960 [DP60, DLL62] e
que continua a ser a base de muitos dos algoritmos que actualmente s
ao mais competitivos
(estando as diferencas nas estruturas de dados e nas diversas heursticas que usam).
A ideia base do algoritmo e considerar para cada variavel os possveis valores de verdade e
simplificar a f
ormula de acordo com essas atribuicoes ate se poder concluir que ela e ou n
ao
satisfazvel. As simplificacoes incluem um caso especial para as clausulas unitarias. Por uma
questao de legibilidade vamos continuar a representacao de cada clausula usando disjuncoes
(em vez de um conjunto de literais).
Defini
c
ao 1.10. Seja S um conjunto de cl
ausulas. Um conjunto S " e obtido de S por propagacao unitaria se S " se obtem de S por repetica
o da seguinte transformaca
o: se S contem
uma cl
ausula unit
aria (i.e. com um u
nico literal l), ent
ao:
1. remover de S todas as cl
ausulas da forma l C "
2. substituir em S cada cl
ausula da forma l C " pela cl
ausula C " .
Departamento de Ci
encia de Computadores F.C.U.P.
20
(1.2)
Aplicando a propagaca
o a p2 resulta em:
{p3 , p7 , p3 p4 , p3 p5 ,p4 p q,
p5 p6 r, p q p6 , p p7 , r p7 }
(1.3)
(1.4)
(1.5)
(1.6)
!
1
DLL ( S ) {
input : conjunto de c l a u s u l a s S
output : s a t i s f a z i v e l ou nao s a t i s f a z i v e l
S := propaga ( S )
l := s e l e c c i o n a _ l i t e r a l ( S )
if DLL ( S {l}) = s a t i s f a z i v e l
8
9
10
11
then return s a t i s f a z i v e l
else return DLL ( S {l})
Departamento de Ci
encia de Computadores F.C.U.P.
21
(1.7)
Como n
ao tem cl
ausulas unit
arias n
ao podemos aplicar a propagac
ao. Temos que seleccionar
um literal, por exemplo, p. Consideremos, primeiro, o conjunto S aumentado com p.
Podemos nesta caso aplicar a propagaca
o () sucessivamente:
{p q, p q, p q, p q, p}
{q, q} {F}
(1.8)
Como S {p} e n
ao satisfazvel, pelo algoritmo temos que considerar ainda S {p}. Neste
caso a propagac
ao e:
{p q, p q, p q, p q, p}
{q, q} {F}
(1.9)
cl
ausulas que contem um literal puro.
Departamento de Ci
encia de Computadores F.C.U.P.
22
{p q, p q r, p, r}
(1.10)
eliminadas. Fic
amos apenas com {r}. Como tambem e puro, podemos eliminar e concluir
(1.11)
(
Exerccio 1.15. O seguinte conjunto de cl
ausulas formaliza o princpio de Dirichlet (ou
pigeonhole) para 3 pombos e 2 poleiros: e impossvel colocar 3 pombos em 2 poleiros de
modo que cada poleiro s
o comtem um pombo! Considera o seguinte conjunto de vari
avies
proposicionais {pij | i = 1..3, j = 1, 2} em que pij denota que pombo i foi colocado no poleiro
j. As cl
ausulas seguintes indicam que cada pombo e colocado nalgum poleiro:
p11 p12 , p21 p22 , p31 p32
Agora e necess
ario formalizar que cada poleiro tem no m
aximo um pombo: para cada par de
pombos i1 e i2 e qualquer poleiro j tem-se que ambos n
ao podem estar em j, i.e. (pi1 j pi2 j )
Mostra a n
ao satisfazibilidade o conjunto de 9 cl
ausulas usando o algoritmo DLL. (
Leituras suplementares [BE00] (Cap. 3, 4, 7) [HR00] (Cap 1.5) [GLM97] (Cap 2.2, 4.3)
Departamento de Ci
encia de Computadores F.C.U.P.
1.4
23
Sistemas dedutivos
Todos os homens s
ao mortais
Socrates e um homem
Socrates e mortal
e
1
1.4.1
M
etodos de dedu
c
ao
1.4.2
Sistemas de dedu
c
ao axiom
aticos
Um sistema de deduc
ao axiom
atico D e um metodo sintactico, constitudo por:
axiomas (l
ogicos): formulas base, que caracterizam as propriedades das conectivas
regras de infer
encia: modos de obter f
ormulas a partir de outras
Defini
c
ao 1.12. Uma sucess
ao finita de f
ormulas 1 , . . . n e uma deducao de n em D a
partir de um conjunto de f
ormulas se para cada 1 i n se verifica:
Departamento de Ci
encia de Computadores F.C.U.P.
24
i
i e um axioma
i resulta de 1 . . . i1 por aplicaca
o duma regra de inferencia
Neste caso diz-se tambem que n pode ser deduzido a partir de e escreve-se 2D n .
A f
ormula n e um teorema (de D) se = e escreve-se 2D n . Neste caso, a deduc
ao
1 , . . . , n 2 D
e D ser
a omitido se for explcito no contexto.
1.4.3
Sistema de dedu
c
ao natural, DN
Sistema inventado por G. Gentzen (1935) (e tambem por S. Jaskowski), e cujas regras pretendem reflectir as formas de raciocnio usadas nas demonstracoes matematicas. Nao tem
axiomas, s
o regras de inferencia. Uma das suas originalidades, em relacao a outros sistemas
axiomaticos, e possibilidade de introduzir hipoteses no meio da deducao, mas que terao se
ser eliminadas antes da deducao perminar. Outra caracterstica e a dualidade das regras.
Para cada conectiva l
ogica existem dois tipos de regras: de introduc
ao (da conectiva) e de
eliminac
ao (da conectiva).
Consideremos um exemplo. Suponhamos que queremos concluir que
(p (q r)) ((p q) (p r))
e uma tautologia (e v
alida).
Para tal, supomos que (p (q r)) se verifica e tentamos concluir ((p q) (p r)).
Como temos uma disjuncao no antecedente, temos que supor separadamente que p se verifica
ou que (q r) se verifica (eliminac
ao de ). Suponhamos p, entao p q tambem se verifica
(introduc
ao de ). Mas entao, tambem se verifica a sua conjuncao ((p q) (p r))
(introduc
ao de ). Agora se (q r) se verifica, entao q e r verificam-se (eliminac
ao de ).
Entao (p q) e (p r), tambem se verifica, assim como a sua conjuncao. Temos a seguinte
a
rvore de demonstraca
o:
Departamento de Ci
encia de Computadores F.C.U.P.
25
q r
p
p q
p r
((p q) (p r))
p q
p r
((p q) (p r))
Como supondo (p (q r)) se deduz ((p q) (p r)), podemos concluir que
de 1 . . . k infere-se n
e pode ser representada graficamente (em arvore) por:
1 , . . . , k
n
1.4.3.1
Introdu
ca
o de
I
Se ja deduzimos e ent
ao podemos deduzir
Elimina
c
ao de
E1
E2
r
I
em que as folhas s
ao as premissas. Mas estas
arvores podem ficar muito grandes, portanto vamos considerar uma representac
ao linear para as deduc
oes: numeram-se os passos, separamse as premissas e, para cada passo, indica-se qual a regra a aplicar e quais as f
ormulas que
Departamento de Ci
encia de Computadores F.C.U.P.
26
p q
E, 1
q r
I, 3, 2
1.4.3.2
(p q) r
p q
E, 1
E, 1
E, 2
r q
I, 3, 4
Introdu
ca
o de
I1
I2
se j
a deduzimos a disjuncao
se supusermos deduzirmos (numa sub-deducao)
e se supusermos deduzirmos (numa sub-deducao)
ent
ao podemos deduzir
Departamento de Ci
encia de Computadores F.C.U.P.
27
1
2
p q
q r
6
1.4.3.3
E, 2
E, 4
E, 1, 23, 45
Regra DN de Repeti
c
ao
Numa deduc
ao podemos sempre repetir uma conclusao ja obtida. A essa regra chamaremos
repeti
c
ao:
(p q) q
p q
6
1.4.3.4
E, 2
R, 4
E, 1, 23, 45
Utiliza
c
ao de sub-dedu
c
oes
Como j
a foi referido, uma deducao pode ser composta por sub-deducoes que introduzem novas
premissas. Mas nem essa premissa, nem as formulas delas deduzidas podem ser usadas depois
da sub-deducao em que ocorrem terminar. Considera a seguinte deduca
o:
Departamento de Ci
encia de Computadores F.C.U.P.
28
(p q) (q r)
p q
E, 2
E, 2
q r
E, 5
E, 1, 24, 56
q p
I, 7, 3
Esta deducao esta ERRADA! No passo 8 e usado um passo que ocorre numa sub-deducao que
ja terminou. Uma sub-deducao e iniciada com a introducao de novas hipoteses (premissas) e
as deducoes a feitas dependem delas. Quando termina a sub-deducao, essas hipoteses deixam
ser assumidas e portanto n
ao se podem utilizar!
1.4.3.5
Elimina
c
ao de
Introdu
ca
o de
Esta regra corresponde a demonstracoes por contradicao. Representamos por F uma contradicao (p.e., ).
[]
..
.
F
originais.
1.4.3.6
Regras DN para F
Se nao considerarmos F como uma abreviatura de , temos de ter uma regra para o
introduzir1 :
1
caso contr
ario podemos ignorar...
Departamento de Ci
encia de Computadores F.C.U.P.
29
Introdu
ca
o de F
..
.
FI
F
Se deduzimos e ent
ao temos uma contradicao.
Exemplo 1.11. Mostrar que 2 .
Resolu
ca
o 1.11.1.
1
FI, 1, 2
I, 23
Elimina
c
ao de F
F
FE
M
etodos de demonstra
c
ao
A regra da elimina
ca
o da disjun
ca
o corresponde ao metodo
Se 2 e racional ent
ao basta tomar b = c = 2
Se
e irracional, ent
ao seja b =
2
2.2
= 2 = 2,
2 e c = 2. Vem bc = 2
que e racional.
de referir que a demonstracao anterior nao e construtiva, uma vez que nao foi determinado
E
2
ao racional.
se 2 e ou n
Departamento de Ci
encia de Computadores F.C.U.P.
Demonstra
c
ao por contradi
c
ao
30
A regra da introdu
ca
o da nega
ca
o, e usada nas de-
Mostrar que 2 n
ao e racional.
Demonstrac
ao. Suponhamos que 2 e racional. Entao existem p e q tal que 2 = p/q, com
um deles mpar (porque?). Entao
p2
q2
p q
p q
E, 3
FI, 2, 4
(p q)
I, 35
p q
E, 8
10
FI, 7, 9
11
(p q)
I, 810
(p q)
12
b) 2 (p p)
E, 1, 211
p p
E, 1
E, 1
FI, 2, 3
(p p)
I, 14
Departamento de Ci
encia de Computadores F.C.U.P.
31
(p q)
p q
I, 2
FI, 1, 3
I, 24
E, 24
Elimina
c
ao de (modus ponens)
Esta regra e habitualmente conhecida por modus ponens (em latim, modo que afirma) e
corresponde a raciocnios condicionais:
p (q r)
pq
qr
E, 1, 3
E, 2, 3
E, 4, 5
Introdu
ca
o de (regra da deducao)
A regra para introduzir uma implicacao necessita duma sub-deducao: supondo tentamos
deduzir . Se tal acontecer, terminamos a sub-deducao (retirando a suposicao) e conclumos
:
[]
..
.
Departamento de Ci
encia de Computadores F.C.U.P.
32
1
2
p q
I, 2
E, 1, 3
pr
5
1.4.3.9
I, 24
Dedu
c
oes sem premissas
4
5
FI, 1, 2
I, 23
I, 14
Em geral temos:
Lema 1.4. (da dedu
ca
o) {} 2 se e s
o se 2 .
Demonstrac
ao. : Se {} 2 , obtemos 2 , supondo , usando a deducao
A partir das regras base podemos obter regras derivadas que correspondem a teoremas no
sistema DN (eventualmente usando o lema da deducao).
Modus Tollens
MT
Departamento de Ci
encia de Computadores F.C.U.P.
33
Resolu
ca
o 1.16.1.
1
E, 1, 3
FI, 2, 4
I, 35
Introdu
ca
o da dupla nega
ca
o
Redu
ca
o ao absurdo
[]
..
.
F
RA
E, 1, 2
I, 23
E, 4
Terceiro excludo
TE
Departamento de Ci
encia de Computadores F.C.U.P.
34
( )
1
2
I, 2
FI, 1, 3
I, 24
I, 5
FI, 1, 5
RA, 17
q p
I, 2
MT, 1, 3
5
1.4.3.11
p q
I, 24
Equival
encia dedutiva
MT, 1, 2
I, 23
Departamento de Ci
encia de Computadores F.C.U.P.
1.4.3.12
35
Ilustra
c
ao da aplica
c
ao das regras
Demonstra
c
ao duma afirma
c
ao condicional
Como j
a vimos, a regra da introdu
ca
o
da implica
c
ao corresponde a` demonstracao de uma condicional. Suponhamos que queremos
mostrar que:
Se n2 e par ent
ao n e par
Demonstrac
ao. Suponhamos que n2 e par. Vamos provar que n e par, por contradic
ao.
Suponhamos que n e mpar, ent
ao n = 2m + 1, para algum m. Entao:
n2 = (2m + 1)2 = 4m2 + 4m + 1 = 2(2m2 + 2m) + 1
que e mpar! Entao n e par. E temos demonstrada a implicacao.
Demonstra
c
ao por contraposi
c
ao
Departamento de Ci
encia de Computadores F.C.U.P.
36
Resolu
ca
o 1.18.1. a) 2 p (p q)
Supondo a regra do terceiro excludo (TE)
1
(p q) (p q)
TE
p q
E, 2
p (p q)
I, 3
(p q)
p (p q)
p (p q)
I, 5
E, 1, 24, 56
b) ( ) 2
1
2
( )
( )
I, 3
FI, 2, 4
I, 35
E, 6
I, 3
10
FI, 2, 9
11
I, 810
12
E, 11
13
I, 7, 12
14
FI, 1, 13
15
( )
I, 2, 14
16
E, 15
c) 2 (p q) p q
Usar a regra do terceiro excludo com (p q) (p q) e ver a resoluc
ao do exerccio
anterior
Departamento de Ci
encia de Computadores F.C.U.P.
e) 2 ( )
37
1
2
( )
I, 3
FI, 2, 4
I, 35
E, 6
E, 1, 7
I, 8
10
FI, 2, 9
11
( )
I, 210
12
E, 11
R, 1
I, 23
( )
I, 14
f ) 2 ( ( )) (( ) ( ))
1
( )
( )
E, 2, 3
E, 1, 3
E, 4, 5
7
8
9
( ) ( )
( ) ( ) ( )
I, 36
I, 27
I, 18
Departamento de Ci
encia de Computadores F.C.U.P.
38
g) 2 ( ) (( ) )
1
2
E, 2, 3
E, 1, 2
FI, 4, 5
I, 36
E, 7
9
10
( )
( ) ( )
I, 28
I, 19
1.5
Um sistema dedutivo e um conjunto de regras, puramente sintacticas. Para que possa ser
usado para obter a validade ou consequencia logica de formulas e necess
ario (desej
avel) que
seja ntegro e completo. Isto e: que o que se deduza seja consequencia semantica das
premissas, e se uma formula for consequencia semantica das premissas entao existe uma
deducao para ela.
Defini
c
ao 1.14 (Integridade). Um sistema dedutivo e ntegro, se dado um conjunto de
premissas e uma conclus
ao , se existe uma deduc
ao de com premissas , i.e 2D , ent
ao
a conclus
ao e consequencia sem
antica de , i.e |= . Em particular, se 2D ent
ao e
Defini
c
ao 1.15 (Completude). Um sistema dedutivo e completo, se dado um conjunto de
premissas e uma conclus
ao , se e consequencia sem
antica de , i.e |= , ent
ao existe
uma deduc
ao de com premissas , i.e 2D . Em particular, se e uma tautologia (|= )
ent
ao 2D .
1.5.1
Proposi
ca
o 1.7. Se 2 ent
ao |= .
Departamento de Ci
encia de Computadores F.C.U.P.
39
Demonstrac
ao. Suponhamos que temos uma deducao de , 1 , . . . , n = . Vamos mostrar
que em cada passo a formula que a ocorre e consequencia sem
antica das premissas (ou
hipoteses) que a sao assumidas.
Provamos por reducao ao absurdo: Suponhamos que existe um passo p que contem uma
formula que nao e consequencia semantica das premissas assumidas em p. E seja p o primeiro
desses passos . Vamos ver que qualquer que seja a regra de DN aplicada em p, temos uma
contradicao. O que permite concluir que n
ao existe tal passo p. Fazemos a demonstracao
por casos, considerando cada uma das regras. Basicamente temos dois tipos de casos: os que
correspondem a regras com sub-deducoes e os a regras sem sub-deducoes.
Suponhamos que a regra a aplicar e a eliminacao da implicacao:
E
:
Seja a f
ormula deduzida no passo p por aplicacao de E
ambos s
ao consequencia semanticas delas:
1
..
.
1
..
.
n
..
.
..
.
..
.
2
..
.
l
..
.
..
.
..
.
3
..
.
p
..
.
..
.
uma valorizacao v tal que v(i ) = V, 1 i k e v() = F. Mas tambem tem-se que
v() = v( ) = V. Mas isto contradiz a tabela de verdade para a implicacao. Portanto
conclumos que esta regra n
ao pode ser aplicada no passo p (se existir).
Vejamos agora o caso da regra da introducao da implicacao:
Departamento de Ci
encia de Computadores F.C.U.P.
40
I
[]
..
.
..
.
..
.
..
.
..
.
..
.
..
.
antica de 1 , . . . , k e . Logo
v() = F. Mas isto contradiz o facto de ser consequencia sem
esta regra tambem n
ao pode ser aplica no passo p.
Suponhamos que a regra a aplicar e a eliminacao da disjuncao:
E
[] []
..
..
.
.
Departamento de Ci
encia de Computadores F.C.U.P.
..
.
..
.
n
..
.
..
.
..
.
..
.
l
..
.
..
.
..
.
..
.
p
..
.
41
..
.
rizacao v tal que v(i ) = V, 1 i n e v() = F (i.e que 1 , . . . , n *|= ). Nota, contudo,
Departamento de Ci
encia de Computadores F.C.U.P.
42
1.5.2
se v() = V
v =
se v() = F
Lema 1.5. Seja uma f
ormula cujas vari
aveis proposicionais s
ao q1 , . . . , qn , e seja v uma
atribuica
o de valores a
`s vari
aveis. Ent
ao
q1v , . . . , qnv 2 v
Por exemplo, seja p q, v(p) = V e v(q) = F. Temos que pv = p, q v = q e (p q)v =
Demonstrac
ao. Por inducao estrutural na f
ormula (= no n
umero de conectivas que ocorrem
em ):
= q1 Entao e claro que q1v 2 q1v
= 1 e tem-se que q1v , . . . , qnv 2 v1 por hip
otese de inducao. Se v() = V, entao v(1 ) = F,
donde v = 1 = v1 e portanto q1v , . . . , qnv 2 v . Caso contrario, v() = F, entao
v(1 ) = V, entao v1 = 1 e v = 1 . Podemos estender a deducao de q1v , . . . , qnv 2 1
as vari
aveis proposicionais que ocorrem em 1 e 2 , e {q1 , . . . , qn } = {p1 , . . . , pl }
Departamento de Ci
encia de Computadores F.C.U.P.
43
= 1 2 Temos 4 casos:
v(1 ) = v(2 ) = V. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 e ent
ao
q1v , . . . , qnv 2 1 2 = v
(mostra!)
= 1 2 Temos 4 casos:
v(1 ) = v(2 ) = F. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .
Departamento de Ci
encia de Computadores F.C.U.P.
44
Proposi
ca
o 1.8. Se |= ent
ao 2 , i.e, se e uma tautologia ent
ao e um teorema.
Proposi
ca
o 1.9. Se 1 , . . . , n |= ent
ao 1 , . . . , n 2 .
Demonstrac
ao. Prop.1.8
Seja uma tautologia e p1 , . . . , pn as variaveis proposicionais que nela ocorrem. De |= e
pelo lema 1.5, v() = V e pv1 , . . . , pvn 2 , para toda a valorizacao v. Tem-se entao que:
pv1 , . . . , pvn1 , pn 2 e pv1 , . . . , pvn1 , pn 2
pv1 , . . . , pvn1 2
Esquematicamente temos:
pv1
..
.
pvn1
pv1
..
.
pv1
..
.
pn
pn
pn pn
TE
pn
A
pn
pv1 , . . . , pvn1 , pn 2
pv1 , . . . , pvn1 , pn 2
pv1 , . . . , pvn1 2
tradiz 1 , . . . , n |= !
Demonstrac
ao. (Prop. 1.9) Pelo lema 1.6, |= (1 (2 (. . . (n ) . . .))). Pela
proposicao 1.8, 2 (1 (2 (. . . (n ) . . .))). E pelo lema 1.4 (da deducao, pagina 32),
1 , . . . , n 2
Departamento de Ci
encia de Computadores F.C.U.P.
1.6. DECIDIBILIDADE DA LOGICA
PROPOSICIONAL
45
O resultado anterior tambem se verifica para o caso ser infinito e portanto juntando a
integridade e a completude, temos para qualquer conjunto de formulas:
|=
se e s
o se
1.6
Decidibilidade da l
ogica proposicional
Proposi
ca
o 1.10. Dado um conjunto de f
ormulas e uma f
ormula e decidvel se 2 ,
i.e, existe um algoritmo que determina se e dedutvel de .
Demonstrac
ao. Pela completude e integridade, decidir 2 equivale a decidir se |= . E
podemos supor = (usando a lema 1.4(da deducao)). Entao basta construir a tabela de
verdade para (que e finita) e verificar se e uma tautologia.
decidvel se uma f
Corol
ario 1.4. E
ormula e um teorema (= e v
alida).
decidvel se uma f
Corol
ario 1.5. E
ormula e satisfazvel.
Demonstrac
ao. A f
ormula e satisfazvel se e so se nao e uma tautologia.
No entanto, utilizar o metodo das tabelas de verdade para determinar se uma formula e satisfazvel e um algoritmo pouco eficiente que tem complexidade temporal exponencial. Mas,
embora, existam outros algoritmos, ate ao momento n
ao se conhece nenhum com complexidade temporal polinomial (este facto esta relacionado com a conjectura P = N P , como
poder
ao ver em disciplinas de Complexidade).
1.7
1.7.1
Departamento de Ci
encia de Computadores F.C.U.P.
46
( ) (( ) )
Regras de infer
encia
Modus ponens: de e de , inferir
Proposi
ca
o 1.11. (da deduc
ao) Se {} 2H ent
ao 2H .
Proposi
ca
o 1.12. 2N D se e s
o se 2H
Demonstrac
ao. (): Basta ver que os axiomas de H s
ao teoremas de DN (ver exerccio 1.18).
A regra de inferencia corresponde `
a regra da eliminacao de implicacao de DN ( E)
(): e possvel transformar uma deducao em DN , numa deducao em H. (Nao o faremos
neste curso...)
Corol
ario 1.6. O sistema de deduca
o H e integro e completo para a l
ogica proposicional.
A diferenca entre os dois sistemas e a impossibilidade de se fazer novas suposicoes (assumir
novas premissas) no sistema H: isso torna as deducoes neste sistema mais difceis e menos
automatiz
aveis...
1.7.2
Mesmo no sistema DN nao e facil construir um algoritmo para determinar se uma formula
e um teorema, excepto se se usar a completude (e construir a deducao a partir da tabela de
verdade). Mas existem outros sistemas de deducao automatizaveis e em que para determinar
se uma f
ormula e um teorema n
ao e necessaria a semantica. Estes sistemas dizem-se
analticos (ou automatizaveis). A propriedade essencial destes sistemas e que, partindo da
formula que se pretende deduzir (i.e considerando a deducao da conclusao para as premissas),
em cada passo duma deducao, as f
ormulas s
ao sub-f
ormulas de alguma formula de um passo
facil ver que a regra de Modus ponens nao verifica esta propriedade.
anterior. E
Entre os sistemas analticos, destacamos:
Sequentes de Gentzen Variante do sistema de deducao natural.
Tableaux analticos (ou sem
anticos) Para deduzir , deduz-se que a formula e uma
contradicao.
Resolu
ca
o tambem por contradicao, mas necessita de em forma normal conjuntiva.
Um sistema dedutivo diz-se de refutaca
o se para deduzir de , se deduz F de {}.
A consequencia sem
antica e preservada: se |= sse {} nao e satisfazvel. Tanto os
Departamento de Ci
encia de Computadores F.C.U.P.
1.7.3
47
Tableaux sem
anticos
tada por . Em cada passo, expande-se uma folha da arvore de acordo com as regras de
expans
ao dos Tableaux (Tabela 1.2). Nestas regras utiliza-se a notaca
o uniforme (de R.M.
( )
( )
( )
F
V
V
F
1 | 2
2
Tabela 1.2: Regras de expans
ao dos tableaux
Um tableau pode ser definido indutivamente por:
Departamento de Ci
encia de Computadores F.C.U.P.
48
Defini
c
ao 1.16. Seja {1 , . . . , n } um conjunto de f
ormulas.
1. Um tableau para {1 , . . . , n } e uma a
rvore de um s
o ramo:
1
2
..
.
n
2. Se T e um tableau para {1 , . . . , n } e T$ resulta de T por aplicaca
o duma regra de
expans
ao de tableaux, ent
ao T$ e um tableau para {1 , . . . , n }.
q p
Defini
c
ao 1.17. Um ramo r de um tableau diz-se fechado se existe uma f
ormula tal que
e ocorrem em r. Um tableau diz-se fechado se todos os seus ramos est
ao fechados.
O tableau do exemplo anterior tem, um ramo fechado mas nao e fechado.
Defini
c
ao 1.18. Uma deduca
o por tableau de e um tableau fechado para {}. A f
ormula
e um teorema se tem uma deduca
o por tableau.
Defini
c
ao 1.19. Um ramo r de um tableau e satisfazvel se o conjunto de f
ormulas que
etiquetam os seus n
os e satisfazvel. Um tableau T e satisfazvel se pelo menos um dos seus
ramos e satisfazvel.
A proposic
ao seguinte demonstra-se por analise de casos e usando a Proposicao 1.13.
Proposi
ca
o 1.14. Pela aplicaca
o de qualquer regra de expans
ao de tableau a um tableau
satisfazvel, obtem-se um tableau satisfazvel.
Proposi
ca
o 1.15. Se existe um tableau fechado para um conjunto de f
ormulas , ent
ao
n
ao e satisfazvel.
Temos, ent
ao, a integridade do sistema de tableaux :
Teorema 1.1. Se tem uma deduca
o por tableau, ent
ao e uma tautologia.
Departamento de Ci
encia de Computadores F.C.U.P.
49
Demonstrac
ao. Uma deduc
ao por tableau e um tableau fechado para {}. Entao, pela
Proposicao 1.15, {} nao e satisfazvel, logo e uma tautologia.
1.7.4
Resolu
c
ao
p (q r q) (r s) (p s) (q s)
pode ser vista como um conjunto de cl
ausulas:
{{p}, {q, r}, {r, s}, {p, s}, {q, s}}
Seja um conjunto de clausulas e representamos por F a clausula vazia.
O sistema dedutivo por resoluca
o nao tem axiomas e apenas uma regra de inferencia (de
resoluca
o):
C {p} C " {p}
C C"
e a conclus
ao diz-se a resolvente das premissas.
{q,r} {r,s}
{q,s}
{s}
{q,s}
Departamento de Ci
encia de Computadores F.C.U.P.
{p,s} {p}
{s}
50
{q,r} {r,s}
{q,s}
{s}
{q,s}
F
Uma deduca
o por resoluca
o de uma formula e uma refutacao de clausulas que correspondem
`a FNC de .
Teorema 1.3. (Integridade) Seja C = {C1 , . . . , Cn } um conjunto n
ao vazio de cl
ausulas da
l
ogica proposicional.
i. Sejam Ci e Cj cl
ausulas de C e R uma resolvente de Ci e Cj . Ent
ao C |= R.
ii. Se C 2R F, isto e, existe uma deduc
ao de F a partir de C usando apenas a regra da
Resoluca
o, ent
ao C n
ao e satisfazvel.
Departamento de Ci
encia de Computadores F.C.U.P.
Captulo 2
L
ogica de primeira ordem
Na logica proposicional n
ao e possvel representar adequadamente frases como:
Todos os p
assaros tem penas
Alguns p
assaros cantam
Nem todos os p
assaros voam
Todos os homens s
ao mortais
Todas as criancas s
ao mais novas que os seus pais
Um inteiro ou e par ou mpar
Todos os p
assaros s
ao mais leves que algum mamfero
Por outro lado, proposicoes como as seguintes podem-se representar usando relacoes n-
arias
entre objectos:
Proposicao
Representacao
irmao(carlos,joana)
dar(joana,livro,carlos)
2 e par
par(2)
2=1+1
igual(2,soma(1,1))
Departamento de Ci
encia de Computadores F.C.U.P.
Ex:
2.1. LINGUAGENS DA LOGICA
DE PRIMEIRA ORDEM
52
Propriedades ou rela
co
es entre objectos: Formulas que podem ser predicados simples
ou complexos (usando conectivas). Ex: dar(joana,livro,carlos),par(2) par(3)
Propriedades ou rela
co
es entre conjuntos de objectos Formulas quantificadas sobre
objectos. Os quantificadores permitem representar as palavras todos, alguns, etc:
(universal) e (existencial).
Ex:
x (passaro(x) penas(x))
x (passaro(x) canta(x))
x (passaro(x) voa(x))
x (passaro(x) (y(mamifero(y) mais leve(x, y))))
2.1
Linguagens da l
ogica de primeira ordem
Defini
c
ao 2.1 (Termos). Seja L uma linguagem de 1a ordem. Um termo, e uma sequencia
de smbolos de L, representado por t, s, . . . t1 , s1 , . . . e definido indutivamente por:
Uma vari
avel x e um termo;
Uma constante a e um termo;
Departamento de Ci
encia de Computadores F.C.U.P.
2.1. LINGUAGENS DA LOGICA
DE PRIMEIRA ORDEM
53
Se t1 , . . . , tn s
ao termos e f Fn um smbolo funcional de aridade n > 0, ent
ao
f (t1 , . . . , tn ) e um termo .
O conjunto dos termos TL tambem pode ser definido pela seguinte gramatica independente
t ::= x | a | f (t, . . . , t)
onde x V ar, a F0 e f Fn .
Exemplo 2.1. Supondo F0 = {a, d}, F2 = {f, h}, F1 = F3 = {g}, indica quais das seguintes
sequencias de smbolos s
ao termos e quais s
ao termos fechados:
f (a, g(x, g(a), a))
g(d, h(y, z), d, f (a)))
h(d, f (a, h(d)))
f (f (x, x), f (y, y))
x(d, g(y))
f (a, a(x))
Defini
c
ao 2.2 (Formulas). O conjunto de formulas atomicas duma linguagem L e dado por:
se t1 , . . . , tn s
ao termos e R Rn e um smbolo de predicado n-
ario, ent
ao R(t1 , . . . , tn )
e uma formula atomica;
se L tiver a igualdade e se t1 e t2 s
ao termos ent
ao t1 = t2 e uma formula atomica;
O conjunto das formulas e definido indutivamente por:
uma f
ormula at
omica e uma formula;
se e uma f
ormula e uma formula;
se e s
ao f
ormulas ent
ao ( ), ( ) e ( ) s
ao formulas
se e uma f
ormula e x uma vari
avel, ent
ao x e x s
ao formulas.
O conjunto das formulas pode tambem ser definido por uma gram
atica, em notacao BNF:
::= R(t1 , . . . , tn ) | t1 = t2 | | ( ) | ( ) | ( ) | x | x
onde R Rn , ti T e x V ar.
Departamento de Ci
encia de Computadores F.C.U.P.
2.1. LINGUAGENS DA LOGICA
DE PRIMEIRA ORDEM
54
Exemplo 2.2. Sendo F0 = {m, d}, F1 = {f }, F2 = {g} e R2 = {R, S}, determina quais das
seguintes express
oes s
ao f
ormulas:
S(m, x)
f (m)
R(R(m, x))
(R(x, y) (z S(z, f (y))))
R(x, y) R(zR(z, z)))
x R(f (d), g(f (m), y))
xy(g(x, y) S(y, x))
Nas formulas da l
ogica de 1a ordem, podem-se omitir os parentesis, supondo que as convencoes
para a logica proposicional e que os quantificadores tem maior precedencia que qualquer
operador l
ogico. Por exemplo, as seguintes formulas sao diferentes: xP (x) P (x) e
Exemplo 2.3 (Linguagem para a aritmetica). Pretende-se uma linguagem para exprimir
ir f
ormulas sobre os n
umeros naturais e as operac
oes de adica
o e multiplicaca
o. Seja A a
xy(+(x, 1) = +(y, 1) x = y)
Representaca
o
Todos os P s s
ao Qs
Alguns P s s
ao Qs
Nenhum P e Q
Nem todos os P s s
ao Qs
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
55
2.2
Sem
antica da l
ogica de 1a ordem
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
56
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
57
a
`s constantes n
ao associamos nenhum objecto
a maisaf rente associamos uma funca
o maisaf renteA que para cada objecto indica qual
o objecto mais a
` frente na mesma coluna: maisaf renteA (o1 ) = o6 ,maisaf renteA(o4 ) =
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
58
T etraA = {o1 , o2 , o3 }
DodecA = {o6 , o7 , o8 }.
P equenoA = {o6 , o7 , o8 }
GrandeA = {o2 } e para os restantes o M edioA
EsquerdaA = {(o1 , o2 ), (o4 , o5 ), (o6 , o7 ), (o7 , o8 )}
M esmaLA = (EsquerdaA )$ (fecho de reflexivo e transitivo)
e de modo an
alogo se definem as restantes relac
oes bin
arias.
EntreA = {(o7 , o6 , o8 )}
Como determinar se uma f
ormula e satisfazvel nesta estrutura?
y(Cubo(y) M edio(y)) e satisfazvel em A pois o4 CuboA e o4 M edioA
E para as f
ormulas como Cubo(x) ou M esmoT (z, y) M esmaF (z, y)?
Neste caso temos ainda de ter primeiro uma interpretacao s para as vari
aveis livres...
Para s(x) = o4 , s(y) = o7 e s(z) = o6 , as duas f
ormulas s
ao satisfazveis, pois o4 CuboA e
o7 , o6 M esmoT A M esmaF A
Defini
c
ao 2.5 (Estrutura duma linguagem). Uma estrutura duma uma linguagem de primeira ordem L e: um par A = (A, A ) onde A e um conjunto n
ao vazio, e que se diz o domnio
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
59
a interpretaca
o s, denota-se por A |=s e definida por induca
o na estrutura de :
1. A |=s t1 = t2 se s(t1 ) = s(t2 )
2. A |=s R(t1 , . . . , tn ) se (s(t1 ), . . . , s(tn )) RA
3. A |=s se A *|=s (i.e n
ao e verdade que A |=s )
4. A |=s se A |=s e A |=s
5. A |=s se A |=s ou A |=s
6. A |=s se A *|=s ou A |=s
7. A |=s x se para todo o a A se tem A |=s[a/x] onde:
s[a/x](y) =
s(y) se y *= x
a
se y = x
Por 7 da Definica
o 2.7, temos que ver se para todo o n N se tem
N |=s[n/x] < (x, +(x, 1))
Por 2 temos:
(s[n/x](x), s[n/x](+(x, 1)) <N
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
60
e usando a definic
ao de interpretac
ao (2.6) vem,
(n, n + 1) <N
i.e, n < n + 1, o que realmente e verdade para todo o n N.
b) Se s(x) = 2, verificar que N |=s x = +(1, 1).
Neste caso, por 1 da Definica
o 2.7, temos que ver se
s(x) = s(+(1, 1))
Isto e:
2 = +N (s(1), s(1))
ou seja, 2 = 1 + 1 o que e verdade em N.
2.2.1
Defini
c
ao 2.8. Uma estrutura A satisfaz um conjunto de f
ormulas para uma interpretaca
o
s, se satisfizer todas as f
ormulas de , e escreve-se A |=s .
Uma f
ormula e consequencia sem
antica de se para toda a estrutura A de L e toda a
interpretac
ao s tal que A |=s , se tem A |=s . E escreve-se |= .
Demonstrac
ao. Ideia: mostrar por inducao na estrutura dos termos que entao s1 (t) = s2 (t)
se t e um termo de e em t s
o ocorrem vari
aveis livres de . Mostrar o resultado por inducao
na estrutura de .
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
2.2.1.1
61
Proposi
c
oes e modelos
falsa em A.
Corol
ario 2.1. Seja {} um conjunto de proposic
oes. |= se e s
o se todo o modelo
de for um modelo de .
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
62
a) xy f (x, y) = z
b) z f (x, y) = z y (S(y) R(y))
(
Resolu
ca
o 2.2.i
a) Pretende-se que para qualquer interpretacao s : V ar N,
A |=s xy f (x, y) = a
(2.1)
(2.2)
(2.3)
(2.4)
Departamento de Ci
encia de Computadores F.C.U.P.
(2.5)
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
63
(2.6)
(2.7)
(2.8)
s[n/x](x) RA
(2.9)
se
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
64
a) Sendo s1 uma interpretacao que atribu o valor 2 a qualquer variavel, pretende-se que
A |=s1 xy f (x, y) = z
(2.10)
(2.11)
(2.12)
Isto e se,
(2.13)
Mais uma vez isto e verdade se A *|=s1 z f (x, y) = z ou se A |=s1 y (S(y) R(y))
Temos que:
A |=s1 z f (x, y) = z
(2.14)
(2.15)
(2.16)
e s1 [n/z](f (x, y)) = f A (s1 [n/z](x), s1 [n/z](y)) = f A(s1 (x), s1 (y)) = 2 + 2 e s1 [n/z](z) = n
Entao (2.14) e verdade se
Existe um n N tal que 2 + 2 = n
o que e Verdade. Tomar n = 4.
Mas entao A *|=s1 z f (x, y) = z e Falso.
Temos que
A |=s1 y (S(y) R(y))
Departamento de Ci
encia de Computadores F.C.U.P.
(2.17)
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
se, para todo o n N
65
(2.18)
Por (v) da definicao de |=s , (2.18) e verdade se A |=s1 [n/y] S(y) ou A |=s1 [n/y] R(y)
A |=s1 [n/y] S(y)
(2.19)
s1 [n/y](y) S A
(2.20)
se
isto e se n e par.
Analogamente A |=s1 [n/y] R(y), se n e mpar. Entao, (2.17) e verdade se
Para todo o n N, n e par ou n e mpar
o que e Verdade. Nota que e importante a disjuncao estar no ambito do quantificador e
nao o contrario: e falso que para todo n N, n e par ou para todo n N, n e mpar.
Finalmente, temos que (2.13) e Verdade.
Exerccio 2.3. Seja L uma linguagem de primeira ordem com igualdade e tal que F0 = {a},
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
66
seguintes indique uma estrutura de L onde ela e verdadeira e outra onde ela e falsa. Pode
s
ao grafos dirigidos e considerar proposicoes que caracterizam propriedades desses grafos.
Seja LG uma linguagem de 1a ordem com igualdade, sem smbolos funcionais e apenas com
um smbolo relacional binario R2 = {G}. Algumas formulas sao: G(x, x), xy G(y, x),
xy(G(x, y) G(y, x))
Seja 1 a f
ormula xyG(x, y) xyz((G(x, y) G(x, z)) y = z)
!$
"
#$%&
!" "
#
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
67
propriedade. Se essa propriedade for expressa por uma formula de LG (nao necessariamente
Exerccio 2.6. Mostra que dado de LG e G de domnio finito, existe um algoritmo que
determina se G |= . (
Resolu
ca
o 2.6
Por inducao na estrutura de .
Seja LA uma linguagem de 1a ordem com igualdade e R1 = {I, F }, R2 = {Ra , Rb }. Uma estrutura A para LA e um automato finito nao
Basta considerar a f
ormula:
xyy1(((Ra (x, y) Ra (x, y1 )) y = y1 ) ((Rb (x, y) Rb (x, y1 )) y = y1 ))
b) Indica, justificando, duas estruturas de LA , A1 e A2 tal que A1 |= e A2 |= .
Seja a estrutura A1 de LA :
o universo e Q = {q0 , q1 }
I A1 = {q0 }
F A1 = {q1 }
RaA1 = {(q0 , q0 )}
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
68
de comprimento 2.
2.2.1.2
Validade e satisfazibilidade
Proposi
ca
o 2.3. Seja uma f
ormula duma linguagem de 1a ordem L.
1. e v
alida se e s
o se n
ao e satisfazvel
2. e satisfazvel se e s
o se n
ao e v
alida
3. e v
alida se e s
o se x e v
alida
4. e satisfazvel se e s
o se x e satisfazvel
Demonstrac
ao. Consequencia directa das definicoes.
Seja uma formula duma linguagem de 1a ordem L. Uma formula de L e valida se a
correspondente forma booleana e uma tautologia.
Defini
c
ao 2.9. Dada uma f
ormula o conjunto das suas sub-f
ormulas principais, SP () e
definido indutivamente na estrutura de por:
se e uma f
ormula at
omica, SP () = {}
se e x, SP () = {}
se e x, SP () = {x}
se e , SP () = SP ()
se e 1 2 , onde pode ser , ou , SP () = SP (1 ) SP (2 )
Sendo a f
ormula xP (x, y) xP (x, y) (P (z, x) xP (x, y))
SP () = {xP (x, y), xP (x, y), P (z, x)}
Defini
c
ao 2.10. Associando a cada sub-f
ormula principal duma f
ormula , uma vari
avel
proposicional diferente e negando a f
ormula correspondente a um quantificador existencial,
obtemos a forma booleana de .
Para o exemplo anterior,
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
69
p1 p2 (p3 p1 )
onde p1 = xP (x, y), p2 = xP (x, y) e p3 = P (z, x)
Proposi
ca
o 2.4. Se a forma booleana duma f
ormula e uma tautologia, ent
ao e v
alida.
Demonstrac
ao. Seja A uma estrutura de L e s uma interpretacao . Para cada SP (), se
A |=s atribui-se `
a correspondente variavel proposicional o valor V, se A *|=s , atribui-se
o valor F. Como a forma booleana e satisfeita para essa valorizacao, tambem se tem que
A |=s .
2.2.2
Equival
encia sem
antica
Defini
c
ao 2.11. Sejam e duas f
ormulas duma linguagem de 1a ordem L. Se |= e
|= ent
ao e s
ao semanticamente equivalentes e escreve-se .
As Leis de DeMorgan para quantificadores sao formulas semanticamente equivalentes sao as
Proposi
ca
o 2.5. (Leis de DeMorgan)
x x
x x
Demonstrac
ao. Suponhamos que para toda a estrutura A, e interpretacao s se tem A |=s
x. Isto equivale a dizer que A *|=s x, isto e, nao se verifica que para todo o a A,
A |=s[a/x] . Isto e, existe pelo menos um a A tal que A *|=s[a/x] , i.e, A |=s[a/x] , que
e a definic
ao de A |=s x. O que prova a primeira equivalencia (dado termos usado so as
definicoes). Analogamente se prova a segunda lei de DeMorgan.
Temos tambem:
Proposi
ca
o 2.6.
x( ) x x (mas nao com )
x x x( ) (mas nao com )
xy yx
xy yx
Se x n
ao ocorre livre em
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
70
x( ) x
x( ) x
x( ) x
x( ) x
x( ) x
x( ) x
x( ) x
x( ) x
Exerccio 2.8. Mostra as equivalencias anteriores. (
2.2.3
Substitui
c
ao de vari
aveis
variavel. Denota-se por [t/x] (ou tx ) a formula que se obtem de substituindo todas as
ocorrencias livres de x em por t.
Seja a formula x(P (x) Q(x)) (P (x) Q(y)).
Determina:
1. Se x e substituvel por t em , s
ao v
alidas as f
ormulas:
Departamento de Ci
encia de Computadores F.C.U.P.
2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM
71
a) x [t/x]
b) [t/x] x
2. Se y n
ao ocorre em , ent
ao x y[y/x]
Demonstrac
ao. Vamos apenas considerar 2.71a. Seja A uma estrutura e s uma interpretacao.
2.2.4
Q1 x1 Q2 x2 . . . Qn xn
ou ):
x x( )
x x( )
x x( )
x x( )
Departamento de Ci
encia de Computadores F.C.U.P.
ORDEM
72
Por inducao no n
umero de quantificadores que est
ao no ambito de conectivas 1 mostra-se
que a formula resultante esta em forma normal prenexa e e semanticamente equivalente a
.
Exerccio 2.11. Obtem uma forma normal prenexa para
x(P (x, x) (yP (x, y) yP (y, y))) G(w, 0)
(
Resolu
ca
o 2.11
1. Substituir as vari
aveis ligadas por variaveis novas (Prop.2.7:2)
x(P (x, x) (yP (x, y) zP (z, z))) G(w, 0)
2. Mover x para fora:
x((P (x, x) (yP (x, y) zP (z, z))) G(w, 0))
3. Mover y para fora:
xy((P (x, x) (P (x, y) zP (z, z))) G(w, 0))
4. Mover z para fora:
xyz((P (x, x) (P (x, y) P (z, z))) G(w, 0))
Leituras suplementares [BE00] (Cap. 10,11)
2.3
Sistema de dedu
c
ao natural para a l
ogica de 1a ordem
Departamento de Ci
encia de Computadores F.C.U.P.
ORDEM
2.3.1
73
Regras de infer
encia DN:igualdade
Introdu
ca
o de =
t=t
=I
2.3.2
t1 = t2
t1 = t1
=I
t2 = t1
=E ( e x = t1 ), 1, 2
t1 = t2
t2 = t3
t1 = t3
=E ( e t1 = x), 2, 2
Regras de infer
encia DN:quantificador universal
Elimina
c
ao de
x
[t/x]
Introdu
ca
o de
[v]
..
.
[v/x]
x
Departamento de Ci
encia de Computadores F.C.U.P.
ORDEM
74
Se supondo uma variavel nova y podemos deduzir [y/x], entao podemos deduzir com
qualquer valor (generaliza
c
ao). Para supor y temos de comecar uma nova sub-deducao mas
sem novas premissas. Na notacao de Fitch isso e indicando com uma nova identacao. Esta
sub-deducao termina quando conclumos a regra.
Exerccio 2.13. Mostrar que
x(P (x) Q(x)), xP (x) 2 xQ(x)
(
Resolu
ca
o 2.13
1
xP (x)
P (v) Q(v)
E, 1
P (v)
E, 2
Q(v)
E, 3, 4
xQ(x)
I, 35
2.3.3
P (t)
P (t) Q(t)
E, 2
Q(t)
E, 3, 1
Regras de infer
encia DN:quantificador existencial
Introdu
ca
o de
[t/x]
x
Podemos deduzir x se j
a tivermos deduzido [t/x] para algum termo t.
Departamento de Ci
encia de Computadores F.C.U.P.
ORDEM
75
Elimina
c
ao de
[v [v/x]]
..
.
x
Se deduzimos x, entao existe um valor em que se verifica. Assim, supondo que v repre-
senta esse valor e se supondo [v/x] se deduzir onde v nao ocorra, podemos deduzir (para
um valor generico). Neste caso temos entao uma nova sub-deducao em que e considerada uma
nova variavel (v) e onde existe uma premissa nova ([v/x]).
Exerccio 2.15. Mostrar que:
a) x 2 x
x (P (x) Q(x)), x P (x) 2 x Q(x)
(
Resolu
ca
o 2.15
1
a) 2
x
[t/x]
E, 1
I, 2
x (P (x) Q(x))
x P (x)
b) 4
P (v)
P (v) Q(v)
E, 1
Q(v)
E, 4, 3
x Q(x)
I, 5
x Q(x)
E, 36
Como no caso das regras de introducao e eliminacao de conectivas, tambem aqui se tem de ter
em conta o ambito das sub-deducoes e em especial as vari
aveis (livres) so podem ser usadas
nas sub-deducoes em que sao supostas ou ocorrem em premissas dadas.
Por exemplo, a seguinte e uma deducao est
a errada:
Departamento de Ci
encia de Computadores F.C.U.P.
ORDEM
x (P (x) Q(x))
x P (x)
76
P (v)
P (v) Q(v)
E, 1
Q(v)
E, 4, 3
Q(v)
I, 35
x Q(x)
E, 6
Na formula da linha 6, ocorre uma variavel que so devia ocorrer na sub-deducao iniciada na
linha 3!
Exerccio 2.16. Mostrar que
x(Q(x) R(x)), x (P (x) Q(x)) 2 x(P (x) R(x))
(
Resolu
ca
o 2.16
1
x(Q(x) R(x))
(P (x) Q(x))
P (v) Q(v)
Q(v) R(v)
E, 1
Q(v)
E, 3
R(v)
E, 4
P (v)
E, 3
P (v) R(v)
I, 7, 6
x (P (x) R(x))
I, 8
10
x (P (x) R(x))
E, 2, 39
Departamento de Ci
encia de Computadores F.C.U.P.
2.4. EQUIVALENCIA
DEDUTIVA
x P (x)
xy (P (x) Q(y))
77
P (u)
y (P (u) Q(y)
E, 2
(P (u) Q(v)
E, 4
Q(v)
E, 5, 3
Q(v)
y Q(y)
E, 1, 36
I, 37
Todas as regras do sistema DN para a logica de primeira ordem encontram-se na Figura 2.1
2.4
Equival
encia dedutiva
2 . E denotamos por 52 .
Proposi
ca
o 2.9. Sejam e dumas f
ormulas duma linguagem da l
ogica de 1a ordem.
Ent
ao:
1. x 52 x
2. x 52 x
3. x x 52 x( )
4. x x 52 x( )
5. Se x n
ao ocorre livre em , e e ou :
(a) x 52 x( )
(b) x 52 x( )
Departamento de Ci
encia de Computadores F.C.U.P.
2.4. EQUIVALENCIA
DEDUTIVA
78
Introdu
ca
o
Elimina
ca
o
E1
I1
E2
[] []
..
..
.
.
[]
..
.
I2
..
.
F
FE
FI()
[]
..
.
e x e substituvel
t1 =t2
[t1 /x]
=E
[t2 /x]
t=t =I
por t1 e por t2 em
[v]
..
.
[v/x]
onde
I
[t/x]
x I
uma
vari
avel nova (nao
onde
x
[t/x] E
ocorre antes)
onde
subs-
tituvel por t em
subs-
tituvel por t em
[v [v/x]]
..
.
x
onde
E
uma
Departamento de Ci
encia de Computadores F.C.U.P.
2.4. EQUIVALENCIA
DEDUTIVA
79
Demonstrac
ao. x 2 x Por reducao ao absurdo:
x
1
2
[u/x]
I, 3
FI, 4, 2
[u/x]
x 2 x
RA, 35
I, 36
FI, 7, 1
x
1
RA, 28
[u/x]
[u/x]
E, 2
FI, 3, 4
E, 1, 25
I, 26
E, 1
E, 1
[v/x]
E, 2
[v/x]
I, 3, 4
( )[v/x]
R, 5
x( )
I, 46
Departamento de Ci
encia de Computadores F.C.U.P.
2.4. EQUIVALENCIA
DEDUTIVA
80
x( )
( )[v/x]
E, 1
[v/x]
R, 2
E, 3
[v/x]
E, 3
I, 25
(x)
I, 4, 6
(x) (x) 52 x( )
1
(x) (x)
[v/x]
[v/x] [v/x]
I, 3
( )[v/x]
identico, 4
x( )
I, 5
x( )
E, 2, 35
[v/x]
10
[v/x] [v/x]
I, 9
11
( )[v/x]
identico, 10
12
x( )
I, 11
13
14
x( )
x( )
E, 8, 912
E, 1, 27, 813
Departamento de Ci
encia de Computadores F.C.U.P.
2.4. EQUIVALENCIA
DEDUTIVA
x( )
( )[v/x]
[v/x] [v/x]
identico, 2
[v/x]
I, 4
x x
I, 5
[v/x]
I, 7
x x
I, 8
10
11
81
x x
x x
E, 3, 46, 79
E, 1, 210
Departamento de Ci
encia de Computadores F.C.U.P.
2.4. EQUIVALENCIA
DEDUTIVA
x( )
82
[u/x]
( )[u/x]
E, 1
[u/x] [u/x]
R, 4
[u/x]
E, 3, 5
I, 6
x x
E, 2, 37
I, 28
b) 2 x( ) (x x)
1
x( )
[u/x]
E, 2
( )[u/x]
E, 1
[u/x] [u/x]
R, 4
[u/x]
E, 3, 5
I, 46
x x
I, 28
Departamento de Ci
encia de Computadores F.C.U.P.
2.4. EQUIVALENCIA
DEDUTIVA
xP (x)
83
P (u)
v
P (v)
P (v) P (u)
I, 3, 4
E, 2
(P (v) P (u)) v = u)
E, 6
v=u
E, 5, 7
P (v) v = u
I, 48
10
y(P (y) y = u)
I, 48
11
I, 3, 10
12
I, 11
13
E, 1, 212
d) 2 xy x = y f (x) = f (y)
1
u=v
f (u) = f (u)
=I
f (u) = f (v)
=E ( e f (u) = f (x)), 1, 3
u = v f (u) = f (v)
I, 1, 3
y u = y f (u) = f (y)
E, 14
xy x = y f (x) = f (y)
E, 15
x = f (y)
P (x, u)
P (f (y), u)
P (x, u) P (f (y), u)
=E, 1, 2
I, 23
I, 24
I, 15
Departamento de Ci
encia de Computadores F.C.U.P.
2.5
84
Integridade e completude
Vamos ver que o sistema dedutivo DN para a logica de 1a ordem e integro e completo,
i.e:
Dado um conjunto de formulas (premissas) e uma formula (conclusao):
Integridade se existe uma deducao de com premissas , 2 , entao e consequencia
sem
antica de , |= . Em particular se 2 (teorema), entao e valida, |= .
2.5.1
Proposi
ca
o 2.10. Se 2 ent
ao |=
Demonstrac
ao. Dada uma deducao de com premissas de (onde, podem n
ao ser usadas
todas as formulas), vamos mostrar que em cada passo p a formula que a ocorre e consequencia
sem
antica das premissas (ou hip
oteses) que a s
ao assumidas. Entao em particular, sendo
ou
ltimo passo, ser
a consequencia semantica das suas premissas (ou seja ). Provamos por
inducao no n
umero de passos da deducao:
Base. Se so houver um passo de deducao entao e uma das premissas ou uma formula
da forma t = t. Em ambos os casos e facil ver que sao consequencias semanticas das
premissas (mostra!)
Indu
c
ao. Suponhamos que estamos no passo n e que todos os anteriores verificam a condicao.
Fazemos uma demonstracao por casos considerando cada uma das regras. Suponhamos
que a regra a aplicar e a eliminacao da implicacao:
E
Seja a f
ormula deduzida no passo n por aplicacao de E a e .
Departamento de Ci
encia de Computadores F.C.U.P.
1
..
.
1
..
.
i
..
.
..
.
..
.
2
..
.
l
..
.
..
.
85
..
.
3
..
.
n
..
.
..
.
E:
Seja a f
ormula deduzida no passo n por aplicacao de E a x e a uma
sub-deducao que contem . E sejam 1 , . . . , k as premissas assumidas
sem
antica de premissas que s
ao um subconjunto de 1 , . . . , k e no passo
m, e consequencia sem
antica de premissas que sao um subconjunto de
1 , . . . , k , mais a premissa [v/x].
Departamento de Ci
encia de Computadores F.C.U.P.
..
.
..
.
i
..
.
x
..
.
v
..
.
86
[v/x]
..
.
..
.
m
..
.
..
.
..
.
tal que A |=s[b/x] . Nota, ainda, que v nao pode ocorrer em 1 , . . . , k , x e . Seja
2.5.2
Defini
c
ao 2.13. Um conjunto de f
ormulas diz-se consistente se e s
o se n
ao existe nenhuma
deduca
o de 2 F, caso contr
ario diz-se inconsistente.
Nota que se e inconsistente, 2 para qualquer formula .
Exerccio 2.19. Mostra que um conjunto e inconsistente se e s
o se existe uma f
ormula
tal que 2 e 2 . (
Lema 2.1. Se {} e inconsistente se e s
o se 2 .
Demonstrac
ao. () Por aplicacao da regra RA e () pela aplicacao da regra FI.
Lema 2.2. (da dedu
ca
o) {} 2 se e s
o se 2 .
Demonstrac
ao. Igual ao da l
ogica proposicional.
Departamento de Ci
encia de Computadores F.C.U.P.
2.5.3
87
(1 2) Se {} e n
ao satisfazvel, entao |= . Por 1, 2 e ent
ao {} e
inconsistente, mas entao tambem o e {}.
Temos que encontrar uma estrutura e interpretacao que satisfaca um qualquer conjunto consistente..o que n
ao parece tarefa f
acil. A demonstracao a apresentar e baseada na de L. Henkin
(e nao na de Godel...).
A ideia e construir uma estrutura cujo domnio seja o conjunto dos termos da linguagem L.
e consistente mas n
ao e possvel satisfaze-lo com um domnio s
o com termos de L. E tambem
Assim iremos introduzir novas constantes em L, que irao servir para construir testemunhas
(de uma formula existencial) p.e.:
x P (x) P (cP )
E iremos alargar qualquer conjunto consistente de modo a conter todas as testemunhas necess
arias e a continuar consistente...
Dizemos que um conjunto consistente de formulas de uma linguagem L e maximal se
para toda a formula de L se tem ou ou .
Departamento de Ci
encia de Computadores F.C.U.P.
88
2. Para qualquer f
ormula de L" e qualquer vari
avel x V ar existe uma constante c tal
x [c/x]
Demonstrac
ao. (do lema 2.3)
finito de constantes novas, c1 , . . . ck . Entao podemos substituir cada uma dessas cons-
1 . Para n > 1, n e xn n n [cn /xn ], onde cn e uma constante nova que nao ocorre
nem n nem em 1 . . . n1 . Seja
= {1 , 2 , . . .}
e consistente Suponhamos que nao, entao existe m 0 tal que {1 , . . . , m+1 }
e inconsistente e {1 , . . . , m } consistente. Mas, ent
ao
{1 , . . . , m } 2 m+1
Como m+1 e da forma x [c/x], entao tambem (mostra!)
{1 , . . . , m } 2 x
{1 , . . . , m } 2 [c/x]
mas como c nao ocorre em {1 , . . . , m }, podemos substitu-lo por uma variavel nova
e usando a regra I, conclumos tambem que
{1 , . . . , m } 2 x
mas como x 52 x, vem
{1 , . . . , m } 2 x
Absurdo! porque {1 , . . . , m } e consistente.
Estendemos a um conjunto consistente maximal Seja 1 , 2 , . . . uma enumeracao das f
ormulas de L" e definimos
Departamento de Ci
encia de Computadores F.C.U.P.
=
onde
0 =
!
n {n+1 }
n+1 =
n {n+1 }
89
#
n n
A estrutura A e:
o domnio e o conjunto das classes de equivalencia de
para cada smbolo relacional R Rn , n > 1:
RA = {([t1 ], . . . , [tn ]) | R(t1 , . . . , tn ) }
para cada smbolo funcional f Fn , n > 0 tem-se:
f A ([t1 ], . . . , [tn ]) = [f (t1 , . . . , tn )]
para cada constante c:
cA = [c]
Departamento de Ci
encia de Computadores F.C.U.P.
90
se e s
o se
Demonstrac
ao. Por inducao sobre .
Base. e at
omica. Se e t1 = t2 , entao A |=s t1 = t2 sse s (t1 ) = s (t2 ) sse
[t1 ] = [t2 ] , i.e, t1 = t2 . Se e R(t1 , . . . , tn ) entao A |=s R(t1 , . . . , tn ) sse
(s (t1 ), . . . , s (tn )) RA i.e ([t1 ], . . . , [tn ]) RA ou R(t1 , . . . , tn ) .
Indu
c
ao. Se e e , entao A |=s sse A *|=s , e por hipotese de inducao
/ ,
logo por ser consistente maximal, . Se e 1 2 ent
ao,A |=s 1 2
sse A |=s i pelo menos para um i, e por hipotese de inducao i , mas ent
ao por
ou
/ ou ,mas ent
ao por ser consistente maximal, . Se e x,
x
/
sse
sse
[c/x]
sse
[c/x]
/
sse
A *|=s [c/x]
donde A *|=s x
Departamento de Ci
encia de Computadores F.C.U.P.
91
maximal, x
/ . Analogamente se e x.
Demonstrac
ao. (Teorema da completude 2.1) Mostrar que dado um conjunto consistente
ele e satisfazvel. Estendemos nas condicoes do lema 2.3 para L" e sejam A e s
a estrutura e a interpretac
ao que satisfazem em L" , pelo lema 2.5. A restricao A de A
a L satisfaz .
2.5.4
Consequ
encias da completude e integridade
Corol
ario 2.2. (Teorema da compacidade)
1. |= se e s
o se existe um subconjunto finito 0 tal que 0 |= .
2. Um conjunto de f
ormulas duma linguagem de 1a ordem e satisfazvel se e s
o se todo o
seu subconjunto finito o for.
Demonstrac
ao. As duas afirmac
oes sao equivalentes (verifica!), portanto basta demonstrar a
primeira. Se |= ent
ao 2 . Como qualquer deducao so utiliza um n
umero finito de
Departamento de Ci
encia de Computadores F.C.U.P.
92
!
Seja N " = (N {n + i | n N}, N ) a estrutura de LN , onde i = 1 e, por exemplo, para
+Np (n + i, m + i) = (n + m) + i
Vamos ver que N " n
ao pode ser distinguido de N por uma proposica
o de LN (ou doutra
linguagem de 1a ordem).
Corol
ario 2.3. Se e um conjunto de proposico
es tal que N |= ent
ao existe um modelo
uma estrutura cujo domnio seja um superconjunto do de N e que seja um modelo desse
Corol
ario 2.4. (Teorema de L
owenheim-Skolem I) Se um conjunto de f
ormulas e
satisfazvel por uma estrutura, ent
ao e satisfazvel por uma estrutura com um domnio
numer
avel.
Demonstrac
ao. Porque o domnio da estrutura construda na demonstracao do teorema da
completude e numer
avel.
Departamento de Ci
encia de Computadores F.C.U.P.
93
Sendo um modelo numeravel ele pode ser finito ou infinito. Mas ser
a que todas as proposicoes
tem um modelo numeravel infinito?
Sejam, por exemplo, xyx = y ou xyz(z = x z = y).
Estas proposicoes nao tem modelos infinitos! A primeira nao aceita modelos com domnios
de cardinalidade maior que 1, e a segunda maior que 2.
Corol
ario 2.5. (Teorema de L
owenheim-Skolem II) Se uma proposica
o tem um modelo
finito de cardinalidade arbitrariamente grande, ent
ao tem um modelo infinito.
Demonstrac
ao. Seja a proposicao k , para k > 1
$
x1 . . . xk 1ijk xi *= xj
k indica que existem pelo menos k objectos diferentes no domnio; nao pode ser satisfeita
por uma estrutura com menos de k elementos e todas as estruturas com mais elementos a
satisfazem. Suponhamos, por contradicao, que existe uma proposicao que tem modelos
arbitrariamente grandes, mas nenhum modelo infinito. Seja o conjunto
= {} {k | k N \ {0, 1}}
Se tem um modelo M , entao M nao pode ser finito (seja k, entao k+1 nao era satisfeita),
e n
ao pode ser infinito (satisfaria ). Entao, nao tem modelo.
Pela compacidade, existe um conjunto finito D que n
ao tem modelo. D tem de conter
(senao haveria um modelo suficientemente grande que continha todos os k de D). Seja k o
maior inteiro tal que k D. Por hipotese, tem um modelo finito de cardinalidade maior
formula 0 indica que G e fortemente conexo. Seja ainda 1 a formula ( que corresponde a
todos os n
os tem grau de sada 1 )
xyG(x, y) xyz((G(x, y) G(x, z)) y = z)
e 2 a formula (que corresponde a todos os n
os tem grau de entrada 1 )
Departamento de Ci
encia de Computadores F.C.U.P.
94
! '"""
!
!
""
""
!!
!% !
"
(
""
!!
""
!
"" !!!
& !
estender a uma funcao bijectiva entre o conjunto das formulas de LP rop sem quantificadores
e as f
ormulas proposicionais, obtendo a forma booleana das primeiras formulas. Em particular,
um conjunto de formulas de LP rop sem quantificadores e satisfazvel se e s
o se o conjunto
e satisfazvel. Ent
ao, todo o subconjunto finito de 1 () e satisfazvel. Pela compacidade,
1 () e satisfazvel. Mas entao tambem ( 1 ()) = e satisfazvel
() Trivial.
Exerccio 2.21. (Aplicac
ao do teorema da compacidade)
Seja L uma linguagem de 1a ordem com igualdade.
Departamento de Ci
encia de Computadores F.C.U.P.
2.6. AXIOMATIZAC
OES
E TEORIAS
95
Resolu
ca
o
Para cada i, i e a f
ormula
x1 . . . xn
1ijn
xi *= xj
(
Leituras suplementares [BE00] (Cap. 19)
2.6
Axiomatiza
c
oes e teorias
Departamento de Ci
encia de Computadores F.C.U.P.
2.6. AXIOMATIZAC
OES
E TEORIAS
96
seja dedutvel de .
Departamento de Ci
encia de Computadores F.C.U.P.
2.6. AXIOMATIZAC
OES
E TEORIAS
2.6.1
97
Teoria ing
enua dos conjuntos
seguintes axiomas:
Axioma da extensionalidade a b (x (x a x b) a = b)
Um conjunto e completamente determinado pelos seus elementos; assim, conjuntos com
os mesmos elementos s
ao iguais.
(Esquema de) Axioma da compreens
ao ax(x a (x))
Cada propriedade determina um conjunto, ie, cada f
ormula determina um conjunto: o
dos elementos que tem essa propriedade. A quantificacao sem vari
aveis corresponde a
quantificar universalmente todas as variaveis que ocorram em .
A partir destes axiomas, podem-se tambem definir (e deduzir) formulas correspondentes `a
relacao , `as operacoes e , conjunto potencia, . . . . Por exemplo,
Inclus
ao x(x a x b), (a b)
Uni
ao abz((z a b) (z a z b)), (a b)
Intersec
ca
o abz((z a b) (z a z b)), (a b)
Conjunto pot
encia bcx(x c x b), (P(b)) (para qualquer conjunto existe um
u
nico conjunto cujos elementos sao os subconjuntos desse conjunto)
c = {x | x b x * x}
Pelo axioma da compreens
ao c e um conjunto e c b, logo c P (b). Vamos ver que c * b.
Suponhamos que c b. Entao ou c c ou c * c. Mas facilmente se ve que ambas as hipoteses
Proposi
ca
o 2.12. Existe um conjunto c, tal que P (c) c.
Departamento de Ci
encia de Computadores F.C.U.P.
2.6. AXIOMATIZAC
OES
E TEORIAS
98
Demonstrac
ao. Pelo axioma da compreens
ao existe um conjunto (universal) que contem tudo:
c = {x | x = x}
Mas entao qualquer subconjunto de c e um elemento de c, portanto P (c) c.
Acabamos de ver que se podem deduzir as formulas b(P (b) b) e bP (b) b
Podemos ent
ao concluir que o Axioma da compreens
ao nao e valido: a propriedade n
ao
pertencer a si pr
oprio nao determina nenhum conjunto.
2.6.2
Para evitar a inconsistencia da teoria ingenua dos conjuntos, os axiomas usualmente adoptados para a teoria dos conjuntos sao os de Zermelo-Frankel. Mantem-se o axioma da extensionalidade mas o axioma da compreensao e substitudo por varios outros, que evitam a
possibilidade de referencia a conjuntos t
ao grandes como o conjunto de todos os conjuntos.
Axioma da extensionalidade a b (x (x a x b) a = b
Axioma da separa
ca
o abx (x b (x a (x)) Esta e a versao mais fraca do
Axioma da compreens
ao. S
o se podem formar subconjuntos de conjuntos j
a existentes.
Mas este axioma, embora torne a teoria consistente, e muito restritivo. Nem sequer
permite deduzir que a reuni
ao de dois conjuntos e um conjunto. Assim foi necessario
acrescentar mais axiomas.
Axioma dos pares uvax(x a (x = u x = v)) (para cada dois elementos existe
um conjunto a que os dois pertencem)
Axioma da uni
ao abx(x b c(c a x c))
Axioma da pot
encia bcx(x c x b) (conjunto potencia)
Axioma da infinitude Existe o conjunto de todos os n
umeros naturais.
Axioma da substitui
ca
o Se a(x(x a (!y(x, y))) bx(x b t (t
a (t, x))))
Departamento de Ci
encia de Computadores F.C.U.P.
2.6. AXIOMATIZAC
OES
E TEORIAS
99
Axioma da escolha Se f e uma funcao com um domnio a nao vazio e para x a, f (x) e
um conjunto nao vazio entao existe uma funcao g de domnio a tal que para cada x a,
g(x) f (x). (g escolhe elementos de cada f (x))
2.6.3
Seja uma linguagem de 1a ordem com igualdade, F0 = {0, 1} e F2 = {+, }. Podemos omitir
o operador relacional uma vez que essa nocao se pode definir a partir da igualdade:
x y e zx + z = y
x < y e z(x + z = y z *= 0)
Ja vimos que a esta linguagem permite definir formulas que caracterizam propriedades dos
n
umeros naturais, i.e, da estrutura N = (N, .A ) onde as interpretacoes dos smbolos naologicos correspodem `as operacoes aritmeticas usuais.
Departamento de Ci
encia de Computadores F.C.U.P.
2.6. AXIOMATIZAC
OES
E TEORIAS
100
5. xy x + (y + 1) = (x + y) + 1 (+ e associativo)
6. x x 0 = 0 (0 e absorvente de )
7. xy x (y + 1) = (x y) + x (distributividade)
8. (princpio da induc
ao) (Q(0) (x(Q(x) Q(x + 1)) xQ(x)
facil de verificar que os axiomas de Peano sao validos em N . Assim, pela integridade da
E
deducao natural, todas as proposicoes tal que PA 2 , sao validas em N .
Exerccio 2.22. Mostrar que os axiomas de Peano s
ao v
alidos em N . (
Exerccio 2.23. Mostrar que PA 2 x(x + 1 = 1 + x). (
Resolu
ca
o 2.23
1
x(x + 1 *= 0)
xy(x + 1 = y + 1 x = y)
0+1=1
x x + 0 = x
xy x + (y + 1) = (x + y) + 1
x x 0 = 0
xy x (y + 1) = (x y) + x
1+0=1
E, 4
10
0+1=1+0
=I, 3, 9
11
u+1=1+u
12
y 1 + (y + 1) = (1 + y) + 1
E, 7
13
1 + (u + 1) = (1 + u) + 1
E, 7, 12
14
1+u=u+1
= simetria, 11
15
1 + (u + 1) = (u + 1) + 1
=E, 14, 13
16
(u + 1) + 1 = 1 + (u + 1)
= simetria, 15
17
u + 1 = 1 + u (u + 1) + 1 = 1 + (u + 1)
I, 1116
18
x(x + 1 = 1 + x (x + 1) + 1 = 1 + (x + 1))
I, 1117
19
0 + 1 = 1 x(x + 1 = 1 + x (x + 1) + 1 = 1 + (x + 1))
I, 10, 18
20
x(x + 1 = 1 + x)
E, 8, 19
Departamento de Ci
encia de Computadores F.C.U.P.
2.6.4
101
Teorias da l
ogica de 1a ordem
ou ou e deduzvel de T .
Defini
c
ao 2.15. (Teoria duma estrutura) Dada uma estrutura A duma linguagem L, o
Defini
c
ao 2.16. (Axiomatiza
ca
o) Uma axiomatizacao de uma estrutura A e um conjunto
de proposico
es v
alido em A, i.e, tal que A |= . Uma axiomatizac
ao de A e completa se
Para a aritmetica, p.e, pretendia-se uma axiomatizacao completa, isto e, em que fosse possvel
deduzir todas e so as proposicoes que eram verdadeiras em N, isto e, na estrutura N = (N, .A ).
Ja vimos que a axiomatizacao de Peano e ntegra.
2.7
2.7.1
Departamento de Ci
encia de Computadores F.C.U.P.
102
generalizaca
o: para x V ar, inferir x a partir de
Proposi
ca
o 2.13. 2N D se e s
o se 2H
Demonstrac
ao. (): Basta ver que os axiomas de H s
ao teoremas de DN . A regra de
inferencia modus ponens corresponde a` regra da eliminacao de implicacao de DN ( E) e a
regra generalizacao `a regra da introducao do quantificador universal de DN (I)
(): e possvel transformar uma deducao em DN , numa deducao em H. (Nao o faremos
neste curso...)
2.7.2
Tableaux
F
V
V
F
1 | 2
1
2
onde
( )
( )
( )
xq(x)
q(a)
p(a)
p(a) q(a)
p(a)
q(a)
Departamento de Ci
encia de Computadores F.C.U.P.
103
(xp(x) xq(x))
xp(x)
xq(x))
q(a)
p(b)
p(a) q(a)
p(b) q(b)
p(b)
q(b)
q(a)
p(a)
p(a)
q(a)
xyp(x, y))
xp(x, x))
este com uma nova constante a3 ....e deste modo temos um processo que n
ao termina...
E podemos concluir que os tableaux nao sao um processo de decisao para a validade das
formulas de primeira ordem.
2.7.2.1
Regras de expans
ao para tableaux
Departamento de Ci
encia de Computadores F.C.U.P.
104
(t)
(t)
[x/t]
[x/t]
x [x/t]
x [x/t]
Nesta notac
ao, as novas regras de expansao dos tableaux s
ao:
(t)
(p)
Departamento de Ci
encia de Computadores F.C.U.P.
Captulo 3
Indecidibilidade e Incompletude
3.1
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
106
3.2
3.2.1
Indecidibilidade da L
ogica de 1a ordem
Revis
oes de Decidibilidade e M
aquinas de Turing
pens
avel para se obter um metodo efectivo de computacao.
Uma m
aquina de Turing (MT)
. . . a1 . . . ai . . . an . . .
controlo finito
e constituda por
um controlo finito (conjunto finito de estados)
uma fita infinita dividida em celulas
uma cabeca de leitura/escrita que actua de cada vez sobre uma celula da fita
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
107
est
a no smbolo mais a` esquerda dos dados.
(s0 , ) = (s4 , , )
(s2 , 0) = (s2 , 0, )
(s2 , 1) = (s3 , X, )
(s1 , 0) = (s3 , X, )
(s3 , 1) = (s3 , 1, )
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
108
1. s e o estado da MT
2. a cabeca da fita est
a a reconhecer o i-esimo smbolo a partir da esquerda
3. X1 . . . Xn e a sequencia de caracteres da fita desde ou o caracter nao-branco mais `a
esquerda ou o smbolo que est
a sobre a cabeca, conforme o que for mais `a esquerda, e
analogamente para o seu extremo direito.
A relacao ,
X1 Xi1 sXi Xn uma configuracao. Seja (s, Xi ) = (s" , Y, D). Suponhamos que D =
. Entao
Nota: mal
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
Linguagens recursivamente enumer
aveis, recursivas e n
ao recursivas
109
Uma lingua-
Demonstrac
ao. () Suponhamos que L = E(M ), para alguma MT M . Entao, L e aceite
por uma m
aquina de Turing M " que com dados x simula M com a fita inicialmente vazia: se
durante a computacao de M , x e enumerado, entao M " para e aceita x. Caso contrario M "
nao termina.
() Suponhamos que L e r.e.. Entao, existe uma maquina de Turing M que aceita L.
Pretende-se obter uma maquina M " tal que L = E(M " ), isto e, que enumere os elementos
de L. M " nao pode simular directamente M para cada um dos x A$ , porque se x * L,
M nao para. A tecnica que sera usada denomina-se dovetailing 1 computacoes intercaladas.
A traduc
ao literal de dove tail e cauda de andorinha
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
1
. . . (computacoes em M)
M (x0 )
10
...
M (x1 )
...
M (x2 )
...
M (x3 )
..
.
...
110
Se M para para algum destes dados, por exemplo xn , entao M " escreve xn na fita (seguido
de um ) e continua a simulacao. Isto garante que M " s
o enumera elementos em L. Se
Aceita
Rejeita
Aceita
Rejeita
Teorema 3.5. Se L e L s
ao r.e., ent
ao L e recursiva (e portanto, tambem o e L)
M1
Aceita
Aceita
Aceita
Rejeita
w
M2
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
111
Demonstrac
ao. Seja L = L(M1 ) e L = L(M2 ). Construmos uma MT M que simula em
paralelo M1 e M2 , usando duas fitas e estados cujas componentes sao os de M1 e M2 . Se com
dados w, M1 aceitar, M aceita.
Senao w
/ L, mas w L. Entao, M2 tem de aceitar w.
Nessa altura M para e rejeita. Portanto, com todos os dados M para e L(M ) = L. Logo L e
recursiva.
As linguagens podem dividir-se em:
D recursivas
SD r.e
n
ao-SD nao r.e
D
SD
naoSD
tal que:
1. M e (a codificac
ao em bin
ario de) uma maquina de Turing cujo alfabeto de entrada e
{0, 1}
2. x {0, 1}$
3. M aceita x
As maquinas U que aceitam esta linguagem denominam-se Maquinas de Universais de Turing,
i.e,
Lu = L(U ) = {(M, x) | x L(M )}
Com dados (M, x), U simula M com dados x.
Lu e recursivamente enumer
avel mas nao e recursiva.
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
112
Redu
ca
o entre linguagens Dadas L1 $ e L2 $ , uma reducao de L1 a L2 e uma
funcao total computavel (algoritmo) : $ $ tal que para todo x $ :
x L1 (x) L2
Para existe uma m
aquina de Turing total (que p
ara sempre) e que com dados x para com
(x) na fita.
Diz-se que L1 e redutvel a L2 , L1 m L2
Teorema 3.6.
a) Se L1 m L2 e L2 e r.e ent
ao L1 e r.e.
ent
ao L2 tambem n
ao.
Equivalentemente, se L1 m L2 e L1 n
ao e r.e
b) Se L1 m L2 e L2 e recursiva ent
ao L1 e recursiva. Equivalentemente, se L1 m L2 e L1
n
ao e recursiva ent
ao L2 tambem n
ao.
3.2.2
Linguagem L
Seja L uma linguagem de 1a ordem cujo conjunto de smbolos nao-logicos e infinito numer
avel: F0 = {c0 , c1 , . . .}, e para cada n > 0, Fn = {f0n , f1n , . . .} e Rn = {R0n , R1n , . . .}.
Para representar esta linguagem como uma linguagem formal temos que considerar um alfabeto finito.
A = {x, c, f, R, 0, 1, . . . , 9, 0, 1, . . . , 9, =, , , , , , , (, ), F}
onde os inteiros n ser
ao usados para indentificar o smbolo funcional (ou relacional) e os
inteiros n a aridade do smbolo. Assim,
2 (x , f 1 (c )) pode ser representado por
O termo f33
41 5 28
f 233x41f 15c28
1 (x ) R2 (x , x )) pode ser representada por
A formula x13 x23 (R14
13
12 13 23
x13x23(R114x13 R212x13x23)
Uma deduc
ao no sistema de deduc
ao natural e uma sequencia finita de f
ormulas, onde cada
formula e precedida de uma sequencia de inteiros que indica qual o nvel e qual o n
umero de
ordem da sub-deduc
ao a que pertence (11 e a deducao de topo).
Nota que uma deduc
ao pode ent
ao ser vista como uma palavra de A .
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
113
Uma deduc
ao num sistema dedutivo de Hilbert e a uma sequencia finita de formulas 1 , , k ,
Para uma sequencia 1 , . . . , k ser uma deducao de k e necessario ainda que cada i seja
um axioma ou um dos j , j < i, ou o resultado da aplicacao de uma regra.
Proposi
ca
o 3.1. O conjunto dos termos de L e decidvel.
Demonstrac
ao. Pela tese de Church-Turing basta encontrar um algoritmo que verifique se
A$ corresponde a um termo:
se = c ou = x, tem de ser uma sequencia nao nula de ns, com n = 0, 1, 2, . . .
se = f , e da forma nk . . . n0 ml . . . m0 , com n0 , . . . , nk , m0 , . . . , ml {0, . . . , 9},
Proposi
ca
o 3.2. O conjunto das f
ormulas at
omicas de L e decidvel.
Proposi
ca
o 3.3. O conjunto das f
ormulas de L e decidvel.
Exerccio 3.1. Demonstra as proposic
oes 3.2 e 3.3. (
Proposi
ca
o 3.4. O conjunto das proposic
oes de L e decidvel.
Demonstrac
ao. Uma proposic
ao e uma formula sem variaveis livres. Convem comecar por
determinar o conjunto das variaveis livres de uma formula , V L(). Isso pode ser feito por
inducao na estrutura da formula:
V L(t1 = t2 ) = V ar(t1 ) V ar(t2 )
V L( ) = V L() V L() , ,
V L(x) = V L() \ {x}
V L(x) = V L() \ {x}
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
114
Proposi
ca
o 3.5. O conjunto das proposic
oes de L que s
ao teoremas e semi-decidvel (ou
recursivamente enumer
avel (r.e)).
Demonstrac
ao. Qualquer que seja o sistema dedutivo e possvel encontrar um algoritmo que
verifica se uma palavra de A$ e da forma 1 . . . k e tal que 1 . . . k e uma deducao de
k . Tambem e possvel decidir se k e uma proposicao. Entao e possvel construir uma MT
M que dada a representacao de uma formula :
1. determina se e uma proposicao
2. gera as palavras de A$ , lexicograficamente
3. para cada uma verifica se e uma deducao 1 , . . . , k e se k e . Se for, M aceita .
Senao continua no passo 2.
Nota que n
ao e garantido que a m
aquina de Turing pare sempre: s
o e garantido que pare se
for uma representacao dum teorema.
Corol
ario 3.1. O conjunto das proposico
es v
alidas de L e semi-decidvel (ou recursivamente
enumer
avel (r.e)).
Demonstrac
ao. Pelo teorema da completude basta mostrar que o conjunto de teoremas de
L e recursivamente enumer
avel, o que foi feito na proposicao anterior.
Conclumos assim que o problema de determinar se uma proposicao da logica de primeira
ordem e v
alida e pelo menos semi-decidvel.
Seja Lval a linguagem das proposic
oes validas de L . Por reducao de Lu , vamos ver que Lval
nao e recursiva!
Seja Lu = {(M, x) | x L(M )}
Isto e, e v
alida se e s
o se M aceita x. Pela completude, e um teorema se e so se M aceita
x.
E se houvesse um algoritmo para determinar se Lval ent
ao haveria um algoritmo para
determinar se (M, x) Lu . Absurdo!
Vamos ent
ao especificar a reduc
ao Lu m Lval .
Departamento de Ci
encia de Computadores F.C.U.P.
3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM
115
A
Seja a estrutura A = (A, A ) de L tal que A = {X1 , X2 , . . . , Xm }$ , cA
( = *, fXi (w) = Xi w
M $
Departamento de Ci
encia de Computadores F.C.U.P.
116
Seja T a conjunc
ao de todas as f
ormulas anteriores. Nota que sao em n
umero finito! E seja
a formula
(Rs1 (c( , x) T ) v1 v2 Rs2 (v1 , v2 )
O processo descrito e um algoritmo (seja ) e ((M, x)) = .
Falta ver que (M, x) Lu sse ((M, x)) = Lval .
() Se M aceita x ent
ao existe uma sequencia de configuracoes ( computacao valida) que
conduz da configuracao inicial a um estado final. Cada passo corresponde a uma inst
ancia
duma das formulas da conjuncao T . Podemos entao construir uma deducao para (2 ):
Supor Rs1 (*, x) T
Aplicar E tantas vezes quantos os elementos de T
aplicar E para obter a instancia adequada para simular cada um dos passos a partir
de Rs1 (*, x) e E, para obter a configurac
ao seguinte
E aplicando I deduzimos
() Se for valida em todas as estruturas, entao e valida em A. O que implica que M tem
uma computacao que leva ao estado final, comecando com x na fita. Isto e (M, x) Lu .
Temos ent
ao demonstrado que:
3.3
Subconjuntos decidveis de L
Departamento de Ci
encia de Computadores F.C.U.P.
117
...
3.4
tem o valor habitual). Entao se P A 2 , N |= , isto e, o sistema e ntegro. Mas, temos que
A demonstrac
ao feita por Kurt G
odel e um pouco complexa: ele construiu uma f
ormula G
de LN que afirmava que esta proposic
ao n
ao e deduzvel dos axiomas de Peano (ou noutro
conjunto r.e de axiomas).
A proposic
ao G e verdadeira!
Se G fosse falsa entao, G era deduzvel em PA, mas entao pela integridade seria verdadeira.
Departamento de Ci
encia de Computadores F.C.U.P.
118
Departamento de Ci
encia de Computadores F.C.U.P.
119
Nota que V ALCOM PM,x (y) tem de ser expressa so usando operacoes aritmeticas e construda
por um algoritmo (a partir de M e x).
Suponhamos que as configuracoes de M est
ao codificadas num alfabeto de tamanho p, com
p primo (em binario seria mais complicado).
Sendo x = a1 a2 . . . an , a configuracao inicial sera codificada por k0 k1 k2 . . . kn dgitos p-
arios:
s0 a1 a2 . . . an
k0 k1 k2 . . . kn
Suponhamos ainda que o smbolo corresponde ao dgito k.
ent
ao podemos ter, p.e
a s1 a b
a b s2 b
Departamento de Ci
encia de Computadores F.C.U.P.
120
x
e pot
encia de 2:
y((DIV (y, x) P rimo(x)) y = 2) =def P (2, x)
y
e 2k e o k-
esimo bit de x
e 1:
P (2, y) qr(IN T DIV (x, y, q, r) Impar(q)) =def BIT (x, y)
Divide-se x por y em bin
ario e o quociente tem de ter o u
ltimo bit 1. Assim podem-se
ver os n
umeros como palavras e extrair bits.
Vamos definir mais algumas ( omitindo o sinal ):
o n
umero y
e uma pot
encia de p
z(DIV (z, y) P rimo(z) z = p) =def P otp (y)
O n
umero d
e uma pot
encia de p e d = |v|, v como palavra de P otp (d) v d
=def Comp(v, d)
Os 4 dgitos p-
arios de v naposi
c
ao y s
ao b, c,d,e
ua(v = a + by + cpy + dppy + epppy + uppppy
a < y b < p c < p d < p e < p)
=def 4DIGIT (v, y, b, c, d, e)
Os 4 dgitos de v na posi
c
ao y e os na posi
ca
o z correspondem
"
(a,b,c,d,e,f,g,h)C
Departamento de Ci
encia de Computadores F.C.U.P.
121
n
%
i=0
n
"
DIGIT (v, y, w)
wF
=def Aceita(v, d)
A m
aquina M n
ao aceita x
vV ALCOM PM,x (v)
Departamento de Ci
encia de Computadores F.C.U.P.
Captulo 4
Programac
ao em L
ogica
Pretende-se que um programa seja um conjunto de formulas l
ogicas e que a execucao desse
programa corresponda a uma demonstracao de que uma formula e um teorema. Os sistemas
que vamos ver baseiam-se em:
considerar f
ormulas em forma prenexa e em que a matriz est
a em normal conjuntiva
como sistema dedutivo usar variantes da resolucao
o sistema dedutivo deve ser ntegro e completo, pelo menos para uma dada estrutura.
ser computacioanlemente universal, i.e, equivalente a maquinas de Turing.
4.1
Cl
ausulas
Seja L uma linguagem de 1a ordem com igualdade e pelo menos uma constante.
Defini
c
ao 4.1. Um literal positivo (ou
atomo) e uma f
ormula at
omica.
Um literal negativo e a negaca
o de uma f
ormula at
omica.
Exemplo 4.1. P (x, y), f (x) = a s
ao literais positivos. E, P (x, y) e um literal negativo.
Defini
c
ao 4.2. Uma cl
ausula e uma f
ormula da forma:
x1 . . . xs (1 . . . k 1 . . . n )
onde i , i s
ao
atomos e x1 , . . . , xs s
ao todas as vari
aveis que ocorrem na f
ormula.
Tambem se pode escrever como:
x1 . . . xs ((1 . . . n ) (1 . . . k ))
ou ainda iremos represent
a-la pela notacao clausal seguinte:
1 , . . . , k 1 , . . . , n
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
4.1.1
123
Convers
ao em forma clausal
y1 . . . yn x e satisfazvel em L se e s
o se y1 . . . yn [f (y1 , . . . , yn )/x] e satisfazvel em L" .
Demonstrac
ao. Temos que mostrar que existe A (estrutura de L) tal que A |= y1 . . . yn x
sse existe A" (estrutura de L" ) tal que A" |= y1 . . . yn [f (y1 , . . . , yn )/x]
a1 , . . . , an A, f A (a1 , . . . , an ) = b
sendo b cada um dos definidos anteriormente.
()
!
2. Para 1 i n se Qi e um quantificador existencial e xi1 , . . . ximi as variaveis quantificadas universalmente de ndice menor que i ent
ao substitui-se:
xi por [fi (xi1 , . . . ximi )/xi ]
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
124
( )
( )
( ) ( ) ( )
4. Aplicar a seguinte transformac
ao: x( ) x x
Exerccio 4.1. Justifica a correc
ao do algoritmo: isto e, que a f
ormula resultante verifica as
condic
oes indicadas. (
Exerccio 4.2. Aplica o algoritmo a
` seguinte f
ormula:
x(y(P (y) R(y, x)) Q(x))
(
Resolu
ca
o 4.2
Para forma normal prenexa basta passar par fora os qauntificadores:
xy((P (y) R(y, x)) Q(x))
Como n
ao tem quamtificadores existenciais basta, converter a matriz para forma normal
conjuntiva:
xy((P (y) R(y, x)) Q(x))
(4.1)
(4.2)
(4.3)
(4.4)
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
125
Ou em notac
ao clausal:
1 1 , . . . , n
onde 1 e a diz-se a a cabeca da cl
ausula e 1 , . . . , n o corpo da cl
ausula. Se o corpo e vazio
a cl
ausula diz-se unitaria (ou facto). Uma cl
ausula de Horn e (objectivo) se n
ao tem literal
positivo:
x1 . . . xs (1 . . . n )
que e equivalente a
x1 . . . xs (1 . . . n )
Ou em notac
ao clausal:
1 , . . . , n
A cl
ausula vazia representa-se por * corresponde a uma contradic
ao (F) e e uma cl
ausula sem
cabeca nem corpo.
Exemplo 4.2. Das seguintes f
ormulas, indica quais s
ao cl
ausulas de Horn, positivas ou
negativas e escreve-as na notaca
o clausal:
xyz(P (x, z) Q(x, y) Q(x, z)) N
ao Horn
P (x, z), Q(x, y) Q(x, z)
com vari
aveis x1 , . . . xs . A satisfaz , A |= , se e s
o se para todos os a1 , . . . , as A existe
um literal {1 , . . . , k , 1 , . . . , n } tal que A |=s para s(xi ) = ai , 1 i s
Demonstrac
ao. Resulta directamente da definicao de cl
ausula e da relacao |=s .
Defini
c
ao 4.4. Um programa definido e um conjunto finito de cl
ausulas de Horn positivas.
Num programa o conjunto de cl
ausulas com cabecas com mesmo smbolo de predicado P ,
chama-se a definicao de P .
Exemplo 4.3. Considera a linguagem de 1a ordem Lss sem igualdade com F0 = {0, nil},
F1 = {s}, F2 = {cons}, R1 = {sorted}, R2 = {slowsort, perm, less eq} e R3 = {delete}. O
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
126
programa seguinte dada uma sequencia de inteiros permuta os seus elementos ate estarem
ordenados:
slowsort(x, y) sorted(y), perm(x, y)
sorted(nil)
sorted(cons(x, nil))
perm(nil, nil)
uma lista de inteiros e representada por termos cons(x, y) onde x e um inteiro e y e uma
lista. A lista vazia e representada por nil Ex: cons(s(s(0)), cons(s(0), cons(s(s(s(0))), nil)
representa a lista [2, 1, 3]
slowsort dada uma lista x, verifica se est
a ordenada (sorted), sen
ao permuta (perm)...
Proposi
ca
o 4.3. Seja P um programa, 1 , . . . , n um objectivo e y1 , . . . , yr as vari
aveis
que ocorrem nos i , 1 i n. Ent
ao
P |= y1 . . . yr 1 . . . n
se e s
o se P { 1 , . . . , n } e n
ao satisfazvel.
Demonstrac
ao. Directamente das definicoes.
Exemplo 4.4. Verifica que
P { slowsort(cons(s(s(0)), cons(s(0), cons(s(s(s(0))), nil), y)}
n
ao e satisfazvel.Ou por outras palavras executa P com o objectivo
slowsort(cons(s(s(0)), cons(s(0), cons(s(s(s(0))), nil), y)
e obtem em y a resposta.
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
127
(
Exemplo 4.5. Justifica a validade ou a falsidade das seguintes afirmac
oes, para uma linguagem de 1a ordem:
1. todo o conjunto de f
ormulas de Horn positivas e satisfazvel
2. todo o conjunto de f
ormulas de Horn negativas e satisfazvel
3. todo o conjunto de f
ormulas de Horn e satisfazvel
4.1.2
Satisfazibilidade de Cl
ausulas
de Horn, sao satisfazveis se o forem no seu modelo mnimo de Herbrand. Dado um programa
definido P e um objectivo G, P G e nao satisfazvel se e so se G nao e satisfazvel no modelo
mnimo de P .
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
128
Todas as estruturas de Herbrand tem o mesmo domnio (ou universo) e coincidem no valor
dos smbolos funcionais: apenas diferem no valor dos smbolos de predicado.
Exemplo 4.6. Para a linguagem Lss (do slowsort) o domnio (ou universo) de qualquer
estrutura de Herbrand A e:
A = {0,nil,s(0),s(nil),cons(0,0),cons(0,nil),cons(nil,0),cons(nil,nil),. . . }
e 0A = 0, nilA = nil, sA (0) = s(0), etc
Exemplo 4.7. Seja a linguagem L tal que F1 = {f, g}, R1 = {p, r} e R2 = {q}. Como L
n
ao tem constantes adicionamos uma constante c a T0 de L. O universo de Herbrand e:
A = {c,f(c),g(c),f(f(c)),f(g(c)),g(f(c)),g(g(c)),. . . }
e cA = c, f A (c) = f(c), f A (g(c)) = f(g(c)), etc
Teorema 4.1. Seja um conjunto de cl
ausulas. Ent
ao e satisfazvel se e s
o se tiver um
modelo de Herbrand.
obvio que se tiver um modelo de Herbrand e satisfazvel
Demonstrac
ao. () E
necessario mostrar que tem um modelo de Herbrand, AH :
() Seja A um modelo de . E
associamos a cada smbolo relacional R a relacao:
A
A
RAH = {(t1 , . . . , tn ) T0n | (tA
1 , . . . , tn ) R }
(1 . . . m ), isto e, existe pelo menos um k tal que A |=s k . Mas, por construcao de
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
129
Corol
ario 4.1. Um conjunto de cl
ausulas de Horn e satisfazvel sse tiver um modelo de
Herbrand.
Defini
c
ao 4.6. Dado um conjunto de cl
ausulas de Horn o modelo mnimo de Herbrand
de e a estrutura de Herbrand A tal que, para R Rn :
RA = {(t1 , . . . , tn ) T0n | 2 R(t1 , . . . , tn )}
O modelo da definicao anterior e mnimo porque:
Teorema 4.2. Seja um conjunto satisfazvel de cl
ausulas de Horn. Ent
ao:
A |=
se AH e um modelo de Herbrand de , ent
ao para todo o smbolo relacional n-
ario R,
RA RAH
Demonstrac
ao. Para toda a f
ormula at
omica , com variaveis x1 , . . . , xk e para toda a interpretacao de variaveis s, se s(xi ) = ti , 1 i k, entao, pela definicao de A , tem-se:
A |=s sse 2 [tk /xk ]
(4.5)
onde [tk /xk ] e a formula que resulta de substituindo simultaneamente todas as ocorrencias
de x1 , . . . , xk por t1 , . . . , tk .
Seja x1 . . . xm , e nao tem quantificadores. Vamos mostrar que se tem A |=s
qualquer que seja a interpretacao s.
Temos dois casos:
(1 . . . n ), com n 0 Temos que demonstrar que A |=s (1 . . .
A |=s 0 , . . . A |=s n . Mas, por (4.5), 2 0 [tm /xm ],. . . , 2 n [tm /xm ], donde
2 (0 . . . n )[tm /xm ]. Absurdo! Entao, A |=s .
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
130
O teorema seguinte garante que dado um programa definido P (conjunto de clausulas de Horn
positivas) e um objectivo G (uma clausula de Horn negativa) , P {G} e nao satisfazvel se
e s
o se G nao e satisfeito em AP .
afirmaco
es s
ao equivalentes:
1. 2 x1 . . . xn (0 . . . l )
2. A |= x1 . . . xn (0 . . . l )
3. existem t1 , . . . , tn T0 , tal que 2 (0 . . . l )[tn /xn ]
Demonstrac
ao.
(1)(2) pela integridade da LPO.
(2)(3) Se A |= x1 . . . xn (0 . . . l ) existe uma interpretacao das variaveis s, com
1. Mostra que 2 x n
ao implica necessariamente que existe um termo t T tal que
2 [t/x]
2. Sup
oe que e um conjunto de cl
ausulas de Horn e da forma 0 . . . l onde i
s
ao f
ormulas at
omicas. Mostra que se 2 x existe t T0 tal que 2 [t/x].
(
Resolu
ca
o 4.4
1. Basta considerar R1 = {R}, = {xR(x)} e a formula R(x).
2. Segue do teorema anterior.
Seja P um programa definido. Entao:
Departamento de Ci
encia de Computadores F.C.U.P.
4.1. CLAUSULAS
131
LP linguagem de primeira ordem constituda por todos os smbolos nao logicos de P (eventualmente com mais uma constante c). Ex: Seja P
p(x) q(f(x), g(x))
r(x)
UP = {c,f(c),g(c),f(f(c)),f(g(c)),g(f(c)),g(g(c)),. . . }
BP A base de Herbrand de LP , e o conjunto de todas as formulas atomicas fechadas da
linguagem LP . Ex:
atomos que s
ao verdadeiros nessa estrutura)...Isto e, dada uma estrutura de Herbrand
A, existe um e um so IA BP tal que, para cada smbolo relacional n-
ario R de LP e
para t1 , . . . , tn UP :
Corol
ario 4.2. Seja P um programa definido. Ent
ao
MP = { BP | P |= }
Exerccio 4.5. Mostra o corol
ario anterior. (
Exerccio 4.6. Mostra que MP IA para qualquer modelo de Herbrand A de P . (
Exerccio 4.7. Para cada um dos programas definidos P e objectivos G descritos abaixo
determina:
LP
Departamento de Ci
encia de Computadores F.C.U.P.
4.2. UNIFICAC
AO
132
cada f
ormula do programa e do objectivo sem ser na notacao clausal (i.e com os quantificadores e operaco
es l
ogicas , e )
um modelo de Herbrand A de P
UP
BP
IA para o modelo de Herbrand A que escolheste
para G = 1 , . . . , k determina os termos fechados t1 ,. . . ,tn tais que P |= (1 . . .
P {G} e satisfazvel.
a)
P :
G:
b)
P :
P :
M ax(s(0), x, s(s(0)))
4.2
Unifica
c
ao
Defini
c
ao 4.7. Uma substituicao e uma funca
o : Var T tal que o conjunto dos
xi Var com (xi ) = ti *= xi e finito. E escreve-se
Uma substituica
o [t1 /x1 , . . . , tn /xn ] e fechada se todos os ti s
ao termos fechados.
Departamento de Ci
encia de Computadores F.C.U.P.
4.2. UNIFICAC
AO
133
Por exemplo [f (a)/x, b/y, g(b, b)/z] e uma substituicao fechada, mas nao [f (y)/x, x/y, a/z]
Defini
c
ao 4.8. Seja uma express
ao E um termo, um literal, uma conjunc
ao ou uma disjunc
ao de literais. Uma express
ao simples e um termo ou um a
tomo.
Seja = [t1 /x1 , . . . , tn /xn ] e E uma express
ao, E (ou (E)), uma instancia de E e a
express
ao que resulta de E substituindo simultaneamente todas as ocorrencias de x1 , . . . , xn
por t1 , . . . , tn . E e uma instancia fechada se n
ao contiver vari
aveis.
Se S = {E1 , . . . , Em }, e um conjunto finito de express
oes Ei , e uma substituic
ao, ent
ao
S = {E1 , . . . , Em }
Exemplo 4.9. Seja
Departamento de Ci
encia de Computadores F.C.U.P.
4.2. UNIFICAC
AO
134
Defini
c
ao 4.12. Duas express
oes E e F s
ao variantes se existirem substituic
oes e tais
que E = F e F = E .
Exemplo 4.10. P (f (x, y), g(z), a) e uma variante de P (f (y, x), g(u), a). P (x, x) n
ao e uma
variante de P (x, y).
Proposi
ca
o 4.5. Sejam E e F duas variantes. Ent
ao existem substituico
es e tais que
E = F e F = E e e s
ao renomeac
oes de vari
aveis, respectivamente para F e E.
Demonstrac
ao. Sejam 1 e 1 substituicoes tais que E = F 1 e F = E1 . Seja V o conjunto
das variaveis que ocorrem em E e seja a obtida de 1 retirando os elementos t/x, tais
que x
/ V . Entao F = E e E = F 1 = E1 . Logo, tem de ser uma renomeacao de
variaveis.
de diferencas e {h(z), f (u), w}. Para {R(f (a), g(x)), R(y, y)} o conjunto de diferencas e
{f (a), y}.
4.2.1
Algoritmo da Unifica
c
ao (de Robinson)
Dado um conjunto finito S de expressoes simples, vamos descrever um algoritmo que retorna
um umg de S, se e so se, S for unificavel:
1. Seja k = 0 e 0 =
Departamento de Ci
encia de Computadores F.C.U.P.
4.2. UNIFICAC
AO
135
Departamento de Ci
encia de Computadores F.C.U.P.
4.2. UNIFICAC
AO
136
Demonstrac
ao. O algoritmo termina sempre: S s
o tem um n
umero finito de vari
aveis e no
passo 3 uma variavel e eliminada. Se S nao e unificavel, para no passo 3 e reporta o facto. Se
S e unific
avel, seja um unificador de S. Entao o algoritmo tem de parar no passo 2. Basta
provar que se k e a substituic
ao da k + 1-esima iteracao, entao existe k tal que = k k (e
quanto parar, k e um unificador de S). Por inducao em k:
Base. Para k=0, basta 0 =
Indu
c
ao. Suponhamos que para k existe k tal que = k k , e |Sk | > 1. Seja Dk o
conjunto de diferencas de Sk . Como = k k e unifica S, k unifica Dk . Podemos
concluir que Dk tem pelo menos uma variavel v " (sendo um conjunto de diferencas,
nao podia ter termos todos com o mesmo smbolo funcional, mas para unificar n
ao
podem ser distintos, logo tem de haver uma vari
avel). Seja t" outro termo de Dk . Entao
v " k = t" k . Logo v " nao ocorre em t" . Seja entao, k+1 = k [t" /v " ]. E definimos
k+1 = k \ [v " k /v " ]. Se v " k /v " k ent
ao
k = [v " k /v " ] k+1
[t" k /v " ] k+1
(4.6)
(4.7)
(4.8)
(4.9)
cla
usulas sem vari
aveis em comum. Seja L1 C1 e L2 C2 , tal que L1 e L2 unificam com
umg .
A resolvente C de C1 e C2 e:
(C1 L1 ) (C2 L2 )
Sendo {p(f (x), g(y)), q(x, y)} e {p(f (f (a)), g(z)), q(f (a), g(z))}. Um umg de {p(f (x), g(y))}
e {p(f (f (a)), g(z))} e [f (a)/x, y/z]. Ent
ao, uma resolvente e
{q(f (a), z), q(f (a), g(z))}
Departamento de Ci
encia de Computadores F.C.U.P.
4.3. O OPERADOR TP
4.3
137
O operador TP
Defini
c
ao 4.15. Dado um programa definido P e um conjunto f
ormulas at
omicas fechadas
I BP ,
Tp (I) = { BP | 1 , . . . , n e uma inst
ancia fechada
duma cl
ausula de P e {1 , . . . , n } I}
Para n (N ), definimos TP n indutivamente por:
TP 0 =
TP n = TP (TP (n 1))
e ainda
TP = nN TP n
Nota que
TP 1 = TP ()
= { BP | e uma instancia fechada
duma clausula de P }
Exemplo 4.17. Seja P :
S(f(x)) P(x, y), Q(y)
P(a, g(a))
P(b, g(b))
P(g(x), x) Q(x)
Q(a)
Q(c)
Departamento de Ci
encia de Computadores F.C.U.P.
4.3. O OPERADOR TP
138
2n
Proposi
ca
o 4.6.
1. TP k TP (k + 1), para k 0
2. TP (TP ) = TP , isto e, = TP e um ponto fixo de TP
Exerccio 4.9. Mostra a Proposic
ao 4.6. (
A proposic
ao seguinte caracteriza os modelos de Herbrand de um programa definido P :
Proposi
ca
o 4.7. Seja P uma programa definido e A uma estrutura de Herbrand de LP . A
e um modelo de P (i.e A |= P ) se e s
o se TP (IA ) IA .
Departamento de Ci
encia de Computadores F.C.U.P.
139
Demonstrac
ao. A |= P sse para cada inst
ancia fechada 1 , . . . , n de qualquer clausula
de P , se A |= 1 , . . . , A |= 1 , entao A |= . Mas entao, por definicao de IA , se 1 , . . . n IA
ent
ao IA . Isto e, se TP (IA ) entao IA .
2n
4.4
Resposta correcta
Defini
c
ao 4.16. Seja P um programa definido e G um objectivo. Uma resposta para P {G}
e uma substituica
o para vari
aveis que ocorrem em G.
uma resposta para P {G}. e uma resposta correcta para P {G} sse
P |= x1 . . . xs ((1 . . . k ))
onde x1 , . . . , xs s
ao as vari
aveis que ocorrem em (1 . . . k ).
Entao, e uma resposta correcta sse P {x1 . . . xs ((1 . . . k ))} e nao satisfazvel.
Departamento de Ci
encia de Computadores F.C.U.P.
4.5. RESOLUC
AO-SLD
140
Demonstrac
ao. Obviamente 12 e 23. Basta ver que 31:
AP |= (1 . . . k ) A |= (1 . . . k ), para qualquer A modelo de
Herbrand para P
4.5
Herbrand para P
Resolu
c
ao-SLD
Vamos definir um sistema dedutivo que permita determinar se P {G} nao e satisfazvel e,
Defini
c
ao 4.18. Seja G um objectivo 1 , . . . , m , . . . , k e 1 , . . . , q , uma cl
ausula
C. G" e derivado por resoluca
o de G e C, com unificador mais geral se:
1. m e o a
tomo seleccionado em G
2. e um umg de m e
3. G" e (1 , . . . , 1 , . . . , q , . . . , k )
Isto e,
1 , . . . , m , . . . , k 1 , . . . , q
(1 , . . . , 1 , . . . , q , . . . , k )
Departamento de Ci
encia de Computadores F.C.U.P.
4.5. RESOLUC
AO-SLD
141
Defini
c
ao 4.19. Seja P um programa definido e G um objectivo. Uma derivacao SLD de
P {G} e constituda por:
uma sequencia (finita ou infinita) G0 = G, G1 , G2 , . . . de objectivos
uma sequencia C1 , C2 , . . . de variantes de cl
ausulas em P , de modo a que nenhuma
vari
avel de Ci tenha ocorrido antes na derivaca
o
C1 , 1
G1
C2 , 2
Gn1
Cn , n
G2
..
.
Gn
..
.
Defini
c
ao 4.20. Uma refutacao-SLD de P {G} e uma derivaca
o SLD finita de P {G} cujo
u
ltimo objectivo e a cl
ausula vazia (*). Se Gn = * dizemos que a refutaca
o tem comprimento
n.
Exemplo 4.21. Seja P : Max(x, y, x) Less eq(y, x)
e G : Max(s(0), x, s(s(0)))
Uma refutaca
o para P {G} de comprimento n = 3 e:
Max(s(0), x, s(s(0)))
2 = [0/x2 , s(0)/y2 ])
Departamento de Ci
encia de Computadores F.C.U.P.
4.5. RESOLUC
AO-SLD
142
Defini
c
ao 4.21. Seja P um programa definido e G um objectivo. Se 1 ,. . . , n for a sequencia
de umgs usada numa refutac
ao-SLD de P {G}, a resposta calculada para P {G} e a
restrica
o da substituica
o composta 1 . . . n a
`s vari
aveis de G.
4.5.1
Integridade da resolu
c
ao SLD
Indu
c
ao. Suponhamos que o resultado e valido para refutacoes de comprimento menor que
n. Seja C1 = 1 , . . . , q (q 0) e seja m o atomo seleccionado em G. Por hipotese
inducao,
P |= ((1 . . . m1 1 . . . q m+1 . . . k )1 . . . n )
Para q > 0, resulta em particular que P |= ((1 . . . q )1 . . . n ).
Mas (m 1 . . . n ) e igual a (1 . . . n ), donde P |= (m 1 . . . n ), logo
P |= ((1 . . . k )1 . . . n )
.
Corol
ario 4.3. Seja P um programa definido e G um objectivo. Se existir uma refutac
ao-SLD
de P {G}, ent
ao P {G} n
ao e satisfazvel.
Departamento de Ci
encia de Computadores F.C.U.P.
4.5. RESOLUC
AO-SLD
143
Demonstrac
ao. Seja G um objectivo 1 , . . . , k e uma resposta calculada para P {G}.
Pelo teorema 4.7, e uma resposta correcta para P {G}, i.e, P |= (1 . . . k ), logo
P {G} nao e satisfazvel.
Defini
c
ao 4.22. Dado um programa definido P o conjunto sucesso de P e
Suc(P ) = { BP | existe uma refutac
ao de P { }}.
Podemos considerar Suc(P ) uma vers
ao sint
actica de MP ...na realidade:
Lema 4.1. Dado um programa definido P , Suc(P ) MP .
Demonstrac
ao. Se Suc(P ), entao existe uma refutacao SLD de P { }, donde pela
integridade, P |= . Logo, MP
Demonstrac
ao. Por inducao sobre n.
Base. Para n = 1. Tem-se que G0 = , G1 = *, C1 = 1 e 1 1 = 1 . Mas entao existe
um unificador mais geral 1" de {, 1 }, donde existe tal que 1 = 1" . E entao tem-se
Indu
c
ao. Suponhamos que o resultado e valido para refutacoes de comprimento < n. Seja
G0 = G, G1 , G2 , . . . , Gn = * uma refutacao nao restringida, com variantes de clausulas
C1 , . . . , Cn e unificadores 1 , . . . , n . Entao existe um umg 1" para o atomo seleccionado
em G e a cabeca de C1 , tal que 1 = 1" para alguma substituicao . Logo existe
uma refutacao nao restringida para P {G}, G0 = G, G"1 , G2 , . . . , Gn = *, com com
Departamento de Ci
encia de Computadores F.C.U.P.
4.5. RESOLUC
AO-SLD
144
umgs 2" . . . n" tal que 2 . . . n = 2" . . . n" , para alguma substituicao . Logo existe
P {G}, uma refutacao-SLD G0 = G, G"1 , G2 , . . . , Gn = * com umgs " , 2" . . . n" tal que
Demonstrac
ao. Suponhamos que, no primeiro passo, C1 e uma variante duma clausula de
P tal que C1 = C1 . Entao 1 e um unificador da cabeca de C1 e do atomo em G que
corresponde ao atomo seleccionado em G. A resolvente de G e C1 com unificador 1 e
precisamente G1 . Entao obtemos uma refutacao nao restringida de P {G} que e identica `a
refutacao original de P {G} a menos do primeiro passo, pois comeca com G e utiliza 1 .
Basta agora aplicar o lema 4.2.
Mostramos por inducao sobre n que existe uma refutacao de P { },i.e, Suc(P ).
Base. Para n = 0 e trivial.
Indu
c
ao. Suponhamos que o resultado se verifica para TP i, i < n, e seja TP n.
4.5.2
Completude da resolu
c
ao-SLD
Demonstrac
ao. Seja G o objectivo 1 , . . . , k . Como P {G} nao e satisfazvel, entao
Departamento de Ci
encia de Computadores F.C.U.P.
4.5. RESOLUC
AO-SLD
145
x1 , . . . , xs s
ao as vari
aveis em . Ent
ao existe uma refutac
ao-SLD de P { } cuja
resposta e uma substituica
o identidade.
Demonstrac
ao. Consideremos temporariamente, P como um conjunto de cl
ausulas da linguagem alargada L" = LP {a1 , . . . , as } onde ai s
ao constantes novas e distintas. Ent
ao, P |=
para = [a1 /x1 , . . . , as /xs ]. Mas e fechado, pelo Teorema 4.8, existe uma refutacao para
P { }. Substituindo nessa refutacao as ocorrencias de ai por xi , para i = 1, . . . , s,
Nao vamos ter exactamente inverso do teorema da integridade, dado que as respostas calculadas sao todas com umgs.
Teorema 4.10. (Completude da resolu
ca
o SLD) Seja P um programa definido e G um
objectivo. Para toda a resposta correcta para P {G}, existe uma resposta calculada de
P {G} e uma substituic
ao , tal que =
Demonstrac
ao. Seja G o objectivo 1 , . . . , k . Como e uma resposta correcta para
Pelo lema 4.4, para i = 1, . . . , k existe uma refutacao de P { i } que tem uma substituicao
identidade, como resposta calculada. Combinando estas refutacoes e possvel obter uma
refutacao de P {G}, cuja resposta calculada e a identidade.
Entao
G1 . . . n = G. Aplicando o lema 4.3, existe uma refutacao de P {G} com umgs 1" , . . . , n"
tal que 1 . . . n = 1" . . . n" " , para algum " . Tomando as restricoes `as variaveis de G, de
1" . . . n" e de " , vem = .
Departamento de Ci
encia de Computadores F.C.U.P.
Ap
endice A
Sistema de dedu
c
ao natural para a
l
ogica proposicional
Introdu
ca
o
Elimina
ca
o
E1
E2
[] []
..
..
.
.
I1
I2
[]
..
.
..
.
F
FI()
F
FE
[]
..
.
Departamento de Ci
encia de Computadores F.C.U.P.
147
Regra da Repeti
ca
o
MT
[]
..
.
F
RA
TE
Departamento de Ci
encia de Computadores F.C.U.P.
Bibliografia
[And86] Peter B. Andrews. An Introduction to Mathematical Logic and Type Theory:To
Truth Through Proof. Academic Press, Orlando, Florida, 1986.
[BA01]
Mordechai Ben-Ari. Mathematical Logic for Computer Science. SV, 2nd edition,
2001.
[BE00]
Jon Barwise and John Etchmendy. Language, Proof, and Logic. CSLI, 2000.
[Bro00]
Sabine Broda. Apontamentos de logica computacional. Technical report, Departamento de Ciencia de Computadores, FCUP, 2000.
[DLL62] Martin Davis, George Logemann, and Donald Loveland. A machine program for
theorem proving. Communications of the ACM, 5(7):394397, July 1962.
[DP60]
Martin Davis and Hilary Putnam. A computing procedure for quantification theory.
Journal of the ACM, 7(3):201215, July 1960.
[Fit90]
Melvin Fitting. First-Order Logic and Automated Theorem Proving. SpringerVerlag, 1990.
[GLM97] Jean Goubault-Larrecq and Ian Mackie. Proof Theory and Automated Deduction.
Kluwer Academic Press, 1997.
[HR00]
Michael Huth and Mark Ryan. Logic in Computer Science: Modelling and reasoning
about systems. CUP, 2000. 430 DCCBIB.
[Koz97]
[Llo87]
[Pap94]
Departamento de Ci
encia de Computadores F.C.U.P.
Indice
conjunto de conectivas, 11
BP
base de Herbrand
completude
logica proposicional, 33
conjunto consistente
IA
LP
consequencia sem
antica, 55
linguagem
logica proposicional, 9
contradicao
MP
logica proposicional, 24
logica proposicional, 9
Suc(P )
conjunto sucesso, 126
contraposicao
logica proposicional, 29
TP
programa definido, 120
corpo
cl
ausula, 108
UP
Universo de Herbrand
programa definido, 114
deducao, 18
2, 18
demonstracao, 18
atribuicao
de valores de verdade, 8
axiomas
nao logicos, 86
derivacao
SLD, 123
axiomatizac
ao, 91
completa, 91
dupla negacao
logica proposicional, 28
cabeca
cl
ausula, 108
eliminacao da disjuncao
logica proposicional, 21
cl
ausula
logica proposicional, 44
logica de primeira ordem, 106
completo
F
logica proposicional, 24
eliminacao da conjuncao
Departamento de Ci
encia de Computadores F.C.U.P.
INDICE
150
logica proposicional, 20
inconsistente
logica proposicional, 24
eliminacao da implicacao
logica proposicional, 26
indecidibilidade
lpo, 100
eliminacao da negacao
logica proposicional, 23
instancia
eliminacao de
equivalencia sem
antica
integridade
logica proposicional, 33
logica proposicional, 10
sistema dedutivo DN
estrutura
DN
logica proposicional, 33
express
ao, 116
interpretacao
formula
da logica proposicional, 6
formula de Horn
logica de primeira ordem, 108
formula de Horn
logica proposicional, 16
formulas
das variaveis, 53
introducao da conjuncao
logica proposicional, 20
introducao da disjuncao
logica proposicional, 21
introducao da implicacao
logica proposicional, 26
atomicas
linguagem primeira ordem, 48
linguagem primeira ordem, 48
, 60
introducao da negacao
logica proposicional, 23
introducao de
falsa
introducao de
proposicao
logica primeira ordem, 56
forma booleana, 59
forma normal
conjuntiva, 15
F
logica proposicional, 23
lema da deducao
disjuntiva, 13
negativa, 13
logica proposicional, 27
linguagem
logica de 1a ordem, 47
lpo, 62
funcao de verdade, 10
logica proposicional, 6
Departamento de Ci
encia de Computadores F.C.U.P.
INDICE
151
logica proposicional, 22
literal
logica proposicional, 13
negativo, 106
resolucao
regra de inferencia
logica proposicional, 44
positivo, 106
SLD, 123
lpo
logica de primeira ordem, 46
resolvente, 123
logica proposicional, 44
modelo
duma proposicao, 56
modus ponens
logica proposicional, 26
resposta, 122
calculada, 124
correcta, 122
smbolo
modus tollens
logica proposicional, 27
de igualdade, 47
funcional, 47
negativa, 108
notacao uniforme
logica proposicional, 42
notacao clausal, 106
logico, 47
nao logico, 47
predicado, 47
satisfaz
logica primeira ordem, 55
objectivo, 108
omissao de parentesis
satisfazvel
formula
lpo, 49
formula proposicional, 9
de Russel, 89
programa definido, 109
proposicao
|=, 54
logica proposicional, 19
Skolemizacao, 107
sub-f
ormula, 7
imediata, 7
refutacao
SLD, 124
sub-f
ormulas principais, 59
logica proposicional, 41
substituicao, 116
regra da deducao
logica proposicional, 26
composta, 116
fechada, 116
idempotente, 117
repeticao
identidade, 116
Departamento de Ci
encia de Computadores F.C.U.P.
INDICE
152
ocorrencia nao livre, 50
lpo, 61
tabelas de verdade, 8
tableau
variavel substituvel, 61
variante
express
ao, 117
deducao
logica proposicional, 43
fechado
logica proposicional, 43
logica proposicional, 43
satisfazvel
vazia
cl
ausula, 108
verdadeira
proposicao
logica primeira ordem, 56
logica proposicional, 43
tautologia
logica proposicional, 9
teoria
completa, 91
duma estrutura, 91
ingenua dos conjuntos, 88
terceiro excludo
logica proposicional, 28
termo
linguagem de primeira ordem, 47
livre para uma variavel, 61
termo fechado
linguagem de primeira ordem, 48
unificador
mais geral, 117
unificador, 117
unitaria
cl
ausula, 108
valida
formula
linguagem primeira ordem, 55
variavel
ocorrencia ligada, 50
ocorrencia livre, 50
Departamento de Ci
encia de Computadores F.C.U.P.