5. Lógica de primeira ordem

Linguagem, quantificadores, tradução, negação, ordem dos quantificadores, modelos e inferências elementares da lógica de primeira ordem.

Ler sem distrações

5. Lógica de primeira ordem

1. Da proposição ao predicado

A lógica proposicional consegue tratar “todo servidor é agente público” como uma proposição inteira, mas assim perde justamente a estrutura que interessa à questão: quem é servidor, qual propriedade esse objeto possui e quantos objetos precisam satisfazê-la.

A lógica de primeira ordem, também chamada lógica de predicados, abre essa estrutura. Em vez de trabalhar apenas com blocos proposicionais, ela permite representar objetos, propriedades, relações e expressões como:

  • todo servidor é agente público;
  • algum processo contém informação sigilosa;
  • cada auditor analisa algum processo;
  • existe um processo analisado por todos os auditores.

Na LPO, os quantificadores percorrem objetos de um domínio. Quantificar propriedades, relações ou conjuntos pertence a lógicas de ordem superior e não integra este recorte.

O foco de prova é reconhecer a linguagem, traduzir enunciados, negar quantificadores, distinguir ordens de quantificação e avaliar inferências simples.

2. Elementos da linguagem

2.1. Domínio

O domínio ou universo do discurso é o conjunto de objetos sobre os quais se fala. Na semântica clássica usual, ele é não vazio:

U≠∅.U\neq\varnothing.

O mesmo enunciado pode mudar de valor lógico quando o domínio muda. Por isso, antes de avaliar uma fórmula, identifique sobre quais objetos as variáveis estão quantificando.

2.2. Constantes, variáveis, funções e predicados

ElementoPapelExemplo
constantenomeia um objetoaa
variávelocupa o lugar de um objetoxx
funçãorecebe objetos e devolve objetochefia(x)chefia(x)
predicado unárioexpressa propriedadeServidor(x)Servidor(x)
predicado binárioexpressa relaçãoAnalisa(x,y)Analisa(x,y)
igualdadeafirma identidadea=ba=b

A aridade é o número de argumentos exigidos. Se RR é binário, R(a,b)R(a,b) é bem formada; R(a)R(a) e R(a,b,c)R(a,b,c) não são.

Constantes diferentes não precisam nomear objetos diferentes. Sem premissa como a≠ba\neq b, é possível que aa e bb tenham o mesmo referente.

2.3. Termos e fórmulas

Termos designam objetos:

a,x,f(a),g(x,a).a,\quad x,\quad f(a),\quad g(x,a).

Fórmulas afirmam algo e podem ser verdadeiras ou falsas:

P(a),R(x,a),a=b,¬P(a).P(a),\quad R(x,a),\quad a=b,\quad \neg P(a).

Regra útil: função produz termo; predicado aplicado a termos produz fórmula.

3. Quantificadores

3.1. Universal

∀x P(x)\forall x\,P(x)

Significa: para todo objeto xx do domínio, P(x)P(x).

3.2. Existencial

∃x P(x)\exists x\,P(x)

Significa: existe ao menos um objeto xx do domínio para o qual P(x)P(x).

O existencial não significa “exatamente um” nem “algum, mas não todos”. Ele admite um ou vários objetos.

3.3. “Exatamente um” combina existência e unicidade

Para dizer que um único objeto tem a propriedade PP, não basta ∃x P(x)\exists x\,P(x). É preciso afirmar que existe um xx com PP e que qualquer yy com PP é idêntico a ele:

∃x(P(x)∧∀y(P(y)→y=x)).\exists x\bigl(P(x)\land\forall y(P(y)\to y=x)\bigr).

A primeira parte fornece ao menos um testemunho; a segunda impede mais de um. Se dois objetos distintos satisfizerem PP, a fórmula será falsa. A igualdade y=xy=x expressa identidade de objeto, mesmo que nomes diferentes possam designá-lo.

4. Escopo, variáveis livres e sentenças

O escopo de um quantificador é a subfórmula sobre a qual ele atua.

Em

∀x(P(x)→∃y R(x,y)),\forall x(P(x)\to\exists y\,R(x,y)),

∀x\forall x alcança toda a condicional e ∃y\exists y alcança R(x,y)R(x,y).

Uma ocorrência é ligada quando está no escopo de um quantificador para a mesma variável; caso contrário, é livre.

FórmulaSituação
P(x)P(x)xx livre
∀xP(x)\forall xP(x)xx ligada
∀xR(x,y)\forall xR(x,y)xx ligada; yy livre
P(x)∧∃xQ(x)P(x)\land\exists xQ(x)xx livre em PP e ligada em QQ

Uma sentença ou fórmula fechada não possui variável livre. Fórmulas abertas dependem também de uma atribuição às variáveis livres.

4.1. Renomear variável ligada e evitar captura

O nome de uma variável ligada é apenas um marcador local. Por isso,

∀xP(x)≡∀zP(z),\forall xP(x)\equiv\forall zP(z),

desde que a troca seja feita de forma consistente e não altere ocorrências que estavam livres.

O cuidado aparece na substituição. Considere

∃y R(x,y),\exists y\,R(x,y),

em que xx está livre. Substituir simplesmente xx por yy produziria

∃y R(y,y),\exists y\,R(y,y),

mas isso muda o sentido: a ocorrência antes livre passa a ficar ligada por ∃y\exists y. Esse efeito é chamado captura de variável.

Para evitar a captura, primeiro renomeie a variável ligada por uma nova, por exemplo:

∃z R(x,z).\exists z\,R(x,z).

Agora a substituição de xx por yy pode ser feita sem mudar quem está ligado a qual quantificador:

∃z R(y,z).\exists z\,R(y,z).

Em prova, portanto, renomear variável ligada é seguro quando preserva o vínculo; substituir é seguro apenas quando não transforma uma ocorrência livre em ligada.

5. Traduções que mais caem

Considere A(x)A(x) para “xx é AA” e B(x)B(x) para “xx é BB”.

PortuguêsFórmula
Todo AA é BB∀x(A(x)→B(x))\forall x(A(x)\to B(x))
Nenhum AA é BB∀x(A(x)→¬B(x))\forall x(A(x)\to\neg B(x))
Algum AA é BB∃x(A(x)∧B(x))\exists x(A(x)\land B(x))
Algum AA não é BB∃x(A(x)∧¬B(x))\exists x(A(x)\land\neg B(x))

5.1. Universal restrita usa implicação

“Todo servidor é treinado”:

∀x(Servidor(x)→Treinado(x)).\forall x(Servidor(x)\to Treinado(x)).

Não use

∀x(Servidor(x)∧Treinado(x)),\forall x(Servidor(x)\land Treinado(x)),

pois isso diria que todo objeto do domínio é servidor e treinado.

5.2. Existencial restrita usa conjunção

“Algum servidor é treinado”:

∃x(Servidor(x)∧Treinado(x)).\exists x(Servidor(x)\land Treinado(x)).

Não use

∃x(Servidor(x)→Treinado(x)),\exists x(Servidor(x)\to Treinado(x)),

porque um objeto que não seja servidor já tornaria a condicional verdadeira.

6. “Somente”, “nem todo” e “algum”

“Somente servidores acessam o sistema” significa:

∀x(Acessa(x)→Servidor(x)).\forall x(Acessa(x)\to Servidor(x)).

A palavra somente aponta a condição necessária: quem acessa deve ser servidor. A frase não afirma que todo servidor acessa.

“Nem todo servidor é treinado” significa:

∃x(Servidor(x)∧¬Treinado(x)).\exists x(Servidor(x)\land\neg Treinado(x)).

“Algum” significa ao menos um, sem excluir que todos satisfaçam a propriedade.

7. Ordem dos quantificadores

Predicados relacionais tornam a ordem decisiva.

7.1. Cada auditor analisa algum processo

∀x(Auditor(x)→∃y(Processo(y)∧Analisa(x,y))).\forall x\bigl(Auditor(x)\to\exists y(Processo(y)\land Analisa(x,y))\bigr).

O processo pode variar conforme o auditor.

7.2. Existe um processo analisado por todos os auditores

∃y(Processo(y)∧∀x(Auditor(x)→Analisa(x,y))).\exists y\bigl(Processo(y)\land\forall x(Auditor(x)\to Analisa(x,y))\bigr).

Agora há um mesmo processo que funciona para todos.

Em geral:

∀x∃y R(x,y)≢∃y∀x R(x,y).\forall x\exists y\,R(x,y)\not\equiv\exists y\forall x\,R(x,y).

Quantificadores consecutivos do mesmo tipo podem trocar de ordem:

∀x∀yR(x,y)≡∀y∀xR(x,y),\forall x\forall yR(x,y)\equiv\forall y\forall xR(x,y), ∃x∃yR(x,y)≡∃y∃xR(x,y).\exists x\exists yR(x,y)\equiv\exists y\exists xR(x,y).

8. Negação de quantificadores

As equivalências fundamentais são:

¬∀x φ(x)≡∃x ¬φ(x),\neg\forall x\,\varphi(x)\equiv\exists x\,\neg\varphi(x), ¬∃x φ(x)≡∀x ¬φ(x).\neg\exists x\,\varphi(x)\equiv\forall x\,\neg\varphi(x).

Procedimento:

  1. troque ∀\forall por ∃\exists, ou ∃\exists por ∀\forall;
  2. negue o escopo;
  3. aplique De Morgan e a negação da condicional, se necessário.

Exemplo:

¬∀x(A(x)→B(x))≡∃x(A(x)∧¬B(x)).\neg\forall x(A(x)\to B(x)) \equiv \exists x(A(x)\land\neg B(x)).

Logo, a negação de “todo AA é BB” é “algum AA não é BB”, e não “nenhum AA é BB”.

Para quantificadores sucessivos:

¬∀x∃yR(x,y)≡∃x∀y¬R(x,y).\neg\forall x\exists yR(x,y) \equiv \exists x\forall y\neg R(x,y).

9. Existência e universais categóricas

Como o domínio global é não vazio:

∀xP(x)⊨∃xP(x).\forall xP(x)\models\exists xP(x).

Mas a universal categórica

∀x(A(x)→B(x))\forall x(A(x)\to B(x))

não garante que exista algum AA.

Se AA tiver extensão vazia, não haverá contraexemplo A∧¬BA\land\neg B, e a universal será verdadeira. Portanto:

∀x(A(x)→B(x))⊭∃xA(x).\forall x(A(x)\to B(x))\not\models\exists xA(x).

Essa distinção é uma pegadinha recorrente: domínio não vazio não significa que toda classe definida por predicado tenha elementos.

10. Distribuições úteis

São válidas:

∀x(P(x)∧Q(x))≡(∀xP(x))∧(∀xQ(x)),\forall x(P(x)\land Q(x)) \equiv (\forall xP(x))\land(\forall xQ(x)), ∃x(P(x)∨Q(x))≡(∃xP(x))∨(∃xQ(x)).\exists x(P(x)\lor Q(x)) \equiv (\exists xP(x))\lor(\exists xQ(x)).

Não são equivalências em geral:

∀x(P(x)∨Q(x))≢(∀xP(x))∨(∀xQ(x)),\forall x(P(x)\lor Q(x)) \not\equiv (\forall xP(x))\lor(\forall xQ(x)), ∃x(P(x)∧Q(x))≢(∃xP(x))∧(∃xQ(x)).\exists x(P(x)\land Q(x)) \not\equiv (\exists xP(x))\land(\exists xQ(x)).

Na última forma, os dois existenciais do lado direito podem ter testemunhos diferentes.

11. Modelos, validade e contramodelos

Uma interpretação dá significado aos símbolos da linguagem. Uma interpretação que torna verdadeira uma sentença é um modelo dela.

  • satisfatível: verdadeira em ao menos uma interpretação;
  • válida: verdadeira em todas as interpretações admissíveis;
  • insatisfatível: falsa em todas as interpretações admissíveis.

Exemplos:

∃xP(x)\exists xP(x)

é satisfatível, mas não válida.

∀x(P(x)∨¬P(x))\forall x(P(x)\lor\neg P(x))

é válida na lógica clássica.

∃x(P(x)∧¬P(x))\exists x(P(x)\land\neg P(x))

é insatisfatível.

Para mostrar que uma conclusão não decorre das premissas, basta construir um contramodelo: premissas verdadeiras e conclusão falsa.

Exemplo inválido:

∃xP(x),∃xQ(x)∴∃x(P(x)∧Q(x)).\exists xP(x),\qquad\exists xQ(x) \quad\therefore\quad \exists x(P(x)\land Q(x)).

Tome

U={a,b},PI={a},QI={b}.U=\{a,b\},\qquad P^I=\{a\},\qquad Q^I=\{b\}.

As premissas são verdadeiras, mas nenhum mesmo objeto possui PP e QQ.

12. Inferências elementares

Instanciação universal

∀xP(x)∴P(a).\forall xP(x)\quad\therefore\quad P(a).

Se vale para todo objeto, vale para o objeto nomeado por aa.

Generalização existencial

P(a)∴∃xP(x).P(a)\quad\therefore\quad\exists xP(x).

Se um objeto possui PP, então existe objeto com PP.

Cuidado com testemunhos

De

∃xP(x)\exists xP(x)

não se conclui P(a)P(a) para uma constante previamente escolhida: o testemunho pode ser outro objeto.

Cuidado com generalização universal

De P(a)P(a) para um indivíduo particular não segue ∀xP(x)\forall xP(x). Para generalizar, o objeto considerado precisa ser arbitrário.

Cadeia válida frequente

∀x(A(x)→B(x)),\forall x(A(x)\to B(x)), ∀x(B(x)→C(x)),\forall x(B(x)\to C(x)), ∃xA(x)\exists xA(x)

implicam

∃xC(x).\exists xC(x).

13. Padrão oficial do CEBRASPE

Em item oficial da prova de Escrivão da PCDF, o CEBRASPE julgou errada a afirmação de que a negação de “Todos são iguais perante a lei” seria “Todos são diferentes perante a lei”. A justificativa oficial aponta a forma existencial: nem todos possuem a propriedade, isto é, existe ao menos um contraexemplo.

O padrão é exatamente:

¬∀xP(x)≡∃x¬P(x).\neg\forall xP(x)\equiv\exists x\neg P(x).

14. Pegadinhas e roteiro de resolução

Pegadinhas

  • termo não é fórmula;
  • função não é predicado;
  • preserve aridade e ordem dos argumentos;
  • variável ligada pode ser renomeada consistentemente, mas substituição não pode causar captura;
  • universal restrita usa implicação;
  • existencial restrita usa conjunção;
  • “somente AA são BB” significa B→AB\to A;
  • “nem todo” não significa “nenhum”;
  • negar quantificador troca ∀\forall e ∃\exists;
  • ∀∃\forall\exists não equivale a ∃∀\exists\forall;
  • universal categórica não garante existência da classe-sujeito;
  • testemunhos de duas existenciais podem ser diferentes;
  • uma interpretação favorável mostra satisfatibilidade, não validade;
  • um contramodelo basta para refutar uma consequência lógica.

Roteiro

  1. Identifique o domínio.
  2. Defina predicados e relações com suas aridades.
  3. Localize “todo”, “algum”, “nenhum”, “somente” e negações.
  4. Use implicação na universal restrita e conjunção na existencial restrita.
  5. Marque o escopo dos quantificadores e confira se alguma substituição captura variável livre.
  6. Confira a ordem de ∀\forall e ∃\exists.
  7. Para negar, troque o quantificador e negue o escopo.
  8. Para testar invalidade, tente um domínio pequeno que torne premissas verdadeiras e conclusão falsa.
Referências
0%