• Nenhum resultado encontrado

Semântica categorial para a lógica linear

N/A
N/A
Protected

Academic year: 2020

Share "Semântica categorial para a lógica linear"

Copied!
176
0
0

Texto

(1)
(2)

Nome: Carlos Miguel Alves Fitas

Endereço eletrónico: pg31349@alunos.uminho.pt Nº do Bilhete de Identidade: 13841587

Título da Dissertação de Mestrado: Semântica Categorial para a Lógica Linear

Designação do Mestrado: Mestrado em Matemática

Orientador:

Doutor José Carlos Soares do Espírito Santo

Ano de Conclusão: 2018

É AUTORIZADA A REPRODUÇÃO PARCIAL DESTA DISSERTAÇÃO DE MESTRADO APENAS PARA EFEITOS DE INVESTIGAÇÃO, MEDIANTE DECLARAÇÃO ESCRITA DO INTERESSADO, QUE A TAL SE COMPROMETE;

Universidade do Minho, 31 de Outubro de 2018

(3)

Agradecimentos

Gostaria de agradecer ao meu orientador, Doutor José Carlos Soares do Espírito Santo, por todo o incentivo, disponi-bilidade, críticas e comentários detalhados ao longo da realização desta dissertação.

(4)
(5)

Resumo

Semântica Categorial para a Lógica Linear

Fazemos uma breve introdução à lógica intuicionista, ao cálculo-λe à teoria de categorias com objetivo de de-monstrar a profunda relação entre programas, provas e morfismos em categorias cartesianas fechadas: apresentamos o isomorfismo de Curry-Howard, mostramos que sistemas de dedução para um certo fragmento da lógica intuicionista podem ser vistos como categorias e definimos uma semântica categorial para o cálculo-λtipificado.

Introduzimos a lógica linear intuicionista e descrevemos as transformações para a eliminação do corte. Mostra-mos que, identificando as derivações da lógica linear intuicionista a menos das transformações para a eliminação do corte juntamente com algumas transformações simples, obtemos classes que se organizam-se espontaneamente como uma categorial monoidal.

Após definirmos categorias-2 de categorias monoidais e uma série de conceitos categoriais relacionados, defi-nimos, com todo o detalhe, uma semântica categorial para a lógica linear intuicionista. Por último, apresentamos três axiomatizações distintas para modelos da lógica linear e mostramos que espaços de coerência podem ser vistos como um destes modelos.

(6)
(7)

Abstract

Categorical Semantics of Linear Logic

We start with a brief introduction to intuitionistic logic,λ-calculus and category theory with the objective of illus-trating the deep connection between programs, proofs and morphisms in closed cartesian categories. We elaborate on this by demonstrating the Curry-Howard isomorphism, showing that deduction systems for a given fragment of intuitionistic logic can be seen as categories and defining a categorical semantics for typedλ-calculus.

We define intuitionistic linear logic and describe the transformations involved in cut elimination. We prove that, by identifying the intuitionistic linear logic derivations up to the transformations in cut elimination together with a few other simple transformations, we obtain classes that spontaneously organize themselves into a monoidal category.

After defining 2-categories of monoidal categories and a series of related categorical concepts, we define, in full detail, a categorical semantics for intuitionistic linear logic. Lastly, we present three distinct axiomatizations for models of linear logic and show that coherence spaces are one such model.

(8)
(9)

Índice

Agradecimentos iii Resumo v Abstract vii 1 Introdução 1 2 Lógica 3 2.1 Lógica Intuicionista . . . 3 2.2 Cálculo-λpuro . . . 7 2.2.1 Redução-β . . . 10 2.3 Cálculo-λtipificado . . . 11 2.3.1 Isomorfismo de Curry-Howard . . . 12 2.3.2 Reduções-βe -η . . . 13 2.3.3 Reduções e Normalização . . . 15

2.4 Lógica Linear Intuicionista . . . 16

2.4.1 Eliminação do Corte . . . 18

2.4.2 Uma palavra sobre terminação . . . 30

3 Introdução à Teoria das Categorias 31 3.1 Categorias . . . 31

3.2 Functores e Transformações Naturais . . . 34

3.3 Adjunções . . . 36 3.4 Mónadas . . . 38 3.4.1 Categorias de Kleisli . . . 40 3.4.2 Categorias de Eilenberg-Moore . . . 42 3.5 Comónadas . . . 44 3.5.1 Retrações . . . 46 3.6 Categorias-2 . . . 47 3.7 Adjunções em Categorias-2 . . . 50 ix

(10)

4 Semântica Categorial para a Lógica Intuicionista 53

4.1 Sistemas de Dedução como Categorias . . . 53

4.1.1 Categorias Cartesianas . . . 54

4.1.2 Sistema de Dedução para o fragmento CPI(∧, ⊤) . . . 55

4.1.3 Categorias Cartesianas Fechadas . . . 56

4.1.4 Sistema de Dedução para o fragmento CPI(∧, ⊃, ⊤) . . . 57

4.2 Semântica Categorial para o Cálculo-λtipificado . . . 59

4.2.1 CategoriaCβη . . . 62

5 Categorias Monoidais 65 5.1 Categorias Monoidais . . . 66

5.1.1 Categorias Monoidais Simétricas . . . 69

5.1.2 Categorias Monoidais Fechadas . . . 71

5.1.3 Categorias-Autónomas . . . 73

5.2 Functores Monoidais . . . 74

5.2.1 Functores Monoidais Simétricos . . . 75

5.3 Transformações Naturais Monoidais . . . 76

5.4 Categorias-2 de Categorias Monoidais . . . 77

5.5 Adjunções Monoidais . . . 77

5.5.1 Adjunções Monoidais Simétricas . . . 78

5.6 Uma Caracterização de Adjunções Monoidais . . . 78

5.7 Monóides . . . 81

5.8 Comonóides . . . 83

5.9 Comónadas em Categorias-2 . . . 84

5.9.1 Comónadas Monoidais Simétricas . . . 85

5.10 Estrutura Cartesiana em Categorias Monoidais . . . 85

5.11 Categorias de Monóides . . . 91

5.12 Categorias de Comonóides . . . 92

5.12.1 Categorias de Comonóides Comutativos . . . 92

6 Semântica Categorial para a Lógica Linear 95 6.1 Porquê Categorias Monoidais? . . . 95

6.1.1 Equivalência-cηa . . . 95

6.1.2 CategoriaCcηa . . . 98

6.2 Semântica Categorial para a Lógica Linear . . . 108

6.2.1 Semântica Categorial para o fragmento LLI(,(,1) . . . 108

6.2.2 Semântica Categorial para a Modalidade Exponencial! . . . 110

6.2.3 Correção . . . 113

6.2.4 Um Isomorfismo Interessante . . . 114

6.3 Axiomatizações de modelos categoriais . . . 116

6.3.1 Categorias de Seely . . . 116

6.3.2 Categorias Lineares . . . 121

(11)

ÍNDICE xi

6.4 Espaços de Coerência como um Modelo Categorial . . . 131

6.4.1 Uma adjunção linear-não-linear . . . 133

Bibliografia 139 A Semântica Categorial para a Lógica Linear Clássica 141 A.1 Lógica Linear Clássica . . . 141

A.1.1 Eliminação do Corte para a Lógica Linear Clássica . . . 142

A.2 Categorias Linearmente Distributivas . . . 144

A.2.1 Dualidade em Categorias Linearmente Distributivas . . . 147

A.2.2 Categorias Linearmente Distributivas Simétricas . . . 149

A.2.3 Categorias-Autónomas . . . 149

A.3 Semântica Categorial para Lógica Linear Clássica . . . 150

B Correspondência de Lambek 151 B.1 Categorias Polinomiais . . . 151 B.1.1 Completude Funcional . . . 153 B.2 Correspondência de Lambek . . . 156 B.2.1 Linguagem interna . . . 157 B.2.2 Categoriaλ-Calc . . . 159

(12)
(13)

Capítulo 1

Introdução

O nosso objetivo é definir uma semântica categorial para a lógica linear (Cap. 6). Seguindo de perto Melliès [Mel09], vamos introduzir a estrutura categorial necessária (Cap. 5) e descrever várias axiomatizações alternativas para mo-delos da lógica linear (Cap. 6.3).

Mas porquê utilizar categorias? A teoria de categorias é uma ferramenta muito poderosa e foi utilizada com grande sucesso em muitas áreas da matemática e nas ciências da computação. No caso da lógica, as categorias fornecem-nos novos tipos de modelos e interpretações. De facto existem uma série de relações muito naturais entre a lógica intuicionista, cálculo-λe a teoria de categorias. Mais precisamente temos que:

Lógica Intuicionista Cálculo-λ

Categorias Cartesianas Fechadas

(a)

(c) (b)

(a) O isomorfismo de Curry-Howard dá-nos uma correspondência entre a lógica e o cálculo-λ. Mais especifi-camente, a lógica proposicional intuicionista corresponde a um certo cálculo-λtipificado. Este isomorfismo mostra ainda que fórmulas correspondem a tipos, derivações correspondem a termos, normalização corres-ponde à redução de termos, etc. (Cap. 2).

(b) Vamos definir uma semântica categorial correta para o cálculo-λtipificado. Construímos ainda uma categoria cartesiana fechada onde esta semântica é completa (Cap. 4.1).

(c) Sistemas de dedução para a lógica intuicionista podem ser utilizados para gerar certos tipos de categorias. Isto é feito interpretando as fórmulas como objetos e certas classes de equivalência de derivações como morfismos. Vemos ainda que as regras associadas à conjunção e ao trivial estão profundamente relacionadas com as estruturas cartesianas, enquanto que as regras associadas à implicação estão relacionadas com as estruturas fechadas (Cap. 4.2).

Do mesmo modo que as categorias cartesianas fechadas modelam um certo fragmento da lógica intuicionista, vamos ver que categorias monoidais simétricas fechadas modelam o fragmento multiplicativo da lógica linear intui-cionista. De facto, se identificarmos as derivações da lógica linear intuicionista a menos das transformações para a eliminação de corte e mais algumas transformações bastante naturais então obtemos obtemos classes que se organizam espontaneamente numa categoria monoidal (Cap. 6.1.2).

(14)

A interpretação da modalidade exponencial!será feita através de uma adjunção monoidal simétrica

(M, ×, e) (L, ⊗,1)

(L,m)

(M,n)

entre uma categoria monoidal simétrica fechada L e uma categoria cartesianaM. Mais concretamente ! será interpretada pela comónada monoidal simétrica na categoriaLassociada à adjunção definida pela composição dos functores da adjunção:

! = LM.

Estes conceitos são definidos de uma forma conceptual através da linguagem das categorias-2 (Cap. 5).

Vamos apresentar ainda três axiomatizações alternativas para modelos da lógica linear intuicionista e veremos como cada uma destas induz uma adjunção deste tipo (Cap. 6.3). Dada uma categoria monoidal simétrica fechada

L, cada uma destas axiomatizações é essencialmente uma plano para a construção de uma adjunção monoidal simétrica entre uma categoria cartesianaM(definida pela axiomatização) eL.Portanto estas definições alternativas podem ser vistas como atalhos para a demonstração que uma certa categoria monoidal simétrica fechadaLé um modelo para a lógica linear intuicionista.

Por último apresentamos os espaços de coerência como um modelo categorial para a lógica linear intuicionista (Cap. 6.4).

No Apêndice A damos uma breve indicação de como definir uma semântica categorial para a lógica linear clássica a partir da semântica categorial para a lógica linear intuicionista.

(15)

Capítulo 2

Lógica

2.1 Lógica Intuicionista

O entendimento clássico da lógica é baseado no conceito de “verdade”. A verdade de uma afirmação é vista como “absoluta” e independente de qualquer “agente”. Uma afirmação é verdadeira ou falsa, onde falsidade simplesmente significa “não é verdade”. Isto é expresso pelo princípio do terceiro excluído, que nos diz quep∨ ¬pé válida seja qual for o significado dep.Consequentemente, temos de aceitar quep∨¬pé válida mesmo que não saibamos nada sobrep. Consideremos o seguinte exemplo: será que existem dois números irracionaisxeytais quexy é racional? É muito fácil provar que isto é verdade utilizando o princípio do terceiro excluído:

• Se2

2

é racional, basta tomarx = y = √2.

• Se2

2

é irracional, basta tomarx =√2

2 ey =√2.Logoxy =(√2 2)2 = 2,que é racional. O problema desta prova é que não sabemos qual das duas possibilidades é a correta. Isto demonstra um problema com a lógica clássica e sugere que uma lógica intuicionista (ou construtiva) talvez seja de interesse. Numa lógica intuicionista a noção de verdade tem uma interpretação diferente: em vez de significar que algo intrínseco sobre uma afirmação é verdade, significa que existe uma prova dessa afirmação. Esta interpretação é tipicamente chamada interpretação de Brouwer–Heyting–Kolmogorov ou simplesmente interpretação BHK [Tro11]. Mais à frente vamos ver que esta lógica construtiva está profundamente relacionada com o cálculo-λ, através do isomorfismo de Curry-Howard.

Começamos por definir um sistema para a Lógica Intuicionista, que daqui em diante vamos abreviar por CPI. Definição 1. O alfabeto do CPI é o conjunto formado pelos seguintes símbolos:

x1,x2,… chamadosvariáveis proposicionais, formando um conjunto numerável.

⊥,⊤,∧,∨,⊃, chamados conetivos. Cada um destes símbolos é ainda chamado absurdo, trivial, conjunção, disjunção e implicação, respetivamente.

(,), chamadossímbolos auxiliares.

(16)

Definição 2. O conjunto das fórmulas atómicas do CPI,At, é o conjunto formado por⊥,⊤ junta-mente com as variáveis proposicionais.

Definição 3. O conjunto das fórmulas do CPI,F, é o conjunto definido indutivamente como se segue: • seA∈ AtentãoA∈ F,

• seA∈ F eB ∈ F então(A ⋆ B)∈ F,para⋆∈ {∧, ∨, ⊃}.

Vamos omitir os parênteses externos e tomar por convenção que a implicação é associativa à direita. Por exemplo, vamos escrever a palavraA⊃ B ⊃ Cpara denotar a fórmula(A⊃ (B ⊃ C)).

Passamos a formalizar a noção de prova. Uma prova formal, à qual chamaremosderivação, é um certo tipo de árvore cujos vértices são etiquetados com expressões da formaΓ⊢ A,ondeΓé um conjunto dehipóteses

Γ ={x1 : A1, . . . xn: An}

e A é uma fórmula. Os elementos de Γ são fórmulas etiquetadas. Escolhemos etiquetar estas fórmulas para podermos controlar exatamente que hipótese estamos a utilizar nas regras que definiremos de seguida.

Definimos agora um sistema de dedução para o CPI. Este sistema consiste de dois esquemas de axiomas ⊤I Γ⊢ ⊤ Γ, x : A⊢ A Ax, x e das regras Γ⊢ A Γ⊢ B ∧I Γ⊢ A ∧ B Γ⊢ Ai ∨I i,ondei∈ {0, 1} Γ⊢ A0∨ A1 Γ, x : A⊢ B ⊃ I,x Γ⊢ A ⊃ B Γ⊢ ⊥ ⊥E Γ⊢ A Γ⊢ A0∧ A1 ∧E i,ondei∈ {0, 1} Γ⊢ Ai Γ⊢ A ∨ B Γ, x : A ⊢ C Γ, y : B ⊢ C ∨E,x,y Γ⊢ C Γ⊢ A ⊃ B Γ⊢ A ⊃ E Γ⊢ B

Para cada um dos conetivos bináriostemos uma regra de introdução e uma regra de eliminação. As regras de introdução dizem-nos como é que podemos concluir uma fórmula da forma A ⋆ B enquanto que as regras de eliminação dizem-nos como é que fórmulas da formaA ⋆ Bpodem ser utilizadas para obter outras fórmulas.

Estamos agora em condições de definir formalmente o que é uma derivação.

Definição 4. Uma derivação deΓ⊢ Aé uma árvore finita onde os vértices são etiquetados com pares da forma′, A′), que vamos denotar porΓ ⊢ A′, que satisfaz as seguintes condições:

(17)

2.1. LÓGICA INTUICIONISTA 5 • A etiqueta da raiz éΓ⊢ A,

• As etiquetas das folhas são axiomas,

• A etiqueta de cada vértice é obtida a partir das etiquetas dos vértices acima por uma das regras do sistema de dedução.

Alternativamente, em vez de definirmos derivações deΓ ⊢ A, podemos definir derivações deAa partir deΓ

como se segue: as derivações são as árvores construídas indutivamente pelas seguintes regras 1.

x : A Ax, x A

é uma derivação deAa partir deΓ, x : A. 2.

⊤I é uma derivação dea partir deΓ.

3. Dada uma derivação

Γ .. . dea partir deΓ, Γ .. . ⊥ ⊥EA é uma derivação deAa partir deΓ.

4. Dadas derivações Γ .. . A Γ .. . B deAeBa partir deΓ,

(18)

Γ .. . A Γ .. . B ∧I A∧ B é uma derivação deA∧ Ba partir deΓ.

5. Sejai∈ {0, 1}.Dada uma derivação

Γ .. . Ai deAia partir deΓ, Γ .. . Ai ∨I i A0∨ A1

é uma derivação deA0∨ A1a partir deΓ.

6. Dada uma derivação

Γ, x : A .. . B deB a a partir deΓ, x : A, Γ, [x : A] .. . B ⊃ I, x A⊃ B

é uma derivação deA ⊃ Ba partir deΓ. Note-se quex : Afoicancelado. Indicamos isto através dos parênteses ‘‘[”,‘‘]” e escrevemosxao lado da regra que canceloux : A.

7. Sejai∈ {0, 1}.Dadas derivações

Γ

.. . A∧ B deA0∧ A1a partir deΓ,

(19)

2.2. CÁLCULO-λPURO 7 Γ .. . A0∧ A1 ∧E i Ai

é uma derivação deAia partir deΓ. 8. Dadas derivações Γ .. . A∨ B Γ, x : A .. . C Γ, y : B .. . C

deA∨ Ba partir deΓ,Ca partir deΓ, x : Ae deCa partir deΓ, y : B,

Γ .. . A∨ B Γ, [x : A] .. . C Γ, [y : B] .. . C ∨E, x, y C

é uma derivação deCa partir deΓ. 9. Dadas derivações Γ .. . A⊃ B Γ .. . A deA ⊃ BeAa partir deΓ, Γ .. . A⊃ B Γ .. . A ⊃ E B

é uma derivação deBa partir deΓ.

2.2 Cálculo-

λ

puro

O cálculo-λé uma coleção de linguagens formais com interesse na lógica e nas ciências da computação. Nós vamos estar interessados em variantes do cálculo-λmunidas de reduções-βeη, visto que estes processos de redução estão intimamente relacionados com a estrutura das categorias cartesianas fechadas.

(20)

Comecemos por definir um cálculo-λpuro, ou cálculo-λsem tipos.

Definição 5. SejaVum conjunto numerável devariáveis. O conjunto das expressões que chamaremos

termos é definido indutivamente como se segue: • Sex∈ V entãoxé um termo,

• SeM eN são termos então(M N )também é um termo (chamadoaplicação),

• SeM é um termo exé uma variável então(λx.M )também é um termo (chamadoabstração).

Fixamos agora alguma notação. Vamos utilizar letras maiúsculas,M,N,P,Q, para denotar termos arbitrários. As letras minúsculas,x,y,z, iram denotar variáveis. Parênteses serão omitidos segundo a convenção de associação à esquerda, isto é,M N P Q denotará o termo(((M N )P )Q), por exemplo. Utilizaremos ainda as seguintes abreviações:

λx.P Qdenota(λx.(P Q)),

λx1x2. . . xn.Mdenota(λx1.(λx2.(. . . (λxn.M ) . . . ))). A identidade sintática de termos será denotada por “”, ou seja

M ≡ N significa queM é exatamente o mesmo termo queN.

Definição 6 (Ocorrência). SejamP eQtermos. Definimos a relaçãoP ocorre emQdo seguinte modo: P ocorre emP,

• SeP ocorre emM ou emN entãoP ocorre em(M N ), • SeP ocorre emM ouP ≡ xentãoP ocorre em(λx.M ).

Definição 7 (Alcance). Seja(λx.M )uma ocorrência em algum termoP.Então dizemos que a ocorrên-cia deMé oalcance doλximediatamente à sua esquerda.

Definição 8 (Varáveis livres e/ou ligadas). Uma ocorrência de uma variávelxnum termoP é chamada: ligada se estiver no alcance de algumλxemP,

ligada e ligante sexé oxem algumλx. livre caso contrário.

Sextem pelo menos uma ocorrência ligada emP, dizemos quexé umavariável ligada deP. Sextem pelo menos uma ocorrência livre emP, dizemos quexé umavariável livre deP. O conjunto de todas as variáveis livres deP será designado porV L(P ).

(21)

2.2. CÁLCULO-λPURO 9 Definição 9 (Substituição). SejamM,N termos exuma variável.M [N /x]denota o resultado de subs-tituirN em todas as ocorrências livres dexemM, eventualmente trocando variáveis ligadas para evitar conflitos. A definição é por indução emM como se segue:

x[N /x]≡ N, y[N /x]≡ y, sey̸≡ x, (P Q)[N /x]≡ (P [N/x]Q[N/x]), (λx.P )[N /x]≡ λx.P, (λy.P )[N /x]≡ λy.P, sex /∈ V L(P ), (λy.P )[N /x]≡ λy.(P [N/x]), sex∈ V L(P )ey /∈ V L(N), (λy.P )[N /x]≡ λz.(P [z/y][N/x]),sex∈ V L(P )ey∈ V L(N). Nas últimas três expressõesy̸≡ xe na últimazé tal quez /∈ V L(NP ).

A motivação da última cláusula desta definição é a prevenção da captura de variáveis. Em rigor esta definição está incorreta, visto que não especificámos qual a variávelzque estamos a utilizar na última cláusula. Como vamos já de seguida identificar os termos a menos de equivalência-α isto não causa problemas. De qualquer maneira, podemos especificar a variávelzcomo se segue: assumimos uma boa ordem nas variáveis e escolhemos a menor variável tal quez /∈ V L(NP ).

Definição 10 (Substituição Simultânea). É possível adaptar a definição deM [N /x]para obtermos uma definição desubstituição simultânea

M [N0/x0, . . . , Nk/xk].

A definição é técnica e escolhemos omitir os detalhes, visto que só vamos utilizar substituições simultâneas num caso particular. Uma definição pode ser encontrada em [Sto88] .

Definição 11 (Equivalência-α). A relação equivalência-α, denotada por=α, é a menor relação de con-gruência sobre os termos tal que para qualquer termoM e qualquer variávely /∈ V L(M),

λx.M =α λy.(M [y/x]).

Isto é, é a menor relação sobre os termos que satisfaz as seguintes regras: M =α M M =α N N =α M M =α N N =α P M =α P M =α M′ N =α N′ M N =α M′N′ M =α M′ λx.M =α λx.M′ y /∈ V L(M) λx.M =α λy.(M [y/x])

É fácil provar por indução nos termos, que qualquer termo é equivalente-α a um termo cujos nomes de todas as variáveis ligadas são distintos entre si e distintos de qualquer variável livre. Portanto podemos, sem perda de generalidade, assumir que todas as variáveis ligadas são distintas.

Daqui em diante vamos identificar termos módulo=α. Vamos chamar a estas classes de equivalência termos e não vamos distinguir notacionalmente entre os elementos das classes e as classes em si.

(22)

2.2.1 Redução-

β

Podemos pensar num termo da forma(λx.M )N como sendo um operadorλx.M aplicado a um argumentoN. Informalmente aplicarλx.MaNsignifica o calcular o resultado de substituirxporNemM, ou seja,(λx.M )N

simplifica-se paraM [N /x].Isto é formalizado na seguinte definição. Definição 12 (Redução-β). Um termo da forma

(λx.M )N

é chamadoredex-βe o termo correspondente

M [N /x] é o seucontractum.

Se algum termo P contiver uma ocorrência de (λx.M )N e substituirmos essa ocorrência por M [N /x],obtendoP′,dizemos quecontraímos um redex-βque ocorre emP e queP contrai-se-β paraP′.Nesse caso escrevemos

P →β P′.

Se for possível transformar um termoP num termoP′através de um número finito (eventualmente zero) de contrações-βdizemos queP reduz-se-βaP′.Nesse caso escrevemos

P →∗β P′.

Definição 13 (Normalidade-β). SejaM um termo sem redexes-β. Então dizemos queM está emforma normal-β.

Se um termoPreduz-se-βa um termoP′em forma normal-βdizemos queP′é uma forma normal-βdeP.

A forma normal-β(se existir) é única. Isto é uma consequência imediata do Teorema de Church-Rosser: Proposição 14 (Church-Rosser). SeM →∗β P eM →∗β P′então existeNtal queP →∗β NeP′ →∗β N.

Uma demonstração deste teorema pode ser encontrada em [BB84]. Agora é fácil ver que: Proposição 15. Um termoM tem no máximo uma forma normal-β.

Demonstração. Suponhamos que M →∗β P eM β P′, onde P eP′ estão em forma normal-β.Logo P →∗β NeP′ →∗β N.Mas os termosP eP′só são redutíveis-βa eles próprios e portantoP = P′ = N.

Definição 16 (Equivalência-β). A relação equivalência-β, denotada por=β, é a menor relação de con-gruência sobre os termos que contém a relação→β. Isto é, é a menor relação sobre os termos que satisfaz as seguintes regras:

M =β M M =β N N =β M M =β N N =β P M =β P M =β M′ N =β N′ M N =β M′N′ M =β M′ λx.M =β λx.M′ (λx.M )N =β M [N /x]

(23)

2.3. CÁLCULO-λTIPIFICADO 11

2.3

Cálculo-

λ

tipificado

O cálculo-λ puro que definimos acima tem muito poucas restrições. Por exemplo, permite aplicar um termo a si próprio: xxé um termo perfeitamente legal. Isto dá uma grande expressividade ao cálculo. Contudo isto também leva adivergências. O exemplo tradicional é o seguinte: sejaΩ = (λx.xx)λx.xx,temos que

→β→β→β . . . .

Não temos este tipo de problemas no cálculo-λtipificado: o Teorema da normalização forte garante que não existem sequências de redução infinitas. Demonstrações deste teorema podem ser encontradas em [GTL89] e [SU06].

Definimos agora um cálculo-λtipificado.

Definição 17. SejaV um conjunto devariáveis eT um conjunto detipos básicos. Um cálculo-λ

tipificado consiste de certos tipos e de certos termos:

• Os tipos são definidos indutivamente como se segue: – 1∈ T,

– SeA∈ T entãoAé um tipo,

– SeAeBsão tipos entãoA× BeA→ Btambém são. • Os termos são definidos indutivamente como se segue:

∗é um termo.

– Sex∈ Ventãoxé um termo,

– SeM eN são termos então(M N ),π0M, π1M e⟨M, N⟩são termos,

– SeM é um termo,Aé um tipo ex∈ V então(λxA.M )também é um termo. Umjuízo de tipo é um triplo da forma

Γ⊢ M : A,

onde Γ = x1 : A1, . . . , xk : Ak.Isto deve ser interpretado como a afirmação que o termoM tem tipoA assumindo que cadaxi tem tipoAi, i ∈ {1, . . . , k}.Umtermo tipificável é um termoM juntamente com um tipoAe um certoΓtal que o juízo de tipo Γ ⊢ M : Aé derivável através do uso das seguintes regras de tipificação: Γ⊢ ∗ :1 Γ⊢ M : A Γ⊢ N : B Γ⊢ ⟨M, N⟩ : A × B Γ, x : A⊢ M : B Γ⊢ λxA.M : A→ B Γ, x : A⊢ x : A Γ⊢ M : A0× A1 ondei∈ {0, 1} Γ⊢ πiM : Ai Γ⊢ M : A → B Γ⊢ N : A Γ⊢ MN : B

(24)

2.3.1 Isomorfismo de Curry-Howard

Consideremos agora apenas o fragmento CPI(∧, ⊃, ⊤), ou seja, à parte do CPI que envolve apenas as fórmulas e regras de derivação com os conetivos∧, ⊃e⊤.Se identificarmos os tipos básicos com as fórmulas atómicas existe uma bijeção natural entre os tipos e as fórmulas. Assumimos ainda que o tipo básico1 foi identificado com a fórmula atómica⊤.Daqui em diante vamos identificar tipos e fórmulas quando for conveniente.

De facto temos ainda uma bijeção entre as derivações e os termos tipificáveis. Vamos agora construir uma tradução das derivações para termos tipificáveis e de seguida construiremos uma tradução dos termos tipificáveis para as derivações. Estas traduções serão inversas uma da outra.

Dada qualquer derivação dex1 : A1, . . . , xn : An ⊢ B vamos associar um termoM e um juízo de tipo derivávelx1 : A1, . . . , xn : An ⊢ M : B.O termoM é definido recursivamente na estrutura das derivações. Provamos, por indução, quex1 : A1, . . . , xn: An ⊢ M : Bé de facto um juízo de tipo derivável.

(⊤I) Se a derivação for simplesmente

⊤I

Γ⊢ ⊤

associamos o termoM = . ClaramenteΓ⊢ ∗ :1 é um juízo de tipo derivável.

(Ax) Se a derivação for simplesmente

Ax, x

Γ, x : A⊢ A

associamos o termoM = x.ClaramenteΓ, x : A⊢ x : Aé um juízo de tipo derivável.

(∧I) Se a derivação acabar com

Γ⊢ A Γ⊢ B ∧I Γ⊢ A ∧ B

então, pela hipótese de indução, existem termosP eQ tais que Γ ⊢ P : A e Γ ⊢ Q : B, logo

Γ⊢ ⟨P, Q⟩ : A × Bé um juízo de tipo derivável. Portanto basta tomarM = ⟨P, Q⟩.

(∧Ei) Se a derivação acabar com

Γ⊢ A0∧ A1 ∧E

i,ondei∈ {0, 1}

Γ⊢ Ai

então, pela hipótese de indução, existeP tal queΓ⊢ P : A0× A1, logoΓ⊢ πiP : Ai é um juízo de tipo derivável. Portanto basta tomarM = πiP.

(⊃ I) Se a derivação acabar com

Γ, x : A⊢ B ⊃ I,x Γ⊢ A ⊃ B

(25)

2.3. CÁLCULO-λTIPIFICADO 13 então, pela hipótese de indução, existeP tal queΓ, x : A⊢ P : B,logoΓ⊢ λxA.P : A→ B é um juízo de tipo derivável. Portanto basta tomarM = λxA.P.

(⊃ E) Se a derivação acabar com

Γ⊢ A ⊃ B Γ⊢ A ⊃ E Γ⊢ B

então, pela hipótese de indução, existem P e Q tais que Γ ⊢ P : A → B e Γ ⊢ Q : A, logo

Γ⊢ P Q : Bé um juízo de tipo derivável. Portanto basta tomarM = P Q.

Por outro lado, dado um termoM com um juízo de tipo associadoΓ ⊢ M : Aconstruímos, por indução na derivação do juízo de tipo, uma derivação deΓ⊢ A. O processo consiste essencialmente em ”apagar“ os termos. Vejamos um exemplo: se a derivação do juízo de tipo acabar com

Γ, x : A⊢ M : B Γ⊢ λxA.M : A→ B

temos, pela hipótese de indução, uma derivação deΓ, x : A ⊢ B. Logo, por (⊃ I, x), temos uma derivação de Γ ⊢ A ⊃ B.Cada um dos outros casos é semelhante, basta aplicar a regra correspondente. Omitimos os detalhes.

É fácil verificar que estas traduções são mutuamente inversas.

2.3.2 Reduções-

β

e -

η

As reduções-βe -ηpara o cálculo-λtipificado são definidas de forma semelhantes à redução-βque definimos para o cálculo-λpuro. Definimos as seguintes reduções:

(λxA.M )N → M[N/x],

πi⟨M0, M1⟩ → Mi, ondei∈ {0, 1}, λxA.M x→ M, ondex /∈ V L(M), ⟨π1M, π2M⟩ → M,

M → ∗. Exigimos ainda as seguintes condições laterais: • na redução

λxA.M x→ M, ondex /∈ V L(M)

exigimos que existamΓeBtais que o juízo de tipoΓ⊢ M : A → Bseja derivável, • na redução

⟨π1M, π2M⟩ → M

exigimos que existamΓ, AeBtais que o juízo de tipoΓ⊢ M : A × B seja derivável. • na redução

M → ∗

(26)

A definição de equivalência-βηsegue o mesmo padrão que a equivalência-βque definimos na secção interior. Definição 18 (Equivalência-βη). A relação equivalência-βη, denotada por=βη, é a menor relação de congruência sobre os termos tipificados que satisfaz as seguintes regras:

M =βη M M =βη N N =βη M M =βη N N =βη P M =βη P M =βη M′ N =βη N′ M N =βη M′N′ M =βη M′ λxA.M = βη λxA.M′ M =βη M′ N =βη N′ ⟨M, N⟩ =βη ⟨M′, N′⟩ M =βη M′ ondei∈ {0, 1} πiM =βη πiM′ (λxA.M )N = βη M [N /x] ondei∈ {0, 1} πi⟨M0, M1⟩ =βη Mi x /∈ V L(M) λxA.M x =βη M ⟨π1M, π2M⟩ =βη M M :1 M =βη

(27)

2.3. CÁLCULO-λTIPIFICADO 15

2.3.3

Reduções e Normalização

Tendo em conta o isomorfismo de Curry-Howard é natural perguntar: a que correspondem as reduções-β e -ηno cálculo proposicional intuicionista? Como talvez fosse de esperar, correspondem a um certo processo de simplificação de derivações. Este processo de simplificação, tipicamente chamadonormalização, elimina certas redundâncias. Vejamos um exemplo. A regra de redução-β π0⟨M, N⟩ → M corresponde à seguinte simplificação

Γ .. . A Γ .. . B ∧I A∧ B ∧E 0 A Γ .. . A .

Note-se que temos uma regra de introdução seguida imediatamente da regra de eliminação correspondente. Em geral, as reduções-βcorrespondem a situações onde regras de introdução são seguidas por regras de eliminação enquanto que as reduções-ηcorrespondem a situações onde regras de eliminação são seguidas por regras de introdução. Por exemplo a redução-η⟨π1M, π2M⟩ → M corresponde à simplificação:

Γ .. . A∧ B ∧E 0 A Γ .. . A∧ B ∧E 1 B ∧I A∧ B Γ .. . A∧ B .

Note-se que esta simplificação tem uma condição lateral: precisamos que cada uma das subderivações das instân-cias de A ∧ B sejam a mesma. Isto corresponde ao facto de que cada um dos subtermos chamados M em ⟨π1M, π2M⟩também são o mesmo termo.

Um caso particularmente interessante é o da redução-β (λxA.M )N → M[N/x]que corresponde a

Γ, [x : A] .. . B ⊃ I, x A⊃ B Γ .. . A ⊃ E B Γ .. . Γ, A .. . B .

É interessante reparar que esta simplificação pode aumentar o tamanho da derivação, visto que se a hipóteseA for utilizada várias vezes temos de copiar a derivação deAa partir deΓesse mesmo número de vezes. Naturalmente, isto corresponde ao facto de que quando x ocorre várias vezes em M então também temos de copiar N em M [N /x]esse mesmo número de vezes.

Por último a redução-η λxA.M x→ M,ondex /∈ V L(M)corresponde a:

Γ .. . A⊃ B [x : A] Ax, x A ⊃ E B ⊃ I, x A⊃ B Γ .. . A⊃ B .

(28)

2.4

Lógica Linear Intuicionista

Na lógica intuicionista temos acesso a regras de contração e enfraquecimento. Isto reflete o facto de que a verdade “não se gasta”: depois de estabelecermos algum teorema podemos fazer uso deste quantas vezes precisarmos sem receio de que este eventualmente deixe de ser verdade. Somos então incentivados (ou pelo menos não há nenhum castigo) em utilizar recursos livremente sem nenhuma preocupação com o que deitamos fora com enfraquecimentos ou com as duplicações que fazemos com contrações. Isto pode tornar-se problemático se estivermos a trabalhar com recursos limitados. Uma solução para este problema é eliminar as regras de contração e enfraquecimento mas nesse caso o sistema que obtemos é muito fraco. Em vez de simplesmente eliminar a contração e o enfraquecimento, Girard teve a ideia inovadora de controlar estas regras através de um novo conetivo unário (a modalidade exponencial!).

No novo sistema que Girard introduziu em [Gir87] podemos apenas contrair ou eliminar uma fórmula se esta for da forma!A. Este sistema permite um melhor controlo das regras estruturais e ao mesmo tempo é forte o suficiente para que a lógica tradicional possa ser mergulhada nele.

Nós vamos estar interessados principalmente em estudar os conetivos multiplicativos(1,⊗, ()juntamente com a modalidade exponencial!. Vamos chamar ao sistema com este conetivos Lógica Linear Intuicionista e utilizar a abreviação LLI.

Segue-se a definição.

Definição 19. O alfabeto da LLI é o conjunto formado pelos seguintes símbolos:

x1, x2, . . . chamadosvariáveis proposicionais, formado um conjunto numerável.

1, !,⊗, (chamados conetivos. Cada um destes símbolos é chamado unidade tensorial, bang, produto tensorial e implicação linear, respetivamente.

• (,) , chamados símbolos auxiliares.

Definição 20. O conjunto das fórmulas atómicas da LLI,AtLLI, é o conjunto formando por1 junta-mente com as variáveis proposicionais.

Definição 21. O conjunto das fórmulas da LLI,FLLI,é o conjunto definido indutivamente como se segue:

• seA∈ AtLLIentãoA ∈ FLLI, • seA∈ FLLIentão!A∈ FLLI,

• seA∈ FLLIeB ∈ FLLIentão(A⊗ B) ∈ FLLI. • seA∈ FLLIeB ∈ FLLIentão(A( B) ∈ FLLI.

(29)

2.4. LÓGICA LINEAR INTUICIONISTA 17

Segue-se um cálculo de sequentes para LLI. Temos um axioma e um esquema de axiomas

R1

|−1 A|− A Ax

juntamente com as regras

Γ|− A|− B R⊗ Γ, ∆ |− A ⊗ B A, Γ|− B R ( Γ|− A ( B|− A R!|−!A Υ1, Υ2 |− B W k Υ1, !A, Υ2 |− B Γ|− A Υ1, A, Υ2 |− B Corte Υ1, Γ, Υ2 |− B Υ1, Υ2 |− A L1 Υ1,1, Υ2 |− A Υ1, A, B, Υ2 |− C L⊗ Υ1, A⊗ B, Υ2 |− C Γ|− A Υ1, B, Υ2 |− C L( Υ1, Γ, A( B, Υ2 |− C Υ1, A, Υ2 |− B L! Υ1, !A, Υ2 |− B Υ1, !A, !A, Υ2 |− B Ctr Υ1, !A, Υ2 |− B Υ1, A1, A2, Υ2 |− B Ex Υ1, A2, A1, Υ2 |− B

Definimos ainda LLI+, a variante da LLI com as chamadas regras aditivas. Esta lógica é obtida acrescentado à LLI a conjunção aditiva ` , a sua unidade, o esquema de axiomas

R⊤ Γ|− ⊤ e as regras Γ|− A Γ|− B R ` Γ|− A ` B Υ1, Ai, Υ2 |− C L ` i,i∈ {0, 1} Υ1, A0 ` A1, Υ2 |− C

Naturalmente, vamos designar as regras da formaR⋆por introdução deà direita e as regras da formaL⋆por introdução deà esquerda, com a exceção das regrasR!eL!que serão designadas por promoção e renúncia, res-petivamente. As regrasW k,CtreExserão designadas por enfraquecimento, contração e troca, respetivamente. Note-se que ao contrário do que fizemos no CPI,Γ, ∆, Υi são sequências de fórmulas e não conjuntos. A fórmula com o conetivo abaixo do traço em cada uma das regras é chamadafórmula principal. Na regraExas fórmulas A1eA2são chamadasfórmulas ativas.

(30)

Lógica Linear como uma lógica de recursos

Dissemos que na lógica clássica e intuicionista a “verdade não se gasta”: se Ae A ⊃ B são verdade então podemos concluirBeAcontinua a ser verdade. Se utilizarmos algum lema numa demonstração, o lema não deixa de ser verdade. Este tipo de pensamento é perfeitamente razoável na matemática e em muitas outras aplicações, contudo não é adequando quando estamos a lidar com, por exemplo, recursos finitos. SeArepresentar “temos1€”, B representar “comprar um café” eA ⊃ Brepresentar “gastar1€ para comprar um café” então a lógica usual sugere que podemos comprar um café e manter o1€. A lógica linear fornece-nos um forma melhor de lidar com este tipo de expressões: em vez de utilizarmosA⊃ B para representar “posso gastar1€ para comprar um café”, vamos utilizar a implicação linearA( B. Em geral podemos pensar na expressãoA( Bcomo “posso gastar o recursoApara obter o recursoB” ou “posso transformar o recursoAno recursoB”.

Quando estamos a falar em recursos, temos também dois tipos de conjunção: a conjunção multiplicativa, também chamada produto tensorial, e a conjunção aditiva ` . A conjunção multiplicativa pode ser interpretada como uma ocorrência simultânea de vários recursos enquanto que a conjunção aditiva pode ser interpretada como uma ocorrência alternativa entre recursos, onde nós decidimos qual ocorre. Consideremos uma máquina de café que venda café e chá, cada um por1€. Se tivermos1€ é verdade que podemos comprar um café e também é verdade que podemos comprar um chá, contudo não é verdade que possamos comprar um café e um chá (simultaneamente). SeC representar “comprar um chá” podemos exprimir “gastar 1€ para comprar a minha escolha entre um café e um chá” através da fórmulaA( (B ` C). Se quisermos comprar um café e um chá precisamos de 2€, isto pode ser expresso assim:(A⊗ A) ( (B ⊗ C).

A unidade tensorial1 pode ser interpretada como a ausência de qualquer recurso e, naturalmente, funciona como unidade para a conjunção multiplicativa.

A unidade para a conjunção aditivapode ser interpretada como uma coleção de recursos genérica de que não precisamos. Por exemplo, se tivermos 2€, podemos comprar um café mas ainda ficamos com outro euro que eventualmente poderíamos gastar num chá ou outro café. Para exprimir esta situação sem especificar o que acontece com o segundo euro escrevemos: (A⊗ A) ( (B ⊗ ⊤).

A modalidade exponencial!pode ser interpretada como um mecanismo que nos permite repetir/copiar ou elimi-nar um determinado recurso. Por exemplo,!Arepresenta que podemos gastar “1€” quantas vezes quisermos. Com este conetivo conseguimos exprimir a noção de verdade que temos na lógica intuicionista, por exemplo, a implicação usualA ⊃ B pode ser interpretada como(!A) ( B.Esta observação é essencial na demonstração de que a lógica intuicionista pode ser mergulhada na lógica linear.

2.4.1 Eliminação do Corte

Para definirmos uma semântica categorial para a lógica linear, vamos precisar de identificar as derivações a menos de uma série de transformações. A maioria destas transformações estão relacionadas com a eliminação do corte para a lógica linear e são essencialmente as mesmas que Melliès define em [Mel09], com uma diferença: não definimos qualquer prioridade na aplicação das transformações. Fizemos esta escolha porque, como veremos na secção 6.1, obtemos melhores propriedades categóricas.

(31)

2.4. LÓGICA LINEAR INTUICIONISTA 19

Definição 22. Dada uma instância da regraCorte π1 .. . Γ|− A π2 .. . Υ1, A, Υ2 |− B Corte Υ1, Γ, Υ2 |− B

a fórmulaAé afórmula de corte, a derivação

π1

.. .

Γ|− A

é apremissa esquerda do corte e a derivação

π2

.. .

Υ1, A, Υ2 |− B

é apremissa direita do corte.

Definição 23. A altura de uma derivação é definida indutivamente como se segue: • Se a derivação for uma axioma então a derivação tem altura 0.

• Se derivação tem alturanentão qualquer derivação obtida a partir desta por uma regra unária tem alturan + 1.

• Se duas derivações tiverem alturasmen,respetivamente, então qualquer derivação obtida a partir destas por uma regra binária tem altura max{n, m}+1,onde max denota o máximo entre men.

Definição 24. Dada uma instância da regraCortenuma derivação a suaaltura de corte, é a soma

das alturas das derivações de cada uma das suas premissas.

Definição 25. O peso de uma fórmulaAé definido indutivamente como se segue • SeAé uma fórmula atómica então o peso deAé0.

• Se a fórmulaAtem pesonentão o peso de!Aén + 1.

• Se as fórmulasAeB tiverem pesosnem,respetivamente, então o peso deA⊗ BeA( B én + m + 1.

(32)

Dada uma derivação existem, potencialmente, várias transformações válidas. As transformação que podemos fazer dependem da última regra de cada uma das premissas do corte. Os casos serão organizados como se segue:

• Pelo menos uma das premissas é um axioma. • A fórmula de corte é ativa numa regra de troca. • A fórmula de corte é principal em ambas as premissas. • A fórmula de corte não é principal na premissa esquerda. • A fórmula de corte não é principal na premissa direita.

Pelo menos uma das premissas é um axioma

Se tivermos como uma das premissas do corte um axioma então simplesmente eliminamos o corte. Mais concreta-mente, uma derivação da forma:

Ax A|− A π .. . Υ1, A, Υ2 |− B Corte Υ1, A, Υ2 |− B é transformada na derivação π .. . Υ1, A, Υ2 |− B

e uma derivação da forma

π .. . Γ|− A A|− A Ax Corte Γ|− A é transformada na derivação π .. . Γ|− A

(33)

2.4. LÓGICA LINEAR INTUICIONISTA 21 A fórmula de corte é ativa numa regra de troca

Se a fórmula de corte for uma das fórmulas ativas numa regra de troca então comutamos o corte com a regra de troca. Mais concretamente, uma derivação da forma:

π1 .. . Γ|− A π2 .. . Υ1, A, B, Υ2 |− C Ex Υ1, B, A, Υ2 |− C Corte Υ1, B, Γ, Υ2 |− C é transformada na derivação π1 .. . Γ|− A π2 .. . Υ1, A, B, Υ2 |− C Corte Υ1, Γ, B, Υ2 |− C MúltiplasEx Υ1, B, Γ, Υ2 |− C

e uma derivação da forma

π1 .. . Γ|− B π2 .. . Υ1, A, B, Υ2 |− C Ex Υ1, B, A, Υ2 |− C Corte Υ1, Γ, A, Υ2 |− C é transformada na derivação π1 .. . Γ|− B π2 .. . Υ1, A, B, Υ2 |− C Corte Υ1, A, Γ, Υ2 |− C MúltiplasEx Υ1, Γ, A, Υ2 |− C

Fórmula de Corte principal em ambas as premissas

Vamos agora tratar da eliminação de corte para derivações da forma π1 .. . Γ|− D π2 .. . Υ1, D, Υ2 |− B Corte Υ1, Γ, Υ2 |− B

onde a fórmulaDé principal à esquerda e à direita.

(34)

• produto tensorial, • implicação linear, • a unidade tensorial,1.

Depois veremos os casos ondeπ1acaba com uma promoção e a última regra deπ2é enfraquecimento, contração

ou renúncia.

CasoD = A⊗ B então temos uma derivação da forma

π1 .. . Γ|− A π2 .. . ∆|− B R⊗ Γ, ∆|− A ⊗ B π3 .. . Υ1, A, B, Υ2 |− C L⊗ Υ1, A⊗ B, Υ2 |− C Corte Υ1, Γ, ∆, Υ2 |− C

Esta é transformada na derivação

π1 .. . Γ|− A π2 .. . ∆|− B π3 .. . Υ1, A, B, Υ2 |− C Corte Υ1, A, ∆, Υ2 |− C Corte Υ1, Γ, ∆, Υ2 |− C

CasoD = A( B então temos uma derivação da forma π1 .. . A, ∆|− B R( ∆|− A ( B π2 .. . Γ|− A π3 .. . Υ1, B, Υ2 |− C L( Υ1, Γ, A( B, Υ2 |− C Corte Υ1, Γ, ∆, Υ2 |− C

Esta é transformada na derivação

π2 .. . Γ|− A π1 .. . A, ∆|− B Corte Γ, ∆|− B π3 .. . Υ1, B, Υ2 |− C Corte Υ1, Γ, ∆, Υ2 |− C

(35)

2.4. LÓGICA LINEAR INTUICIONISTA 23 R1 |− 1 π .. . Υ1, Υ2 |− A L1 Υ1,1, Υ2 |− A Corte Υ1, Υ2 |− A

Esta é transformada na derivação

π .. .

Υ1, Υ2 |− A

CasoD =!Aentão temos uma derivação da forma π1 .. . !Γ|− A R!|−!A π2 .. . Υ1, !A, Υ2 |− B Corte Υ1, !Γ, Υ2 |− B

onde a fórmula!Aé principal na derivaçãoπ2.Temos três casos para tratar, de acordo com a última regra emπ2 :

• renúncia, • enfraquecimento, • contração.

Relembramos que o caso ondeπ2termina com uma regra de troca já foi considerado.

Seπ2termina com uma renúncia então temos uma derivação da forma

π1 .. . !Γ|− A R!|−!A π2 .. . Υ1, A, Υ2 |− B L! Υ1, !A, Υ2 |− B Corte Υ1, !Γ, Υ2 |− B

Esta é transformada na derivação

π1 .. . !Γ|− A π2 .. . Υ1, A, Υ2 |− B Corte Υ1, !Γ, Υ2 |− B

(36)

π1 .. . !Γ|− A R!|−!A π2 .. . Υ1, Υ2 |− B W k Υ1, !A, Υ2 |− B Corte Υ1, !Γ, Υ2 |− B

Esta é transformada na derivação

π2 .. . Υ1, Υ2 |− B MúltiplosW k Υ1, !Γ, Υ2 |− B

Seπ2termina com uma contração então temos uma derivação da forma

π1 .. . !Γ|− A R!|−!A π2 .. . Υ1, !A, !A, Υ2 |− B Ctr Υ1, !A, Υ2 |− B Corte Υ1, !Γ, Υ2 |− B

Esta é transformada na derivação

π1 .. . !Γ|− A R!|−!A π1 .. . !Γ|− A R!|−!A π2 .. . Υ1, !A, !A, Υ2 |− B Corte Υ1, !A, !Γ, Υ2 |− B Corte Υ1, !Γ, !Γ, Υ2 |− B MúltiplasCtreEx Υ1, !Γ, Υ2 |− B

Fórmula de Corte não principal na premissa esquerda Vamos agora tratar da eliminação de corte para derivações da forma

π1 .. . Γ|− D π2 .. . Υ1, D, Υ2 |− B Corte Υ1, Γ, Υ2 |− B

onde a fórmulaDnão é principal à esquerda. A transformação vai depender da última regra emπ1.Temos sete

casos possíveis:

(37)

2.4. LÓGICA LINEAR INTUICIONISTA 25 • renúncia,

• enfraquecimento, • contração, • troca,

• produto tensorial à esquerda, • unidade tensorial à esquerda.

Se a premissa esquerda termina com uma implicação linear à esquerda então temos uma derivação da forma

π1 .. . Γ|− A π2 .. . Υ2, B, Υ3 |− C L( Υ2, Γ, A( B, Υ3 |− C π3 .. . Υ1, C, Υ4 |− D Corte Υ1, Υ2, Γ, A( B, Υ3, Υ4 |− D

Esta é transformada na derivação

π1 .. . Γ|− A π2 .. . Υ2, B, Υ3 |− C π3 .. . Υ1, C, Υ4 |− D Corte Υ1, Υ2, B, Υ3, Υ4 |− D L( Υ1, Υ2, Γ, A( B, Υ3, Υ4 |− D

Os outros seis casos serão tratados simultaneamente. Comecemos por observar que cada uma das regras em questão é da forma

Υ2, Φ, Υ3 |− A

Υ2, Ψ, Υ3 |− A

para certosΦeΨ. A forma deΦeΨdepende de cada uma das regras: • renúncia:Φ = C eΨ =!C,para certa fórmulaC,

• enfraquecimento:Φé vazio eΨ =!C,para certa fórmulaC, • contração:Φ =!C, !C eΨ =!C, para certa fórmulaC, • troca: Φ = C, DeΨ = D, Cpara certas fórmulasC, D,

• produto tensorial à esquerda:Φ = A, BeΨ = A⊗ B,para certas fórmulasAeB, • unidade tensorial à esquerda:Φé vazio eΨ =1.

(38)

Portanto estamos perante uma derivação da forma π1 .. . Υ2, Φ, Υ3 |− A Υ2, Ψ, Υ3 |− A π2 .. . Υ1, A, Υ4 |− B Corte Υ1, Υ2, Ψ, Υ3, Υ4 |− B

ondeé uma das seis regras acima para certosΦeΨapropriados. Esta é transformada na derivação π1 .. . Υ2, Φ, Υ3 |− A π2 .. . Υ1, A, Υ4 |− B Corte Υ1, Υ2, Φ, Υ3, Υ4 |− B Υ1, Υ2, Ψ, Υ3, Υ4 |− B

Fórmula de Corte não principal na premissa direita

Vamos agora tratar da eliminação de corte para derivações da forma π1 .. . Γ|− D π2 .. . Υ1, D, Υ2 |− B Corte Υ1, Γ, Υ2 |− B

onde a fórmulaDnão é principal emπ2. A transformação vai depender da última regra emπ2.Temos dez casos

possíveis:

• produto tensorial à direita, • implicação linear à direita, • implicação linear à esquerda, • promoção,

• renúncia, • enfraquecimento, • contração, • troca,

• produto tensorial à esquerda, • unidade tensorial à esquerda.

(39)

2.4. LÓGICA LINEAR INTUICIONISTA 27 Se a última regra da premissa direita for produto tensorial à direita então dois tipos de derivação são possíveis. Se a derivação for da forma

π1 .. . Γ|− A π2 .. . Υ1, A, Υ2 |− B π3 .. . ∆|− C R⊗ Υ1, A, Υ2, ∆|− B ⊗ C Corte Υ1, Γ, Υ2, ∆|− B ⊗ C

então esta é transformada na derivação π1 .. . Γ|− A π2 .. . Υ1, A, Υ2 |− B Corte Υ1, Γ, Υ2 |− B π3 .. . ∆|− C R⊗ Υ1, Γ, Υ2, ∆|− C

Se a derivação for da forma π1 .. . Γ|− A π2 .. . ∆|− B π3 .. . Υ1, A, Υ2 |− C R⊗ ∆, Υ1, A, Υ2 |− B ⊗ C Corte ∆, Υ1, Γ, Υ2 |− B ⊗ C

então esta é transformada na derivação π2 .. . ∆|− B π1 .. . Γ|− A π3 .. . Υ1, A, Υ2 |− C Corte Υ1, Γ, Υ2 |− C R⊗ ∆, Υ1, Γ, Υ2 |− B ⊗ C

Se a última regra da premissa direita for implicação linear à direta então a derivação é da forma π1 .. . Γ|− A π2 .. . B, Υ1, A, Υ2 |− C R ( Υ1, A, Υ2 |− B ( C Corte Υ1, Γ, Υ2,|− B ( C

Esta é transformada na derivação π1 .. . Γ|− A π2 .. . B, Υ1, A, Υ2 |− C Corte B, Υ1, Γ, Υ2 |− C R ( Υ1, Γ, Υ2,|− B ( C

(40)

Se a última regra da premissa direita for implicação linear à esquerda então três tipos de derivação são possíveis. Se a derivação for da forma

π1 .. . Γ|− A π2 .. . Υ2, A, Υ3 |− B π3 .. . Υ1, C, Υ4 |− D L( Υ1, Υ2, A, Υ3, B ( C, Υ4 |− D Corte Υ1, Υ2, Γ, Υ3, B ( C, Υ4 |− D

então esta é transformada na derivação π1 .. . Γ|− A π2 .. . Υ2, A, Υ3 |− B Corte Υ2, Γ, Υ3 |− B π3 .. . Υ1, C, Υ4 |− D L( Υ1, Υ2, Γ, Υ3, B ( C, Υ4 |− D

Se a derivação for da forma

π1 .. . Γ|− A π2 .. . Υ3 |− B π3 .. . Υ1, A, Υ2, C, Υ4 |− D L( Υ1, A, Υ2, Υ3, B ( C, Υ4 |− D Corte Υ1, Γ, Υ2, Υ3, B ( C, Υ4 |− D

então esta é transformada na derivação

π2 .. . Υ3 |− B π1 .. . Γ|− A π3 .. . Υ1, A, Υ2, C, Υ4 |− D Corte Υ1, Γ, Υ2, C, Υ4 |− D L( Υ1, Γ, Υ2, Υ3, B ( C, Υ4 |− D

Se a derivação for da forma

π1 .. . Γ|− A π2 .. . Υ2 |− B π3 .. . Υ1, C, Υ3, A, Υ4 |− D L( Υ1, Υ2, B ( C, Υ3, A, Υ4 |− D Corte Υ1, Υ2, B ( C, Υ3, Γ, Υ4 |− D

então esta é transformada na derivação

π2 .. . Υ2 |− B π1 .. . Γ|− A π3 .. . Υ1, C, Υ3, A, Υ4 |− D Corte Υ1, C, Υ3, Γ, Υ4 |− D L( Υ1, Υ2, B ( C, Υ3, Γ, Υ4 |− D

(41)

2.4. LÓGICA LINEAR INTUICIONISTA 29 Se a última regra da premissa direita for uma promoção então a derivação é da forma

π1 .. . !Γ|−!D π2 .. . !Υ1, !D, !Υ2 |− B R! !Υ1, !D, !Υ2 |−!B Corte !Υ1, !Γ, !Υ2 |−!B

Esta é transformada na derivação

π1 .. . !Γ|−!D π2 .. . !Υ1, !D, !Υ2 |− B Corte !Υ1, !Γ, !Υ2 |− B R! !Υ1, !Γ, !Υ2 |−!B

Os outros seis casos podem serão tratados simultaneamente. Comecemos por observar que cada uma das regras em questão é da forma

Υ2, Φ, Υ3 |− A

Υ2, Ψ, Υ3 |− A

para certosΦeΨ. A forma deΦeΨdepende de cada uma das regras: • renúnciaΦ = CeΨ =!C,para certa fórmulaC,

• enfraquecimento:Φé vazio eΨ =!C,para certa fórmulaC, • contração:Φ =!C, !C eΨ =!C, para certa fórmulaC, • troca: Φ = C, DeΨ = D, Cpara certas fórmulasC, D,

• produto tensorial à esquerda:Φ = A, BeΨ = A⊗ B,para certas fórmulasAeB, • unidade tensorial à esquerda:Φé vazio eΨ =1.

Portanto estamos perante uma derivação da forma

π1 .. . Γ|− A π2 .. . Υ1, A, Υ2, Φ, Υ3 |− B Υ1, A, Υ2, Ψ, Υ3 |− B Corte Υ1, Γ, Υ2, Ψ, Υ3 |− B ou

(42)

π1 .. . Γ|− A π2 .. . Υ1, Φ, Υ2, A, Υ3 |− B Υ1, Ψ, Υ2, A, Υ3 |− B Corte Υ1, Γ, Υ2, Ψ, Υ3 |− B

ondeé uma das seis regras acima para certosΦeΨapropriados. Se a derivação for da forma

π1 .. . Γ|− A π2 .. . Υ1, A, Υ2, Φ, Υ3 |− B Υ1, A, Υ2, Ψ, Υ3 |− B Corte Υ1, Γ, Υ2, Ψ, Υ3 |− B

então é transformada na derivação π1 .. . Γ|− A π2 .. . Υ1, A, Υ2, Φ, Υ3 |− B Corte Υ1, Γ, Υ2, Φ, Υ3 |− B Υ1, Γ, Υ2, Ψ, Υ3 |− B

Por último, se a derivação for da forma

π1 .. . Γ|− A π2 .. . Υ1, Φ, Υ2, A, Υ3 |− B Υ1, Ψ, Υ2, A, Υ3 |− B Corte Υ1, Ψ, Υ2, Γ, Υ3 |− B

então é transformada na derivação π1 .. . Γ|− A π2 .. . Υ1, Φ, Υ2, A, Υ3 |− B Corte Υ1, Φ, Υ2, Γ, Υ3 |− B Υ1, Ψ, Υ2, Γ, Υ3 |− B

2.4.2 Uma palavra sobre terminação

Não precisamos de descrever um processo para a eliminação de corte e mostrar a sua terminação, visto que só estamos interessados nas transformações. Na secção 6.1 utilizaremos estas transformações para definir uma relação de equivalência.

É fácil ver que todas as regras descritas acima, com a importante exceção do casoR!vsCtr(Pág. 24) , reduzem o peso da fórmula de corte ou reduzem a altura do corte sem aumentar o peso da fórmula de corte e portanto o típico argumento indutivo para a eliminação do corte funciona em todos esses casos.

(43)

Capítulo 3

Introdução à Teoria das Categorias

Categorias, functores, transformações naturais e limites surgiram simultaneamente num artigo por Saunders MacLane e Samuel Eilenberg [ME45] em 1945 com o objetivo de exprimir a naturalidade de certas construções na topologia algébrica. Apesar destes conceitos originalmente serem vistos como pouco mais do que uma linguagem conveniente, foram utilizados em (essencialmente) todos os ramos da matemática, levando em muitos casos a um entendimento mais profundo.

A ideia fundamental por trás da teoria das categoria é que as relações (morfismos) entre objetos são tão importante quanto os próprios objetos. Isto motiva a definição de categoria como uma entidade matemática constituída por duas classes: uma classe de objetos e uma classe de morfismos entre os objetos. A categoria deve ainda estar munida de uma regra de composição de morfismos associativa e uma certo morfismo identidade para cada objeto, que se deve comportar da forma esperada.

Vamos apenas introduzir os conceitos categóricos necessários para a semântica categorial que definiremos mais à frente. Para uma exposição mais completa da teoria das categorias sugerimos os clássicos [Bor94a], [Bor94b] e [Lan98].

3.1 Categorias

Definição 26 (Grafo). Um grafo é um par de classes: uma classe de arestas e uma classe de vértices munido de duas funções:

dom :{classe das arestas} → {classe dos vértices} e

cod :{classe das arestas} → {classe dos vértices}.

EscrevemosA→ Bf ouf : A→ Bsef for uma aresta, dom(f ) = Ae cod(f ) = B.

Definição 27 (Categoria). Uma categoriaCé um grafo, cujos vértices são chamadosobjetos e cujas

arestas são chamadasmorfismos, munido de:

(44)

• um morfismoidentidade para cada objetoA A−→ A1A

• uma operação binária parcialmente definida sobre os morfismos, chamadacomposição:

A−→ Bf B −→ Cg A−→ Cgf

(definida apenas quando dom(g) =cod(f ))que satisfaz as seguintes equações: f 1A= f = 1Bf,ondeA

f −→ B,

h(gf ) = (hg)f,ondeA−→ Bf −→ Cg −→ D.h

Escrevemos Ob(C)e Mor(C) para designar a classe dos objetos de C e a classe dos morfismos de C, res-petivamente. Vamos denotar a classe dos morfismos A → B na categoria C por C(A, B), para quaisquer A, B Ob(C).

Uma categoria épequena se a classe dos seus objetos for um conjunto. Uma categoria é grande se a classe dos seus objetos for uma classe própria. Uma categoria é localmente pequena se a classeC(A, B) for um conjunto para quaisquer objetosAeB.

Muitas estruturas matemáticas podem ser vistas como categorias. Vejamos alguns exemplos.

Set: Esta categoria tem todos os conjuntos como objetos e todas as funções como morfismos. Os morfismos identidade e a composição de morfismos são definidos da forma usual.

Graph: Esta categoria tem como objetos os grafos e como morfismosG1 → G2 os pares(Fver, Far)onde

Fver:{classe dos vértices deG1} → {classe dos vértices deG2}

e

Far :{classe das arestas deG1} → {classe das arestas deG2}

de forma a que seA−→ Bf for uma aresta emG1 então

FverA

Far(f )

−→ FverB

também é uma aresta emG2. Os morfismos identidade e a composição de morfismos são definidos da

forma usual.

Rel: Esta categoria tem os mesmos objetos queSetmas os morfismosR : A → B são as relaçõesR A× B.A composição é dada peloproduto relacional: seA−→ BR −→ CS então

SR : A → C = {(a, c) ∈ A × C | ∃b ∈ Btal que(a, b)∈ Re(b, c)∈ S}.

(45)

3.1. CATEGORIAS 33 VecK: Nesta categoria os objetos são os espaços vetoriais sobre o corpoKe os morfismos são as aplicações lineares.

Os morfismos identidade e a composição são definidos da forma usual.

Top: Aqui os objetos são os espaços topológicos e os morfismos são as funções contínuas. As identidades e a composição são definidas da forma usual.

Man: Aqui os objetos são as variedades diferenciáveis e os morfismos são as aplicações diferenciáveis. As identida-des e a composição são definidas da forma usual.

Todos os exemplos acima são categorias grandes. Deixamos ainda alguns exemplos de categorias pequenas que serão úteis na construção de exemplos para conceitos que introduziremos no futuro.

{∗}: A categoria apenas com um único objeto e um único morfismo.

Pré-ordens: Dada uma pré-ordemP = (P, ≤),(ou seja, é uma relação reflexiva e transitiva sobre P) podemos considerá-la como uma categoria cujos objetos são os elementos deP e cada classeP(A, B)é singular sea ≤ be vazia sea ̸≤ b. O morfismo identidade idAé o único elemento deP(A, A), que existe pela reflexividade da relação. Dados dois morfismos pertencentes aP(A, B)eP(B, C),respetivamente, a sua composição é o único morfismo deP(A, C),que existe pela transitividade da relação.

Monóides: Dado um monóideMpodemos construir a seguinte categoriaCMcomo se segue: A categoria tem um único objeto∗.Definimos CM(∗, ∗) = M. A composição é simplesmente a operação do monóide. Por outro lado, qualquer categoriaC com apenas um objeto, corresponde a um monóide: C(∗, ∗),onde a operação é dada pela composição de morfismos.

Dada uma categoria existem vários processos para construirmos novas categorias. Vejamos uns exemplos ele-mentares.

Definição 28 (Categoria Dual). SejaC uma categoria. A categoriadual deC,Cop,é definida como se

segue:

Coptem os mesmos objetos queC.

• os morfismos deCopsão os morfismosfopque são obtidos invertendo o domínio e o

contradomí-nio de cada morfismof deC.Por outras palavras, temos uma bijeçãof 7→ fopque leva cada f : A→ B emfop: B → A.

A composiçãofopgop = (gf )opestá definida precisamente quandogf está definida emC.

É fácil ver que(Cop)op = C. Também é fácil estabelecer que invertendo todos os morfismos num diagrama

comutativo emCobtemos um diagrama comutativo emCop.

Definição 29 (Produto de Categorias). Sejam C eD duas categorias. A categoriaproduto de C eD, C × D,é definida como se segue:

Referências

Documentos relacionados

Nesse sentido, o livro de Mary Del Priori Sobreviventes e guerreiras: Uma breve história da mulher no Brasil de 1500 a 2000 convida seus leitores a refletir sobre a história

Lógica de programação é a forma como você organiza qual passo você deve dar em cada momento para realizar a ação que você deseja.. Em outras palavras, você vai aprender

[...] uma sentença tal como “Ou é dia ou é noite” <é chamada de> asserível disjuntivo pelos filósofos mais novos e premissa hipo- tética por divisão pelos antigos.

Ao lidar com o conhecimento e a sua “lógica” não estamos a funcionar num domínio de total abstração (como seria o caso na lógica teórica ou matemática “pura”);

Interpreta¸ c˜ ao Seja Σ = (OP, R) uma assinatura para a l´ ogica de predicados.. A Id´ eia de um Ambiente para Vari´ aveis Livres.

• The definition of the concept of the project’s area of indirect influence should consider the area affected by changes in economic, social and environmental dynamics induced

Nas leituras de falhas efetuadas, foram obtidos códigos de anomalia por meio de dois diferentes protocolos de comunicação: o ISO 14230 KWP (2000) e o ISO 15765-4 CAN. A seguir, no

O objetivo deste artigo é conceituar esta lógica de acordo com seus termos, sua teoria de conjuntos e operações, variáveis linguísticas e funções de pertinência, bem