73
Réalisabilité classique Une introduction Aloïs Brunel Vérité et Preuves - 11 Mars 2011

Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Réalisabilité classiqueUne introduction

Aloïs Brunel

Vérité et Preuves - 11 Mars 2011

Page 2: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Introduction

Sommaire

1 Introduction

2 La réalisabilité classique

3 Modèles et vérité subjective

2 / 30Réalisabilité classique

N

Page 3: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La correction vis-à-vis du typage assure certaines propriétés :

La terminaison des programmes

Des bornes sur la complexité des programmes (logiques allégées)

. . .

Certains programmes sans être typables sont corrects vis-à-visde l’ exécution :

let fonction = fun n =>if n+1=0 then 16

else true

Le terme fonction a moralement le type Nat ⇒ Bool

1 / 30Réalisabilité classique

N

Page 4: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La correction vis-à-vis du typage assure certaines propriétés :

La terminaison des programmes

Des bornes sur la complexité des programmes (logiques allégées)

. . .

Certains programmes sans être typables sont corrects vis-à-visde l’ exécution :

let fonction = fun n =>if n+1=0 then 16

else true

Le terme fonction a moralement le type Nat ⇒ Bool

1 / 30Réalisabilité classique

N

Page 5: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La correspondance preuves-programmes

Logique implicative minimale ↔ λ-calcul simplement typéArithmétique d’ordre supérieur ↔ système Fω

. . .

Griffin, 90 : pour l’étendre à la logique classique (tiers exclu ouformule de Peirce), on a besoin d’une nouvelle instruction : call-cc.

De manière générale, pour habiter de nouveaux axiomes il faut denouveaux programmes.

2 / 30Réalisabilité classique

N

Page 6: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La correspondance preuves-programmes

Logique implicative minimale ↔ λ-calcul simplement typéArithmétique d’ordre supérieur ↔ système Fω

. . .

Griffin, 90 : pour l’étendre à la logique classique (tiers exclu ouformule de Peirce), on a besoin d’une nouvelle instruction : call-cc.

De manière générale, pour habiter de nouveaux axiomes il faut denouveaux programmes.

2 / 30Réalisabilité classique

N

Page 7: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La correspondance preuves-programmes

Logique implicative minimale ↔ λ-calcul simplement typéArithmétique d’ordre supérieur ↔ système Fω

. . .

Griffin, 90 : pour l’étendre à la logique classique (tiers exclu ouformule de Peirce), on a besoin d’une nouvelle instruction : call-cc.

De manière générale, pour habiter de nouveaux axiomes il faut denouveaux programmes.

2 / 30Réalisabilité classique

N

Page 8: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Krivine introduit la réalisabilité classique (2000-2010), uneméthode sémantique qui permet :

de prouver des propriétés calculatoires des programmes typés

d’étudier les extensions de la correspondance preuve/programme

de fournir des nouveaux modèles de ZF+Axiomes variés

3 / 30Réalisabilité classique

N

Page 9: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Introduction

Les 4 sous-sols fondationnels de Girard

-1 Aléthique Notion de vérité (vrai/faux), cohérence, ...Algèbres de Boole, Espaces de phase

-2 Catégorique MorphismesEspaces cohérents

-3 Dynamique Notion d’interactivité, gagnants et perdantsJeux, vieille réalisabilité, dialectica de Gödel

-4 Déontique De l’interaction, pas de règle du jeu à prioriLudique, GdI

Réalisabilité classique

4 / 30Réalisabilité classique

N

Page 10: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Introduction

Les 4 sous-sols fondationnels de Girard

-1 Aléthique Notion de vérité (vrai/faux), cohérence, ...Algèbres de Boole, Espaces de phase

-2 Catégorique MorphismesEspaces cohérents

-3 Dynamique Notion d’interactivité, gagnants et perdantsJeux, vieille réalisabilité, dialectica de Gödel

-4 Déontique De l’interaction, pas de règle du jeu à prioriLudique, GdI

Réalisabilité classique

4 / 30Réalisabilité classique

N

Page 11: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Introduction

Les 4 sous-sols fondationnels de Girard

-1 Aléthique Notion de vérité (vrai/faux), cohérence, ...Algèbres de Boole, Espaces de phase

-2 Catégorique MorphismesEspaces cohérents

-3 Dynamique Notion d’interactivité, gagnants et perdantsJeux, vieille réalisabilité, dialectica de Gödel

-4 Déontique De l’interaction, pas de règle du jeu à prioriLudique, GdI

Réalisabilité classique

4 / 30Réalisabilité classique

N

Page 12: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Introduction

Les 4 sous-sols fondationnels de Girard

-1 Aléthique Notion de vérité (vrai/faux), cohérence, ...Algèbres de Boole, Espaces de phase

-2 Catégorique MorphismesEspaces cohérents

-3 Dynamique Notion d’interactivité, gagnants et perdantsJeux, vieille réalisabilité, dialectica de Gödel

-4 Déontique De l’interaction, pas de règle du jeu à prioriLudique, GdI

Réalisabilité classique

4 / 30Réalisabilité classique

N

Page 13: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Introduction

Les 4 sous-sols fondationnels de Girard

-1 Aléthique Notion de vérité (vrai/faux), cohérence, ...Algèbres de Boole, Espaces de phase

-2 Catégorique MorphismesEspaces cohérents

-3 Dynamique Notion d’interactivité, gagnants et perdantsJeux, vieille réalisabilité, dialectica de Gödel

-4 Déontique De l’interaction, pas de règle du jeu à prioriLudique, GdI

Réalisabilité classique

4 / 30Réalisabilité classique

N

Page 14: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Sommaire

1 Introduction

2 La réalisabilité classique

3 Modèles et vérité subjective

5 / 30Réalisabilité classique

N

Page 15: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

le λc-calcul (1/2)

Syntaxe

Termes t , u ::= x | λx.t | (t)u | . . .

Piles π ::= | u.π (avec u clos)Processus p ::= t ? π (avec t clos)

On peut (et on va) ajouter d’autres instructions.

Evaluation

(Push) (t)u ? π t ? u.π(Grab) λx.t ? u.π tu/x ? π

. . .

6 / 30Réalisabilité classique

N

Page 16: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

le λc-calcul (1/2)

Syntaxe

Termes t , u ::= x | λx.t | (t)u | . . .

Piles π ::= | u.π (avec u clos)Processus p ::= t ? π (avec t clos)

On peut (et on va) ajouter d’autres instructions.

Evaluation

(Push) (t)u ? π t ? u.π(Grab) λx.t ? u.π tu/x ? π

. . .

6 / 30Réalisabilité classique

N

Page 17: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

le λc-calcul (2/2) - Extensions

On peut rajouter les continuations.

Termes t , u ::= . . . | cc | kπ

Les règles de réductions correspondantes :

(Save) cc ? t .π t ? kπ.π(Resume) kπ ? t .π′ t ? π

7 / 30Réalisabilité classique

N

Page 18: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

le λc-calcul (2/2) - Extensions

Ou bien le non-déterminisme

Termes t , u ::= . . . | cc | kπ | Ψ

Les règles de réductions correspondantes :

(Ψ0) Ψ ? t .u.π t ? π(Ψ1) Ψ ? t .u.π u ? π

7 / 30Réalisabilité classique

N

Page 19: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

le λc-calcul (2/2) - Extensions

Ou encore l’instruction quote

Termes t , u ::= . . . | cc | kπ | Ψ | χ

La règle de réduction (ici t 7→ nt est une injection quelconque) :

(Quote) χ ? t .π t ? nt .π

7 / 30Réalisabilité classique

N

Page 20: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Point de vue, orthogonalité

On choisit y ⊂ Λ ? Π, appelé point de vue (ou pôle, ouobservable), tel que :

t ? π ∈ y ∧ (t ′ ? π′ t ? π)⇒ (t ′ ? π′ ∈ y)

Le point de vue définit la correction calculatoire, par exemple :

y = p | p termine (candidats de réductibilité)

y = p | p ne termine pas

Un point de vue induit une notion d’orthogonalité :

t⊥π ssi t ? π ∈ y X⊥ = π ∈ Π | ∀t ∈ X , t⊥π

8 / 30Réalisabilité classique

N

Page 21: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Point de vue, orthogonalité

On choisit y ⊂ Λ ? Π, appelé point de vue (ou pôle, ouobservable), tel que :

t ? π ∈ y ∧ (t ′ ? π′ t ? π)⇒ (t ′ ? π′ ∈ y)

Le point de vue définit la correction calculatoire, par exemple :

y = p | p termine (candidats de réductibilité)

y = p | p ne termine pas

Un point de vue induit une notion d’orthogonalité :

t⊥π ssi t ? π ∈ y X⊥ = π ∈ Π | ∀t ∈ X , t⊥π

8 / 30Réalisabilité classique

N

Page 22: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Point de vue, orthogonalité

On choisit y ⊂ Λ ? Π, appelé point de vue (ou pôle, ouobservable), tel que :

t ? π ∈ y ∧ (t ′ ? π′ t ? π)⇒ (t ′ ? π′ ∈ y)

Le point de vue définit la correction calculatoire, par exemple :

y = p | p termine (candidats de réductibilité)

y = p | p ne termine pas

Un point de vue induit une notion d’orthogonalité :

t⊥π ssi t ? π ∈ y X⊥ = π ∈ Π | ∀t ∈ X , t⊥π

8 / 30Réalisabilité classique

N

Page 23: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On a les propriétés suivantes :

X ⊆ X⊥⊥

X ⊆ Y implique Y⊥ ⊆ X⊥

X⊥ = X⊥⊥⊥

Comportement

On dit qu’un ensemble X de termes ou de piles est un com-portement si X = X⊥⊥.

Si X est un comportement alors

t ∈ X ⇐⇒ ∀π ∈ X⊥, t ? π ∈ y

Les comportements sont clos par ∩ mais pas par ∪.

9 / 30Réalisabilité classique

N

Page 24: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On a les propriétés suivantes :

X ⊆ X⊥⊥

X ⊆ Y implique Y⊥ ⊆ X⊥

X⊥ = X⊥⊥⊥

Comportement

On dit qu’un ensemble X de termes ou de piles est un com-portement si X = X⊥⊥.

Si X est un comportement alors

t ∈ X ⇐⇒ ∀π ∈ X⊥, t ? π ∈ y

Les comportements sont clos par ∩ mais pas par ∪.

9 / 30Réalisabilité classique

N

Page 25: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Interprétation

Une formule est un type interactif, c.a.d un comportement. Onassocie donc à A un comportement |A |.

On dira que t réalise A et on note t A ssi t ∈ |A |, i.e :

∀π, π ∈ |A |⊥ ⇒ t⊥π

Un type A vient avec les arguments |A | et les tests |A |⊥ : les deuxensembles sont inséparables.

10 / 30Réalisabilité classique

N

Page 26: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Interprétation

Une formule est un type interactif, c.a.d un comportement. Onassocie donc à A un comportement |A |.

On dira que t réalise A et on note t A ssi t ∈ |A |, i.e :

∀π, π ∈ |A |⊥ ⇒ t⊥π

Un type A vient avec les arguments |A | et les tests |A |⊥ : les deuxensembles sont inséparables.

10 / 30Réalisabilité classique

N

Page 27: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Interprétation

Une formule est un type interactif, c.a.d un comportement. Onassocie donc à A un comportement |A |.

On dira que t réalise A et on note t A ssi t ∈ |A |, i.e :

∀π, π ∈ |A |⊥ ⇒ t⊥π

Un type A vient avec les arguments |A | et les tests |A |⊥ : les deuxensembles sont inséparables.

10 / 30Réalisabilité classique

N

Page 28: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Arithmétique du second ordre

Langagee ::= x | f(e1, . . . , en) (f primitive récursive)

A ,B ::= X(e1, . . . , ek ) | A ⇒ B | ∀x.A | ∀X .A

On peut coder les autres formules à partir de ce langage :

⊥ ≡ ∀X .X

A ∧ B ≡ ∀X .(A ⇒ B ⇒ X)⇒ X

¬A ≡ A ⇒ ⊥

∃X .A(X) ≡ ∀Z(∀X(A(X)⇒ Z)⇒ Z)

11 / 30Réalisabilité classique

N

Page 29: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On se donne :

un point de vue y

un modèle N de départ (par exemple N)

une valuation φ (transforme un ensemble N → 0, 1 en unefonction N → X | X⊥⊥ = X ).

|X(e1, . . . , en)|φ = Φ(X)(Val(e1)φ, . . . ,Val(en)φ)

|A ⇒ B |φ = (|A |.|B |⊥)⊥

|∀x.A |φ =⋂n∈N

|A |φ[x←n]

|∀X .A |φ =⋂

F:Nk−→D

|A |φ[X←F]

12 / 30Réalisabilité classique

N

Page 30: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On se donne :

un point de vue y

un modèle N de départ (par exemple N)

une valuation φ (transforme un ensemble N → 0, 1 en unefonction N → X | X⊥⊥ = X ).

|X(e1, . . . , en)|φ = Φ(X)(Val(e1)φ, . . . ,Val(en)φ)

|A ⇒ B |φ = (|A |.|B |⊥)⊥

|∀x.A |φ =⋂n∈N

|A |φ[x←n]

|∀X .A |φ =⋂

F:Nk−→D

|A |φ[X←F]

12 / 30Réalisabilité classique

N

Page 31: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Remarques

Si t A ⇒ B et u A , alors (t)u B en effet si π ∈ |B |⊥ :

(t)u ? π t ? u.π or u.π ∈ (|A |.|B |⊥)

|⊥| =⋂

F F = ∅ = Π⊥

t ¬A ssi pour tout π et u A , t ? u.π ∈ y.

Il y a des tricheurs :

si t ? π ∈ y alors (kπ)t ? π′ ∗ t ? π et donc (kπ)t ⊥

On dira que t est une quasi-preuve (QP) si t ne contient aucun kπ.

13 / 30Réalisabilité classique

N

Page 32: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Remarques

Si t A ⇒ B et u A , alors (t)u B en effet si π ∈ |B |⊥ :

(t)u ? π t ? u.π or u.π ∈ (|A |.|B |⊥)

|⊥| =⋂

F F = ∅ = Π⊥

t ¬A ssi pour tout π et u A , t ? u.π ∈ y.

Il y a des tricheurs :

si t ? π ∈ y alors (kπ)t ? π′ ∗ t ? π et donc (kπ)t ⊥

On dira que t est une quasi-preuve (QP) si t ne contient aucun kπ.

13 / 30Réalisabilité classique

N

Page 33: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Remarques

Si t A ⇒ B et u A , alors (t)u B en effet si π ∈ |B |⊥ :

(t)u ? π t ? u.π or u.π ∈ (|A |.|B |⊥)

|⊥| =⋂

F F = ∅ = Π⊥

t ¬A ssi pour tout π et u A , t ? u.π ∈ y.

Il y a des tricheurs :

si t ? π ∈ y alors (kπ)t ? π′ ∗ t ? π et donc (kπ)t ⊥

On dira que t est une quasi-preuve (QP) si t ne contient aucun kπ.

13 / 30Réalisabilité classique

N

Page 34: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Remarques

Si t A ⇒ B et u A , alors (t)u B en effet si π ∈ |B |⊥ :

(t)u ? π t ? u.π or u.π ∈ (|A |.|B |⊥)

|⊥| =⋂

F F = ∅ = Π⊥

t ¬A ssi pour tout π et u A , t ? u.π ∈ y.

Il y a des tricheurs :

si t ? π ∈ y alors (kπ)t ? π′ ∗ t ? π et donc (kπ)t ⊥

On dira que t est une quasi-preuve (QP) si t ne contient aucun kπ.

13 / 30Réalisabilité classique

N

Page 35: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Adéquation

Si ` t : A alors pour tout point de vue y on a t A .

Lien typage =⇒ calcul

Remarque 1 (importante) : ce théorème reste vrai même si onajoute de nouvelles instructions au langage.

Remarque 2 (très importante) : si pour tout y, t A , alors dupoint de vue calculatoire ` t : A est un axiome valable !

14 / 30Réalisabilité classique

N

Page 36: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Adéquation : applications

Spécification 1

Si ` t : ∀X .(X ⇒ X) alors t ≈ λx.x.

Bool(x) ≡ ∀P.(P(0)⇒ P(1)⇒ P(x))

Spécification 2

Supposons que ` b : Bool(x) alors :

Si x = 0, pour tous t , u et π on a b ? t .u.π ∗ t ? π.

Si x = 1, pour tous t , u et π on a b ? t .u.π ∗ u ? π.

On n’a pas b Bool(0) et b Bool(1) sans le non-déterminisme(Ψ)

15 / 30Réalisabilité classique

N

Page 37: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Adéquation : applications

Spécification 1

Si ` t : ∀X .(X ⇒ X) alors t ≈ λx.x.

Bool(x) ≡ ∀P.(P(0)⇒ P(1)⇒ P(x))

Spécification 2

Supposons que ` b : Bool(x) alors :

Si x = 0, pour tous t , u et π on a b ? t .u.π ∗ t ? π.

Si x = 1, pour tous t , u et π on a b ? t .u.π ∗ u ? π.

On n’a pas b Bool(0) et b Bool(1) sans le non-déterminisme(Ψ)

15 / 30Réalisabilité classique

N

Page 38: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Adéquation : applications

Normalisation

Les termes typables terminent.

y = t ? π | t ? π termine

X est un candidat de réductibilité ssi

X ⊆ ⊥

X⊥ ⊆ z⊥

D est l’ensemble des candidats de réductibilité.

On peut montrer que |A | ∈ D pour toute formule A

16 / 30Réalisabilité classique

N

Page 39: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Etendre Curry-Howard (1)

call-cc est la seule possibilité d’obtenir la logique classique.

On dit que

K ≈ kπ ssi K ? t .π′ ∗ t ? π

C ≈ cc ssi C ? u.π ∗ u ? K .π avec K ≈ kπ

t ((A ⇒ ⊥)⇒ A)⇒ A ssi t ≈ cc.

On peut rajouter à la logique la règle

(cc)` cc : ((A ⇒ B)⇒ A)⇒ A

17 / 30Réalisabilité classique

N

Page 40: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Etendre Curry-Howard (1)

call-cc est la seule possibilité d’obtenir la logique classique.

On dit que

K ≈ kπ ssi K ? t .π′ ∗ t ? π

C ≈ cc ssi C ? u.π ∗ u ? K .π avec K ≈ kπ

t ((A ⇒ ⊥)⇒ A)⇒ A ssi t ≈ cc.

On peut rajouter à la logique la règle

(cc)` cc : ((A ⇒ B)⇒ A)⇒ A

17 / 30Réalisabilité classique

N

Page 41: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Etendre Curry-Howard (1)

call-cc est la seule possibilité d’obtenir la logique classique.

On dit que

K ≈ kπ ssi K ? t .π′ ∗ t ? π

C ≈ cc ssi C ? u.π ∗ u ? K .π avec K ≈ kπ

t ((A ⇒ ⊥)⇒ A)⇒ A ssi t ≈ cc.

On peut rajouter à la logique la règle

(cc)` cc : ((A ⇒ B)⇒ A)⇒ A

17 / 30Réalisabilité classique

N

Page 42: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Etendre Curry-Howard (2)Et l’arithmétique ?

∀y (y + 0 = y)

∀y ¬(s(y) = 0)

∀y∀x (s(x) = s(y)⇒ x = y)

. . .

Tout ça c’est trivial (réalisateurs : λx.x ou bien λz.(z)u).Le dernier principe : la récurrence, s’exprime

∀x (∀P(P0⇒ (∀n(Pn ⇒ P(n + 1)))⇒ Px)︸ ︷︷ ︸nat(x)

n’est pas toujours vrai.

18 / 30Réalisabilité classique

N

Page 43: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Etendre Curry-Howard (2)Et l’arithmétique ?

∀y (y + 0 = y)

∀y ¬(s(y) = 0)

∀y∀x (s(x) = s(y)⇒ x = y)

. . .

Tout ça c’est trivial (réalisateurs : λx.x ou bien λz.(z)u).

Le dernier principe : la récurrence, s’exprime

∀x (∀P(P0⇒ (∀n(Pn ⇒ P(n + 1)))⇒ Px)︸ ︷︷ ︸nat(x)

n’est pas toujours vrai.

18 / 30Réalisabilité classique

N

Page 44: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Etendre Curry-Howard (2)Et l’arithmétique ?

∀y (y + 0 = y)

∀y ¬(s(y) = 0)

∀y∀x (s(x) = s(y)⇒ x = y)

. . .

Tout ça c’est trivial (réalisateurs : λx.x ou bien λz.(z)u).Le dernier principe : la récurrence, s’exprime

∀x (∀P(P0⇒ (∀n(Pn ⇒ P(n + 1)))⇒ Px)︸ ︷︷ ︸nat(x)

n’est pas toujours vrai.

18 / 30Réalisabilité classique

N

Page 45: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

La réalisabilité classique

Etendre Curry-Howard (3)

Axiome du choix dénombrable

Soit G , ∅ et (An)n∈N une suite de sous ensembles de G alors

∀n ∈ N, ∃y ∈ G t.q y ∈ An ⇒ ∃(un)n∈N, ∀n ∈ N un ∈ An

Toute union dénombrable d’ensembles dénombrables estdénombrable.

Un ensemble est infini ssi il est en bijection avec une partie propre.

Si x est adhérent à U alors il existe une suite de un de limite x.

19 / 30Réalisabilité classique

N

Page 46: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

L’axiome du choix dénombrable est impliqué par le principe desélection dénombrable :

Pour toute suite An ⊆ G, il existe un,m t.q :

∀m ∈ N(∀n ∈ N, un,m ∈ Am) ⇒ ∀y ∈ G, y ∈ Am

χ ? t .π t ? nπ.π

On a χ SD et donc un réalisateur pour l’axiome du choixdénombrable.

20 / 30Réalisabilité classique

N

Page 47: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

L’axiome du choix dénombrable est impliqué par le principe desélection dénombrable :

Pour toute suite An ⊆ G, il existe un,m t.q :

∀m ∈ N(∀n ∈ N, un,m ∈ Am) ⇒ ∀y ∈ G, y ∈ Am

χ ? t .π t ? nπ.π

On a χ SD et donc un réalisateur pour l’axiome du choixdénombrable.

20 / 30Réalisabilité classique

N

Page 48: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Sommaire

1 Introduction

2 La réalisabilité classique

3 Modèles et vérité subjective

21 / 30Réalisabilité classique

N

Page 49: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Vérité subjective

À chaque point de vue correspond une notion de vérité différente :c’est la subjectivité :

A est vraie par rapport à y ssi ∃t ∈ QP, t y A

Un point de vue est cohérent si

∀t ∈ QP,∃π ∈ Π t.q t ? π < y

Cohérence subjective

Si y est cohérent alors aucune formule A n’est à la fois vraieet fausse par rapport à y.

22 / 30Réalisabilité classique

N

Page 50: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Vérité subjective

À chaque point de vue correspond une notion de vérité différente :c’est la subjectivité :

A est vraie par rapport à y ssi ∃t ∈ QP, t y A

Un point de vue est cohérent si

∀t ∈ QP,∃π ∈ Π t.q t ? π < y

Cohérence subjective

Si y est cohérent alors aucune formule A n’est à la fois vraieet fausse par rapport à y.

22 / 30Réalisabilité classique

N

Page 51: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Exemple incohérent : y = p | p ne termine pas

Ω ⊥Y (A ⇒ A)⇒ A

Exemple cohérent : y = ∅

Pour tout A , on a soit |A | = ∅ soit |A |⊥ = ∅.A est vraie ssi A est vraie dans le modèle standard.

Le paradoxe subjectif

Il existe deux points de vue consistants y1 et y2 et une formuleA telle que A est vraie par rapport à y1 et ¬A est vraie parrapport à y2.

23 / 30Réalisabilité classique

N

Page 52: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Exemple incohérent : y = p | p ne termine pas

Ω ⊥Y (A ⇒ A)⇒ A

Exemple cohérent : y = ∅

Pour tout A , on a soit |A | = ∅ soit |A |⊥ = ∅.A est vraie ssi A est vraie dans le modèle standard.

Le paradoxe subjectif

Il existe deux points de vue consistants y1 et y2 et une formuleA telle que A est vraie par rapport à y1 et ¬A est vraie parrapport à y2.

23 / 30Réalisabilité classique

N

Page 53: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Exemple incohérent : y = p | p ne termine pas

Ω ⊥Y (A ⇒ A)⇒ A

Exemple cohérent : y = ∅

Pour tout A , on a soit |A | = ∅ soit |A |⊥ = ∅.A est vraie ssi A est vraie dans le modèle standard.

Le paradoxe subjectif

Il existe deux points de vue consistants y1 et y2 et une formuleA telle que A est vraie par rapport à y1 et ¬A est vraie parrapport à y2.

23 / 30Réalisabilité classique

N

Page 54: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Structure des modèles

La formule ∀x nat(x) est fausse en général si on estdéterministe (réduction à Bool(x)) .

En fait il existe :

Les entiers "standard"

Des non-entiers

Des entiers "non standard"

24 / 30Réalisabilité classiqueN

Page 55: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Structure des modèles

La formule ∀x nat(x) est fausse en général si on estdéterministe (réduction à Bool(x)) .

En fait il existe :

Les entiers "standard"

Des non-entiers

Des entiers "non standard"

24 / 30Réalisabilité classiqueN

Page 56: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Structure des modèles

La formule ∀x nat(x) est fausse en général si on estdéterministe (réduction à Bool(x)) .

En fait il existe :

Les entiers "standard"

Des non-entiers

Des entiers "non standard"

24 / 30Réalisabilité classiqueN

Page 57: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Structure des modèles

La formule ∀x nat(x) est fausse en général si on estdéterministe (réduction à Bool(x)) .

En fait il existe :

Les entiers "standard"

Des non-entiers

Des entiers "non standard"

24 / 30Réalisabilité classiqueN

Page 58: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On définit ≈ :x ≈ 0 ≡ ∀y(x , s(y))

Pseudo-zéros

Dans le modèle, le seul pseudo-zéro x vérifiant nat(x) est le"vrai" 0 ∈ N.

Cela permet de décomposer tous les individus :

Décomposition

∀x∃!n∃!z(z ≈ 0 ∧ nat(n) ∧ x = y + z)

25 / 30Réalisabilité classiqueN

Page 59: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On définit ≈ :x ≈ 0 ≡ ∀y(x , s(y))

Pseudo-zéros

Dans le modèle, le seul pseudo-zéro x vérifiant nat(x) est le"vrai" 0 ∈ N.

Cela permet de décomposer tous les individus :

Décomposition

∀x∃!n∃!z(z ≈ 0 ∧ nat(n) ∧ x = y + z)

25 / 30Réalisabilité classiqueN

Page 60: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Sous certaines bonnes conditions le prédicat unaire G défini parG(n) = πn (l’inverse de la bijection introduite pour χ)est tel que :

Pour tout n ∈ N, on a t G(n)

λz.z ¬(∀x G(x))

χ ¬(∀Nx G(x))

26 / 30Réalisabilité classique

N

Page 61: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Sous certaines bonnes conditions le prédicat unaire G défini parG(n) = πn (l’inverse de la bijection introduite pour χ)est tel que :

Pour tout n ∈ N, on a t G(n)

λz.z ¬(∀x G(x))

χ ¬(∀Nx G(x))

26 / 30Réalisabilité classique

N

Page 62: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Sous certaines bonnes conditions le prédicat unaire G défini parG(n) = πn (l’inverse de la bijection introduite pour χ)est tel que :

Pour tout n ∈ N, on a t G(n)

λz.z ¬(∀x G(x))

χ ¬(∀Nx G(x))

26 / 30Réalisabilité classique

N

Page 63: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Sous certaines bonnes conditions le prédicat unaire G défini parG(n) = πn (l’inverse de la bijection introduite pour χ)est tel que :

Pour tout n ∈ N, on a t G(n)

λz.z ¬(∀x G(x))

χ ¬(∀Nx G(x))

26 / 30Réalisabilité classique

N

Page 64: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Point de vue maximal

On peut construire le "plus incohérent" des points de vuecohérents.

t 7→ πt est une bijection entre les quasi-preuves et les piles. Onpose

yg = C(⋃

t

fil(t ? πt ))

27 / 30Réalisabilité classique

N

Page 65: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On pose l’ensemble B(x) ≡ x2 = x.

Dans le modèle maximal, B est une algèbre de Boole.

Dans le modèle maximal, la formule suivante est vraie :

∃x B(x) ∧ (x , 0 ∧ x , 1)

Ok on a compris : le modèle est assez étrange. Mais il y a pire.

28 / 30Réalisabilité classique

N

Page 66: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On pose l’ensemble B(x) ≡ x2 = x.

Dans le modèle maximal, B est une algèbre de Boole.

Dans le modèle maximal, la formule suivante est vraie :

∃x B(x) ∧ (x , 0 ∧ x , 1)

Ok on a compris : le modèle est assez étrange. Mais il y a pire.

28 / 30Réalisabilité classique

N

Page 67: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

On pose l’ensemble B(x) ≡ x2 = x.

Dans le modèle maximal, B est une algèbre de Boole.

Dans le modèle maximal, la formule suivante est vraie :

∃x B(x) ∧ (x , 0 ∧ x , 1)

Ok on a compris : le modèle est assez étrange. Mais il y a pire.

28 / 30Réalisabilité classique

N

Page 68: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

En fait Krivine (2010) a montré qu’on peut obtenir un modèle deZF+DC tel que :

L’axiome du choix est faux !

L’hypothèse du continu est fausse !

En fait, R n’est pas bien ordonné !

On a carrément une séquence Xn de sous ensembles nondénombrables de R dont les cardinaux sont strictement croissants.

29 / 30Réalisabilité classique

N

Page 69: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

En fait Krivine (2010) a montré qu’on peut obtenir un modèle deZF+DC tel que :

L’axiome du choix est faux !

L’hypothèse du continu est fausse !

En fait, R n’est pas bien ordonné !

On a carrément une séquence Xn de sous ensembles nondénombrables de R dont les cardinaux sont strictement croissants.

29 / 30Réalisabilité classique

N

Page 70: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

En fait Krivine (2010) a montré qu’on peut obtenir un modèle deZF+DC tel que :

L’axiome du choix est faux !

L’hypothèse du continu est fausse !

En fait, R n’est pas bien ordonné !

On a carrément une séquence Xn de sous ensembles nondénombrables de R dont les cardinaux sont strictement croissants.

29 / 30Réalisabilité classique

N

Page 71: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

En fait Krivine (2010) a montré qu’on peut obtenir un modèle deZF+DC tel que :

L’axiome du choix est faux !

L’hypothèse du continu est fausse !

En fait, R n’est pas bien ordonné !

On a carrément une séquence Xn de sous ensembles nondénombrables de R dont les cardinaux sont strictement croissants.

29 / 30Réalisabilité classique

N

Page 72: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Conclusion

On a vu aujourd’hui :

Les bases permettant l’extension de Curry-Howard

ZF+DC

Construction de modèles bizarres

On verra la prochaine fois : la réalisabilité et le forcing !

Forcing de Cohen : un programme pour l’hypothèse du continu

Forcing pour les logiques linéaires

Effets de bord et forcing

30 / 30Réalisabilité classique

N

Page 73: Vérité et Preuves - 11 Mars 2011seiller/documents/projet/Alois.pdfDes bornes sur la complexité des programmes (logiques allégées)::: Certains programmes sans être typables sont

Modèles et vérité subjective

Conclusion

On a vu aujourd’hui :

Les bases permettant l’extension de Curry-Howard

ZF+DC

Construction de modèles bizarres

On verra la prochaine fois : la réalisabilité et le forcing !

Forcing de Cohen : un programme pour l’hypothèse du continu

Forcing pour les logiques linéaires

Effets de bord et forcing

30 / 30Réalisabilité classique

N