• 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

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

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

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

• 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