Categorias
Filosofia

Lógica: uma introdução — parte 4

Apresentação à sintaxe e à semântica da lógica de 1ª ordem com identidade; explicação sobre as estruturas e a noção de consequência semântica.

Introdução

Na parte 3 de nossa série de artigos sobre lógica, vimos um pouco sobre os tipos de argumentos feitos desde a antiguidade e também exemplos de dedução natural; também aprendemos a verificar se um argumento é sintaticamente ou semanticamente válido, seja de forma direita ou indireta.

Agora, chegou a hora de dar um upgrade na nossa lógica. Até aqui o que lhes foi apresentado se tratava daquilo comumente chamado de lógica proposicional ou lógica de ordem zero ou, ainda, cálculo proposicional clássico (CPC). Contudo, a nossa linguagem ainda é muito fraca e pouco expressiva, não conseguindo lidar com certas proposições, o que acaba limitando o seu escopo.

Agora, pois, veremos as noções de quantificação, predicação, identidade e também a semântica de estruturas, bem como verificar a validade de fórmulas e argumentos. Em suma, vamos subir um degrau até a lógica de 1ª ordem.

1. Sintaxe

1.1. Predicados, variáveis e constantes individuais

Antes de falarmos sobre quantificação ou semântica, precisamos falar sobre a mudança na nossa sintaxe e no conjunto de nossos símbolos.

Como vimos anteriormente, o nosso alfabeto era formado por letras sentenciais minúsculas (p, q, r, s,…) e os nossos cinco operadores fundamentais (∨, ∧, ¬, ⇔, ⊃). Isso, no entanto, irá mudar na lógica de primeira ordem. Primeiramente, iremos introduzir os predicados, que são representados por letras maiúsculas que agem como propriedades ou relações entre os indivíduos:

  • A, B, C, D, E, F,…, W, X, Y, Z, A¹, A²,…, B¹, B²,…

E, além desses, teremos também as constantes individuais, que são representadas por letras minúsculas que, em suma, figuram nomes de indivíduos:

  • a, b, c, d, e,…, t, u, v,…, a¹, a², a³, a⁴,…, b¹, b²,…

Por último, temos as variáveis proposicionais que são como pronomes:

  • w, x, y, z, x¹, x², x³,…, y¹, y², y³,…, z¹, z²,…

Os índices acima de um deles são garantias de que possamos ter infinitos predicados e infinitas constantes e variáveis.

Agora, qual será o papel de cada um deles? Simples: no CPC, quando formalizávamos uma proposição como “Sócrates é homem”, a representávamos apenas com uma letra qualquer, como “h”, por exemplo. Porém muita informação se perde com isso. Vendo apenas o “h” não sabemos a quem se refere tal predicado. Agora, no entanto, podemos expressar esta proposição de um jeito mais adequado, da seguinte maneira:

Hs

Ora, o predicado H refere a “ser homem” enquanto a constante individual s representa “Sócrates”. Usa-se geralmente a primeira letra do predicado ou do nome para se facilitar a identificação; isso, porém, não é regra, pois podemos usar qualquer letra para nos expressarmos. Como se pode perceber, a leitura na lógica é invertida: primeira vem o predicado e depois o sujeito da proposição. O mesmo também pode ser feito com proposições compostas, por exemplo: “Sócrates é homem e racional”. Isso se expressaria como:

Hs∧Rs

Temos dois predicados (H e R) que falam sobre um mesmo indivíduo unido numa conjunção. Mas também é possível falar de indivíduos diferentes de uma mesma proposição. Seja “Rayssa é bonita e João é feio” a nossa sentença, e sendo B := “é bonita”, F:= “é feio”, R:= “Rayssa” e j:= ”João”, formalizamos como:

Br∧Fj

E se quisermos falar de duas pessoas diferentes com o mesmo nome? Como diferenciá-los? Nesse caso, podemos fazer uso dos índices sobre as constantes. Por exemplo: “Foi João Batista quem batizou as pessoas e não João o discípulo”. Formalizamos da seguinte forma, sendo que B:= “batizou”, j¹:= “João Batista”, j²:= “João, o discípulo”:

Bj¹∧¬Bj²

O que vimos nesses exemplos são predicados de tipo unário, isto é, que falam acerca de um indivíduo por vez apenas. Contudo, podemos ter predicados binários, por exemplo, como: “Carlos é marido de Gabriela”.

Mcg.

Aqui, M:= “é marido de”, c:= “Carlos”, g:= “Gabriela”. Alguns adotam a convenção de colocar o predicado entre as constantes para deixar a leitura mais natural, ficando algo parecido com cMg. Não usaremos esta convenção aqui, mas ela pode ser usada por aqueles que se sentirem mais confortáveis assim.

E bem, além dos predicados binários podemos ter terciários, quaternários, etc., e também temos os predicados zero-ários. Há certas proposições que não possuem sujeito, como “fez frio”, “choveu ontem”, “são cinco horas”… As chamadas orações com verbos impessoais. Para formalizá-las usamos apenas letras sentenciais comuns em maiúsculo (P, Q, R, S,…).

Agora, a função das variáveis. Elas são usadas quando falamos de indivíduos indefinidos que não especificamos com um nome (constante), por isso são análogos aos pronomes da linguagem natural. Proposições na forma de: “Todo homem é mortal”, “alguém é bonito”, “ele(a) é bonito(a)”, “você é atrapalhado”, etc. Em suma, sentenças que levem pronomes.

Ora, se queremos dizer que “Roberto gosta de alguém” sem especificar quem é este alguém, podemos formalizar da seguinte maneira:

Grx

Em que G é o predicado binário “x gosta de y”, r:= “Roberto” e x o nosso sujeito indeterminado. Outras construções possíveis com o uso de variáveis são:

  • Lxx, Fay, Dbxy, Qyax, Txyz, etc.

E claro, infinitas outras. “Se Maria é mãe de alguém, então ela é casada com José”, seria como:

  • (Mmx⊃Cmj), em que M:= “x é mãe de y” e C:= “x é casado com y”.

As constantes individuais e variáveis formam o conjunto daquilo que chamamos de termos.

1.2. Quantificadores

Além do que já citamos, a grande novidade da lógica de primeira ordem está nos quantificadores. Estas noções já existiam desde Frege¹ e assim foram trazidas e aperfeiçoadas para a lógica que usamos hoje. Estaremos fazendo uso aqui da mesma notação que Cezar A. Mortari faz em seu Introdução à Lógica. No entanto, vale dizer de antemão que os símbolos podem aparecer de forma diferente dependendo do autor².

A função dos quantificadores é nos mostrar a extensão daquilo que afirmarmos, seja para todos ou para alguns. Há dois deles:

  • ∀, o universal; e
  • ∃, o existencial.

O universal nos diz que todos os indivíduos possuem uma propriedade ϕ qualquer. Enquanto o existencial nos diz que pelo menos um indivíduo possui tal propriedade ϕ. Em outras palavras:

  • ∀xPx quer dizer que “todo x é P”; e
  • ∃xPx quer dizer que “algum (pelo menos um) x é P”.

É bastante simples de entender.

Os quantificadores se aplicam à variável que vem sempre após ele. Se temos que ∀x, estamos falando de todo x e o mesmo vale para o existencial (no caso, para algum x).

Se temos então que “todo homem é mortal”, formalizaremos como:

∀x(Hx⊃Mx)

Isto é, para todo x, se x é homem, então x é mortal.

Perceba que o escopo do quantificador está em toda a fórmula dentro do parênteses. Existe diferença entre dizer:

  • ∀x(Px⊃Qx); e
  • ∀xPx⊃Qx.

No primeiro caso, o universal está tanto sobre Px quanto sobre Qx. Entretanto, no segundo caso, o quantificador aplica-se somente a Px, e Qx está fora de seu escopo.

Podemos ter uma multipla quantificação sobre determinada fórmula. Por exemplo, se quisermos dizer que: “Todos gostam de alguém”, podemos, formalmente, expressar isso como:

∀x∃yGxy

Isto é, para todo x, existe um y tal que x gosta de y.

O importante é apenas diferenciar as variáveis que estão no escopo de cada quantificador. No exemplo acima, x está no escopo do universal, enquanto y está no escopo do existencial. Se tivéssemos algo como:

∀x∃xPx

um dos operadores seria supérfluo, podendo simplesmente ser eliminado. E claro, nada nos impede de ter longas cadeias como:

∀w∀x∀y∀z[1]Qx⊃Pw)⇔(Ryx∨Swz

Os quantificadores serão bem importantes quando falarmos de estruturas e dedução natural. Ademais, boa parte da sintaxe que já conhecíamos do CPC permanece aqui. Depois consistentemente definir o que é uma fórmula na nossa linguagem de 1ª ordem:

  1. Se ϕ é um símbolo de predicado n-ário, para todo número natural n≥0 e t1, t2,…, tn são termos, então ϕt1,…, ϕtn é uma fórmula (atômica);
  2. Se α e β são fórmulas, então ¬α, (α∧β), (α∨β), (α⊃β), (α⇔β) são fórmulas (moleculares);
  3. Se x é uma variável e α é uma fórmula na qual x ocorre, então ∀xα e ∃xα são fórmulas (gerais);
  4. Nada mais é uma fórmula.

2. Semântica

A parte mais interessante de tratar na lógica de 1ª ordem certamente é sua semântica. A já apresentada no CPC podia lidar muito bem com nossas fórmulas atômicas e moleculares, mas não temos como lidar nem com os termos nem com os quantificadores em tabelas-verdade. Por isso, precisamos de um novo meio de determinar o valor-verdade de uma fórmula, seja ela atômica, molecular ou geral.

2.1. Estruturas

Para falarmos da linguagem de 1ª ordem precisamos atribuir aos nosso componentes um valor semântico, isto é, uma interpretação ou significado. No CPC isso é fácil, bastava apenas atribuir um valor de verdade à fórmula. Mas como fazer o mesmo com as constantes, predicados e quantificadores? Para isso não podemos simplesmente dizer se são verdadeiras ou falsas, temos que dizer por quê, ou seja, precisamos especificar as suas condições de verdade. E como fazemos isso? Pelas estruturas. Esta foi a semântica criada pelo lógico e filósofo Alfred Tarski no seu ensaio de 1936: O conceito da consequência lógica.

Mas no que consiste uma estrutura? Simples:

  • Uma estrutura 𝕬 é um par ordenado formado pelo nosso universo de discurso e pela função interpretação <U, I>.

Em outras palavras, precisamos determinar de que entidades estamos nos referindo e qual interpretação damos a cada uma delas. Isso ficará mais claro adiante.

Primeiramente, precisamos montar um universo de discurso para nossa estrutura 𝕬 (seguindo mais uma vez a notação de Mortari, as estruturas serão representadas pelas letras góticas 𝕬, 𝕭, 𝕮, 𝕯, etc.) e este conjunto deve ser não-vazio, isto é, conter pelo menos um elemento³ e essa é a única restrição geralmente feita.

Partiremos, então, a falar sobre como determinamos a função interpretação do nosso conjunto. Tomemos o seguinte conjunto de indivíduos:

  • A= {Allan, Andrew, Daniel, Vitor, Sarah, Erick}

Este é o nosso universo de discurso, as entidades que “existem” para nós. Agora, vamos supor que a nossa linguagem seja composta pelos símbolos: {a, n, d, v, s, e, H, M, N}, sendo N um predicado binário e todos os demais unários. O próximo passo é darmos uma interpretação informal para cada constante e predicado que com a nossa função interpretação.

Começando pelas constantes. Como elas são como nomes, precisamos associá-las a indivíduos; assim, temos que:

I(a)=Allan

I(n)=Andrew

I(d)=Daniel

I(v)=Vitor

I(s)=Sarah

I(e)=Erick

Tendo cada constante a sua devida interpretação, agora lidaremos com os predicados. Ora, os predicados nada mais são do que subconjuntos do nosso conjunto A. Então para todo predicado nós associaremos uma propriedade que corresponde a um subconjunto de A.

Digamos, então, que: H:= “x é homem”, M:= “x é mulher” e N:= “x namora y”. Lembrando que esta é uma interpretação informal. Podemos dar a interpretação que quisermos aos predicados.

Por último, suponhamos que: H = {Allan, Andrew, Daniel, Vitor, Erick} e M = {Sarah}. Isto é, Allan, Andrew, Daniel, Vitor e Erick pertencem ao conjunto dos homens e Sarah é a única pertencente do conjunto unário das mulheres.

O predicado N é um caso particular. Ao invés de associarmos um conjunto a ele, por ser binário, o associamos um par ordenado⁴. No nosso caso será: N = {<Andrew, Sarah>}.

2.1.1. Fórmulas atômicas

Com isso podemos, finalmente, darmos as condições de verdade das fórmulas atômicas e moleculares na nossa estrutura (trataremos das gerais logo, logo). Tomemos a seguinte fórmula como exemplo:

Hd

Ela está no dizendo que a constante d pertence ao conjunto H. Se formos verificar quais elementos pertencem ao conjunto veremos que isto é verdadeiro, pois, Daniel está neste conjunto e a constante que associamos a Daniel foi justamente d. Portanto, 𝕬(Hd)=V se e somente se I(d) ∈ I(H).

Disso concluímos que uma fórmula será verdadeira em uma estrutura se e somente se o termo da fórmula atômica pertencer ao subconjunto ϕ. Formalmente…

𝕬(ϕt)=V sse I(t) ∈ (ϕ)

Onde t é uma constante (ainda não estamos tratando de variáveis) e ϕ um predicado qualquer.

Como saber se Ms é verdadeiro? Basta vermos se a função atribuída a s pertence ao subconjunto M. O que sabemos ser verdadeiro, pois s está associado a Sarah, que é o único elemento do conjunto M. De onde se conclui que 𝕬(Ms)=V.

2.1.2. Fórmulas moleculares

Se sabemos que 𝕬(Ms)=V, então é intuitivo concluirmos a partir disso que 𝕬(¬Ms)=F, já que a negação de uma proposição tem sempre o seu valor inverso. Isto está correto e é a maneira de lidar com as fórmulas moleculares com uma negação. Na verdade, todo o processo de determinar a verdade das fórmulas moleculares será bem parecida com a maneira do CPC: o valor-verdade da fórmula molecular será dado a partir do valor-verdade das fórmulas atômicas que a constituem.

Por exemplo: podemos dizer que Hd∨¬Ms é verdadeira, pois sabemos que I(Hd)=V, mesmo que I(¬Ms)=F; sendo assim, a disjunção é verdadeira. Também a fórmula Ms⊃Nes retorna falsa em nossa estrutura, pois o antecedente I(Ms)=V e o consequente I(Nes)=F. O mesmo se segue para todo operador.

2.1.3. Fórmulas gerais e variáveis

Precisamos saber agora como lidar com os quantificadores e as variáveis. Como determinar se ∃xHx é verdadeiro ou não? Bem, seguindo o mesmo princípio de saber se uma fórmula é verdadeiras pelas suas partes, devemos, então, saber qual o valor-verdade de Hx. Mas de que forma? Não temos uma constante associada aí.

O procedimento é bem simples: iremos substituir a variável por uma constante associada à nossa estrutura. Lembre-se: as variáveis são como indivíduos indeterminados; o que estamos fazendo aqui seria algo como “explicitar” a entidade a qual ela se refere. Sendo assim, podemos substituir Hx por Ha, por exemplo, e, sabendo que I(Ha)=V podemos, portanto, dizer que I(∃xHx)=V.

De maneira mais clara, ∃xHx recebe o valor de V em 𝕬 se e somente podemos substituir x por alguma constante qualquer e a fórmula resultante (Ha, por exemplo) for também de valor V. Ou, formalmente:

𝕬(∃xα)=V sse 𝕬(α[x/c])=V, para pelo menos uma constante c.

O sinal de [x/c] quer dizer que a variável x que ocorre em α pode ser substituída por uma constante c qualquer do universo de discurso.

Para facilitar ainda mais o entendimento, pense no quantificador existencial como uma disjunção. Assim:

𝕬(∃xHx)=V sse 𝕬(Ha)=V ou 𝕬(Hn)=V ou 𝕬(Hd)=V ou 𝕬(Hv)=V ou 𝕬(Hs)=V ou 𝕬(He)=V

Pela semântica da disjunção, se pelo menos um desses valores for de fato verdadeiro, então 𝕬(∃xHx) também será verdadeiro.

Um processo semelhante é feito com o quantificador universal; mas, como já se pode imaginar, ao invés de pelo menos um, ele falará da propriedade de todos os elementos. Então, as condições do quantificador universal é:

𝕬(∀xα)=V sse 𝕬 (α[x/c])=V, para toda constante c.

Isto é, para proposições universais serem verdadeiras em 𝕬 é preciso que toda constante c possa ser substituída em x. Por exemplo, a proposição:

∀xHx

Ela não é verdadeira em 𝕬 e é fácil verificar por quê. Ora, sabemos pela definição informal de A que Sarah não é homem, o que já exclui a constante s como termo substituível em x.

Analogamente ao que fizemos ao quantificador existencial, podemos transformar o universal em uma conjunção, ou seja:

𝕬(∀xHx)=V sse 𝕬(Ha)=V e 𝕬(Hn)=V e 𝕬(Hd)=V e 𝕬(Hv)=V e 𝕬(Hs)=V e 𝕬(He)=V.

Sendo uma conjunção, se pelo menos um dos componentes dela for falso, então ela inteiramente é falsa também. E é exatamente isso o que acontece com Hs, que é falso, já que I(s) ∉ I(H). Como 𝕬(∀xHx)=F, podemos imediatamente concluir disso que 𝕬(¬∀xHx)=V, isto é, a negação de que todo x é homem é verdadeira.

2.2. Definição de verdade

Dito tudo isso, podemos dar uma definição completa e formal de todas as condições de verdade para a lógica de 1ª ordem:

  1. 𝕬(ϕ)=V sse I(ϕ)=V, onde ϕ é um símbolo de predicado zero-ário;
  2. 𝕬(ϕt1…tn)=V sse I(t1…tn) ∈ ϕ, onde ϕ é um símbolo de predicado n-ário, n>0, e t1…tn são termos;
  3. 𝕬(¬α)=V sse 𝕬(α)=F;
  4. 𝕬(α∨β)=V sse 𝕬(α)=V ou 𝕬(β)=V;
  5. 𝕬(α∧β)=V sse 𝕬(α)=𝕬(β)=V;
  6. 𝕬(α⊃β)=V sse 𝕬(α)=F ou (β)=V;
  7. 𝕬(α⇔β)=V sse 𝕬(α)=𝕬(β);
  8. 𝕬(∀xα)=V sse 𝕬(α[x/c])=V, para toda constante c;
  9. 𝕬(∃xα)=V sse 𝕬(α[x/c]), para alguma constante c.

3. Validade e consequência semântica

Chegou a hora de utilizarmos tudo o que foi exposto até aqui para lidarmos com as fórmulas e argumentos. Como provamos que uma fórmula ou um argumento são válidos? É o que veremos a seguir.

3.1. Validade de fórmulas

Diremos que uma fórmula ϕ é válida se e somente ela é verdadeira em toda e qualquer estrutura. É o mesmo que dizer que a fórmula é sempre verdadeira, isto é, uma tautologia⁵. O oposto disso seriam as contradições, que são falsas em toda estrutura. Há ainda o meio termo entre ambas, as contingências, que são verdadeiras em pelo menos uma estrutura e falsa em pelo menos uma estrutura.

Contudo, o que nos interessa são as fórmulas válidas. Como verificar se uma fórmula é válida ou não? Bom, nós podemos usar o método de reductio ad absurdum, por exemplo. Supor que uma determinada fórmula é inválida e disso deduzir alguma contradição. Por exemplo: suponhamos que a fórmula ∀xPx⊃Pa seja inválida, ou seja, falsa em alguma estrutura. Por se tratar de uma implicação, sabemos que ela é falsa se e somente se (∀xPx)=V e (Pa)=F. Ora, se ∀xPx é verdadeiro, então ele é verdadeiro para todo termo c, incluindo o termo a. Temos então que (Pa)=V. Entretanto, isso contradiz o nosso resultado anterior de que (Pa)=F; logo, ∀xPx⊃Pa é realmente válida.

Podemos ainda tentar construir uma estrutura que prove que a fórmula é falsa e assim provar sua invalidade. Há também meios mais “mecânicos” de se fazer essa verificação, mas nos ocuparemos deles mais tarde.

3.2. Modelos e consequência semântica

Antes de falarmos o que é consequência semântica, precisamos antes definir o que é um modelo:

  • Uma estrutura 𝕬 é modelo de um determinado conjunto de fórmulas Γ se, para toda fórmula γ∈Γ, 𝕬(γ)=V; formalmente 𝕬⊨Γ.

Em outras palavras, uma estrutura é modelo de um conjunto se todas as fórmulas do conjunto são verdadeiras na estrutura. O que também significa que, se pelo menos uma fórmula do conjunto for falsa, então a estrutura não é modelo do conjunto.

Pode-se dizer também que uma estrutura é modelo de uma fórmula 𝕬⊨α, o que significa o mesmo que 𝕬(α)=V.

Se um conjunto Γ possui alguma estrutura modelo, então dissemos que é satisfatível. Caso o contrário, ou seja, se não existir nenhuma estrutura que seja modelo de Γ, ele será insatisfatível.

Tendo isso em vista, a definição de consequência semântica é a seguinte:

  • Sendo Γ um cojunto de fórmulas e α uma fórmula, dizemos que Γ⊨α (α é consequência semântica de Γ) se e somente se todo modelo de Γ é também modelo de α, ou seja, para toda estrutura 𝕬, se 𝕬⊨Γ, então 𝕬(α)=V.

A grosso modo, isso significa dizer que Γ implica semanticamente α se toda estrutura que torne as fórmulas de Γ verdadeiras — que seja satisfatível — torna também α verdadeira.

Para dar um exemplo, suponhamos que:

Γ = {∀x(Px⊃Qx), Pa}

Tentaremos deduzir disso que Qa, isto é, Γ⊨Qa. Faremos isso, mais uma vez, por reductio ad absurdum. Para isso, precisamos supor o contrário do que queremos provar, ou seja, Γ⊭Qa. Sendo assim, deve existir uma estrutura 𝕭, digamos, em que 𝕭⊨Γ, mas 𝕭(Qa)=F.

Como 𝕭⊨Γ, então toda proposição de Γ é verdadeira. Particularmente, temos que 𝕭(∀x(Px⊃Qx))=V e 𝕭(Pa)=V. Sabendo que 𝕭(∀x(Px⊃Qx)) é verdadeiro, sabemos também que 𝕭(Pc⊃Qc)=V, para qualquer termo do universo de 𝕭. Conclui-se, então, que 𝕭(Pa⊃Qa) é uma instância verdadeira. Pela definição de verdade da implicação, 𝕭(Pa)=F ou 𝕭(Qa)=V. 𝕭(Pa) não pode ser falso, pois faz parte de Γ e, como antes supomos, toda proposição em Γ é verdadeira. Logo, só nos resta que 𝕭(Qa)=V. Entretanto, isto contradiz a nossa hipótese inicial de que 𝕭(Qa)=F. Portanto, Γ⊨Qa.

O mesmo pode ser feito com fórmulas que realmente não se seguem de Γ. Podemos usar o mesmo método de reductio ad absurdum ou construir uma estrutura — apenas uma — em que 𝕬⊨Γ, mas 𝕬⊭α. Por exemplo, vamos provar que sendo ∆={∀x(Px⊃Qx), ¬Pa}, não se segue que ¬Qa (uma fórmula bem parecida com a anterior).

Para isso, vamos construir uma estrutura 𝕬 que faça com que ∆ seja satisfeita, mas 𝕬(¬Qa)=F. Precisamos, então, criar um universo de discurso e uma função de interpretação.

Começando com o universo de discurso o conjunto A={1} já será o suficiente. Claro, você pode colocar nomes, letras ou que seja no seu universo, mas usaremos números por ser mais simples. Agora, vamos atribuir uma constante a cada um dos membros de nosso conjunto (que na verdade é só um):

I(a)=1

Feito isso, vamos dar as interpretações para os subconjuntos de nossa estrutura, P e Q:

P=∅ e Q={a}

E com isso já temos o que queríamos. Ora, sendo P o conjunto vazio (o que não tem problema de ser, já que o vazio é subconjunto de qualquer outro conjunto), então já temos que 𝕬(∀x(Px⊃Qx))=V, já que, sendo o antecedente falso, todo o condicional é verdadeiro. E 𝕬(Qa)=V, pois I(a) ∈ I(Q). Como 𝕬(Qa)=V, então 𝕬(¬Qa) só pode ser falso. Sendo assim, este é um exemplo de estrutura em que ∆ é satisfeita, contudo Qa é falsa, de onde se deduz que ∆⊭Qa. E infinitas outras podem ser construídas para se provar isso.

Há ainda um método mais simples e “automático” para se verificar a validade semântica de uma fórmula ou argumento que são os tablôs semânticos. Não será apresentado este método aqui por alguns motivos; um deles sendo que há o método de dedução natural que é mais simples de ser feito. A dedução natural, claro, não fala acerca de semântica, mas, se nos lembrarmos dos teoremas da completude e corretude: Γ⊨α sse Γ⊢α. Se α é consequência semântica de Γ, também será consequência sintática e vice-versa.

No entanto, antes de retomarmos as noções de inferência e consequência sintática, temos ainda algumas coisas para falar sobre a semântica de 1ª ordem.

4. Propriedades da consequência semântica

A noção de consequência semântica (⊨) possui certas propriedades que podem ser usadas para falar sobre qualquer relação de fórmulas e conjuntos de fórmulas. Uma delas é a seguinte:

  • Uma fórmula α é válida se e somente se ∅⊨α.

Ou seja, uma fórmula é valida — que, lembrando, são fórmulas verdadeiras em toda e qualquer estrutura — se e somente se é consequência semântica do conjunto vazio. Mas como algo pode ser derivado do vazio? Ora, como nossa proposição é uma bi-implicação, podemos demonstrá-la dos dois lados:

  1. Se ∅⊨α, então α é válida.
  2. Se α é válida, então ∅⊨α;

Falando de (1), vamos começar supondo que ∅⊨α. É fácil verificar que toda estrutura é modelo do vazio, pois, se não fosse este o caso, então teria que haver uma fórmula β ∈ ∅, mas 𝕬(β)=F. Contudo, não há nenhuma fórmula que pertença ao vazio, logo nenhuma estrutura pode falsificar uma fórmula sua; então 𝕬⊨∅, para todo 𝕬. E como, por hipótese, sabemos que todo modelo de ∅ é também modelo de α, temo que, para todo 𝕬, 𝕬⊨α, i.e., α é válida.

Tratando de (2), vamos supor que α é válida. Como α é verdadeira em toda estrutura, então não existe uma estrutura 𝕬 tal que 𝕬⊨∅ e 𝕬(α)=F. Ou seja, para toda estrutura 𝕬, se 𝕬⊨∅, então 𝕬(α)=V. Portanto, ∅⊨α.

Dito isso, é comum que se expresse “α é válida” simplesmente como “⊨α”, uma abreviação de “∅⊨α”.

Além dessa, temos outras propriedades principais da consequência semântica:

  1. α⊨β sse ⊨α⊃β;
  2. α e β são logicamente equivalente sse ⊨α⇔β;
  3. Se Γ é um conjunto de fórmulas válidas e Γ⊨α, então ⊨α;
  4. Se α⊨β e β⊨γ, então α⊨γ;
  5. Se ⊨α, então, para todo Γ, Γ⊨α;
  6. Se α é uma contradição, então, para qualquer β, α⊨β;
  7. ΓU{α}⊨β sse Γ⊨α⊃β.

Essas propriedades terão certas relação com as propriedades de consequência sintática (⊢); falaremos sobre isso em seu devido lugar.

5. Identidade: um novo símbolo

Por último, falta-nos ainda falar do sinal de identidade (=)⁶. Ele serve para quando queremos dizer que dois indivíduos são o mesmo ou que são diferentes, ou seja, é uma relação entre termos.

Sintaticamente, o sinal de identidade é considerado como uma predicado. Então, se queremos dizer que:

  1. João é Carlos
  2. Daniel não é Erick

Formalizando, poderíamos expressar (1) como:

=jc

E (2) é expressa como:

¬=de

Mas é claro que, tanto por razões estéticas, quanto por inteligibilidade, não usaremos esta forma de expressão; o mais comum de ser visto é a convenção feita ao predicado de identidade: colocando-o entre os termos, sempre na forma t1=t2:

(1) j=c

E no caso da negação da identidade, expressamos como:

(2) d≠e

Além disso, o sinal de identidade tem outras utilidades. Suponhamos que eu deseje formalizar a seguinte proposição:

(1) Aristóteles existe

Ora, poderíamos formalizá-la como ∃xAx, tal que A:= “x é Aristóteles”. Embora isso possa ser feito, é muito contra-intuitivo, pois Aristóteles é o nome de alguém e não uma propriedade. Também não podemos dizer que ∃a, está contra as nossas regras de sintaxe. Sendo assim, para resolver o problema, basta dizermos que:

∃x(x=a)

Isto é, existe um x tal que x é idêntico a Aristóteles (a).

Quanto à semântica da identidade, ela é diferente dos demais predicados porque possui uma interpretação fixa, assim como os nossos operadores. Sendo 𝕬 uma estrutura tal que <A, I>, então:

𝕬(=) =df V sse {x, x | x ∈ A}

Ou seja, a identidade é uma relação que todo indivíduo tem consigo mesmo. Em outras palavras, ela serve quando queremos dizer que um mesmo indivíduo está sendo denotado por dois nomes diferentes.

Conclusão

Esta foi a nossa breve introdução à sintaxe e à semântica da lógica de primeira ordem com indentidade. Alguns detalhes foram deixados de lado, pois não caberiam falar aqui (por isso é sempre recomendado ir atrás de um bom manual) e ainda nos faltou falar da consequência sintática e suas propriedades, que estará disponível na parte 5 de nossa série.

Notas e referências

[1] Cf.: Conceitografia (1879); Charles Pierce (1839-1914) também desenvolveu independentemente as noções de quantificação;

[2] Alguns autores como Harry Gensler (Cf.: Introduction to Logic (2001)) e outros como Bertrand Russell (Cf.: Principia Mathematica (1910)) e Saul Kripke (Cf.: O Nomear e a Necessidade (1980)), utilizam a notação de “(x)” para denotar o quantificador universal e “(∃x)” para o existencial. Além disso, utiliza-se colchetes para representar o escopo dos quantificadores;

[3] Cezar A. Mortari, em Introdução à Lógica, ainda coloca a restrição do conjunto ser contável, isto é, finito ou, se infinito, enumerável. Contudo, não fará diferença para nós aqui;

[4] Caso não se lembre das aulas de matemática, um par ordenado, a grosso modo, é um conjunto em que ordem dos elementos importam. Em outras palavras, {<a, b>} ≠ {<b, a>}, o que não ocorre em conjuntos comuns, em que {a, b} = {b, a};

[5] Cezar Mortari, em Introdução à Lógica (mais uma vez), faz uma distinção entre tautologias e fórmulas válidas. As tautologias eram definidas pela semântica do CPC, enquanto a válida se dá pelas estruturas. Para ele, toda tautologia é válida, mas nem toda fórmula válida é uma tautologia, justamente porque há certas fórmulas que não se encaixam na semântica do CPC;

[6] Poderíamos ainda falar das funções; elas, contudo, não expandem a nossa linguagem, isto é, tudo que podemos demonstrar com elas podemos também demonstrar sem elas, por isso não considerei necessário explaná-las aqui.

Notas

Notas
1 Qx⊃Pw)⇔(Ryx∨Swz

Uma resposta em “Lógica: uma introdução — parte 4”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *