sábado, 5 de fevereiro de 2011

Álgebra Booleana e falácias

Glider Outro dia eu estava conversando com um amigo meu sobre um problema que nos incomoda bastante, que é o fato das pessoas não conhecerem nem o mínimo de lógica aplicada. Nem mesmo as operações básicas.

Em função disso as pessoas são enganadas pelas mais triviais das falácias, como acidente, afirmação do consequente, negação do antecedente, Red Herring e pressuposição aplicada a conjuntos de axiomas.

Vejo tais falácias chulas nos mais diversos textos, geralmente usados para defender ideias da moda. Pensando nisso, eu e meu amigo decidimos que eu deveria escrever este artigo explicando o básico da Álgebra Booleana, que também é totalmente relevante para programadores.

Pensamento binário


A Álgebra Booleana é baseada no concento de verdades: cada proposição é uma afirmação que pode ser verdadeira ou falsa e é representada em sua forma mais simples por uma letra maiúscula.

Quando uma proposição aparece sozinha, assume-se que ela é verdadeira.

Por exemplo:
    A


Indica que a proposição A é verdadeira.

O operador ¬ indica negação, então:
    ¬A


Indica que a negação da proposição A é verdadeira, ou seja, que a proposição A é falsa.

Operações booleanas


Assim como na Álgebra Elementar, a Álgebra Booleana possui operações, chamadas operações lógicas.

As operações mais conhecidas são: E lógico (∧), OU lógico (∨), OU exclusivo (⊕), implicação (→) e equivalência (↔), além da negação (¬), que já vimos.

E lógico


A operação E lógico relaciona duas proposições e a expressão formada é verdadeira se as duas proposições forem verdadeira, caso contrário é falsa.

A tabela é:
+---+---+-----+
| A | B | A∧B |
+---+---+-----+
| V | V | V |
| V | F | F |
| F | V | F |
| F | F | F |
+---+---+-----+


Ou seja, a seguinte afirmação:
    A∧¬B


Indica que tanto A quanto ¬B são verdadeiros, ou, de modo mais simples, que A é verdadeiro e B é falso.

OU lógico


A operação OU lógico relaciona duas proposições e a expressão resultante é verdadeira se qualquer uma das duas proposições for verdadeira, caso contrário é falsa.
+---+---+-----+
| A | B | A∨B |
+---+---+-----+
| V | V | V |
| V | F | V |
| F | V | V |
| F | F | F |
+---+---+-----+


Por exemplo:
    A∨B


Indica que A é verdadeiro, B é verdadeiro ou ambos são, não permitindo que saibamos qual dos casos, nos obrigando a apelar a outra expressão para descobrir.

Então:
    A∨B
¬A


Sabemos então que A não é verdadeiro, restando apenas uma opção para validar a expressão, que é quando B é verdadeiro. Podemos escrever isso da seguinte forma:
    A∨B
¬A
├ B


O sinal ├ significa «cocluímos que…». Então, se A ou B é verdadeiro e A é falso, concluímos que B é verdadeiro.

Falácia do OU lógico


Repare na tabela que dizer que um dos elementos é verdadeiro não garante que o outro seja verdadeiro ou falso, ou seja, tanto V∨F quanto V∨V são verdadeiros. Daí concluir:
    A∨B
A
├ ¬B


É um erro!

Por exemplo, digamos que sabemos que alguém nadou na piscina, pois as bordas estavam molhadas. As suspeitas são Pedro e João. Sabemos que Pedro nadou na piscina, logo deduzimos que João não nadou.

Ora! O fato de Pedro ter nadado na piscina não significa que João não tenha nadado também.

OU exclusivo


Esta operação é o OU a que estamos mais habituados na linguagem comum. Ou uma proposição é verdadeira, ou outra, mas não as duas:
+---+---+-----+
| A | B | A⊕B |
+---+---+-----+
| V | V | F |
| V | F | V |
| F | V | V |
| F | F | F |
+---+---+-----+


Geralmente não tem consequências maiores, a menos quando o OU lógico é confundido com o OU exclusivo, como na falácia anterior.

Implicação


A implicação é a operação lógica mais explorada pelos maliciosos que pretendem enganar os desavisados.

Funciona da seguinte forma: se a primeira proposição for verdadeira, a segunda também será, caso contrário nada se sabe da segunda proposição.

A tabela diz o seguinte:
+---+---+-----+
| A | B | A→B |
+---+---+-----+
| V | V | V |
| V | F | F |
| F | V | V |
| F | F | V |
+---+---+-----+


Então a conclusões que podemos tirar são:
    A→B
A
├ B

A→B
¬B
├ ¬A


Afirmação do consequente


É quando se usa a consequência para afirmar o antecedente:
    A→B
B
├ A


Veja na tabela que tanto V→V quanto F→V são verdadeiros, assim afirmando o consequente não é possível dizer nada do antecedente. É uma falácia!

Por exemplo (da Wikipédia): onde há carros, há poluição. Portanto, se há poluição, deve haver carros.

Negação do antecedente


É quando se usa a negação do antecedente para negar a consequência:
    A→B
¬A
├ ¬B


Veja na tabela que tanto F→V quanto F→F são verdadeiros, então se o antecedente for falso, nada se sabe da consequência.

Por exemplo: se o rio for fundo, é possível que haja crocodilos. Como o rio não é fundo, não deve haver crocodilos.

Equivalência


A equivalência diz que as duas proposições são falsas ou que as duas são verdadeiras:
+---+---+-----+
| A | B | A↔B |
+---+---+-----+
| V | V | V |
| V | F | F |
| F | V | F |
| F | F | V |
+---+---+-----+


Seu perigo é quando a operação de implicação é confundida com ela.

Acidente


Acidente consiste em tomar o todo pela parte. Se há religiosos fanáticos, então todo religioso é fanático; ou: se há ateus não fanáticos, então nenhum ateu é fanático. Conclusões erradas.

As operações envolvidas são um pouco mais complexas, ∃ (existe) e ∀ (para todo). Não vou entrar nesse mérito, já que foge ao escopo do artigo.

Red Herring


Consiste em distrair o interlocutor com afirmações (geralmente verdadeiras) que não têm relação de consequência com a conclusão.
    A
B
C
D
├ E


Por exemplo: este prédio sofre muita infiltração devido à grande quantidade de pinturas de paisagem oceânica pelas paredes.

Costuma ser muito usada em combinação com as falácias de afirmação do consequente e de negação do antecedente, para que o interlocutor se distraia e não as perceba.

Pressuposição de axiomas


A pressuposição é a falácia onde uma verdade não comprovada é pressuposta para validar uma consequência:
    A→B
├ B


Mas geralmente é óbvia demais, então é usada com conjuntos de axiomas.

Axiomas são afirmações que se intervalidam, garantindo que ou todas são corretas, ou todas são falsas:
    A→B
B→C
C→D
D→A
├ A


É interessante lembrar que, ao contrário do que os defensores ferrenhos da onisciência da Ciência Humana dizem, o conhecimento científico oficial é baseado mais em conjuntos de axiomas – e até alguns postulados – do que em observação e prática.

--


Fica então a dica: não se deixe enganar por falácias!

Você pode encontrar mais sobre falácias na Wikipédia.

E a Álgebra Booleana é amplamente utilizada na programação.

[]’s
Cacilhας, La Batalema