• Nenhum resultado encontrado

E ∀x(P

d

(x, g

1

)−→∃y P

d

(y, x)) verdadeira no modelo Zoo? Esta f´ormula, interpretada no

modelo Zoo, quer dizer que, se x devora g

1

, ent˜ao existe algum y que devora x. Em conjuntos, a

quest˜ao ´e a seguinte:

para todo (x, g

1

)∈Devora, existe y tal que (y, x)∈Devora?

Isto n˜ao ´e verdade, pois Efan devora g

1

mas ningu´em o devora. Utilizando as rela¸c˜oes, temos

(Efan, g

1

)∈Devora, mas n˜ao existey tal que (y, Ef an)∈Devora

Logo a f´ormula ∀x(P

d

(x, g

1

)−→∃y P

d

(y, x)) ´e falsa no modelo Zoo.

13.4 Defini¸c˜ao Formal de Modelo

A defini¸c˜ao formal de verdade emprega a no¸c˜ao de satisfabilidade, definida abaixo. Para definir

esta no¸c˜ao, ´e antes necess´ario definir o que ´e o valor de um termot em uma estrutura A dados os

valores que as suas vari´aveis livres devem assumir. O “valor de um termo t” ´e um valor em |A|

resultado da avalia¸c˜ao das poss´ıveis fun¸c˜oes em t e da substitui¸c˜ao das vari´aveis e constantes em

t pelos respectivos valores. Por exemplo, considere um termot=

def

x+c avaliado em um modelo

dos n´umeros naturais em que x´e substitu´ıdo por 1 e ccorresponde a 0. Ent˜ao o valor det neste

modelo com xsubstitu´ıdo por 1 ´e igual a 1 + 0, que ´e 1. Note que em 1 + 0, o + ´e a fun¸c˜ao soma

do modelo, os n´umeros naturais. O + da defini¸c˜ao de t,x+c, ´e apenas um s´ımbolo de fun¸c˜ao sem

significado.

Defini¸c˜ao 13.7. Considere Auma estrutura de uma linguagem L. Seja tum termot(v

1

, v

2

, ...v

n

)

com v

i

, v

2

, . . . v

n

meta-vari´aveis

6

livres

7

e~a = (a

1

, a

2

, ...a

n

) uma seq¨uˆencia de elementos em |A|

(a

i

∈ |A|). O valor det emA, utilizando-se~a, ´e denotado port

A

[~a] e definido indutivamente como:

1. a

i

set ´ev

i

;

2. c

A

set ´e c ec

A

´e o valor de |A| associado `a constante cde L;

3. f

A

(t

A

1

[~a], t

A

2

[~a], . . . t

A

k

[~a]) se t ´e f(t

1

, t

2

, . . . t

k

).

Ent˜ao t

A

[~a] ´e na verdade a aplica¸c˜ao de uma fun¸c˜ao espec´ıfica para A que toma~a e t como

parˆametros e produz um elemento de |A| como resultado:

g

A

:T

×S

−→|A|

T

´e o conjunto de termos da linguagem e S

´e o conjunto de todas as seq¨uˆencias de|A|, de todos

os tamanhos. UsamosAem g

A

para indicar queg ´e espec´ıfico para esta estrutura. Outra estrutura

exigiria um g diferente.

Intuitivamente, t

A

[~a] ´e o elemento de |A| resultado da avalia¸c˜ao de t em A utilizando~a como

valores para as vari´aveis livres. Note que t

A

[~a] ´e um valor em |A| e t ´e apenas uma seq¨uˆencia

de s´ımbolos sem significado. Note que f

A

(t

A

1

[~a], t

A

2

[~a], . . . t

A

k

[~a]) ´e um valor em |A| — a fun¸c˜ao

realmente ´e avaliada.

Exemplo 13.11. Como exemplo de c´alculo do valor de termos, considere a estrutura A =

hN,+,×,0,1i, o termo t igual (x+ 1)y e a sequˆencia~a = (1,3):

t

A

[~a] = (1 + 1)3 = 6

Mais formalmente, temos

((x+ 1)y)

A

[~a] = (x+ 1)

A

[~a]y

A

[~a]

= (x

A

[~a] + 1

A

[~a])y

A

[~a]

= (1 + 1)3

= 23

= 6

Repetiremos este c´alculo colocando iacima, sobre chaves, das partes da f´ormula que s˜ao sintaxe e

m para as partes que s˜ao do modelo. As partes com i n˜ao tˆem significado algum pois s˜ao apenas

linguagem. Mas fornecendo-se um modeloAe uma sequˆencia~a de valores para as vari´aveis livres,

o termo resulta em um valor que ´e elemento do universo do modelo.

6Qualquer uma delas pode ser substitu´ıda por qualquer outra vari´avel da linguagem.

(

i

z }| {

(x+ 1)y)

A

[~a] =

i

z }| {

(x+ 1)

A

[~a]

m

z}|{

i

z}|{y

A

[~a]

= (

i

z}|{

x

A

[~a]

m

z}|{

+

i

z}|{

1

A

[~a])

m

z}|{

i

z}|{

y

A

[~a]

=

m

z }| {

(1 + 1)3

=

m

z}|{

23

=

m

z}|{

6

Utilizando a fun¸c˜aog

A

, temos

g

A

((x+ 1)y, ~a) = 6 com~a= (1,3)

t

A

[~a] ´e o valor de t em A usando os valores de~a para as vari´aveis livres.

Exemplo 13.12. Considere a estrutura A =hR,+,, f,0,1,2i na qual − representa a subtra¸c˜ao

e f ´e a fun¸c˜ao fatorial. Naturalmente, a linguagem possui s´ımbolos iguais a estes. Calculemos

alguns termos usando sequˆencias diferentes:

(a) t ´e (((x

2

+ 2)x

1

)x

3

) + 1 e~a= (5,0,3). Vejamos:

((((

0

z}|{

x

2

+2)

5

z}|{

x

1

)

3

z}|{

x

3

) + 1)

A

[~a] = ((((0 + 2)5))3) + 1

= (25)3 + 1

= 103 + 1

= 31

(b) t ´e −(f(x)2) +y com~a= (5,250).

(−(f(x)2) +y)

A

[~a] = −(f(

5

z}|{x )2) +

250

z}|{y

= −(f(5)2) + 250

= −(1202) + 250

= −(240) + 250

= 10

Note que o valor de t depende n˜ao s´o dos valores de ~a, mas tamb´em da estrutura utilizada.

Poder´ıamos ter valores diferentes em diferentes interpreta¸c˜oes. Por exemplo, suponha que t =

x

1

+x

2

e~a = (1,1). Na estruturaB=def <N, +, , 0, 1>dos n´umeros naturais,t

B

[~a] = 2. Mas

no modelo Z

2

, que cont´em apenas os elementos 0 e 1 e onde 1 + 1 = 0, temos t

Z2

[~a] = 0.

Defini¸c˜ao 13.8. Seja A(v

1

, v

2

, ...v

n

) uma f´ormula em uma linguagem L, v

i

, v

2

, . . . v

n

meta-vari´aveis, A uma estrutura de L e ~a uma seq¨uˆencia em |A|. Escrevemos “~a satisfaz A em A”,

denotado por AA[~a], se uma das condi¸c˜oes abaixo ´e satisfeita.

1. A´et

1

=t

2

et

A 1

[~a] =t

A 2

[~a]. Ou seja,

A(t

1

=t

2

)[~a] sse t

A 1

[~a] =t

A 2

[~a]

O s´ımbolo = que aparece emt

1

=t

2

´e o s´ımbolo da linguagem de primeira ordem. O s´ımbolo

= emt

A

1

[~a] =t

A

2

[~a] ´e o igual do modeloA. Admite-se que todos os modelos utilizam o mesmo

s´ımbolo de igualdade e que este s´ımbolo ´e igual ao s´ımbolo das linguagens de primeira ordem.

Uma nota¸c˜ao mais precisa utilizaria =

A

para denotar igualdade entre os elementos do modelo

A;

2. A´eP(t

1

, t

2

, ...t

n) e (

t

A1

[~a], t

A2

[~a], . . . t

An

[~a])∈P

A

. Ou seja,

AP(t

1

, t

2

, ...t

n

)[~a] sse (t

A1

[~a], t

A2

[~a], . . . t

An

[~a])∈P

A

3. A´e¬B e A6B[~a]. Ou seja,

A¬B[~a] sse A6B[~a]

Escrevemos A6 B[~a] para “~a n˜ao satisfaz A em A”. Isto ´e, utilizando as regras de

satisfa-bilidade apresentadas aqui, n˜ao se consegue provar que AB[~a];

4. A´eB ∨C e AB[~a] ou AC[~a]. Ou seja,

A(B∨C)[~a] sse AB[~a] ou AC[~a]

B e C n˜ao necessariamente possuem todas as vari´aveis livres de B−→C. Ent˜ao

poder-se-ia pensar queB[~a] n˜ao tem significado, pois o n´umero de valores em~apode ser maior do que o

n´umero de vari´aveis livres emB. Ent˜ao, considereB=

def

B(v

1

, v

2

, ...v

n

) eC=

def

C(v

1

, v

2

, ...v

n

);

5. A ´e ∃x B(x). Seja y uma vari´avel que n˜ao pertence ao conjunto de vari´aveis utilizadas em

A. Ent˜ao

A(∃x B(x))[~a] sse existe b∈ |A| tal que AB

x y

[b, ~a].

onde|A|´e o universo da estruturaA. O s´ımbolo B

x

y

´e a f´ormula B comx substitu´ıdo por y.

Naturalmente, b substituir´a y nas aplica¸c˜oes indutivas para se descobrir a satisfabilidade de

A.

Intuitivamente, A A[~a], ~a satisfaz A em A, se A ´e verdade no modelo A segundo a

inter-preta¸c˜ao usual de verdade. Isto ´e, a f´ormula ´e interpretada como se referisse exclusivamente ao

modeloA: a igualdade ´e a igualdade no modelo, os s´ımbolos de predicados de As˜ao os predicados

do modelo, o ∃xde A refere a um elemento espec´ıfico do universo |A| e assim por diante.

Os conectivos derivados∧,−→e←→s˜ao definidos a partir de¬e∨e o quantificador universal

∀´e definido usando∃. A defini¸c˜ao de satisfa¸c˜ao para estes conectivos derivados e para∀´e deduzida

utilizando a defini¸c˜ao de satisfa¸c˜ao para f´ormulas que usam ¬, ∨ e ∃. Ent˜ao temos

1. A(B∧C)[~a] sse AB[~a] eAC[~a]

2. A(B−→C)[~a] sse A6B[~a] ou AC[~a]

3. A(B←→C)[~a] sse (AB[~a] e AC[~a]) ou (A6B[~a] e A6C[~a])

4. A(∀x B(x))[~a] sse AB

x

y

[b, ~a] para todo b∈ |A|

onde y ´e uma vari´avel que n˜ao pertence ao conjunto de vari´aveis utilizadas em B e |A| ´e o

universo da estrutura A. O s´ımbolo B

yx

´e a f´ormula B com x substitu´ıdo pory.

A defini¸c˜ao de satisfa¸c˜ao dada acima exige que a estrutura obede¸ca as regras da l´ogica cl´assica.

Por exemplo, quando se diz que os n´umeros naturais s˜ao uma estrutura para uma certa linguagem

8

exige-se mais do que a presen¸ca das fun¸c˜oes + e . Exige-se, por exemplo, que neste pequeno

mundo dos n´umeros uma f´ormula como ¬B seja considerada “verdadeira” se e somente se B seja

considerada “falsa”. E que∀xB(x) seja considerada “verdadeira” se e somente seB ´e “verdadeira”

quandox´e substitu´ıdo por cada um dos n´umeros naturais. Ent˜ao de certa forma as interpreta¸c˜oes

interpretam tamb´em os s´ımbolos da l´ogica como ¬,−→ e∀. Estes s´ımbolos s˜ao interpretados como

na l´ogica cl´assica, o que pode ser observado nas defini¸c˜oes de satisfa¸c˜ao acima:

• o¬ ´e interpretado com um n˜ao: A¬B[~a] sse~a n˜aosatisfaz B em A;

• o−→ ´e interpretado como no CP: A (B−→C)[~a] sse~a n˜ao satisfaz B em A ou~a satisfaz

C em A;

• o ∧´e interpretado como um “e” na linguagem natural (Portuguˆes, Inglˆes): A (B∧C)[~a]

sse~a satisfaz B em Ae~a satisfaz C em A;

• o∨´e interpretado como um “ou” na linguagem natural: A(B∨C)[~a] sse~a satisfaz B em

Aou~a satisfaz C em A;

• o ←→ ´e interpretado como um “se e somente se” na linguagem natural: A (B←→C)[~a]

sse (~a satisfaz B em Ase e somente se~a satisfaz C em A).

Uma estrutura ent˜ao ´e composta por uma “parte do mundo” mais as regras da l´ogica cl´assica.

Note que a defini¸c˜ao de estrutura engloba, de certa forma, a defini¸c˜ao de tabelas verdade do

c´alculo proposicional: elas dizem o que deve ser verdadeiro e o que deve ser falso (por enquanto,

satisfaz´ıvel e n˜ao satisfaz´ıvel).

Exemplo 13.13. Como exemplo, considere a estrutura A=hZ, <,+,×,0,1i. Iremos verificar se

algumas sequˆencias satisfazem algumas f´ormulas nesta estrutura.

(a) x= 2×x com~a= (5,3,4). Aqui colocamos mais valores na sequˆencia do que vari´aveis livres

na f´ormula. N˜ao tem importˆancia. Usamos o primeiro valor, 2. Ent˜ao ficamos com

A(x= 2×x)[~a] sse x

A

[~a] = (2×x)

A

[~a]

sse 5 = (2

A

[~a]×x

A

[~a])

sse 5 = (2×5)

sse 5 = 10

Ent˜ao ~a n˜ao satisfaz x = 2×x em A, A 6 (x = 2×x)[~a]. Note que na segunda linha em

diante, ×´e a opera¸c˜ao multiplica¸c˜ao em Z. Na primeira linha, a primeira ocorrˆencia de = ´e

um s´ımbolo da linguagem e a segunda ´e a rela¸c˜ao de igualadade em Z.

(b) ∀y(0< z−→(x < y−→x < y+z)) com~a = (3,2,−5). As vari´aveis livres s˜ao x e z (3 para x

e 2 para z).

A(∀y(0< z−→(x < y−→x < y+z)))[~a] sse

para todo y∈Z,A6(0< z)[~a] ou A(x < y−→x < y+z)[~a] sse

para todo y∈Z,(0<2) ´e falso ou (A6(x < y)[~a] ou A(x < y+z)[~a]) sse

para todoy∈Z,(0<2) ´e falso ou (3< y ´e falso ou 3< y+ 2)

Como 0<2 ´e satisfeito emZ, 3 < y n˜ao ´e satisfeito para todoy (pois h´a y menores ou iguais

a 3), temos que~a = (3,2,−5) satisfaz ∀y(0< z−→(x < y−→x < y+z)) em Z. Ou seja,

A(∀y(0< z−→(x < y−→x < y+z)))[~a]

(c) ∀x(x+y = 0) com~a = (1,4). Para~a satisfazer a f´ormula em A, ter´ıamos que ter x+ 1 = 0

para todox∈Z. Como isto n˜ao acontece, temos

A6(∀x(x+y = 0))[~a]

(d) ∃y(x=y+z) com~a= (0,1,2). x assume 0 e z, 1. Ent˜ao para termos

A(∃y(x=y+z))[~a]

´e necess´ario que exista umy∈Z tal que 0 =y+ 1. Basta tomary=−1.

Defini¸c˜ao 13.9. O fecho de uma f´ormula A com vari´aveis livresx

1

,x

2

, . . .,x

n

´e a f´ormula

∀x

1

∀x

2

. . . x

n

A

Exemplo 13.14. O fecho dex+y=z ´e ∀x∀y∀z(x+y=z). O fecho de∃y(f(x

1

, y)< z+x

2

) ´e

∀x

1

∀z∀x

2

∃y(f(x

1

, y)< z+x

2

).

Defini¸c˜ao 13.10. Uma f´ormula A de uma linguagem L ´e verdadeira na estrutura A de L se e

somente se toda seq¨uˆencia~a de|A|satisfazA. Isto ´e,AA[~a] para toda sequˆencia~a. Escrevemos

AA.

Defini¸c˜ao 13.11. Uma f´ormulaA de uma linguagemL ´efalsa na estrutura Ade Lse e somente

se nenhuma seq¨uˆencia~a de |A| satisfaz A. Isto ´e, A 6 A[~a] para toda sequˆencia ~a. Escrevemos

A6A.

Ent˜ao uma f´ormulaA´e verdadeira em uma estrutura se e somente se o fecho deA´e verdadeiro.

Estas defini¸c˜oes s˜ao muito, muito importantes. Elas dizem quando uma f´ormula ´everdadeira

e quando ´e falsa. Estas defini¸c˜oes correspondem, aproximadamente, no C´alculo Proposicional,

a uma f´ormula ser tautologia (verdadeira) e contradi¸c˜ao (falsa). Uma estrutura A na L´ogica de

Primeira Ordem corresponde `as tabelas verdades dos conectivos no CP. E uma seq¨uˆencia~a em A

na LPO corresponde a uma atribui¸c˜ao de valores `as vari´aveis de uma f´ormula no CP; isto ´e, uma

linha da tabela verdade.

H´a algumas observa¸c˜oes importantes sobre as defini¸c˜oes acima:

• uma certa f´ormula pode n˜ao ser verdadeira nem falsa. Por exemplo, na estruturaA=hZ, <

,+,×,0,1i, a f´ormula

x= 2×x

n˜ao ´e verdadeira nem falsa. Temos

A(x= 2×x)[~a] para a= (0) mas

A6(x= 2×x)[~b] para b= (1)

• se uma f´ormula ´e verdadeira ent˜ao ela n˜ao ´e falsa. Se ´e verdadeira, pela defini¸c˜ao ela n˜ao

pode ser falsa. Se ´e falsa, pela defini¸c˜ao de f´ormula falsa ela n˜ao pode ser verdadeira;

• uma f´ormula fechada, sem vari´aveis livres, ´e sempre verdadeira ou falsa.

Defini¸c˜ao 13.12. Uma estrutura Ade uma linguagem L´e um modelopara uma f´ormula A em

L se A´everdadeira em A. Escrevemos AA.

Exemplo 13.15. Como exemplo, considere a estrutura A=hZ, <,+,×,0,1i. Iremos verificar se

algumas f´ormulas s˜ao verdadeiras nesta estrutura; isto ´e, se a estrutura ´e modelo para cada uma

das f´ormulas.

(a) ∃x(x= 2×x). H´a algum x∈Z tal que x= 2×x? Sim, x= 0:

0 = 2×0

0 = 0

Correto. Note que avaliamos a f´ormula dentro do modelo. Assim, os s´ımbolos = e × que

aparecem nestas duas f´ormulas s˜ao o igual do modelo e a multiplica¸c˜ao em Z. Ent˜ao

A∃x(x= 2×x)

Ou, se preferir, Z∃x(x= 2×x);

(b) ∀x∀y∃z (0< z−→(x < y−→x < y+z)). Para todo x, y e z de Z, se z > 0 ent˜ao se x < y

temos x < y +z? Claramente sim. Esta ´e uma f´ormula do tipo A−→(B−→C) que j´a vimos

(Exerc´ıcio 6.8) ser logicamente equivalente a A∧B−→C. Ent˜ao a f´ormula acima quer dizer

“sez >0 e x < y temos x < y+z”? Sim, pois z ´e positivo e temos x < y < y+z.

Ent˜ao

A∀x∀y∃z(0< z−→(x < y−→x < y+z))

Ou, se preferir, Z∀x∀y∃z(0< z−→(x < y−→x < y+z));

(c) ∀x∃y(x+y = 0). Para todo x de Z existe um y em Z tal que x+y = 0? Sim. Escolhendo

x=n, basta tomary =−n. Este y sempre existe em Z. Logo

A∀x∃y(x+y = 0)

(d) ∀x∃y(x=y+ 1). Verdadeiro. Se tomarmos x=n,n ∈Z, podemos tomary=n−1. Note que

se o modelo fosse N, esta f´ormula seria falsa, pois para x = 0 n˜ao existe y tal que 0 =y+ 1.

Concluindo,

A∀x∃y(x=y+ 1)

(e) ∀x∀y∀z(x < y∧y < z−→x < z). Esta f´ormula ´e claramente verdadeira emN,ZeR. A prova

´e trivial e deixada como exerc´ıcio;

9

(f) ∀x∃y(x×y = 1). Esta f´ormula quer dizer que “para todo x ∈ Z, existe um y ∈ Z tal que

x×y = 1”. Falso. Tome x = 2. N˜ao h´a y em Z tal que x×y = 1. Se a estrutura fosse R,

esta f´ormula seria verdadeira. Concluindo,

Z6∀x∃y(x×y= 1)

R∀x∃y(x×y= 1)

Exemplo 13.16. Como exemplo, considere a estruturaA=hN, D, <,+,×,0,1ina qual D´e uma

rela¸c˜ao bin´aria tal que D(x, y) se e somente sex divide y. Exige-se que x6= 0. Ent˜ao

(a) ∀x∃y(y6= 1∧D(y, x)). Falso. Tome x= 1. N˜ao h´a y6= 1 que divide 1;

(b) ∀x(1< x−→(∃y(y6= 1∧D(x, y))). Para todox >1,x∈N, existe um y∈N,y6= 1 tal que x

divide y. Quer dizer, todo n´umero inteiro maior do que 1 ´e divide um n´umero diferente de 1.

Verdadeiro, pois todo n´umero divide o seu dobro;

(c) ∀x(1 < x−→(∃y(y 6= 1∧x 6= y∧D(y, x))). Usamos x 6= y para ¬(x = y). Esta f´ormula ´e

falsa, pois os n´umeros primos s´o s˜ao divis´ıveis por 1 e por eles mesmos. Ent˜ao se tomarmosx

como 7, por exemplo, a f´ormula ´e falsa. E

(1< x−→(∃y(y6= 1∧x6=y∧D(y, x))

tem que ser verdadeira para todox∈N.

9Isto significa que o escritor n˜ao teve paciˆencia suficiente para colocar a prova aqui. Ent˜ao ele deixou para o leitor esta responsabilidade.

Defini¸c˜ao 13.13. Uma estrutura A de uma linguagem L ´e um modelo para um conjunto de

f´ormulas Γ em L se A´e modelo para cada uma das f´ormulas de Γ. Escrevemos AΓ.

Ent˜ao A´e modelo de Γ se e somente se

AA para todoA∈Γ

Exemplo 13.17. Por exemplo,

NΓ no qual

Γ ={∃x(y+x=y),∀x∃y(y=x+ 1),∀x(x= 0∨0< x)}

R Γ no qual Γ = {∀x(x < x+ 1),∀x∀y(x < y−→¬(x = y)),∀x∀y∀z(x < y∧y <

z−→x < z)}

ZΓ no qual Γ ={(x×(y+ 1) =x×y+x),∀x∃y(x+y= 0)}

Defini¸c˜ao 13.14. Escrevemos Γ A para indicar que A ´e verdadeira em todos os modelos do

conjunto Γ.

Isto ´e, para qualquer Amodelo de Γ, ent˜ao AA.

Exemplo 13.18. Seja L

P

uma linguagem com uma ´unica constante 0, os s´ımbolos de fun¸c˜ao

bin´arios + e e s´ımbolo de fun¸c˜ao un´ario p´osfixado

0

. Este ´ultimo s´ımbolo ser´a utilizado como x

0

(quando interpretado nos n´umeros naturais, significa o sucessor de x, que ´e x+ 1).

F1 x=y−→(x=z−→y=z)

F2 x=y−→(x

0

=y

0

)

F3 06=x

0

, que ´e o mesmo que ¬(0 =x

0

)

F4 x

0

=y

0

−→x=y

F5 x+ 0 =x

F6 x+y

0

= (x+y)

0

F7 x0 = 0

F8 x(y

0

) = (xy) +x

F9 (A(0)∧(∀x(A(x)−→A(x

0

))))−→∀x A(x) para qualquer f´ormula A.

Considere que Γ

P

seja o conjunto de f´ormulas F1-F9. Por [F9], h´a infinitas f´ormulas em Γ

P

.

Ent˜ao temos

Γ

P

0 +x=x

Γ

P

∀x(¬(x= 0)−→¬(x= 0

00

x))

Γ

P

∀x∀y(x+y=y+x)

Sup˜oe-se que Γ

P

seja suficientes para caracterizar a Aritm´etica, que ´e um modeloBno qual valem

as “verdades” usuais sobre n´umeros, como 1+1 = 2,∀x∀y(x+y=y+x) e (x+0

00

)y= (xy)+0

00

y.

Estas f´ormulas s˜ao chamadas de “axiomas de Peano”.

O leitor pode se perguntar porque a defini¸c˜ao de estrutura e modelo. Estas defini¸c˜oes

foram feitas sob medida para representar estruturas matem´aticas como os n´umeros naturais e suas

opera¸c˜oes, os n´umeros reais, as diferentes geometrias, grupos, etc.

Lema 13.1. A ´e falso em uma estrutura A se e somente se ¬A ´e verdadeiro.

Prova. A ´e falso em uma estrutura A (defini¸c˜ao de f´ormula falsa) sse nenhuma seq¨uˆencia ~a de

|A| satisfaz A em A sse (expandindo “nenhuma seq¨uˆencia”) toda seq¨uˆencia~a de |A| n˜ao satisfaz

A em A sse (pela defini¸c˜ao 13.8 de 6) para toda seq¨uˆencia ~a de |A| tem-se A 6 A[~a] sse (pela

defini¸c˜ao 13.8 de satisfa¸c˜ao de ¬B) para toda seq¨uˆencia~a de|A| tem-se A ¬A[~a] sse (defini¸c˜ao

de f´ormula verdadeira em uma estrutura) ¬A´e verdadeira.

Esta prova poderia ser resumida [8] para : uma seq¨uˆencia ~a satisfaz ¬A sse~a n˜ao satisfaz A.

Portanto, todas as seq¨uˆencias satisfazem ¬A sse nenhuma seq¨uˆencia satisfaz A. Ou seja, ¬A ´e

verdadeira sse A ´e falsa.

´

E importante observar que, seA possui vari´aveis livres,Apoderia n˜ao ser verdadeiro nem falso

em uma estrutura. Mas se A´e verdadeiro em uma estrutrura A, ¬A´e falso. E seA ´e falso em A,

¬A´e verdadeiro. Ent˜ao temos trˆes poss´ıves “valores verdade” para uma f´ormula A com vari´aveis

livres: V, F, I. Este ´ultimo s´ımbolo representa “a f´ormula n˜ao ´e nem verdadeira nem falsa”.

Pode-se concluir que, se uma f´ormula A n˜ao ´e verdadeira, A pode ter tanto o valor verdade F

como I. Ent˜ao se A n˜ao ´e verdadeira n˜ao se pode concluir que A possui o valor verdade F, que A

´e falsa.

Proposi¸c˜ao 13.1. Os axiomas das teorias de primeira ordem s˜ao verdadeiros em qualquer

estru-tura.

Defini¸c˜ao 13.15. Uma f´ormula A de uma linguagem L ´e logicamente v´alida se e somente se

ela ´e verdadeiraem todas as estruturas de L.

Uma f´ormula ´e verdadeira em uma estrutura se ela ´e verdadeira naquele peda¸co “mundo real”

que chamamos deestruturade uma linguagem (veja defini¸c˜ao 13.10). Se uma f´ormula ´e verdadeira

em todas as estruturas, ent˜ao ´e claro que a veracidade dela n˜ao depende de algo particular de

nenhuma parte do “mundo real”, a sua veracidade n˜ao depende das estruturas. Isto significa que a

f´ormula ´elogicamente v´alidapor causa da defini¸c˜ao 13.10 de verdade, que por sua vez depende

da defini¸c˜ao 13.8 de satisfa¸c˜ao. A defini¸c˜ao de satisfa¸c˜ao depende dasregras da l´ogica usuais, como

A−→B ´e verdade se A´e falsa ou B ´e verdade. Ent˜ao a defini¸c˜ao de logicamente v´alidacoincide

com a defini¸c˜ao usual, que ´e ser verdade independente de uma estrutura espec´ıfica. ´E “verdade”

apenas pelas regras da l´ogica.

A Figura 13.2 mostra conjuntos de f´ormulas verdadeiras em trˆes estruturas de uma linguagem

L. Assuma que estas trˆes estruturas representem todas as poss´ıveis estruturas desta linguagem. As

f´ormulas logicamente v´alidas em L est˜ao na intersec¸c˜ao de todos os trˆes conjuntos representados

na figura, que ´e a ´area em cinza.

Figura 13.2: Conjuntos representando f´ormulas verdadeiras nas estruturas de uma linguagem L.

Assuma que as trˆes estruturas representadas representem todas as estruturas desta linguagem.

Pela defini¸c˜ao de logicamente v´alido, temos que todos os axiomas s˜ao logicamente v´alidos.

Como um exemplo de f´ormula logicamente v´alida temos

• ∀x A−→∃x A, que quer dizer, em uma estrutura, que se todos os elementos do modelo

satisfazem certas propriedades dadas por A, ent˜ao existe um elemento que satisfaz aquelas

propriedades;

• A−→A, ´obvio;

• ∃x B−→(∀x A(x)−→A(t)), pois∀x A(x)−→A(t) ´e logicamente v´alida. Vejamos porquˆe. Esta

f´ormula quer dizer que, para todo x do universo do modelo, se A(x) for v´alido ent˜ao A(t)

tamb´em o ser´a (note a precedˆencia: (∀x A(x))−→A(t)). Como A(x) ´e verdadeiro para todos

os elementos do universo, ser´a v´alido para um valor do termo t quando interpretado no

modelo. Pelas propriedades do conectivo −→, a f´ormula toda ´e logicamente v´alida (se B ´e

V, ent˜ao A−→B ´e V).

Defini¸c˜ao 13.16. Considere as f´ormulas A e B de uma mesma linguagem L. Dizemos que uma

f´ormula A logicamente implica uma f´ormula B se, para toda estrutura de L, toda seq¨uˆencia

que satisfaz A tamb´em satisfaz B.

Exemplo 13.19. Seja A=

def

∃x(P(x, y)∧Q(x, y)) e B=

def

∃x Q(x, y). Ent˜ao A implica

logi-camente B. Para cada sequˆencia~a que satisfaz A e cada estrutura A, temos A (∃x(P(x, y)∧

Q(x, y)))[~a] o que implica emA(∃x Q(x, y))[~a]. Em resumo, se temosX eY em uma estrutura,

ent˜ao temos obrigatoriamente Y nesta mesma estrutura. N˜ao ´e poss´ıvel ter uma estrutura com

uma seq¨uˆencia que satisfaz a primeira f´ormula sem satisfazer a segunda.

Defini¸c˜ao 13.17. Considere as f´ormulas A e B de uma mesma linguagem L. Dizemos que uma

f´ormula A ´e logicamente equivalente a uma f´ormula B se A implica logicamente B e

vice-versa.

Exemplo 13.20. Seja A=

def

∀x(R(x, y, z)−→S(y, x)) e B=

def

∀x(¬S(y, x)−→¬R(x, y, z)). As

duas f´ormulas s˜ao logicamente equivalentes pois X−→Y ≡ ¬Y−→¬X.

Defini¸c˜ao 13.18. Considere a f´ormulaAe um conjunto Γ de f´ormulas de uma linguagemL. Uma

f´ormula A ´e uma conseq¨uˆencia l´ogica de um conjunto de f´ormulas Γ se A ´e verdadeira em

todos os modelos de Γ. Isto ´e, se A Γ para certo modelo A, ent˜ao A A. Escrevemos Γ A

como na Defini¸c˜ao 13.14.

Exemplo 13.21. Neste exemplo usaremos os axiomas de Peano do exerc´ıcio 13.18, o conjunto

Γ

P

. A partir destes axiomas, temos

Γ

P

x+y=y+x

Γ

P

∃x(y+y=x)

Γ

P

∃z(¬(z = 0)∧x+z =y)−→¬(x=y)

Para provar que Γ A, tome um modelo A qualquer (gen´erico, n˜ao espec´ıfico) de Γ e prove

queAA. Por exemplo, provaremos que

∀x

1

Q(x

1

)Q(c)

no qual c´e uma constante da linguagem.

SejaA um modelo de∀x

1

Q(x

1

). Ent˜ao temos Q(b) para todo elementob ∈ |A| e

consequente-mente, Q(c), pois crefere-se a um elemento espec´ıfico de A. Note queQ(b) refere-se ao predicado

do modelo e Q na f´ormula ´e apenas um s´ımbolo da linguagem.

Para provar que Γ 6 A, basta encontrar um modelo de Γ em que A ´e falsa. Por exemplo,

suponha que queremos provar que

Q(c)6∀x Q(x)

Claramente isto ´e correto, pois se temos Q(c) n˜ao necessariamente temos Q(x) para todo

x da estrutura. Se algu´em tem olhos azuis, n˜ao necessariamente todo mundo tem olhos azuis.

Acharemos um contra-exemplo concreto para este caso.

Considere o modeloAcom universo|A|={0,1}que associa `a constantecda linguagem o elemento

0. O predicado Q ´e {0}. Ent˜ao AQ(c)[b] para todob ∈ |A|, pois 0∈Q e b n˜ao ´e utilizado. Ou

mais claramente, AQ(c) pois temos Q(0) na estrutura A. Mas 1 6∈Q e portanto n˜ao ´e verdade

que para todo x do universo da estrutura, temos Q(x). Mais formalmente, n˜ao ´e verdade que

A(∀x Q(x))[b] para todo b ∈ |A|

Isto significaria 0∈Q e 1∈Q. N˜ao se esque¸ca de que usamos Q para s´ımbolo de predicado (nas

f´ormulas) e Qpara o predicado da estrutura.

13.5 Considera¸c˜oes Finais

Esta Unidade ensinou como associar conjuntos de f´ormulas a algo chamadomodelo. Ou o contr´ario,

podemos abstrair o modelo em um conjunto de f´ormulas, colocando nelas apenas os fatos que nos

interessam. Vimos que um conjunto de f´ormulas pode ser associado a mais de um modelo. De

fato, qualquer conjunto de f´ormulas pode ser associado a nenhum ou a infinitos modelos. Sim,

pode n˜ao existir nenhum modelo para as f´ormulas. Por exemplo, n˜ao h´a nenhum modelo para a

f´ormula P(x)∧ ¬P(x) pelo simples fato de que ela n˜ao ´e verdadeira de nenhum modo.

A associa¸c˜ao de f´ormulas a um modelo ´e uma ferramenta muito ´util. Inicialmente abstra´ımos

o modelo para um conjunto de f´ormulas Γ e a partir da´ı podemos trabalhar estas f´ormulas

sintati-camente. Utilizando Γ, os axiomas da L´ogica de Primeira Ordem e as regras de dedu¸c˜ao, podemos

produzir teoremas que s˜ao sempre verdadeiros no modelo. Em resumo, podemos produzir verdades

a respeito do mundo utilizando apenas algumas poucas regras da l´ogica.

13.6 Exerc´ıcios

13.1. Defina estrutura para uma linguagem. Dˆe um exemplo de linguagem e de duas estruturas

para ela.

13.2. As fun¸c˜oes de uma estrutura podem ser de um subconjunto do universo para outro

subcon-junto ?

13.3. Explique a frase: “um conjunto de f´ormulas l´ogicas comprimem informa¸c˜oes sobre uma parte

do mundo real”. Na sua explica¸c˜ao, explique porque as dedu¸c˜oes que podem ser feitas utilizando

as f´ormulas permitem comprimir uma grande quantidade de informa¸c˜ao em poucas f´ormulas.

13.4. (Muito Importante) Fa¸ca um modeloA para cada um dos itens abaixo tal que

(a) os predicados un´arios P eQ, que s˜ao subconjuntos de |A|, satisfa¸cam P ⊂Q;

(b) os predicados un´arios P eQ satisfa¸cam P ⊂Q e P 6=Q;

(c) os predicados un´arios P eQ satisfa¸cam P ∩Q=∅;

(d) os predicados un´arios P eQ satisfa¸cam P ∩Q6=∅;

(e) os predicados un´arios P eQ satisfa¸cam P ∪Q=|A|;

(f) os predicados un´arios P eQ satisfa¸cam P ∩Q6=∅ eP ∪Q6=|A|;

(g) os predicados un´arios P,Q e R satisfa¸cam P ∩Q∩R 6=∅, P ∪Q∪R6=|A|;

(h) 1)R(x, y) sempre que x6=y; 2) sempre queQ(x),P(y), x6=y, ent˜ao R(x, y);

(i) todoxesteja relacionado (via uma rela¸c˜ao bin´ariaR) com todoydiferente dele (o que ´e isto?);

(j) h´a um grupo de elementos (com dois ou mais elementos — vocˆe fixa este n´umero) relacionados

entre si via uma rela¸c˜ao bin´aria R sendo que nenhum elemento deste grupo se relaciona com

nenhum outro elemento que n˜ao pertence a este grupo.

13.5. (Muito importante) Prove que as f´ormulas abaixo n˜ao s˜ao logicamente v´alidas. Isto ´e, cada

uma delas n˜ao ´e v´alida em algum modelo.

1. ∀x∀y(f(x) =f(y)−→x=y)

2. ∀x∀y∀z(x < y∧y < z−→x < z)

3. R(x, y)

4. P(x)−→Q(x)

5. R(x, y)←→∃x∃y P(x)∧Q(y)

6. ∀x∃y(y×y=x)

7. R(x, y)−→S(x, y)

13.6. Fa¸ca dois modelos para a f´ormula ∀x∀y∃z (¬(z = x)∧ ¬(z = y)). Interpretada nestes