Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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)
>
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
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
(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)), . . .
,
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
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
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
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
.
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
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
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
. 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).