Conteúdos da cadeira

Lógica proposicional

Frases atómicas, conetivas booleanas, tabelas de verdade, modelos e equivalências.

Markdown

Perguntar sobre esta página

ChatGPTClaudePerplexityGeminiCopiar e abrir

Envia o link e pede à IA para ler a página. No Gemini, cola a pergunta copiada.

Ver pergunta para copiar
Nesta página

Quando um programa testa temperatura > 30 && humidade < 40, está a combinar duas afirmações com uma conetiva lógica. A lógica proposicional estuda exatamente isto: como construir frases complexas a partir de frases simples e como decidir se são verdadeiras. Precisas dela porque todo o resto da cadeira, e grande parte da verificação de programas, se escreve nesta linguagem.

Frases atómicas

Uma frase atómica é uma afirmação simples que já não se decompõe, como “a Ana está na sala”. Na lógica de primeira ordem escrevemos estas frases com predicados e nomes, por exemplo NaSala(ana)NaSala(ana). Aqui interessa só o ponto de partida: cada frase atómica é verdadeira ou falsa, sem meio termo. Representamos frases atómicas por letras como PP, QQ ou RR.

Um nome designa exatamente um objeto. “A Ana” refere uma pessoa concreta, e cada ocorrência do nome refere a mesma pessoa dentro do mesmo raciocínio. Isto parece evidente, mas é a convenção que permite substituir nomes por objetos sem ambiguidade mais tarde, nas provas com quantificadores.

As cinco conetivas

A partir de frases atómicas construímos fórmulas com cinco conetivas. Cada conetiva é funcional da verdade: o valor de verdade do resultado depende só do valor de verdade das partes.

NomeSímboloLê-seExemplo
Negação¬\lnotnão¬P\lnot P: “a Ana não está na sala”
Conjunção\landePQP \land Q: “a Ana está na sala e o Rui está feliz”
Disjunção\lorouPQP \lor Q: “a Ana está na sala ou o Rui está feliz”
Condicional\tose… entãoPQP \to Q: “se a Ana está na sala então o Rui está feliz”
Bicondicional\leftrightarrowse e só sePQP \leftrightarrow Q: “a Ana está na sala se e só se o Rui está feliz”

Atenção ao “ou”: em lógica, PQP \lor Q é inclusivo. É verdadeiro quando pelo menos uma das partes é verdadeira, incluindo o caso em que ambas são. Quando o enunciado quer dizer “ou um ou outro, mas não ambos”, isso escreve-se (PQ)¬(PQ)(P \lor Q) \land \lnot(P \land Q).

Tabelas de verdade

A tabela de verdade de uma conetiva mostra o resultado para todas as combinações das entradas. Para ¬\lnot, \land e \lor:

PPQQ¬P\lnot PPQP \land QPQP \lor Q
VVFVV
VFFFV
FVVFV
FFVFF

O condicional PQP \to Q é a conetiva que mais confunde. É falso num único caso: antecedente verdadeiro e consequente falso. Em todos os outros casos é verdadeiro, incluindo quando o antecedente é falso. A tabela é:

PPQQPQP \to Q
VVV
VFF
FVV
FFV

Isto chama-se condicional material: ele mede valores de verdade, não causas. “Se 2+2=52 + 2 = 5 então eu sou o rei de França” é uma frase verdadeira em lógica, porque o antecedente é falso. Parece estranho, mas é o que permite tratar “se… então” com tabelas. Na página sobre provas com condicionais vais ver como traduzir expressões como “só se”, “se”, “a menos que” e “sempre que”, que é onde quase toda a gente erra.

O bicondicional PQP \leftrightarrow Q é verdadeiro quando PP e QQ têm o mesmo valor:

PPQQPQP \leftrightarrow Q
VVV
VFF
FVF
FFV

Avaliar uma fórmula passo a passo

Para saber se uma fórmula é verdadeira, preenche a tabela por dentro para fora. Toma (PQ)¬P(P \lor Q) \land \lnot P e a linha P=VP = V, Q=FQ = F:

  1. PQP \lor Q com V e F dá V.
  2. ¬P\lnot P com P=VP = V dá F.
  3. VFV \land F dá F.

Logo, nessa atribuição a fórmula é falsa. Repete para as quatro linhas e obténs a tabela completa:

PPQQPQP \lor Q¬P\lnot P(PQ)¬P(P \lor Q) \land \lnot P
VVVFF
VFVFF
FVVVV
FFFVF

Repara que o resultado final é V só na linha P=FP = F, Q=VQ = V. Ou seja, a fórmula equivale a ¬PQ\lnot P \land Q. Este processo mecânico serve para verificar equivalências quando tens poucas variáveis. Com muitas variáveis a tabela duplica a cada variável nova (2n2^n linhas para nn variáveis), e aí passam a interessar as regras de prova da próxima página.

Tautologias, contradições e contingências

Conforme o comportamento em todas as linhas, uma fórmula é:

  • tautologia (ou verdade lógica): verdadeira em todas as linhas, como P¬PP \lor \lnot P;
  • contradição: falsa em todas as linhas, como P¬PP \land \lnot P;
  • contingência: verdadeira em algumas linhas e falsa noutras, como o exemplo da secção anterior.

Testa PPP \to P. As linhas são VVV \to V (V) e FFF \to F (V). É uma tautologia, como esperavas: “se PP então PP” nunca falha.

Modelos e o mundo de Tarski

Uma atribuição que torna a fórmula verdadeira chama-se um modelo da fórmula. Na cadeira, os modelos aparecem muitas vezes como mundos de Tarski: um tabuleiro com formas geométricas (cubos, tetraedros, dodecaedros) de vários tamanhos, e predicados como Cubo(x)Cubo(x), Pequeno(x)Pequeno(x) ou Maior(x,y)Maior(x, y).

Por exemplo, considera o mundo com dois objetos: aa é um cubo pequeno e bb é um tetraedro grande. A frase Cubo(a)¬Cubo(b)Cubo(a) \land \lnot Cubo(b) é verdadeira neste mundo, porque Cubo(a)Cubo(a) é V e Cubo(b)Cubo(b) é F. Mas xCubo(x)\forall x\, Cubo(x) seria falsa, porque bb não é cubo. Este jogo de “a frase é verdadeira neste mundo?” é o treino para a noção de consequência lógica: QQ é consequência lógica de PP quando todos os modelos de PP são modelos de QQ, isto é, quando é impossível PP ser verdadeiro e QQ falso.

Equivalências que deves saber de cor

Duas fórmulas são logicamente equivalentes quando têm a mesma tabela de verdade. Estas leis permitem simplificar fórmulas e são a base das provas por equivalências:

  • Dupla negação: ¬¬PP\lnot\lnot P \equiv P.
  • Leis de De Morgan: ¬(PQ)¬P¬Q\lnot(P \land Q) \equiv \lnot P \lor \lnot Q e ¬(PQ)¬P¬Q\lnot(P \lor Q) \equiv \lnot P \land \lnot Q.
  • Condicional como disjunção: PQ¬PQP \to Q \equiv \lnot P \lor Q.
  • Contrapositiva: PQ¬Q¬PP \to Q \equiv \lnot Q \to \lnot P.
  • Comutatividade, associatividade e distributividade de \land e \lor, como na aritmética.

Confirma De Morgan com a tabela para ¬(PQ)\lnot(P \land Q) e ¬P¬Q\lnot P \lor \lnot Q:

PPQQPQP \land Q¬(PQ)\lnot(P \land Q)¬P\lnot P¬Q\lnot Q¬P¬Q\lnot P \lor \lnot Q
VVVFFFF
VFFVFVV
FVFVVFV
FFFVVVV

As colunas a negrito coincidem, por isso a equivalência vale.

Exemplo resolvido: simplificar até ao fim

Simplifica ¬(PQ)Q\lnot(P \to Q) \lor Q e classifica o resultado.

  1. Converte o condicional: PQ¬PQP \to Q \equiv \lnot P \lor Q, por isso ¬(PQ)¬(¬PQ)\lnot(P \to Q) \equiv \lnot(\lnot P \lor Q).
  2. Aplica De Morgan: ¬(¬PQ)¬¬P¬QP¬Q\lnot(\lnot P \lor Q) \equiv \lnot\lnot P \land \lnot Q \equiv P \land \lnot Q.
  3. A fórmula fica (P¬Q)Q(P \land \lnot Q) \lor Q. Distribui: (PQ)(¬QQ)(P \lor Q) \land (\lnot Q \lor Q).
  4. ¬QQ\lnot Q \lor Q é uma tautologia, e XVXX \land V \equiv X para qualquer XX. O resultado é PQP \lor Q.

Como PQP \lor Q é verdadeiro em três linhas e falso numa, é uma contingência. Repara no passo 4: reconhecer ¬QQ\lnot Q \lor Q como o terceiro excluído poupou uma tabela inteira.

Para levar para a próxima página

Tabelas de verdade decidem tudo na lógica proposicional, mas não escalam e não explicam porquê. As provas com regras de inferência fazem o mesmo trabalho passo a passo, e são elas que os testes pedem com as ferramentas Fitch e Boole.

Ver o ficheiro no GitHub

À tua maneira

Escolhe como preferes ler.

Aparência
Ajustar cores e largura
Cor de destaque do tema FEUP
Tipo de letra

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

As tuas escolhas ficam guardadas neste navegador.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

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.