17 de dezembro de 2010

Operadores verofuncionais em termos de condicionais e negação*

Uma das características interessantes da lógica proposicional é a existência do que chamamos de operadores verofuncionais. Um operador é definido como verofuncional quando se pode determinar o valor de verdade de uma ou mais proposições concatenadas ao operador sem recorrer ao operador, ou seja, somente pelo valor de verdade da ou das proposições. Os operadores verofuncionais são cinco: conjunção, negação, disjunção, condicional e bicondicional. Considere a proposição “João é gay e Maria é estelionatária”. Chamemos “João é gay” de P e “Maria é estelionatária” de Q. Admitindo que o símbolo usado para representar a palavra “e” (conjunção) é ^, temos então P ^ Q.

Nós não precisamos do operador para determinar os valores de verdade de P e de Q. No entanto, para uma fórmula com a conjunção ser verdadeira, P e Q terão de ser verdadeiras.

Para ilustrar isso, observe a tabela de verdade da conjunção:

P Q P ^ Q
V V V
V F F
F V F
F F F

Alguns operadores não são verofuncionais. Operadores não-verofuncional construirão proposições cujos valores de verdade não podem ser determinados somente com base no valor de verdade da proposição ou proposições concatenadas ao operador. Ao dizermos que João acredita que Q, em que Q é “Maria é estelionatária”, não podemos concluir nada sobre o valor de verdade de Q. Em outras palavras, não sabemos se podemos ou não enquadrar Maria no artigo 171 do Código Penal brasileiro.

Meu objetivo aqui, no entanto, não é exatamente discorrer sobre os cinco operadores verofuncionais em separado, e sim tentar demonstrar que podemos reduzi-los a apenas dois, nomeadamente, negação e condicional. A minha fonte principal na empreitada é o capitulo sobre lógica proposicional do livro “Logic for Philosophy”, do filósofo Ted Sider, atualmente professor na Universidade de Nova York. O procedimento será o seguinte: primeiro, vou transcrever a conjunção em termos de condicional, depois será a vez de a disjunção ter o mesmo tratamento e, por último, e da mesma forma, a bicondicional. No que concerne à conjunção, a demonstração é do próprio Sider. A disjunção e a bicondicional são tentativas minhas e eu não sei se estão corretas. Provavelmente estão erradas e por esse motivo agradeço ao leitor quaisquer correções.

Antes de tudo, a definição de interpretação pode ser útil:

Interpretação: uma interpretação é uma função (i) que assume para A o valor de 1 ou de 0. Se, por exemplo, uma proposição atômica P tiver o valor 1 ela é verdadeira, ao passo que se tiver o valor 0 é falsa. Assim, podemos dizer, por exemplo, que i(P) = 1 ou que i(P) = 0. Como em uma função um ou mais inputs só podem ser ligados a um output, concluímos que a função de verdade seja de uma proposição atômica P ou de uma fórmula mais complexa como P → Q tem de ser considerada em termos de verdade ou falsidade, e nunca ambas as coisas ao mesmo tempo.

Ligado ao que foi dito acima, Sider nos oferece um símbolo (V) correspondente a função do valor de verdade para expressões complexas. Por exemplo, podemos escrever a fórmula complexa acima nos seguintes termos: Vi (P → Q) = 1.

Como queremos tratar de condicionais e negações, definamos seus valores de verdade:

Condicional: o valor de verdade da condicional é verdadeiro se, e somente se, o seu antecedente for falso ou o seu conseqüente for verdadeiro. Dessa forma, temos que Vi (A → B) = 1 se, e somente se Vi (A) = 0 ou Vi (B) = 1.

Negação: o valor de verdade de uma proposição negada é verdadeiro se, e somente se, a negação da negação dessa dada proposição que acabamos de mencionar for falsa. Temos, então que Vi (~A) = 1 se, e somente se, Vi (A) = 0.

Vejamos as tabelas de verdade, respectivamente, da condicional e da negação:


P Q P → Q
V V V
V F F
F V V
F F V


P ~P
V F
F V

Já vimos alguma coisa sobre a conjunção, então definamos seu valor de verdade como verdadeiro se, e somente se, Vi (A) = 1 e Vi (B) = 1.

Disjunção: o valor de verdade de uma disjunção é verdadeiro se, e somente se, um de seus disjuntos for verdadeiro. Assim, Vi (A V B) = 1 se, e somente se, ou Vi (A) = 1 ou Vi (B) = 1.

Bicondicional: o valor de verdade de uma bicondicional é verdadeiro se, e somente se, o valor de verdade de A for igual ao de B. Assim, Vi (A ↔ B) = 1 se, e somente se, Vi (A) = Vi (B).

Quando falamos de valor de verdade dos operadores não estamos nos referindo ao valor de verdade de um “e” isolado, por exemplo. Referimo-nos, sim, a quaisquer fórmulas bem formadas que contenham os operadores, como, por exemplo, P ^ Q.

Veja as tabelas de verdade, respectivamente, da disjunção e da bicondicional:


P Q P V Q
V V V
V F V
F V V
F F F


P Q P ↔ Q
V V V
V F F
F V F
F F V


Passemos, então, para a demonstração do valor de verdade da conjunção em termos de condicional:

Conjunção

Assumamos que Vi (A ^ B) = 1 para chegarmos no seguinte resultado: Vi (A) = 1 e Vi (B) = 1. Ou seja, para podermos dizer que se o primeiro, então o segundo.

Vi (A ^ B) = 1 é equivalente a Vi (~(A → ~B)) = 1.

Se Vi (~(A → ~B)) = 1, então a negação disso, que é Vi (A → ~B) = 0 (ver regra da negação).

Com a definição da condicional em mente, sabemos que não é o caso de ou Vi (A) = 0 ou Vi (~B) = 1. Se não é o caso disso, temos, então, por De Morgan, que Vi (A) = 1 e Vi (~B) = 0. Aplicando a regra da negação em Vi (~B) = 0, podemos concluir que Vi (B) = 1. Assim, Vi (A) = 1 e Vi (B) = 1.

O que acabamos de ver foi o seguinte: Vi (A ^ B) = 1 → Vi (A) = 1 e Vi (B) = 1.

Façamos agora o caminho de volta para tentar demonstrar que se Vi (A) = 1 e Vi (B) = 1, então Vi (A ^ B) = 1.

Assumamos que Vi (A) = 1 e Vi (B) = 1. Assim, uma vez que Vi (B) = 1, sabemos pela regra da negação que Vi (~B) = 0. Dada a definição da condicional, sabemos que não é o caso de Vi (A → ~B) = 1. Portanto, pela negação novamente, Vi (A → ~B) = 0. E mais uma vez pela negação, Vi (~(A →~B)) = 1. Uma vez que Vi (~(A → B)) = 1, então Vi (A ^ B) = 1.

Portanto, Vi (A ^ B) = 1 se, e somente se, Vi (A) = 1 e Vi (B) = 1. □

Disjunção

Queremos demonstrar que Vi (A V B) = 1 se, e somente se, ou Vi (A) = 1 ou Vi (B) = 1.

Vi (A V B) = 1 é equivalente a Vi (~A → B) = 1. Assumindo que Vi (~A → B) = 1, então Vi ~(~A → B) = 0. Pela Negação da Condicional, temos que Vi (~A ^ ~B) = 0.

Mas pensemos em Vi ~(~A → B) = 0. Façamos, aqui, com esta condicional, o mesmo que foi feito acima, na demonstração da conjunção.

Sabemos que não é o caso – pela definição da condicional - de Vi (A) = 1 ou Vi (B) = 0. Por De Morgan, sabemos que Vi (~A) = 1 e Vi (~B) = 0. Pela negação, sabemos que Vi (A) = 0 e Vi (B) = 1. A definição da condicional nos diz que ou Vi (A) = 0 ou Vi (B) = 1.

Uma vez que Vi (A V B) = 1, essa mesma fórmula posta de forma condicional tem de ter valor igual a 1.

Assim, Vi (~A → B) satisfaz a definição (note os valores de A e B no penúltimo parágrafo). Portanto, Vi (~A → B) = 1.

Vimos que Vi (A V B) = 1 se, e somente se, Vi (A) = 1 ou Vi (B) = 1.

Façamos agora o caminho de volta para tentar demonstrar que Vi (A) = 1 ou Vi (B) = 1 se, e somente se, Vi (A V B) = 1.

Assumamos que Vi (A) = 1 ou Vi (B) = 0. Podemos dizer, assim, que Vi (~A) = 0 ou Vi (~B) = 1. Porém, se formos aplicar a regra da condicional, veremos que não é o caso de Vi (~A) = 0 ou Vi (~B) = 1. Logo, temos, novamente por De Morgan, que Vi (A) = 0 e Vi (B) = 1. Isso satisfaz a definição da condicional de que ou Vi (A) = 0 ou Vi (B) = 1. Colocando, então, em forma de condicional, podemos dizer que Vi (~A) = 1 → Vi (B) = 1. Assim, Vi (~A → B) = 1 e, conseqüentemente, Vi (A V B) = 1.

Assumamos, agora, que Vi (A) = 0 ou V(i) B = 1. Aqui o trabalho parece ser mais fácil, uma vez que o que temos aqui é a própria definição da condicional. Assim, podemos dizer que Vi (~A → B) = 1. Por conseguinte, Vi (A V B) = 1.

Vimos, com isso tudo, que Vi (A V B) = 1 se, e somente se, ou Vi (A) = 1 ou Vi (B) = 1. □

Bicondicional

Vejamos o que acontece com a bicondicional. Vamos relembrar o que foi dito sobre ela: o valor de verdade de uma bicondicional é verdadeiro se, e somente se, o valor de verdade de A for igual ao de B. Assim, Vi (A ↔ B) = 1 se, e somente se, Vi (A) = Vi (B).

Assumamos que Vi (A ↔ B) = 1. Isso significa que Vi (A) = 0 e Vi (B) = 0 ou Vi (A) = 1 e Vi (B) = 1.

Assim, podemos dizer que Vi ~ (A ↔ B) = 0. Disso, podemos extrair que Vi ~ (A ↔ B) = 0 é equivalente a Vi (A) = 1 e Vi (B) = 0 ou Vi (A) = 0 e Vi (B) = 1.

Aplicando a regra da condicional, vejamos como funcionam os diferentes valores de verdade para A e para B. O que podemos notar, e não acredito que seja por acaso, é que a condicional funciona de acordo com a regra nas ocasiões em que os valores de verdade de A e B são iguais. Vejamos:

Vi ((A) = 0) → (Vi (B) = 0) = 1
Vi ((B) = 0) → (Vi (A) = 0) = 1

Vi ((A) = 1) → (Vi (B) = 1) = 1
Vi ((B) = 1) → (Vi (A) = 1) = 1

Compare com o que ocorre quando tentamos valores diferentes para A e B:

Vi ((A) = 0) → (Vi (B) = 1) = 1
Vi ((B) = 1) → (Vi (A) = 0) = 0

Vi ((A) = 1) → (Vi (B) = 0) = 0
Vi ((B) = 0) → (Vi (A) = 1) = 1

Assim, se Vi (A) = Vi (B), a bicondicional tem valor 1. E se a bicondicional tem valor 1, Vi (A) = Vi (B). Veja que tanto a “ida” quanto a “volta” das condicionais assumem valor 1 se os valores de A e B forem os mesmos. Isso, no entanto, não ocorre quando assumimos valores diferentes para A e B.

Assim, podemos dizer que Vi (A ↔ B) = 1 se, e somente se, Vi (A) = Vi (B). □


Referências:

Sider, Theodore (2010). Logic for Philosophy. Oxford: Oxford University Press

Downes, Stephen, “Operadores Proposicionais”, em Crítica na Rede. http://criticanarede.com/operator.htm (acessado em 30/04/10)

Newton-Smith, W. H. (1985) Lógica: Um Curso Introdutório. Trad. D. Murcho. Lisboa: Gradiva, 1998.