Você está na página 1de 153

Logica Computacional

Nelma Moreira
Departamento de Ciencia de Computadores
Faculdade de Ciencias, Universidade do Porto
email: nam@ncc.up.pt

2004-2005

Agradecimentos

Estas notas baseam-se parcialmente nos Apontamentos de L


ogica Com-

putacional de Sabine Broda [Bro00].

Conte
udo
1 L
ogica proposicional

1.1

Linguagens da l
ogica proposicional . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Sem
antica da l
ogica proposicional . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.1

Satisfazibilidade, validade e consequencia . . . . . . . . . . . . . . . .

1.2.2

Func
oes de verdade . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.2.3

Uso de conjuntos completos de conectivas . . . . . . . . . . . . . . . .

12

Formas normais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

1.3.1

Forma normal negativa . . . . . . . . . . . . . . . . . . . . . . . . . .

13

1.3.2

Forma normal disjuntiva . . . . . . . . . . . . . . . . . . . . . . . . . .

13

1.3.3

Forma normal conjuntiva . . . . . . . . . . . . . . . . . . . . . . . . .

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

Integridade e completude de um sistema dedutivo . . . . . . . . . . . . . . . .

38

1.5.1

Integridade do sistema de deducao natural DN . . . . . . . . . . . . .

38

1.5.2

Completude do sistema de deducao natural DN

. . . . . . . . . . . .

42

1.6

Decidibilidade da l
ogica proposicional . . . . . . . . . . . . . . . . . . . . . .

45

1.7

Outros sistemas dedutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

1.7.1

Sistemas dedutivos de Hilbert, H . . . . . . . . . . . . . . . . . . . . .

45

1.7.2

Sistemas dedutivos analticos . . . . . . . . . . . . . . . . . . . . . . .

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

Satisfazibilidade, validade e consequencia . . . . . . . . . . . . . . . .

60

2.2.2

Equivalencia sem
antica . . . . . . . . . . . . . . . . . . . . . . . . . .

69

2.2.3

Substituic
ao de variaveis . . . . . . . . . . . . . . . . . . . . . . . . . .

70

2.2.4

Forma normal prenexa . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

Sistema de deduc
ao natural para a logica de 1a ordem . . . . . . . . . . . . .

72

2.3.1

Regras de inferencia DN :igualdade . . . . . . . . . . . . . . . . . . . .

73

2.3.2

Regras de inferencia DN :quantificador universal . . . . . . . . . . . .

73

2.3.3

Regras de inferencia DN :quantificador existencial

. . . . . . . . . . .

74

2.4

Equivalencia dedutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

2.5

Integridade e completude . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

2.5.1

Integridade do sistema dedutivo DN . . . . . . . . . . . . . . . . . . .

84

2.5.2

Conjuntos consistentes e inconsistentes . . . . . . . . . . . . . . . . . .

86

2.5.3

Completude do sistema dedutivo DN

. . . . . . . . . . . . . . . . . .

87

2.5.4

Consequencias da completude e integridade . . . . . . . . . . . . . . .

91

Axiomatizac
oes e teorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

2.6.1

Teoria ingenua dos conjuntos . . . . . . . . . . . . . . . . . . . . . . .

97

2.6.2

Teoria de conjuntos de Zermelo-Frankel . . . . . . . . . . . . . . . . .

98

2.6.3

Axiomas para a teoria dos n


umeros (aritmetica) . . . . . . . . . . . .

99

2.6.4

Teorias da l
ogica de 1a ordem

2.3

2.6

2.7

. . . . . . . . . . . . . . . . . . . . . .

101

Outros sistemas dedutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

101

2.7.1

Sistemas dedutivos de Hilbert, H . . . . . . . . . . . . . . . . . . . . .

101

2.7.2

Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

102

3 Indecidibilidade e Incompletude

105

3.1

Programa de David Hilbert . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Incompletude dos axiomas de Peano (PA) . . . . . . . . . . . . . . . . . . . .

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

Algoritmo da Unificacao (de Robinson) . . . . . . . . . . . . . . . . .

134

4.3

O operador TP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

137

4.4

Resposta correcta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

139

4.5

Resoluc
ao-SLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

140

4.5.1

Integridade da resolucao SLD . . . . . . . . . . . . . . . . . . . . . . .

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

Outros smbolos equivalentes


&, &&,
|, +

, , !
,

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.

Exemplo 1.1. Omitindo os parentesis, temos a seguinte


arvore pra a f
ormula ((p (p))
(p (q r))):

p
q

Para legibilidade das f


ormulas, os parentesis podem-se omitir, considerando as seguintes regras:
os parentesis exteriores s
ao omitidos
tem precedencia sobre
tem precedencia sobre
tem precedencia sobre
e s
ao associativas a` esquerda
e associativa `
a direita
Por exemplo, e uma abreviatura de (( ) ) e corresponde a
(( ) )

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)).

Exerccio 1.1. Constr


oi a a
rvore sint
actica (omitindo parentisis) e determina quais as subf
ormulas e quais as sub-f
ormulas imediatas de:
((p q) (p (q r)))
(

1.2

Sem
antica da l
ogica proposicional

Os valores de verdade sao Ve F, onde V representa o valor logico verdadeiro e F, falso.


Defini
c
ao 1.4. Uma atribuic
ao de valores de verdade (ou valorizac
ao) e uma func
ao v :
avel proposicional. Uma valoVP rop {V, F} que atribu um valor de verdade a cada vari

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

Podemos resumir usando as seguintes tabelas de verdade:

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

Satisfazibilidade, validade e consequ


encia

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

uma tautologia se para todas as valorizac


oes v, v() = V e escreve-se |= . Tambem se
diz que e valida.

Ex: |= p p (Terceiro excludo)

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 |= .

Se = , entao |= e equivalente a |= . Nota que |= se e s


o se e uma tautologia. Se
= {} e |= ent
ao diz-s que e consequencia sem
antica de (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

para todas as linhas o seu valor e V; uma contradic


ao se para nenhuma linha o seu valor e
V. A formula e consequencia sem
antica de um conjunto finito de formulas {1 , . . . , n } se
para todas as linhas que todos os i s
ao V, entao tambem e V.

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

Exerccio 1.2. Verifica as equivalencias anteriores. (

1.2.2

Fun
c
oes de verdade

A tabela de verdade duma f


ormula , com n > 0 variaveis proposicionais p1 , . . . pn , define
uma funcao de verdade
F : {V, F}n {V, F}
tal que F (x1 , . . . , xn ) = vX (), onde vX e uma valorizacao tal que vX (pi ) = xi para i
{1 . . . n} e xi {V, F}.

Qualquer funcao de f : {V, F}n {V, F}, com n > 0 diz-se uma func
ao de verdade ou

funcao booleana.

Exerccio 1.3. Existem 4 funco


es de verdade e aridade 1 e 16 funco
es de verdade de aridade
2. Constr
oi as tabelas de verdade correspondentes. E quantas funco
es existem de aridade n,
para n > 0? (
Defini
c
ao 1.7. Um conjunto de conectivas C diz-se completo se para qualquer func
ao de
verdade f , existe uma f
ormula com n vari
aveis proposicionais e contendo apenas conectivas
de C, tal que F = f .
Proposi
ca
o 1.2. O conjunto de conectivas { , , } e completo.
Demonstrac
ao. Mostramos por inducao sobre n.
Base. Para n = 1 existem 4 funcoes de verdade:
x1

f1

x1

f2

x1

f3

x1

f4

Sendo 1 = p p, 2 = p, 3 = p, 4 = p p, tem-se que Fi = fi para 1 i 4.


Indu
c
ao. Supondo que a hipotese e valida para n, seja f : {V, F}n+1 {V, F}.

Cons-

trumos duas funcoes n-


arias f1 e f2 tal que:
f1 (x1 , . . . , xn ) = f (x1 , . . . , xn , V)
f2 (x1 , . . . , xn ) = f (x1 , . . . , xn , F).

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

Uso de conjuntos completos de conectivas

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

Formula semanticamente equivalente

Falso

Verdade

Implicacao

Equivalencia
Ou Exclusivo
N
ao-e
N
ao-ou

( ) ( )
( ) ( )
( )
( )

Exerccio 1.5. Constr


oi as tabelas de verdade associadas a cada uma das conectivas. (
Exerccio 1.6. Mostra que
a) ( ) ( )
b) (contrapositivo)
c) |= se e s
o se |=
d) |= se e s
o se
(

Departamento de Ci
encia de Computadores F.C.U.P.

1.3. FORMAS NORMAIS

13

Leituras suplementares [BE00] (Cap. 1, 3, 7) [HR00] (Cap. 1.3, 1.4.1)

1.3

Formas normais

Vamos ver que podemos transformar formulas em formulas sem


anticamente equivalentes, de
modo a obter f
ormulas de formas especiais e que nos permitam decidir mais f
acilmente sobre
a satisfabilidade ou validade das f
ormulas originais. Algumas dessas formas normais existem
para qualquer formula, outras apenas para certas classes de f
ormulas.

1.3.1

Forma normal negativa

Um literal e uma vari


avel proposicional (p) ou a sua negacao (p). Uma formula diz-se em
forma normal negativa se a ocorrencia de for so em literais.
Proposi
ca
o 1.4. Qualquer f
ormula contendo apenas as conectivas , e e semanticamente equivalente a uma f
ormula em forma normal negativa.

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)

Exerccio 1.7. Determina a forma normal negativa de


(p q) r) (p (q r))
(

1.3.2

Forma normal disjuntiva

Uma formula diz-se em forma normal disjuntiva se for da forma:


(11 . . . 1k1 ) . . . (n1 . . . nkn )
onde cada ij e um literal.
Lema 1.1. Para qualquer funca
o de verdade f : {V, F}n {V, F}, existe uma f
ormula

com n vari
aveis proposicionais e em forma normal disjuntiva, tal que F = f .

Departamento de Ci
encia de Computadores F.C.U.P.

1.3. FORMAS NORMAIS

14

Demonstrac
ao. Se f = F, para todos os valores dos argumentos, entao = p1 p1 . Senao,

para cada valorizacao v (correspondente a uma linha da tabela de verdade de f ) seja:


v = l1v . . . lnv
onde
liv =

pi

se v(pi ) = V

pi

se v(pi ) = F

Nota que v(v ) = V. Entao, basta considerar


"

f (v(p1 ),...,v(pn ))=V

Para a seguinte funcao de verdade:


x1 x2 x3 f (x1 , x2 , x3 )
V

uma formula em forma normal disjuntiva e:


(p1 p2 p3 ) (p1 p2 p3 ) (p1 p2 p3 ) (p1 p2 p3 )
Corol
ario 1.1. Qualquer f
ormula e semanticamente equivalente a uma f
ormula em forma
normal disjuntiva.
Exerccio 1.8. Demonstra o Corol
ario 1.1. (
Resolu
ca
o 1.3.1. Dada uma f
ormula, e possvel transform
a-la numa semanticamente equivalente em forma normal disjuntiva, considerando os seguintes passos:
1. obter uma f
ormula apenas com as conectivas , e
2. obter uma f
ormula em forma normal negativa

Departamento de Ci
encia de Computadores F.C.U.P.

1.3. FORMAS NORMAIS

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

Forma normal conjuntiva

Uma formula diz-se em forma normal conjuntiva se for da forma:


(11 . . . 1k1 ) . . . (n1 . . . nkn )
onde cada ij e um literal.
Por dualidade, temos

Departamento de Ci
encia de Computadores F.C.U.P.

1.3. FORMAS NORMAIS

16

Lema 1.3. Uma disjunca


o de literais l1 . . . ln e uma tautologia se e s
o se para algum
1 i, j n, li e lj .

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

Numa formula de Horn, as disjunc


oes p1 . . . pn p tambem se podem escrever como
(p1 . . . pn ) p
ou se p nao existe (ou e F):
(p1 . . . pn ) F

Departamento de Ci
encia de Computadores F.C.U.P.

1.3. FORMAS NORMAIS

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

se alguma das vari


aveis proposicionais e um dos elementos da conjuncao atribuir o valor
V a essa vari
avel (porque?). Ex:
p

p q (q p)

Com a informacao dessas vari


aveis preencher a tabela como se tivesse a construir a

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)

Neste caso, q tem de ser V e ent


ao isso pode ser acrescentado:
p

V V

(q

(q

p)

E voltando a repetir este passo, obtem-se:


p

V V

p)

Continuar ate mais nada poder ser acrescentado.

Departamento de Ci
encia de Computadores F.C.U.P.

1.3. FORMAS NORMAIS

18

se no passo anterior se atribuir F a um dos elementos da conjuncao, a formula tambem

fica com o valor F e n


ao e satisfazvel. Caso contr
ario podemos atribuir `a formula o valor
V se atribuirmos F `
as restantes variaveis proposicionais. Nota que assim no m
aximo
um literal por disjuncao e F (e as disjuncoes nao sao unitarias).

ao e satisNo exemplo que estamos a considerar, a formula tem o valor F e portanto n


fazvel.
Exerccio 1.13.

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.

1.3. FORMAS NORMAIS

19

Por exemplo p q p s e uma clausula e pode representar-se por um conjunto


{p, q, p, s}.

Qualquer formula da logica proposicional em FNC pode-se representar por um conjunto de


cl
ausulas. Por exemplo,
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}}
E como qualquer formula e equivalente a uma em FNC, se tivermos um metodo para determinar a satisfazibilidade de clausulas, temos um metodo que se pode aplicar a qualquer
formula.
Defini
c
ao 1.9. Dado um literal l designamos por literal complementar o literal l definido
por:
l =

l, se l e uma vari
avel (positivo)

p,

se l e da forma p (negativo)

Como vimos no Lema 1.3, uma cl


ausula e uma tautologia se contem um par de literais
complementares p e p. Estas clausulas podem ser retiradas do conjunto sem alterar a

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.

1.3. FORMAS NORMAIS

20

Exemplo 1.4. Considera o seguinte conjunto de cl


ausulas:
{p1 , p1 p2 , p3 p2 , p7 p2 ,p3 p4 , p3 p5 , p4 p q,
p5 p6 r, p q p6 , p p7 , r p7 }
(1.1)
Aplicando a propagaca
o a p1 resulta em:
{p2 , p3 p2 , p7 p2 ,p3 p4 , p3 p5 , p4 p q,
p5 p6 r, p q p6 , p p7 , r p7 }

(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)

Depois de aplicar a propagac


ao a p3 e p7 , temos:
{p4 , p5 , p4 p q, p5 p6 r, p q p6 , p, r}

(1.4)

Propagando para p4 , p5 ,r e p vem:


{q, p6 , q p6 }

(1.5)

E finalmente propagando para q e p6 :


{F}

(1.6)

o que determina que o conjunto inicial de cl


ausulas e n
ao satisfazvel (e neste caso usando s
o
propagaca
o unit
aria).
O algoritmo basico de Davis-Putnam e o seguinte:
"

!
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 )

if S vazio then return s a t i s f a z i v e l

if S contem F then return nao s a t i s f a z i v e l

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.

1.3. FORMAS NORMAIS

21

A funcao propaga implementa a propagacao unitaria. A funcao seleciona_literal retorna


um literal da clausula. Esta funcao podera ser considerada um parametro do algoritmo, pois
uma escolha adequada do literal pode tornar o algoritmo mais eficiente. Possveis criterios
s
ao: escolher uma vari
avel que ocorre mais vezes; que o produto das ocorrencias de l e l e
m
aximo; que ocorre mais vezes em cl
ausulas de tamanho minimal, etc.
Para verificar a satisfazibilidade de um conjunto de f
ormulas sera necessario primeiro convertelo para um conjunto de clausulas.
Exemplo 1.5. Vamos aplicar o algoritmo DLL ao seguinte conjunto de cl
ausulas:
S = {p q, p q, p q, p q}

(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)

E o algoritmo retorna nao satisfazivel.


Pode-se demonstrar que:
Proposi
ca
o 1.5. O algoritmo DLL e correcto e completo para a satisfazibilidade de um conjunto de cl
ausulas S, i.e. o algoritmo retorna satisfazivel se S e satisfazvel e retorna
nao satisfazivel se S e n
ao satisfazvel.
Podemos considerar ainda algumas optimizacoes a este algoritmo. A primeira e a eliminac
ao
de tautologias que pode ser feita apenas uma vez quando se converte uma formula (ou conjunto
de formulas) para um conjunto de clausulas (e usando o Lema 1.3), dado que o algoritmo
nao introduz tautologias. Outra optimizacao pode ser feita quando uma variavel p s
o aparece
positivamente ou s
o negativamente (p) num conjunto de clausulas.
Defini
c
ao 1.11. Um literal l e puro num conjunto de cl
ausulas S, se S n
ao contem cl
ausulas
da forma l C. A eliminacao de literais puros remove do conjunto de cl
ausulas todas as

cl
ausulas que contem um literal puro.

Departamento de Ci
encia de Computadores F.C.U.P.

1.3. FORMAS NORMAIS

22

Exemplo 1.6. Considera a f


ormula ((p q) (p q r) (p r)). Uma FNC

equivalente em forma clausal e:

{p q, p q r, p, r}

(1.10)

O literal p e puro neste conjunto, portanto todas as cl


ausulas em que ele ocorre podem ser

eliminadas. Fic
amos apenas com {r}. Como tambem e puro, podemos eliminar e concluir

que o conjunto e satisfazvel.

Para implementar esta eliminacao, basta termos um contador com o n


umero de ocorrencias
de cada literal l. Quando esse contador for 0, o literal l e puro.
Exerccio 1.14. Aplica o algoritmo DLL ao seguinte conjunto de cl
ausulas:
{p q r, p q r, p q rp q r,
p q, p r, p q r}

(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 )

ou equivalentemente pi1 j pi2 j . Temos ent


ao 6 cl
ausulas:

p11 p21 , p11 p31 , p21 p31 ,

p12 p22 , p12 p32 , p22 p32 .

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. SISTEMAS DEDUTIVOS

1.4

23

Sistemas dedutivos

Considera os raciocnios seguintes:


1

Todos os homens s
ao mortais

Socrates e um homem

Socrates e mortal

e
1

Todos os actores ricos s


ao bons actores

Brad Pitt e um actor rico

Brad Pitt e bom actor

Informalmente, um raciocnio e uma sequencia de afirmacoes das quais uma a conclusao


deve ser consequencia das restantes as premissas. A conclusao e uma consequencia logica
das premissas, se for verdadeira sempre que as premissas forem verdadeiras. Neste caso temos
uma raciocnio v
alido. Num raciocnio valido se as premissas forem verdadeiras, o raciocnio
e integro. Nos exemplos anteriores, o primeiro raciocnio e ntegro, mas o segundo nao: a
primeira premissa e falsa!

1.4.1

M
etodos de dedu
c
ao

Como podemos mostrar que uma conclus


ao e uma consequencia l
ogica das premissas?
Construindo uma sucess
ao de passos em que em cada um a conclus
ao e inequivocamente
consequencia das conclus
oes e premissas anteriores. Formalmente iremos considerar sistemas
de deduca
o.
Por outro lado, para mostrar que uma conclus
ao n
ao e consequencia l
ogica das premissas,
temos que mostrar que existe uma situacao em que as premissas podem ser verdadeiras e a
conclus
ao falsa. Essa situacao e designada de contra-exemplo.

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.

1.4. SISTEMAS DEDUTIVOS

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 diz-se uma demonstracao de n . Se = {1 , . . . , n } e finito, em vez de 2D


escreve-se

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

(pois numa disjuncao basta que um se verifique) (introduc


ao de ), e tambem temos p r

(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.

1.4. SISTEMAS DEDUTIVOS

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

(p (q r)) ((p q) (p r)) (introduc


ao de ).

Vamos agora formalizar as regras de inferencia DN .


Uma regra de inferencia e da forma:

de 1 . . . k infere-se n
e pode ser representada graficamente (em arvore) por:
1 , . . . , k
n
1.4.3.1

Regras DN para a conjun


c
ao

Introdu
ca
o de

I

Se ja deduzimos e ent
ao podemos deduzir
Elimina
c
ao de



E1
E2

Se deduzimos podemos deduzir ; e podemos tambem deduzir .


Exemplo 1.7. Mostrar que p q, r 2 q r.
Resolu
ca
o 1.7.1. Podemos construir a deduca
o numa arvore:
pq
q E2
qr

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.

1.4. SISTEMAS DEDUTIVOS

26

intervem. Para a deduc


ao anterior, temos
1

p q

E, 1

q r

I, 3, 2

Esta notacao para a representacao de deducoes naturais denomina-se notacao de Fitch.


Exemplo 1.8. Mostrar que (p q) r 2 r q
Resolu
ca
o 1.8.1.

1.4.3.2

(p q) r

p q

E, 1

E, 1

E, 2

r q

I, 3, 4

Regras DN para a disjun


c
ao

Introdu
ca
o de

I1

I2

Se ja deduzimos podemos deduzir qualquer disjuncao que contenha .


Elimina
c
ao de
[] []
..
..
.
.

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.

1.4. SISTEMAS DEDUTIVOS

27

Nestas regras, express


oes [] indicam que estamos iniciar uma sub-deducao com premissa ,
que so deve ser considerada nessa sub-deducao. As sub-deducoes tem de terminar pela ordem
em que foram iniciadas. Neste caso as sub-deducoes terminam quando for deduzido. Na
notacao de Fitch, cada sub-deducao e iniciada com uma indentacao.
Exemplo 1.9. Mostrar que (p q) (q r) 2 q.
Resolu
ca
o 1.9.1.
(p q) (q r)

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:

Exemplo 1.10. Mostrar que (p q) q 2 q


Resolu
ca
o 1.10.1.
1

(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.

1.4. SISTEMAS DEDUTIVOS

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

Regras DN para a Nega


c
ao

Elimina
c
ao de

Corresponde a uma das partes do princpio da dupla negacao.

Introdu
ca
o de

Esta regra corresponde a demonstracoes por contradicao. Representamos por F uma contradicao (p.e., ).

[]
..
.
F

Se supondo podemos deduzir uma contradicao, ent


ao podemos deduzir das premissas

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.

1.4. SISTEMAS DEDUTIVOS

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

Se deduzimos uma contradicao, entao podemos deduzir qualquer formula.


Defini
c
ao 1.13. Um conjunto de f
ormulas diz-se inconsistente se 2 F.
1.4.3.7

M
etodos de demonstra
c
ao

Vamos ilustrar algumas aplicac


oes das regras anteriores, em demonstracoes em matematica.
Demonstra
c
ao por casos

A regra da elimina
ca
o da disjun
ca
o corresponde ao metodo

de demonstracao por casos. Consideremos o seguinte problema:


Mostrar que existem irracionais b e c tal que bc e racional
2
Demonstrac
ao. Demonstracao por casos: Seja 2 . Este n
umero e racional ou irracional.

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.

1.4. SISTEMAS DEDUTIVOS

Demonstra
c
ao por contradi
c
ao

30

A regra da introdu
ca
o da nega
ca
o, e usada nas de-

monstracoes por contradicao, isto e, sup


oe-se a negacao do que se quer provar e chega-se a
um absurdo. Suponhamos o seguinte problema:

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

= 2. E p2 = 2q 2 . Entao p2 e par e p tambem (verifica!).

E 4 | p2 e 4 | 2q 2 . Mas entao q 2 tambem e par! Temos entao uma contradicao.


Exemplo 1.12. Mostrar usando o sistema DN :
a) p q 2 (p q)
b) 2 (p p)
c) (p q) 2 p
Resolu
ca
o 1.12.1. a) p q 2 (p q)
1

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.

1.4. SISTEMAS DEDUTIVOS


c) (p q) 2 p

31

(p q)

p q

I, 2

FI, 1, 3

I, 24

E, 24

Leituras suplementares [BE00] (Cap. 2,5,6)


1.4.3.8

Regras DN para a implica


c
ao

Elimina
c
ao de (modus ponens)

Esta regra e habitualmente conhecida por modus ponens (em latim, modo que afirma) e
corresponde a raciocnios condicionais:

Se ja deduzimos e , entao podemos deduzir .


Exemplo 1.13. Mostrar que p, p q, p (q r) 2 r.
Resolu
ca
o 1.13.1.
1

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.

1.4. SISTEMAS DEDUTIVOS

32

Exemplo 1.14. Mostrar que (p q) r 2 p r.


Resolu
ca
o 1.14.1.
(p q) r

1
2

p q

I, 2

E, 1, 3

pr

5
1.4.3.9

I, 24

Dedu
c
oes sem premissas

Com a introducao da implicacao (regra da deducao) podemos converter qualquer deducao


com premissas numa deducao sem premissas:
Exemplo 1.15. Mostrar que 2 .
Resolu
ca
o 1.15.1.
1

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

anterior ate obter e aplicando a regra I.

: Se 2 , para obter {} 2 , usamos apenas deducao de supondo .


1.4.3.10

Algumas regras derivadas de DN

A partir das regras base podemos obter regras derivadas que correspondem a teoremas no
sistema DN (eventualmente usando o lema da deducao).
Modus Tollens

(em latim, modo que nega)

MT

Exemplo 1.16. Mostrar que , 2 .

Departamento de Ci
encia de Computadores F.C.U.P.

1.4. SISTEMAS DEDUTIVOS

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

Se tivermos uma deducao de F supondo podemos ter uma deducao de F. Entao


basta mostrar F 2 :

E, 1, 2

I, 23

E, 4

Terceiro excludo

TE

Departamento de Ci
encia de Computadores F.C.U.P.

1.4. SISTEMAS DEDUTIVOS

34

( )

1
2

I, 2

FI, 1, 3

I, 24

I, 5

FI, 1, 5

RA, 17

Exemplo 1.17. Mostrar q p 2 p q.


Resolu
ca
o 1.17.1.
1

q p

I, 2

MT, 1, 3

5
1.4.3.11

p q

I, 24

Equival
encia dedutiva

Dadas dumas formulas e , dizemos que e s


ao dedutivamente equivalentes se e s
o se
2 e 2 . E denotamos por 52 .
Exerccio 1.16. Mostra que 52 se e s
o se 2 ( ) ( ). (
Proposi
ca
o 1.6 (Contraposicao).
52
Demonstrac
ao. Vamos mostrar s
o 2 :
1

MT, 1, 2
I, 23

Departamento de Ci
encia de Computadores F.C.U.P.

1.4. SISTEMAS DEDUTIVOS

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

De igual modo temos as demonstracoes por contra-

posicao. Suponhamos que queremos mostrar que:


Se n n
ao e par ent
ao n2 n
ao e par
Demonstrac
ao. Suponhamos que n nao e par, i.e e da forma n = 2m + 1, para algum m.
Entao:
n2 = (2m + 1)2 = 4m2 + 4m + 1 = 2(2m2 + 2m) + 1
o que mostra que n2 e mpar, e portanto nao e par. Entao temos demonstrada a implicacao.

Neste caso evita-se a reduc


ao ao absurdo...
Exemplo 1.18. Mostra que:
a) 2 p (p q)
b) ( ) 2
c) 2 (p q) p q
d) 2
e) 2 ( )
f ) 2 ( ( )) (( ) ( ))
g) 2 ( ) (( ) )

Departamento de Ci
encia de Computadores F.C.U.P.

1.4. SISTEMAS DEDUTIVOS

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.

1.4. SISTEMAS DEDUTIVOS


d) 2

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.

1.5. INTEGRIDADE E COMPLETUDE DE UM SISTEMA DEDUTIVO

38

g) 2 ( ) (( ) )
1
2

E, 2, 3

E, 1, 2

FI, 4, 5

I, 36

E, 7

9
10

( )
( ) ( )

I, 28
I, 19

Leituras suplementares [BE00] (Cap. 8.1-2)

1.5

Integridade e completude de um sistema dedutivo

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

uma tautologia (|= ) .

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

Integridade do sistema de dedu


c
ao natural DN

Proposi
ca
o 1.7. Se 2 ent
ao |= .

Departamento de Ci
encia de Computadores F.C.U.P.

1.5. INTEGRIDADE E COMPLETUDE DE UM SISTEMA DEDUTIVO

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

a e . E sejam 1 , . . . , k as premissas assumidas

em , e, por hipotese, nao e consequencia semantica delas.


Mas as premissas para e est
ao entre os 1 , . . . , k e

ambos s
ao consequencia semanticas delas:
1
..
.

1
..
.

n
..
.

..
.

..
.

2
..
.

l
..
.

..
.

..
.

3
..
.

p
..
.

..
.

Considera a tabela de verdade para as f


ormulas 1 , . . . , k ,, e . Por hipotese, existe

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.

1.5. INTEGRIDADE E COMPLETUDE DE UM SISTEMA DEDUTIVO

40

I
[]
..
.

Suponhamos que o passo p deduz por aplicacao da

regra I a uma sub-deducao com premissa e conclus


ao

. Sejam 1 , . . . , k as premissas assumidas em . Em


as premissas s
ao algumas das 1 , . . . , k e . E e consequencia sem
antica dessas premissas.
..
..
.
.

..
.

..
.

..
.

..
.

..
.

..
.

Seja a tabela de verdade para 1 , . . . , k , , e . Por hipotese, existe uma valorizacao

v tal que v(i ) = V, 1 i k e v( ) = F. Entao temos tambem que v() = V e

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
[] []
..
..
.
.

Suponhamos que o passo p deduz por aplicacao da regra


E a e duas sub-deducoes uma com premissa
outra com premissa e ambas com conclus
ao . Sejam

1 , . . . , k as premissas assumidas em (no passo p) e por,


hipotese, nao e consequencia semantica delas. Mas

e consequencia semantica de algumas delas.

Departamento de Ci
encia de Computadores F.C.U.P.

1.5. INTEGRIDADE E COMPLETUDE DE UM SISTEMA DEDUTIVO

..
.

..
.

n
..
.


..
.

..
.

..
.
l
..
.

..
.

..
.

..
.

p
..
.

41

..
.

Seja a tabela de verdade para 1 , . . . , k , , e . Por hipotese, existe uma valorizacao v

tal que v(i ) = V, 1 i k, v( ) = V e v() = F. Entao tambem, ou v() = V ou


v() = V. Ambos os casos obrigavam a v() = V, no passo l ou no passo m respectivamente,

uma vez que nesses passos e consequencia semantica de 1 , . . . , k , e ou . Mas isto


contradiz a hip
otese de se ter v() = F.
Vamos apenas considerar mais um caso. Suponhamos que se aplica a regra da eliminacao de
F:
FE :

Suponhamos que no passo p se deduz de F. Sejam 1 , . . . , k as


premissas assumidas em , que sao as premissas assumidas em F (e das

quais F e consequencia semantica). Mas isto so pode ser se 1 , . . . , k


forem todas contradicoes. E portanto e (vacuosamente) consequencia
sem
antica de 1 , . . . , k .

Depois de analisados os restantes casos e em todos obtermos uma contradicao, podemos


concluir que uma deducao no sistema DN nao pode ter passos que nao sejam consequencia
sem
antica das premissas.
Corol
ario 1.3. Se 2 ent
ao |= .
A integridade da deduc
ao natural permite-nos determinar se n
ao existe uma deducao de uma
formula a partir de premissas 1 , . . . , n (i.e 1 , . . . , n *2 ): basta encontrar uma valo-

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.

1.5. INTEGRIDADE E COMPLETUDE DE UM SISTEMA DEDUTIVO

42

que a integridade nao permite concluir que se e consequencia semantica de 1 , . . . , n ent


ao
existe uma deducao...isso e a completude.
Exerccio 1.17. Mostra que p (q p) *2 p q. (
Exerccio 1.18. Termina a demonstraca
o da proposica
o 1.7. (

1.5.2

Completude do sistema de dedu


c
ao natural DN

Vamos ver que a deduc


ao natural DN e completa para a logica proposicional: qualquer
consequencia sem
antica pode ser deduzida em DN ; em particular todas as tautologias sao
teoremas de DN .
Seja v uma atribuicao de valores `as variaveis. Para cada formula , define-se
!

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 =

(p q). Entao pelo lema, vem que p, q 2 (p q).

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

usando a regra I e obtemos uma deducao q1v , . . . , qnv 2 1 = v .

= 1 2 onde pode ser , ou . Sejam p1 , . . . , pl e r1 , . . . , rk , respectivamente

as vari
aveis proposicionais que ocorrem em 1 e 2 , e {q1 , . . . , qn } = {p1 , . . . , pl }

{r1 , . . . , rk }. De pv1 , . . . , pvl 2 v1 e r1v , . . . , rkv 2 v2 podemos deduzir, usando a regra I:


q1v , . . . , qnv 2 v1 v2

donde temos de deduzir v .

Departamento de Ci
encia de Computadores F.C.U.P.

1.5. INTEGRIDADE E COMPLETUDE DE UM SISTEMA DEDUTIVO

43

= 1 2 Se v() = F, entao v(1 ) = V e v(2 ) = F. Entao v1 = 1 e v2 = 2 ,


e q1v , . . . , qnv 2 1 2 . Para ter q1v , . . . , qnv 2 (1 2 ), basta que 1 2 2
(1 2 ) (mostra!).

Se v() = V, temos 3 casos:


v(1 ) = v(2 ) = F. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .
Para ter q1v , . . . , qnv 2 1 2 , basta que 1 2 2 1 2 (mostra!).

v(1 ) = F ev(2 ) = V. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .


Para ter q1v , . . . , qnv 2 1 2 , basta que 1 2 2 1 2 (mostra!)

v(1 ) = v(2 ) = V. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 . Para


ter q1v , . . . , qnv 2 1 2 , basta que 1 2 2 1 2 (mostra!)

= 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

v(1 ) = F ev(2 ) = V. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .

Para que q1v , . . . , qnv 2 (1 2 ) = v basta que 1 2 2 (1 2 )


(mostra!)

v(1 ) = V ev(2 ) = F. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .

Para que q1v , . . . , qnv 2 (1 2 ) = v basta que 1 2 2 (1 2 )


(mostra!)

v(1 ) = v(2 ) = F. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .

Para o q1v , . . . , qnv 2 (1 2 ) = v basta que 1 2 2 (1 2 )

(mostra!)

= 1 2 Temos 4 casos:
v(1 ) = v(2 ) = F. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .

Para que q1v , . . . , qnv 2 (1 2 ) = v basta que 1 2 2 (1 2 )


(mostra!)

v(1 ) = v(2 ) = V. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 . Para


que q1v , . . . , qnv 2 1 2 = v basta que 1 2 2 1 2 (mostra!)

v(1 ) = F e v(2 ) = V. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .


Para que q1v , . . . , qnv 2 1 2 = v basta que 1 2 2 1 2 (mostra!)

v(1 ) = V e v(2 ) = F. Entao v1 = 1 e v2 = 2 , e q1v , . . . , qnv 2 1 2 .


Para o q1v , . . . , qnv 2 1 2 = v basta que 1 2 2 1 2 (mostra!)

Departamento de Ci
encia de Computadores F.C.U.P.

1.5. INTEGRIDADE E COMPLETUDE DE UM SISTEMA DEDUTIVO

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

para toda a valorizacao v. Usando TE para pn pn e a regra E, podemos combinar as

duas deducoes anteriores numa de:

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

Repetindo o processo n 1 vezes para p1 , . . . , pn1 obtemos 2


Lema 1.6. 1 , . . . , n |= se e s
o se |= (1 (2 (. . . (n ) . . .))).
Demonstrac
ao. Por contradicao.

Para qualquer valorizacao v((1 (2 (. . . (n

) . . .)))) = F se v(i ) = V para todos 1 i n e v() = F (mostra!). Mas isto con-

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

Leituras suplementares [BE00] (Cap. 8.3)

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

Outros sistemas dedutivos


Sistemas dedutivos de Hilbert, H

Usados inicialmente nas tentativas de mecanizacao das demonstracoes matem


aticas (Sec. XIX
e incio de XX) (tambem usados por Peano, G. Frege e B. Russel)
Supondo apenas o conjunto completo de conectivas {, }, pode tomar a forma:
Axiomas
( )
( ( )) (( ) ( ))

Departamento de Ci
encia de Computadores F.C.U.P.

1.7. OUTROS SISTEMAS DEDUTIVOS

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

Sistemas dedutivos analticos

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

tableaux como a resolucao s


ao sistemas de refutacao.

Departamento de Ci
encia de Computadores F.C.U.P.

1.7. OUTROS SISTEMAS DEDUTIVOS

1.7.3

47

Tableaux sem
anticos

Para deduzir uma f


ormula , inicia-se com e produz-se uma contradicao. Uma deducao

e uma arvore em que os n


os s
ao etiquetados por formulas, sendo a raz da arvore etique-

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.

Smullyan [Smu95]), que permite agrupar as formulas da forma e ( ) em duas

categorias: as conjuntivas, , e as disjuntivas, . Para cada formula (ou ), associam-se

duas componentes que denotamos por 1 e 2 (1 ou 2 ). Na Tabela 1.1 apresenta-se os


valores destas componentes para { , , }.

( )

( )

( )

Tabela 1.1: Notacao uniforme: f


ormulas e
facil ver que:
E
Proposi
ca
o 1.13. Para toda a atribuica
o de valores a
`s vari
aveis v, e para todas as f
ormulas
e :
v() = v(1 ) v(2 )
v() = v(1 ) v(2 ).
As regras de expans
ao de tableaux permitem transformar uma arvore T etiquetada por
formulas, noutra arvore T$ . Suponhamos que num ramo r da arvore ocorre uma formula
nao literal . Se e , podemos expandir a folha desse ramo com mais um no etiquetado

por . Analogamente se e F, adiciona-se V ou se e V, adiciona-se F. Se e um ,

adicionam-se a r dois nos, um etiquetado com 1 e outro com 2 (filho de 1 ). Se e um ,


adiciona-se `
a folha de r dois filhos, um etiquetado por 1 outro por 2 .

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.

1.7. OUTROS SISTEMAS DEDUTIVOS

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 }.

Um tableau para o conjunto {p (q p)} e:


p (q p)
p

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.

1.7. OUTROS SISTEMAS DEDUTIVOS

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.

Apresentamos, sem demonstrac


ao, a completude do sistema de tableaux :
Teorema 1.2. Se e uma tautologia, tem uma deduca
o por tableau.
Exerccio 1.19. Constr
oi deduco
es de tableaux para as seguintes f
ormulas:
a) ((p q) (p q))
b) ((p q) (q r)) (r p)
c) (p q) ((p q) q)
d) ((p q) p) p
(

1.7.4

Resolu
c
ao

Recorda que um literal e uma f


ormula atomica ou a sua negacao: p, p. Uma cl
ausula e uma

disjuncao de literais: p q p s e pode representar-se pelo conjunto {p, q, p, s}.


Entao uma formula da logica proposicional em FNC, p.e.

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.

A deducao de F a partir de um conjunto C de clausulas diz-se uma refutacao C.


No caso anterior, tinha-se a seguinte deducao:
{p,s} {p}
{s}

{q,r} {r,s}
{q,s}

{s}

{q,s}

Departamento de Ci
encia de Computadores F.C.U.P.

1.7. OUTROS SISTEMAS DEDUTIVOS

{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.

Exerccio 1.20. Mostra o teorema 1.3. (


Teorema 1.4. (Completude) Se um conjunto de cl
ausulas C e n
ao satisfazvel ent
ao existe
uma deduc
ao C 2R F.
Exerccio 1.21. Considera a f
ormula seguinte em forma normal conjuntiva (FNC):
(p q r) p (q r p) (p r)
i. Converte a f
ormula para um conjunto de cl
ausulas.
ii. A partir desse conjunto constr
oi uma deduc
ao de F,q usando apenas a regra da resoluc
ao.
(
ao) para:
Exerccio 1.22. Encontra uma deduca
o de F (uma refutac
{{p, q, r}, {p, r}, {q, r}, {r}}
(
Exerccio 1.23. Encontra uma deduca
o por resoluca
o de: ((p q) (q r)) (r p)
(

Exerccio 1.24. Constr


oi deduco
es de tableau e por resolu
c
ao para as seguintes f
ormulas:
a) ( ) (( ) )
b) ( ( ))
c) ( ( ))
(
Leituras suplementares [Bro00], [Fit90], [Smu95],[GLM97], [BA01].

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

O Carlos e irmao da Joana

irmao(carlos,joana)

A Joana deu um livro ao Carlos

dar(joana,livro,carlos)

2 e par

par(2)

2=1+1

igual(2,soma(1,1))

Na logica de primeira ordem vai ser possvel representar:


Objectos: Termos que podem ser simples (constantes ou vari
aveis) ou complexos.
joana, x, m~
ae(joana), 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

Uma linguagem L de logica de 1a ordem e caracterizada pelos seguintes conjuntos de smbolos:


Smbolos l
ogicos que estao presentes em qualquer linguagem:
um conjunto numeravel de vari
aveis, V ar = {x, y, . . . , x0 , y0 , . . .};
as conectivas l
ogicas , , e ;
os quantificadores (universal) e (existencial);
os parentesis ( e );
possivelmente o smbolo de igualdade, =.
Smbolos n
ao l
ogicos que caracterizam a linguagem:
um conjunto, possivelmente vazio, de smbolos funcionais n-
arios para cada n 0,

Fn ; os elementos de F0 chamam-se constantes e representam-se por a, b, c,. . . . Os

restantes smbolos por f , g, h, . . . ;

um conjunto, possivelmente vazio, de smbolos de predicado (ou relacionais) n-


arios
para cada n 0, Rn . Os smbolos relacionais representam-se por P , R, Q, etc...

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

de contexto, em notacao BNF:

t ::= x | a | f (t, . . . , t)
onde x V ar, a F0 e f Fn .

Um termo diz-se fechado se n


ao tiver ocorrencias de vari
aveis e denotamos por TO o seu
conjunto. Ex: a, f (a, g(b, c)) e f (f (a, a)))

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

x(P (x) P (x)).

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

linguagem com = caracterizada por:

F0 = {0, 1}, F2 = {+, } e R2 = {<}


Os termos seguintes representam os naturais:
0, 1, +(1, 1), +(1, +(1, 1)), +(1, +(+(1, 1), 1)) . . .
Outros termos s
ao: (((1, 0), 1), (+(0, +(0, 1))), . . .
E exemplos de f
ormulas s
ao:
< ((1, 1), +(1, 1))
x (+(0, x) = x)

xy(+(x, 1) = +(y, 1) x = y)

Podemos ainda adoptar a notaca


o usual infixa para os smbolos funcionais e relacionais, e
escrever: (1 1) < (1 + 1), (0 + x), etc...
Exemplo 2.4 (Traducao de frases para formulas). Na tabela seguinte apresentam-se algumas
frases em linguagem natural e a sua representac
ao como f
ormulas da l
ogica de 1a ordem.
Frases do tipo

Representaca
o

Todos os P s s
ao Qs

x(P (x) Q(x))

Alguns P s s
ao Qs
Nenhum P e Q
Nem todos os P s s
ao Qs

x(P (x) Q(x))

x(P (x) Q(x))

x(P (x) Q(x))

Departamento de Ci
encia de Computadores F.C.U.P.

2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM

55

Considerando predicados adicionais, exprime na linguagem da aritmetica:


Todo o n
umero par e primo
Nem todos os n
umeros primos s
ao pares
Alguns primos n
ao s
ao pares
Nenhum primo e par
Todo o primo e n
ao par ou igual a 2
Defini
c
ao 2.3 (Variaveis livres e ligadas). Uma vari
avel x tem uma ocorrencia nao livre (ou
ligada) numa f
ormula se tem uma sub-f
ormula da forma x ou x e x ocorre em .
Caso contr
ario, diz-se que x ocorre livre em .

Uma variavel pode ocorrer livre e ligada numa mesma formula. Em


x((P (x) Q(x))) (P (x) Q(y))
x tem duas ocorrencias ligadas e uma ocorrencia livre e y tem apenas uma ocorrencia livre.
Defini
c
ao 2.4 (Proposicao). Uma f
ormula sem vari
aveis livres diz-se uma proposicao.
Por exemplo, R(a, f (a, b)) x(R(x, x) yP (y) P (x)) e uma proposicao.
Exemplo 2.5. Indica quais as ocorrencias livres e ligadas de cada uma das vari
aveis das
f
ormulas seguintes. Indica quais as f
ormulas que s
ao proposico
es.
x(P (y, z) y(Q(x, y) P (y, z)));
(xyP (x, y, z) zP (x, y, z));
x((P (x) C(x)) yL(x, y));
P (a, f (a, b));
x(P (x) Q(x)).

2.2

Sem
antica da l
ogica de 1a ordem

Na logica proposicional a sem


antica duma formula complexa e determinada a partir da
sem
antica dos seus constituintes b
asicos, i.e, as proposicoes p, q . . . cujo valor pode ser V
ou F. Por exemplo, se o valor de p for V e o de q, F, entao a formula seguinte tem o valor V
(verifica!):
(p q) (q p)

Departamento de Ci
encia de Computadores F.C.U.P.

2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM

56

Como avaliar uma f


ormula de primeira ordem? Por exemplo, como avaliar:
xy(P (x) Q(y)) (Q(x) P (y))
Temos que determinar qual o significado
das variaveis (livres e ligadas)
dos quantificadores
dos smbolos funcionais
dos smbolos relacionais
num dado universo ou domnio de discurso, por exemplo: os n
umeros inteiros, n
umeros reais,
conjuntos, grafos, objectos geometricos, etc,etc.
Informalmente para os quantificadores e para um dado universo:
xP (x) sera verdadeira se e so se P (x) satisfaz todos os objectos do universo
xP (x) sera verdadeira se e so se P (x) satisfaz algum objecto do universo
Exemplo 2.6 (Mundo dos Blocos). Pretende-se descrever um conjunto de blocos com diferentes formas geometricas e tamanhos, colocados num tabuleiro de xadrez...

Departamento de Ci
encia de Computadores F.C.U.P.

2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM

57

Uma linguagem para definir este conjunto pode ser a seguinte:


F1 = {maisaf rente, maisaesquerda, maisadireita}
R1 = {Cubo, T etra, Dodec, P equeno, M edio, Grande}
R2 = {M enor, M aior, Esquerda, Direita, M esmoT,
M esmaF, M esmaL, M esmaC}
R3 = {Entre}
Algumas f
ormulas:
y (Cubo(y) M edio(y))
x (Cubo(x) y(Cubo(y) M aior(x, y)))
y maisaesquerda(y) = y
x (P equeno(x) maisaf rente(x) = x)
x (maisaesquerda(x) *= x Cubo(maisaesquerda(x)))
Cubo(x)
M esmoT (z, y) M esmaF (z, y)
Um domnio (conjunto de objectos) ir
a permitir determinar quais as f
ormulas que s
ao satisfeitas nesse mundo(estrutura). Para alem do domnio e necess
ario indicar tambem qual o
significado de cada smbolo funcional e cada smbolo relacional.
No mundo (estrutura) A apresentado na figura:
o domnio tem 8 objectos {o1 , . . . o8 } (ordenados de cima para baixo e da esquerda pra
a direita...)

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 ) =

o7 , e para os restantes maisaf renteA (o) = o. Analogamente associa-se a maisaesquerda


e maisadireita, a funca
o que para cada objecto indica qual o objecto mais `
a esquerda,
respectivamente, mais a
` direita.
a Cubo associamos uma relaca
o un
aria que corresponde aos objectos do domnio que
s
ao cubos: CuboA = {o4 , o5 }. Analogamente,

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

x(Dodec(x) P equeno(x)) e satisfazvel em A pois para todo o DodecA , o P equenoA


Mas, x(M edio(x) Cubo(x)) n
ao e satisfazvel em A porque o2 M edioA e o2
/ CuboA

E, x (P equeno(x) maisaf rente(x) = x) e satisfazvel em A. Porque?

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

(ou o universo) A e .A uma func


ao tal que:

associa a cada constante c um elemento cA A


associa a cada smbolo funcional f Fn , n > 0 uma func
ao n-
aria f A de An em A
associa a cada smbolo relacional n-
ario R Rn , uma relac
ao RA An
Defini
c
ao 2.6 (Interpretacao de variaveis). Dada uma linguagem L e uma estrutura A =
(A, A ) de L.

Uma interpretacao das vari


aveis e uma funca
o s : V ar A.

Podemos estender uma interpretaca


o s ao conjunto dos termos de L, s : T A:
para x V ar o valor de s(x) j
a est
a definido
para c F0 , s(c) = cA
se t1 , . . . , tn s
ao termos e f Fn , n 1,

Departamento de Ci
encia de Computadores F.C.U.P.

2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM

59

s(f (t1 , . . . , tn )) = f A (s(t1 ) . . . , s(tn ))


Se t TO ent
ao s(t) nao depende de s e escrevemos tA .
Defini
c
ao 2.7 (Relacao de satisfazibilidade). Dada uma linguagem L, uma estrutura A =
(A, A ) de L e uma interpretac
ao s : V ar A. A relac
ao A satisfaz uma f
ormula para

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

8. A |=s x se existe um a A tal que tem A |=s[a/x]


Exemplo 2.7. Seja LN a linguagem de 1a ordem com igualdade para os n
umeros naturais
j
a dada: F0 = {0, 1}, F2 = {+, } e R2 = {<}

Seja N = (N, N ) uma estrutura de LN , onde N e definido por:


0N = 0, 1N = 1
+N (n, m) = n + m, N (n, m) = n m
<N = {(n, m) N2 | n < m}
a) Verificar que, para qualquer interpretaca
o s : V ar N:
N |=s x < (x, +(x, 1))

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

Satisfazibilidade, validade e consequ


encia

Uma formula duma linguagem de 1a ordem e:


satisfazvel: se existir uma estrutura A e uma interpretacao s, tal que A |=s
v
alida: se para toda a estrutura A e toda a interpretacao s, se tem A |=s . E escreve-se
|=

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 |= .

Para que uma estrutura satisfaca uma f


ormula para uma interpretacao s, apenas interessa
o valor que s atribui `
as vari
aveis que ocorrem livres em . Em particular, temos a seguinte
proposicao:
Proposi
ca
o 2.1. Seja uma f
ormula duma linguagem L e A = (A, A ) uma estrutura de

L. Sejam duas interpretac


oes s1 e s2 tal que s1 (x) = s2 (x) se x ocorre livre em . Ent
ao
A |=s1 se e s
o se A |=s2

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

A satisfazibilidade duma proposic


ao numa estrutura nao depende das interpretacoes.
Proposi
ca
o 2.2. Se e uma proposica
o de L e A uma estrutura de L ent
ao verifica-se uma

das seguintes condico


es:

1. A |=s para toda a interpretaca


o s
2. A *|=s para toda a interpretaca
o s
Demonstrac
ao. Consequencia imediata da proposicao 2.1.
Se A |= diz-se que e verdadeira em A ou A e um modelo de . Se A *|= diz-se que e

falsa em A.

Se for um conjunto de proposicoes e A |= para todo ent


ao A e um modelo de e
escreve-se A |= .

Corol
ario 2.1. Seja {} um conjunto de proposic
oes. |= se e s
o se todo o modelo
de for um modelo de .

Exerccio 2.1. Verifica o corol


ario anterior. (
Exerccio 2.2. Seja L uma linguagem de 1a ordem com igualdade e tal que F0 = {a, b},
F1 = {g}, F2 = {f, h}, R1 = {R, S} e R2 = {P, Q}.
i. Para cada uma das seguintes proposic
oes diz, justificando se e verdadeira ou falsa em
A
a) xy f (x, y) = a
b) xy f (x, y) = a
c) xy f (x, y) = a yxf (x, y) = a
d) xR(x) xR(x)
ii. Considera as seguintes interpretac
oes si : V ar N para i = 1, 2, 3 e onde:
s1 (x) = 2, para todo x V ar;
s2 (x) = 0, para todo x V ar.
s3 (x) = 3, s3 (y) = 1 e s3 (z) = 5.
Para cada uma das f
ormulas seguintes e cada uma das interpretac
oes si , diz se A |=si ,
para i = 1, 2, 3:

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)

Iremos usar indutivamente a definicao de |=s .


Por (vii), (2.1) e verdade, se para todo o n N se tem
A |=s[n/x] y f (x, y) = a

(2.2)

Por (viii), (2.2) e verdade, se existe um m N tal que


A |=s[n/x][m/y] f (x, y) = a

(2.3)

s[n/x][m/y](f (x, y)) = s[n/x][m/y](a)

(2.4)

Por (i), (2.3) e verdade, se

Mas, pela definicao de interpretacao estendida a termos e de s[a/x] para a pertencente ao


domnio de A,
s[n/x][m/y](f (x, y)) = f A (s[n/x][m/y](x), s[n/x][m/y](y)) = f A (n, m) = n + m
e s[n/x][m/y](a) = aA = 1
Em resumo, (2.1) e verdade se
Para todo o n N, existe um m N tal que n + m = 1.
o que e Falso. Por exemplo, para n = 3 ter-se-ia m = 2 * N.
b) Analogamente se obteria, para qualquer interpretacao s
A |=s xy f (x, y) = a
se e s
o se
Existe um n N e existe um m N tal que n + m = 1.

Departamento de Ci
encia de Computadores F.C.U.P.

(2.5)

2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM

63

o que e Verdade, por exemplo para n = 0 e m = 1.


c) Pretende-se que, para qualquer interpretacao s
A |=s xy f (x, y) = a yxf (x, y) = a

(2.6)

Por (vi) da definicao de |=s , (2.6) e verdade se


A *|=s xy f (x, y) = a ou A |=s yxf (x, y) = a
Pela alnea (a), vimos que n
ao e verdade que A |=s xy f (x, y) = a, logo A *|=s
xy f (x, y) = a e verdade. E tambem (2.6).

d) Pretende-se que, para qualquer interpretacao s


A |=s xR(x) xR(x)

(2.7)

Por (vi) da definicao de |=s , (2.7) e verdade se


A *|=s xR(x) ou A |=s xR(x)
Vamos determinar se A |=s xR(x). Isto e verdade, se existe n N tal que
A |=s[n/x] R(x)

(2.8)

s[n/x](x) RA

(2.9)

Por (ii), (2.8) e verdade se

Como s[n/x](x) = n , vem que (2.8) e verdade se


Existe um n N tal que n e mpar
o que e Verdade. Entao A *|=s xR(x) e Falso.
Temos que analisar a veracidade de A |=s xR(x). Analogamente obtemos que e verdade

se

Para todo o n N, n e mpar


o que tambem e Falso. Donde (2.7) e Falsa.
Resolu
ca
o 2.2i.ii

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)

Isto e verdade se, existe um n N e existe um m N tal que


A |=s1 [n/x][m/y] f (x, y) = z

(2.11)

s1 [n/x][m/y](f (x, y) = s1 [n/x][m/y](z)

(2.12)

Isto e se,

Mas s1 [n/x][m/y](f (x, y) = f A (n, m) = n + m e s1 [n/x][m/y](z) = s1 (z) = 2


Entao (2.10) e verdade se
Existe um n N e existe um m N tal que m + n = 2
o que e Verdade. Basta tomar n = m = 1.
b) Sendo s1 uma interpretacao que atribu o valor 2 a qualquer variavel, pretende-se que
A |=s1 z f (x, y) = z y (S(y) R(y))

(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)

A |=s1 [n/z] f (x, y) = z

(2.15)

s1 [n/z](f (x, y)) = s1 [n/z](z)

(2.16)

se existe n N tal que


Isto e se,

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

A |=s1 [n/y] (S(y) R(y))

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},

F1 = {g}, R1 = {R} e R2 = {P, Q}. Seja A a estrutura de L definida por:


o universo de A e o conjunto de n
umeros naturais N = {0, 1, . . .};
aA = 2;
gA (n) = n + 1, para n N;
RA = {n N | n e par};
P A = {(n, m) N2 | n m};
QA = .
Para cada uma das proposica
o indica se e verdadeira ou falsa em A.
1. xg(x) = a xg(x) *= x
2. xyQ(x, y)
3. R(a) xy Q(x, y)
4. x(R(x) x R(g(g(x))) )
5. xyP (x, y)
6. yxP (x, y)
7. yxP (y, x)

Departamento de Ci
encia de Computadores F.C.U.P.

2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM

66

8. x(R(x) y(y = g(x) R(y))


(
Exerccio 2.4. Seja L a mesma linguagem do exerccio 2.3. Para cada uma das proposic
ao

seguintes indique uma estrutura de L onde ela e verdadeira e outra onde ela e falsa. Pode

concluir que nenhuma das proposic


ao e tambem nenhuma negaca
o de uma das proposica
o e
uma f
ormula v
alida?
1. xy x = y
2. xyP (x, y) yxP (x, y)
3. x x = a
4. xy(R(x) R(y))
5. z(g(z) *= a) z(g(z) = a)
6. x Q(x, g(x)) x P (a, x)
7. y(x(R(x) P (x, x)) (R(y) xP (x, x)))
(
Uma proposic
ao pode ser vista como uma caracterizacao de um conjunto de modelos (que a
satisfazem).
Estruturas para a teoria dos grafos

Vamos ilustrar isso considerando que as estruturas

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))

Qualquer estrutura G para LG e um grafo (dirigido)!

Seja 1 a f
ormula xyG(x, y) xyz((G(x, y) G(x, z)) y = z)

Considera a seguinte estrutura G1 :

!$

"

#$%&
!" "
#

Tem-se que G1 |= 1 . E que outros grafos satisfazem 1 ? Os que cada n


o tem exactamente
grau de partida 1 (isto e representam funcoes).

Departamento de Ci
encia de Computadores F.C.U.P.

2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM

67

Exerccio 2.5. Descreve os grafos que s


ao os modelos de cada uma das seguintes f
ormulas:
1. xy(G(x, y) G(y, x)))
2. xyz((G(x, z) G(z, y)) G(x, y))
(
Inversamente, dado um grafo G podemos estar interessados em saber se ele tem uma dada

propriedade. Se essa propriedade for expressa por uma formula de LG (nao necessariamente

uma proposicao) entao o que queremos e saber se G |= .

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

Estruturas para aut


omatos finitos

determinstico sobre {a, b} se e s


o se |I A | = 1.

Exemplo 2.8. a) Define uma proposica


o de LA tal que uma estrutura A de LA e um
modelo de se e s
o se A e um aut
omato finito determinstico.

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 )}

RbA1 = {(q0 , q1 ), (q1 , q1 )}


Verifica que A1 |= .
Considera agora A2 de LA igual a A1 , excepto que RaA1 = {(q0 , q0 ), (q0 , q1 )}.
Verifica que A2 |= .

Departamento de Ci
encia de Computadores F.C.U.P.

2.2. SEMANTICA
DA LOGICA
DE 1A
ORDEM

68

Exerccio 2.7. a) Define uma proposica


o de LA tal que uma estrutura A de LA e um
modelo de se e s
o se A e um aut
omato finito que reconhece alguma palavra de = {a, b}

de comprimento 2.

b) Indica, justificando, duas estruturas de LA , A1 e A2 tal que A1 |= e A2 |=

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

Seja uma formula duma linguagem de 1a ordem L, t um termo de L e x V ar uma

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)).

[f (x, y)/x] e a formula x(P (x) Q(x)) (P (f (x, y)) Q(y))


E se for y(P (x) Q(y)), qual a formula [f (x, y)/x]? Fica
y(P (f (x, y)) Q(y))
mas aqui a vari
avel y do termo f (x, y) passou a estar ligada!
Para evitar isto, define-se que:
Defini
c
ao 2.12 (Variavel substituvel). Uma vari
avel x e substituvel por t em se nenhuma
ocorrencia livre de x em for numa sub-f
ormula y ou y, para qualquer vari
avel y que

ocorra em t. Tambem se pode dizer que t e livre para x em .

Exerccio 2.9. Seja a f


ormula x(P (y, z) y(Q(x, y) P (y, z)))

Determina:

1. [w/x], [w/y], [f (x)/y] e [g(y, z)/z]


2. Para quais dos termos w, f (x) e g(y, z) e x substituvel em ? e y?
(
Proposi
ca
o 2.7.

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.

Temos que mostrar que se A |=s x ent


ao A |= [t/x]. Para todo o a A, temos A |=s[a/x] .
Seja a" = s(t), e como t e livre para x em sabemos que esse ser
a o valor da interpretacao
de todas as ocorrencias de t em [t/x]. Mas entao temos tambem A |=s [t/x].
Exerccio 2.10. Termina a demonstra a Proposica
o 2.7. (

2.2.4

Forma normal prenexa

Uma formula duma linguagem de 1a ordem L est


a em forma normal prenexa se ou:
nao contem quantificadores
e da forma

Q1 x1 Q2 x2 . . . Qn xn

onde cada Qi e ou ou , 1 i n, e e uma formula sem quantificadores.


Por exemplo,
xyz((P (x, x) (P (x, y) P (z, z))) P (w, 0))
Proposi
ca
o 2.8. Qualquer f
ormula duma linguagem de 1a ordem e semanticamente equivalente a uma f
ormula em forma normal prenexa.
Demonstrac
ao. Ideia:
Transformar de modo a que:
s
o ocorram as conectivas , e
nenhuma variavel ocorra livre e ligada
uma mesma variavel so aparece quantificada no maximo uma vez.
Seja 1 a f
ormula resultante, que e semanticamente equivalente a (mostra!). Aplicar `as
sub-f
ormulas de 1 , as seguintes transformacoes, ate que nenhuma se aplique (onde e

ou ):

x x( )

x x( )

x x( )

x x( )

Departamento de Ci
encia de Computadores F.C.U.P.

NATURAL PARA A LOGICA

2.3. SISTEMA DE DEDUC


AO
DE 1A

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

As regras para as conectivas s


ao as mesmas que para a logica proposicional.
Havera novas regras de introdu
ca
o e elimina
ca
o para:
a igualdade (=)
para os quantificadores a introducao correspondera a uma generaliza
c
ao e a eliminacao
uma instancia
ca
o:

(-E) de xP (x) deduzir P (t)


(-I) pode-se deduzir xP (x) se para qualquer y se deduzir P (y)
(-I) de P (t) deduzir xP (x)
(-E) se se deduziu xP (x) podemos supor P (t)

Departamento de Ci
encia de Computadores F.C.U.P.

NATURAL PARA A LOGICA

2.3. SISTEMA DE DEDUC


AO
DE 1A

ORDEM

2.3.1

73

Regras de infer
encia DN:igualdade

Introdu
ca
o de =
t=t

=I

Podemos deduzir sempre que um termo t e igual a si proprio...a igualdade e reflexiva


Elimina
c
ao de =
t1 = t2
[t1 /x]
=E e x
e substituvel por t1 e por t2 em
[t2 /x]
Se t1 e igual a t2 podemos substituir em , t1 por t2 .
Exerccio 2.12. Mostra que t1 = t2 2 t2 = t1 e t1 = t2 , t2 = t3 2 t1 = t3 , i.e. , que s
ao

deduzveis as propriedades de simetria e transitividade de =. (


Resolu
ca
o 2.12

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]

onde x e substituvel por t em

Se se deduziu x podemos substituir x em por qualquer termo t (instanciar o x com


qualquer valor).

Introdu
ca
o de
[v]
..
.
[v/x]
x

onde v e uma variavel nova (nao ocorre antes)

Departamento de Ci
encia de Computadores F.C.U.P.

NATURAL PARA A LOGICA

2.3. SISTEMA DE DEDUC


AO
DE 1A

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

x(P (x) Q(x))

xP (x)

P (v) Q(v)

E, 1

P (v)

E, 2

Q(v)

E, 3, 4

xQ(x)

I, 35

Exerccio 2.14. Mostrar que


P (t), x(P (x) Q(x)) 2 Q(t)
(
Resolu
ca
o 2.14

2.3.3

P (t)

x(P (x) Q(x))

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

onde x e substituvel por t em

Podemos deduzir x se j
a tivermos deduzido [t/x] para algum termo t.

Departamento de Ci
encia de Computadores F.C.U.P.

NATURAL PARA A LOGICA

2.3. SISTEMA DE DEDUC


AO
DE 1A

ORDEM

75

Elimina
c
ao de
[v [v/x]]
..
.
x

onde v e uma variavel nova que nao ocorre antes nem


em

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.

NATURAL PARA A LOGICA

2.3. SISTEMA DE DEDUC


AO
DE 1A

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

Exerccio 2.17. Mostrar que


x P (x), xy (P (x) Q(y)) 2 y Q(y)
(
Resolu
ca
o 2.17

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

Dadas duas formulas e dizemos que sao dedutivamente equivalentes se e so se 2 e

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

variavel nova que


n
ao ocorre antes,
nem em

Figura 2.1: As regras do sistema DN para a logica de primeira ordem

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

x 2 x( ) e x nao ocorre livre em


1

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( ) 2 x e x nao ocorre livre em


1

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

Exerccio 2.18. Mostra que:


a) 2 x( ) (x x)
b) 2 x( ) (x x)
c) xP (x), xy(P (x) P (y)) x = y) 2 !xP (x)
onde !xP (x) representa x(P (x) y(P (y) y = x)) e diz-se existe um u
nico x tal
que P (x)

d) 2 xyx = y f (x) = f (y)


e) 2 x = f (y) (zP (x, z) P (f (y), z))
(
Resolu
ca
o 2.18
a) 2 x( ) (x x)

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

c) xP (x), xy(P (x) P (y) x = y) 2 x(P (x) y(P (y) y = x))

Departamento de Ci
encia de Computadores F.C.U.P.


2.4. EQUIVALENCIA
DEDUTIVA

xP (x)

xy(P (x) P (y) x = y)

83

P (u)
v

P (v)

P (v) P (u)

I, 3, 4

y((P (v) P (y) v = y)

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

P (u) y(P (y) y = u)

I, 3, 10

12

x(P (x) y(P (y) y = x))

I, 11

13

x(P (x) y(P (y) y = x))

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

e) 2 x = f (y) (zP (x, z) P (f (y), z))


1

x = f (y)

P (x, u)
P (f (y), u)

P (x, u) P (f (y), u)

z(P (x, z) P (f (y), z))

x = f (y) z(P (x, z) P (f (y), z))

=E, 1, 2
I, 23
I, 24
I, 15

Leituras suplementares [BE00] (Cap. 2.3,12,13)

Departamento de Ci
encia de Computadores F.C.U.P.

2.5. INTEGRIDADE E COMPLETUDE

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, |= .

Completude Se e consequencia semantica de , |= , entao existe uma deducao de


com premissas , 2 . Em particular se |= ent
ao e um teorema, 2 .

2.5.1

Integridade do sistema dedutivo DN

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 .

E sejam 1 , . . . , k as premissas assumidas em . Mas as premissas para


e est
ao entre os 1 , . . . , k e ambos s
ao consequencia sem
anticas
delas:

Departamento de Ci
encia de Computadores F.C.U.P.

2.5. INTEGRIDADE E COMPLETUDE

1
..
.

1
..
.

i
..
.

..
.

..
.

2
..
.

l
..
.

..
.

85

..
.

3
..
.

n
..
.

..
.

Vamos ver que e consequencia semantica de 1 , . . . , k . Seja A uma estrutura e s uma


interpretacao tal que A |=s i , 1 i k. Entao, tambem A |=s e A |=s . Mas
ent
ao, pela definicao (vi) de |=s , tem-se que A |=s . E entao {1 , . . . , k } |= .

Vejamos agora o caso da regra da eliminacao do quantificador existencial:


[v [v/x]]
..
.
x

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

no passo n, em . Por hipotese de inducao no passo i, x e consequencia

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.

2.5. INTEGRIDADE E COMPLETUDE

..
.

..
.

i
..
.

x
..
.
v

..
.

86

[v/x]
..
.

..
.

m
..
.
..
.

..
.

Vamos ver que e consequencia semantica de 1 , . . . , k . Seja A uma estrutura e s uma


interpretacao tal que A |=s i , 1 i k. E tambem A |=s x. Isto e, existe um b A

tal que A |=s[b/x] . Nota, ainda, que v nao pode ocorrer em 1 , . . . , k , x e . Seja

s" = s[b/v] e, claramente, A |=s[b/v] [v/x]. Mas tambem A |=s! i , 1 i k e, ent


ao,
A |=s! (porque?). E como v nao ocorre em , entao A |=s .
O caso I e semelhante e os restantes mais simples.

Leituras suplementares [BE00] (Cap. 13,18.3)

2.5.2

Conjuntos consistentes e inconsistentes

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. INTEGRIDADE E COMPLETUDE

2.5.3

87

Completude do sistema dedutivo DN

Vamos considerar apenas o caso de L ser uma linguagem numer


avel, isto e, em que o seu

alfabeto (de vari


aveis, smbolos funcionais e de predicado) e numeravel (nao necessariamente
finito).
Teorema 2.1. (Teorema da completude de G
odel) Se |= ent
ao 2 , ou, equivalente-

mente, qualquer conjunto consistente de f


ormulas e satisfazvel.

Comecamos por mostrar a equivalencia entre essas duas afirmacoes:


(1 2) Se |= ent
ao {} nao e satisfazvel. Por 2, {} e inconsistente, logo
2 .

(1 2) Se {} e n
ao satisfazvel, entao |= . Por 1, 2 e ent
ao {} e
inconsistente, mas entao tambem o e {}.

Iremos mostrar a segunda afirmacao...

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.

Mas a presenca de quantificadores traz dificuldades acrescidas. Por exemplo,


= {xP (x)} {P (t) : t e um termo deL}

e consistente mas n
ao e possvel satisfaze-lo com um domnio s
o com termos de L. E tambem

e necessario relacionar a satisfazibilidade de P (t) e a de xP (x) (o que nao e possvel, p.e, so


com a validade booleana das f
ormulas...)

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 .

Lema 2.3. Para qualquer conjunto consistente de f


ormulas existe um conjunto , da

linguagem alargada L" = L {c0 , c1 , . . .} onde ci s


ao constantes novas e
1. e consistente e maximal em L"

Departamento de Ci
encia de Computadores F.C.U.P.

2.5. INTEGRIDADE E COMPLETUDE

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)

e consistente em L" Suponhamos, por contradicao que 2 F (ou alternativamente uma

qualquer formula da forma ). Mas nessa deducao so pode ocorrer um n


umero

finito de constantes novas, c1 , . . . ck . Entao podemos substituir cada uma dessas cons-

tantes por uma vari


avel nova, sejam y1 , . . . , yk . A deducao resultante e uma deducao
de F a partir de em L. Absurdo! Porque e consistente em L.
Vamos construir tal que satisfaz 2 Como L" e numeravel, entao tambem o sao

V ar e o conjunto das suas f


ormulas. Podemos ent
ao enumerar < 1 , x1 >, < 2 , x2 >,. . .
Seja 1 a f
ormula x1 1 1 [c1 /x1 ], onde c1 e uma constante nova que nao ocorre em

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.

2.5. INTEGRIDADE E COMPLETUDE

=
onde
0 =
!
n {n+1 }
n+1 =
n {n+1 }

89
#

n n

se este conjunto e consistente


caso contr
ario

Mostra-se por inducao sobre n que os n s


ao consistentes (mostrar!). Logo tambem
e consistente e maximal.

Exerccio 2.20. Se e um conjunto consistente maximal e 2 ent


ao (
Para um conjunto de f
ormulas do lema anterior, vamos construir uma estrutura A =

(A, A ) e uma interpretacao s tal que

A |=s , para todo


Considere-se o conjunto de termos T e seja a relacao binaria dada por
t1 t2 se e s
o se t1 = t2
Pela definicao de o fecho reflexivo de e uma relacao de equivalencia em T , que designamos
por

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]

Para cada x V ar, s (x) = [x]

Departamento de Ci
encia de Computadores F.C.U.P.

2.5. INTEGRIDADE E COMPLETUDE

90

Lema 2.4. Para qualquer termo t T , tem-se que s (t) = [t]


Demonstrac
ao. Por inducao sobre t.
Base. Para as vari
aveis e constantes por definicao de s .
Indu
c
ao. Se f Fn e t1 , . . . , tn T ,

s (f (t1 , . . . , tn )) = f A (s (t1 ), . . . , s (tn ))


= f A ([t1 ], . . . , [tn ])
= [f (t1 , . . . , tn )]

Lema 2.5. Seja um conjunto de f


ormulas nas condic
oes do lema 2.3. Ent
ao
A |=s

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

ser consistente maximal, 1 2 . Analogamente para e 1 2 . Se e


ent
ao, A |=s sse A *|=s ou A |=s , e por hipotese de inducao

ou
/ ou ,mas ent
ao por ser consistente maximal, . Se e x,

tem-se que x [c/x] , para algum c. Logo

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.

2.5. INTEGRIDADE E COMPLETUDE

91

Reciprocamente, se A *|=s x, existe t tal que A *|=s [[t]/x] . Existe equivalente

a e onde x e substituvel por t em , logo A *|=s [[t]/x] e A *|=s [t/x]. Por

hipotese de inducao, [t/x]


/ e portanto x
/ . E como e s
ao equivalentes e

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

premissas (hipoteses), existe 0 finito tal que 0 2 ou seja 0 |= .

Vamos ver uma aplicac


ao deste teorema que mostra as limitacoes da expressividade da l
ogica
de primeira ordem. Em particular, que nao existe um conjunto de formulas que caracterize
na estrutura dos n
umeros naturais.
Exemplo 2.9. Modelos n
ao standard para a aritmetica
Seja LN a linguagem de 1a ordem com igualdade para os n
umeros naturais j
a dada: F0 =
{0, 1}, F2 = {+, } e R2 = {<}

Seja N = (N, N ) uma estrutura de LN , onde N e definido por:


0N = 0, 1N = 1
+N (n, m) = n + m, N (n, m) = n m
<N = {(n, m) N2 | n < m}
Podemos provar, por exemplo que, N |= x x < x + 1 (verifica!)

A estrutura N e designada a estrutura standard de LN , pois LN foi construda para se poder


falar das propriedades dos n
umeros naturais. Mas podemos escolher outras estruturas para
LN :

Departamento de Ci
encia de Computadores F.C.U.P.

2.5. INTEGRIDADE E COMPLETUDE

92

Por exemplo, para p > 1, Np = ({0, . . . , p 1}, N


p ) com
0Np = 0, 1Np = 1
+Np (n, m) = (n + m) mod p
Np = (n m) mod p
E, neste caso Np *|= x x < x + 1(verifica!)

Isto e, existe uma f


ormula da l
ogica de 1a ordem que permite distinguir a estrutura N da
Np . No entanto, usando o teorema da compacidade podemos demonstrar que nem sempre e
possvel distinguir por uma f
ormula duas estruturas para a mesma linguagem.

!
Seja N " = (N {n + i | n N}, N ) a estrutura de LN , onde i = 1 e, por exemplo, para

o smbolo funcional + temos:


+Np (n, m) = (n + m)

+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

N " tal que N " |= e o domnio de N e um subconjunto pr


oprio de N " .
Demonstrac
ao. Considera as proposicoes n dadas por
x((x *= 0) (x *= 1) . . . (x *= n))

Entao o conjunto {n | n 0} e consistente. Porque se nao o fosse, teria um subconjunto

finito que era inconsistente. Esse conjunto finito conteria um n


umero finito dos n . Mas
obviamente N satisfaz e qualquer conjunto finito de n . Absurdo!

Portanto o conjunto {n | n 0} e consistente, logo e satisfazvel. Isto e, tem de existir

uma estrutura cujo domnio seja um superconjunto do de N e que seja um modelo desse

conjunto, p.e, N " .

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.

2.5. INTEGRIDADE E COMPLETUDE

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

que k. Entao esse modelo satisfaz todas as proposicoes de D. Absurdo!

Este teorema permite ilustrar mais limitacoes da expressividade da logica de 1a ordem. Em


particular, temos:
Corol
ario 2.6. N
ao existe nenhuma f
ormula (com duas vari
aveis livres) tal que saber se
existe uma estrutura G da linguagem LG , tal que G |= equivale a determinar se:
Dado um grafo dirigido (finito) G e dois n
os x e y de G, existe um caminho
de x para y.
Demonstrac
ao. Suponhamos que existe uma tal formula . Seja 0 a formula xy. A

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.

2.5. INTEGRIDADE E COMPLETUDE

94

xyG(y, x) xyz((G(y, x) G(z, x)) y = z)


E seja a proposic
ao 0 1 2 . Os grafos que satisfazem dizem-se ciclos.

! '"""
!
!
""
""
!!
!% !
"
(
""
!!
""
!
"" !!!
& !

Obviamente, existem ciclos finitos com n


umero arbitrario de nos. Pelo teorema de LowenheimSkolem, tem um modelo infinito, seja G . Mas ciclos infinitos (i.e com um n
umero infinito
de nos) nao existem!: seja n0 um no de G e consideremos todos os n
os atingveis de n0 .
Como e fortemente conexo esse conjunto inclu todos os n
os do grafo. Mas como o grau de
entrada de n0 e 1, existe um n
o, seja nj tal que (nj , n0 ) e um arco de G . Mas entao o ciclo
e finito. Absurdo!
Do mesmo modo, se uma linguagem da logica de 1a ordem tivesse um smbolo de predicado que pretendesse significar
e antepassado de, entao nao haveria nenhum conjunto de
proposicoes que capturasse este conceito pois existiria sempre um modelo que permitiria
antepassados infinitamente distantes....
Teorema 2.2. (da compacidade da l
ogica proposicional) Um conjunto de f
ormulas
da l
ogica proposicional e satisfazvel se e s
o se todo o seu subconjunto finito o for.
Demonstrac
ao. Seja LP rop uma linguagem de 1a ordem sem igualdade e um smbolo de

predicado unario P , como u


nico smbolo nao-logico. Seja A = {P (xi ) | i N} o conjunto de
formulas atomicas de LP rop e seja : A VP rop tal que (P (xi )) = pi , i N. Podemos

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

() das respectivas formas booleanas o for.

() Seja um conjunto de formulas proposicionais, tal que todo o subconjunto finito 0

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

1. Para cada n 1, construir uma proposic


ao n de L tal que A |= n se e s
o se o domnio
de A tem pelo menos n elementos.

Resolu
ca
o
Para cada i, i e a f
ormula
x1 . . . xn

1ijn

xi *= xj

2. Seja = i1 {i }. Quanto e que uma estrutura de L e um modelo de ?


Resolu
ca
o
Quando o seu domnio e infinito (pelo menos numeravel)
3. Suponhamos que e uma proposica
o tal que A e um modelo de se e s
o se o domnio
de A e infinito. Mostra que |= .
Resolu
ca
o
Se A = (A, A ) satisfaz ent
ao A e um conjunto infinito. Mas ent
ao satisfaz .
4. Justifica que n
ao pode existir.
Resolu
ca
o
Pela compacidade, |= se e s
o se existe 0 finito tal que 0 |= . Seja n0

o maior valor tal que n0 0 , ent


ao qualquer estrutura A = (A, A ), com |A| = n0
satisfaz 0 . Logo,, A satisfaz . Absurdo!

(
Leituras suplementares [BE00] (Cap. 19)

2.6

Axiomatiza
c
oes e teorias

Normalmente, para alem de f


ormulas validas, estamos interessados na satisfazibilidade de
formulas numa dada estrutura (ou na sua validade numa dada estrutura). Mas para que
possamos ter um sistema dedutivo associado, interessa ter um conjunto de f
ormulas que
sejam v
alidas nessa estrutura e a partir das quais se possam obter todas as consequencias
sem
anticas. Essas f
ormulas s
ao premissas nos sistemas dedutivos e s
ao designadas de axiomas
n
ao-l
ogicos.
Para alem de v
alido numa dada estrutura A (e portanto consistente), um conjunto de axiomas

deve ser completo: se uma f


ormula for valida em A ent
ao e consequencia semantica de

Departamento de Ci
encia de Computadores F.C.U.P.


2.6. AXIOMATIZAC
OES
E TEORIAS

96

. Dada a completude e integridade, isso equivale a que para toda a formula , ou ou

seja dedutvel de .

Exemplo 2.10. No Mundo dos Blocos, onde h


a objectos geometricos de tres formas possveis
(cubos, tetraedros e dodecaedros), uma axiomatizac
ao da noca
o de forma e dada por:
1. x(Cubo(x) T etra(x))
2. x(Cubo(x) Dodec(x))
3. x(Dodec(x) T etra(x))
4. x(Cubo(x) Dodec(x) T etra(x))
5. xy((Cubo(x) Cubo(y)) M esmaF (x, y))
6. xy((T etra(x) T etra(y)) M esmaF (x, y))
7. xy((Dodec(x) Dodec(y)) M esmaF (x, y))
8. xy((Cubo(x) M esmaF (x, y)) Cubo(y))
9. xy((T etra(x) M esmaF (x, y)) T etra(y))
10. xy((Dodec(x) M esmaF (x, y)) Dodec(y))
As primeiras 3 proposico
es indicam que um objecto n
ao pode ter duas formas; a quarta que
cada objecto tem uma forma; e as restantes indicam que dois objectos tem a mesma forma se
e s
o se s
ao os dois cubos, tetraedros ou dodecaedros.
Exemplo 2.11. Teoria dos grupos Considera uma linguagem de 1a ordem (com =), com
um smbolo funcional bin
ario e uma constante 1. A noc
ao de Grupo da teoria dos grupos e

axiomatizada completamente pelos seguintes axiomas n


ao-l
ogicos (dos quais se podem deduzir
todas as propriedades de um grupo):
1. xyz (x y) z = x (y z)
2. x (x 1) = x
3. xy (x y) = 1
Exemplos de outras axiomatizacoes:
Axiomas da Geometria de Euclides
Axiomas de Zermello-Frankel para a teoria dos conjuntos
Axiomas de Peano para a teoria dos n
umeros naturais

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

Um conjunto e uma colecc


ao de elementos. Seja uma linguagem de 1a ordem com igualdade
que tem um smbolo relacional binario . Para distinguir entre conjuntos e elementos, usaremos vari
aveis a, b, c, . . . para conjuntos e x, y, z, . . . para elementos. Consideremos entao os

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)

e tambem se podem deduzir propriedades destas operacoes.


Proposi
ca
o 2.11. Para qualquer b, e falso que P (b) b.
Demonstrac
ao. Pretende-se provar que, para qualquer b, P (b) * b, isto e, que existe um

subconjunto de b que nao pertence a b. Seja

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

nao se podem verificar.

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

Donde os axiomas sao inconsistentes! (Logo nao satisfazveis...)


Esta contradicao esta relacionada com o paradoxo de Russell:
Z = {x | x
/ x} e considerar Z Z

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

Teoria de conjuntos de Zermelo-Frankel

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 regularidade z(z *= y(y z x(x z x


/ y))) (nenhum conjunto
tem uma interseccao nao vazia com cada um dos seus elementos)

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

Axiomas para a teoria dos n


umeros (aritm
etica)

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.

Alguns desses conceitos podem-se exprimir pelas seguintes formulas:


Divis
ao inteira: x = q y + r r < y =def IN T DIV (x, y, q, r)
y divide x: qIN T DIV (x, y, q, 0) =def DIV (y, x)
2 : 1 + 1 =def 2
x
e par: DIV (2, x) =def P ar(x)
x
e mpar: P ar(x) =def Impar(x)
x
e primo: x < 2 y(DIV (y, x) (y = 1 y = x)) =def P rimo(x)
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)

Os axiomas de Peano (PA) sao factos basicos dos n


umeros naturais:
1. x(x + 1 *= 0) (0 nao e o sucessor de nenhum natural)
2. xy(x + 1 = y + 1 x = y) (o sucessor e injectivo)
3. 0 + 1 = 1
4. x x + 0 = x (0 e identidade para +)

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

(Q(0) (x(Q(x) Q(x + 1)))) xQ(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.7. OUTROS SISTEMAS DEDUTIVOS

2.6.4

101

Teorias da l
ogica de 1a ordem

Apresentamos em seguida uma formalizacao das nocoes de axiomatizacao e teoria.


Defini
c
ao 2.14. Uma teoria T e um conjunto de proposico
es de uma linguagem L. Uma
teoria duma linguagem L diz-se (formalmente) completa se para qualquer proposic
ao de L

ou ou e deduzvel de T .

Defini
c
ao 2.15. (Teoria duma estrutura) Dada uma estrutura A duma linguagem L, o

conjunto de todas as proposic


oes v
alidas em A denomina-se teoria da estrutura e denota-se
por T h(A).

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 todo T h(A), |= (e tambem 2 ).

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.

Leituras suplementares [BE00] (Cap. 15,16.4)

2.7
2.7.1

Outros sistemas dedutivos


Sistemas dedutivos de Hilbert, H

Supondo apenas o conjunto completo de conectivas {, } e uma linguagem com igualdade:


Axiomas
( )
( ( )) (( ) ( ))
( ) (( ) )
x [t/x], onde x e substituvel por t em
x( ) ( x), onde x n
ao ocorre livre em
x=x
x = y ( [y/x]) e e atomica
Regras de infer
encia
Modus ponens: de e de , inferir

Departamento de Ci
encia de Computadores F.C.U.P.

2.7. OUTROS SISTEMAS DEDUTIVOS

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

Recordemos que as regras proposicionais de expans


ao de tableaux s
ao:

F
V

V
F

1 | 2

1
2

onde

( )

( )

( )

Exemplo 2.12. Considerar o tableaux para a negaca


o duma f
ormula v
alida:
(x(p(x) q(x)) (xp(x) xq(x))))
x(p(x) q(x))
xp(x)

xq(x)
q(a)
p(a)

p(a) q(a)

p(a)

q(a)

obtemos um tableaux fechado, onde a e uma constante, que n


ao aparece na f
ormula.
Para cada quantificador existencial e necess
ario usar uma constante nova. Por exemplo se
considerarmos a negac
ao de:
x(p(x) q(x)) (xp(x) xq(x))
que e satisfazvel mas n
ao v
alida, se n
ao tivermos esse cuidado obtemos um tableaux fechado.
Verifica!

Departamento de Ci
encia de Computadores F.C.U.P.

2.7. OUTROS SISTEMAS DEDUTIVOS

103

(x(p(x) q(x)) (xp(x) xq(x))


(x(p(x) q(x))

(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)

Notar que um ramo n


ao fechado de um tableaux define uma estrutura em que a formula e
valida...
Exemplo 2.13. Consideremos ainda um tableaux para igual a 1 2 3 onde:
1 =
2 =

xyp(x, y))
xp(x, x))

3 = xyz((p(x, y) p(y, z)) p(x, z))


Depois de aplicar as regras obtemos
xyp(x, y))
xp(x, x))

xyz((p(x, y) p(y, z)) p(x, z))


Agora n
ao temos nenhuma constante (ou outro termo) para instanciar. Podemos escolher
qualquer elemento a1 e obter yp(a1 , y) a partir de 1 . E depois instanciar o com uma
constante nova, a2 . E voltar a instanciar 1 com a2 , ficando yp(a2 , y). E voltar a instanciar

este com uma nova constante a3 ....e deste modo temos um processo que n
ao termina...

Pode-se mostrar que n


ao tem nenhum modelo finito!: Suponhamos que existe A com

donnio finito mas n


ao vazio. Por 1 existe uma sequencia de ai tal que A |=s[x/ai ][y/aj ] p(x, y),

para todos i e j = i + 1. Por 3 , j *= i. Mas como o domnio e finito, existe k com ak = ai .

O que contradiz 2 que obrigaria a A *|=s[x/ai /] [p(x, x).

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

A notacao uniforme para as f


ormulas pode ser extendida para os quantificadores ( universais
e existenciais):

Departamento de Ci
encia de Computadores F.C.U.P.

2.7. OUTROS SISTEMAS DEDUTIVOS

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)

onde t e um termo fechado e p e uma constante nova.

Departamento de Ci
encia de Computadores F.C.U.P.

Captulo 3

Indecidibilidade e Incompletude
3.1

Programa de David Hilbert

No incio do seculo XX, o m


atem
atico David Hilbert colocou diversas questoes sobre os fundamentos da matematica:
1. A matem
atica e completa no sentido que cada afirmacao pode ser demonstrada ou
contraditada?
2. A matem
atica e consistente no sentido em que para nenhuma afirmacao pode ser demonstrado que ela e verdadeira e falsa
3. A matem
atica e decidvel no sentido que existe um metodo preciso que determine a
verdade ou falsidade de qualquer afirmacao matematica?
Respostas negativas:
God
el 1931: incompletude da aritmetica
Church+Turing, 1936-7: Indecidibilidade da LPO
Para a aritmetica, p.e, pretendia-se uma axiomatizacao (teoria) completa, isto e, em que fosse
possvel demonstrar (deduzir) todas e s
o as proposicoes que eram verdadeiras em N.
Teorema 3.1. (Teorema da incompletude de G
odel para PA) Os axiomas de Peano n
ao
constituem uma teoria completa.
Teorema 3.2. (Teorema da incompletude de G
odel) N
ao existe nenhum conjunto recursivamente enumer
avel de axiomas , tal que para toda a f
ormula se tem que 2 se e s
o se
N |= .

Departamento de Ci
encia de Computadores F.C.U.P.


3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM

106

David Hilbert formulou com problema fundamental da matematica (Entscheidungsproblem)


o seguinte:
A matem
atica e decidvel no sentido que existe um metodo preciso que determine a verdade ou falsidade de qualquer afirmacao matem
atica?
Usando a l
ogica de primeira ordem para representar as teorias matematicas, vem:
O problema fundamental da logica matematica e:
Dada uma formula duma linguagem de primeira ordem L existe um processo

de computacao que determine ( decida) se e valida (ou equivalentemente se e


um teorema dum sistema dedutivo)?
Resposta N
ao
Alan Turing On computable numbers, with an application to the Entscheidungsproblem,
1937
Alonzo Church An unsolvable problem of elementary number theory,1936

3.2
3.2.1

Indecidibilidade da L
ogica de 1a ordem
Revis
oes de Decidibilidade e M
aquinas de Turing

Pela tese de Church-Turing, um problema e efectivamente comput


avel, i.e. tem um metodo
algortmico para o resolver se e s
o se existe uma maquina de Turing que o resolve.
M
aquinas de Turing

Foi desenhada por Alan Turing para descrever o mnimos indis-

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

No incio os dados est


ao escritos na fita, um smbolo em cada celula, e as restantes celulas
da fita contem um caracter especial da fita, designado por branco, neste caso, . A cabeca

est
a no smbolo mais a` esquerda dos dados.

Num passo de computac


ao (movimento), dependendo do smbolo lido na fita pela cabeca e
do estado do controlo finito, a maquina
1. muda de estado
2. escreve um smbolo na celula que esta debaixo da cabeca
3. move a cabeca para a esquerda ou para a direita
Formalmente uma maquina de Turing e
M = (S, A, , , s0 , , F )
onde
S e um conjunto finito de estados
e o conjunto finito de smbolos da fita
A e um subconjunto de que nao inclu , e o conjunto dos smbolos de entrada
e a func
ao de transic
ao, funcao parcial de S em S {, }
s0 e o estado inicial
e um smbolo de , designado por branco
F S e o conjunto de estados finais
Exemplo 3.1. M = ({s0 , s1 , s2 , s3 }, {0, 1}, {0, 1, , X}, , s0 , {s4 })
(s0 , 0) = (s2 , X, ) (s0 , 1) = (s1 , X, ) (s0 , X) = (s0 , X, )

(s0 , ) = (s4 , , )

(s2 , 0) = (s2 , 0, )

(s2 , X) = (s2 , X, ) (s1 , 1) = (s1 , 1, )

(s1 , X) = (s1 , X, ) (s3 , 0) = (s3 , 0, )

(s3 , X) = (s3 , X, ) (s3 , ) = (s0 , , ).


Que linguagem reconhece M ?

(s2 , 1) = (s3 , X, )

(s1 , 0) = (s3 , X, )

(s3 , 1) = (s3 , 1, )

L = {x {0, 1}$ | x tem igual n


umero de 1s e de 0s}
Uma configura
ca
o duma MT representa o estado da fita, do controlo finito e da cabeca
em cada instante. Embora a fita seja infinita, ao fim dum n
umero finito de passos a cabeca
s
o visitou um n
umero finito de celulas.
Podemos representar a configuracao ou a descricao instantanea (ID) por
X1 Xi1 sXi Xn
onde:

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 ,

mudanca de configuracao num passo e definida da seguinte forma. Seja

X1 Xi1 sXi Xn uma configuracao. Seja (s, Xi ) = (s" , Y, D). Suponhamos que D =
. Entao

X1 Xi1 sXi Xn X1 Xi2 s" Xi1 Y Xi+1 Xn


Excepto se:
1. Se i = 1 entao sX1 Xn s" Y X2 Xn
2. Se i = n e Y = ent
ao X1 Xn1 sXn X1 Xn2 s" Xn1
Analogamente, se D = tem-se que
X1 Xi1 sXi Xn X1 Xi1 Y s" Xi+1 Xn
Excepto se:
1. Se i = n ent
ao X1 Xn1 sXn X1 Xn1 Y s"
2. Se i = 1 e Y = ent
ao sX1 Xn s" X2 Xn1
n

Sejam as relacoes movimento em n passos e o fecho transitivo e reflexivo $ .

Uma palavra x A$ e aceite por uma m


aquina de Turing M se com palavra x na fita e no

estado inicial s0 , M usando a funcao de transicao , entra num estado final.

Nota: mal

a maquina atinja um estado final a computacao para, independentemente de ter lido ou n


ao
todos os smbolos de entrada.
A linguagem aceite por M , e
L(M ) = {x | x A$ e s0 x $ x1 sx2 para algum s F, e x1 , x2 $ }
Se x L(M ) entao M para quando atinge um estado final. Caso contrario, M pode ou
nao parar
parar num estado nao final.

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-

gem L diz-se recursivamente enumer


avel (r.e) ou semi-decidvel se e aceite por uma
m
aquina de Turing . Isto e existe uma MT M tal que L = L(M ).
Uma linguagem e recursiva se existe uma m
aquina de Turing que a aceita e que p
ara para
todos os dados. Neste casos diz-se que as maquinas reconhecem as lingugem
Uma linguagem e indecidvel ou n
ao recursiva se n
ao existe nenhuma m
aquina de Turing
que a reconheca.
Pode ser:
recursivamente enumeraveis (r.e): existe uma MT que para se os dados pertencerem a`
linguagem, mas pode nao parar caso contrario.

nao serem r.e


Podemos dar uma outra caracterizacao dos conjuntos recursivamente enumer
aveis, e que
justifica o seu nome...
Teorema 3.3. Uma linguagem L A$ e r.e. se e s
o se existe uma m
aquina de Turing M
que enumera os seus elementos, isto e, L = E(M ).

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.

M " com a fita inicialmente vazia opera da seguinte forma: os elementos de A$ , x0 , x1 , . . .


s
ao gerados por ordem lexicogr
afica e para cada xn , M " simula M com dados xn , M (xn ),
intercaladamente e para n = 0, 1, 2, . . . passos de computacao: simula o 1o passo de computacao de M para x0 ; simula o 1o passo de computacao de M para x1 ; simula 2o passo
de computacao para x0 ; simula o 1o passo de computacao de M para x2 ; . . . Pode-se obter a seguinte tabela em que os n
umeros da tabela sao a ordem das computacoes de M " :
1

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

xn L, entao M com dados xn para ao fim de um n


umero finito de computacoes, logo xn
ser
a enumerado por M " .

Linguagens e Complementos O estudo das linguagens complementares pode permitir


distinguir se uma linguagem e r.e mas nao recursiva!
Teorema 3.4. Se L e recursiva, L e recursiva
Demonstrac
ao. Suponhamos que L = L(M ) para uma MT M que para sempre. Basta
construir uma MT M igual a M excepto em que
os estados finais de M passam a nao o ser em M
tem um novo estado de final r, sem transicoes dele.
para cada par (estado nao final de M ,smbolo da fita) sem transicoes em M , acrescentase uma transicao para o estado r.

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

Ha apenas 4 maneiras de uma linguagem L e L se situarem no diagrama:


Ambas L e L s
ao recursivas:est
ao em D
Nem L nem L s
ao r.e: est
ao e, n
ao-SD
L e r.e mas n
ao recursiva e L nao r.e: L em SD\D e L em n
ao-SD
L e r.e mas n
ao recursiva e L nao r.e: L em SD\D e L em n
ao-SD
Uma linguagem n
ao recursiva

Considere-se a linguagem constituda pelos pares (M, x)

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.

Podemos escrever os termos, as f


ormulas e as deducoes de L como palavras de um alfabeto
apropriado. Por exemplo:

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 ,

logo tambem uma palavra de A$ .

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},

nk *= 0 se k *= 0, ml *= 0 se l *= 0 e comeca com c, x ou f e pode-se decompor em


&
termos 1 , . . . , p , com p = ki=0 ni 10i . O processo termina pois || < ||.

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(Rjn (t1 , . . . , tn )) = ni=1 V ar(ti )


V L() = V L()

V L( ) = V L() V L() , ,
V L(x) = V L() \ {x}
V L(x) = V L() \ {x}

e V ar(t) e o conjunto de variaveis que ocorrem em t (determina!).


Bastar
a ent
ao determinar se V L() = .
Comecamos por ver que o conjunto das proposicoes v
alidas e recursivamente enumer
avel.

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 )}

Dado M e x vamos construir (com um algoritmo ) uma formula tal que:


(M, x) Lu sse ((M, x)) = Lval

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 .

Suponhamos que uma maquina de Turing M e dada por:


({s1 , s2 , . . . , sk }, {0, 1}, {X1 , X2 , . . . , Xm }, , s1 , , {s2 })

Departamento de Ci
encia de Computadores F.C.U.P.


3.2. INDECIDIBILIDADE DA LOGICA
DE 1A
ORDEM

115

Vamos considerar alguns smbolos n


ao logicos de L , a que para legibilidade iremos dar nomes
sugestivos. Seja c( uma constante, fXi um smbolo funcional unario para cada smbolo da fita
Xi de M e Rsi um smbolo de predicado binario para cada estado si de M . As variaveis de
L ser
ao v1 , v2 , . . ..

Sendo x = a1 a2 . . . an com ai {0, 1}, podemos representa-lo pelo termo:


fa1 (fa2 . . . (fan1 (fan (c( ))) . . .)
Para simplificar iremos denotar por x este termo e analogamente os restantes termos que
denotam palavras de {X1 , X2 , . . . , Xm }$ .

A
Seja a estrutura A = (A, A ) de L tal que A = {X1 , X2 , . . . , Xm }$ , cA
( = *, fXi (w) = Xi w

para 1 i m e w A e para cada estado si ,

M $

RsAi = {(w, y) A A | s1 x wsi y}


isto e, estao em RsAi os pares (w, y) tal que existe uma configuracao wsi y atingvel da inicial.
Em A a proposic
ao
Rs1 (c( , x)
e verdadeira , dado que a configurac
ao inicial (de M com dados x) e atingvel. E
v1 v2 Rs2 (v1 , v2 )
e verdadeira em A se e s
o se M aceita x.

Para (Xi , sk ) = (Xj , sl , D1 ), a proposicao seguinte e verdadeira em A:


v1 v2 (Rsk (v1 , Xi v2 ) Rsl (v1 Xj , v2 ))

Analogamente se (Xi , sk ) = (Xj , sl , D2 ), a proposicao seguinte e verdadeira em A:


v1 v2 (Rsk (v1 Xm , Xi v2 ) Rsl (v1 , Xm Xj v2 ))
Excepto nos casos especiais em que a cabeca de M est
a sob smbolos extremos da configuracao:
nesses casos, para D1 (direita)
v1 (Rsk (v1 , Xi ) Rsl (v1 Xj , c( ))

v2 (Rsk (c( , Xi v2 ) Rsl (c( , v2 )), se Xj =


e para D2 (esquerda)
v2 (Rsk (c( , Xi v2 ) Rsl (c( , Xj v2 ))

v1 (Rsk (v1 Xm , Xi ) Rsl (v1 , Xm )), se Xj =

Departamento de Ci
encia de Computadores F.C.U.P.

3.3. SUBCONJUNTOS DECID


IVEIS DE L

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

Quando se deduzir a formula correspondente a ter-se atingido o estado final, podemos


deduzir wyRs2 (w, y) aplicando duas vezes a regra I.

E aplicando I deduzimos

Entao e um teorema, logo Lval .

() 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:

Teorema 3.7. Determinar se uma f


ormula duma linguagem de 1a ordem e v
alida e um
problema indecidvel.
Corol
ario 3.2. Determinar se uma f
ormula linguagem de 1a ordem e satisfazvel e um
problema indecidvel.
Exerccio 3.2. Demonstra o corol
ario anterior. (
Resolu
ca
o 3.2
Uma formula e satisfazvel se e s
o se e nao valida. Mas o problema de determinar se

uma formula e nao valida, e o problema complementar de determinar se e v


alida, logo tem
de ser indecidvel (porque?).

3.3

Subconjuntos decidveis de L

Se restringirmos o tipo de formulas podemos ter subconjuntos onde o problema de determinar


se uma f
ormula e v
alida e decidvel. Por exemplo:

Departamento de Ci
encia de Computadores F.C.U.P.

3.4. INCOMPLETUDE DOS AXIOMAS DE PEANO (PA)

117

A linguagem LP rop correspondente a` l


ogica proposicional
A linguagem em que os smbolos de predicado sao todos unarios
As f
ormulas cuja forma prenexa e x1 . . . xn y1 . . . ym e nao tem termos com
smbolos funcionais

...

3.4

Incompletude dos axiomas de Peano (PA)

Recordemos os axiomas da aritmetica de Peano:


Seja uma linguagem de 1a ordem com igualdade, F0 = {0, 1} e F2 = {+, }
Os axiomas sao factos basicos dos n
umeros naturais:
1. x(x + 1 *= 0)
2. xy(x + 1 = y + 1 x = y)
3. 0 + 1 = 1
4. x x + 0 = x
5. xy x + (y + 1) = (x + y) + 1
6. x x 0 = 0
7. xy x (y + 1) = (x y) + x
8. (princpio da inducao) (Q(0) (x(Q(x) Q(x + 1)) xQ(x)

Os axiomas de Peano sao uma axiomatizacao de N = (N, N ) (onde as operacoes aritmeticas

tem o valor habitual). Entao se P A 2 , N |= , isto e, o sistema e ntegro. Mas, temos que

Teorema 3.8. (Teorema da incompletude de G


odel para PA) Os axiomas de Peano n
ao
constituem uma teoria completa.
Teorema 3.9. (Teorema da incompletude de G
odel) N
ao existe nenhum conjunto recursivamente enumer
avel de axiomas , tal que para toda a f
ormula se tem que 2 se e s
o se
N |= (i.e n
ao e completo).

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.

3.4. INCOMPLETUDE DOS AXIOMAS DE PEANO (PA)

118

Para a construcao de G e necess


ario codificar as formulas como n
umeros inteiros, assim como
as deducoes. E tambem e necess
ario poder exprimir que x e uma deduca
o de y:
Ded(x, y)
Se se representar por AB o c
odigo de , temos:
PA 2 G xDed(x, AGB)
Mas os pormenores, para esta construcao sao ainda bastante complicados. Vamos ver outra
demonstracao, proposta por Alan Turing.
Seja , P A ou outro conjunto (r.e.) de axiomas para N .
1. O conjunto de proposic
oes { | 2 } e recursivamente enumeravel
2. O conjunto T h(N ) nao e recursivamente enumeravel.
ent
ao estes 2 conjuntos n
ao podem ser iguais e portanto , se for ntegro, n
ao pode ser
completo. Assim temos demonstrado o (Primeiro) Teorema da incompletude de Godel.
Exerccio 3.3. Mostra que P A e um conjunto recursivamente enumer
avel. (
Exerccio 3.4. Mostra que { | P A 2 } e recursivamente enumer
avel. (
Proposi
ca
o 3.6. T h(N ) n
ao e recursivamente enumer
avel.
Demonstrac
ao. Por uma reducao de Lu m T h(N ), onde
Lu = {(M, x) | x L(M )}
Dado (M, x) constroi-se uma formula de LN , tal que
(M, x) Lu T h(N )
Isto e, tem de exprimir que M n
ao aceita x.
Usando formulas mais simples constroi-se uma formula V ALCOM PM,x (y) tal que y representa uma hist
oria de computaca
o v
alida de M com dados x.
Isto e, y representa uma sequencia de configuracoes Ci tal que:
C0 e configurac
ao inicial de M com dados x: s0 x
CN e uma configurac
ao de aceitacao
Ci+1 segue num passo de Ci , i.e., Ci Ci+1 , para 0 1 N 1

Departamento de Ci
encia de Computadores F.C.U.P.

3.4. INCOMPLETUDE DOS AXIOMAS DE PEANO (PA)

119

Se M nao aceita x, nao existe historia de computacao valida.


Entao e a f
ormula yV ALCOM PM,x (y).

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.

Duas configuracoes consecutivas Ci e Ci+1 s


o podem diferir no m
aximo nos dgitos que correspondam `a mudanca de configuracao (4 no maximo). Por exemplo, se:
(s1 , a) = (s2 , b, )

ent
ao podemos ter, p.e
a s1 a b

a b s2 b

Dado ser finito so ha um n


umero finito destes uplos. Seja C o conjunto de todos os uplos
(a, b, c, d, e, f, g, h) tal que (a, b, c, d) ocorrem consecutivamente numa configuracao Ci , e se
(e, f, g, h) ocorrem nas posicoes correspondentes em Ci+1 ent
ao isso e consistente com as
transicoes de M . Agora temos que codificar tudo isto em formulas de PA. Notar que a
sequencia de configuracoes (hist
oria) vai ter de ser representada por um n
umero v (e nao
vai haver separadores entre elas). Se houver uma configuracao de aceitacao entao pode-se
calcular qual o espaco gasto no m
aximo por cada configuracao. Existir
a uma potencia de p
suficientemente grande (ser
a designada por c) e que permita determinar quais os dgitos que
correspodem a cada configuracao.
Comecemos por recordar algumas f
ormulas.
Divis
ao inteira: x = q y + r r < y =def IN T DIV (x, y, q, r)
y divide x: qIN T DIV (x, y, q, 0) =def DIV (x, y)
2 : 1 + 1 =def 2
x
e par: DIV (2, x) =def P ar(x)
x
e mpar: P ar(x) =def Impar(x)
x
e primo:
x < 2 y(DIV (y, x) (y = 1 y = x)) =def P rimo(x)

Departamento de Ci
encia de Computadores F.C.U.P.

3.4. INCOMPLETUDE DOS AXIOMAS DE PEANO (PA)

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)

Vamos supor y e z potencias de p.


O dgito p-
ario de v na posi
c
ao y
eb
ua(v = a + by + upy a < y b < p) =def DIGIT (v, y, b) (Dividindo por p o
quociente de v dividido por y, temos b como resto)

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

(4DIGIT (v, y, a, b, c, d) 4DIGIT (v, z, e, f, g, h))


=def M AT CH(v, y, z)

A palavra v representa as configura


c
oes consecutivas de M de tamanho entre c
ed

y((P otp (y) yppc < d) M AT CH(v, y, yc)


=def M OV E(v, c, d))

Departamento de Ci
encia de Computadores F.C.U.P.

3.4. INCOMPLETUDE DOS AXIOMAS DE PEANO (PA)

121

Cada configuracao tem no m


aximo tamanho c e duas configuracoes consecutivas est
ao
de acordo com o de M . c e d s
ao potencias de p.
A palavra v come
ca com a configura
ca
o inicial de M com dados x, preenchida
com brancos at
e ao comprimento c

n
%

i=0
n

DIGIT (v, pi , ki ) pn < c

y((P otp (y) p < y < c) DIGIT (v, y, k))


=def Inicio(v, c)
c e uma potencia de p;n e pi , 0 i n representam constantes que dependem de x
A palavra v tem um estado final algures
y(P otp (y) y < d

"

DIGIT (v, y, w)

wF

=def Aceita(v, d)

onde F e o conjunto dos dgitos p-


arios que representam os smbolos de que correspondem a estados finais.
A palavra v
e uma hist
oria de computa
c
ao v
alida de M com dados x
cd(P otp (c) c < d Comp(v, d)
Inicio(v, c) M ove(v, c, d) Aceita(v, d))
=def V ALCOM PM,x (v)

A m
aquina M n
ao aceita x
vV ALCOM PM,x (v)

Leituras suplementares [BE00] (Cap. 10.5,12.5,15,16.4,18.4) [Koz97] (Cap. 39 e 40)


[Pap94] (Cap. 6)

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

Vamos ver que para qualquer f


ormula da logica de primeira ordem e possvel encontrar uma
conjunto de cl
ausulas que e satisfazvel se e s
o se e satisfazvel.
A proposic
ao seguinte vai permitir eliminar quantificadores existenciais.
Proposi
ca
o 4.1. Seja y1 . . . yn x uma proposic
ao de uma linguagem de 1a ordem L e
seja L" uma linguagem com os smbolos de L e com mais um smbolo n-
ario f . Ent
ao,

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]

() Para todos os a1 , . . . an A, existe b A tal que

A |=s [a1 /y1 ] . . . [an /yn ][b/x]


Nota que b depende dos a1 , . . . , an .
Entao a estrutura A" pode ser igual a A (mesmo domnio e interpretacao dos smbolos comuns)
!

e tal que o valor de f A seja dado pela seguinte funcao:


!

a1 , . . . , an A, f A (a1 , . . . , an ) = b
sendo b cada um dos definidos anteriormente.
()
!

Em A" , consideremos os valores de f A (a1 , . . . , an ). Estes sao os valores de cada um dos b.


Existe um algoritmo que converte uma proposicao de uma linguagem de 1a ordem, numa
conjuncao (ou conjunto) de cl
ausulas = 1 . . . n (duma linguagem alargada L" ) tal
que:

cada i e da forma x1 . . . xn (1 . . . n ), onde cada i e um literal


a formula e satisfazvel se e so se e satisfazvel
Esse algoritmo denomina-se Skolemizaca
o e consiste em:
1. Converter em forma normal prenexa Q1 x1 Q2 x2 . . . Qn xn onde cada Qi e ou ou
e nao tem quantificadores (e denomina-se a matriz ).:

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

onde fi e um novo smbolo funcional de aridade mi .


3. Converter a matriz da f
ormula resultante para forma normal conjuntiva aplicando sucessivamente as seguintes transformacoes:

( )

( )

( ) ( ) ( )
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)

xy((P (y) R(y, x)) Q(x))

(4.2)

xy((P (y) Q(x)) (R(y, x) Q(x)))

(4.3)

xy((P (y) Q(x))) xy(R(y, x) Q(x))

(4.4)

Em notacao clausal vem:


{P (y), Q(x) , Q(x) R(y, x)}
Defini
c
ao 4.3 (Formulas de Horn). Uma cl
ausula e uma formula de Horn (ou uma cl
ausula
de Horn) se tem no m
aximo um literal positivo. Uma f
ormula de Horn e positiva se tem um
literal positivo:
x1 . . . xs (1 1 . . . n )

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)

xyz(P (x, z) Q(x, y) Q(x, z)) positiva


P (x, z) Q(x, y), Q(x, z)

xzP (x, z) unit


aria P (x, z)
xyz(P (x, z) Q(x, y)) negativa P (x, z), Q(x, y)
Proposi
ca
o 4.2. Seja A = (A, A ) uma estrutura de L e a cl
ausula 1 , . . . , k 1 , . . . , n ,

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))

sorted(cons(x, cons(y, z))) less eq(x, y), sorted(cons(y, z))

perm(nil, nil)

perm(cons(x, y), cons(u, v)) delete(u, cons(x, y), z), perm(z, v)

delete(x, cons(x, y), y)

delete(x, cons(y, z), cons(y, w)) delete(x, z, w)


less eq(0, x)

less eq(s(x), s(y)) less eq(x, y)


onde:
um inteiro n e representado pelo termo s(s(...s(0))) com n smbolos funcionais s. Ex:
s(s(s(0))) representa 3

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

Exerccio 4.3. Considera o seguinte programa definido P :


Add(x, 0, x)

Add(x, s(y), s(z)) Add(x, y, z)


e o objectivo G:
Add(s(0), s(s(0)), x)
1. Escreve cada f
ormula do programa e do objectivo sem ser na notacao clausal (i.e com
os quantificadores e operaco
es l
ogicas usuais).
2. Mostra que P {G} 2 F usando o sistema de deduc
ao natural (e a notac
ao de Fitch) e
as f
ormulas na forma obtida em 1.

(
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

Para determinar que um conjunto de f


ormulas n
ao e satisfazvel e necessario que nenhuma
estrutura de L seja modelo de . Mas se as f
ormulas forem cl
ausulas basta mostrar que nao

tem um modelo de um dado tipo: um modelo de Herbrand. Mais ainda se as cla


usulas forem

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 .

Comecamos por definir estrutura de Herbrand.


Defini
c
ao 4.5. Uma estrutura A = (A, A ) de L e estrutura de Herbrand se:
A = T0 , o conjunto de termos fechados de L
cA = c, para c F0
f A (t1 , . . . , tn ) = f (t1 , . . . , tn ), para f Fn , n > 0 e t1 , . . . , tn T0

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 }

Vejamos que AH e um modelo de : seja (1 . . . m ) .


AH |= (1 . . . m )
sse para toda a interpretacao das vari
aveis sH em AH se tem
AH |=sH (1 . . . m )
Se sH (x) = t T0 seja s(x) = tA em A. Como A |= (1 . . . m ), entao A |=s

(1 . . . m ), isto e, existe pelo menos um k tal que A |=s k . Mas, por construcao de

AH e como cada i e um literal, A |=s i sse AH |=sH i , 1 i m (verifica!). Donde


AH |=sH (1 . . . m ) sse A |=s (1 . . . m )
.
Nota que se n
ao fosse um conjunto de clausulas o teorema n
ao se verificava.

Departamento de Ci
encia de Computadores F.C.U.P.


4.1. CLAUSULAS

129

Exemplo 4.8. O conjunto de proposic


oes {p(c), xp(x)} da linguagem com F0 = {c} e
R1 = {p} e satisfazvel mas n
ao tem modelo de Herbrand: A = ({0, 1}, A ) com cA = 0 e

pA = {0} satisfaz o conjunto. Mas T0 = {c} e as u


nicas estruturas de Herbrand s
ao tais que

pH1 = e pH2 = {c}, e nenhuma satisfaz o conjunto.

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 . . .

n ) , para toda interpretacao s. Se n = 0, entao e uma formula atomica e o

resultado segue de (4.5). Se n > 0, se A |=s 1 . . . n , entao A |=s i ,


1 i n. Mas, de (4.5), 2 1 [tm /xm ], . . . , 2 m [tm /xm ]. E entao, 2 [tm /xm ],
porque 2 ((0 . . . n ) )[tm /xm ]. Temos entao que A |=s .

(0 . . . n ) De x1 . . . xm , vem que 2 [tm /xm ] (aplicando m vezes a


regra E). Logo, 2 (0 . . . n )[tm /xm ]. Se A *|=s (0 . . . n ), entao

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

Seja AH um modelo de Herbrand de e R um smbolo relacional. Se (t1 , . . . , tn ) RA ,


ent
ao 2 R(t1 , . . . , tn ), e pela integridade, AH |= R(t1 , . . . , tn ), i.e, (t1 , . . . , tn ) RAH

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 .

Teorema 4.3. Seja um conjunto de cl


ausulas de Horn. Para qualquer f
ormula fechada
da forma x1 . . . xn (0 . . . l ), onde cada i e uma f
ormula at
omica, as seguintes

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

s(xi ) = ti , 1 i n, tal que A |=s (0 . . . l ). Logo A |=s 0 , . . . ,A |=s l , e,

por (4.5), 2 0 [tn /xn ], . . . 2 l [tn /xn ]. E aplicando a regra I l vezes, 2 (0 . . .


l )[tn /xn ].

(3) (1) Basta aplicar n vezes a regra I.


Exerccio 4.4. Seja L uma linguagem de 1a ordem sem igualdade e um conjunto de
proposico
es.

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)

LP e dada por F0 = {c}, F1 = {f, g}, R1 = {p, r} e R2 = {q}


UP O universo de Herbrand de P , isto e, o conjunto dos termos fechados da linguagem LP .
Ex:

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:

BP = {p(c), q(c, c), r(c), p(f(c)), p(g(c)), q(f(c), c), . . .}


IA Cada estrutura de Herbrand de LP fica identificada por um subconjunto de BP (dos

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 :

R(t1 , . . . , tn ) IA sse (t1 , . . . , tn ) RA


Ex: Seja A tal que pA = rA = {c, f(c), g(c)} e qA = . Entao,
IA = {p(c), p(f(c)), p(g(c)), r(c), r(f(c)), r(g(c))}
. Nota que A *|= P (porque?).
MP

MP = IAP , onde AP e modelo mnimo de Herbrand. Ex: MP = {r(t) | t 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 . . .

k )[t1 /x1 , . . . , tn /xn ], onde x1 ,. . . ,xn s


ao as vari
aveis que ocorrem em G ou mostra que

P {G} e satisfazvel.
a)

P :

N esimo(s(0), cons(x, y), x)

N esimo(s(w), cons(y, z), x) N esimo(w, z, x)

G:
b)

P :

N esimo(x, cons(y, cons(z, nil)), z)


Delete(x, cons(x, y), y)

Delete(x, cons(y, z), cons(y, w)) Delete(x, z, w)


G:
c)

P :

Delete(y, cons(x, cons(y, nil), z)


M ax(x, y, x) Less eq(y, x)

M ax(x, y, y) Less eq(x, y)


Less eq(0, x)

Less eq(s(x), s(y)) Less eq(x, y)


G:

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

= [t1 /x1 , . . . , tn /xn ]


A substituicao identidade e a substituica
o tal que (x) = x, para todo o x Var.

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

E = P (x, y, f (a)) e = [b/x, x/y], E e P (b, x, f (a)),


E = f (x, g(y, z), z) e = [g(y, z)/x, a/z, z/y, f (f (b))/u], E e f (g(y, z), g(z, a), a),
E = P (f (x), x) e = [a/y], E e P (f (x), x).
Defini
c
ao 4.9. Sejam = [s1 /x1 , . . . , sn /xn ] e = [t1 /y1 , . . . , tn /yn ] duas substituico
es, a
substituicao composta : Var T , (x) = ((x)) = (x) e obtida de
[s1 /x1 , . . . , sn /xn , t1 /y1 , . . . , tn /yn ]
retirando os si = xi e todos tj /yj tal que yj {x1 , . . . , xn }.
Sendo = [f (z)/x, a/y, y/z] e = [a/x, z/y, b/z, d/u], a composta e
= [f (b)/x, a/y, d/u]
Sendo = [c/x, f (z)/y, u/v] e = [v/u, x/z], a composta e
= [c/x, f (x)/y, v/u, x/z]
Proposi
ca
o 4.4. Sendo , e substituic
oes e E uma express
ao tem-se que:
a) = =
b) E() = (E)
c) () = ()
Exerccio 4.8. Mostra a proposic
ao anterior. (
Defini
c
ao 4.10. Uma substituica
o e idempotente se = .
Defini
c
ao 4.11. Dada uma express
ao E, seja V o conjunto das vari
aveis que ocorrem em
E. Uma substituic
ao = [y1 /x1 , . . . , yn /xn ] e uma renomeacao de variaveis para E se
o conjunto {x1 , . . . , xn } est
a contido em V , todos yi s
ao distintos e (V \ {x1 , . . . , xn })
{y1 , . . . , yn } = .

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.

Seja S um conjunto finito de expressoes simples.


Defini
c
ao 4.13. Um unificador de S e uma substituica
o tal que S tem exactamente um
elemento. E diz-se que S e unificavel. Um unificador de S e um unificador mais geral
( umg) de S, se para qualquer unificador de S existir uma substituic
ao tal que = .
Exemplo 4.11. {P (f (x), z), P (y, a)} e unific
avel: [f (a)/y, a/x, a/z] e um unificador e [f (x)/y, a/z]

e um unificador mais geral. E = [a/x].

{P (y, g(u, z)), P (x, x)} e unific


avel: [g(u, z)/y, g(u, z)/x] e um unificador mais geral

{P (f (x), a), P (y, f (w))} n


ao e unific
avel: pois a e f (w) n
ao s
ao unific
aveis.

Se e forem dois umgs de S os elementos de S e S s


ao variantes (porque?). Ent
ao, pela
Proposicao 4.5, os umgs de S s
ao u
nicos a menos de renomeacao de vari
aveis.
Defini
c
ao 4.14. O conjunto de diferencas de um conjunto finito S de express
oes simples, e
dado por: localizar a posica
o mais a
` esquerda, na qual nem todas as express
oes de S tem o
mesmo smbolo, e extrair de cada uma a subexpress
ao que comeca nessa posic
ao.
Exemplo 4.12. Para {R(f (x), g(h(z)), a), R(f (x), g((f (u)), b), R(f (x), g((w), a)} o conjunto

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

2. Se Sk contem exactamente um elemento, ent


ao parar e retornar k como umg de S.
Caso contr
ario, determinar o conjunto de diferencas Dk de Sk
3. Se existirem v e t em Dk tais que v e uma variavel que nao ocorre em t, entao k+1 =
k [t/v], incrementar k e voltar para 2. Caso contr
ario, parar e indicar que S nao e
unificavel.
Exemplo 4.13. S = {R(f (x), g(h(z)), a), R(y, g(f (u)), b), R(f (x), g(w), a)}
0 =
D0 = {f (x), y}, 1 = [f (x)/y] e
S1 = {R(f (x), g(h(z)), a), R(f (x), g(f (u)), b), R(f (x), g(w), a)}
D1 = {h(z), f (u), w}, 2 = [f (x)/y][h(z)/w] = [f (x)/y, h(z)/w] e
S2 = {R(f (x), g(h(z)), a), R(f (x), g(f (u)), b)}
D2 = {h(z), f (u)}.
Logo, S n
ao e unific
avel.
Exemplo 4.14. Seja S = {P (a, x, h(g(z))), P (z, h(y), h(y))}. Ent
ao,
0 =
D0 = {a, z}, 1 = [a/z] e S1 = {P (a, x, h(g(a))), P (a, h(y), h(y))}
D1 = {x, h(y)}, 2 = [a/z, h(y)/x] e
S2 = {P (a, h(y), h(g(a))), P (a, h(y), h(y))}
D2 = {y, g(a)},3 = [a/z, h(y)/x, g(a)/y] e
S2 = {P (a, h(g(a)), h(g(a)))}.
Logo, S e o unific
avel e 3 um umg de S.
Exemplo 4.15. S = {P (x, x), P (y, f (y))}.
0 =
D0 = {x, y}, 1 = [y/x] e S1 = {P (y, y), P (y, f (y))}
D1 = {f (y), y}. Como y ocorre em f (y), S n
ao e unific
avel.
Teorema 4.4. (do algoritmo da unifica
ca
o) Seja um conjunto finito S de express
oes
simples. Se S e unific
avel, ent
ao o algoritmo da unificaca
o termina e retorna um umg de S.
Se S n
ao e unific
avel ent
ao o algoritmo da unificaca
o termina e reporta esse facto.

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

[t" k+1 /v " ] k+1 nao ocorre em t"


[t" /v " ]k+1 definicao de composta

(4.6)
(4.7)
(4.8)
(4.9)

Senao, k+1 = k , todos os elementos de Dk s


ao vari
aveis e k = [t" /v " ]k+1 .
Entao, = k k = k [t" /v " ]k+1 = k+1 k+1 .

Exemplo 4.16. (Regra de Resolu


ca
o) A regra da resoluca
o para cl
ausulas de primeira
ordem pode ser definida usando a noca
o de unificaca
o.
Dado L = {l1 , . . . , ln } um conjunto de literais, seja L = {l1 , . . . , ln }. Sejam C1 e C2 duas

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)

e I = {P(a, b), Q(b)}


TP (I) = {P(g(b), b), S(f(a)), P(a, g(a)), P(b, g(b)), Q(a), Q(c)}

Departamento de Ci
encia de Computadores F.C.U.P.

4.3. O OPERADOR TP

138

Exemplo 4.18. Para P do exemplo 4.17:


TP 0 =
TP 1 = {Q(a), Q(c), P(a, g(a)), P(b, g(b))}
TP 2 = {P(g(a), a), P(g(c), c), P(b, g(b)), P(a, g(a)), Q(a), Q(c)}
TP 3 = {P(g(a), a), P(g(c), c), P(b, g(b)), P(a, g(a)), Q(a), Q(c),
S(f(g(a))), S(f(g(c)))}
TP 4 = {P(g(a), a), P(g(c), c), P(b, g(b)), P(a, g(a)), Q(a), Q(c),
S(f(g(a))), S(f(g(c)))}
..
.
TP = {P(g(a), a), P(g(c), c), P(b, g(b)), P(a, g(a)), Q(a), Q(c),
S(f(g(a))), S(f(g(c)))}
Exemplo 4.19. Seja P
Double(0, 0)

Double(s(x), s(s(y))) Double(x, y)


TP 0 =
TP 1 = {Double(0, 0)}
TP 2 = {Double(0, 0), Double(s(0), s(s(0)))}
TP 3 = {Double(0, 0), Double(s(0), s(s(0))),
Double(s(s(0)), s(s(s(s(0)))))}
..
.
TP = {Double(s(. . . s(0) . . .), s(. . . s(0)) . . .)) | n N}
' () *
' () *
n

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.

4.4. RESPOSTA CORRECTA

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 .

Em particular, para qualquer programa P , a estrutura de Herbrand A tal que IA = BP e um


modelo de P . (porque?)

Teorema 4.5. Seja P um programa definido, MP = TP


Demonstrac
ao. : A estrutura de Herbrand A tal que IA = TP e um modelo de P ,
porque TP (TP ) = TP . Entao MP TP .

: mostra-se por inducao sobre n que se TP n ent


ao P |= . (mostra!) Entao

T n MP , para todo n N, logo T MP .

Exemplo 4.20. Para o programa P do exemplo 4.19,


MP = {Double(s(. . . s(0) . . .), s(. . . s(0)) . . .)) | n N}
' () *
' () *
n

2n

Exerccio 4.10. Para os programas definidos do exerccio 4.7 determina o T (=MP ). (

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.

Para P do exemplo 4.19, P { Double(x, s(y)}, [s(0)/x] e uma resposta.


Defini
c
ao 4.17. Seja P um programa definido e G um objectivo 1 , . . . , k , k 1 e

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.

Para o exemplo acima:

[s(0)/x, s(0)/y] e uma resposta correcta.


[s(z)/x, s(z)/y] nao e uma resposta correcta.
Se P {G} nao e satisfazvel entao P |= (1 . . . n ). Isto quer dizer que existe uma

substituicao fechada tal que P |= (1 . . . n ). Suponhamos que podemos escrever

Departamento de Ci
encia de Computadores F.C.U.P.


4.5. RESOLUC
AO-SLD

140

= tal que em que P |= (1 . . . n ) para qualquer substituicao fechada . Entao

temos que P |= (1 . . . k ), i.e., e uma resposta correcta para G.

Podemos relacionar as respostas correctas com o modelo mnimo de Herbrand de um programa


definido:
Teorema 4.6. Seja P um programa definido, G um objectivo 1 , . . . , k , k 1 e uma

resposta para P {G}, tal que (1 . . . k ) e fechada. Ent


ao s
ao equivalentes:
1. e uma resposta correcta
2. se A e um modelo de Herbrand para P , ent
ao A |= (1 . . . k )
3. AP |= (1 . . . k )

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

A *|= (1 . . . k ), para qualquer A modelo de

Herbrand para P

P {(1 . . . k )} nao tem modelos de Herbrand

P {(1 . . . k )} nao e satisfazvel.

(e como (1 . . . k ) e uma clausula!)

Resolu
c
ao-SLD

Vamos definir um sistema dedutivo que permita determinar se P {G} nao e satisfazvel e,

nesse caso, calcular uma resposta.

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 )

G" diz-se a a resolvente de G e C.

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

uma sequencia de substituic


oes 1 , 2 , . . . tal que cada Gi+1 foi derivado (por resoluc
ao)
de Gi e Ci com umg i+1

A sigla SLD significa Resolucao Linear com funcao de Selecao para Cl


ausulas Definidas.
G0 = G

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)

Max(x, y, y) Less eq(x, y)


Less eq(0, x)

Less eq(s(x), s(y)) Less eq(x, y)

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)))

(Max(x1 , y1 , y1 ) Less eq(x1 , y1 )

1 = [s(0)/x1 , s(s(0))/y1 , s(s(0))/x])

Less eq(s(0), s(s(0)))

(Less eq(s(x2 ), s(y2 )) Less eq(x2 , y2 ))

Less eq(0, s(0))

(Less eq(0, x3 ) , 3 = [s(0)/x3 ])

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.

Exemplo 4.22. Para a refutaca


o do exemplo 4.21, a resposta calculada e a restrica
o de
1 . . . 3 = [s(0)/x1 , s(s(0))/y1 , s(s(0))/x][0/x2 , s(0)/y2 ][s(0)/x3 ]
= [s(0)/x1 , s(s(0))/y1 , s(s(0))/x, 0/x2 , s(0)/y2 , s(0)/x3 ]
a
` vari
avel x, i.e, = [s(s(0))/x]
Exerccio 4.11. Sendo G = Max(x, y, y), Max(y, s(0), s(0)), determina uma resposta cal-

culada para P {G}. (

4.5.1

Integridade da resolu
c
ao SLD

Teorema 4.7. (Integridade da resolu


ca
o SLD) Seja P um programa definido e G um
objectivo. Toda a resposta calculada para P {G} e uma resposta correcta para P {G}.
Demonstrac
ao. Seja G um objectivo 1 , . . . , k e seja uma refutacao de comprimento n

para P {G}, constituda por G0 = G, G1 , . . . , Gn objectivos, C1 , . . . , Cn variantes de clausulas

de P e 1 , . . . , n umgs. Mostramos por inducao sobre n que P |= ((1 . . . k )1 . . . n ):


Base. Para n=1, tem-se G = 1 , C = e 1 1 = 1 . E, como C e uma variante
duma clausula de P , P |= (1 1 )

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

Vamos ver que tambem MP Suc(P ).


Defini
c
ao 4.23. Uma refutaca
o-SLD n
ao restringida e uma refutaca
o-SLD em que se usam
substituic
oes 1 , 2 , . . . que s
ao unificadores, mas n
ao necessariamente unificadores mais gerais.
Vamos ver que se h
a uma refutac
ao-SLD nao restringida entao tambem existe uma refutacaoSLD...
Lema 4.2. Seja P um programa definido e G um objectivo tal que existe uma refutac
ao-SLD
n
ao restringida de P {G} de comprimento n com unificadores 1 , . . . , n . Ent
ao existe uma
substituic
ao e uma refutac
ao-SLD de P {G} de comprimento n e com umgs 1" . . . n" tal

que 1 . . . n = 1" . . . n"

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

uma refutacao de comprimento 1 e umg 1" .

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

variantes de clausulas C1 , . . . , Cn e unificadores 1" , 2 , . . . , n tal que G1 = G"1 . Por


hipotese de inducao existe para P {G"1 }, uma refutacao-SLD G"1 , G2 , . . . , Gn = * 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

1 . . . n = " 2 . . . n = 1" 2" . . . n" .

Lema 4.3. Seja P um programa definido, G um objectivo e uma substituic


ao. Suponhamos
que existe uma refutac
ao-SLD para P {G} de comprimento n e com umgs 1 , . . . , n . Ent
ao

existe uma substituic


ao e uma refutac
ao-SLD para P {G} de comprimento n e com umgs
1" , . . . , n" tal que 1 . . . n = 1" . . . n" .

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.

Teorema 4.8. Seja P um programa definido, Suc(P ) = MP .


Demonstrac
ao. Suc(P ) MP : pelo lema 4.1.

MP Suc(P ): Seja MP . Entao TP . Logo, existe n N tal que TP n.

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.

Entao existe uma instancia fechada 1 1 , . . . , k de uma clausula de P , tal que


1 , . . . , k TP (n 1) e = 1 . Por hipotese de inducao, existem refutacoes

de P { j }, para j = 1, . . . , k e como cada j e um atomo fechado e possvel

combinar essas refutacoes para uma refutacao de P { (1 , . . . , n )}. Logo, existe


uma refutacao-SLD nao restringida para P { } e pelo lema 4.2 uma refutacao-SLD.

4.5.2

Completude da resolu
c
ao-SLD

Teorema 4.9. Seja P um programa definido e G um objectivo tal que P {G} n


ao e satisfazvel. Ent
ao existe uma refutac
ao-SLD de P {G}.

Demonstrac
ao. Seja G o objectivo 1 , . . . , k . Como P {G} nao e satisfazvel, entao

P 2 (1 . . . k ). E tambem, existe P 2 (1 . . . k ), e tal que i s


ao

Departamento de Ci
encia de Computadores F.C.U.P.


4.5. RESOLUC
AO-SLD

145

atomos fechados. Logo {1 , . . . , k } MP e pelo Teorema 4.8 existe uma refutacao de


P { i }, para i = 1, . . . , k. Podemos entao obter uma refutacao para P {G} e aplicar
o lema 4.3.

Lema 4.4. Seja P um programa definido e um


atomo tal que P |= x1 . . . xs , onde

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,

obtemos uma refutac


ao para P { } cuja resposta e uma substituicao identidade.

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

P {G}, tem-se que P |= x1 . . . xs (1 . . . k )

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.

Seja entao 1 , . . . , n a sequencia de umgs utilizada na refutacao de P {G}.

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 = .

Leituras suplementares [Llo87] [BA01] (Cap. 7,8)

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

Algumas regras derivadas:

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]

Dexter C. Kozen. Automata and Computability. Undergraduate texts in computer


science. Springer, 1997.

[Llo87]

J.W. Lloyd. Foundations of Logic Programming. SV, 1987.

[Pap94]

Christos H. Papadimitriou. Computational Complexity. Addison Wesley, 1994.

[Smu95] Raymond M. Smullyan. Fisrt-order Logic. Dover Publications, 1995.

Departamento de Ci
encia de Computadores F.C.U.P.

Indice
conjunto de conectivas, 11

BP
base de Herbrand

completude
logica proposicional, 33

programa definido, 114

conjunto consistente

IA

logica de primeira ordem, 77

programa definido, 114

conjunto de diferencas, 117

LP

consequencia sem
antica, 55

linguagem

logica proposicional, 9

programa definido, 114

contradicao

MP

logica proposicional, 24

programa definido, 114

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

demonstracao por casos


logica proposicional, 24

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

de uma expressao, 116


fechada, 116

logica de primeira ordem, 64

equivalencia sem
antica

integridade
logica proposicional, 33

logica proposicional, 10

sistema dedutivo DN

estrutura

logica de primeira ordem, 75

linguagem de primeira ordem, 53


estrutura de Herbrand, 111

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

logica de primeira ordem, 65

falsa

introducao de

proposicao
logica primeira ordem, 56
forma booleana, 59
forma normal
conjuntiva, 15

logica de primeira ordem, 64

F
logica proposicional, 23
lema da deducao

disjuntiva, 13

logica de primeira ordem, 77

negativa, 13

logica proposicional, 27

forma normal prenexa

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

linguagem primeira ordem, 55


paradoxo

formula proposicional, 9

de Russel, 89
programa definido, 109
proposicao

|=, 54

sistema de deducao natural


logica de primeira ordem, 63

logica de primeira ordem, 50


reducao ao absurdo
logica proposicional, 28

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

renomeacao de variaveis, 117

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.

Você também pode gostar