Saltar para o conteúdo
Topos Uranos

Resumo

Esta aula passa do valor de verdade de uma fórmula às relações entre fórmulas. Define a consequência semântica a partir de um conjunto de premissas, finito ou infinito, e precisa as leituras do sinal da consequência, incluída a de sua negação, que diz que algo não é válido e não que seja contraditório. Usa os valores dos conectivos escritos como polinômios, o que converte a verificação de uma lei em um cálculo, e demonstra as propriedades estruturais da consequência (reflexividade, monotonicidade, corte e transitividade), o teorema da dedução semântico e a redução da consequência à insatisfatibilidade, na qual se apoiará o método de resolução. Define depois a equivalência semântica, prova que é uma relação de equivalência que coincide com a consequência mútua e com a validade do bicondicional, e demonstra por indução sobre a complexidade os dois teoremas que permitem trabalhar com ela: a substituição de uma ocorrência de uma subfórmula por outra equivalente e a substituição uniforme de variáveis por fórmulas. Com eles estabelece o catálogo de leis com seus nomes corretos e simplifica fórmulas por cadeias de equivalências, sem tabelas-verdade.

Objetivos de aprendizagem

  1. Decidir se uma fórmula é consequência semântica de um conjunto de fórmulas, finito ou infinito, exibindo uma valoração que a falsifique ou demonstrando que não existe.
  2. Demonstrar e aplicar as propriedades da consequência, o teorema da dedução semântico e a redução da consequência à insatisfatibilidade.
  3. Estabelecer equivalências semânticas por tabelas-verdade, pelo cálculo com os valores e por cadeias de equivalências, nomeando corretamente cada lei.
  4. Demonstrar por indução sobre a complexidade o teorema da substituição semântica e o da substituição uniforme, e distinguir quando se aplica cada um.

O que se usa da aula anterior

A aula sobre a semântica da lógica proposicional deu significado às fórmulas, e esta aula o dá por sabido. Uma valoração é uma função v ⁣:V→{0,1}v\colon V \to \{0, 1\}, que atribui a cada variável um valor de verdade, 11 (verdadeiro) ou 00 (falso). Pelo teorema de definição por recursão sobre as fórmulas, da aula sobre a indução, cada valoração se estende de um único modo a todas as fórmulas mediante a cláusula da negação conjunta, a única necessária, porque a língua tem um só conectivo:

v((φ↓ψ))=1  ⇔  v(φ)=0,    v(ψ)=0v((\varphi \downarrow \psi)) = 1 \;\Leftrightarrow\; v(\varphi) = 0, \;\; v(\psi) = 0

Pela unicidade da extensão, escreve-se v(φ)v(\varphi) também para o valor da extensão; a letra vv sem subíndice designa sempre uma valoração (e v′v', ww, uu, outras), ao passo que as variáveis levam sempre seu subíndice. Como na aula sobre a formalização, pp, qq, rr, ss e tt nomeiam as variáveis v1v_1 a v5v_5, e V(φ)V(\varphi) é o conjunto das variáveis de φ\varphi. Diz-se que vv satisfaz φ\varphi, e escreve-se v⊨φv \models \varphi, quando v(φ)=1v(\varphi) = 1, e que a falsifica, v⊭φv \not\models \varphi, quando v(φ)=0v(\varphi) = 0. Uma fórmula é válida (ou tautologia), e escreve-se ⊨φ\models \varphi, se toda valoração a satisfaz; satisfatível, se alguma a satisfaz; insatisfatível (ou contradição), se nenhuma a satisfaz; contingente, se é satisfatível sem ser válida. Uma valoração satisfaz um conjunto Γ\Gamma de fórmulas, v⊨Γv \models \Gamma, quando satisfaz cada uma delas, e Γ\Gamma é satisfatível se alguma valoração o satisfaz e insatisfatível em caso contrário. Por último, ⊤:=(v1→v1)\top := (v_1 \rightarrow v_1) e ⊥:=¬⊤\bot := \neg\top, de modo que v(⊤)=1v(\top) = 1 e v(⊥)=0v(\bot) = 0 para toda valoração.

Daquela aula usam-se ainda dois resultados. O primeiro é o lema da coincidência: se duas valorações coincidem nas variáveis de φ\varphi, coincidem em φ\varphi; por ele, o valor de uma fórmula com nn variáveis depende só de 2n2^{n} combinações, e sua tabela-verdade é finita. O segundo é o teorema dos valores dos conectivos derivados, que calcula a partir das abreviaturas oficiais o valor de cada conectivo como um polinômio nos valores dos componentes. Se a=v(φ)a = v(\varphi) e b=v(ψ)b = v(\psi):

v(¬φ)=1−a,v((φ∨ψ))=a+b−ab,v((φ∧ψ))=abv(\neg\varphi) = 1 - a, \qquad v((\varphi \vee \psi)) = a + b - ab, \qquad v((\varphi \wedge \psi)) = ab
v((φ→ψ))=1−a(1−b),v((φ↔ψ))=ab+(1−a)(1−b),v((φ⊻ψ))=a+b−2abv((\varphi \rightarrow \psi)) = 1 - a(1 - b), \qquad v((\varphi \leftrightarrow \psi)) = ab + (1 - a)(1 - b), \qquad v((\varphi \veebar \psi)) = a + b - 2ab

As demonstrações desta aula consistem, quase todas, em comparar valores de verdade, e esses polinômios permitem fazê-lo com um cálculo em vez de um percurso de casos. Sua única regra adicional é que 00 e 11 são os únicos números que coincidem com seu quadrado: se xx vale 00 ou 11, então x2=xx^{2} = x e x(1−x)=0x(1 - x) = 0. Convém ter à mão, além disso, outras três escritas dos mesmos valores, que se obtêm desenvolvendo os produtos:

v((φ↓ψ))=(1−a)(1−b),v((φ∨ψ))=1−(1−a)(1−b),v((φ↔ψ))=1−a−b+2abv((\varphi \downarrow \psi)) = (1 - a)(1 - b), \qquad v((\varphi \vee \psi)) = 1 - (1 - a)(1 - b), \qquad v((\varphi \leftrightarrow \psi)) = 1 - a - b + 2ab

A primeira é a cláusula da negação conjunta (o produto de 1−a1 - a e 1−b1 - b vale 11 exatamente quando a=b=0a = b = 0); a segunda diz que a disjunção vale 00 só se ambos os componentes valem 00; a terceira, que o bicondicional vale 11 se a=ba = b (porque 1−2a+2a2=11 - 2a + 2a^{2} = 1) e 00 se a≠ba \neq b (porque então a+b=1a + b = 1 e ab=0ab = 0).