Teorema da Compacidade Renato Paes Leme Um dos objetivos da lógica proposicional é dado um conjunto Σ de wffs, determinar se uma proposição α é ou não consequencia de Σ. Isto é, se dada uma valoração ν tal que ν(β) = T, ∀β ∈ Σ então ν(α) = T . Uma forma de fazer isso, é usando provas por tableau. Partindo de F α, construimos recursivamente o tableau: 1) fazendo a adjunção de tableaux atômicos ou: 2) fazendo a adjuntão de T β onde β ∈ Σ. Para considerarmos que Σ ` α, isto é que α pode ser provado por tableau a partir de Σ devemos obter um tableau onde todos os caminhos são contraditórios. Quando Σ é um conjunto nito, basta construir o tableau cst - "Complete Sistematic Tableau", obtido usando o seguinte critério de redução: dado Σ = {βk |k ∈ N} e partindo do tableau atômico F α, fazemos os seguintes passos na k -ésima iteração: • Procuramos o nó γ de menor nível (mais próximo da raiz) que ainda não foi reduzido, no caminho não contraditório mais a esquerda e fazemos a adjunção do tableau atômico que tem γ como raiz no m de todos os caminhos que partem de γ • No m de todos os caminho não-contraditórios do tableau obtido, fazemos a adjunção de T βk Esse processo naturalmente para em algum momento de Σ é um conjunto nito. O problema é quando Σ é innito. O teorema da compacidade nos diz que se Σ ` α então para algum subconjunto nito Γ ⊆ Σ, vale: Γ ` α. Veremos isso como consequencia do chamado Lema de König: Lema 1 (König). Se T é uma árvore com um número innito de nós e, se existe k ∈ N tal que todo nó tem no máximo k lhos, então existe uma sequencia innita < x1 , x2 , ... > de nós tais que xi+1 é lho de xi Prova. Seja φ(x) o número de descendentes do nó x (considere que um nó é descendente de si mesmo), e {x1 , x2 , ..., xk } os lhos de x. Se, por exemplo, x 1 só tem dois lhos y e z então: x1 = y , x2 = y , x3 = x4 = ... = xk = N U LL. Assim, pela estrutura de uma árvore: φ(x) = 1 + φ(x1 ) + φ(x2 ) + ... + φ(xk ) Tomando a raiz da árvore T como x1 , temos que φ(x1 ) = ∞, assim: 1 + φ(x11 )+φ(x21 )+...+φ(xk1 ) = ∞, logo existe i tal que φ(xi1 ) = ∞. Faça x2 = xi1 Indutivamente, se φ(xj ) = ∞ então 1 + φ(x1j ) + φ(x2j ) + ... + φ(xkj ) = ∞, logo existe i tal que φ(xij ) = ∞. Faça xj+1 = xij Assim construimos o caminho innito < x1 , x2 , ... >. Note que um tableau é uma árvore binária. Cada nó tem no máximo dois lhos. Assim, um tableau com um número innito de nós se enquadra na hipótese do lema de König. Usando ele como base, provemos outro lema que nos levará ao teorema da compacidade. Mas antes disso, percamos um pouco mais de tempo analisando o problema: Se queremos provar que Σ = {βk |k ∈ N} ` α usando tableau, usemos o procedimento normal: comecemos com o tableau atômico F α e vamos reduzindo ele através das regras dadas acima, para tentar mostrar que todos os caminhos assim obtidos são contraditórios. Se realmente Σ |= α então, pelo teorema da complitude, somos capazes de provar α por tableau a partir de Σ. A pergunta é: será que seremos capazes de terminar esse tableau com um número nito de passos, ou seremos obrigados a reduzí-lo indenidamente. Lema 2. Seja τ um tableau construído a partir de Σ partindo de um tableau atômico τ0 e seguindo os passos acima, obtendo a cada passo os tableaux τ1 , τ2 , τ3 , ... Então, se o tableau τ = lim τn é contraditório, então existe um m tal que τm é contraditório. Prova. Se τ é um tableau contraditório, para todo caminho P =< r, x1 , x2 , ... > partindo da raiz r existem nós xi e xj constraditórios, com i < j (por exemplo, seja xi = F γ e xj = T γ ). Assim, seja P ∗ o subcaminho nito, também contraditório: P =< r, x1 , x2 , ..., xi , ..., xj > Partindo de cada caminho do tableau τ , aplique esse processo. Obteremos então um tableau contraditório τ ∗ em que todos os caminhos são nitos. Pelo lema de König, τ ∗ tem que ter um número nito de nós, caso contrário teria um caminho innito. Como τ ∗ é tem um número nito de nós, ele tem um nível máximo, seja ele k . Como o processo que gera τ1 , τ2 , τ3 , ... reduz os nós por nível, existe 2 m tal que, no tableau τm , os k primeiros níveis de τ já estão formados. Logo, todos os caminhos são constraditórios. Admitindo que Σ ` α se, e somente se Σ |= α, ou seja, que α é consequencia lógica de Σ se, e somente se, isso pode ser provado por tableau (Teoremas da Consistência e Complitude), o Teorema da Compacidade vem de graça a partir dos dois lemas acima: Teorema 3 (Compacidade). α é uma consequencia lógica de Σ se, e somente se α é consequencia lógica de um subconjunto nito Γ de Σ. Prova. A direção (⇐=) é trivial. Façamos (=⇒): Temos: Σ = {βk |k ∈ N} |= α ⇐⇒ Σ ` α Podemos então construir um tableau τ de raiz F α que seja contraditório. Pelo Lema, existe m ∈ N tal que τm é contraditório. Como em τm só foram usados Γ = {β1 , ..., βm } ⊆ Σ, temos que Γ ` α, logo: Γ |= α Apresentemos uma outra prova do Teorema da Compacidade que não utiliza os teoremas da consistência e complitude. Ou seja, uma prova que não supõe que Σ implicar tautologicamente α é equivalente a α poder ser provado por tableau a partir de Σ. Denição 4. Seja C = {Ci |i ∈ N} um conjunto de símbolos proposicionais e Σ = {βi |i ∈ N} um conjunto innito de proposições sobre os símbolos de C . Dizemos que Σ é satisfatível se existe uma atribuição ν : C −→ {V, F } tal que ν(β) = V para qualquer β ∈ Σ. Teorema 5 (Compacidade). No contexto da denição acima, Σ é satisfatível, se e somente se, todo subconjunto nito Γ de Σ é satisfatível. Prova. Considere uma árvore binária T cujos nós do n-ésimo nível são rotulados com sequencias binárias de n termos, ou seja, σ =< a1 a2 ...an > onde ai ∈ {0, 1}. Um termo σ =< a1 a2 ...an > está na árvore se existe alguma atribuição ν : C −→ {V, F } tal que para i = 1, ..., n, ν(Ci ) = σ[i] (considere que V = 1 e F = 0) e ν(βi ) = V . Em outras palavras, um nó do n-ésimo nível representa uma atribuição para os n primeiros símbolos proposicionais. Uma atribuição (nó) está na árvore, se ela pode ser extendida de forma a tornar verdadeiros os n primeiros elementos de Σ. 3 Armação 1: Σ é satisfatível se, e somente se, a árvore possui um caminho innito. Ou seja, caso exista uma sequencia < ∅, σ1 , σ2 , ... > na árvore tal que σi , seja pai de σi+1 , isto é σi concatenado com 0 ou 1. Prova da armação 1: (=⇒) Se Σ é satisfatível, existe ν : C −→ {V, F } que satisfaz Σ. Considere assim a sequencia σ =< x1 , x2 , ... > onde xi = 1 se ν(Ci ) = V e xi = 0 caso contrário. Portanto, se denirmos σn =< x1 , x2 , ..., xn >, temos um caminho innito < ∅, σ1 , σ2 , ... > na árvore T . (⇐=) Se existe um caminho innito < ∅, σ1 , σ2 , ... > na árvore, considere a atribuição ν : C −→ {V, F } onde ν(Ci ) = V se σi [i] = 1 e ν(Ci ) = F caso contrário. Provemos que essa sequencia satisfaz Σ. De fato, se não satiszesse, existiria βn ∈ Σ tal que ν(βn ) = F . Note que βn é uma proposição (ou seja, uma wff), logo depende de um número nito de símbolos proposicionais. Seja k 0 o maior índice dos símbolos proposicionais dos quais βn depende e k = max{k 0 , n}. Assim, como σk está na árvore T , a atribuição dos símbolos C1 , ..., Ck satisfaz βn . Como βn não depende de nenhum outro símbolo, βn é satisfeito por ν , contradição. Armação 2: Para todo n ∈ N, existe um caminho de tamanho n na árvore T . Prova da armação 2: Supomos como hipótese que todo subconjunto nito Γ de Σ é satisfatível. Assim {β1 , ..., βn } é satisfatível, logo existe ν tal que ν(β1 ) = ... = ν(βn ) = V . Assim o nó σ =< x1 , ..., xn > onde xi = 1 se ν(Ci ) = V e xi = 0 caso contrário pertence à árvore. Assim, provamos que para todo n existe um nó no n-ésimo nível da árvore. Assim existem innitos nós na árvore. Pelo Lema de König, existe um caminho innito na árvore T . Segundo a armação 1, isso implica que Σ é satisfatível. 4