• Nenhum resultado encontrado

Especificação e verificação de protocolos de votação em lógica linear com focusing

N/A
N/A
Protected

Academic year: 2021

Share "Especificação e verificação de protocolos de votação em lógica linear com focusing"

Copied!
112
0
0

Texto

(1)

PROGRAMA DEPÓS-GRADUAÇÃO EMMATEMÁTICAAPLICADA E ESTATÍSTICA

MESTRADO EM MATEMÁTICAAPLICADA EESTATÍSTICA

Especificação e Verificação de Protocolos de

Votação em Lógica Linear com Focusing

Washington Cavalcante da Silva

Natal-RN Maio de 2018

(2)

Especificação e Verificação de Protocolos de Votação em

Lógica Linear com Focusing

Trabalho apresentado ao Programa de Pós-Graduação em Matemática Aplicada e Estatís-tica da Universidade Federal do Rio Grande do Norte, em cumprimento com as exigências le-gais para obtenção do título de Mestre.

Área de Concentração: Modelagem Matemá-tica.

Linha de Pesquisa: Matemática Computacional

Orientador(a)

Prof. Dr. Carlos Alberto Olarte Vega

UNIVERSIDADEFEDERAL DORIOGRANDE DONORTE– UFRN

PROGRAMA DEPÓS-GRADUAÇÃO EMMATEMÁTICAAPLICADA EESTATÍSTICA – PPGMAE

Natal-RN Maio de 2018

(3)

Silva, Washington Cavalcante da.

Especificação e verificação de protocolos de votação em lógica linear com focusing / Washington Cavalcante da Silva. -2018.

110 f.: il.

Dissertação (Mestrado) - Universidade Federal do Rio Grande do Norte, Centro de Ciências Exatas e da Terra, Programa de Pós-Graduação em Matemática Aplicada e Estatística. Natal, RN, 2018. Orientador: Prof. Dr. Carlos Alberto Olarte Vega.

1. Lógica linear - Dissertação. 2. Focusing - Dissertação. 3. Sistemas de Transição Dissertação. 4. Protocolos de Votação -Dissertação. I. Vega, Prof. Dr. Carlos Alberto Olarte. II. Título.

RN/UF/BCZM CDU 004.312.466 Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede

(4)

em Lógica Linear com Focusing apresentada por Washington Cavalcante da Silva e aceita pelo

Programa de Pós-Graduação em Matemática Aplicada e Estatística da Universidade Federal do Rio Grande do Norte, sendo aprovada por todos os membros da banca examinadora abaixo especificada:

Professor Doutor Carlos Alberto Olarte Vega

Orientador

Escola de Ciência e Tecnologia Universidade Federal do Rio Grande do Norte

Professora Doutora Elaine Gouvêa Pimentel

Departamento de Matemática Universidade Federal do Rio Grande do Norte

Professora Doutora Giselle Reis

Department of Computer Science Carnegie Mellon University - Qatar

(5)
(6)

Desde dos nossos primeiros passos que necessitamos de ajuda para poder andar. É fato: ninguém caminha sozinho! Por isso, gostaria de agradecer àqueles que me ajudaram de diversas formas no desenvolvimento deste trabalho.

Primeiramente, agradeço a Deus por me guiar em todos os momentos de minha vida. Agra-deço muito ao professor Carlos Olarte pela sua dedicação, paciência, ensinamentos, bom humor, e por nossas conversas engraçadas que surgiam durante as orientações. Queria agradecer aos pro-fessores do PPGMAE, em especial a professora Elaine Pimentel, a quem tive a honra de ter sido aluno, pelos ensinamentos que obtive durante esses dois anos de estudo.

Finalmente, por estar sempre ao meu lado, nas constantes mudanças de cidade, tendo que se readaptar aos novos lugares, agradeço a minha família pelo apoio que sempre tive.

(7)

choupanas dos pobres, palácios de príncipes.

(8)

Lógica Linear com Focusing

Autor: Washington Cavalcante da Silva Orientador(a): Prof. Dr. Carlos Alberto Olarte Vega

R

ESUMO

A lógica linear (LL) tem se consolidado como um bom arcabouço para especificar sistemas computacionais, uma vez que fórmulas podem ser interpretadas como recursos que podem ser consumidos e/ou produzidos. Além disso, do ponto de vista da Teoria da Prova, a LL reconcilia o aspecto construtivo da lógica intuicionista com a simetria da lógica clássica. Desta maneira, é possível, de uma forma mais flexível, modelar estados de um sistema como fórmulas lógicas, e as transições entre esses estados como etapas na construção de uma prova. No entanto, a busca por provas, em geral, não é determinística, pois existem diferentes maneiras de se provar a mesma proposição. Visando reduzir esse problema, um sistema de provas focado pode ser utilizado nesse processo de busca. A grosso modo, um sistema focado considera provas em forma normal, re-duzindo assim as ocorrências de provas não essenciais que são sintaticamente diferentes, mas equivalentes no final do processo. Neste trabalho, é apresentada a prova da completude de um sistema focado para a LL, bem como outras propriedades essenciais desse sistema. Além disso, o sistema focado será utilizado para especificar e verificar protocolos de votação, que definem como deve ser escolhido um candidato, feita uma contagem de votos, e divulgado o resultado de uma eleição. Para que isso seja possível, dois protocolos de votação serão especificados for-malmente utilizando sistemas de transição de estados, que modelam de forma natural os estados e comportamento de tais protocolos. Junto a isso, para cada sistema, uma especificação em LL será definida e demonstrada que é correta, ou seja, que um passo focado representa uma determi-nada transição no sistema de estados modelado. Por fim, propriedades inerentes aos protocolos de votação, como a garantia de que o resultado da eleição reflete o desejo dos eleitores, serão apresentadas e demonstradas através de derivações no sistema focado.

(9)

Linear Logic

Author: Washington Cavalcante da Silva Advisor: Prof. Dr. Carlos Alberto Olarte Vega

A

BSTRACT

Linear logic (LL) has been consolidated as a good framework for specifying computational sys-tems, since formulas can be interpreted as resources that can be consumed and / or produced during a proof. From the point of view of Proof Theory, LL reconciles the constructive aspect of intuitionistic logic with the symmetry of rules in classical logic. Hence, LL offers a more flexible way to model states of a system as well as transitions among those states. We note that the proof search procedure is inherently non-deterministic since there are different ways of proving the same proposition. In order to tame this problem, focused systems have been proposed aiming at reducing the number of choices during the proof search procedure. Roughly, a focused system considers normal form proofs, thus eliminating the occurrences of nonessential proofs that are syntactically different but equivalent. In this work, we present the proof of the completeness of a focused system for LL as well as some other essential properties of this system. In addition, we use the focused system for specifying and verifying voting protocols. Such systems define how a candidate is chosen by tallying votes and computing the final result of an election. We formally specify two voting protocols using transition systems, which naturally model the states and behavior of such protocols. For each system, an encoding in LL is defined and we show that our specification is correct: a focused step corresponds exactly to a transition in the modeled system. Finally, we verify important properties of the voting protocols such as the fact that the system ensures that the election result reflects the voters’ desire.

(10)

1 Regras estruturais de enfraquecimento (W) e contração (C) na versão

two-sided da lógica clássica. . . p. 21

2 Regras estruturais de enfraquecimento (W) e contração (C) na versão

one-sided da lógica clássica. . . p. 21

3 Regras de derivação para a lógica linear clássica. . . p. 22 4 Regras de derivação para implicação linear (versão two-sided). . . p. 23 5 Derivações P-equivalentes que diferem apenas pela ordem de aplicação das

regras inferência. Γ é um multiconjunto de fórmulas, F, G e H são fórmulas. . p. 30 6 Presença de loop desnecessário. Γ é um multiconjunto de fórmulas e F uma

fórmula. . . p. 30 7 Sistema Diádico (Σ2). Θ um conjunto de fórmulas, Γ, Δ multiconjuntos de

fórmulas, F e G são fórmulas . . . p. 31 8 Sistema focado LLF para lógica linear (Σ3). 𝐹 , 𝐺 são fórmulas, 𝑋 representa

um literal positivo, Θ um conjunto de fórmulas, Γ, Δ multiconjuntos de

fór-mulas (em que Γ, Δ não contém fórfór-mulas assíncronas) e 𝐿 uma lista de forfór-mulas. p. 35 9 Mapeamento das regras estruturais de 𝐿𝐿𝐹 em Σ2. . . p. 36

(11)

1 Notações sobre conjuntos e relações . . . p. 57 2 Operações envolvendo uma relação . . . p. 58 3 Operações envolvendo duas relações . . . p. 58

(12)

∧ Conjunção

∨ Disjunção

⇒ Deduz (implicação lógica)

Turnstile

Tensor (conjunção multiplicativa)

& With (conjunção aditiva) ` Par (disjunção multiplicativa)

Plus (disjunção aditiva)

⊸ Lollipop (implicação linear)

! Bang

? Why not

∃ Existe

∀ Para todo

1 Um (elemento neutro da conjunção multiplicativa)

Bottom (elemento neutro da disjunção multiplicativa) Top (elemento neutro da conjunção aditiva)

(13)

1 Introdução p. 14 1.1 Motivação e Objetivos . . . p. 15 1.1.1 Objetivos Específicos . . . p. 15 1.1.2 Delimitação do Trabalho . . . p. 15 1.2 Organização do trabalho . . . p. 16 2 Lógica Linear p. 17

2.1 A Sintaxe da Lógica Linear Clássica . . . p. 18 2.2 O Cálculo de Sequentes da Lógica Linear Clássica . . . p. 20 2.2.1 Lógica Linear Intuicionista . . . p. 23 2.3 Busca por Prova . . . p. 23 2.4 Aspecto Computacional da Lógica Linear . . . p. 27

3 Focusing p. 29

3.1 O Problema do Não Determinismo . . . p. 29 3.2 Sistema Diádico . . . p. 30 3.3 Sistema Triádico . . . p. 32 3.4 Corretude e Completude do Sistema LLF . . . p. 35 3.4.1 Medidas Importantes para Provas por Indução . . . p. 37 3.4.2 Lemas Fundamentais para a Prova da Completude . . . p. 38 3.4.3 Lemas de Permutação . . . p. 44 3.4.4 Prova do Teorema da Completude . . . p. 49

(14)

4 Especificação Formal de Protocolos de Votação p. 54

4.1 Sistemas de Transição de Estados . . . p. 54 4.2 Conjuntos e Relações . . . p. 56 4.3 Protocolos de Votação . . . p. 59 4.4 O Protocolo FPTP . . . p. 59 4.4.1 Sistema de Transição para o FPTP . . . p. 59 4.4.2 Terminação do ST-FPTP . . . p. 62 4.4.3 Confluência do ST-FPTP . . . p. 63 4.4.4 Codificação Lógica para o FPTP . . . p. 65 4.5 O Protocolo de Contagem de Borda (Borda Count) . . . p. 76 4.5.1 Sistema de Transição para o Contagem de Borda . . . p. 77 4.5.2 Terminação do ST-CB . . . p. 81 4.5.3 Confluência do ST-CB . . . p. 82 4.5.4 Codificação Lógica para o ST-CB . . . p. 83 4.6 Discussão sobre a Codificação Lógica . . . p. 90

5 Verificação dos Protocolos Votação p. 92

5.1 Propriedades dos Protocolos de Votação . . . p. 92 5.1.1 Critério da Monotonicidade . . . p. 93 5.1.2 Critério da Maioria Absoluta . . . p. 93 5.2 Propriedades do Protocolo FPTP . . . p. 93 5.2.1 Monotonicidade no FPTP . . . p. 95 5.2.2 Maioria Absoluta no FPTP . . . p. 97 5.3 Propriedades do Contagem de Borda . . . p. 99 5.3.1 Monotonicidade no Contagem de Borda . . . p. 101

(15)

5.4 Discussão sobre as Propriedades dos Protocolos . . . p. 105

6 Considerações finais p. 106

(16)

1

Introdução

Um dos pilares da democracia vem da possibilidade de se escolher um indivíduo que possa representar o interesse de seu povo. De modo geral, essa característica predomina em diversos momentos do cotidiano de uma sociedade: seja na escolha de um representante de uma categoria trabalhista; seja escolhendo um reitor de uma universidade; ou selecionando um candidato a cantor em um programa de televisão. Em todos os casos, para que isso seja possível, é preciso definir uma forma de se fazer cada uma dessas escolhas.

Um processo de votação consiste em selecionar um (ou mais) dentre vários candidatos para ocupar um determinado cargo, ou ganhar determinada disputa. Nessa simples descrição do pro-cesso, existem várias etapas que precisam ser cumpridas e garantidas para que tudo ocorra de forma transparente, e reflita o desejo daqueles que participam da votação. Dentre essas etapas, o processo de contagem fundamenta-se em regras que variam conforme o esquema ou protocolo de votação escolhido para a eleição.

Como exemplo, no protocolo First-Past-the-Post (FPTP) o eleitor só pode escolher um único candidato no momento da votação (considerando que há apenas uma única vaga em disputa). Já na etapa de resultado, aquele que obteve a maioria simples dos votos é declarado eleito (ganhador da eleição). Em outros protocolos como o de contagem de Borda (Borda count), na etapa de votação os eleitores devem ranquear cada candidato conforme sua preferência, ao passo que na fase de contagem uma pontuação é atribuída para cada candidato conforme sua ordem de preferência (EMERSON, 2013).

Quando esses protocolos são implementados através do uso de computadores, diversas van-tagens e desafios são gerados. A rápida divulgação do resultado é sem dúvida importante para acabar com a ansiedade dos envolvidos (candidatos e eleitores). Todavia, é preciso garantir que esse resultado seja correto, ou seja, que foi gerado exatamente como definido pelo protocolo, o que pode ser feito através de um modelo matemático. Assim, é possível provar que esta repre-sentação, além de formalizar o sistema em questão, atende a determinadas propriedades que são declaradas de maneira informal nos documentos de definição e requisitos (ABRIAL, 2010).

(17)

1.1

Motivação e Objetivos

Existem diversas formas de se especificar formalmente um protocolo através de um modelo matemático. Utilizando um sistema de transição é possível, naturalmente, descrever o compor-tamento desses protocolos. Com uma linguagem formal, como a lógica, é possível modelar sis-temas utilizando fórmulas lógicas, e provar propriedades através de derivações em um sistema de provas. Além disso, esse modelo pode entrar como um passo intermediário no processo de implementação desses protocolos. Um texto informal é mais facilmente traduzido para a lógica, que pode, futuramente, ser diretamente codificado em alguma linguagem lógica como Prolog (DEYOUNG; SCHÜRMANN, 2011).

O objetivo geral deste trabalho é apresentar a especificação formal em lógica linear de dois protocolos de votação, de modo a permitir verificar, utilizando derivações no sistema focado (ANDREOLI, 1992), determinadas propriedades inerentes aos protocolos especificados.

1.1.1

Objetivos Específicos

Para alcançar o objetivo proposto acima, alguns objetivos específicos se fazem necessários e serão descritos a seguir:

• apresentar o sistema focado (LLF) para a lógica linear, bem como demonstrar sua correção e completude;

• especificar um modelo matemático de cada protocolo, formalizado através de um sistema de transição, e que utiliza operações matemáticas estabelecidas através da teoria dos con-juntos para formalizar seu comportamento;

• codificar em lógica linear cada sistema de transição, seus estados e comportamentos; • provar a adequação da codificação proposta, ou seja, que uma fase focada corresponde a

uma mudança de estado no sistema de transição de estados.

1.1.2

Delimitação do Trabalho

Há diversos protocolos desenvolvidos visando satisfazer algumas propriedades existentes em um sistema de votação, tais como: privacidade, não coerção, justiça, verificabilidade univer-sal ou individual (DELAUNE; KREMER; RYAN, 2010). O protocolo ThreeBallot, por exemplo, têm

(18)

verificação fim-a-fim (RIVEST; SMITH, 2007). Este trabalho concentra-se apenas na

especifica-ção e verificaespecifica-ção de protocolos de votaespecifica-ção relacionados com a contagem dos votos, ou seja, na forma como se processa a etapa de contagem e calculo do resultado da eleição.

1.2

Organização do trabalho

Esta dissertação está organizada da seguinte forma:

• Capítulo 2 discorre sobre a lógica linear e sua sintaxe, bem como apresenta um sistema de cálculo de sequente para lógica linear clássica. O conceito de busca de prova é apresentado, e o capítulo é finalizado discorrendo sobre os aspectos computacionais da lógica linear, que faz dela uma lógica importante na formalização de sistemas computacionais;

• Capítulo 3 é dedicado ao sistema focado desenvolvido por Andreoli (ANDREOLI, 1992).

Diversos teoremas relacionados a este sistema são apresentados e demonstrados, finali-zando com o teorema da completude;

• Capítulo 4 trata da especificação formal de dois protocolos de votação. Um sistema de transição de estados é utilizado para especificar cada protocolo, e uma codificação em lógica linear, dessa especificação, é definida e provada através do teorema de adequação; • Capítulo 5 apresenta e demonstra, via derivações no sistema focado, algumas propriedades

relacionadas a esses protocolos.

• por fim, no Capítulo 6 é feita uma recapitulação do trabalho, contribuições por ele geradas, bem como perspectivas para trabalhos futuros.

(19)

2

Lógica Linear

A lógica linear, proposta pelo francês Jean-Yves Girard (GIRARD, 1987) foi apresentada como uma extensão das lógicas tradicionais, mantendo as características construtivas da lógica intuicionista, e as simetrias existentes na lógica clássica.

As lógicas clássica e intuicionista lidam com verdades estáveis, em que quando um determi-nado fato é usado para concluir outro, o primeiro ainda se mantém (GIRARD, 1995). Por exemplo,

de A e 𝐴 ⇒ 𝐵, obtém-se B, mas A continua existindo. Outra característica dessas lógicas, é a possibilidade de duplicar ou descartar proposições: 𝐴 ⇒ (𝐴 ∧ 𝐴); e (𝐴 ∧ 𝐵) ⇒ 𝐴.

Porém, esse comportamento não é válido em muitas aplicações práticas, como as existen-tes em Ciência da Computação, na Biologia ou em qualquer área em que a relação causa/efeito (consumo/produção), por exemplo, diferem do comportamento padrão das implicações nas usu-ais lógicas. Dessa forma, visando capturar aquela noção, a lógica linear considera hipóteses como recursos, controlando o seu uso de modo que elas não são simplesmente copiadas ou des-cartadas livremente. Nesse sentido, a lógica linear é conhecida como uma “lógica consciente de recurso” (GIRARD, 1995).

Como exemplo, considere as seguintes proposições em que 𝐴 significa “uma folha de pa-pel”, 𝐵 “um barco de papel” e 𝐶 “um avião de papel”. Assim, a implicação 𝐴 ⇒ 𝐵 pode ser interpretada como: se temos uma folha de papel então construímos um barco (de papel); ao passo que 𝐴 ⇒ 𝐶 pode ser interpretada como: se temos uma folha de papel então construímos um avião. Observe que nessa formulação, a implicação 𝐴 ⇒ (𝐵 ∧ 𝐶) não faria sentido – só com uma folha de papel não se pode construir um barco e um avião ao mesmo tempo. Para atuar nessa nova perspectiva, a usual implicação lógica é substituída pela implicação linear, em que

𝐴⊸ 𝐵significa consumindo 𝐴 produz-se 𝐵 (e 𝐴 não existe mais).

Por outro lado, por ser um refinamento das lógicas tradicionais, em algumas situações, faz-se necessário manipular recursos persistentes. Para isso, existem os chamados exponenciais, (! e ?), de modo que !𝐴 representa uma quantidade infinita de recursos 𝐴 que podem ser consumidos tantas vezes quanto necessário (ou nenhuma vez, se for o caso). Assim, a implicação da lógica

(20)

intuicionista (𝐴 ⇒ 𝐵) pode ser recuperada utilizando !𝐴 ⊸ 𝐵.

Nas próximas duas seções, serão apresentados mais detalhes sobre a sintaxe e regras de inferência usadas nas lógicas linear clássica e intuicionista.

2.1

A Sintaxe da Lógica Linear Clássica

As fórmulas da lógica linear podem ser construídas através das regras da gramática descrita na definição abaixo:

Definição 2.1.1(LLC). Sintaxe da Lógica Linear Clássica

𝐹 ∶= 𝑝 ∣ 𝑝∣ ⊥ ∣ ⊤ ∣ 0 ∣ 1 ∣ 𝐹1⊗ 𝐹2 ∣ 𝐹1` 𝐹2∣ 𝐹1&𝐹2 ∣ 𝐹1⊕ 𝐹2 ∣!𝐹 ∣?𝐹 ∣ ∃𝑥.𝐹 (𝑥) ∣ ∀𝑥.𝐹 (𝑥)

em que p é uma proposição atômica e F uma fórmula.

Os operadores ⊗ e & são as conjunções multiplicativa e aditiva respectivamente, corres-pondendo aos dois usos da palavra “E”. Ou seja, ambas conjunções expressam a disponibilidade de duas ações, mas ⊗ significa que as duas ações serão executadas ao mesmo tempo, ao passo que & expressa que as duas ações são possíveis, porém só uma poderá ser executada – devendo ser escolhida qual dentre elas (GIRARD, 1995).

Essa distinção entre as conjunções fica facilmente compreendida quando vista em um exem-plo. Recordando o problema de se possuir uma folha de papel para construir um barco ou um avião, pode-se representar essa situação por 𝐴 ⊸ 𝐵&𝐶1. Essa expressão diz que é possível es-colher entre o barco ou avião a ser construído, não os dois. Observe que não se pode construir os dois ao mesmo tempo com uma única folha de papel, de modo que a expressão 𝐴 ⊸ 𝐵 ⊗ 𝐶 não representa de maneira adequada a situação. Porém, com duas folhas de papel, é possível fazer tanto um barco quanto um avião. Essa nova situação, ficaria bem representada pela expressão

𝐴 ⊗ 𝐴⊸ 𝐵 ⊗ 𝐶.

A disjunção multiplicativa ` (o dual de ⊗) expressa a dependência entre duas ações. Assim,

𝐴` 𝐵 ou pode ser lido como “se não 𝐴 então 𝐵", ou como “se não 𝐵 então 𝐴", de modo que

` é a forma simétrica do conectivo ⊸ (GIRARD, 1995). Desta forma, a seguinte equivalência é

verdadeira na lógica linear clássica: 𝐴⊥` 𝐵 ≡ 𝐴 ⊸ 𝐵. Já a disjunção aditiva ⊕ (o dual de &) tem um significado semelhante ao seu dual, porém não sendo possível decidir entre quais ações escolher como saída (quando se joga uma moeda, sabe-se que existem apenas dois resultados – 1⊗,&, ⊕,` são avaliados antes de ⊸; já (.), ! e ? são avaliados antes que todos os outros conectivos. Para

(21)

cara ou coroa –, mas não se sabe qual deles irá sair). O comportamento da disjunção intuicionista é capturado por esse conectivo linear.

Como foi visto nos parágrafos anteriores, os conectivos aparecem nas versões multiplicativa e aditiva. Uma diferença entre esses dois grupos, é que a versão multiplicativa trabalha com con-textos separados, ao passo que na aditiva o contexto é compartilhado. Esta distinção se tornará mais clara quando apresentadas as regras de inferência.

As constantes 1 e ⊥ são as unidades (elementos neutros) do grupo multiplicativo, enquanto

e 0 são as unidades do aditivo. Elas se comportam da seguinte forma: 𝐴 ⊗1≡ 1 ⊗ 𝐴 ≡ 𝐴

𝐴` ⊥ ≡ ⊥ ` 𝐴 ≡ 𝐴 𝐴&⊤ ≡ ⊤&𝐴 ≡ 𝐴

𝐴 ⊕0≡ 0 ⊕ 𝐴 ≡ 𝐴

Além do mais, pode-se pensar em cada constante da seguinte maneira: “1” como o recurso que pode ser produzido do nada; “⊤” consome todos os recursos; “0” é o recurso impossível, ou algo que irá produzir qualquer recurso; e “⊥” é o recurso que pode ser consumido por nada, representando assim recursos deixados e não usados em uma derivação.

Sendo uma extensão das lógicas tradicionais, a lógica linear fornece um meio de trabalhar com verdades que não são efêmeras, tais como as usadas nas lógicas clássica e intuicionista. Para essas situações, um tipo específico de conectivos (! e ?) devem expressar esse comportamento. Voltando ao exemplo da folha papel, !𝐴 poderia ser traduzido como “utilizar tantas folhas quanto quisermos”.

A negação linear expressa uma dualidade, ou seja, uma mudança de ponto de vista: uma ação do tipo 𝐴 é igual a uma reação do tipo 𝐴(GIRARD, 1995). Além disso, sem perder seu aspecto construtivo, ela é involutiva (𝐴⟂⟂ ≡ 𝐴). Desse modo, as Leis de De Morgan podem ser facilmente recuperadas, como por exemplo: (𝐴 ⊗ 𝐵)≡ 𝐴` 𝐵⟂.

Por fim, os quantificadores existencial (∃) e universal (∀) se comportam como nas lógicas clássica e intuicionista.

(22)

2.2

O Cálculo de Sequentes da Lógica Linear Clássica

Um sequente é uma expressão da forma Γ ⊢ Δ, onde Γ e Δ são multiconjuntos de fórmulas, no qual elementos podem ser repetidos e a ordem em que as fórmulas são dispostas não é rele-vante. Mais especificamente, Γ = 𝐹1, 𝐹2, ..., 𝐹𝑛representa uma conjunção de fórmulas, enquanto Δ = 𝐺1, 𝐺2, ..., 𝐺𝑚uma disjunção, de modo que as regras de sequentes na lógica linear assumem

que as vírgulas são multiplicativas, ou seja, que a conjunção e disjunção são tomadas do grupo multiplicativo da lógica linear (LINCOLN, 1992).

A forma do sequente apresentada anteriormente é chamada de two-sided devido a existência de fórmulas em ambos os lados do ⊢. Existe também a versão one-sided onde um sequente tem a forma ⊢ Γ⊥,Δ, em que as fórmulas de Γ (que pertenciam ao lado esquerdo na versão two-sided) aparecem negadas no sequente.

A derivabilidade de um sequente pode ser obtida através de um conjunto de regras de infe-rência que, em geral, tem a seguinte forma:

𝑆1.. ..𝑆𝑛

𝑆 𝑐𝑜𝑚 𝑛≥ 0

em que 𝑆 é chamada conclusão da regra, e 𝑆1...𝑆𝑛 são as premissas. De modo que, se ∀𝑖, 𝑆𝑖 é válido, então 𝑆 também é válido. Quando 𝑛 = 0, então não há premissas, e a regra é chamada de axioma.

Além disso, em geral, as regras são divididas em três grupos: as regras de identidade verifi-cam se uma fórmula aparece em ambos os lados de um sequente (no caso do one-sided, se uma fórmula e sua negação aparecem no lado direito do sequente); as estruturais modificam apenas a estrutura do sequente; enquanto as regras lógicas atuam decompondo os conectivos lógicos. Dentre as regras estruturais, a lógica linear impõe restrições no uso do enfraquecimento

(weake-ning) e da contração (contraction), veja as Figuras 1 e 2. Por este aspecto, ela é conhecida como

(23)

Figura 1: Regras estruturais de enfraquecimento (W) e contração (C) na versão two-sided da lógica clássica. Γ ⊢ Δ Γ, 𝐹 ⊢ Δ (𝑊𝐿) Γ ⊢ 𝐹 , ΔΓ ⊢ Δ (𝑊𝑅) Γ, 𝐹 , 𝐹 ⊢ Δ Γ, 𝐹 ⊢ Δ (𝐶𝐿) Γ ⊢ 𝐹 , 𝐹 , Δ Γ ⊢ 𝐹 , Δ (𝐶𝑅)

Figura 2: Regras estruturais de enfraquecimento (W) e contração (C) na versão one-sided da lógica clássica.

ΓΔ

Γ, 𝐹 ,Δ (𝑊 )

Γ, 𝐹 , 𝐹 ,Δ

Γ, 𝐹 ,Δ (𝐶𝑅)

Na lógica linear, o controle no uso dessas regras estruturais é feito através do uso de exponen-ciais (! e ?) nas fórmulas. O primeiro é usado para contração e enfraquecimento quando aplicado nas fórmulas do lado esquerdo, e o segundo para quando aplicado no lado direito. Considerando o sistema one-sided, apenas o ? é utilizado para essas regras.

O sistema de cálculo de sequente da lógica linear clássica é mostrado na Figura 3 em sua versão one-sided, que tem a vantagem de ter metade das regras do sistema two-sided devido as equivalências obtidas com a negação linear, como por exemplo (𝐹 ⊗ 𝐺)⊥

(24)

Figura 3: Regras de derivação para a lógica linear clássica. Regras de identidade ⊢ 𝑝, 𝑝⊥ (𝐼𝑛𝑖𝑡) ⊢Γ, 𝐹 ⊢ 𝐹⊥,Δ ⊢Γ, Δ (𝐶𝑢𝑡) Regras estruturais Γ Γ, ?𝐹 (Weakening) Γ, ?𝐹 , ?𝐹 ⊢Γ, ?𝐹 (Contraction) Regras lógicas ⊢Γ, 𝐹 , 𝐺 ⊢Γ, 𝐹 ` 𝐺 (`) ⊢Γ, 𝐹 ⊢Δ, 𝐺 ⊢Γ, Δ, 𝐹 ⊗ 𝐺 (⊗) ⊢Γ, 𝐹 ⊢Γ, 𝐹 ⊕ 𝐺 (⊕𝐿) Γ, 𝐹 ⊢Γ, 𝐹 ⊕ 𝐺 (⊕𝑅) ⊢Γ, 𝐹 Γ, 𝐺 ⊢Γ, 𝐹 &𝐺 (&) ⊢Γ, 𝐹 ⊢Γ, ?𝐹 (?) ⊢?Γ, 𝐹 ⊢?Γ, !𝐹 (!) Γ Γ, ⊥ (⊥) 1 (1) ⊢Γ, ⊤ (⊤) ⊢Γ, 𝐹 (𝑐∕𝑥) ⊢Γ, ∀𝑥𝐹 (∀) ⊢Γ, 𝐹 (𝑡∕𝑥) Γ, ∃𝑥𝐹 (∃)

Nas regras descritas acima, 𝐹 e 𝐺 são fórmulas, Γ e Δ são dois multiconjuntos (multisets) de fórmulas, e a variável 𝑐 na regra (∀) não aparece em Γ ou 𝐹 . Quanto às regras, note que não há uma para a constante 0. Uma das formas de mostrar o porquê, é que 0 é o elemento neutro da disjunção multiplicativa ⊕. Visto que o conjunto de provas de 𝐴 ⊕ 0 é a união disjunta do conjunto de provas de 𝐴 e do conjunto de provas de 0, e que 𝐴 ⊕ 0 ≡ 𝐴, tem-se que o conjunto de provas de 𝐴 ⊕ 0 e 𝐴 deve ser o mesmo, de modo que não há prova para 0.

Quanto a utilização dos contextos nas regras das conjunções aditiva (&) e multiplicativa (⊗) por exemplo, na primeira as premissas compartilham o mesmo contexto (Γ), enquanto que na segunda, após aplicação da regra, o contexto (Γ e Δ) é dividido entre as duas premissas. Por fim, veja que o contexto Γ não está sendo negado no sequente, uma vez que não se está comparando com um outro sequente da versão two-sided.

(25)

2.2.1

Lógica Linear Intuicionista

Como visto anteriormente, um sequente tem a forma Γ ⊢ Δ, em que Γ e Δ são formados por fórmulas. A versão intuicionista restringe Δ a no máximo uma fórmula, de modo que seu sistema de regras de inferência deve levar em conta essa restrição. Como consequência, as regras para os conectivos `, ⊥ e ? são omitidas, o que é equivalente a excluir as regras de contração e enfraquecimento do lado direito do sequente (em sua versão two-sided) (BRAÜNER, 1996).

Portanto, a sintaxe da lógica linear intuicionista pode ser definida pela seguinte gramática:

Definição 2.2.1(LLI). Sintaxe da Lógica Linear Intuicionista

𝐹 ∶= 𝑝 ∣ ⊤ ∣ 0 ∣ 1 ∣ 𝐹1⊗ 𝐹2 ∣ 𝐹1 ⊸ 𝐹2 ∣ 𝐹1&𝐹2∣ 𝐹1⊕ 𝐹2 ∣!𝐹 ∣ ∃𝑥.𝐹 (𝑥) ∣ ∀𝑥.𝐹 (𝑥)

Observe que a implicação linear (⊸) faz parte da sintaxe, não sendo mais definida pelo conectivo ` como na versão clássica. Assim, com a inclusão do conectivo ⊸ surgem as regras para implicação linear, descritas na Figura 4.

Figura 4: Regras de derivação para implicação linear (versão two-sided). Γ ⊢ 𝐹 Γ′, 𝐺 ⊢ 𝐻

Γ, Γ, 𝐹 ⊸ 𝐺 ⊢ 𝐻 (⊸𝐿)

Γ, 𝐹 ⊢ 𝐺

Γ ⊢ 𝐹 ⊸ 𝐺 (⊸𝑅)

2.3

Busca por Prova

A aplicação de regras de inferência em um sequente é feita de baixo para cima

(bottom-up). Deste modo, uma regra pode ser aplicada sempre que um sequente for uma instância da

conclusão dessa regra.

Definição 2.3.1. Dado um sequente ⊢ Γ, Δ, dizemos que ele é uma instância da conclusão de

uma regra de inferência, se podemos substituir a conclusão dessa regra por aquele sequente, de modo que ao aplicar a regra, as premissas resultantes sejam instâncias das premissas da regra.

Uma prova de um sequente é alcançada sempre que, após sucessivas aplicações de regras, chega-se a instâncias da regra do axioma Init, do ⊤ ou do 1 (considerando o sistema de sequentes apresentado anteriormente). A estrutura de derivação formada é chamada de árvore de derivação, em que a raiz é o sequente inicial ao passo que a folhas são axiomas, caso se alcance uma prova (NEGRI; PLATO; RANTA, 2001).

(26)

É importante notar que várias regras de inferência podem ser aplicadas em um determinado sequente. Além disso, após aplicação de uma regra, talvez seja necessário determinar como os contextos do sequente deverão ser divididos entre as premissas resultantes.

Exemplo 2.3.1. Duas derivações possíveis ao aplicar a regra (⊗) no sequente.

Γ1, 𝐹 Γ2, 𝐺 Γ1,Γ2, 𝐹 ⊗ 𝐺 (⊗)

Γ2, 𝐹 Γ1, 𝐺 Γ1,Γ2, 𝐹 ⊗ 𝐺 (⊗)

Observe que foi preciso decidir como os contextos Γ1 e Γ2 seriam divididos entre as duas premissas da regra. No lado esquerdo, Γ1 ficou na mesma premissa que a fórmula 𝐹 (Γ2 com

𝐺). Já no lado direito, houve uma decisão contrária com relação aos contextos.

Após as escolhas terem sido feitas, aplica-se a regra de modo que o objetivo atual é dividido em subobjetivos (instâncias das premissas da regra selecionada). O processo se repete até que não haja mais premissas ou sub-metas a serem resolvidas, concluindo assim a derivação do sequente inicial.

É importante observar que, em uma busca por prova “bottom-up”, algumas regras são in-versíveis, ou seja, a premissa é derivável sempre que a conclusão for derivável (NEGRI; PLATO; RANTA, 2001). As regras inversíveis podem ser aplicadas sempre que possível. Como exemplo,

a regra ` do sistema clássico da lógica linear é inversível.

Teorema 2.3.1(` é inversível). Sejam 𝐹 , 𝐺 fórmulas, Γ um multiconjunto de fórmulas, então

⊢Γ, 𝐹 , 𝐺é demonstrável se, e somente se, ⊢ Γ, 𝐹 ` 𝐺 é demonstrável.

Demonstração. (volta) Assuma que ⊢ Γ, 𝐹 ` 𝐺 é derivável. Tem-se também que o sequente ⊢ 𝐹 , 𝐺,(𝐹`𝐺)⊥é derivável pela aplicação da regra ⊗ – lembre-se que, por De Morgan, tem-se (𝐹 ` 𝐺)⊥

≡ 𝐹⊥⊗ 𝐺⊥. Assim, aplicando a regra 𝐶𝑢𝑡 nesses dois sequentes (agora de cima para baixo), obtêm-se que ⊢ Γ, 𝐹 , 𝐺 é demonstrável.

Π

⊢Γ, 𝐹 ` 𝐺

⊢ 𝐹 , 𝐹⊥ (𝐼𝑛𝑖𝑡) ⊢ 𝐺, 𝐺 (𝐼𝑛𝑖𝑡)

⊢ 𝐹 , 𝐺,(𝐹 ` 𝐺)⊥

⊢Γ, 𝐹 , 𝐺 (𝑐𝑢𝑡)

(ida)Trivial, desde que se ⊢ Γ, 𝐹 , 𝐺 é demonstrável, aplicando a regra ` no sequente (pela

definição de regras de inferência) conclui-se ⊢ Γ, 𝐹 ` 𝐺 também é demonstrável.

Veja que na demonstração anterior foi aplicada a regra (Init) nas fórmulas 𝐹 e 𝐺, que na regra descrita na Figura 3 aparece aplicada apenas em átomos. Todavia, é possível provar que a regra (Init) também pode ser aplicada em ocorrências não-atômicas.

(27)

Teorema 2.3.2(Regra Init aplicada em ocorrência não-atômica). Seja 𝐹 uma fórmula, então o

sequente ⊢ 𝐹 , 𝐹⊥é demonstrável.

A prova segue por indução na estrutura da fórmula 𝐹 . As derivações são sempre de baixo para cima (bottom-up).

Prova. Caso: 𝐹 = 𝑝, em que 𝑝 um átomo.

É imediato utilizando o axioma Init.

Caso: 𝐹 = 1

Tem-se que 𝐹⊥ = 1 ≡ ⊥. Logo,

1 (1)

⊢1, ⊥ (⊥)

O caso para 𝐹 = ⊥ é semelhante.

Caso: 𝐹 = 0

Tem-se que 𝐹⊥ = 0 ≡ ⊤. Logo,

⊢0, ⊤ (⊤)

O caso para 𝐹 = ⊤ é semelhante.

Caso: 𝐹 = 𝐹1` 𝐹2, em que 𝐹1e 𝐹2são fórmulas Lembre-se que 𝐹⊥ = (𝐹

1` 𝐹2) ≡ 𝐹 1 ⊗ 𝐹

2. Assim, tem-se a seguinte derivação: Π1 ⊢ 𝐹1, 𝐹⊥ 1 Π2 ⊢ 𝐹2, 𝐹⊥ 2 ⊢ 𝐹1, 𝐹2, 𝐹⊥ 1 ⊗ 𝐹 2 (⊗) ⊢ 𝐹1` 𝐹2, 𝐹1⊥⊗ 𝐹2 (`)

Por hipótese de indução, Π1e Π2têm derivações. Logo, ⊢ 𝐹1`𝐹2, 𝐹 1 ⊗𝐹

2 é demonstrável. O caso para 𝐹 = 𝐹1⊗ 𝐹2 é semelhante.

(28)

Caso: 𝐹 = 𝐹1&𝐹2, em que 𝐹1e 𝐹2são fórmulas Recorde que 𝐹⊥ = (𝐹 1&𝐹2) ≡ 𝐹 1 ⊕ 𝐹

2. Assim, tem-se a seguinte derivação: Π1 ⊢ 𝐹1, 𝐹⊥ 1 ⊢ 𝐹1, 𝐹1⊥⊕ 𝐹2 (⊕) Π2 ⊢ 𝐹2, 𝐹⊥ 2 ⊢ 𝐹2, 𝐹1⊥⊕ 𝐹2 (⊕) ⊢ 𝐹1&𝐹2, 𝐹⊥ 1 ⊕ 𝐹 2 (&)

Por hipótese de indução, Π1e Π2têm derivações. Logo, ⊢ 𝐹1&𝐹2, 𝐹1⊥⊕ 𝐹

2 é demonstrável. O caso para 𝐹 = 𝐹1⊕ 𝐹2 é semelhante.

Caso: 𝐹 = ∀𝑥𝐹, em que 𝐹é uma fórmula

Recorde que 𝐹⊥ = (∀𝑥𝐹) ≡ ∃𝑥𝐹′⊥. Assim, tem-se a seguinte derivação: Π

⊢ 𝐹[𝑐∕𝑥], 𝐹′⊥[𝑡∕𝑥]

⊢ 𝐹[𝑐∕𝑥], ∃𝑥𝐹′⊥ (∃)

⊢∀𝑥𝐹,∃𝑥𝐹′⊥ (∀)

onde 𝑐 não ocorre em 𝐹.

Por hipótese de indução, Π tem uma derivação. Logo, ⊢ ∀𝑥𝐹,∃𝑥𝐹′⊥ é demonstrável. O caso para 𝐹 = ∃𝑥𝐹′é semelhante.

Caso: 𝐹 =?𝐹, em que 𝐹é uma fórmula

Recorde que 𝐹⊥ = (?𝐹)

≡ !𝐹′⊥. Assim, tem-se a seguinte derivação: Π

⊢ 𝐹, 𝐹′⊥ ⊢?𝐹, 𝐹′⊥ (?)

⊢?𝐹,!𝐹′⊥ (!)

Por hipótese de indução, Π tem uma derivação. Logo, ⊢?𝐹,!𝐹′⊥ é demonstrável. O caso para 𝐹 = !𝐹′ é semelhante.

Recorde que na demonstração do Teorema 2.3.1 foi utilizada a regra 𝐶𝑢𝑡, que possibilita provar lemas e depois descartá-los (cortá-los) para continuar uma derivação. Em contrapartida, em uma busca de prova “bottom-up”, é possível introduzir novas proposições arbitrárias que

(29)

podem levar a uma infinidade de caminhos na árvore de derivação.

Felizmente, os sistemas apresentados anteriormente para a lógica linear possuem a proprie-dade da eliminação do corte (Cut elimination), que afirma que qualquer sequente derivável com ajuda da regra 𝐶𝑢𝑡 é também derivável sem ela (TROELSTRA, 2000). Em sistemas livres da regra

𝐶𝑢𝑡(cut free), o espaço de busca de prova é bastante reduzido devido a propriedade da

subfór-mula: na derivação de um sequente ocorrem apenas subfórmulas das fórmulas desse sequente (TROELSTRA, 2000). Essa característica é equivalente ao processo de normalização no sistema

de dedução natural.

2.4

Aspecto Computacional da Lógica Linear

Na especificação de sistemas computacionais, Miller (MILLER, 1999) distinguiu duas abor-dagens na utilização da lógica. Na conhecida como “computação como modelo”, computações são utilizadas como modelos para expressões lógicas, em que cada transição é associada a uma expressão. Como exemplo, na lógica de Hoare triplas são frequentemente empregadas para ex-pressar proposições sobre a mudança de estado (MILLER, 1999). Uma tripla tem a forma {P} C {Q} em que P (pré-condição) e Q (pós-condição) são asserções, e C um comando.

Na segunda abordagem, conhecida como “computação como dedução”, é possível ver o es-tado de uma computação como uma fórmula lógica e transições entre eses-tados como etapas na construção de uma prova. Mudanças de estado podem ser modeladas pela alteração das proposi-ções dentro de uma derivação, de modo que uma proposição válida pode não se manter no novo estado (MILLER, 1999). Na lógica clássica, por exemplo, esse comportamento não se mantém, o

que faz da lógica linear adequada para esse tipo de abordagem.

Mais especificamente, a lógica linear possui a simetria da clássica e o aspecto construtivo da lógica intuicionista, fornecendo, na perspectiva computacional, controle de recursos e ordem de avaliação. Deste modo, ela atua como um formalismo bastante adequado para a interface entre a lógica e a computação (ABRAMSKY, 1993), fornecendo formas flexíveis de modelar estado, transições de estado e algumas primitivas simples de concorrência (MILLER, 1999).

Como visto, a lógica linear é um sistema rico para a formalização do raciocínio envolvendo estado. Todavia, a busca por provas em geral não é determinística, pois existem diferentes ma-neiras de se provar a mesma proposição. Além disso, a depender do problema, a busca por prova em lógica linear pode ter uma variedade de aplicações. Por exemplo, no domínio dos proble-mas de planejamento, a busca por provas significa procurar por um plano, enquanto que na computação concorrente a busca por provas significa procurar uma possível computação (

(30)

KAH-RAMANOGULLARI, 2009). Cada aplicação impõe diferentes requisitos na busca por prova, mas

existem técnicas básicas subjacentes que se repetem com frequência.

No próximo capítulo, algumas técnicas necessárias para melhorar esse processo de busca serão apresentadas. Em particular, será apresentado o sistema de provas focado para lógica linear proposto por Andreoli (ANDREOLI, 1992), que neste trabalho será referenciado por LLF.

(31)

3

Focusing

Em um processo de busca por prova, pode-se ter que lidar com um grande número de esco-lhas não determinísticas que, do ponto de vista computacional, não é adequado (MILLER, 2004).

Focusing (ANDREOLI, 1992) é uma estratégia uniforme de prova que objetiva diminuir esse não

determinismo na aplicação das regras de inferência. A eliminação de loops desnecessários e de passos redundantes são os principais pontos atacados pela disciplina de focusing.

Nas seções seguintes, serão apresentados os fundamentos necessários para o entendimento dessa estratégia, bem como o sistema de prova resultante. Por fim, será demonstrado o teorema fundamental apresentado por Andreoli (ANDREOLI, 1992): um sequente tem uma prova em

ló-gica linear se, e somente se, tem uma prova focada.

Vale lembrar que a busca de prova descrita nesta dissertação se refere ao processo “bottom-up”, ou seja, que se inicia a partir da conclusão (sequente inicial) e segue para cima a medida em que regras de inferência são aplicadas.

3.1

O Problema do Não Determinismo

Em cada passo de uma busca por prova deve-se escolher qual regra de inferência deve ser aplicada, ou seja, qual das regras do sistema em uso tem uma instância que equivale a conclusão do sequente a ser provado. Esse processo, no entanto, não é determinístico.

Ao escolher todas as possíveis regras de inferências, gera-se inúmeras provas desse sequente inicial, muitas delas diferentes apenas na ordem da aplicação das regras. Nesse sentido, duas pro-vas, diferentes sintaticamente, poderiam ser equivalentes de modo que a ordem de aplicação das regras se torne irrelevante. Outra fonte de redundância advém da aplicação das regras de Contra-ção/Enfraquecimento que geram os chamados loops inúteis, em que um determinado sequente se repete em outro ponto na árvore de derivação.

A definição abaixo, importante para reduzir a quantidade de provas redundantes, formaliza essas duas formas de equivalência (ANDREOLI, 1992).

(32)

Definição 3.1.1. Duas provas são ditas P-equivalentes se uma pode ser obtida da outra apenas

por permutação das regras de inferências, e eliminação ou introdução de loops desnecessários.

Como exemplo, veja as duas derivações na Figura 5, que diferem apenas na ordem de apli-cação das regras de inferência.

Figura 5: Derivações P-equivalentes que diferem apenas pela ordem de aplicação das regras inferência. Γ é um multiconjunto de fórmulas, F, G e H são fórmulas.

Γ ⊢ 𝐺, 𝐻 Γ, !𝐹 ⊢ 𝐺, 𝐻 (!𝑊 ) Γ, !𝐹 ⊢ 𝐺` 𝐻 (`) ⟺ ⋮ Γ ⊢ 𝐺, 𝐻 Γ ⊢ 𝐺` 𝐻 (`) Γ, !𝐹 ⊢ 𝐺` 𝐻 (!𝑊 )

Na Figura 6 é apresentado um exemplo da existência de um loop desnecessário em uma derivação.

Figura 6: Presença de loop desnecessário. Γ é um multiconjunto de fórmulas e F uma fórmula.Γ ⊢?𝐹 Γ ⊢?𝐹 , ?𝐹 (?𝑊 ) Γ ⊢?𝐹 (?𝐶) ⟺ ⋮ Γ ⊢?𝐹

A disciplina de provas desenvolvida por Andreoli visa tratar esses tipos de redundâncias. Em uma derivação, ao invés de atuar em todas as possíveis provas, atua-se apenas em um subconjunto delas na qual todas as outras podem ser derivadas.

3.2

Sistema Diádico

Andreoli denominou o sistema de sequentes padrão da lógica linear (em sua versão

one-sided) de Sistema Monádico (Σ1) - apresentado no Capítulo 2. Nesse sistema, o procedimento

de busca por provas tende a gerar os problemas descritos na seção anterior.

Como primeiro passo para a construção do sistema focado (LLF) de provas para a lógica linear, Andreoli definiu o chamado Sistema Diádico (Σ2) que trata das provas P-equivalentes ge-radas pelas aplicação das regras de Contração e Enfraquecimento existentes no Monádico. Essas duas regras geram tanto provas com loops inúteis, quanto aquelas P-equivalentes que diferem apenas pela ordem de aplicação das regras de inferência.

(33)

Visando reduzir esses problemas, as regras de Enfraquecimento e Contração têm seu uso postergado o máximo possível até as folhas de uma árvore de derivação. Isso sempre é possível com o Enfraquecimento, entretanto a regra de Contração só pode ser postergada até encontrar uma regra com a qual ela não pode permutar como (⊗), (𝐶𝑢𝑡), (?) (ANDREOLI, 1992). Todo esse

processo é capturado pelo sistema Diádico, que faz uso do chamado sequente diádico definido a seguir.

Definição 3.2.1. Um sequente diádico é um par Θ ∶ Γ onde o primeiro campo, Θ, é um conjunto

de formulas, e o segundo, Γ, é um multiconjunto de fórmulas.

Mais especificamente, o par Θ ∶ Γ representa um sequente diádico em que Θ representa os recursos ilimitados (contexto clássico), enquanto Γ representa o contexto linear. Observe que é possível representar um sequente diádico no sistema Monádico pelo sequente ⊢?Θ, Γ na qual todas as fórmulas do primeiro campo, Θ, são prefixadas pelo exponencial ?. O Sistema Diádico é apresentado na Figura 7.

Figura 7: Sistema Diádico (Σ2). Θ um conjunto de fórmulas, Γ, Δ multiconjuntos de fórmulas, F e G são fórmulas

Identidade [I] e Cut [C]

Θ ∶ 𝐹 , 𝐹⊥ (𝐼) ⊢Θ ∶ Γ, 𝐹 ⊢Θ ∶ Δ, 𝐹⊥ Θ ∶ Γ, Δ (𝐶) Absorção Θ, 𝐹 ∶ Γ, 𝐹 ⊢Θ, 𝐹 ∶ Γ (𝐴𝑏) Regras lógicas Θ ∶ Γ Θ ∶ Γ, ⊥ (⊥) ⊢Θ ∶ Γ, 𝐹 , 𝐺 ⊢Θ ∶ Γ, 𝐹 ` 𝐺 (`) ⊢Θ, 𝐹 ∶ Γ ⊢Θ ∶ Γ, ?𝐹 (?) Θ ∶ 1 (1) ⊢Θ ∶ Γ, 𝐹 ⊢Θ ∶ Δ, 𝐺 ⊢Θ ∶ Γ, Δ, 𝐹 ⊗ 𝐺 (⊗) ⊢Θ ∶ 𝐹 ⊢Θ ∶!𝐹 (!) ⊢Θ ∶ Γ, ⊤ (⊤) ⊢Θ ∶ Γ, 𝐹 ⊢Θ ∶ Γ, 𝐺 Θ ∶ Γ, 𝐹 &𝐺 (&) ⊢Θ ∶ Γ, 𝐹 [𝑐∕𝑥] ⊢Θ ∶ Γ, ∀𝑥𝐹 (∀) ⊢Θ ∶ Γ, 𝐹 ⊢Θ ∶ Γ, 𝐹 ⊕ 𝐺 (⊕𝑙) ⊢Θ ∶ Γ, 𝐺 ⊢Θ ∶ Γ, 𝐹 ⊕ 𝐺 (⊕𝑟) Θ ∶ Γ, 𝐹 [𝑡∕𝑥] ⊢Θ ∶ Γ, ∃𝑥𝐹 (∃)

(34)

Note que, por exemplo, na regra (⊗) do sistema Diádico, o contexto clássico é duplicado, ao passo que o linear é divido. Isso significa que em uma derivação equivalente no sistema Monádico, ocorre a aplicação da regra (Contraction), seguida pela regra (⊗).

⊢Θ ∶ Γ, 𝐹 ⊢Θ ∶ Δ, 𝐺

⊢Θ ∶ Γ, Δ, 𝐹 ⊗ 𝐺 (⊗)

⊢?Θ, Γ, 𝐹 ⊢?Θ, Δ, 𝐺

⊢?Θ, ?Θ, Γ, Δ, 𝐹 ⊗ 𝐺 (⊗)

⊢?Θ, Γ, Δ, 𝐹 ⊗ 𝐺 (Contraction)

No mesmo sentido, a regra (?) simplesmente armazena 𝐹 no contexto clássico.

⊢Θ, 𝐹 ∶ Γ

⊢Θ ∶ Γ, ?𝐹 (?) ↦ ⊢?Θ, ?𝐹 , Γ

Por fim, a regra (I) considera o contexto clássico possivelmente não vazio. Veja na derivação equivalente no sistema Monádico.

⊢Θ ∶ 𝐹 , 𝐹⊥ (𝐼)

⊢ 𝐹 , 𝐹⊥ (𝐼)

⊢?Θ, 𝐹 , 𝐹⊥ (Weakening)

3.3

Sistema Triádico

A criação do Sistema Diádico eliminou algumas das P-equivalências encontradas em um processo de derivação. Contudo, no uso da regra de Corte, na escolha da fórmula principal, es-sas P-equivalências também podem aparecer. Visando evitar eses-sas formas de redundância, para o desenvolvimento desse novo sistema, Andreoli considerou apenas provas do Sistema Diádico que são livres da regra de Corte (ver Seção 2.3). Além do mais, a regra de Identidade é conside-rada apenas para átomos, visto que fórmulas não atômicas podem ser reduzidas a uma fórmula atômica, como mostrado anteriormente pelo Teorema 2.3.2.

Além das convenções acima, os conectivos da lógica linear foram divididos em dois grupos: assíncronos e síncronos. Dessa divisão, resulta que uma fórmula não atômica é dita assíncrona quando o seu conectivo principal (o mais externo) é assíncrono (analogamente para fórmula não atômica síncrona). Essa classificação (assíncrono/síncrono) é estendida para os literais por atribuir um fixo, mas arbitrário, viés para os átomos (LIANG; MILLER, 2009). Um literal nada

mais é do que um átomo (𝑝) ou a negação de um átomo (𝑝⊥). Um literal com viés negativo é tratado como assíncrono, ao passo que um viés positivo classifica-o como síncrono. Tem-se assim, que as fórmulas assíncronas também são conhecidas como negativas, enquanto que as síncronas como positivas. Abaixo, os conectivos da lógica linear são apresentados conforme sua

(35)

classificação.

• Conectivos assíncronos: `, & ⊥, ⊤, ?, ∀ • Conectivos síncronos: ⊗, ⊕, 0, 1, !, ∃

Os conectivos assíncronos tem sua regras de introdução (direita) inversíveis ao passo que nos síncronos suas regras não são (geralmente) inversíveis. Quando uma fórmula é selecionada, se ela for assíncrona então existe apenas uma única instância de uma regra de inferência a ser aplicada – esse comportamento é que caracteriza os conectivos assíncronos de determinísticos. Por outro lado, quando uma fórmula síncrona é selecionada, uma entre várias instâncias de uma regra deve ser escolhida (ou até mesmo nenhuma) – comportamento não determinístico.

É interessante notar que a separação entre assíncrono e síncrono apresentada acima está relacionada com o tipo de sistema apresentado, no caso, o one-sided em que apenas o lado direito do sequente é utilizado. Quando se usa o sistema two-sided, um conectivo que é assíncrono no lado direito é síncrono no esquerdo e vice-versa. Assim, por exemplo, o ` é assíncrono quando aparece em uma fórmula na direita do sequente e síncrono quando aparece na esquerda. Já o ⊗ comporta-se de maneira oposta, sendo o dual do conectivo `.

Em termos de busca de prova, as fórmulas assíncronas podem ser livremente escolhidas como fórmula principal, e imediatamente decompostas. Quando não houver mais fórmulas as-síncronas, uma síncrona deve ser selecionada, decomposta, e a busca deve continuar em suas subfórmulas (focar) até que um átomo ou fórmula assíncrona seja alcançada. Caso essa esco-lha leve a uma faesco-lha, deve-se retornar (backtracking) e selecionar outra fórmula síncrona como principal.

Observe que, no processo descrito acima, existem momentos (fases) em que regras para co-nectivos assíncronos são aplicadas, e outros em que regras para os síncronos são utilizadas. Essas duas fases podem ser distinguidas pela forma do sequente Triádico definido a seguir (ANDREOLI,

1992).

Definição 3.3.1. Um sequente Triádico tem uma das seguintes formas:

• Θ ∶ Γ ⇑ 𝐿 em que 𝐿 é uma lista de fórmulas; • Θ ∶ Γ ⇓ 𝐹 em que F é uma fórmula;

onde Θ é um conjunto de fórmulas, Γ um multiconjunto de fórmulas, onde Γ não contém fórmulas assíncronas.

(36)

Em sequentes da forma Θ ∶ Γ ⇑ 𝐿, fórmulas assíncronas de 𝐿 devem ser decompostas utilizando uma instância das regras lógicas associada ao conectivo de cada fórmula (ver sistema Triádico ou LLF na Figura 8). Fórmulas síncronas devem ser armazenadas em Γ utilizado a regra (𝑅 ⇑) do sistema. Um sequente dessa fase, também conhecida como fase negativa, trata com o chamado don’t-care non-determinism (ANDREOLI, 1992), em que não é necessário fazer

retrocesso (backtracking) após a escolha das regras de inferência. Quando um ⊤ é encontrado, a prova deve finalizar pela aplicação da regra (⊤). Já quando a lista 𝐿 ficar vazia, a fase negativa é finalizada e deve escolher (focar) em uma fórmula de um dos contextos (Θ ou Γ).

Em sequentes da forma Θ ∶ Γ ⇓ 𝐹 , uma fórmula 𝐹 foi selecionada ou do contexto linear Γ– através da regra (𝐷1), ou do contexto clássico Θ – através da regra (𝐷2), dando início a fase positiva. Lembre-se que em Γ não há fórmulas assíncronas, então a prova deve continuar pelas subfórmulas de 𝐹 até que uma das seguintes condições ocorra:

• a constante 1 é encontrada, e a prova deve finalizar pela aplicação da regra (1) – neste caso Γdeve está vazio;

• um literal positivo (𝑋) é alcançado, e a prova deve finalizar pela aplicação da regra de Identidade (𝐼1)(neste caso Γ deve conter apenas o literal 𝑋⊥), ou pela regra (𝐼2)(neste caso Γ deve ser vazio, e 𝑋⊥deve pertencer ao contexto clássico Θ);

• a regra (!) é aplicada (desde que Γ seja vazio) e há uma mudança de fase;

• uma fórmula assíncrona ou um literal negativo é encontrado, o que finaliza a fase positiva através da regra (𝑅 ⇓), e inicia-se a fase negativa.

Observe que na fase positiva, a escolha de algumas regras de inferência pode levar a falhas, sendo necessário retroceder e selecionar outra regra de inferência. De modo que esta fase trata com o don’t-know non-determinism (ANDREOLI, 1992).

O sistema Triádico ou sistema focado (LLF) para a lógica linear é apresentado a seguir na Figura 8.

(37)

Figura 8: Sistema focado LLF para lógica linear (Σ3). 𝐹 , 𝐺 são fórmulas, 𝑋 representa um literal positivo, Θ um conjunto de fórmulas, Γ, Δ multiconjuntos de fórmulas (em que Γ, Δ não contém fórmulas assíncronas) e 𝐿 uma lista de formulas.

Identidades: se 𝑿 um literal positivo

⊢Θ ∶ 𝑋⊥ ⇓ 𝑋 (𝐼1)

Θ, 𝑋⊥ ⋅ ⇓ 𝑋 (𝐼2)

Regras lógicas negativas

⊢Θ ∶ Γ ⇑ 𝐿 ⊢Θ ∶ Γ ⇑ 𝐿, ⊥ (⊥) ⊢Θ ∶ Γ ⇑ 𝐿, 𝐹 , 𝐺 ⊢Θ ∶ Γ ⇑ 𝐿, 𝐹 ` 𝐺 (`) ⊢Θ, 𝐹 ∶ Γ ⇑ 𝐿 ⊢Θ ∶ Γ ⇑ 𝐿, ?𝐹 (?) ⊢Θ ∶ Γ ⇑ 𝐿, ⊤ (⊤) ⊢Θ ∶ Γ ⇑ 𝐿, 𝐹 ⊢Θ ∶ Γ ⇑ 𝐿, 𝐺 ⊢Θ ∶ Γ ⇑ 𝐿, 𝐹 &𝐺 (&) ⊢Θ ∶ Γ ⇑ 𝐿, 𝐹 [𝑐∕𝑥] Θ ∶ Γ ⇑ 𝐿, ∀𝑥𝐹 (∀)

Regras lógicas positivas

Θ ∶⋅ ⇓ 1 (1) ⊢Θ ∶ Γ ⇓ 𝐹 ⊢Θ ∶ Δ ⇓ 𝐺 ⊢Θ ∶ Γ, Δ ⇓ 𝐹 ⊗ 𝐺 (⊗) Θ ∶⋅ ⇑ 𝐹 Θ ∶⋅ ⇓!𝐹 (!) ⊢Θ ∶ Γ ⇓ 𝐹 ⊢Θ ∶ Γ ⇓ 𝐹 ⊕ 𝐺 (⊕𝑙) ⊢Θ ∶ Γ ⇓ 𝐺 Θ ∶ Γ ⇓ 𝐹 ⊕ 𝐺 (⊕𝑟) ⊢Θ ∶ Γ ⇓ 𝐹 [𝑡∕𝑥] ⊢Θ ∶ Γ ⇓ ∃𝑥𝐹 (∃)

Reação ⇑: se 𝑭 não é assíncrono

⊢Θ ∶ Γ, 𝐹 ⇑ 𝐿

⊢Θ ∶ Γ ⇑ 𝐿, 𝐹 (𝑅 ⇑)

Reação ⇓: se 𝑭 é assíncrono ou um literal negativo

⊢Θ ∶ Γ ⇑ 𝐹

⊢Θ ∶ Γ ⇓ 𝐹 (𝑅 ⇓)

Decisão: se 𝑭 não é um literal negativo

⊢Θ ∶ Γ ⇓ 𝐹

⊢Θ ∶ Γ, 𝐹 ⇑ (𝐷1)

Θ, 𝐹 ∶ Γ ⇓ 𝐹

⊢Θ, 𝐹 ∶ Γ ⇑ (𝐷2)

3.4

Corretude e Completude do Sistema LLF

Nesta seção será enunciado e demonstrado o principal teorema resultante do trabalho de Andreoli (ANDREOLI, 1992) que expressa a relação entre o sistema LLF e o Diádico.

(38)

Teorema 3.4.1(Corretude e Completude do Sistema LLF). Seja Θ um conjunto de fórmulas,

Γum multiconjunto de fórmulas (Γ não contém fórmulas assíncronas), e seja 𝐿 uma lista de

fórmulas, então

Θ ∶ Γ, 𝐿se, e somente se, ⊢ Θ ∶ Γ ⇑ 𝐿

Em outras palavras, o sequente Θ ∶ Γ, 𝐿 é derivável no sistema Diádico (na lógica linear) se, e somente se, o sequente Θ ∶ Γ ⇑ 𝐿 for derivável no sistema LLF.

A demonstração da corretude (se ⊢ Θ ∶ Γ ⇑ 𝐿 então ⊢ Θ ∶ Γ, 𝐿) é feita através de uma rescrita de regras. Observe que as regras lógicas do sistemas Diádico são obtidas simplesmente pela remoção das setas (⇑, ⇓) dos sequentes das regras de inferências do sistema LLF. Já as regras de inicialização e das que tratam com a finalização de fases focadas são mapeadas conforme mostra a Figura 9 (ANDREOLI, 1992).

Figura 9: Mapeamento das regras estruturais de 𝐿𝐿𝐹 em Σ2.

⊢Θ ∶ Γ, 𝐹 ⇑ 𝐿 ⊢Θ ∶ Γ ⇑ 𝐿, 𝐹 (𝑅 ⇑)⊢Θ ∶ Γ, 𝐿, 𝐹 ⊢Θ ∶ Γ ⇑ 𝐹 ⊢Θ ∶ Γ ⇓ 𝐹 (𝑅 ⇓)⊢Θ ∶ Γ, 𝐹 ⊢Θ ∶ 𝑋⊥ ⇓ 𝑋 (𝐼1) Θ ∶ 𝑋, 𝑋 Θ, 𝑋⊥ ⋅ ⇓ 𝑋 (𝐼2) ⊢Θ, 𝑋⊥ ∶ 𝑋, 𝑋 (𝐼) Θ, 𝑋⊥ ∶ 𝑋 (𝐴𝑏) ⊢Θ ∶ Γ ⇓ 𝐹 Θ ∶ Γ, 𝐹 ⇑ (𝐷1) ⟼ ⊢Θ ∶ Γ, 𝐹 ⊢Θ, 𝐹 ∶ Γ ⇓ 𝐹 ⊢Θ, 𝐹 ∶ Γ ⇑ (𝐷2) ⟼ ⊢Θ, 𝐹 ∶ Γ, 𝐹 ⊢Θ, 𝐹 ∶ Γ (𝐴𝑏)

A demonstração da completude (se ⊢ Θ ∶ Γ, 𝐿 então ⊢ Θ ∶ Γ ⇑ 𝐿) se faz de maneira cons-trutiva e será apresentada no final deste capítulo após a demonstração de alguns lemas neces-sários para essa prova. Antes, como as demonstrações são feitas por indução, algumas medidas

(39)

serão definidas na próxima seção.

3.4.1

Medidas Importantes para Provas por Indução

As provas descritas a seguir farão uso de indução na complexidade/peso 𝑤 das fórmulas, e na altura/profundidade ℎ de derivação. O peso das fórmulas pode ser definido de diferentes formas, dependendo do que é necessário para a realização de uma prova (NEGRI; PLATO; RANTA,

2001). Nesta dissertação, será usado o termo complexidade no lugar de peso, e altura no lugar de profundidade.

Definição 3.4.1(Complexidade de uma fórmula). A complexidade de uma fórmula F, escrita

como w(F), é definida indutivamente pelas seguintes igualdades: 𝑤(⊥) = 𝑤(⊤) = 𝑤(0) = 𝑤(1) = 1

𝑤(𝑝) = 𝑤(𝑝⊥) = 1

𝑤(𝐹 ⊙ 𝐺) = 𝑤(𝐹 ) + 𝑤(𝐺) + 1, onde ⊙ = ⊗, ⊕, ` ou &

𝑤(!𝐹 ) = 𝑤(?𝐹 ) = 𝑤(𝐹 ) + 1

𝑤(∀𝑥𝐹 ) = 𝑤(∃𝑥𝐹 ) = 𝑤(𝐹 ) + 1

em que 𝑝 é um átomo, 𝐹 e 𝐺 são fórmulas.

Definição 3.4.2(Complexidade de uma lista de fórmulas). A complexidade de uma lista L,

es-crita como w(L), é definida indutivamente pelas seguintes igualdades: 𝑤([]) = 0

𝑤(𝐹::𝐿) = 𝑤(𝐹 ) + 𝑤(𝐿)

em que 𝐹 é uma fórmula.

Definição 3.4.3(Altura de uma derivação). A altura de uma derivação Π, escrita como h(Π), é

definida indutivamente pela seguinte igualdade: h(Π)=1+max(h(Π1),...,h(Π𝑛))

em que Π1,...,Π𝑛são as derivações das premissas da conclusão de Π. Caso não haja premissas,

(40)

3.4.2

Lemas Fundamentais para a Prova da Completude

Nesta seção, algumas propriedades serão enunciadas e provadas, e servirão como base para a prova da completude.

Uma propriedade importante, utilizada para facilitar a demonstração do teorema da comple-tude, advém do Lema 3.4.1 (ANDREOLI, 1992).

Lema 3.4.1. Seja Θ um conjunto de fórmulas, Γ um multiconjunto de fórmulas (Γ não contém

fórmulas assíncronas), e 𝐿 uma lista de fórmulas. Então, as seguintes expressões são equiva-lentes:

1. Se ⊢ Θ ∶ Γ, 𝐿 então ⊢ Θ ∶ Γ ⇑ 𝐿 2. Se ⊢ Θ ∶ 𝐿 então ⊢ Θ ∶ ⋅ ⇑ 𝐿

Demonstração. (𝟏 ⇒ 𝟐) Assumindo (1), basta tomar Γ vazio. Conclui-se que se ⊢ Θ ∶ 𝐿 então Θ ∶⋅ ⇑ 𝐿

(𝟐 ⇒ 𝟏) Assumindo (2), considere 𝐿′ uma lista formada com os elementos de Γ. Assim,

Θ ∶ 𝐿, 𝐿é derivável e, portanto, por hipótese, ⊢ Θ ∶ ⋅ ⇑ 𝐿, 𝐿é derivável também. Como 𝐿(assim como Γ) não contém fórmulas assíncronas, apenas uma sequência de regras (𝑅 ⇑)podem ser usadas. Portanto, ⊢ Θ ∶ Γ ⇑ 𝐿 é derivável.

Os lemas seguintes mostram que as regras de inferência da fase assíncrona e a regra (𝑅 ⇑) podem ser aplicadas em qualquer parte da lista 𝐿 (ANDREOLI, 1992). Veja que as regras apre-sentadas na Figura 8 são aplicadas no final da lista 𝐿 do sequente (lembre-se que um sequente na fase negativa é da forma Θ ∶ Γ ⇑ 𝐿).

Lema 3.4.2. Seja Θ um conjunto de fórmulas, Γ um multiconjunto de fórmulas (Γ não contém

fórmulas assíncronas), L e M listas de fórmulas, F uma fórmula. Se ⊢ Θ ∶ Γ ⇑ 𝐿, 𝑀 então ⊢Θ ∶ Γ ⇑ 𝐿, ⊥, 𝑀

As provas seguem por indução na complexidade da lista M. Prova. Caso base: M=[], portanto, 𝑤(M) = 0

Assuma que ⊢ Θ ∶ Γ ⇑ 𝐿 é demonstrável. Aplicando a regra (⊥) nesse sequente (de cima para baixo), resulta na derivação

Θ ∶ Γ ⇑ 𝐿

(41)

portanto, ⊢ Θ ∶ Γ ⇑ 𝐿, ⊥ é demonstrável.

Passo indutivo: Seja 𝑀 = 𝑀, 𝐹

Subcaso 𝐹 = 0, portanto, 𝑀 = 𝑀,0

Para o sequente ⊢ Θ ∶ Γ ⇑ 𝐿, (𝑀,0), a única regra aplicável é (𝑅 ⇑), assim

⊢Θ ∶ Γ, 0 ⇑ 𝐿, 𝑀

⊢Θ ∶ Γ ⇑ 𝐿, (𝑀,0) (𝑅 ⇑)

Tem-se que 𝑤(𝑀) < 𝑤(𝑀,0). Logo, por hipótese indutiva, tem-se que ⊢ Θ ∶ Γ, 0 ⇑ 𝐿, ⊥, 𝑀é demonstrável. Aplicando a regra (𝑅 ⇑) nesse sequente (de cima para baixo), inferimos

Θ ∶ Γ, 0 ⇑ 𝐿, ⊥, 𝑀

Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀,0) (𝑅 ⇑)

Os casos em que F for a constante 1 ou uma fórmula positiva (conectivo mais externo é

⊗, ⊕,∃, !) ou um literal têm demonstrações semelhantes.

Subcaso 𝐹 = ⊥, portanto, 𝑀 = 𝑀, ⊥

Para o sequente ⊢ Θ ∶ Γ ⇑ 𝐿, (𝑀, ⊥)a única regra aplicável é (⊥), assim

⊢Θ ∶ Γ ⇑ 𝐿, 𝑀

⊢Θ ∶ Γ ⇑ 𝐿, (𝑀, ⊥) (⊥)

Tem-se que 𝑤(𝑀) < 𝑤(𝑀, ⊥). Logo, por hipótese indutiva, tem-se que ⊢ Θ ∶ Γ ⇑ 𝐿, ⊥, 𝑀é demonstrável. Aplicando a regra (⊥) nesse sequente (de cima para baixo), inferimos

⊢Θ ∶ Γ ⇑ 𝐿, ⊥, 𝑀

⊢Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, ⊥) (⊥)

Subcaso 𝐹 = ⊤, portanto, 𝑀 = 𝑀, ⊤

A prova é imediata, desde que qualquer sequente cuja última fórmula é ⊤, é finalizado pela aplicação da única regra possível, (⊤).

(42)

Subcaso 𝐹 = 𝐹1` 𝐹2, portanto, 𝑀 = 𝑀, 𝐹1` 𝐹2 Para o sequente ⊢ Θ ∶ Γ ⇑ 𝐿, (𝑀, 𝐹

1` 𝐹2), a única regra aplicável é (`), assim

⊢Θ ∶ Γ ⇑ 𝐿, (𝑀, 𝐹 1, 𝐹2)

Θ ∶ Γ ⇑ 𝐿, (𝑀, 𝐹1` 𝐹2) (`) Tem-se que 𝑤(𝑀, 𝐹

1, 𝐹2) < 𝑤(𝑀, 𝐹1` 𝐹2). Logo, por hipótese indutiva, tem-se que ⊢ Θ ∶ Γ ⇑ 𝐿, ⊥, 𝑀, 𝐹

1, 𝐹2 é demonstrável. Aplicando a (`) nesse sequente (de cima para baixo), inferimos ⊢Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹 1, 𝐹2) ⊢Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹 1` 𝐹2) (`)

Subcaso 𝐹 = 𝐹1&𝐹2, portanto, 𝑀 = 𝑀, 𝐹1&𝐹2 Para o sequente ⊢ Θ ∶ Γ ⇑ 𝐿, (𝑀, 𝐹

1&𝐹2)a única regra aplicável é (&), assim

⊢Θ ∶ Γ ⇑ 𝐿, (𝑀, 𝐹 1) ⊢Θ ∶ Γ ⇑ 𝐿, (𝑀, 𝐹2) ⊢Θ ∶ Γ ⇑ 𝐿, (𝑀, 𝐹 1&𝐹2) (&) Tem-se que 𝑤(𝑀, 𝐹

1) < 𝑤(𝑀, 𝐹1&𝐹2), e 𝑤(𝑀, 𝐹2) < 𝑤(𝑀, 𝐹1&𝐹2). Logo, por hipótese indutiva, tem-se que ⊢ Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹

1) e ⊢ Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹2) têm provas. Aplicando a regra (&) nesses sequentes (de cima para baixo), inferimos

Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹 1) ⊢Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹2) Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹 1&𝐹2) (&) Subcaso 𝐹 = ∀𝑥𝐹, portanto, 𝑀 = 𝑀,∀𝑥𝐹

Para o sequente ⊢ Θ ∶ Γ ⇑ 𝐿, (𝑀,∀𝑥𝐹)a única regra aplicável é (∀), assim

⊢Θ ∶ Γ ⇑ 𝐿, (𝑀, 𝐹[𝑐∕𝑥])

⊢Θ ∶ Γ ⇑ 𝐿, (𝑀,∀𝑥𝐹) (∀)

Tem-se que 𝑤(𝑀, 𝐹[𝑐∕𝑥]) < 𝑤(𝑀,∀𝑥𝐹). Logo, por hipótese indutiva, tem-se que ⊢ Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹[𝑐∕𝑥]) é demonstrável. Aplicando a regra (∀) nesse sequente (de cima para baixo), inferimos

⊢Θ ∶ Γ ⇑ 𝐿, ⊥, (𝑀, 𝐹[𝑐∕𝑥])

Referências

Documentos relacionados