Você está na página 1de 26

Lgica de Primeira Ordem

1. Sintaxe

Introduo

A linguagem da lgica proposicional no adequada para representar relaes entre


objetos. Por exemplo, se fssemos usar uma linguagem proposicional para representar
"Joo pai de Maria e Jos pai de Joo" usaramos duas letras sentenciais diferentes
para expressar idias semelhantes (por exemplo, P para simbolizar "Joo pai de Maria
"e Q para simbolizar "Jos pai de Joo" ) e no estaramos captando com esta
representao o fato de que as duas frases falam sobre a mesma relao de parentesco
entre Joo e Maria e entre Jos e Joo. Outro exemplo do limite do poder de expresso da
linguagem proposicional, sua incapacidade de representar instncias de um propriedade
geral. Por exemplo, se quisssemos representar em linguagem proposicional "Qualquer
objeto igual a si mesmo " e "3 igual a 3", usaramos letras sentenciais distintas para
representar cada uma das frases, sem captar que a segunda frase uma instncia
particular da primeira. Da mesma forma, se por algum processo de deduo chegssemos
concluso que um indivduo arbitrrio de um universo tem uma certa propriedade, seria
razovel querermos concluir que esta propriedade vale para qualquer indivduo do
universo. Porm, usando uma linguagem proposicional para expressar "um indivduo
arbitrrio de um universo tem uma certa propriedade " e "esta propriedade vale para
qualquer indivduo do universo" usaramos dois smbolos proposicionais distintos e no
teramos como concluir o segundo do primeiro.
A linguagem de primeira ordem vai captar relaes entre indivduos de um mesmo
universo de discurso e a lgica de primeira ordem vai permitir concluir particularizaes
de uma propriedade geral dos indivduos de um universo de discurso, assim como derivar
generalizaes a partir de fatos que valem para um indivduo arbitrrio do universo de
discurso. Para ter tal poder de expresso, a linguagem de primeira ordem vai usar um
arsenal de smbolos mais sofisticado do que o da linguagem proposicional.
Considere a sentena "Todo objeto igual a si mesmo ".
Esta sentena fala de uma propriedade (a de ser igual a si mesmo) que vale para todos os
indivduos de um universo de discurso, sem identificar os objetos deste universo.
Considere agora a sentena "Existem nmeros naturais que so pares".
Esta sentena fala de um propriedade (a de ser par) que vale para alguns (pelo menos um
dos) indivduos do universo dos nmeros naturais, sem, no entanto, falar no nmero" 0"
ou "2" ou "4",etc em particular.
Para expressar propriedades gerais (que valem para todos os indivduos) ou existenciais
(que valem para alguns indivduos) de um universo so utilizados os quantificadores
(universal) e (existencial), respectivamente. Estes quantificadores viro sempre
seguidos de um smbolo de varivel, captando, desta forma, a idia de estarem
simbolizando as palavras "para qualquer" e "para algum".
Considere as sentenas:
- "Scrates homem"
- "Todo aluno do departamento de Cincia da Computao estuda lgica"

1
A primeira frase fala de uma propriedade (ser homem) de um indivduo distinguido
("Scrates") de um domnio de discurso. A segunda frase fala sobre objetos distiguidos
"departamento de Cincia da Computao" e "lgica". Tais objetos podero ser
representados usando os smbolos , soc para "Scrates", cc para "departamento de
Cincia da Computao", lg para "lgica".Tais smbolos so chamados de smbolos de
constantes.
As propriedades "ser aluno de ", "estuda" relacionam objetos do universo de discurso
considerado, isto , "ser aluno de " relaciona os indivduos de uma universidade com os
seus departamentos, "estuda" relaciona os indivduos de uma universidade com as
matrias. Para representar tais relaes sero usados smbolos de predicados (ou
relaes). Nos exemplos citados podemos usar Estuda e Aluno que so smbolos de
relao binria. As relaes unrias expressam propriedades dos indivduos do universo
( por exemplo "ser par","ser homem"). A relao "ser igual a" tratata de forma especial,
sendo representada pelo smbolo de igualdade .
Desta forma podemos simbolizar as sentenas consideradas nos exemplos da seguinte
forma:
- "Todo mundo igual a si mesmo " por x xx;
- "Existem nmeros naturais que so pares" por xPar(x);
- "Scrates homem" por Homem(soc);
- "Todo aluno do departamento de Cincia da Computao estuda lgica"
porx(Aluno(x,cc) Estuda (x,lg)).

J vimos como representar objetos do domnio atravs de constantes.Uma outra maneira


de represent-los atravez do uso de smbolos de funo.
Por exemplo podemos representar os nmeros naturais "1", "2", "3", etc atravs do uso de
smbolo de funo, digamos, suc, que vai gerar nomes para os nmeros naturais "1", "2",
"3", etc. a partir da constante 0, e. g., "1" vai ser denotado por suc(0), "3" vai ser
denotado por suc(suc(suc(0))), etc. Seqncias de smbolos tais como suc(0) e
suc(suc(suc(0))) so chamadas termos.
Assim, a frase "Todo nmero natural diferente de zero sucessor de um nmero natural"
pode ser simbolizada por x(x0 ysuc(y)x).

Definies

Os smbolos de funo e de predicado tem aridades que dependem de quantos so seus


argumentos. Uma maneira simples de indicar a aridade de um smbolo de funo f ou de
um smbolo de predicado P usar um smbolo de tipo s e indicar que f n-ria por f:
sns e que P n-rio por P: sn. Note que um elemento distinguido u de um universo pode
ser considerado como uma funo de aridade zero, assim, os smbolos de constante
podem ser declarados, usando a notao acima, como c: s0s. Desta forma temos suc:
s1s ou mais simplesmente, suc: ss, Par: s, Aluno: s2 e 0: s0s.
Os smbolos de constantes, funes e predicados so chamados de smbolos no lgicos
de uma linguagem de primeira ordem.
O elenco dos smbolos no lgicos de uma linguagem de primeira ordem , junto com suas
respectivas aridades chamado de assinatura.

2
Daremos a seguir as definies dos conceitos discutidos acima.

Def Sin1
Uma assinatura de uma linguagem de primeira ordem (mono sortida)1 consiste de um
conjunto de seqencias cujos elementos so da forma
f: sns, com n0 e/ou da forma P: sn , com n>0.
Dada uma assinatura a linguagem de primeira ordem com assinatura , L(), tem
como alfabeto:
- conectivos proposicionais:
(~) negao, (&) conjuno, disjuno, dupla implicao e () implicao.
- quantificadores:
quantificador universal e quantificador existencial
- smbolo de igualdade (opcional):
- smbolos de variveis: um conjunto contvel infinito, VAR
- smbolos de predicados de :
o conjunto consistindo do primeiro elemento de cada um das seqncias da forma P: sn
que ocorrem em . Para cada n, se P: sn ocorre em P chamado de smbolo de
predicado n-rio.
- smbolos de funo de :
o conjunto consistindo do primeiro elemento de cada uma das seqncias da forma f:
sns que ocorrem em . Para cada n, se f: sns ocorre em f chamado de smbolo de
predicado n-rio. Os smbolos de funo 0-ria so chamados de smbolos de constantes.
- smbolos de pontuao: "(", ")", "[", "]", "{", "}".
Por conveno usaremos letras maisculas ou palavras da lngua portuguesa inicializadas
com letras maisculas para representar smbolos de predicados
e usaremos letras minsculas ou palavras da lngua portuguesa inicializadas com letras
minsculas para representar smbolos de funo e de variveis.
Como foi mencionado anteriomente, os smbolos de predicados pretendem representar
relaes entre objetos de um mesmo universo de discurso.
A definio de conjunto de frmulas bem formadas de um linguagem de primeira ordem
L() faz uso do conceito de termos. Os termos pretendem nomear os objetos do universo
de discurso.

Definio Sin2
Dada um assinatura , consideremos o conjunto U das seqncias finitas formadas pelos
smbolos de VAR, smbolos de pontuao e os smbolos de funo de . Para cada
smbolo de funo n-rio (n > 0) f, defina Ff : Un U por Ff(e1, ..., en) = f(e1, ..., en).

Definio Sin3 (termos de uma linguagem de primeira ordem)


Dada um assinatura , o conjunto de termos de L(, TERM(, o conjunto (livremente)
gerado a partir de VAR pelas funes geradoras F = { Ff / f smbolo de funo n-ria de
, n > 0}, i.e. o conjunto TERM( de termos o menor conjunto de U tal que:
- todo smbolo de varivel pertence a TERM(;
1
A verso polisortida dos conceitos desta seco sero tratados separadamente.

3
- todo smbolo de constante pertence a TERM(;
- se t1, t2, ..., tn esto em TERM( e f um smbolo de funo n-rio de , ento f(t1,
t2, ..., tn) est em TERM(.

Como TERM( um conjunto indutivo, vale o princpio de induo em TERM(, a


saber:
Princpio de induo para termos
Seja A uma propriedade que diz a respeito a termos.
Se
- cada smbolo de varivel e cada smbolo de constante tem a propriedade A
e
- se t1, t2, ..., tn tem a propriedade A implica que f(t1, t2, ..., tn) tem a propriedade A , para t1,
t2, ..., tn TERM( e f smbolo de funo n-ria,
ento
todos os termos em TERM( tm a propriedade A.

Exemplo Sin1
Vamos mostrar que todo termo tem o mesmo nmero de abre parnteses "("e de fecha
parnteses ")" usando o princpio da induo em TERM.
Usaremos a notao na() e nf() para o nmero de abre e fecha parnteses de uma
expresso ,respectivamente.
Seja S= {TERM/ na()=nf()}
Vamos mostrar que S um conjunto indutivo, i.e.:
i) VARS
claro que na(x)=0=nf(x), para xVAR.
ii) Se c smbolo de constante na(c)=0=nf(c). Logo cS

iii) Se t1, t2, ..., tnS e f smbolo de funo n-rio, ento

na(f(t1, t2, ..., tn))=na(t1)++na(tn)

Por hiptese de induo temos que na(t1)= nf(t1)na(tn)= nf(tn)

Logo na(f(t1, t2, ..., tn))=na(t1)++na(tn)= nf(t1)++nf(tn)=nf(f(t1, t2, ..., tn))).


Portanto f(t1, t2, ..., tn)S.

Definio Sin4 (frmula atmica)


Dada uma assinatura , o conjunto das frmulas atmicas de L(, FORMAT(), o
conjunto das expresses da forma:
- t1 t2 , para t1 e t2 TERM(se L(tem ;
- P(t1, t2, ..., tn), onde P smbolo de predicado n-rio de e t1, t2, ..., tn TERM(.
As frmulas atmicas pretendem expressar as mais simples relaes sobre os objetos do
universo de discursso.

4
Definio Sin5
Dada uma assinatura , seja W o conjunto das seqncias finitas de smbolos do alfabeto
de L() e de TERM().
Para x VAR, defina fx: W W por fx() = (x) e fx: W W por fx() =
(x)

Definio Sin6 (frmulas de uma linguagem de primeira ordem)


Dada um assinatura , o conjunto das frmulas de L() , FORM(), o conjunto
(livremente) gerado a partir de FORMAT() pela aplicao dos geradores: f, f , f , f , f
, e fx, fx, para cada x VAR.

i.e.: FORM() o menor conjunto de expresses de W tal que:


1) Se t1 e t2 TERM(), ento t1 t2 FORM();
2) P(t1, t2, ..., tn) FORM(), onde P smbolo de predicado n-rio P e t1, t2, ..., tn
TERM();
3) Se FORM(), ento () FORM();
4) Se e FORM(), ento ( ), ( ), ( ) e ( ) FORM();
5) Se FORM() e x VAR, ento (x) e (x) FORM().
Dada uma assinatura , a linguagem de primeira ordem com assinatura L(), o
conjunto das frmulas bem formadas, FORM().
Em geral uma linguagem de primeira ordem L() apresentada por sua assinatura e pela
indicao se nela ocorre ou no o smbolo de igualdade .
Deixaremos de mencionar a assinatura , quando esta estiver subentendida.

Para cada frmula existe uma rvore cuja raiz a frmula e as folhas so as frmulas
atmicas que ocorrem na frmula. Em cada nvel, os ns da rvore desse nvel so as
subfrmulas que formam a frmula do nvel anterior pela aplicao de uma das regras
( 1-5 ) da definio de FORM.

Exemplo Sin2
(x((A(x) (yB(x, y))) (y((C(y)) (z(A(z, y) C(z, y)))))))

((A(x) (yB(x, y))) (y((C(y)) (z(A(z, y) C(z, y))))))

(A(x) (yB(x, y))) (y((C(y)) (z(A(z, y) C(z, y)))))

A(x) (yB(x, y)) ((C(y)) (z(A(z, y) C(z, y))))

(z(A(z, y) C(z, y)))


B(x, y) (C(y))

5
(A(z, y) C(z, y))

A(z, y) C(z, y)

Como FORM um conjunto indutivo, vale o princpio da induo em FORM, a saber:


Princpio de induo para frmulas
Seja A uma propriedade que diz respeito a frmulas.
Se
- cada frmula atmica tem a propriedade A e
- se 1 e 2 tm a propriedade A, ento (1*2) tem a propriedade A, para * {, , ,
} e
- se tem a propriedade A, ento () tem a propriedade A e
- se tem a propriedade A, ento (x) e (x) tm a propriedade A,
ento,
todas as frmulas em FORM tm a propriedade A.

Conveno para uso do parnteses:


- as mesmas convenes usadas para os conectivos sentenciais;
- os quantificadores x e x ligam mais que os outros conectivos;
- omitir os parnteses mais externos das frmulas.

Daremos a seguir alguns conceitos de manipulao sinttica de termos e de frmulas.


Estaremos tratanto primeiramente de termos que so obtidos a partir de outros termos
pela substituio de variveis que ocorrem nos termos.
Considere os termos f(x), f(c) e f(f(x)). Note que f(c) pode ser visto como o termo f(x)
quando escrevemos c no lugar de x, assim como f(f(x)) pode ser considerado como uma
reescrita do termo f(x) quando escrevemos f(x) no lugar de x. Em termos intuitivos, f(x)
denota um objeto do universo de discurso que depende do objeto denotado por x. Esta
mesma relao de dependncia vai ser observada entre o objeto denotado por f(c) e o
denotado por c, assim como entre os objetos denotados por f(f(x)) e por f(x).
Considere agora os termos f(x,y), g(x) e f(x,g(x)). Note que f(x,g(x))) pode ser visto
como o termo f(x,y) quando escrevemos g(x) no lugar de y.
Assim temos o conceito de aplicar substituio de variveis por termos em termos.

Definio Sin7 (substituio simples)


Para uma varivel xVAR e um termo tTEM(), a expresso x/t chamada de
substituio simples (de x por t).

Agora considere os termos f(x,y), g(x) e f(g(x),x). Note que f(g(x),x)) pode ser visto
como o termo f(x,y) quando substituimos simultaneamente g(x) por x e x por y.
Este um exemplo de aplicao simultnea de duas aplicaes simples, a saber, x:=g(x) e
y:=x.

Definio Sin8 (substituio)

6
Uma substituio um conjunto finito de substituies simples ={x1:=t1,x2:=t2xn:=tn}
tal que xixj para ij.
Uma substituio ={x1:=y1,x2:=y2xn:=yn} chamada de renomeao de variveis.
A aplicao da substituio = {x1:=t1, ..., xn:=tn} a um termo , denotada por , o
termo resultante da aplicao simultnea das substituies xi:=ti de em
Mais formalmente, temos uma definio recursiva da aplicao da substituio de
variveis em termos, i.e. vamos definir recursivamente.

Definio Sin9 (substituio de variveis em termos)


Dada uma substituio , vamos definir o termo para cada termo
1- para =x
= t, se x:=t
= x, caso contrrio
2- para =c
= c
3- para = f(t1, ..., xn:=tn)
= f(t1, ...,tn).

Agora considere os termos f(x,y), g(x) e f(g(y),y). Note que f(g(y),y)) pode ser visto
como o termo f(x,y) quando substituimos x por g(y), que por sua vez o resultado da
substituio de x por y em g(x).
Este um exemplo de aplicao de duas substituies, uma aps a outra (substituio de
x por y em g(x) e de x pelo termo resultante em f(x,y)).

Definio Sin10 (composio de substittuies)


Sejam ={x1:=t1,x2:=t2xn:=tn} e ={v1:=1,v2:=2vm:=m} substituies.
A composio de substituies e a substituio
o ={x1:=t1, x2:=t2 xn:=tn}{vi:=i/ vi no ocorre em nenhuma substituio de
}, i.e, o a substituio obtida aplicando-se aos segundos termos das substituies
simples de e acrescentando-se o conjunto de substituies simples de cujos primeiros
elementos no so primeiros elementos de .

Exemplo Sin3
Sejam = {x:=y, z:=x} e = {y:=f(x), x:=v, v:=y}.
o = {x:=f(x), z:=v, y:=f(x), v:=y}

Agora vamos tratar de substituies de variveis por termos em frmulas. A substituio


de variveis em frmulas se d nas ocorrncias das variveis que no so governadas por
quantificadores. Inicialmente daremos algumas definies sobre o papel das variveis nas
frmulas.

7
Definio Sin11 (ocorrncia de variveis livres e ligadas)
Uma ocorrncia da varivel v na frmula F ligada quando est dentro do escopo de
algum quantificador Q v ( v ou v). Isso ilustrado na figura abaixo.
F : __ Qv__v__) __
Figura CQ.DN.1.1: Ocorrncia ligadada da varivel v na frmula F
As ocorrncias livres da varivel v na frmula F so os que no so ligadas nem da forma
Q v ( v ou v)2.
Como exemplo, considere a frmula P(v)v [R(w,v)S(v,w)].
- As duas ocorrncias da varivel w (em R(w,v) e em S(v,w)) so livres.
- J a varivel u tm ocorrncias livres (em P(v)) e ligadas (em R(u,v) e em S(v,u)).
Exerccio ExSin4
Dados smbolos de predicados P e Q (unrios), R e S (binrios) e T (ternrio), smbolos
de operaes f (unrio), g (binrio) e h (ternrio); smbolos de constantes c e d, considere
as frmulas abaixo.
F1: u [(w R(u,g(v,w)))S(w,h(u,v,w))]; F2: v [R(u,v)u S(u,v)];
F3: v [u R(u,f(v))S(w,g(u,c))]; F4: P(u)v [S(u,v)S(v,v)];
F5: P(u)v [S(u,v)S(v,v)]; F6: v [(u T(u,v,w)(S(u,w)Q(v))];
F7: u [P(u)w (T(u,v,w)T(v,u,v))]; F8: u T(g(v,u),v,h(f(u),c,w));
F9: u [P(u)P(f(u))]; F10: P(c)u [P(u)P(h(f(v),g(v,c),d))];
F11: P(c)v [P(v)P(f(v))]P(u); F12: P(u)[v R(u,v)w S(u,w)];
F13: v u R(h(u,c,d),f(v)); F14: u v [w T(u,v,w)(R(u,v)S(v,u));
F15: v S(w,g(u,c))]; F16: u v [w T(u,v,w)(R(u,v)S(v,u));
F17: u v [w (P(f(u))T(u,h(c,v,w),w)Q(g(d,w)))(R(f(u),v)S(f(v),u)).
a) Identifique as ocorrncias ligadas e livres de variveis em cada frmula.
b) Quais frmulas tm ocorrncias ligadas e livres de uma mesma varivel?

Definio Sin12 (variveis livres e ligadas)


As variveis livres na frmula F so as que tm ocorrncias livres em F.O conjunto de
tais variveis ser denotado por VL[F].
As variveis livres em um conjunto de frmulas so as livres em alguma frmula F de
, formando o conjunto VL[] = F VL[F].

Uma sentena uma frmula F sem ocorrncias livres de variveis, i.e., VL[F] = .
Exerccio ExSin5
Considere as frmulas do exerccio ExSin4 acima.
a) Quais dessas frmulas so sentenas?
b) Determine o conjunto de variveis livres em cada conjunto de frmulas:
(i) { F1, F2 }; (ii) { F3, F4};

2
Uma ocorrncia da varivel v combinada a um quantificador (da forma Q v) costuma ser chamada de
ligada ou ento recebe um nome especial, como ligante.

8
(iii) { F5, F6 , F10 }; (iv) { F11, F12 , F15 }.
CQ.DN.1.B Substituio de varivel por termo
Substituindo todas as ocorrncias livres de uma varivel v em uma frmula F por um
termo t, obtemos uma frmula, denotada F [v:=t]. Freqentemente simplificamos essa
notao, usando F(v) para a frmula original e F(t) para o resultado da substituio.

F(v) : __ v __ v __
} }
F(t) : __ t __ t __

Figura CQ.DN.1.2: Substituio da varivel v por termo t na frmula F


Como exemplo, considere como F(u,w) a frmula P(u)v[R(w,v)S(v,w)].
- Substituindo u pelo termo h(v), temos F(h(v),w)= P(h(v))v[R(w,v)S(v,w)].
- Substituindo w pelo termo h(v), temos F(u,h(v))= P(u)v[R(h(v),v)S(v,h(v))].
Exerccio ExSin6
Considere as frmulas do exerccio ExSin4 acima.
a) Determine o resultado de cada substituio abaixo (de varivel por termo em frmula):
(i) F1 [v:=f(v)]; (ii) F3 [w:=g(u,f(c))];
(iii) F4 [u:=h(c,u,d)]; (iv) F10 [v:=g(v,f(d))];
(v) F7 [v:=h(c,v,d)]; (vi) F8 [v:=g(v,f(d))];
(vii) F2 [v:=u]; (viii) F3 [w:=u];
(ix) F4 [u:=f(f(v))]; (x) F12 [u:=f(v)];
(xi) F8 [v:=g(u,f(u))]; (xii) F7 [v:=h(u,c,w)].
b) Determine o conjunto de variveis livres de cada frmula resultante em (a).
Quando se faz uma substituio como acima, espera-se que o resultado F(t) afirme sobre
o termo t o que a frmula original F(v) afirma sobre a varivel v. Isso ocorre quando a
substituio no acarreta coliso de variveis.
Como exemplo, considere como F(v) a frmula u[vd(u)], com d sendo 'dobro'.
- A frmula F(v) afirma (sobre v) que v o dobro de algum u.
- A frmula F(w)=u[wd(u)] afirma (sobre w) que w o dobro de algum u.
- J a frmula F(u)=u[ud(u)] no tem ocorrncia livre de u; ela no afirma nada sobre a
varivel u, mas sim que algum u o seu prprio dobro.
- A frmula F(u+w)=u[u+wd(u)] no afirma(sobre u+w) que u+w seja o dobro de
algum nmero.
Nas duas substituies F(u)=u[ud(u)] e F(u+w)=u[u+wd(u)] encontramos colises
de variveis. Na frmula original F(v)=u[vd(u)] a ocorrncia de v no escopo do
quantificador u era livre, no resultado em cada caso, uma varivel introduzida no lugar
do v foi "capturada" pelo quantificador u.
De maneira geral, dizemos que uma substituio F[v:=t] da varivel v na frmula F pelo
termo t origina uma coliso quando alguma varivel u do termo t est dentro do escopo
de algum quantificador Qu (u ou u) na frmula original F.

9
F(v): Qu( v )

t(u)

F(t): Qu( t(u) )

Figura CQ.DN.1.3: Coliso da varivel v com termo t na frmula F


Diremos que a substituio da varivel v na frmula F pelo termo t sensata quando no
causa coliso de variveis3. Para isso, usaremos a notao < v, t > SS[F].
Casos especiais, porm utis, de substituio sensata da varivel v na frmula F so:
- quando nenhuma varivel do termo t ocorre na na frmula F;
- quando o termo t a prpria varivel v (nesse caso, a frmula F fica inalterada).
Exerccio ExSin6
Considere as substituies (de varivel por termo em frmula) feitas no exerccio ExSin5
acima. Indique quais delas causam colises de variveis e quais so sensatas.

Agora daremos a definio formal de aplicao de substiuio de variveis por termos em


frmulas, i.e., dada uma substituio ={x1:=t1,x2:=t2xn:=tn} e uma frmula , vamos
definir recursivamente.
Definio ExSin10 (substituio de variveis por termos em frmulas)
Seja ={x1:=t1,x2:=t2xn:=tn} uma substituio.
i) para para =t1t2
= t1t2
ii) para =P(t1, t2, ..., tn)
= P(t1, t2, ..., tn),
iii) para =()
= ()
iv) para = * onde *{, , , }
= *
v) para =(x) ou =(x)
=(x) ou = (x)

Substituies sensatas podem ser definidas formalmente.

Exerccio ExSin7
D a definio formal de substituio sensata.

3
As terminologias "v livre para t em F" e "v substitutvel por t em F" tambm so bastante comuns.

10
Lgica de primeira ordem

2. Semntica

Introduo

A semntica fornece significado para as frmulas de uma linguagem de primeira ordem.


Desta forma estaremos percorrendo o caminho inverso do que fizemos ao introduzir a
sintaxe de primeira ordem, isto , dada uma linguagem de primeira ordem estaremos
traduzindo os objetos formais em relaes entre indivduos de um universo de discurso e
em descries de propriedades deste universo. preciso notar que nem sempre a traduo
de uma frmula vai descrever propriedades que so verdadeiras no universo de discurso
escolhido. Por exemplo, considere a frmula x(xc) cujo significado intuitivo existe
um elemento diferente do objeto distinguido nomeado por c. Claro que esta assertiva
verdadeira num universo com pelo menos dois elementos, mas no verdade no universo
cujo nico elemento o indivduo denotado por c. Assim para se dar um significado para
uma linguagem de primeira ordem, temos de fornecer o universo de discurso, os
indivduos distinguidos deste universo que so denotados pelas constantes da linguagem,
as funes e relaes definidas neste universo de discurso que interpretam os smbolos de
funes e predicados, respectivamente, da linguagem.
A seguir daremos a definio precisa das idias discutidas acima.

Definies

Def Sem1
Dada um assinatura , uma estrutura A para uma linguagem de primeira ordem L()
consiste de:
- um conjunto no vazio, A, chamado de universo de A;
- uma funo n-ria, fA: An A, para cada smbolo de funo n-ria f em L();
- uma relao n-ria, PA An, para cada smbolo de predicado n-rio P em L().

Assim, smbolos de relaes sero interpretados como relaes no universo da estrutura e


os smbolos de funo sero interpretados como funes no universo da estrutura,
respeitando-se a aridade dos smbolos de predicados e de funes. Note que a
interpretao de um smbolo de constante c um elemento distinguido de A, cA.
Uma estrutura A para uma linguagem de primeira ordem L() pode ser apresentada
como uma n-upla, A=<A, F, P>, onde F o conjunto das funes n-rias, fA: An A,
onde f smbolo de funo n-ria em L() e P o conjunto das relaes n-rias PA An,
onde P smbolo de predicado n-rio em L(). No caso de F ou P serem conjuntos
unitrios, no ser usada a notao de conjuntos, o conjunto unitrio com seu nico
elemento.

Considere a estrutura A= < N, {cA,dA, fA}, PA >, com cA =0 , dA =2, PA como a relao <
(menor que ) entre nmeros naturais e fA(n)= 2n. Parece razovel interpretarmos as

11
frmulas P(c,d) como 0<2 (que verdade), a frmula P(d,c) como 2<0 (que falso) e
f(c)d como 0=2 ( que falso). Mas como seria interpretada a frmula P(x,d) nesta
estrutura? primeira vista tentaramos como resposta x>2. Mas isto no nos d uma
assertiva verdadeira nem falsa. Parece razovel atribuirse um valor a x e a verificarmos
se com esta atribuio a x, a traduo da frmula P(x,d) uma assertiva verdadeira ou
falsa sobre os nmeros naturais. O mesmo tipo de questo aparece ao considerarmos a
frmula P(f(x),d).
Assim, se associarmos o valor 2 a x, a frmula P(x,d) interpretada como 2>2 (que
falso), se dermos o valor 3 a x, a frmula P(x,d) interpretada como 3>2 (que
verdadeiro). No caso da frmula P(f(x),d), ao associarmos o valor 0 a x, parece claro que
sua interpretao na estrutura dada 0<2, j que 2*0=0. Como vemos o significado de
uma frmula (verdade ou falso) numa estrutura depende do valor que seus termos
denotam dentro do domnio da estrutura.

Formalizando estas idias, temos primeiramente que ter uma maneira de avaliar os
termos dentro do domnio da estrutura. A definio desta avaliao faz uso do teorema da
recurso.

Def Sem2 (Atribuio de valores a termos)


Seja A uma estrutura com domnio A para uma linguagem de primeira ordem L().
Seja v : VAR A, uma atribuio de valores s variveis em A. A extenso
:TERM() A de v uma atribuio de valores aos termos em A, definida
recursivamente da seguinte forma:
(x) =v(x), para xVAR;
(c) = cA para cada smbolo de constante c de L();
(f(t1, t2, ..., tn)) = fA((t1), (t2), ..., (tn)), para cada smbolo de funo n-rio f de L() e
t1, t2, ..., tn TERM().

Note que pelo fato de TERM() ser livremente gerado a partir de VAR, o teorema
da recurso garante que existe e a nica extenso de v com as propriedaes descritas
acima. Por simplicidade, notaremos por v a extenso de v.

Exemplo Sem1
Para ilustrar o conceito de estrutura e atribuio de valores a termos, considere uma
lingugem de primeira ordem L() com smbolos f : ss, de funo unria e c: s0s, de
constante. Seja A a estrutura para esta linguagem tendo como universo N, o conjunto do
naturais, fA:N N definida por fA(n) = 2n e cA=3. Tome v:VAR N tal que v(x)= 2.
- o termo f(x) interpretado nesta estrutura com a atribuio v como o nmero 4;
- o termo f(f(x))) interpretado nesta estrutura com a atribuio v como o nmero 8;
- o termo f(c) interpretado nesta estrutura com a atribuio v como o nmero 6.

Exemplo Sem2
Observe que os termos f(x) e f(f(x)) podem ter outras interpretaes na mesma estrutura,
dependendo da atribuio de valores v, enquanto que f(c) sempre aponta para o nmero 6,
qualquer que seja a atribuio de valores v.

12
Exemplo Sem3
Considere os termos f(x) e f(c) e a mesma estrutura A= <N, fA,cA > do exemplo anterior.
Note que f(c)=f(x)onde ={x:=c}.
Tome uma atribuio de valores v:VARN, tal que v(x)= 2
Com esta atribuio, v(f(x))=46=v(f(c)).
Agora considere a atribuio u:VARA tal que u(x)=v(c)=3. Temos que
v(f(x)fA(cA)=6u(f(x))= fA(3)
O que ilustramos no exemplo Sem3 pode ser generalizado para todos os termos, isto :

Prop Sem1
Dados uma estrutura A para uma linguagem L(), v uma atribuio de valores para as
variveis, e dois termos t e s em TERM(considere a atribuio u:VARA tal que
u(x)=v(r), ento v(t[x:=r])=u(t)
Prova : Por induo na estrutura do termo t.

As frmulas pretendem expressar relaes entre elementos do universo ou propriedades


do universo.
A idia intuitiva que, por exemplo, a frmula P(x,c), numa estrutura com predicado
binrio PA e constante cA vai ter um significado se a x estiver associado um valor no
universo, e neste caso, seu significado pode ou no corresponder realidade. Por
exemplo, considere a estrutura A tendo como universo N, o conjunto do naturais,
PA={(n,m)/n>m} N2 e cA=0.
Nesta estrutura, com a atribuio v, tal que v(x)=0, P(x,c) significa 0>0, que falso;
com a atribuio v tal que v(x)=3, P(x,c) significa 3>0, que verdade. Por outro lado, a
interpretao de (xP(x,c)) expressa que existe um nmero natural menor que 0, que
falso , qualquer que seja a atribuio dada a x. Esta diferena se d pelo fato de na
frmula P(x,c), o valor que se d a x relevante para o significado da frmula, enquanto
que em (xP(x,c)) a varivel x faz o papel de uma varivel dummy, isto , x aparece
na formula s para constar.
Dada uma uma estrutura A com domnio A para uma linguagem de primeira
ordem L() e uma frmula , seja v uma atribuio de valores a VAR em A. Vamos
definir a noo A satisfaz com a atribuio v, que uma relao entre A, v e frmulas,
notada por A |=[v]. A definio por recurso, assim daremos a definio de forma
direta para as frmulas atmicas e para as demais ser dada recursivamente.

Def Sem3 Estrutura satisfaz frmula com uma atribuio (A |=[v])


Para atmica:
se t1 t2, A |=t1 t2[v] se e s se v(t1) = v(t2);
se P(t1, t2,,tn), A |=P(t1, t2,, tn)[v] se e s se (v(t1), v(t2),,v(tn)) PA;
Para no atmica:
- se (), A |=) [v] se e s se A | [v] i.e. A no satisfaz com a atribuio v;
- se ( ), A |= ( )[v] se e s se A |=[v] e A |=[v];
- se ( ), A |=( )[v] se e s se A |=[v] ou A |=[v];

13
- se ( ), A |=( )[v] se e s se A | [v] ou A |= [v];
- se ( ), A |=( )[v] se e s se A |=[v]se e smente se A |=[v];
- se x, A |=x[v] se e s se para cada b A, A|=[v(x:=b)], onde , v(x:=b) a
atribuio definida por v(x:=b)(z)=v(z), para zx e v(x:=b)(x) =b. i.e., para cada b A
mantendo-se a mesma atribuio que v d s variveis distintas de x e atribuindo-se a x o
valor b, a frmula satisfeita na atribuio v(x:=b). Como isto ocorre para todo b A,
isto quer dizer que a frmula satisfeita deixando x tomar qualquer valor em A,
mantendo inalterado os valores que v d s outras variveis.
- se x, A |=x[v] se e s se para algum bA, A |=[v(x:=b)], i.e., a frmula
satisfeita na atribuio que d b a x, para algum b em A, mantendo-se inalterados os
valores que v d s outras variveis.

Exemplos
Considere a estrutura A = <N, PA, QA>, onde N o conjunto dos naturais, PA = {n N / n
primo} e QA = {(n, m) N2 / n > m} e a frmula : P(x) y (P(y) Q(x, y)).
Considere uma atribuio v tal que v(x) = 5 e v(y) = 6, ento temos A |=P(x) [v], j que 5
primo (v(x)=5 PA) e A |= y (P(y) Q(x, y))[v] (existe uma atribuio v', tal que
v'(x)=5 e v'(y) = 7, digamos, tal que A |= P(y) Q(x, y)[v']).
Considere a atribuio v tal que v(x) = 4 e v(y) =6. Como A | P(x)[v] temos que A |
P(x) y (P(y) Q(x, y))[v].
Considere A = <N, PA, QA , cA >, onde N o conjunto dos naturais,
PA = {n N / n primo}, QA = {(n, m) N2 / n > m} e cA =3.
Tome a sentena y (P(c) Q(c, y)) e uma atribuio v tal que v(y)=2.
Ento, A |=y (P(c) Q(c, y))[v], pois 3 primo (A |= P(c)) e existe um nmero
natural n, digamos 6, tal que 3 >n, i.e., a atribuio v' tal que v'(y)=6 e v'(z)=v(z), para z
y tal que A |= Q(c, y))[v'].
fcil ver que A |=y (P(c) Q(c, y))[w] para qualquer outra atribuio w.

Exerccios
Para cada caso considere a estrutura A e a frmula dadas e d atribuies v1 e v2 tais que
A |=[ v1] e A | [v2].
P(x) y(P(y) Q(x, y)) e A = <N, PA, QA>, onde
N o conjunto dos naturais, PA = {n N | n primo} e QA = { (n, m) N2 | n > m}.
2. : y (P(c) P(y) Q(y, c)) e A = <N, PA,QA, cA >, onde
N o conjunto dos naturais, PA e QA como acima e cA = 2.

Como foi observado no exemplo 2 se uma frmula uma sentena, isto , no tem
variveis livres, ento, dada uma estrutura A e uma atribuio v, se A |= [v] (A | [v])
ento A |=[w] (A | [w]), para qualquer outra atribuio w. Isto , uma sentena
satisfeita numa estrutura em todas as atribuies ou no satisfeita em nenhuma
atribuio.

14
Outra observao que a noo de satisfatibilidade numa atribuio s depende dos
valores que damos s variveis livres que ocorrem na frmula . Estas observaes so
formalizadas no seguinte teorema:

Teorema Sem1
Dada uma estrutura A e uma frmula com variveis livres x1, x2, ..., xn,
sejam v e w duas atribuies de valores de variveis a VAR no domnio de A tais que
v(xi) =w(xi) para i=1n.
Tem-se que A |=[v] sse A |=[w].
Prova
Por induo na estrutura da frmula .

Assim, dada uma frmula com n variveis livres, x1, x2, ..., xn e uma estrutura para uma
linguagem de primeira ordem, A, com domnio A, seja v uma atribuio de valores a
VAR em A tal que v(xi) = ai (i = 1, 2,,n). Usaremos as notaes A |= [a1, a2,,an] ou
A |= [xa, x a2,, xan] para A |=[v] quando quisermos explicitar os valores
atribudos por v s variveis livres de .
Usando esta notao alternativa as definies de A |=x[v] e de A |=x[v] podem ser
reescritas como:

- A |=x[a1, a2,,an] se e somente se para cada b A,


A|=[xa,xa2,,xan,xb], i.e., mantendo-se a atribuio dada por v s variveis
livres x1, x2, ..., xn que ocorrem em x e deixando x tomar qualquer valor em A, a
formula satisfeita nessas novas atribuies.

A |=x[ a1, a2, ..., an ] se e somente se para algum b A, A |= [xa,


xa2,,xan,xb], i.e., a frmula satisfeita na atribuio que d, respectivamente,
a1, a2, ..., an s variveis x1, x2, ..., xn que ocorrem livres em x e atribui b a x, para
algum b em A.

Note que nestes dois casos a frmula pode ter no mximo n+1 variveis livres, j que x
pode ocorrer livre em .

Note que A |=[v] se e s se A |= x onde x uma abreviao para a lista x1x ...
xn e x1,x2,...,xn so as variveis livres de .

Def Sem4 Estrutura satisfaz frmula: A |=


Dada uma frmula e uma estrutura A para uma linguagem de primeira ordem, A
satisfaz (denotado por A |=) se e somente se, para cada atribuio de valores v de
VAR em A, A satisfaz com v ( i.e. A |= [v], para todo v).
Note que para verificarmos se A |=, para uma frmula com variveis livres, temos
que verificar se A |=[v], para toda atribuio v, enquanto que se for sentena, A |=
se comporta como um teste (ou verdade ou falso).

15
Note tambm que A |= significa que A |=x onde x uma abreviao para a lista
x1x ...xn onde x1,x2,...,xn so as variveis livres de .

Exemplo
Considere a frmula : Q(c,y) e A = <N, QA, cA >, onde
N o conjunto dos naturais, QA = {(n, m) N2 | n < m} e cA = 0.
Ento A |= .

Def Sem5 Estrutura satisfaz conjunto de frmulas com uma atribuio :A |=[v]
Dada um estrutura A e uma atribuio v, dizemos que A satisfazcom a atribuio v, A |
=[v], se e s se A |=[v], para toda frmula de .

A seguir introduziremos um conceito que anlogo ao de tautologia em lgica


proposicional.

Def Sem6 Frmula lgicamente vlida |=


Uma frmula lgicamente vlida, denotado por |=, se e smente se, para cada
estrutura A para a linguagem de , A satisfaz ( i.e. A |= , para toda estrutura A).

Exemplos
P(c) x P(x) lgicamente vlida.
xP(x) P(y) lgicamente vlida.
Toda frmula que obtida pela substituio sistemtica das letras sentenciais de uma
tautologia por frmulas de lgica de primeira ordem uma frmula lgicamnte vlida,
por exemplo P(x)P(x)

Exerccio
1. x P(x) P(c) lgicamente vlida ?
2.xP(x) y P(y) lgicamente vlida ?
3.xy P(x,y) yx P(x,y) lgicamente vlida ?
4. yx P(x,y) xyP(x,y) lgicamente vlida ?
5. yx P(x,y) xy P(x,y) lgicamente vlida ?
6. yx P(x,y) xy P(x,y) lgicamente vlida ?
7. Se x no ocorre livre em mostre que as frmulas abaixo so lgicamente vlidas
a) x( )x e x( ) x
b) x( ) x e x( ) x
c) x( )x e x( ) x
d)x( ) x e x( ) x
8. Mostre que x x e xx so lgicamente vlidas

Def Sem 7 Equivalncia lgica: eq


Duas frmulas e so lgicamente equivalentes se e s se a frmula
lgicamente vlida.

16
Exemplos
1) yx e xy so lgicamente equivalentes.
2) x e x so lgicamente equivalentes.
3) x e x so lgicamente equivalentes.
4) x( ) e x so lgicamente equivalentes se x no ocorre livre em
x( ) x so lgicamente equivalentes se x no ocorre livre em
6) x( ) e x so lgicamente equivalentes se x no ocorre livre em
7)x( ) e x so lgicamente equivalentes se x no ocorre livre em
8)x( ) e x so lgicamente equivalentes se x no ocorre livre em
9) x( ) e x so lgicamente equivalentes se x no ocorre livre em

Def Sem 8 Conseqncia lgica |=


Dado uma conjunto de fmulas e uma frmula , dizemos que conseqncia lgica
de (|=) se e s se, para toda estrutura A e toda atribuio v, se A |= [v], ento A |
=[v].

Exemplos
{yx P(x,y)} |=xyP(x,y)
{xP(x)} |= P(f(x))

Se o conjunto vazio, usamos a notao |=Note que neste caso a definio coincide
com a de ser lgicamente vlida.
Como no caso proposicional, usaremos a notao | para indicar que no uma
conseqncia de .

Exerccios
Mostre que
| xy(f(x)=f(y)x=y) xQ(f(x),x)
{xyz(R(x,y)R(y,z)R(x,z)), xy(R(x,y) R(y,x))} | x R(x,x)

Def Sem 8 A satisfaz : A |=


Dada uma estrutura A e um conjunto de frmulas dizemos que A satisfaz (A um
modelo de ), A |=, se e s se A |=[v], para toda atribuio de valores v.
Note que se for um conjunto de sentenas, A |= se e s se A satisfaz para toda
sentena .

Exemplo
Considere o conjunto de sentenas
={xy(f(x)=f(y) x=y), xQ(f(x),x)} e a estrutura A = <N, fA, QA> onde N o
conjunto dos naturais, fA(n)= n+1e QA = {(n, m) N2 / n > m}. Temos A |=.
A definio da semntica para uma linguagem de primeira ordem (satisfao de frmulas
por estruturas) bastante tcnica, pois d o significado de um linguagem formal de

17
maneira precisa. Daremos a seguir uma aplicao menos formal da semntica, que o
uso da linguagem de primeira ordem para representao de conhecimento.
O que se pretende aqui , dada uma(s) sentena(s) em portugus (ou de outra linguagem
natural) obter uma frmula que a(s) represente(m) simblicamente, no sentido de que ao
interpretamos os smbolos de volta pelas palavras que eles simbolizam tenhamos uma
interpretao que satisfaa a frmula. No h uma nica forma de representao. Deve-se
identificar uma assinatura, isto quais os smbolos de constantes, funes e predicados
que sero usados, de forma que nomes prprios sejam simbolizados por smbolos de
constantes, enquanto que relaes e propriedades sejam simbolizados por smbolos de
predicados. Os fonemas algum, algum e seus sinnimos so simbolizados por x,
assim como nenhum, ningum(e seus sinnimos) so simbolizados por x; para
todo, cada e seus sinnimos so simbolizados por x.

Exemplos

Para simbolizar "Oscar vai a universidade" temos a sentena Universidade


(oscar),escolhendo oscar como smbolo de constante e Universidade como smbolo de
predicado, com significado pretendido, x vai a univesidade para Universidade (x).
Para simbolizar "Lgica difcil" temos a sentena Difcil(lgica), escolhendo lgica
como smbolo de constante e Dificil como smbolo de predicado, com significado
pretendido x difcil para Dificil (x).
Para simbolizar " A menor bola da loja de Joo vermelha" temos
x(Loja(joo,x)Bola(x)y(Loja(joo,y)Bola(y)xyMenor(x,y))
Vermelha(x)),escolhendo Loja e Menor como smbolos de predicados binrios, Bola e
Vermelha como smbolos de predicado unrios e joo como smbolo de constante, com
significados pretendidos:
Loja(u,v)- v vendido na loja de u
Menor (u,v) - u menor que v
Bola(v) - v bola
Vermelha(v) v vermelha

Para simbolizar "o av de uma pessoa o pai da me ou do pai desta pessoa" temos
xy(Av(x,y) x=pai(y) x=me(y)), escolhendo Av como smbolo de predicado
binrio, pai e me como smbolos de funo unrios, com significados pretendidos:
Av(v,u) - v av de u
pai(u) - o pai de u
me(u) - a me de u.
Se escolhessemos Me e Pai como predicados binrios com significados pretendidos
Me(u,v) - u me de v e Pai(u,v) - u pai de v, teramos
xyz(Av(x,y) Pai(x,z)(Pai(z,y) Me(z,y)) simbolizando a mesma frase acima.

Para simbolizar "X primo" temos Primo(x), escolhendo Primo como smbolo de
predicado unrio com o significado pretendido bvio
Para simbolizar " A derivada de f definida " temos a frmula atmica
Definida(derivada(f)), escolhendo Definida como smbolo de predicado unrio, derivada

18
como smbolo de funo unria, e f como smbolo de constante com os significados
pretendidos bvios. Alternativamente, podemos ter y(y=derivada(f) Definida(y)).

Para simbolizar "Algum mora na casa velha" temos x(Mora(x,velha)), escolhendo


Mora como smbolo de predicado binrio e velha como smbolo de constante, com
significados pretendidos:
Mora(u,v) - u mora em v
velha a casa velha

Todo fantasma da regio mora na casa velha pode ser simbolizado por :
x(Fantasma(x) Mora(x,velha).

Existe um estudante que amigo de Jorge mas no amigo de Oscar pode ser
simbolizado por:
x(Estudante(x) Amigo(x, jorge) Amigo(x, oscar)
Todo estudante que amigo de Jorge amigo de Oscar pode ser simbolizado por:
x((Estudante(x) Amigo(x, jorge)) Amigo(x, oscar))

Exerccios
Simbolize as sentenas abaixo por sentenas de lgica de primeira ordem.
S os bravos sabem perdoar.
Nenhum homem uma ilha.
Todo pas tem o governo que merece.
No h nenhuma certeza, exceto a Lgica.
Misria gosta de companhia.
Nem tudo que reluz ouro.
Se voc agrada a todo mundo, voc no agrada a ningum.
Existe algo de podre no reino da Dinamarca.
Todo mundo ama algum.
Algum ama todo mundo.
Todo projeto em andamento tem um gerente.
Jos o gerente de todos os projetos.
Existe um gerente de todos os projetos.

19
Lgica de primeira ordem

3. Propriedades sintticas

Em algumas aplicaes de lgica de primeira ordem usamos frmulas de formas


particulares.

Definio PS1(literal)
Um literal uma frmula atmica ou a negao de uma frmula atmica.

Daremos a seguir algoritmos que permitem transformar sintaticamente frmulas


quaisquer de uma linguagem de primeira ordem em frmulas de forma especfica que
guardam com as primeiras certas relaes semnticas.
Daremos algoritmos para obteno de frmulas na forma Qx, onde Qx uma seqncia
de quantificadores e uma frmula sem quantificadores. Tais frmulas so chamadas
de frmulas em forma normal prenex. Qx chamado de prefixo de Qxe chamando
de matriz de Qx
Caso a matriz seja da forma: n onde i da forma k e j um
literal para j=1...k, diz- se que Qxest em forma normal prenex disjuntiva. Caso a
matriz seja da forma n onde i da forma k e j um literal
para j=1...k, diz se que Qxest em forma normal prenex conjuntiva.
A sada dos agortmos para obteno de frmulas em forma normal prenex (geral,
disjuntiva e conjuntiva) uma frmula equivalente entrada.
O lema apresentado a seguir fornece equivalncias que podem ser usadas para
manipulao sinttica de frmulas, substiutindo subfrmulas por frmulas equivalentes, a
fim de "empurrarmos" os quantificadores para a esquerda nas frmulas, obtendo-se
frmulas em forma prenex.

Lema PS1
As seguintes frmulas so lgicamente equivalentes
1.x e x;
2. x ex;
3. Qx( ) e Qx onde Q{,} e x no ocorre livre em ;
4. Qx( ) e Qx onde Q{,} e x no ocorre livre em ;
5. Qx( ) e Qx onde Q{,} e x no ocorre livre em ;
6. Qx( ) e Qx onde Q{,} e x no ocorre livre em
7. (x ) e x( ), se x no ocorre livre em ;
8. x ( ) e (x ), se x no ocorre livre em
9. (x ) e x( ) , se x no ocorre livre em
10. (x ) e x (), se x no ocorre livre em
11. (x ) e x (), se x no ocorre livre em
12. x e yx:=y], se {x/y} uma substituio sensata em e y no ocorre livre em

x e yx:=y], se x/y uma substituio sensata em e y no ocorre livre em

20
Prova
As equivalncias so obtidas diretamente a partir da definio de frmulas equivalentes.

Exerccio ExPS1
Demonstre o lema acima.

O prximo lema anlogo ao resultado de substituies de subfrmulas em uma frmula


de linguagem proposicional por frmulas tautolgicamente equivalentes. Usaremos a
notao () para indicarmos que uma frmula que ocorre 0 ou mais vezes em e
[:=] para a frmula obtida de pela a substituio de 0 ou mais ocorrncias da
frmula em por .

Lema PS2 (substituio de equivalentes)


Se lgicamente equivalente a (abreviado por eq ), ento () lgicamente
equivalente a [:=].
Prova
Por induo no nmero de conectivos e quantificadores que ocorrem em .
Suponha eq .
Note que se 0 ocorrncia de for substituda ou se no ocorre em , ento [:=]=.
Tambm, se =, ento [:=]=.Nestes casos o resultado () eq [:=] segue
trivialmente.
Logo, suponha que uma subfrmula de e , i.e. uma subfrmula prpria de
.
Seja S= {n /se frmula com n ocorrncias de conectivos e quantificadores ento ()
eq [:=] }
1. Base da induo: n=0
Neste caso uma frmula atmica e no pode ser uma subfrmula prpria de .
Logo nS, vacuamente.
2. Supor n S.
Seja uma frmula com n+1 ocorrncias de conectivos e quantificadores. Ilustraremos o
uso da hiptese de induo para o caso de =x1. Para os demais casos o argumento
anlogo.
Para =x1, temos que 1 tem n ocorrncias de conectivos e quantificadores e uma
subfrmula prpria de 1. Por hiptese de induo temos que 1() eq 1[:=].Usando a
definio de frmulas lgicamente equivalentes podemos mostrar que
[:=]=x(1[:=] eqx1()=.

A seguir daremos os algoritmos para obteno de formas prenex. A demonstrao de que


o algoritmo d como sada uma frmula equivlente a de entrada feita de maneira
informal. Uma prova formal de tal resultado pode ser obtida por induo na estrutura da
frmula e deixada como exerccio.

Proposio PS1 (algoritmo para forma normal prenex geral )

21
Existe um procedimento efetivo que, para cada frmula obtem uma frmula na forma
norma prenex que equivalente a
Prova
Como no caso proposicional, primeiramente elimine todas as ocorrncias de de isto
, substitua sucessivamente as subfrmulas da forma por at
que o conectivono ocorra mais.
Em seguida aplique as equivalncias 11 e 12 do lema PS1 renomeando todas as variveis
ligadas de forma que as variveis ligadas sejam difrentes e disferentes das variveis que
ocorrem livres na frmula de entrada.
Agora aplique as equivalncias do lema adequadamente para levar os quantificadores de
dentro para fora movendo-os para a esquerda. Note que como todas as substituies so
por frmulas equivalentes, a frmula resultante equivalente frmula original pelo
lema PS2.

Ilustraremos o procedimento a seguir.

Exemplo PS1
Tome =xy(xP(x)Q(x,y,z)) x(P(x)yR(x,y))
Eliminando-se obtemos
=xy[(xP(x)Q(x,y,z)) (Q(x,y,z) xP(x))] x(P(x) yR(x,y))
Renomeando as variveis ligadas obtemos
=xy[(vP(v)Q(x,y,z)) (Q(x,y,z) zP(z))] u(P(u) sR(u,s))
Aplicando as equivalncias 10 do lema para evitarmos que uma mesma varivel ocorra
livre e ligada na frmula obtemos
=xy[(vP(v)Q(x,y,z)) (Q(x,y,z) wP(w))]u(P(u) sR(u,s))
Aplicando as demais equivalncias, chegamos sucessivamente a
=xy[v(P(v)Q(x,y,z)) w(Q(x,y,z) P(w))] us(P(u) R(u,s))
=xy[v((P(v)Q(x,y,z)) w(Q(x,y,z) P(w)))] us(P(u) R(u,s))
=xy[v(w((P(v)Q(x,y,z)) (Q(x,y,z) P(w))))] us(P(u) R(u,s))
=xyvw((P(v)Q(x,y,z)) (Q(x,y,z) P(w))) us (P(u)R(u,s))
=suxyvw{(P(v)Q(x,y,z)) (Q(x,y,z) P(v)) (P(u)R(u,s))}

Exerccios
Ex PS2.1Obtenha outra frmula na forma normal prenex equivalente frmula do
exemplo anterior usando a mesma renomeao de variveis.
Ex PS2.2Demonstre a proposio usando induo na estrutura da frmula de entrada

Proposio PS2 (Algoritmos para formas normais conjuntiva e disjuntiva)


Existe um procedimento efetivo que para cada frmula obtem uma frmula em forma
normal prenex conjuntiva (disjuntiva) que equivalente a
Prova
Tendo obtido uma frmula Qx na forma normal prenex, equivalente a pelo algoritmo
anterior, aplique as equivalncias proposicionais adequadas em para obter uma frmula

22
' equivalente a em forma normal conjuntiva (disjuntiva). A frmula Qx' equivalente
a Qxpelo lema PS2

Exemplo PS2
Tome =xy(xP(x)Q(x,y,z) x(P(x)yR(x,y)).
O algoritmo anterior aplicado a d como sada a frmula
=suxyvw{(P(v)Q(x,y,z)) (Q(x,y,z) P(v)) (P(u)R(u,s))}
Para obter uma frmula na forma normal conjuntiva equivalente a basta tormarmos
{(P(v)Q(x,y,z)) (Q(x,y,z) P(v)) (P(u)R(u,s))}, e aplicando o algorimo
para obteno de forma normal conjuntiva a obtemos
'{(P(v)Q(x,y,z)) (Q(x,y,z)P(v)) (P(u)R(u,s))}
Assim, suxyvw{(P(v)Q(x,y,z)) (Q(x,y,z)P(v)) (P(u)R(u,s))}
uma frmula na forma normal prenex conjuntiva equivalente a

Observe que em cada passo dos algoritmos apresentados a frmula resultante


equivalente frmula do passo anterior. Logo, por transitividade, a sada do algoritmo
uma frmula equivalente frmula de entrada. Agora daremos um algoritmo para
obteno de frmula da forma Qxonde s aparecem quantificadores universais e
uma frmula sem quantificadores na forma normal conjuntiva. O processo de obteno
de tais frmulas chamado de Skolemizao. Durante a Skolemizao so introduzidos
smbolos novos de funo, isto , que no ocorrem na assinatura da linguagem da frmula
de entrada. A sada do algoritmo uma frmula que no logicamente equivalente
frmula de entrada, mas que tem a propriedade de ser satisfatvel se e s se a frmula de
entrada o for. Antes de darmos o algoritmo daremos alguns exemplos para ilustrar o papel
dos smbolos novos introduzidos durante a Skolemizao.

Exemplo Sklm1
Considere a frmula P(x), cujo significado pretendido : o valor atribudo a x tem a
propriedade expressa por P. Para isto ser verdade, temos que existe um objeto no universo
que tem a propriedade expressa por
P. Assim, a frmula xP(x) verdade neste contexto.
Por outro lado, se xP(x) verdade em um contexto, temos que existe um objeto no
universo que tem a propriedade expressa por P. Logo, a frmula P(x) verdade neste
contexto quando atribuimos este objeto a x.
Neste exemplo mostrarmos que P(x) satisfatvel se e s se xP(x) satisfatvel.

Exemplo Sklm2
Considere a frmula =xP(x) cujo significado pretendido que existe algum objeto no
universo que tem a propriedade expressa por P. Assim, se adicionarmos uma constante c
assinatura de P e interpretarmos c como este objeto que tem a propriedade P, a frmula
P(c) passa a ser verdade neste contexto.
Por outro lado, se P(c) verdade em um contexto, temos que a interpretao de c um
objeto que tem a propriedade que P expressa neste contexto. Logo, existe um objeto no

23
contexto que tem a propriedade expressa por P, isto , a frmula xP(x) verdade neste
contexto.
Neste exemplos mostramos que xP(x) satisfatvel se e s se P(c) satisfatvel.

Exemplo Sklm3
Agora considere a frmula =yxP(x,y) cujo significado pretendido que para
qualquer elemento do universo de discurso existe um objeto que est relacionado por P
com aquele elemento. claro que para cada elemento e que estivermos considerando, o
objeto que existe relacionado com e no precisa ser nico, nem ser o mesmo relacionado
com todos os elementos do universo. Isto , objetos diferentes podem estar relacionados
com elementos diferentes ou alguns objetos diferentes podem estar relacionados com o
mesmo objeto, alm disso pode haver mais de um objeto relacionado com o mesmo
elemento. De qualquer modo, podemos definir uma funo tal que, para cada elemento e
do universo, escolhe um dos objetos dentre os que esto relacionados com e. Observe que
esta escolha no precisa ser feita de forma efetiva, ( por exemplo, um sorteio uma
escolha no efetiva) mas que pode sempre ser feita pelo fato de sempre haver pelo menos
um objeto relacionado com cada elemento do universo. Isto , a frmula yP(f(y),y)
verdade neste contexto, quando f um smbolo novo de funo que interpretado como a
funo acima descrita.
Por outro lado, se yP(f(y),y) verdade em um contexto, temos que para cada elemento
e do contexto, o objeto nomeado por f(e) est relacionado com e (onde f a interpretao
de f no contexto), i.e. a frmula yxP(x,y) verdade neste contexto.
Neste exemplo mostramos que yxP(x,y) satisfatvel se e s se yP(f(y),y)
satisfatvel, onde f um smbolo novo d e funo.

Na discusso acima os smbolos novos, c de constante e f de funo, so introuzidos com


significados pretendidos especficos. Tais smbolos so chamados de funes de Skolem.
Agora formalizaremos estas idias.

Proposio PS3
Para cada frmula existe um procedimento efetivo para se obter uma frmula na forma
Qxonde s aparecem quantificadores universais no prefixo Qx e uma frmula sem
quantificadores na forma normal conjuntiva tal satisfatvel se e s se Qx
satisfatvel.
Prova
A frmula de sada poderia ser obtida a partir da frmula de sada do algoritmo de
obteno de forma norma conjuntiva, mas por questo de eficcia, daremos um algoritmo
alternativo.
Dada uma frmula :
1) Tome o fecho existencial de , i.e., se contiver uma varivel livre x, substitua por
x.
Repita este processo at que a frmula corrente no tenha mais variveis livres.
2) Elimine quantificadores redundantes, i.e. elimine todo quantificador x ou x que
no contenha nenhuma ocorrncia livre de x no seu escopo.

24
3) Renomeie as variveis ligadas de tal forma que as variveis governadas por
quantificadores sejam todas distintas.
4) Elimine as ocorrncias dos conectivos e .
5) Mova o conectivo para o interior da frmula at que preceda imediatamente
frmulas atmicas.
6) Mova os quantificadores para o interior da frmula
7) Elimine os quantificadores existenciais (Skolemizao), i.e,
Seja a frmula corrente. Obtenha a nova frmula corrente, ', substituindo a subfrmula
da forma y, que se situa mais `a esquerda em por [y/f(x1, ..., xn], onde:
x1, ..., xn uma lista de todas as variveis livres de y e f um smbolo de funo n-rio
(funo de Skolem) que no ocorre em .
Caso no haja variveis livres em y substitua y por [y/c], onde c uma constante
(de Skolem) que no ocorre em .
Repita o processo (de Skolemizao) at que todos os quantificadores existenciais
tenham sido eliminados.
8) Obtenha a forma normal prenex da frmula obtida no passo 6, i.e., mova os
quantificadores para a esquerda.
9) Obtenha a forma normal conjuntiva da matriz da frmula obtida no passo 7,
substituindo a matriz desta pela forma normal conjuntiva obtida.
10) Simplifique a frmula do passo 9 eliminando repeties de literais no mesmo disjunto
e disjunes que so tautologias.

Observe que:
- o fecho existencial da frmula obtido no passo 1 satisfatvel se e s se a frmula
original for satisfatvel. O argumento anlogo ao usado no exemplo Sklm1.
- os passos 2 a 6 produzem frmulas equivalentes formula obtida no passo 1. Assim, a
frmula obtida no passo 6 (equivalente do passo 1) satisfatvel se e s se a frmula de
entrada, , for satisfatvel.
- a cada introduo de smbolo de funo ou constante de Skolem, ocorrida no passo 7,
a frmula obtida satisfatvel se e s se a frmula antes da substiuio for satisfatvel.
O argumento anlogo ao usado nos exemplos Sklm2 e Skm3.
- os passos 8 a 10 obtm frmulas equivalentes frmula obtida no passo 7. Assim, a
frmula obtida pelo passo 10 (equivalente do passo 7) satisfatvel se e s se a
frmula de entrada, , for satisfatvel.
- os passos 6 e 10 so opcionais. O passo 6 se justifica por evitar que sejam
introduzidas no passo 7 funes com aridade maior do que o necessrio. (a aridade da
funo de Skolem introduzida da esquerda para direita vai depender do nmero de
quantificadores universais que estejam esquerda do quantificador existencial que
est sendo eliminado).

Exemplo PS3
Tome =y(xP(x)Q(x,y,z)) x(P(x) yR(x,y)).
Aplicando o passo 1 obtemos o fecho existencial de :
=zxy(xP(x)Q(x,y,z)) x(P(x)yR(x,y))
O passo 2 no se aplica.

25
Renomeando-se as variveis quantificadas temos:
=suy(xP(x)Q(u,y,s)z(P(z)vR(z,v))
Eliminando os conectivos e em temos:
=suy((xP(x)Q(u,y,s)(Q(u,y,s)xP(x)z(P(z)vR(z,v))
Movendo para o interior da frmula temos:
=suy((xP(x)Q(u,y,s)(Q(u,y,s)xP(x)z(P(z)vR(z,v)))
Passo 6 no se aplica.
Eliminando os quantificadores existenciais temos:
=((P(d)Q(b,c,a)(Q(b,c,a)xP(x)z(P(z)R(z,f(z)))
Obtendo a forma normal prenex temos:
=zx((P(b)Q(c,a,d)(Q(c,a,d)P(x)(P(z)R(z,f(z)))
A matriz da forma j est na forma conjuntiva e o passo 10 no se aplica.

Exerccios
Aplique o algoritmo de Skolemizao s frmulas abaixo
ExPSx[(yR(x,g(y,z)))S(z,h(x,y,z))]
ExPS2.y[R(z,y)zS(z,y)]
ExPSy[xR(x,f(y))S(z,g(x,c))]
ExPSxy[zT(x,y,z)(R(x,y)S(y,x))
ExPSxyz{[P(x, y)P(y,z)P(z,z)]
P(x,y)Q(x,y))Q(x,z)Q(z,z))
ExPSxz[P(z, y) xP(z,x)P(x,z)]

26

Você também pode gostar