• Aucun résultat trouvé

L’equivalence de Curry Howard en logique lineaire

N/A
N/A
Protected

Academic year: 2022

Partager "L’equivalence de Curry Howard en logique lineaire"

Copied!
22
0
0

Texte intégral

(1)

L’equivalence de Curry Howard en logique lineaire

David Salinas

14 f´evrier 2010

(2)

Sommaire

Isomorphisme classique de Curry-Howard La logique intuitioniste NJ

Construction de l’equivalence de Curry Howard Propriete fondamentale

L’isomorphisme lineaire de Curry Howard La logique intuitionniste lineaire Leλcalcul lineaire

L’isomorphisme lineaire de Curry-Howard Interpretation

(3)

Logique intuitioniste

La syntaxe

I Enonces de la forme suivante :

p::=α | ⊥ |p ⇒p |p∩p |p∪p

(4)

Logique intuitioniste

Les regles

(5)

Equivalence de Curry Howard

Donnez une preuve, je vous donnerai un programme et reciproquement

I On remplace ∆ =p1, ...,pn par ∆ =x1:p1, ...,xn:pn ou les xi sont des variables distinctes

I on annote les noeuds

On obtient des temoins de preuves de la forme t,u,v =x |λxp.t |(t u)

(6)

Equivalence de Curry Howard

Elimination des coupures etβreduction

(7)

Equivalence de Curry Howard...

... expliquee en un tableau

logique en deduction naturelle λ−calcul a la Church

formule type

derivation λ−terme

conclusion type du terme

regle hypothese variable

introduction de ⇒ λ−abstraction elimination de⇒ application

coupure (sur⇒) β−redex

(8)

Equivalence de Curry Howard

Propriete fondamentale

Theoreme

Si ∆`t:p alors t est confluent et fortement normalisant

Forme des formes normales

Elles sont engendrees par la grammaire

n:=x |λp.n |(x n1 ...nk)

(9)

Plan

Isomorphisme classique de Curry-Howard

L’isomorphisme lineaire de Curry Howard La logique intuitionniste lineaire Leλcalcul lineaire

L’isomorphisme lineaire de Curry-Howard Interpretation

(10)

La logique intuitionniste lineaire

I On a vu en cours la logique intuitionniste classique

I La logique lineaire intuitioniste a les memes regles sauf que l’on s’autorise une seule formule a droite du sequent dans les regles

(11)

La logique intuitionniste lineaire

Les regles

(12)

Le λ − calcul lineaire

Les types

I Ils sont donnes par la grammaire suivante : s ::=I |s ⊗ s |s ( s |!s

(13)

Le λ − calcul lineaire

Les termes

I Ils sont donnes par la grammaire suivante : t ::= x | ∗ | let t be ∗ in t |t⊗ t |

let t be x⊗y in t|λA.t|t t|promote t, ...,t for x1, ...,xnin t| derelict(t) |discard t in t |copy t as x,y in t

(14)

Le λ − calcul lineaire

Les variables libres

I Pour un terme u, on definit FV(u) par induction comme suit :

I FV(x) ={x}

I FV(∗) =

I FV(let w be in u) =FV(w)FV(u)

I FV(uv) =FV(u)FV(v)

I FV(let w be xy in u) =FV(w)FV(u)− {x,y}

I FV(λx.u) =FV(u)− {x}

I FV(f u) =FV(f)FV(u)

I FV(promote v1, ...,vnfor x1, ...,xnin u) =FV(v1)∪...∪FV(vn)

I FV(derelict(u)) =FV(u)

I FV(discard w in u) =FV(w)FV(u)

I FV(copy w as x,y in u) =FV(w)FV(u)− {x,y}

(15)

Le λ − calcul lineaire

Les regles de typage

(16)

Le λ − calcul lineaire

Les regles de typage

(17)

Le λ − calcul lineaire

Quelques notations

I copy w1 as x1,y1 in (...copywn as xn,yn in u...)→ copy ¯w as

¯ x,¯y in u

I discard w1 in (... discard wn in u ...)→ discard ¯w in u

(18)

Le λ − calcul lineaire

Les regles deβreduction

(19)

Le λ − calcul lineaire

Les regles deβreduction

(20)

Le λ − calcul lineaire

Proprietes

Prop

x1 :A1, ...,xn:An`u:A⇒FV(u) ={x1, ...,xn} Ce qui n’est pas toujours vrai enλ−calcul...

I N. Benton. a montre que leλ−calcul lineaire est fortement normalise et verifie la propriete de Church-Rosser (en utilisant une reduction conservant des bonnes proprietes dans le systeme F) (1993)

I Avec le lemme de Konig, cela implique que tous les termes sont bornes

(21)

L’isomorphisme de Curry-Howard

I Il relie le λ−calcul lineaire a la logique intuitioniste lineaire

I Construction tres symetrique a l’isomorphisme de CH entre le lambda calcul et la logique intuitioniste

(22)

L’isomorphisme de Curry-Howard

I Que signifie A(B?

I On peut prouver B en utilisant A une seule fois...

I Et pour un programme ?

I P est de typeA(B si P prend une entree de type A une seule fois, et rend quelqu’un de type B (on peut dire qu’il consume son entree lors du calcul)

I Et ¯A?

I En preuve ?

I Un programme P de type ¯Autilise lineairement son entree

Références

Documents relatifs

logic focuses on propositions (types) type theory focuses on programs (proofs). non-trivial type systems allow non-terminating programs such terms can be

• La 1 ère annuité, en cas d’acquisition en cours d’exercice, se calcule proportionnellement au nombre de jours écoulés entre la mise en service et la clôture de l’exercice

C’est que la correspondance de Curry-Howard ne donne un programme à partir d’une preuve qu’en logique pure c’est-à-dire sans axiome.. Il faut la compléter par des

Une preuve en logique intuitionniste du second ordre fournit un programme écrit en λ-calcul.. Griffin découvre l’interprétation de la loi de Peirce par l’instruction call/cc

Johanne a trouvé du travail en tant que baby-sitter. Elle gagne 8€ par heure de garde. Soit le nombre d’heures de garde que fait Johanne.. 1) Déterminer la fonction G

Indiquez si les fonctions proposées sont linéaires. Précisez alors

2) Déterminer la fonction linéaire dont la représentation graphique est la droite &. 3) Calculer −2 et vérifier le résultat sur le graphique (faites apparaître les

Le montant de la TVA à taux réduit est de 7%. 1) Traduire ces données par une fonction puis prouver que la fonction est linéaire 2) Calculer le prix TTC d’un objet dont le prix HT