logica de primeira ordem sintaxe semantica propriedades sintaticas

38
Lógica de Primeira Ordem 1. Sintaxe Introdução A linguagem da lógica proposicional não é adequada para representar relações entre objetos. Por exemplo, se fôssemos usar uma linguagem proposicional para representar "João é pai de Maria e José é pai de João" usaríamos duas letras sentenciais diferentes para expressar idéias semelhantes (por exemplo, P para simbolizar "João é pai de Maria "e Q para simbolizar "José é pai de João" ) e não estaríamos captando com esta representação o fato de que as duas frases falam sobre a mesma relação de parentesco entre João e Maria e entre José e João. Outro exemplo do limite do poder de expressão da linguagem proposicional, é sua incapacidade de representar instâncias de um propriedade geral. Por exemplo, se quiséssemos representar em linguagem proposicional "Qualquer objeto é igual a si mesmo " e "3 é igual a 3", usaríamos letras sentenciais distintas para representar cada uma das frases, sem captar que a segunda frase é uma instância particular da primeira. Da mesma forma, se por algum processo de dedução chegássemos à conclusão que um indivíduo arbitrário de um universo tem uma certa propriedade, seria razoável querermos concluir que esta propriedade vale para qualquer indivíduo do universo. Porém, usando uma linguagem proposicional para expressar "um indivíduo arbitrário de um universo tem uma certa propriedade " e "esta propriedade vale para qualquer indivíduo do universo" usaríamos dois símbolos proposicionais distintos e não teríamos como concluir o segundo do primeiro. A linguagem de primeira ordem vai captar relações entre indivíduos de um mesmo universo de discurso e a lógica de primeira ordem vai permitir concluir particularizações de uma propriedade geral dos indivíduos de um universo de discurso, assim como derivar generalizações a partir de 1

Upload: lisieuxmarie

Post on 13-Sep-2015

224 views

Category:

Documents


0 download

DESCRIPTION

bre histórico sobre logica 1a ordem

TRANSCRIPT

Lgica de Primeira Ordem

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"

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 x(x;

- "Existem nmeros naturais que so pares" por (xPar(x);

- "Scrates homem" por Homem(soc);

- "Todo aluno do departamento de Cincia da Computao estuda lgica" por(x(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((x(0 ((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:sn(s 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: s0(s. Desta forma temos suc: s1(s ou mais simplesmente, suc: s(s, Par: s, Aluno: s2 e 0: s0(s.

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.

Daremos a seguir as definies dos conceitos discutidos acima.

Def Sin1

Uma assinatura de uma linguagem de primeira ordem (mono sortida) consiste de um conjunto de seqencias cujos elementos so da forma

f: sn(s, com n(0 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: sn(s que ocorrem em . Para cada n, se f: sn(s 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(;

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

claro que na(x)=0=nf(x), para x(VAR.

ii) Se c smbolo de constante na(c)=0=nf(c). Logo c(S

iii) Se t1, t2, ..., tn(S 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.

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 f(x: W ( W por f(x(() = ((x() e f(x: W ( W por f(x(() = ((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 f(x, f(x, 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))

(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 x(VAR e um termo t(TEM(), 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)

Uma substituio um conjunto finito de substituies simples (={x1:=t1,x2:=t2xn:=tn} tal que xi(xj para i(j.

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.

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 Qv (v ou v). Isso ilustrado na figura abaixo.

EMBED "Equation" "Word Object1" \* mergeformat

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 Qv (v ou v).

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[(wR(u,g(v,w)))S(w,h(u,v,w))];F2: v[R(u,v)uS(u,v)];

F3: v[uR(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[(uT(u,v,w)(S(u,w)Q(v))];

F7: u[P(u)w(T(u,v,w)T(v,u,v))];F8: uT(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)[vR(u,v)(wS(u,w)];

F13: vuR(h(u,c,d),f(v));F14: uv[wT(u,v,w)(R(u,v)S(v,u));

F15: vS(w,g(u,c))];F16: uv[wT(u,v,w)(R(u,v)S(v,u));

F17: uv[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};

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

EMBED "Equation" "Word Object2" \* mergeformat

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[v(d(u)], com d sendo 'dobro'.

- A frmula F(v) afirma (sobre v) que v o dobro de algum u.

- A frmula F(w)=u[w(d(u)] afirma (sobre w) que w o dobro de algum u.

- J a frmula F(u)=u[u(d(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+w(d(u)] no afirma(sobre u+w) que u+w seja o dobro de algum nmero.

Nas duas substituies F(u)=u[u(d(u)] e F(u+w)=u[u+w(d(u)] encontramos colises de variveis. Na frmula original F(v)=u[v(d(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.

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 variveis. Para isso, usaremos a notao 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 =t1(t2 ( = t1((t2(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.

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((x(c) 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=, 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 frmulas P(c,d) como 02 (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 0m}( 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];

- 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 z(x 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 b(A, 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 = , 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 = , 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 = , 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 = , 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.

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=1(n.

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 (x1(x ... (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).

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

Considere a frmula ( : Q(c,y) e A = , 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.(x(y P(x,y) ((y(x P(x,y) lgicamente vlida ?

4. (y(x P(x,y) ( (x(yP(x,y) lgicamente vlida ?

5. (y(x P(x,y) ( (x(y P(x,y) lgicamente vlida ?

6. (y(x P(x,y) ((x(y 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 ((x(((x(( so lgicamente vlidas

Def Sem 7 Equivalncia lgica: eq Duas frmulas e so lgicamente equivalentes se e s se a frmula ( lgicamente vlida.

Exemplos

1) (y(x e (x(y 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

{(y(x P(x,y)} |=(x(yP(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

|( (x(y(f(x)=f(y)(x=y) ( (xQ(f(x),x)

{(x(y(z(R(x,y)(R(y,z)(R(x,z)), (x(y(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

(={(x(y(f(x)=f(y) (x=y), (xQ(f(x),x)} e a estrutura A = 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 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)(xy(Menor(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 (x(y(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

(x(y(z(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 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.

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 formak 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( e(x((;

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 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 n(S, 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 (=(x(1. Para os demais casos o argumento anlogo.

Para (=(x(1, 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[(:=(] eq(x(1(()=(.

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 )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 =(x(y((xP(x)(Q(x,y,z))( (x((P(x)((yR(x,y))

Eliminando-se (obtemos

=(x(y[((xP(x)Q(x,y,z))( (Q(x,y,z) (xP(x))] ((x((P(x)( (yR(x,y))

Renomeando as variveis ligadas obtemos

=(x(y[((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

=(x(y[((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

=(x(y[(v(P(v)Q(x,y,z))( (w(Q(x,y,z) P(w))] ((u(s((P(u) (R(u,s))

=(x(y[(v((P(v)Q(x,y,z))( (w(Q(x,y,z) P(w)))] ((u(s((P(u) (R(u,s))

=(x(y[(v((w((P(v)Q(x,y,z))( (Q(x,y,z) P(w))))] ((u(s((P(u) (R(u,s))

=(x(y(v(w((P(v)Q(x,y,z))( (Q(x,y,z) P(w))) ((u(s ((P(u)(R(u,s))

=(s(u(x(y(v(w{(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 ' equivalente a em forma normal conjuntiva (disjuntiva). A frmula Qx' equivalente a Qxpelo lema PS2

Exemplo PS2

Tome =(x(y((xP(x)(Q(x,y,z)( (x((P(x)((yR(x,y)).

O algoritmo anterior aplicado a d como sada a frmula

=(s(u(x(y(v(w{(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, (s(u(x(y(v(w{((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 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 (=(y(xP(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 (y(xP(x,y) verdade neste contexto.

Neste exemplo mostramos que (y(xP(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.

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 :

=(z(x(y((xP(x)(Q(x,y,z))( (x((P(x)((yR(x,y))

O passo 2 no se aplica.

Renomeando-se as variveis quantificadas temos:

=(s(u(y((xP(x)(Q(u,y,s)((z((P(z)((vR(z,v))

Eliminando os conectivos (e em temos:

=(s(u(y((((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:

=(s(u(y(((x(P(x)(Q(u,y,s)(((Q(u,y,s)((xP(x)((z(P(z)((v(R(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:

=(z(x(((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))

ExPS(xz[P(z, y)( (xP(z,x)(P(x,z)]

A verso polisortida dos conceitos desta seco sero tratados separadamente.

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

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

17