Quantificadores e linguagem de primeira ordem

Termos, fórmulas, tradução, variáveis livres e substituição sem captura.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Linguagem

  • Um termo nomeia um objeto; uma fórmula atómica afirma um predicado ou uma igualdade sobre termos.
  • A aridade é o número de argumentos. Uma constante tem aridade zero.

Exemplo de aridades: com ff binária e PP unário, P(f(x,a))P(f(x,a)) é uma fórmula, porque f(x,a)f(x,a) é um termo e PP recebe um termo. A expressão f(a)f(a) está mal formada por falta de um argumento; um predicado não produz um termo, por isso não serve como argumento de função.

Tradução

∀x\forall x percorre todos os objetos do domínio; ∃x\exists x exige pelo menos uma testemunha. Com um domínio de pessoas, E(x)E(x) para “é estudante” e L(x)L(x) para “é leitor”:

FraseFórmula
Todos os estudantes leem∀x(E(x)→L(x))\forall x(E(x)\to L(x))
Algum estudante lê∃x(E(x)∧L(x))\exists x(E(x)\land L(x))
Nenhum estudante lê∀x(E(x)→¬L(x))\forall x(E(x)\to\neg L(x))
Nem todos os estudantes leem∃x(E(x)∧¬L(x))\exists x(E(x)\land\neg L(x))
  • O quantificador universal restringe por implicação; o existencial exige as propriedades por conjunção.
  • A fórmula ∃x(E(x)→L(x))\exists x(E(x)\to L(x)) pode ser TT só por existir um não estudante.
  • Quando o domínio já só tem estudantes, “todos leem” pode escrever-se ∀x L(x)\forall x\,L(x).

Ordem

  • Em ∀x∃y R(x,y)\forall x\exists y\,R(x,y), o yy pode depender de xx.
  • Em ∃y∀x R(x,y)\exists y\forall x\,R(x,y), o mesmo yy tem de servir para todos os xx, sem exigir unicidade. Esta forma implica a primeira; a recíproca falha em geral.
  • Podes trocar universais entre si e existenciais entre si. Tipos diferentes não trocam em geral.

Em N\mathbb N, ∀x∃y(x<y)\forall x\exists y(x<y) vale com y=x+1y=x+1. Nenhum yy serve para ∀x(x<y)\forall x(x<y), pois x=yx=y dá uma instância falsa.

Negação e contagem

¬∀xφ⇔∃x¬φ,¬∃xφ⇔∀x¬φ.\neg\forall x\varphi\Leftrightarrow\exists x\neg\varphi,\qquad \neg\exists x\varphi\Leftrightarrow\forall x\neg\varphi.

Logo ¬∀x∃yR(x,y)⇔∃x∀y¬R(x,y)\neg\forall x\exists yR(x,y)\Leftrightarrow\exists x\forall y\neg R(x,y): há um xx sem nenhum destino por RR.

  • A existência única escreve-se ∃!xP(x)≡∃x(P(x)∧∀y(P(y)→y=x))\exists!xP(x)\equiv\exists x(P(x)\land\forall y(P(y)\to y=x)).
  • “No máximo um” é só ∀x∀y((P(x)∧P(y))→x=y)\forall x\forall y((P(x)\land P(y))\to x=y); permite zero ocorrências.
  • “Exatamente dois” exige duas testemunhas distintas e exclui terceiros:
∃x∃y(P(x)∧P(y)∧x≠y∧∀z(P(z)→(z=x∨z=y))).\exists x\exists y(P(x)\land P(y)\land x\ne y\land\forall z(P(z)\to(z=x\lor z=y))).

Variáveis

  • Uma ocorrência ligada está no âmbito de um quantificador da sua variável. Uma ocorrência livre está fora. Em (∀xR(x,y))∧P(x)(\forall xR(x,y))\land P(x), as ocorrências livres são o xx da segunda parte e o yy.
  • Um termo fechado não tem variáveis. Uma fórmula fechada não tem ocorrências livres, podendo ter ligadas.
  • Em ∀xP(x)∨Q(x)\forall xP(x)\lor Q(x), o quantificador abrange só P(x)P(x); usa parênteses para alargar o âmbito.

A substituição φ[x↦t]\varphi[x\mapsto t] substitui só as ocorrências livres. O termo tt tem de estar livre para xx: nenhuma dessas ocorrências pode ficar sob um quantificador de uma variável de tt.

  • Em ∀yR(x,y)\forall yR(x,y), inserir f(y)f(y) para xx capturaria o yy. Renomeia primeiro para ∀zR(x,z)\forall zR(x,z), com zz novo; o resultado dá ∀zR(f(y),z)\forall zR(f(y),z).
  • Na substituição simultânea, R(x,y)[x↦y,y↦a]R(x,y)[x\mapsto y,y\mapsto a] dá R(y,a)R(y,a).

Tradução e substituição sem captura.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.