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

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 aba\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

xP(x)\forall x\,P(x)

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

3.2. Existencial

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

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)yR(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

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

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

yR(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:

zR(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:

zR(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 é BBx(A(x)B(x))\forall x(A(x)\to B(x))
Nenhum AA é BBx(A(x)¬B(x))\forall x(A(x)\to\neg B(x))
Algum AA é BBx(A(x)B(x))\exists x(A(x)\land B(x))
Algum AA não é BBx(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:

xyR(x,y)≢yxR(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:

xyR(x,y)yxR(x,y),\forall x\forall yR(x,y)\equiv\forall y\forall xR(x,y), xyR(x,y)yxR(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:

¬xyR(x,y)xy¬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 BAB\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%