# Tautologia (lógica)

Na lógica proposicional, uma tautologia (do grego ταυτολογία) é uma fórmula proposicional que é verdadeira para todas as possíveis valorações de suas variáveis proposicionais. Por exemplo, a fórmula proposicional $(A)\lor (\lnot A)$ ("A ou não-A") é uma tautologia, porque é verdadeira para todas as valorações de A. Existem exemplos mais complexos tais como $(A\land B)\lor (\lnot A)\lor (\lnot B)$ ("A e B; ou não-A; ou não-B"). O primeiro a aplicar o termo tautologia às redundâncias da lógica proposicional foi o filósofo Ludwig Wittgenstein em 1921 (anteriormente era usado exclusivamente na retórica).
A negação de uma tautologia é uma contradição ou antilogia, uma fórmula proposicional que é falsa independentemente dos valores de verdade de suas variáveis. Tais proposições são ditas insatísfatíveis. Reciprocamente, a negação de uma contradição é uma tautologia. Uma fórmula que não é nem uma tautologia nem uma contradição é dita logicamente contingente. Tal fórmula pode ser verdadeira ou falsa dependendo dos valores atribuídos para suas variáveis proposicionais.
Uma propriedade fundamental das tautologias é que existe um procedimento efetivo para testar se uma dada fórmula é sempre satisfeita (ou, equivalentemente, se seu complemento é insatisfazível). Um método deste tipo usa as tabelas-verdade. O problema de decisão de determinar se uma fórmula é satisfazível é o problema de satisfabilidade booleano, um exemplo importante de um problema NP-completo na teoria da complexidade computacional.
A notação $\vDash S$ é usada para indicar que S é uma tautologia. O símbolo $\top$ é algumas vezes usado para denotar uma tautologia arbitrária, com o símbolo dual $\bot$ (falsum) representando uma contradição arbitrária.

## História

A palavra tautologia era usada na Grécia antiga para descrever um enunciado que era verdadeiro meramente pelo fato de dizer a mesma coisa duas vezes, um significado pejorativo que ainda é usado para tautologias retóricas. Entre 1800 e 1940, a palavra ganhou novo significado na lógica, e é corriqueiramente usada para denotar um certo tipo de fórmula proposicional, sem as conotações pejorativas que possuía anteriormente.
Durante a década de 30, a formalização da semântica da lógica proposicional em termos de valores verdade foi desenvolvida. O termo tautologia começou a ser aplicado a fórmulas proposicionais que são verdadeiras independente da verdade ou falsidade de suas variáveis proposicionais. Alguns livros sobre lógica (tais como Symbolic Logic de Lewis e Langford, 1932) usaram o termo para todas as proposições (em toda a lógica formal) que são universalmente válidas. É comum em publicações após esta (tais como Kleene 1967 e Ederton 2002) usar o termo tautologia para referir-se a uma fórmula proposicional logicamente válida, mas manter a distinção entre tautologia e logicamente válida no contexto da lógica de primeira ordem.

## Fundamentação teórica

A lógica proposicional começa com variáveis proposicionais, unidades atômicas que representam proposições concretas. Uma fórmula consiste de variáveis proposicionais conectadas através de conectivos lógicos em uma forma a fazer sentido, de tal modo que a fórmula inteira pode ser deduzida unicamente da verdade ou falsidade de cada variável. Uma valoração é uma função que atribui para cada variável proposicional V (para verdadeiro) ou F (para falso). Por exemplo, usando as variáveis proposicionais A e B, os conectivos binários $\lor$ e $\land$ representando disjunção e conjunção, respectivamente, e o conectivo unário $\lnot$ representando negação, a seguinte fórmula pode ser obtida:
    $(A\land B)\lor (\lnot A)\lor (\lnot B)$.
Uma valoração aqui deve atribuir para cada A e B um dos valores V ou F. Mas não importa como a atribuição é feita, a fórmula como um todo se tornará verdadeira. De fato se o primeiro disjunto $(A\land B)$ não for satisfeito por uma valoração particular, então para uma das variáveis A ou B é atribuído F, o que fará com que algum dos outros dois disjuntos seja V.

## Definição e exemplos

Uma fórmula da lógica proposicional é uma tautologia se a fórmula é sempre verdadeira independentemente de qual valoração seja usada para as variáveis proposicionais.
Existem infinitas tautologias. Alguns exemplos.
* $P\lor \lnot P$ ("P ou não-P"), a lei do terceiro excluído. Esta fórmula tem somente uma variável proposicional , P. Qualquer valoração para esta fórmula deve, por definição, atribuir um dos valores de verdade verdadeiro ou falso para P, e atribuir o valor de verdade restante para $\lnot$ P (isto é, se P é verdadeiro, então $\lnot$ P é falso, e se P é falso, então $\lnot$ P é verdadeiro).
* $(A\to B)\leftrightarrow (\lnot B\to \lnot A)$ ("A implica B se e somente se não-B implica não-A", e vice-versa), o qual expressa a lei da contraposição.

## Verificando tautologias

O problema de se determinar se uma fórmula é uma tautologia é fundamental na lógica proposicional. A definição sugere um método: proceda por casos e verifique que todas as valorações possíveis satisfazem a fórmula. Um método algorítmico que verifica que toda valoração faz com que a fórmula em questão seja verdadeira, é fazer uma tabela de verdade, que inclui todos as possíveis valorações. Por exemplo, considere a fórmula:
    $((A\land B)\to C)\leftrightarrow (A\to (B\to C)).$
Existem 8 possíveis valorações para as variáveis proposicionais A, B, C, representadas pelas três primeiras colunas da seguinte tabela.
| A | B | C | $A\land B$ | $(A\land B)\to C$ | $B\to C$ | $A\to (B\to C)$ | $((A\land B)\to C)\leftrightarrow (A\to (B\to C))$ |
| V | V | V | V | V | V | V | V |
| V | V | F | V | F | F | F | V |
| V | F | V | F | V | V | V | V |
| V | F | F | F | V | V | V | V |
| F | V | V | F | V | V | V | V |
| F | V | F | F | V | F | V | V |
| F | F | V | F | V | V | V | V |
| F | F | F | F | V | V | V | V |
Pelo fato de que cada linha da última coluna contém um V, a sentença em questão é de fato uma tautologia.
Também é possível definir um sistema dedutivo para a lógica proposicional, como uma variante mais simples dos sistemas dedutivos empregados para a lógica de primeira ordem. Uma demonstração de uma tautologia em um sistema de dedução apropriado pode ser bem menor que uma tabela de verdade completa (uma fórmula com n variáveis proposicionais requer uma tabela verdade com 2$^n$ linhas, a qual rapidamente se torna intratável à medida que n cresce). Sistemas dedutivos também são requeridos para o estudo da lógica proposicional intuicionista, para a qual o método das tabelas de verdade não pode ser empregado.

## Implicação tautológica

Diz-se que uma fórmula R implica tautologicamente em uma fórmula S se toda valoração que torna R verdadeira também torna S verdadeira. Esta situação é denotada por $R\vDash S$. É equivalente a afirmar que a fórmula $R\to S$ é uma tautologia.
Por exemplo, seja S a sentença $A\land (B\lor \lnot B)$. Então S não é uma tautologia, pois qualquer valoração que torna A falso tornará S falso. Mas qualquer valoração que torna A verdadeiro tornará S verdadeiro, pois $B\lor \lnot B$ é uma tautologia. Seja R a fórmula $A\land C$. Então $R\models S$, pois toda valoração que satisfaz R torna A verdadeiro e torna S verdadeiro.
Segue da definição que se uma fórmula R é uma contradição então R implica tautologicamente qualquer fórmula, pois não existe valoração que torna R verdadeira e portanto a definição de implicação tautológica é trivialmente satisfeita. Similarmente, se S é uma tautologia então S é tautologicamente implicada por qualquer fórmula.

## Substituição

Existe um procedimento geral, a regra da substituição, que permite que tautologias adicionais possam ser construídas a partir de uma tautologia dada. Suponha que S é uma tautologia e que, para cada variável proposicional A em S, uma sentença fixa S$_A$ seja escolhida. Então a sentença obtida pela substituição de cada variável A em S pela sentença S$_A$ correspondente também é uma tautologia.
Por exemplo, seja S a sentença $(A\land B)\lor (\lnot A)\lor (\lnot B)$, uma tautologia. Seja S$_A$ a sentença $C\lor D$ e seja S$_B$ a sentença $C\to E$. Segue da regra da substituição que a sentença
    $((C\lor D)\land (C\to E))\lor (\lnot (C\lor D))\lor (\lnot (C\to E))$
é uma tautologia.

## Verificação eficiente e o problema da satisfabilidade booleana

O problema de se construir algoritmos práticos para determinar se sentenças com um elevado número de variáveis proposicionais são tautologias é uma área de pesquisa contemporânea na área da demonstração automática de teoremas.
O método das tabelas de verdade ilustrado acima é demonstradamente correto – a tabela de verdade para uma tautologia sempre findará em uma coluna apenas com V enquanto a tabela de verdade para uma sentença que não é uma tautologia conterá uma linha tal que sua coluna final é F, e a valoração correspondente para esta linha é uma valoração que não satisfaz a sentença que está sendo testada. Este método para verificar tautologias é um procedimento efetivo. Isso significa que dados recursos computacionais ilimitados ele sempre pode ser usado para mecanicamente determinar se uma sentença é uma tautologia.
Devido ao crescimento exponencial na computação, o método da tabela de verdade se torna inútil para fórmulas com milhares de variáveis proposicionais. O problema de verificar tautologias é equivalente a este problema, pois verificar se uma sentença é uma tautologia é equivalente a verificar que não existe valoração que satisfaça $\lnot S$. Sabe-se que o problema da satisfabilidade booleana é NP-completo, e acredita-se amplamente que não existe algoritmo em tempo polinomial que pode resolvê-lo.

## Tautologias versus validades na lógica de primeira ordem

A definição fundamental de uma tautologia está no contexto da lógica proposicional. A definição pode ser estendida, entretanto, para sentenças na lógica de primeira ordem. Estas sentenças podem conter quantificadores, diferentemente das sentenças da lógica proposicional. No contexto de lógica de primeira ordem, uma distinção é mantida entre validades lógicas, sentenças que são verdadeiras em todos os modelos, e tautologias, as quais são um subconjunto próprio das validades da lógica de primeira ordem. No contexto da lógica proposicional estes dois termos coincidem.
Uma tautologia na lógica de primeira ordem é uma sentença que pode ser obtida ao tomar-se uma tautologia da lógica proposicional e substituir uniformemente cada variável proposicional por uma fórmula de primeira ordem. Por exemplo, como $A\lor \lnot A$ é uma tautologia da lógica proposicional, $(\forall x(x=x))\lor (\lnot \forall x(x=x))$ é uma tautologia na lógica de primeira ordem. Similarmente, na linguagem de primeira ordem, com símbolos de relação unários R,S,T, a seguinte sentença é uma tautologia:
    $(((\exists xRx)\land \lnot (\exists xSx))\to \forall xTx)\leftrightarrow ((\exists xRx)\to ((\lnot \exists xSx)\to \forall xTx)).$
Ela é obtida através da substituição de A por $\exists xRx$, B por $\lnot \exists xSx$, e C por $\forall xTx$ na tautologia proposicional $((A\land B)\to C)\leftrightarrow (A\to (B\to C)).$.
Nem todas as validades lógicas são tautologias na lógica de primeira ordem. Por exemplo, a sentença
    $(\forall xRx)\to \lnot \exists x\lnot Rx$
é verdadeira em qualquer interpretação de primeira ordem, mas ela corresponde à sentença proposicional A→B{\textstyle A\to B}, a qual não é uma tautologia na lógica proposicional.