Sei sulla pagina 1di 31

Captulo 1

Fundamentos da l ogica matematica


1.1 Introdu cao
A resolu c ao e uma regra de inferencia apropriada para dedu c ao autom atica mec anica. Foi precisamente
no contexto de dedu c ao autom atica que Robinson desenvolveu o seu princpio de resolu c ao, publicado
em 1965. A ideia de que a l ogica de primeira-ordem poderia ser usada como uma linguagem de
programa c ao foi revolucion aria, j a que ate 1972 a l ogica tinha sido considerada apenas como uma
linguagem de especica c ao ou declara c ao. Kowalski mostra que a l ogica possui uma interpreta c ao
procedimental o que a faz efetiva como uma linguagem de programa c ao. Em resumo, uma cl ausula
de programa A B
1
, . . . , B
n
e observada como uma deni c ao de procedimento. Se C
1
, . . . , C
k
e
um objetivo ent ao cada C
j
(1 j k) e considerado como um chamado a um procedimento. Um
programa e executado apresentando um objetivo inicial. Se o objetivo num momento da computa c ao
e
C
1
, . . . , C
k
(1.1)
um passso na execu c ao consiste numa unica c ao de algum C
j
(1 j k) com a cabe ca de uma
cl ausula de programa A B
1
, . . . , B
n
. Assim, o objetivo (1.1) e reduzido a
( C
1
, . . . , C
j1
, B
1
, . . . , B
n
, C
j+1
, . . . , C
k
),
onde e a substitui c ao da unica c ao de A e C
j
. A execu c ao termina quando o objetivo vazio e atingido.
A ideia fundamental de Kowalski e que um algoritmo consiste de dois componentes distintos:
- l ogica e
- controle
O componente l ogico estabelece o que o programa deve resolver e o componente de con-
trole como deve resolve-lo. Em termos gerais, uma linguagem l ogica de programa c ao deveria prover
mecanismos para especicar cada um dos componentes. N ao obstante, considera-se ideal liberar o
programador da especica c ao do componente de controle; fato este que ainda n ao e possvel com os
9
10 Captulo 1 Fundamentos da l ogica matem atica
atuais sistemas de programa c ao l ogica, e que seguramente s o ser a atingido sob restri c oes no tipo de
declara c oes l ogicas. Inicialmente estudamos a sintaxe e sem antica das teorias l ogicas de primeira-
ordem, o mecanismo de unica c ao (captulo 2) e teoria do ponto xo (captulo 3) dentro do contexto
da l ogica matem atica. Tais t opicos representam os fundamentos necess arios para o estudo formal do
princpio de resolu c ao e da programa c ao declarativa.
1.2 Teorias de primeira-ordem
Iniciaremos com os fundamentos da l ogica de primeira-ordem. A seguinte bibliograa complementar
e recomendada: [Cai88], [Fit96], [Ber95], [End72], [CK90], [Gal87], [Bur98] e [BE93].
A l ogica de primeira-ordem deve ser estudada tanto do ponto de vista sint atico (o como
escrever as f ormulas e predicados) como do ponto de vista sem antico (o que signicam as f ormulas e
predicados). Iniciaremos com os aspectos puramente sint aticos da l ogica de primeira-ordem.
Uma teoria de primeira-ordemconsiste de umalfabeto, uma linguagem de primeira-
ordem, um conjunto de axiomas e um conjunto de regras de inferencia. A linguagem de primeira-
ordem consiste de f ormulas bem formadas da teoria. Os axiomas s ao um conjunto de f ormulas bem
formadas. Os axiomas e regras de inferencia s ao usados para derivar os teoremas da teoria.
Deni c ao 1.2.1 Um alfabeto consiste de sete classes de smbolos:
(a) vari aveis,
(b) constantes,
(c) smbolos de fun c ao,
(d) smbolos de predicado,
(e) conectivos (l ogicos),
(f ) quanticadores (l ogicos),
(g) smbolos de pontua c ao.
As classes (e), (f) e (g) s ao sempre as mesmas para qualquer alfabeto, enquanto que as classes (a),
(b), (c) e (d) variam segundo o alfabeto (e a teoria que especicam).
Nota c ao: Utilizaremos os seguintes conjuntos de letras para denotar:
Vari aveis: u, v, w, x, y e z.
Constantes: a, b e c.
1.2 Teorias de primeira-ordem 11
Smbolos de fun c oes: f, g e h.
Smbolos de predicados: p, q e r.
As fun c oes ser ao de um ou mais argumentos (fun c oes de zero argumentos s ao constantes),
enquanto os predicados ter ao zero ou mais argumentos.
Deni c ao 1.2.2 O n umero de argumentos de um smbolo de fun c ao (ou predicado) e denominado a
aridade (arity) da fun c ao (ou do predicado). Um smbolo de fun c ao ou predicado de aridade n e
denominado um smbolo n- ario.
Os conectivos l ogicos s ao , , , e , enquanto os quanticadores s ao e . Os
smbolos de pontua c ao s ao (, ) e ,.
A sem antica informal dos conectivos e quanticadores e a seguinte:
e a nega c ao (n ao),
e a conjun c ao (e),
e a disjun c ao (ou),
e a implica c ao (se . . . ent ao),
e a equivalencia (se e somente se),

x
signica para todo x e,

x
signica existe x.
Deni c ao 1.2.3 Um termo e denido indutivamente como segue:
- Uma vari avel e um termo.
- Uma constante e um termo.
- Se f e um smbolo de fun c ao de aridade n e t
1
, . . . , t
n
s ao termos ent ao f(t
1
, . . . , t
n
) e um termo.
Deni c ao 1.2.4 Uma f ormula (bem formada) e denida indutivamente como segue:
- Se p e um smbolo de predicado de aridade n e t
1
, . . . , t
n
s ao termos, ent ao p(t
1
, . . . , t
n
) e uma
f ormula, normalmente denominada f ormula at omica ou simplesmente atomo.
- Se F e G s ao f ormulas, ent ao (F), (F G), (F G), (F G), (F G) s ao f ormulas
12 Captulo 1 Fundamentos da l ogica matem atica
- Se F e uma f ormula e x uma vari avel, ent ao (
x
F) e (
x
F) s ao f ormulas.
Para evitar o excesso de parenteses adota-se a seguinte ordem de precedencia:


Exemplo 1.2.5 A f ormula p(x) q(x) r(x) deve-se interpretar como (p(x) q(x)) r(x).
Por conveniencia, as f ormulas F G ser ao escritas na forma (G F).
Deni c ao 1.2.6 A linguagem de primeira-ordem dada por um alfabeto, consiste do conjunto de
f ormulas construdas com os smbolos do alfabeto.
Exemplo 1.2.7 As seguintes express oes
a) (
x
((
z
((P(x, y) r(z)))))) e
b) ((
x
P(x)) (P(x)))
s ao f ormulas construdas utilizando-se a linguagem de primeira-ordem de um alfabeto que inclui os
smbolos usados nas pr oprias f ormulas.
Usando a ordem de precedencia denida anteriormente, podemos simplicar essas f ormulas,
como segue:
a

)
x

z
(P(x, y) r(z)) e
b

)
x
P(x) P(x), respectivamente.

Deni c ao 1.2.8 A abrangencia de


x
(respectivamente,
x
) em
x
F (respectivamente,
x
F) e F.
Uma ocorrencia de uma vari avel ligada numa f ormula G, e uma ocorrencia de uma vari avel x,
dentro do campo de abrangencia de um quanticador
x
ou
x
. Uma ocorrencia de uma vari avel
livre e uma ocorrencia de uma vari avel x n ao ligada.
Exemplo 1.2.9 Na f ormula
x
(p(f(x), y) q(x)), as duas ocorrencias da vari avel x s ao ligadas,
enquanto a ocorrencia da vari avel y e livre. Na f ormula
x
p(f(x), y) q(x) a primeira ocorrencia da
vari avel x e ligada, no entanto a segunda e livre.
1.2 Teorias de primeira-ordem 13
Deni c ao 1.2.10 Uma f ormula fechada ou uma senten ca e uma f ormula sem ocorrencias livres
de nenhuma vari avel.
Nota c ao: Normalmente, falaremos de vari aveis livres (ou ligadas) quando todas as ocorrencias da
vari avel em quest ao s ao livres (ou ligadas, respectivamente).
Exemplo 1.2.11 Na f ormula
x
(p(f(x), y) q(x)), x e uma vari avel ligada e y uma vari avel livre.
Na f ormula
x
p(x, y) q(x) n ao podemos dizer que x seja uma vari avel livre ou ligada.
Z Uma f ormula sem vari aveis livres corresponde a uma senten ca.
Exemplo 1.2.12
x

y
(p(f(x), h(x, y)) q(y)) e uma f ormula fechada ou senten ca.
Deni c ao 1.2.13 Se F e uma f ormula, (F) denota seu fecho universal que corresponde ` a f ormula
obtida de F, precedida de um quanticador universal para cada vari avel com ocorrencias livres em F.
Analogamente e denido o fecho existencial de F, (F).
Exemplo 1.2.14 O fecho universal da f ormula
x
p(f(x, y), h(z)) q(x) e:

x
(
x
p(f(x, y), h(z)) q(x)).
O correspondente fecho existencial e:

x
(
x
p(f(x, y), h(z)) q(x)).
Note que existe uma ocorrencia livre e uma ligada da vari avel x na f ormula original.
Deni c ao 1.2.15 Denimos indutivamente o tipo de ocorrencia de um atomo numa f ormula da se-
guinte maneira:
- Um atomo A ocorre positivamente em A.
- Se um atomo A ocorre positivamente (resp. negativamente) numa f ormula W, ent ao A ocorre
positivamente, (resp. negativamente) em
x
W e
x
W e W V e W V e W V e ocorre
negativamente (resp. postivamente) em W e V W.
Observa c ao: F G e equivalente
1
a G F.
1
A palavra equivalente est a enfatizada, porque que ainda n ao denimos formalmente o que isto signica (ver
Deni c ao 1.3.31).
14 Captulo 1 Fundamentos da l ogica matem atica
Deni c ao 1.2.16 Um literal e um atomo ou a nega c ao de um atomo. Disting ue-se entre literal
positivo e literal negativo segundo o literal seja um atomo ou a nega c ao de um atomo, respectiva-
mente.
Deni c ao 1.2.17 Uma cl ausula e uma f ormula da forma:

x
1
. . .
xs
(L
1
L
m
),
onde cada L
i
e um literal e x
i
, . . . , x
s
s ao todas as vari aveis ocorrendo em L
1
L
m
.
Exemplo 1.2.18 As seguintes f ormulas s ao cl ausulas:

z
(p(x, y) p(x, z) r(x));

z
(p(f(x, y), y) r(h(z))).

Nota c ao: Como as cl ausulas s ao de uso comum na programa c ao l ogica, existe uma nota c ao padr ao.
Denotaremos uma cl ausula da forma:
(A
1
A
r
B
1
B
n
)
onde os A
i
s s ao os literais positivos e os B
j
s os literais negativos (da cl ausula) por:
A
1
, , A
r
B
1
, . . . , B
n
assumindo que todas as vari aveis est ao quanticadas universalmente.
Observa c oes:
1. Note que (A
1
A
r
B
1
. . . B
n
) e (A
1
. . . A
r
B
1
. . . B
n
) s ao equivalentes.
Com efeito, (A
1
. . . A
r
B
1
B
n
) e equivalente ` a ((A
1
. . . A
r
) (B
1
. . . B
n
))
pelas leis de DeMorgan da l ogica proposicional.
2. O smbolo denota a equivalencia de f ormulas que ser a denida formalmente na Se c ao 1.3
(ver Deni c ao 1.3.31). Assim,
((A
1
. . . A
r
) (B
1
. . . B
n
))
(A
1
. . . A
r
B
1
. . . B
n
).
1.2 Teorias de primeira-ordem 15

Deni c ao 1.2.19 Uma cl ausula de deni c ao de programa e uma cl ausula com um unico literal
positivo.
A B
1
, . . . , B
n
A e denominado a cabe ca e B
1
, . . . , B
n
o corpo da cl ausula.
Deni c ao 1.2.20 Uma cl ausula unit aria e uma cl ausula da forma
A
i.e., uma cl ausula de deni c ao de programa com corpo vazio.
Deni c ao 1.2.21 Um programa denido (ou simplesmente um programa) e um conjunto nito
de cl ausulas de deni c ao de programa.
Deni c ao 1.2.22 Em um programa P todas as cl ausulas de deni c ao com o mesmo smbolo de pre-
dicado p, na cabe ca, e denominado o conjunto de deni c ao de p.
A interpreta c ao informal de uma cl ausula de deni c ao de programa
A B
1
, . . . , B
n
e: Toda inst ancia de A com correspondentes inst ancias de B
1
, . . . , B
n
v alidas, e v alida. Uma
inst ancia de A resulta da substitui c ao
2
das suas vari aveis.
Deni c ao 1.2.23 Um objetivo (denite goal) e uma cl ausula da forma:
B
1
, . . . , B
n
Cada B
j
e denominado um sub-objetivo do objetivo.
Se y
1
, . . . , y
r
s ao as vari aveis que ocorrem no objetivo, ent ao sua nota c ao clausal ser a:

y
1
, . . .
yr
((B
1
. . . B
n
)) que, por sua vez, e equivalente ` a
y
1
. . .
yr
(B
1
. . . B
n
).
Deni c ao 1.2.24 A cl ausula vazia sem antecedente, nem consequente e denotada por .
Deni c ao 1.2.25 Uma cl ausula de Horn e uma cl ausula de deni c ao de programa ou um objetivo.
2
O termo substitui c ao e enfatizado, j a que ainda n ao temos denido formalmente o que isto signica (ver Deni c ao
2.1.1).
16 Captulo 1 Fundamentos da l ogica matem atica
Exemplo 1.2.26 [Llo87] O seguinte programa denominado slowsort (ordena c ao lenta), ordena uma
lista de inteiros n ao negativos em uma lista crescente (a lista original n ao inclui repeti c oes).
sort(x, y) sorted(y), perm(x, y)
sorted(nil)
sorted(x nil)
sorted(x y z) x y, sorted(y z)
perm(nil, nil)
perm(x y, u v) delete(u, x y, z), perm(z, v)
delete(x, x y, y)
delete(x, y z, y w) delete(x, z, w)
0 x
s(x) s(y) x y.
No programa, os n umeros inteiros n ao negativos s ao representados com termos construdos
com 0 e a fun c ao sucessor s, onde s e um smbolo de fun c ao un ario. As potencias de s s ao denidas
por indu c ao: s
0
(x) = 0, s
n+1
(x) = s(s
n
(x)). Assim, o n umero n e representado por s
n
(0). Usaremos
n para denotar s
n
(0) quando for conveniente.
O smbolo e usado na constru c ao de listas (e corresponde ` a fun c ao cons) e a lista nil
representa a lista vazia. Assim, a lista [4, 22, 11, 14] ser a representada por 4 (22 (11 (14 nil))).
Utilizando a conven c ao usual de associatividade ` a direita da fun c ao podemos escrever simplesmente
4 22 11 14 nil.
O programa Slowsort contem as deni c oes dos predicados sort, sorted, perm, delete, .
Note que o predicado e usado em nota c ao inxa. A sem antica informal da deni c ao desses predi-
cados e dada por:
se x e y s ao listas, e y e uma lista ordenada que e tambem permuta c ao de x, ent ao y e a vers ao
ordenada de x.
listas vazias e unit arias s ao ordenadas.
listas de dois ou mais elementos s ao ordenadas se os dois primeiros elementos s ao mutuamente
ordenados e a lista resultante de eliminar o primeiro elemento da lista original e ordenada.
no caso em que o primeiro elemento da lista y seja x e z seja o resultado de elimin a-lo da lista
y, ent ao z e o resultado de eliminar x da lista y e, no caso em que o primeiro elemento da lista y
seja diferente de x, o resultado de eliminar x de y ser a a lista resultante de concatenar o primeiro
elemento de y com a lista resultante de eliminar x da lista resultante da lista y sem seu primeiro
elemento.
a lista vazia e uma permuta c ao da lista vazia; a lista x e uma permuta c ao da lista y se ao se
retirar o primeiro elemento da lista y, a lista resultante continua sendo uma permuta c ao da lista
1.2 Teorias de primeira-ordem 17
obtida a partir de x ao se retirar o mesmo elemento que foi retirado da lista y.
Para executar o programa slowsort com entrada 4 22 11 14 nil e preciso apresentar um
objetivo da forma sort(4 22 11 14 nil, y). Isto ser a interpretado como um requerimento para
encontrar um y que seja a vers ao ordenada de 4 22 11 14 nil.

Exemplo 1.2.27 [O problema do fazendeiro] Um fazendeiro quer transportar um lobo, uma galinha
e um saco de milho em uma canoa de uma margem ` a outra de um rio. O problema e que a capacidade
da canoa e para dois itens (includo o pr oprio fazendeiro) e n ao e permitido isolar o lobo e galinha
nem a galinha e o milho, por motivos obvios.
Solu c ao usando o sistema XSB-Prolog:
demo :- solucione(flgm(oeste,oeste,oeste,oeste), flgm(leste,leste,leste,leste), Sol),
write_result([[fazend,lobo,galinha,milho]]),write_result(Sol), fail.
solucione( S, G, P ) :- caminho( S, G, [S], P ).
caminho( G, G, H, H ).
caminho( S, G, H, P ) :-
mover( S, N ), % mover a um novo estado
seguro( N ), % que seja seguro
nao_repetido( N, H ), % e nao seja repetido
caminho( N, G, [N|H], P ). % entao complete o caminho
nao_repetido(N, H) :- repetido(N, H), !, fail.
nao_repetido(_, _). % temp solution to BA index prob
repetido( X, [X|_] ).
repetido( X, [_|L] ):- repetido( X, L ).
mover( flgm( X, L, G, M ), flgm( Y, L, G, M ) ) :-
oposto( X, Y ). % fazendeiro vai sozinho
mover( flgm( X, X, G, M ), flgm( Y, Y, G, M ) ) :-
oposto( X, Y ). % fazendeiro vai com o lobo
mover( flgm( X, L, X, M ), flgm( Y, L, Y, M ) ) :-
oposto( X, Y ). % fazendeiro vai com a galinha
mover( flgm( X, L, G, X ), flgm( Y, L, G, Y ) ) :-
oposto( X, Y ). % fazendeiro vai com o milho
oposto( oeste, leste ). % lados opostos sao oeste e leste
oposto( leste, oeste ). % lados opostos sao oeste e leste
seguro( flgm( X, _, X, _ ) ). % fazendeiro e galinha e seguro
seguro( flgm( X, X, _, X ) ). % fazendeiro e lobo e milho e seguro
write_result([]) :- nl.
write_result([X|L]) :- write(X), nl, write_result(L).
A seguir o resultado da execu c ao do programa.
> xsb -i
XSB Version 1.4.0 (94/5/9)
[sequential, single word, optimal mode]
| ?- [mar_farmer].
[mar_farmer loaded]
yes
| ?- demo.
[ fazend,lobo,galinha,milho]
flgm(leste,leste,leste,leste)
18 Captulo 1 Fundamentos da l ogica matem atica
flgm(oeste,leste,oeste,leste)
flgm(leste,leste,oeste,leste)
flgm(oeste,leste,oeste,oeste)
flgm(leste,leste,leste,oeste)
flgm(oeste,oeste,leste,oeste)
flgm(leste,oeste,leste,oeste)
flgm(oeste,oeste,oeste,oeste)
[ fazend,lobo,galinha,milho]
flgm(leste,leste,leste,leste)
flgm(oeste,leste,oeste,leste)
flgm(leste,leste,oeste,leste)
flgm(oeste,leste,oeste,oeste)
flgm(leste,leste,leste,oeste)
flgm(oeste,oeste,leste,oeste)
flgm(leste,oeste,leste,oeste)
flgm(oeste,oeste,oeste,oeste)
[ fazend,lobo,galinha,milho]
flgm(leste,leste,leste,leste)
flgm(oeste,leste,oeste,leste)
flgm(leste,leste,oeste,leste)
flgm(oeste,oeste,oeste,leste)
flgm(leste,oeste,leste,leste)
flgm(oeste,oeste,leste,oeste)
flgm(leste,oeste,leste,oeste)
flgm(oeste,oeste,oeste,oeste)
[ fazend,lobo,galinha,milho]
flgm(leste,leste,leste,leste)
flgm(oeste,leste,oeste,leste)
flgm(leste,leste,oeste,leste)
flgm(oeste,oeste,oeste,leste)
flgm(leste,oeste,leste,leste)
flgm(oeste,oeste,leste,oeste)
flgm(leste,oeste,leste,oeste)
flgm(oeste,oeste,oeste,oeste)
yes
| ?- halt.
End XSB (cputime 0.51s, elapsetime 12.98s)
>

1.3 Interpreta c oes e Modelos


A sem antica declarativa dos programas l ogicos e dada pela sem antica usual das f ormulas da l ogica de
primeira-ordem. Discutir-se- ao os modelos e interpreta c oes dos programas l ogicos e em particular as
interpreta c oes de Herbrand que tratam de corresponder ` as interpreta c oes desejadas dos programas
l ogicos.
As interpreta c oes s ao simplesmente um domnio de discurso onde s ao interpretados
smbolos de constante, fun c ao e predicado. Assim, as constantes s ao interpretadas como elementos
do domnio, smbolos de fun c ao, como fun c oes no domnio e smbolos de predicado como predicados
no domnio (da correspondente aridade).
1.3 Interpretac oes e Modelos 19
Uma interpreta c ao expressa um signicado por cada smbolo dentro das f ormulas. S ao
de interesse, em particular, interpreta c oes que validam as f ormulas, i.e. modelos das f ormulas. De
maneira geral, existe uma interpreta c ao de inten c ao C (a que o especicador do programa imagina
estar especicando) que fornece o principal signicado ` as f ormulas e deve ser um modelo das f ormulas.
A l ogica de primeira-ordem prove metodos para deduzir os teoremas de uma teoria; i.e.,
as f ormulas que s ao v alidas em qualquer modelo da teoria. Tais teoremas podem ser caracterizados
pelo teorema de completude de G odel, como as f ormulas que s ao consequencias l ogicas dos axiomas
da teoria. Em outras palavras, como as f ormulas que valem em cada interpreta c ao que e um modelo
de cada um dos axiomas da teoria.
Os axiomas de um programa l ogico, s ao as declara c oes do programa.
Suponha que se deseja provar que a f ormula:

y
1
. . .
yr
(B
1
. . . B
n
)
e uma consequencia l ogica de um programa P. A nega c ao da f ormula a ser provada e adicionada aos
axiomas do programa e trata-se de derivar uma contradi c ao, ou seja a prova construda e refutacional.
Se e possvel obter uma contradi c ao da nega c ao da f ormula, ent ao a validade desta e atingida. A
nega c ao da f ormula a ser provada e o objetivo:
B
1
, . . . , B
n
Se derivando novos objetivos a partir do anterior obtem-se a cl ausula vazia, ent ao tem-se uma con-
tradi c ao, o que implica que
y
1
, . . . ,
yr
(B
1
. . . B
n
) e uma consequencia l ogica de P.
Do ponto de vista da demonstra c ao autom atica de teoremas, o interessante e demonstrar
a validade de
y
1
, . . .
yr
(B
1
. . . B
n
), mas do ponto de vista do programador, interessantes s ao
as liga c oes das vari aveis y
1
. . . y
r
que foram necess arias para atingir a prova. Em outras palavras,
os passos construtivos da prova refutacional. Tais liga c oes, podem-se considerar como a sada do
programa.
Exemplo 1.3.1 Considerando novamente o programa slowsort do exemplo 1.2.26, o objetivo
sort(4 22 11 14 nil, y)
e simplesmente um requerimento para demonstrar que
y
sort(4 22 11 14 nil, y) e uma consequencia
l ogica do programa. De fato, o principal resultado n ao e a validade da f ormula, mas a liga c ao da
vari avel y que deve induzir a uma ordena c ao da lista 4 22 11 14 nil.
20 Captulo 1 Fundamentos da l ogica matem atica
Deni c ao 1.3.2 Uma pre-interpreta c ao, , de uma linguagem de primeira-ordem L consiste do
seguinte:
a) Um conjunto n ao-vazio D denominado o domnio da pre-interpreta c ao.
b) Para cada constante em L, a designa c ao de um elemento em D.
c) Para cada smbolo de fun c ao n- aria em L, a designa c ao de uma fun c ao de D
n
para D.
Deni c ao 1.3.3 Uma interpreta c ao 1 de uma linguagem de primeira-ordem L consiste de uma
pre-interpreta c ao , com domnio D, conjuntamente com o seguinte:
Para cada smbolo de predicado n- ario em L, a designa c ao de uma fun c ao de D
n
no conjunto
true, false (ou equivalentemente uma rela c ao sobre D
n
).
Diz-se que 1 e baseada em .
Deni c ao 1.3.4 Seja uma pre-interpreta c ao de uma linguagem de primeira-ordem L. Uma de-
signa c ao de vari aveis 1 (com respeito a ) e uma designa c ao para cada vari avel em L de um
elemento no domnio de .
Nota c ao: Uma designa c ao de vari aveis e especicada como um conjunto de liga c oes entre vari aveis da
linguagem e elementos do domnio: 1 = x
1
/d
1
, . . . , x
n
/d
n
, . . .. O resultado de aplicar as designa c oes
de uma liga c ao de vari aveis numa f ormula (ou termo) W e denotado por W1.
Deni c ao 1.3.5 Seja uma pre-interpreta c ao de uma linguagem de primeira-ordem L e seja 1 uma
designa c ao de vari aveis. A designa c ao de termos (segundo e 1 ) dos termos em L e denida
como segue:
a) Cada vari avel assume sua designa c ao segundo 1.
b) Cada constante assume sua designa c ao segundo .
c) Se d
1
, . . . , d
n
s ao as correspondentes designa c oes dos termos t
1
, . . . , t
n
e f

e a fun c ao de D
n
em D(domnio de ) associada ao smbolo de fun c ao n- ario f em L, ent ao f

(d
1
, . . . , d
n
) e a
designa c ao correspondente ao termo f(t
1
, . . . , t
n
) (segundo e 1).
Deni c ao 1.3.6 Sejam uma pre-interpreta c ao, 1 uma designa c ao das vari aveis com respeito a
e A um atomo. Suponha A e p(t
1
, . . . , t
n
) e d
1
, . . . , d
n
s ao as designa c oes dos termos t
1
, . . . , t
n
,
respectivamente, com respeito a e 1.
1.3 Interpretac oes e Modelos 21
A -inst ancia de A com respeito a 1 e p(d
1
, . . . , d
n
) = A
J,V
. Seja
[A]
J
= A
J,V
[ 1 designa c ao de vari aveis com respeito a .
Cada elemento de [A]
J
e denominado uma -inst ancia de A. Cada p(d
1
, . . . , d
n
) e
tambem chamado uma -inst ancia.
Deni c ao 1.3.7 Seja 1 uma interpreta c ao com domnio D de uma linguagem de primeira-ordem L
e seja 1 uma designa c ao das vari aveis. Ent ao uma f ormula em L tem um valor de verdade true
ou false (com respeito a 1 e 1) segundo o seguinte:
a) Se a f ormula e um atomo p(t
1
, . . . , t
n
), ent ao o valor de verdade e obtido calculando o valor de
p

(d
1
, . . . , d
n
), onde p

e a fun c ao designada ` a p por 1 e d


1
, . . . , d
n
s ao as designa c oes dos termos
t
1
, . . . , t
n
com respeito a 1 e 1.
b) Se a f ormula tem a forma F, F G, F G, F G, F G, ent ao o valor de verdade e dado
pela seguinte tabela:
F G F F G F G F G F G
true true false true true true true
true false false false true false false
false true true false true true false
false false true false false true true
c) Se a f ormula tem a forma
x
F, ent ao seu valor de verdade e true se existe d D tal que F tem
valor de verdade true com respeito a 1 e 1(x/d), onde 1(x/d) e 1 exceto que x tem designa c ao
d. Em caso contr ario o valor de verdade da f ormula e false.
d) Se a f ormula tem a forma
x
F, ent ao seu valor de verdade e true se para todo d D, F tem
valor de verdade true com respeito a 1 e 1(x/d). Em caso contr ario seu valor de verdade e
false.
Observa c ao: note que o valor de verdade de uma senten ca n ao depende da designa c ao dada ` as
vari aveis. Consequentemente pode-se falar do valor de verdade de uma senten ca com respeito a uma
interpreta c ao 1. Se o valor de verdade de uma senten ca com respeito a 1 e true (respectivamente
false), diz-se que a f ormula e true (respectivamente false) com respeito a 1. Por simplicidade usar-se-
ao tambem as express oes: a f ormula F e verdadeira (resp. falsa) em 1 ou a f ormula e v alida (resp.
n ao vale) em 1 sempre que o contexto seja claro, pois a palavra validade tem um signicado reservado
muito especial em l ogica matem atica como ser a apresentado nas seguintes deni c oes.
22 Captulo 1 Fundamentos da l ogica matem atica
Deni c ao 1.3.8 Sejam 1 uma interpreta c ao de uma linguagem de primeira-ordem L e W uma
f ormula em L.
W e consistente ou satisfatvel em 1 se W e true com respeito a 1.
W e v alida em 1 se W e true com respeito a 1.
W e inconsistente ou insatisfatvel em 1 se W e false com respeito a 1.
W e inv alida em 1 se W e false com respeito a 1.
Deni c ao 1.3.9 Seja 1 uma interpreta c ao de uma linguagem de primeira-ordem L e seja F uma
senten ca de L. Ent ao 1 e um modelo de F se F e true com respeito a 1.
Exemplo 1.3.10 Considere a f ormula
x

y
p(x, y) e a seguinte interpreta c ao 1:
o domnio de 1 e o conjunto dos inteiros n ao negativos;
a designa c ao de p e a rela c ao <.
Ent ao 1 e um modelo da f ormula. Em 1 a f ormula expressa que para todo inteiro n ao
negativo existe outro inteiro estritamente maior.
Note que outras interpreta c oes s ao possveis; por exemplo, 1

cujo domnio e o conjunto


dos inteiros negativos e a mesma designa c ao para o smbolo de predicado p. Ent ao a f ormula e falsa
com respeito a 1

(ou equivalentemente, 1

n ao e modelo da f ormula).
Os axiomas de uma teoria de primeira-ordem s ao um conjunto dado de senten cas da linguagem. As
teorias que se tratam na programa c ao l ogica tem cl ausulas de programas como axiomas.
Deni c ao 1.3.11 Seja T uma teoria de primeira-ordem e seja L a linguagem de T. Um modelo de
T e uma interpreta c ao de L que e um modelo de cada axioma de T.
No caso em que T tenha um modelo diz-se que T e consistente.
Deni c ao 1.3.12 Seja S um conjunto de senten cas de uma linguagem de primeira-ordem L e seja 1
uma interpreta c ao de L. 1 e modelo de S se 1 e modelo de cada f ormula de S.
Observa c ao: Note que se S = F
1
, . . . , F
n
e um conjunto nito de senten cas ent ao 1 e modelo de
S sse o e de F
1
F
n
.
Deni c ao 1.3.13 Seja S um conjunto de senten cas de uma linguagem de primeira-ordem L.
1.3 Interpretac oes e Modelos 23
S e satisfatvel se L tem uma interpreta c ao que e modelo de S.
S e v alido se cada interpreta c ao de L e modelo de S.
S e insatisfatvel ou inconsistente se nenhuma interpreta c ao de L e modelo de S.
S e inv alido se L tem uma interpreta c ao que n ao e modelo de S.
Exemplo 1.3.14 Conjuntos satisfatveis.
1. Seja S
1
=
x

y
p(x, y). S
1
e tanto satisfatvel como inv alido, j a que p pode ser interpretada
como a rela c ao menor no domnio dos n umeros naturais ou como a rela c ao pai no domnio das
pessoas.
2. Os mon oides s ao os modelos do seguinte conjunto de axiomas
S
2
=

x
eq(e x, x),

x
eq(x e, x),

z
eq((x y) z, x (y z)),

y
(eq(x, y) eq(y, x)),
x

z
(eq(x, y) (eq(x z, y z) eq(z x, z y)))

Basta interpretar e como o elemento neutro, eq como a rela c ao de igualdade e como o operador
multiplicativo do mon oide. As duas ultimas f ormulas de S
2
expressam a simetria e reexividade
funcional (com respeito ao smbolo de fun c ao ) do smbolo de predicado eq. O mais usual,
quando e necess ario trabalhar com o predicado de igualdade, e usar linguagens de primeira-
ordem com igualdade, onde o predicado de igualdade e pre-interpretado evitando dessa maneira
a apresenta c ao explcita dos axiomas de igualdade.

Deni c ao 1.3.15 Seja S um conjunto de senten cas e F uma senten ca de uma linguagem de primeira-
ordem L. Diz-se que F e uma consequencia l ogica de S se para cada interpreta c ao 1 de L que e
modelo de S, 1 e modelo de F.
Observa c ao: note que se F e consequencia l ogica de F
1
, . . . , F
n
, ent ao F
1
F
n
F e v alida.
A recproca tambem e certa: se F
1
F
n
F e v alida, ent ao toda interpreta c ao que seja modelo
de F
1
, . . . , F
n
e tambem modelo de F.
Exemplo 1.3.16 Continua c ao exemplo 1.3.14.2. Seja S
3
= S
2

x
eq(x x, e). Os mon oides nilpo-
tentes s ao os modelos de S
3
. Observe que
x

y
eq(x y, y x) e uma consequencia l ogica de S
3
, j a que
qualquer mon oide nilpotente e abeliano.
24 Captulo 1 Fundamentos da l ogica matem atica
Proposi c ao 1.3.17 Seja S um conjunto de senten cas e F uma senten ca de uma linguagem de
primeira-ordem L. Ent ao F e consequencia l ogica de S sse S F e insatisfatvel.
Demonstra c ao. Suponha que F e consequencia l ogica de S e seja 1 uma interpreta c ao de L que e
modelo de S. Ent ao 1 e tambem modelo de F, portanto 1 n ao e modelo de S F. Logo S F
e insatisfatvel.
No outro sentido, se S F e insatisfatvel, seja 1 uma interpreta c ao de L e suponha que e modelo
de S. Como S F e insatisfatvel, 1 n ao e modelo de F. Consequentemente 1 e modelo de F.
Logo F e consequencia l ogica de S.
Exemplo 1.3.18 Sejam S = p(a),
x
(p(x) q(x)) e F = q(a). F e consequencia l ogica de S; com
efeito, seja 1 um modelo de S, ent ao p(a) e true com respeito a 1 e como tambem x(p(x) q(x)) e
true com respeito a 1, em particular p(a) q(a) e true com respeito a 1. Portanto q(a) e true com
respeito a 1 ou, em outras palavras, 1 e tambem modelo de q(a).
Usando as deni c oes dadas ate o momento, podemos formalizar o processo de execu c ao
dos programas l ogicos da seguinte maneira: dado um programa P (conjunto de cl ausulas de programa)
e um objetivo G, trata-se de demonstrar que o conjunto de cl ausulas P G e insatisfatvel. Com
efeito, se G e o objetivo B
1
, . . . , B
n
com vari aveis y
1
, . . . , y
r
, ent ao pela proposi c ao anterior a
insatisfatibilidade de P G e equivalente a dizer que G e consequencia l ogica de P. Note que
(
y
1

yr
( B
1
, . . . , B
n
)) e equivalente a
y
1

yr
(B
1
. . . B
n
).
O problema de demonstrar a insatisfatibilidade de P G e o mesmo de demonstrar que
toda interpreta c ao da linguagem L n ao e modelo de P G. As interpreta c oes de Herbrand ser ao
importantes pois representam uma classe de interpreta c oes sucientes para tratar o anterior problema
de inconsistencia. N ao ser a preciso, ent ao, testar a validade ou invalidade de P G em todas as
interpreta c oes.
Deni c ao 1.3.19 Um termo b asico (termo ground) e um termo sem vari aveis.
Deni c ao 1.3.20 Seja L uma linguagem de primeira-ordem. O universo de Herbrand U
L
para L
e o conjunto de todos os termos b asicos que podem ser construdos usando os smbolos de constante e
fun c oes de L. No caso em que L n ao tenha constantes, inclui-se uma nova constante para formar os
termos b asicos.
Exemplo 1.3.21 Considere a linguagem L que tem smbolos de fun c ao un aria f e bin aria g. O
universo de Herbrand da linguagem L ser a:
a, f(a), g(a, a), f(f(a)), f(g(a, a)), g(a, f(a)), g(f(a), a), g(f(a), f(a)), g(a, g(a, a)), . . .
1.3 Interpretac oes e Modelos 25
onde a e um novo smbolo de constante.
No caso em que a linguagem L contem smbolos de constante, por exemplo b, c, o universo
de Herbrand ser a construdo usando tais smbolos de constante:
b, c, f(b), f(c), g(b, b), g(c, c), g(b, c), g(c, b), f(f(b)), . . .

Deni c ao 1.3.22 Seja L uma linguagem de primeira-ordem. A base de Herbrand B


L
de L e
o conjunto de todas as f ormulas at omicas formadas com smbolos de predicados de L e termos do
universo de Herbrand de L.
Usualmente falar-se- a de atomos b asicos (ou ground).
Exemplo 1.3.23 Continuando o exemplo anterior, se a linguagemL tem smbolos de predicado un ario
p e bin ario r, ent ao, p(a), p(f(g(a, f(a)))), r(a, f(a)), etc. s ao atomos b asicos na base de Herbrand de
L.
Deni c ao 1.3.24 Seja L uma linguagem de primeira-ordem. A pre-interpreta c ao de Herbrand
de L e a pre-interpreta c ao denida como segue:
a) O domnio da pre-interpreta c ao e o universo de Herbrand U
L
.
b) A designa c ao para as constantes em L s ao as mesmas constantes.
c) Se f e um smbolo de fun c ao n- aria em L, ent ao o mapeio designado para f, de U
n
L
em U
L
e
denido por (t
1
, . . . , t
n
) f(t
1
, . . . , t
n
).
Uma interpreta c ao de Herbrand para L e qualquer interpreta c ao baseada na pre-interpreta c ao de
Herbrand de L.
Deni c ao 1.3.25 Seja L uma linguagem de primeira-ordem e S um conjunto de senten cas de L. Um
modelo de Herbrand para S e uma interpreta c ao de Herbrand de L que seja modelo de S.
Nota: Usualmente ser a usada a express ao interpreta c ao de S e n ao interpreta c ao da linguagem L
de S. Assim, poder-se- a falar do universo de Herbrand de S, U
S
, da base de Herbrand de S, B
S
, e da
interpreta c ao de Herbrand de S. Normalmente isto e possvel, j a que a linguagem L pode ser deduzida
dos smbolos usados pelas f ormulas em S, que geralmente s ao as f ormulas clausais do programa. Ser a,
ent ao, usual falar do universo de Herbrand do programa P, U
P
, da base de Herbrand do programa P,
B
P
, e de fato, da interpreta c ao de Herbrand do programa P.
26 Captulo 1 Fundamentos da l ogica matem atica
Exemplo 1.3.26 Continua c ao do exemplo 1.2.26. A linguagem usada pelo programa slowsort inclui
as constantes 0 e nil, smbolos de fun c ao s e e smbolos de predicado sort, perm, sorted, delete e . A
interpreta c ao de inten c ao e uma interpreta c ao de Herbrand. Um atomo sort(l, m) e da interpreta c ao
de inten c ao sse tanto l como m s ao nil ou uma lista de termos da forma s
k
(0) e m e a vers ao ordenada
de l. Aos outros smbolos de predicados s ao designadas as rela c oes obvias. A interpreta c ao de inten c ao
e um modelo do programa e para a teoria associada.
Note que o universo de Herbrand e conformado pelos conjuntos:
0, s(0), s
2
(0), . . .

nil, 0 nil, 1 nil, 0 0 nil, 0 1 nil, 0 2 nil, 1 0 nil, 1 1 nil, 1 2 nil, . . .,


onde 1, 2, . . . s ao abrevia c oes de s(0), s(s(0)), . . ., respectivamente.
A seguinte proposi c ao confere o fato de que para demonstrar a insatisfatibilidade de um
conjunto de cl ausulas e suciente considerar as interpreta c oes de Herbrand.
Proposi c ao 1.3.27 Seja S um conjunto de cl ausulas e suponha que S tem um modelo. Ent ao S tem
um modelo de Herbrand.
Demonstra c ao. Seja 1 uma interpreta c ao de S. Dene-se uma interpreta c ao de Herbrand 1

,
associada com 1 da seguinte maneira:
Para cada f ormula at omica p(t
1
, . . . , t
n
) da base de Herbrand B
S
, p(t
1
, . . . , t
n
) e true em 1

sse
p(t
1
, . . . , t
n
) e true com respeito a 1.
Agora vejamos que se 1 e um modelo, ent ao tambem 1

e um modelo de S:
Seja
x
1
, . . .
x
l
(A
1
. . . A
k
V B
1
. . . B
m
) uma cl ausula em S. Ent ao, se 1 e um
modelo de S e 1 = x
1
/t
1
, . . . x
l
/t
l
uma designa c ao das vari aveis da cl ausula em termos b asicos,
(A
1
. . . A
k
B
1
. . . B
m
)1
e verdadeiro em 1, o que implica que algum literal positivo A
j
1 ou algum literal negativo B
i
1 e
verdadeiro em 1. Caso A
j
1 seja verdadeiro, pela deni c ao de 1

, A
j
1 e tambem verdadeiro em 1

.
Caso B
i
1 seja verdadeiro em 1, B
i
1 ser a falso em 1

. Logo B
i
1 ser a verdadeiro em 1

. Como 1
foi selecionada aleatoriamente, pode-se concluir que a cl ausula

x
1
, . . . ,
x
l
(A
1
. . . A
k
B
1
. . . B
m
)
e verdadeira em 1

. Assim, conclui-se que 1

e um modelo de S.
Nota:

E importante notar que a forma restrita das cl ausulas permite a demonstra c ao da proposi c ao.
1.3 Interpretac oes e Modelos 27
Para f ormulas gerais, isto n ao e possvel. Por exemplo, se temos que
x
F e verdadeira em 1, para
demonstrar indutivamente que a mesma vale em 1

, temos o problema de que uma testemunha


para o quanticador existencial n ao ser a necessariamente um termo b asico. Nesse caso ser a preciso
supor que trabalhamos com teorias de Henkin, onde para qualquer senten ca existencial =
x
F existe
uma constante c

tal que a f ormula


x
F F(x/c

) e verdadeira. Isto e usado na demonstra c ao da


completude da l ogica de primeira-ordem. Veja por exemplo [CK90].
Proposi c ao 1.3.28 Seja S um conjunto de cl ausulas. Ent ao S e inconsistente sse S n ao tem um
modelo de Herbrand.
Demonstra c ao. Consequencia direta da proposi c ao anterior.
Exemplo 1.3.29 Para ilustrar o fato de que as proposi c oes anteriores s ao certas s o para cl ausulas
(mencionado na nota anterior) considere o conjunto de f ormulas
S = p(a),
x
p(x)
Um modelo de S tem um domnio com pelo menos dois elementos. Por exemplo D = 0, 1, onde a
designa c ao de a e 0 (p.ex.) e a de p e a rela c ao unit aria que inclui 0 (i.e., p(0) e true, e p(1) e false).
Note que n ao temos um modelo de Herbrand j a que U
S
= a. Logo ambas as f ormulas
p(a) e
x
p(x) n ao podem ser v alidas para nenhuma interpreta c ao de Herbrand de S.
Quando seja preciso tratar f ormulas n ao clausais ser a necess ario considerar interpreta c oes
arbitr arias e n ao somente de Herbrand.
Deni c ao 1.3.30 Uma f ormula em forma normal prenexa conjuntiva tem a seguinte estrutura:
Q
1
x
1
, . . . Q
k
x
k
((L
11
. . . L
1m
1
) . . . (L
n1
. . . L
nmn
)) ,
onde cada Q
i
e um quanticador existencial ou universal e os L
ij
s s ao literais.
Deni c ao 1.3.31 Duas f ormulas V e W s ao logicamente equivalentes se (V W) e v alida.
Proposi c ao 1.3.32 Para cada f ormula W, existe uma f ormula logicamente equivalente em forma
normal prenexa conjuntiva.
Demonstra c ao. (Rascunho) A demonstra c ao e baseada em uma serie de transforma c oes aplic aveis
` as f ormulas que n ao trocam a sem antica da f ormula original.
F ormulas da forma F G podem ser transformadas em F G.
28 Captulo 1 Fundamentos da l ogica matem atica
F ormulas da forma F G em (F G) (F G).
A nega c ao de f ormulas compostas pode ser tratada pelas seguintes transforma c oes:

x
F em
x
F

x
F em
x
F
(F G) em F G
(F G) em F G
F em F
ate que cada nega c ao ocorra precedendo um atomo.
Os quanticadores dentro de f ormulas compostas podem ser transferidos ao incio das f ormulas
pelas seguintes transforma c oes:
Q
x
F G em Q
x
(F G)
G Q
x
F em Q
x
(G F)
Q
x
F G em Q
x
(F G)
G Q
x
F em Q
x
(G F)
onde G n ao depende da vari avel x.

x
F
x
G em
x
(F G)

x
F
x
G em
x
(F G)
No caso em que a vari avel quanticada ocorra fora do campo de abrangencia do quanticador
ser a necess ario trocar a vari avel por outra que n ao gere conitos.
Finalmente conectivos

s e

s podem ser distribudos obtendo formas conjuntivas como segue:


(F G) H em (F H) (G H)
H (F G) em (H F) (H G).
As transforma c oes mantem a sem antica da f ormula original, j a que as f ormulas em cada passo da
transforma c ao s ao logicamente equivalentes.
Exemplo 1.3.33 Considere a transforma c ao em forma normal prenexa conjuntiva da f ormula:
p(x) (
x
(r(z, x) p(x)))
p(x) (
x
(r(z, x) p(x)))
p(x) (
x
(r(z, x) p(x)))
p(x) (
x
(r(z, x) p(x)))

w
(p(x) (r(z, w) p(w))

w
((p(x) r(z, w)) (p(x) p(w)))

1.3 Interpretac oes e Modelos 29


Em aplica c oes reais (como e o caso de slowsort, onde temos dois tipos ou sortes de objetos:
inteiros e listas) o domnio de interpreta c ao de um programa l ogico deve incluir uma famlia de domnios
de diferentes tipos. Para estes casos as deni c oes de smbolos de fun c ao e de predicados devem indicar
o tipo de aridade e n ao uma aridade numerica como no caso de teorias com um unico tipo (i.e., as
estudadas ate o momento). Por exemplo o predicado delete do programa slowsort tem como argumentos
um objeto de tipo numerico e dois de tipo listas de objetos.
Teorias com diferentes tipos s ao denominadas teorias tipadas ou teorias poli-sortidas
de primeira-ordem. Tais teorias incluem um conjunto nito de tipos denotados por letras gregas. Cada
smbolo de vari avel, constante, fun c ao, predicado e quanticador e tipado. O tipo de uma vari avel ou
de uma constante e um elemento do conjunto de tipos. O tipo de um smbolo de predicado e uma
n-tupla de elementos do conjunto de tipos, denotado por
1
. . .
n
e os smbolos de fun c ao tem tipos
da forma
1
. . .
n
, onde e o tipo da fun c ao ou tipo do codominio da fun c ao e
1
. . .
n
o do seu domnio. Para cada tipo no conjunto de tipos existe um quanticador existencial e um
universal, respectivamente:

. Geralmente os subndices de tipo e deni c oes de tipo de vari aveis,


constantes, fun c oes e predicados s ao omitidos, sempre que, usualmente, se deduzem das f ormulas.
Apresentar-se- ao algumas deni c oes para teorias tipadas com o objetivo de ilustrar as considera c oes
necess arias.
Deni c ao 1.3.34 Um termo de tipo e denido indutivamente como segue:
a) Uma vari avel de tipo e um termo de tipo .
b) Uma constante de tipo e um termo de tipo .
c) Se f e uma fun c ao de tipo
1
. . .
n
e t
i
e um termo de tipo
i
, i = 1, . . . , n, ent ao
f(t
1
, . . . , t
n
) e um termo de tipo .
Deni c ao 1.3.35 Uma f ormula tipada (bem formada) e denida indutivamente como segue:
a) Se p e um predicado de tipo
1
. . .
n
e t
i
e um termo de tipo
i
, i = 1, . . . , n, ent ao p(t
1
, . . . , t
n
)
e uma f ormula tipada (at omica).
b) Se F e G s ao f ormulas tipadas, ent ao F, F G, F G, F G, F G s ao f ormulas tipadas.
c) Se F e uma f ormula tipada e x e uma vari avel de tipo , ent ao

x
F e

x
F s ao f ormulas tipadas.
Deni c ao 1.3.36 A linguagem de primeira-ordem tipada consiste do conjunto de todas as f ormulas
tipadas construdas com smbolos do alfabeto em quest ao.
30 Captulo 1 Fundamentos da l ogica matem atica
Deni c ao 1.3.37 Uma pre-interpreta c ao, , de uma linguagem de primeira-ordem tipada, L,
consiste de:
a) Para cada tipo em L, um conjunto n ao vazio D

chamado o domnio de tipo da pre-


interpreta c ao.
b) Para cada constante de tipo em L, uma designa c ao de um elemento em D

.
c) Para cada fun c ao em L de tipo
1
. . .
n
, uma designa c ao de uma fun c ao de D

1
. . .D
n
para D

.
Deni c ao 1.3.38 Uma interpreta c ao, 1, de uma linguagem de primeira-ordem tipada L consiste
de uma pre-interpreta c ao com domnio de tipo D

para cada no conjunto de tipos, com o seguinte:


para cada smbolo de predicado de tipo
1
. . .
n
em L, a designa c ao de uma fun c ao de
D

1
. . . D
n
no conjunto true, false ou equivalentemente uma rela c ao em D

1
. . . D
n
.
Diz-se que 1 e baseada na pre-interpreta c ao .
Outras deni c oes necess arias, como por exemplo designa c ao de vari aveis, de termos, valores de verdade,
consequencia l ogica, modelo, etc., podem ser construdas de maneira an aloga para teorias de primeira-
ordem tipadas.
Observa c ao: O uso de f ormulas tipadas e elegante e simplica o trabalho de especica c ao de
programas (correspondentemente, de axiomatiza c ao de teorias), mas n ao e essencial, j a que qualquer
teoria tipada pode ser transformada em uma teoria livre de tipos [Gal87]. Assim, todos os resultados
obtidos para teorias n ao tipadas s ao v alidos automaticamente para as teorias tipadas.
1.4 Skolemiza cao: rela cao entre a l ogica de primeira-ordem e a
clausal
O processo de skolemiza c ao e simplesmente a substitui c ao dos quanticadores existenciais nas sen-
ten cas por novas fun c oes testemunhas da existencia dos objetos das interpreta c oes do modelo origi-
nal. O nome Skolemniza c ao e devido ao inventor do processo, Skolem.
A ideia b asica do processo de Skolemniza c ao e conceber os quanticadores existenciais
como abrevia c oes da linguagem.
Exemplo 1.4.1 Considere a f ormula

y
(x +x = y)
1.4 Skolemizac ao: relac ao entre a l ogica de primeira-ordem e a clausal 31
O quanticador existencial pode-se considerar um mecanismo para abreviar os smbolos utilizados na
linguagem. Poderiamos tambem pensar em expressar a f ormula anterior como

x
f(x) = x +x
Neste caso, trata-se de denir a fun c ao f(x), a ser interpretada como o dobro de x (sempre que o
smbolo + seja interpretado como a adi c ao!).
Nesta se c ao a f ormula normal prenexa conjuntiva de uma senten ca F ser a denotada da
seguinte maneira:
F
fnpc
= Q
1
x
1
, . . . Q
k
x
k
(C
1
. . . C
n
) ,
onde os C
i
s sao disjun c oes de literais da forma (L
i1
. . . L
im
i
). Para maior simplicidade a matriz,
(C
1
. . . C
n
), da forma normal prenexa conjuntiva ser a denotada por M[x
1
, . . . , x
k
].
Deni c ao 1.4.2 A skolemiza c ao de uma senten ca em forma prenexa da forma
Q
1
x
1
, . . . Q
k
x
k
M[x
1
, . . . , x
k
]
e construda sequencialmente transformando a f ormula ate que todos os quanticadores existenciais
sejam eliminados da seguinte maneira:
Seja Q
j
x
j
o primeiro quanticador existencial da f ormula (da esquerda para a direita) e seja f
x
j
um novo smbolo de fun c ao (j 1)- ario. A f ormula se transforma na seguinte:
Q
1
x
1
, . . . , Q
j1
x
j1
, Q
j+1
x
j+1
, . . . , Q
k
x
k
M[x
1
, . . . , x
j1
, x
j
/f
x
j
(x
1
, . . . , x
j1
), x
j+1
, . . . , x
k
]
Observa c ao: note que a Skolemniza c ao de uma f ormula em forma normal prenexa conjuntiva e um
conjunto de cl ausulas
Nota c ao: Seja F uma senten ca. A skolemniza c ao de F
fnpc
e denotada por F
Sk

Teorema 1.4.3 Seja F uma senten ca da l ogica de primeira-ordem. F e inconsistente sse F
Sk
e
inconsistente.
Demonstra c ao. Pela proposi c ao 1.3.32 basta demonstrar que F
fnpc
e inconsistente sse F
Sk
o e.
Considerar-se- a um unico passo da transforma c ao e demonstrar-se- a que ap os um passo a f ormula
resultante e inconsistente sse F
fnpc
o e.
32 Captulo 1 Fundamentos da l ogica matem atica
Seja F
fnpc
= Q
1
x
1
, . . . Q
k
x
k
M[x
1
, . . . , x
k
] a forma normal prenexa conjuntiva de F e seja
F
Sk
1
= Q
1
x
1
, . . . , Q
j1
x
j1
, Q
j+1
x
j+1
, . . . , Q
k
x
k
M[x
1
, . . . , x
j1
, x
j
/f
x
j
(x
1
, . . . , x
j1
), x
j+1
, . . . , x
k
]
a f ormula resultante do primeiro passo da Skolemniza c ao.
Suponha que F e inconsistente. Se F
Sk
1
e consistente ent ao existe uma interpreta c ao 1
modelo de F
Sk
1
. A interpreta c ao 1 designa para o smbolo f
x
j
uma fun c ao f
I
(j 1)- aria tal que para
toda (j 1)-tupla no domnio D de 1, d
1
, . . . , d
j1
existe um elemento em D, que e f
I
(d
1
, . . . , d
j1
),
tal que
Q
j+1
x
j+1
, . . . , Q
k
x
k
M[x
1
/d
1
, . . . , x
j1
/d
j1
, x
j
/f
I
(d
1
, . . . , d
j1
), x
j+1
, . . . , x
k
]
e verdadeira em 1. Consequentemente F
fnpc
e verdadeira em 1 o que contradiz a suposi c ao inicial.
Suponha agora que F
Sk
1
e inconsistente. Se F e consistente, ent ao existe um modelo 1
de F
fnpc
. A interpreta c ao 1 pode-se estender de maneira tal que inclui uma fun c ao f que aplica cada
(j 1)-tupla d
1
, . . . , d
j1
do domnio D da interpreta c ao 1 a um elemento d de D tal que a f ormula
Q
j+1
x
j+1
, . . . , Q
k
x
k
M[x
1
/d
1
, . . . , x
j1
/d
j1
, x
j
/d, x
j+1
, . . . , x
k
]
e verdadeira em 1 ou identicamente a f ormula
Q
j+1
x
j+1
, . . . , Q
k
x
k
M[x
1
/d
1
, . . . , x
j1
/d
j1
, x
j
/f(d
1
, . . . , d
j1
), x
j+1
, . . . , x
k
]
e verdadeira em 1

. Ao denir f desta maneira temos que a f ormula F


Sk
1
e verdadeira em 1

o que
contradiz a suposi c ao inicial.
Observa c ao: N ao se pode falar de equivalencia entre a l ogica de primeira-ordem e a clausal; o
que se e certo e que o processo de Skolemniza c ao (das formas normais conjuntivas) de uma senten ca
da l ogica de primeira-ordem que seja inconsistente ger a uma f ormula clausal que deve ser tambem
inconsistente (e vice versa). Assim, se o problema e testar a inconsistencia de senten cas da l ogica de
primeira-ordem, basta tratar o problema na l ogica clausal.
Exemplo 1.4.4 Para demonstrar que uma senten ca F n ao e necessariamente equivalente a sua Skol-
emniza c ao F
Sk
considere a f ormula
x
p(x) e sua Skolemniza c ao p(a). Seja 1 a interpreta c ao sobre o
domnio D = 0, 1 que designa para a o elemento 0, para p(0) false e para p(1) true. Claramente a
f ormula e verdadeira em 1, mas sua Skolemniza c ao n ao.
1.5 Resoluc ao no c alculo proposicional 33
1.5 Resolu cao no calculo proposicional
Neste ponto da discus ao e possvel ilustrar o uso do princpio de resolu c ao com exemplos do c alculo ou
l ogica proposicional; i.e., teorias axiomatizadas com a linguagem da l ogica de primeira ordem usando
unicamente smbolos de predicado zero- arios.
Exemplo 1.5.1 Sejam p, q, r smbolos proposicionais. Deseja-se provar que p q r e consequencia
l ogica de S = p (r p), r, r p q. Basta ent ao demonstrar a inconsistencia do conjunto
(p q r) p (r p), r, r p q
Observe que como r e verdadeiro e igualmente p o e, j a que p (r p) o e, ent ao q e
tambem verdadeiro, j a que r p q q r, p o e. Consequentemente, (p q r) e falsa em
qualquer modelo de S.
A resolu c ao no c alculo proposicional aplica-se para cl ausulas gerais; i.e., disjun c oes de
smbolos proposicionais e/ou suas nega c oes. A operacionaliza c ao do princpio de resolu c ao no c alculo
proposicional basea-se na aplica c ao de duas regras de inferencia denominadas regra de corte e regra
de simplica c ao sobre cl ausulas (gerais).
Deni c ao 1.5.2 (Regra de corte) Sejam p l
1
. . . l
n
e p l

1
. . . l

m
duas cl ausulas proposi-
cionais. Ent ao a cl ausula l
1
. . . l
n
l

1
. . . l

m
e inferida das duas anteriores pela regra de
corte.
Deni c ao 1.5.3 (Regra de simplica c ao) Seja ppl
1
. . .l
n
uma cl ausula proposicional. Ent ao
a cl ausula p l
1
. . . l
n
e inferida da anterior pela regra de simplica c ao. Igualmente p l
1
. . . l
n
infere-se de p p l
1
. . . l
n
pela regra de simplica c ao.
A nota c ao usual para representar as regras de inferencia de corte e simplica c ao e a
seguinte:
Dp, Cp
DC
onde D e C s ao cl ausulas gerais Regra de corte
Dpp
Dp
onde D e cl ausula geral Regra de simplica c ao
Dpp
Dp
onde D e cl ausula geral Regra de simplica c ao
Uma prova refutacional pelo metodo de resolu c ao no c alculo proposicional consiste, ent ao,
de uma sequencia de aplica c oes das anteriores regras de inferencia ate atingir a cl ausula vazia.
34 Captulo 1 Fundamentos da l ogica matem atica
Observe que a regra de corte D C se infere de D p e C p pode-se assimilar
equivalentemente da seguinte maneira: D, C infere-se aplicando a regra p D ao objetivo
p, C.
Exemplo 1.5.4 (Continua c ao do exemplo 1.5.1) Observe primeiro que o conjunto p(rp), r, r
pq de f ormulas proposicionais se pode transformar no seguinte conjunto equivalente de cl ausulas de
programa P = p, p r, r, q r, p. Para refutar com este programa o objetivo (pq r)
p, q, r, aplicam-se as regras de corte e simplica c ao para o conjunto equivalente de cl ausulas gerais
obtido construndo as correspondentes formas normais conjuntivas das cl ausulas:
p q r, p, r p, r, r p q
Assim, aplicando a regra de corte, de p q r e p obtem-se q r;
aplicando a regra de corte, de q r e r p q obtem-se r r p;
aplicando a regra de simplica c ao, obtem-se r p;
aplicando a regra de corte, do anterior e r obtem-se p;
aplicando a regra de corte, de p e p obtem-se nalmente a cl ausula vazia, , completando a prova.
Observe que existem outras possveis provas mais simples.
Observa c ao: As provas pelo metodo de resolu c ao podem ser ilustradas como arvores (invertidas),
onde cada vertice corresponde a uma cl ausula, as folhas est ao marcadas com cl ausulas do conjunto
original e os antecesores de uma cl ausula correspondem ` as premissas utilizadas na sua inferencia seja
por regra de corte (dois antecesores) ou por simplica c ao (um antecesor). Uma representa c ao de uma
refuta c ao tem raiz correspondente ` a cl ausula vazia.
Exemplo 1.5.5 (Continua c ao do exemplo 1.5.4) A prova pode ser apresentada na estrutura de arvore
de inferencias como na gura 1.1.
Para outras possveis provas a estrutura da arvore de inferencia mudar a.
O metodo de resolu c ao no c alculo proposicional e correto no sentido de que qualquer
cl ausula C que se deduz aplicando regras de corte e simplica c ao a partir de um conjunto S de
cl ausulas proposicionais e uma consequencia l ogica de S.
Corre c ao e completude, termos previamente utilizados sem explica c ao, s ao no c oes b asicas
da l ogica formal. Dada uma teoria, possivelmente apresentada com axiomas l ogicos, diz-se que um
metodo de dedu c ao e correto, quando a aplica c ao do dito metodo permite demonstrar unicamente
consequencias l ogicas da teoria. Diz-se que um metodo dedutivo e completo, quando, alem de ser
1.5 Resoluc ao no c alculo proposicional 35
r
r p r p q
r r p
r p
p p q r
q r
p

Figura 1.1:

Arvore de uma refuta c ao por resolu c ao
correto, todas as consequencias l ogicas da teoria podem ser demonstradas com a sua aplica c ao. Os
seguintes lemas expressam a corre c ao e uma vers ao restrita da completude do metodo de resolu c ao no
c alculo proposicional.
Lema 1.5.6 (Corre c ao da resolu c ao proposicional) O metodo de resolu c ao no c alculo proposi-
cional e correto.
Demonstra c ao. Basta provar que cada uma das regras de inferencia e correta. Obviamente, qualquer
modelo de p p D e modelo de p D e igulamente para p p D e p D. Por outra parte
qualquer modelo de D p e C p e modelo de D C, j a que n ao e possvel que tanto p como p
sejam ambos verdadeiros no modelo.
O outro sentido do lema, a completude da resolu c ao proposicional, n ao e verdadeiro quando
a resolu c ao e utilizada diretamente. Veja exerccio 1.11.
36 Captulo 1 Fundamentos da l ogica matem atica
Lema 1.5.7 (Completude refutacional da resolu c ao proposicional) O metodo de resolu c ao no
c alculo proposicional e refutacionalmente completo; i.e., um conjunto de cl ausulas proposicionais S e
instatisfatvel sse a cl ausula vazia pode ser deduzida de S pela aplica c ao das regras de corte e simpli-
ca c ao.
Demonstra c ao. (Ideia) Pela corre c ao temos que se se deduz de S ent ao S e inconsistente. No
outro sentido demonstre primeiro que se S e inconsistente e o conjunto de smbolos proposicionais que
ocorrem nas cl ausulas de S e p
1
, . . . , p
n
ent ao e possvel obter de S por resolu c ao um conjunto de
cl ausulas S

tal que unicamente os smbolos proposicionais p


1
, . . . , p
n1
ocorrem em S

. A demon-
stra c ao segue ent ao por indu c ao no n umero de smbolos proposicionais que ocorrem em S. Os detalhes
s ao deixados como exerccio 1.12.
Observe que qualquer f ormula v alida F do c alculo proposicional pode ser demonstrada
indiretamente utilizando resolu c ao: basta computar a forma normal conjuntiva de F, que e um con-
junto de cl ausulas inconsistente. Assim, utilizando o lemma de completude refutacional este conjunto
de cl ausulas dever a ter uma dedu c ao da cl ausula vazia via resolu c ao.
Exerccios do Captulo 1 37
Exerccios do Captulo 1
Exerccio 1.1 Considere a interpreta c ao 1 com domnio N e as seguintes designa c oes:
para o smbolo de fun c ao un aria s corresponde a fun c ao sucessor (x x + 1);
para o smbolo de constante a corresponde 0;
para o smbolo de constante b corresponde 1;
para o smbolo de predicado bin ario p corresponde a rela c ao (x, y) [ x > y;
para o smbolo de predicado un ario q corresponde a rela c ao x [ x > 0;
para o smbolo de predicado bin ario r corresponde a rela c ao (x, y) [ x divide y.
q Determine o valor de verdade das seguintes senten cas:
a.
x

y
p(x, y),
b.
x

y
p(x, y),
c. p(s(a), b),
d.
q
x(q(x) p(x, a)),
e.
x
p(s(x), x),
f.
x

y
(r(x, y) p(x, y)),
g.
x
(
y
p(x, y) r(s(b), s(x)) q(x)).
Exerccio 1.2 Detemine se as seguintes f ormulas s ao ou n ao v alidas:
a.
x

y
p(x, y)
y

x
p(x, y),
b.
y

x
p(x, y)
x

y
p(x, y).
Exerccio 1.3 Considere a f ormula:
(
x
p(x, x)
x

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

y
(p(x, y) p(y, x)))
y

x
p(y, x)
Demonstre que cada interpreta c ao com um domnio nito e um modelo da f ormula.
38 Captulo 1 Fundamentos da l ogica matem atica
Encontre uma interpreta c ao que n ao seja modelo da f ormula.
Exerccio 1.4 Seja F uma senten ca. Demonstre que existe uma f ormula G que e uma conjun c ao de
cl ausulas que satisfaz o seguinte: G e inconsistente sse F e inconsistente.
Exerccio 1.5 Usando a l ogica de primeira ordem simbolizar as seguintes express oes:
a. Jo ao vota unicamente em polticos honestos.
b. Alguns polticos n ao votam neles mesmos.
c. Um poltico n ao e necessariamente honesto porque todos votam nele.
d. O barbeiro barbeia a todos aqueles que n ao se barbeiam.
e. Jo ao pode enganar a alguma gente todos os dias e pode enganar toda a gente alguns dias, mas
n ao pode enganar a todos todos os dias. (Use um smbolo de predicado 3- ario).
Exerccio 1.6 Suponha p(x, y) e interpretado como x e pai de y e m(x, y) como x e m ae de y. c e
d s ao constantes interpretadas como Jo ao e Pedro, respectivamente. Identique as rela c oes familiares
expressadas nas seguintes f ormulas:
a.
x

y
(m(x, c) m(x, d) p(y, c) p(y, d)),
b.
x

z
(p(x, y) p(x, z) m(y, c) p(z, d)),
c.
x
(p(c, x) m(x, d)),
d.
x
(p(c, x) p(x, d)),
e. p(c, d)
x
(p(c, x) x = d).
S ao v alidas as seguintes f ormulas:

x

y
(m(x, y)
z
(m(z, x) z = y)),

x
p(x, x).
Lembre-se que a no c ao de validade independe de uma interpreta c ao especca.
Exerccio 1.7

E possvel obter senten cas verdadeiras em Q, <) e falsas em R, <) ou vice versa?
Q, <) e R, <) denotam respectivamente os racionais e reais com a rela c ao menor.
Exerccios do Captulo 1 39
Exerccio 1.8 Escreva uma senten ca que n ao tenha modelos nitos (i.e., interpreta c oes com domnio
nito).
Exerccio 1.9 Escreva uma senten ca diferente da apresentada no exerccio 1.3 que seja igualmente
verdadeira em qualquer modelo nito, mas falsa em alguma interpreta c ao innita.
Exerccio 1.10 Converta as seguintes f ormulas ` a forma normal prenexa conjuntiva:
a.
x
p(x)
x
q(x),
b.
x
r(x, y)
x
q(x, x),
c.
x
(
y
r(x, y)
y

w
s(y, w, x)),
d.
y

x
r(y, x)
w

y
r(w, y),
e.
x
(2 < x
y

z
(y z = x (y = x y = 1))
y
((y +y) + 1 = x)).
todo primo maior que 2 e mpar.
Exerccio 1.11 Demonstre a incompletude do metodo de resolu c ao no c alculo proposicional. Basta
encontrar duas cl ausulas C, D tais que C D seja v alida, mas seja impossvel deduzir diretamente D
de C pelas regras de corte e simplica c ao. Observe que indiretamente e possvel sempre demonstrar
qualquer f ormula proposicional v alida.
Exerccio 1.12 Complete a prova da completude da resolu c ao no c alculo proposicional, lema 1.5.7.
Exerccio 1.13 Demonstre usando o metodo de resolu c ao no c alculo proposicional que as seguintes
f ormulas s ao consequencias l ogicas dos conjuntos de f ormulas correspondentes
a. p (q r), (p q) r, r p;
b. r s, p (q r), (q p) s;
c. q t, p (q r), q s, (p u) s, r (p t).

Potrebbero piacerti anche