11.07.2015 Views

Mémoire de Magistère - Ens

Mémoire de Magistère - Ens

Mémoire de Magistère - Ens

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Silvain Ri<strong>de</strong>au 25 octobre 2011École Normale SupérieureL.M.F.I., Paris 7Mémoire <strong>de</strong>Magistèresous la direction <strong>de</strong>Élisabeth BouscarenOrsay, Paris 11


Table <strong>de</strong>s matièresI Introduction au domaine <strong>de</strong> recherche 3II Curiculum Vitae 14III Mémoire <strong>de</strong> M2 17IV Mini-mémoire écrit pour le cours Géométries non-archimédiennes à Paris IV 84V Rapport <strong>de</strong> stage à Cambridge en <strong>de</strong>uxième année 107VI Article publié à Logic in Computer Science 2011 156VII Rapport <strong>de</strong> stage <strong>de</strong> license en informatique 168VIII Mini-mémoire écrit pour le cours Catégories et lambdacalcul à l'<strong>Ens</strong> 206IX Article publié à Compiler Construction en 2010 222X Exposé <strong>de</strong> magistère 243XIRapport <strong>de</strong> projet du cours Neurosciences informatiques à1


TABLE DES MATIÈRESl'<strong>Ens</strong> 300XII Mini-mémoire écrit pour le cours Langage formel calculabilitéet complexité à l'<strong>Ens</strong> 3192


Première partieIntroduction au domaine <strong>de</strong>recherche3


Fromages suisses et métastabilitéLa théorie <strong>de</strong>s modèles <strong>de</strong>s corps valuésSilvain Ri<strong>de</strong>ausous la direction d’Élisabeth Bouscaren9 octobre 2011Table <strong>de</strong>s matières1 Introduction à la théorie <strong>de</strong>s modèles 11.1 Quelques brefs rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Élimination <strong>de</strong>s quantificateurs et <strong>de</strong>s imaginaires . . . . . . . . . . . . . . . . . . . . 21.3 L’espace <strong>de</strong>s types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Corps valués 42.1 Les corps valués algébriquement clos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Les corps valués p-adiquement clos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Stabilité et Métastabilité 7Références 9La théorie <strong>de</strong>s modèles est une branche <strong>de</strong> la logique mathématique qui a pour but l’étu<strong>de</strong> <strong>de</strong>sstructures (notamment <strong>de</strong>s structures algébriques) à travers l’étu<strong>de</strong> <strong>de</strong> leurs sous-ensembles ditsdéfinissables. Elle a <strong>de</strong> nombreuses applications, en particulier, en géométrie algébrique, en géométriediophantienne, en géométrie analytique réelle ou en analyse réelle. Je m’intéresserai iciprincipalement à ses liens avec les corps valués et rappellerai, au fur et à mesure, divers résultats<strong>de</strong> mathématiques plus « classiques » que ces considérations logiques ont permis <strong>de</strong> démontrer.1 Introduction à la théorie <strong>de</strong>s modèles1.1 Quelques brefs rappelsCommençons par rappeler quelques notions essentielles <strong>de</strong> théorie <strong>de</strong>s modèles que l’on peuttrouver dans les premières pages <strong>de</strong> n’importe quel livre sur la théorie <strong>de</strong>s modèles, par exemple[Mar02]. Un langage L est un ensemble <strong>de</strong> symboles <strong>de</strong> fonctions et <strong>de</strong> relations d’une arité donnée.Une L-structure M est la donnée d’un ensemble M et pour chaque symbole <strong>de</strong> fonction (resp.<strong>de</strong> relation) <strong>de</strong> L d’une fonction (resp. d’une relation) <strong>de</strong> la bonne arité, que l’on appelle son interprétation.Un morphisme <strong>de</strong> structure est alors une fonction qui respecte les interprétations <strong>de</strong>sfonctions et <strong>de</strong>s relations. Par exemple, les corps sont <strong>de</strong>s structures dans le langage <strong>de</strong>s anneaux1


1 Introduction à la théorie <strong>de</strong>s modèlesL ann ∶= {+, −, ×, 0, 1} où + − et × sont <strong>de</strong>s fonction binaires et 0 et 1 sont <strong>de</strong>s fonctions 0-aires, i.e.<strong>de</strong>s constantes.Toute formule ϕ écrite à l’ai<strong>de</strong> <strong>de</strong>s symboles <strong>de</strong> L, <strong>de</strong> variables et <strong>de</strong> connecteurs logiques ¬,∧, ∨, ⇒, ⇐⇒ , ∀ et ∃ peut donc être interprétée dans M (à condition d’interpréter les variablesqui ne sont pas quantifiée, i.e. libres, par <strong>de</strong>s points <strong>de</strong> M). Soient ϕ[x 1 , . . . , x n ] une formule dontles variables libres apparaissent parmi les x i et a un n-uplet dans M, on note M ⊧ ϕ[ a] si ϕ[ a]est vraie dans M. La formule ϕ permet donc <strong>de</strong> définir dans M un ensemble ϕ[M] ∶= { a ∶ M ⊧ϕ[ a]}, l’ensemble <strong>de</strong>s réalisations <strong>de</strong> ϕ dans M. Par exemple, l’ensemble <strong>de</strong>s puissances n-ièmesest défini dans tout groupe (multiplicatif) par la formule ∃y, x = y × . . . × y. On parlera aussi <strong>de</strong>formules à paramètres pour une formule <strong>de</strong> la forme ϕ[ x, m] où m est un uplet <strong>de</strong> M. On dira qu’unpoint c <strong>de</strong> M est définissable au <strong>de</strong>ssus <strong>de</strong> A ⊆ M s’il existe une formule ϕ[x] à paramètres dans Atelle que ϕ[M] = {c}. On dira qu’il est algébrique au <strong>de</strong>ssus <strong>de</strong> A s’il existe ϕ[x] à paramètres dansA telle que ϕ[M] est fini et contient c. Enfin, on dira que A est algébriquement clos s’il contienttous les points qui sont algébriques sur A.Une théorie T est un ensemble <strong>de</strong> L-formules sans variables libres ni paramètres (on parled’énoncés. On dit que M est un modèle <strong>de</strong> T, et on le note M ⊧ T, si M satisfait toutes les formules<strong>de</strong> T. De même, on note Th(M) la théorie <strong>de</strong> M qui est l’ensemble <strong>de</strong>s énoncés vérifiésdans M. Deux L-structures sont dites élémentairement équivalentes si elles ont la même théorie,on le note M ≡ N . Si un énoncé ϕ est vrai dans toute modèle d’une théorie T, on dit que T impliqueϕ, ce que l’on note T ⊢ ϕ. On dira qu’une théorie est complète si tous ses modèles sont élémentairementéquivalents. En particulier, une théorie complète implique toute formule ou sa négation.Enfin, si M ⊆ N, et que les interprétations <strong>de</strong>s symboles sur M sont induits par les interprétationsdans N , on dira que M est une sous-structure <strong>de</strong> N , ce que l’on note M ⊆ N . Si, <strong>de</strong> plus, touténoncé à paramètres dans M est vérifié dans M si et seulement s’il l’est dans N , on dira que M estune sous-structure élémentaire <strong>de</strong> N (ou N une extension élémentaire), ce que l’on note M ⪯ N .1.2 Élimination <strong>de</strong>s quantificateurs et <strong>de</strong>s imaginairesLorsqu’on étudie une théorie en particulier, il est utile <strong>de</strong> savoir exactement comment sontconstruits les objets définissables. Les « bonnes » théories sont celles qui vérifient les <strong>de</strong>ux propriétéssuivantes :Définition 1.1 :On dit qu’une théorie T élimine les quantificateurs si pour toute L-formule ϕ[ x], il existe uneformule θ[ y] sans quantificateurs telle que x ⊆ y et T ⊢ ∀ y ϕ[ x] ⇐⇒ θ[ y].Définition 1.2 :On dit qu’une théorie T élimine les imaginaires si pour toute formule E[ x, y] telle que T ⊢ « E estune relation d’équivalence », il existe une fonction f définissable dans T (i.e. il existe une formuleϕ[ x, z] telle que T ⊢« ϕ définit une fonction <strong>de</strong> x ») telle que T ⊢ ∀ x y E[ x, y] ⇐⇒ f( x) = f( y).L’élimination <strong>de</strong>s quantificateurs permet <strong>de</strong> savoir que les ensembles définissables sont générésà partir d’un certain nombre d’atomes par les opérations booléennes (union, intersection etcomplémentation) et l’élimination <strong>de</strong>s imaginaires permet <strong>de</strong> savoir que tous les quotients définissablessont, en fait, simplement <strong>de</strong>s ensembles définissables. Dans chacun <strong>de</strong>s cas il y a unemétho<strong>de</strong> canonique pour construire une extension définissable du langage dans laquelle on aitl’élimination voulue. Pour l’élimination <strong>de</strong>s quantificateurs il suffit <strong>de</strong> rajouter, pour chaque formulesans paramètres, un prédicat que l’on interprète par cette même formule (c’est la Morleyisation),et pour les imaginaires, il suffit <strong>de</strong> rajouter à tout modèle M un point par classe d’équivalence2


1 Introduction à la théorie <strong>de</strong>s modèlesdéfinissable et <strong>de</strong>s symboles <strong>de</strong> fonctions pour toutes les surjections canoniques (c’est la constructionM eq <strong>de</strong> Shelah).Si ces constructions permettent <strong>de</strong> considérer que toute théorie abstraite élimine à la fois lesimaginaires et les quantificateurs, pour étudier une théorie précise, ce procédé est complètementcontre-productif car il n’informe absolument pas sur la forme <strong>de</strong>s objets définissables. Ce qui nousintéresse vraiment, c’est d’essayer <strong>de</strong> comprendre quelle est l’extension minimale du langage telleque la théorie vérifie ces <strong>de</strong>ux propriétés. Voyons quelques exemples pour illustrer :Exemple 1.3 :– La théorie <strong>de</strong>s corps algébriquement clos dans le langage <strong>de</strong>s anneaux élimine les quantificateurs.Ce résultat <strong>de</strong> Tarski est l’équivalent modèle-théorique du théorème <strong>de</strong> Chevalley quidit que les ensembles constructibles (i.e. les combinaisons booléennes <strong>de</strong> fermés <strong>de</strong> Zariski)sont clos par projection. Cette théorie élimine aussi les imaginaires (voir [Poi83]).– La théorie <strong>de</strong>s corps réels clos RCF (i.e. les corps élémentairement équivalents à R) n’éliminepas les quantificateurs car l’ensemble <strong>de</strong>s carrés n’est pas définissable sans quantificateurs,mais c’est le seul problème. En effet, Tarski a aussi démontré que RCF admet l’éliminationd<strong>de</strong>s quantificateurs dans l’extension du langage <strong>de</strong>s anneaux avec un prédicat ⩽ définit parx ⩽ y ⇐⇒ ∃z x − y = z × z. Ce théorème a aussi une contrepartie algébrique, le théorème <strong>de</strong>Tarski-Sei<strong>de</strong>nberg qui énonce que les ensembles semi-algébriques sont clos par projection.Cette théorie (avec l’ordre) élimine aussi les imaginaires.– La théorie <strong>de</strong>s Z-groupes (i.e. les groupes qui ont la même théorie que Z) n’élimine pas lesquantificateurs dans le langage <strong>de</strong>s groupes, par contre si on rajoute, pour tout k ∈ N, lesensembles <strong>de</strong> multiples <strong>de</strong> k, alors la théorie élimine les quantificateurs et les imaginaires(pour ce <strong>de</strong>rnier résultat, voir [Clu03])1.3 L’espace <strong>de</strong>s typesBien que la théorie <strong>de</strong>s modèles, comme je l’ai dit précé<strong>de</strong>mment, soit l’étu<strong>de</strong> <strong>de</strong>s ensemblesdéfinissables dans une structure, un <strong>de</strong> ses principaux outils est <strong>de</strong> considérer <strong>de</strong>s objets, a prioriplus compliqués : les ensembles définissables par une infinité <strong>de</strong> formules, i.e. les types.Définition 1.4 (Types) :Soient M une L-structure, A ⊆ M un ensemble <strong>de</strong> paramètres et (x i ) i∈N . Un n-type partielsur A est un ensemble <strong>de</strong> formules à paramètres dans A consistant (i.e. satisfaisable, potentiellementdans un extension élémentaire <strong>de</strong> M) dont les variables libres sont parmi x 1 , . . . , x n . Ondira qu’un type est complet (on pourra aussi parler simplement <strong>de</strong> type) s’il est maximal au sens<strong>de</strong> l’inclusion. On note S n (A) l’ensemble <strong>de</strong>s n-types (complets) sur A et S(A) = ⋃ n∈N ⋆ S n (A)l’ensemble <strong>de</strong>s types sur A.Si a est un uplet <strong>de</strong> M, on notetp( a/A) ∶= {ϕ[ x] L -formule à paramètres dans A ∶ N ⊧ ϕ[ a]}C’est un n-type au-<strong>de</strong>ssus <strong>de</strong> A où n est la longueur <strong>de</strong> a que l’on nomme le type <strong>de</strong> a. Réciproquement,on dira que a est un réalisation <strong>de</strong> p ∈ S(A) si pour tout formule ϕ[ x] ∈ p, M ⊧ ϕ[ a], i.e.p ⊆ tp( a/A).On peut munir S n (A) d’une topologie engendrée par les ouverts <strong>de</strong> la forme ∣ϕ∣ ∶= {p ∈ S n (A) ∶ϕ ∈ p}. C’est alors un espace totalement discontinu car les éléments <strong>de</strong> la base d’ouverts sont aussifermés. En effet, ∣ϕ∣ n’est rien d’autre que le complémentaire <strong>de</strong> ∣¬ϕ∣. Le théorème <strong>de</strong> compacité,outil fondamental <strong>de</strong> la théorie <strong>de</strong>s modèles, tire son nom du fait qu’il peut s’exprimer comme suit :3


2 Corps valuésThéorème 1.5 (Compacité pour la logique du premier ordre) :L’espace <strong>de</strong>s n-types sur A est compact.On en déduit la formulation plus classique que tout ensemble <strong>de</strong> formules Σ[ x] est satisfaisable(dans une extension élémentaire) si et seulement s’il est finiment satisfaisable (i.e. tout sousensemblefini <strong>de</strong> Σ est satisfaisable). Comme il est évi<strong>de</strong>nt que satisfaisable implique finiment satisfaisable,il suffit <strong>de</strong> montrer la réciproque. Supposons que Σ[ x] ne soit pas satisfaisable, il s’ensuit alors que ⋂ ϕ∈Σ ∣ϕ∣ est une intersection vi<strong>de</strong>. En effet si cette intersection contenait un type p,alors ce type contiendrait Σ et comme p est satisfaisable, Σ le serait aussi. Cette intersection <strong>de</strong> ferméeétant vi<strong>de</strong>, on peut en extraire un nombre fini <strong>de</strong> fermés ∣ϕ i ∣ dont l’intersection est toujoursvi<strong>de</strong>. Mais alors les ϕ i ne sont satisfaisable dans aucune extension élémentaire N <strong>de</strong> M. En effets’ils l’étaient, on aurait M ⪯ N et c ∈ N tel que pour tout i, N ⊧ ϕ i [c] et tp(c/A) serait alors dans⋂ i ∣ϕ i ∣ = ∅, ce qui est absur<strong>de</strong>.Les types d’une structure peuvent être extrêmement compliqués à comprendre et à manipuler.Les <strong>de</strong>ux définitions qui suivent caractérisent <strong>de</strong>s types plus « raisonnables », avec lesquels il estplus facile <strong>de</strong> travailler.Définition 1.6 (Types définissables) :Soit p[ x] ∈ S n (A), on dit que p est définissable si pour toute L-formule ϕ[ x, y], il existe uneL-formule (d p ϕ)[ y] (potentiellement à paramètres) telle que pour tout a ∈ A, on ait ϕ[ x, a] ∈ p siet seulement si M ⊧ (d p ϕ)[ a].Définition 1.7 (Types invariants) :Soient p[ x] ∈ S n (M). Les automorphismes <strong>de</strong> Aut(M) agissent sur p par σ(p) = {ϕ[ x, σ( a)] ∶ϕ[ x, a] ∈ p}. On dit que p est Aut(M /A)-invariant si tous les automorphismes <strong>de</strong> M qui fixentA point par point fixent p par l’action que l’on vient <strong>de</strong> définir. Il s’en suit alors (et c’est équivalent)que dans toute extension élémentaire N <strong>de</strong> M, l’ensemble <strong>de</strong>s réalisations <strong>de</strong> p est laisséglobalement invariant par tout automorphisme <strong>de</strong> N qui fixe A.La condition <strong>de</strong> définissabilté d’un type, qui est très forte, <strong>de</strong>man<strong>de</strong> en quelque sorte que l’ensemble<strong>de</strong>s formules qui compose le type soit lui-même un ensemble définissable dans le modèle, ou dumoins, formule par formule, l’ensemble <strong>de</strong>s paramètres tels que cette formule est dans le typesoit définissable. On peut donc parler du fait d’appartenir au type à l’intérieur <strong>de</strong> la structure ellemême.La condition d’invariance est un peu plus faible mais assure tout <strong>de</strong> même que le type estassez canonique au <strong>de</strong>ssus <strong>de</strong> A. Il est évi<strong>de</strong>nt qu’un type A-définissable (i.e. les d p ϕ sont à paramètresdans A) est Aut(M /A)-invariant. Si p ∈ S n (A) et q ∈ S n (M), on dira que q est uneextension Aut(M /A)-invariante <strong>de</strong> p si p ⊆ q et q est Aut(M /A)-invariant.2 Corps valuésNous allons maintenant nous intéresser aux corps valués et à ce que la théorie <strong>de</strong>s modèles a puapporter à leur étu<strong>de</strong>.Définition 2.1 (Corps valué) :Soient K un corps et Γ un groupe abélien totalement ordonné. Une valuation est une applicationv ∶ K → Γ ∪ {∞} telle que :(i) pour tout a ∈ K, v(a) = ∞ ⇐⇒ a = 0 ;(ii) pour tous a, b ∈ K, v(ab) = v(a) + v(b) ;(iii) pour tous a, b ∈ K, v(a + b) ⩾ min(v(a), v(b)) ;4


2 Corps valués(iv) pour tout γ ∈ Γ, γ < ∞ et γ + ∞ = ∞ + γ = ∞.L’ensemble v(x) ⩾ 0 définit alors un anneau local O K d’idéal maximal M K . Dans la suite on noterak K = O K / M K le corps résiduel <strong>de</strong> K et res ∶ O K → k K la surjection canonique. On étudie les corpsvalués dans le langage suivant :Définition 2.2 (L div ) :Le langage L div est L ann ∪{div} et div est une relation binaire. Dans un corps valué (K, v), oninterprète x div y par v(x) ⩽ v(y).2.1 Les corps valués algébriquement closLa théorie <strong>de</strong>s corps valués algébriquement clos <strong>de</strong> valuation non triviale, ACVF est probablementla théorie <strong>de</strong> corps valué la plus étudiée. En 1956, Robinson a démontré qu’elle élimine lesquantificateurs (voir [Rob56]). Holly en a déduit en 1995 une <strong>de</strong>scription canonique <strong>de</strong>s ensemblesdéfinissables dans ACVF :Définition 2.3 (Boules et fromage suisse) :Soit (K, v) un corps valué. Soit a ∈ K et γ ∈ Γ K , on définit B ⩾γ (a) ∶= {x ∈ K ∶ v(x − a) ⩾ γ} la boulefermée <strong>de</strong> rayon γ et B >γ (a) ∶= {x ∈ K ∶ v(x − a) > γ} la boule ouverte <strong>de</strong> rayon γ.Un fromage suisse <strong>de</strong> K est un ensemble <strong>de</strong> la forme b/(⋃ n i=1 b i) où b et les b i sont <strong>de</strong>s boules(ouvertes ou fermées) <strong>de</strong> K. On dira que <strong>de</strong>ux fromages suisses sont trivialement emboîtés si laboule extérieure <strong>de</strong> l’un est un trou <strong>de</strong> l’autre.Proposition 2.4 ([Hol95, Théorème 3.26]) :Soit (K, v) ⊧ ACVF, tout sous-ensemble définissable <strong>de</strong> K s’écrit <strong>de</strong> manière unique comme uneunion finie <strong>de</strong> fromages suisses non trivialement emboîtés.On peut alors facilement en déduire quels sont les types dans ACVF au-<strong>de</strong>ssus d’ensembles <strong>de</strong>paramètres algébriquement clos.Définition 2.5 (Généricité) :Soient (b i ) i∈I une famille <strong>de</strong> boules A-définissables et P = ⋂ i b i . On dit que x ∈ K est génériquedans P au-<strong>de</strong>ssus <strong>de</strong> A si x ∈ P et x n’appartient à aucune sous-boule stricte A-définissable <strong>de</strong> P.On note α P ∣A le A-type partiel suivant, que l’on appelle le type générique sur P au <strong>de</strong>ssus <strong>de</strong> A :α P = {x ∈ b i ∶ i ∈ I} ∪ {¬x ∈ b ∶ b est une boule A-définissable et b ⊊ P}Proposition 2.6 :Soit K ⊧ ACVF, tout point <strong>de</strong> K est générique sur une intersection <strong>de</strong> boules et si P est uneintersection <strong>de</strong> boules et A un ensemble <strong>de</strong> paramètres algébriquement clos, alors α P est completQuelques années plus tard, dans [HHM06], Haskell, Hrushovski et Macpherson démontrentqu’il suffit <strong>de</strong> rajouter <strong>de</strong>s points correspondants aux réseaux, i.e. les sous-O K -modules libres<strong>de</strong> rang n <strong>de</strong> K n , et pour tout réseau s <strong>de</strong> rajouter l’ensemble s/ M s pour que ACVF admettentl’élimination <strong>de</strong>s imaginaires. Dans la suite <strong>de</strong> leur article [HHM08], ils démontrent <strong>de</strong> nombreusespropriétés <strong>de</strong> ACVF : l’existence d’extensions invariantes pour tous les types sur <strong>de</strong>s ensembles<strong>de</strong> paramètres algébriquement clos, le fait que les types génériques <strong>de</strong>s boules sont définissables...5


2 Corps valuésUne <strong>de</strong>s principales applications <strong>de</strong> ces travaux est le récent article <strong>de</strong> Hrushovski et Loeser (voir[HL]), où ils démontrent que l’analytifié <strong>de</strong> Berkovich <strong>de</strong> toute variété algébrique quasi-projectivepeut être assimilé à un ensemble définissable <strong>de</strong> types et ils en déduisent l’existence d’une rétractionvers un complexe simplicial, en toute dimension.2.2 Les corps valués p-adiquement closÀ vrai dire la théorie <strong>de</strong>s modèles <strong>de</strong>s corps valués est peu étudiée en toute généralité. Il y en aune sous-classe qui intéresse particulièrement les théoriciens <strong>de</strong>s modèles, et ce <strong>de</strong>puis le théorèmed’Ax-Kochen-Ershov, c’est les corps henséliens.Définition 2.7 (Corps Hensélien) :Un corps valué (K, v) est dit Hensélien si pour tout polynôme P[X] ∈ O K [X] et tout a ∈ O K telque res(P(a)) = 0 et res(P ′ (a)) ≠ 0, il existe b ∈ O tel que P(b) = 0 et res(a) = res(b).Théorème 2.8 (Ax-Kochen-Ershov) :Soient K et L <strong>de</strong>ux corps valués henséliens <strong>de</strong> caractéristique résiduelle nulle (i.e. car(k K ) =car(k L ) = 0). Ils sont élémentairement équivalents si et seulement si leurs groupes <strong>de</strong> valeurssont élémentairement équivalents (dans le langage <strong>de</strong>s groupes) et leurs corps résiduels sontélémentairement équivalents (dans le langage <strong>de</strong>s anneaux).Ce théorème a été démontré par Ax-Kochen (et indépendamment par Ershov) en 1965 dans[AK65]. Il était motivé par la démonstration d’une conjecture <strong>de</strong> Artin qui prévoyait que pour toutd ∈ N ⋆ et pour tout nombre premier p ∉ X d , tout polynôme homogène <strong>de</strong> <strong>de</strong>gré d dans Q p en aumoins d 2 + 1 variables a une racine non triviale. Il s’est avérée que la conjecture est fausse en tantque telle mais que pour tout d il y a au plus un nombre fini <strong>de</strong> nombres premiers pour laquelle elleest fausse. Il a fallu attendre jusqu’il y a quelques années pour une preuve purement algébrique <strong>de</strong>ce résultat.Bien que le théorème d’Ax-Kochen-Ershov soit un outil puissant, il y a cependant <strong>de</strong>s corps valuéstrès étudiés, en particulier en théorie <strong>de</strong>s nombres, qui ne rentrent pas dans le cadre <strong>de</strong> ce théorèmecar leur caractéristique résiduelle n’est pas nulle : pour tout p premier, le corps <strong>de</strong>s nombresp-adiques Q p . C’est le complété <strong>de</strong> Q pour la valuation p-adique qui à tout rationnel a b pn où a etb ne sont pas divisibles par p associe n. C’est un corps Hensélien, et bien que sa caractéristiquerésiduelle ne soit pas nulle, il vérifie la conclusion du théorème d’Ax-Kochen-Ershov. En effet, toutcorps dont le groupe <strong>de</strong> valeur est un Z-groupe et dont le corps résiduel est F p est élémentairementéquivalent à Q p . On dit que <strong>de</strong> tels corps sont p-adiquement clos, et on note pCF leur théorie.C’est d’ailleurs la preuve d’Ax et Kochen qui a inspiré à Macintyre, en 1976 (voir [Mac76]), unepreuve d’élimination <strong>de</strong>s quantificateurs pour Q p dans L div étendu avec les prédicats qui définissentles puissances k-ièmes. Une <strong>de</strong>s applications algébriques <strong>de</strong> ce résultat est l’article [Den84]<strong>de</strong> Denef en 1984, dans lequel il démontre (ou redémontre, pour certaines) la rationalité <strong>de</strong> séries<strong>de</strong> Poincaré :Définition 2.9 :Soit (P i ) une famille finie <strong>de</strong> polynômes <strong>de</strong> Q p [X 1 , . . . , X n ], on note a n ∶= #{x mod p n ∶ x ∈Z n p ∧∀i P i (x) ≡ 0 mod p n } et ã n ∶= #{x mod p n ∶ x ∈ Z n p ∧∀i P i (x) = 0}. On peut alors définir les<strong>de</strong>ux séries suivantes, dites <strong>de</strong> Poincaré, P(T) = ∑ i a i T i et ̃P(T) = ∑ i ã i T iThéorème 2.10 (Denef) :Les séries P et ̃P sont rationnelles.6


3 Stabilité et MétastabilitéLa preuve consiste à remarquer que les coefficients <strong>de</strong> ces séries sont les mesures <strong>de</strong> sousensemblesdéfinissables <strong>de</strong> Q p et comme, par le théorème <strong>de</strong> Macintyre, on sait exactement commentsont construits ces ensembles, cela nous donne <strong>de</strong>s indications sur leur mesure. En 1988,Grunewald, Segal et Smith dans [GSS88], ont appliqué ce genre <strong>de</strong> techniques pour montrer la rationalité<strong>de</strong> séries <strong>de</strong> comptage <strong>de</strong>s sous-groupes : si G est un groupe, on note b n le nombre <strong>de</strong> sousgroupesd’indice n. Ils ont alors montré que si G est finiment engendré et nilpotent, les b n sont toujoursfinis et ∑ i b p iT i est rationnelle. Leur preuve procè<strong>de</strong> en <strong>de</strong>ux temps. Tout d’abord, montrerque l’ensemble <strong>de</strong>s sous-groupes <strong>de</strong> G d’indice une puissance <strong>de</strong> p est en bijection avec l’ensemble<strong>de</strong>s classes d’équivalences d’une relation d’équivalence définissable E sur un sous-ensemble définissableD <strong>de</strong> Q n p. Et ensuite, trouver une fonction f ∶ D → Q p telle que pour tout x ∈ D, la mesure <strong>de</strong>la E-classe <strong>de</strong> x est égale à v p (f(x)). Dans ce cas précis, la relation d’équivalence E est assez simplepour qu’on puisse trouver explicitement une telle fonction f, mais cette métho<strong>de</strong> atteint ses limitessi le E <strong>de</strong>vient trop compliquée, en particulier, si, au lieu <strong>de</strong> compter les sous-groupes d’indice p n ,on veut compter les caractères complexes irréductibles <strong>de</strong> dimension p n .C’est donc dans le but <strong>de</strong> montrer la rationalité <strong>de</strong> telles séries que Hrushovski et Martin (voir[HM08]) se sont attelés à la tâche <strong>de</strong> démontrer l’élimination <strong>de</strong>s imaginaires dans pCF. Commetout corps p-adiquement clos se plonge dans un corps algébriquement clos, l’idée est d’utiliser lerésultat d’élimination d’imaginaires dans ACVF pour démontrer qu’il suffit <strong>de</strong> rajouter les mêmepoints à un corps p-adiquement clos pour obtenir l’élimination <strong>de</strong>s imaginaires (la preuve <strong>de</strong> cethéorème est le but <strong>de</strong> mon mémoire <strong>de</strong> M2).3 Stabilité et MétastabilitéCe qui fait la difficulté <strong>de</strong> la preuve précé<strong>de</strong>nte est qu’aucun type <strong>de</strong> pCF n’est définissable.L’espace <strong>de</strong>s types est compliqué, en particulier, il est très gros. À l’autre extrême, il y a les théoriesdites stables dont l’étu<strong>de</strong> a ses racines dans les travaux <strong>de</strong> Morley sur le théorème <strong>de</strong> catégoricité 1et qui est développée par Shelah dans le cadre <strong>de</strong> la théorie <strong>de</strong> la classification.Définition 3.1 (Stabilité) :Soit κ un cardinal infini, une théorie T est κ-stable si pour tout modèle M <strong>de</strong> T et tout ensembleA ⊆ M <strong>de</strong> cardinal κ, S(A) est <strong>de</strong> cardinal κ. On dira que T est stable si elle est κ-stable pour uncertain cardinal κ.Comme le cardinal <strong>de</strong> S(A) est au moins le cardinal <strong>de</strong> A, il s’en suit que la stabilité est unehypothèse <strong>de</strong> petitesse <strong>de</strong> l’espace <strong>de</strong>s types. Elle a <strong>de</strong> nombreuses définitions équivalentes dont ladéfinition historique qui est liée a la présence d’un ordre dans la théorie.Définition 3.2 (Propriété <strong>de</strong> l’ordre) :Une formule ϕ[ x, y] a la propriété <strong>de</strong> l’ordre dans M s’il existe ( a i ) i∈N et ( bi ) i∈N dans M telsque M ⊧ ϕ[ a i , bj ] si et seulement si i < j.1. Le théorème <strong>de</strong> catégoricité s’énonce ainsi : toute théorie dans un langage dénombrable qui a un seul modéle àisomorphisme près d’un certain cardinal non dénombrable a un seul modèle à isomorphisme près <strong>de</strong> tout cardinal nondénombrable.7


3 Stabilité et MétastabilitéThéorème 3.3 :Soit T une théorie, les conditions suivantes sont équivalentes :(i) T est stable ;(ii) Dans tout modèle <strong>de</strong> T, aucune formule n’a la propriété <strong>de</strong> l’ordre ;(iii) Tous les types sont définissables.Une <strong>de</strong>s conséquences principales <strong>de</strong> l’hypothèse <strong>de</strong> stabilité est qu’on peut alors définir unenotion d’indépendance abstraite au <strong>de</strong>ssus <strong>de</strong> tout ensemble <strong>de</strong> paramètres A, notée ⫝ A .Parmi les exemples les plus habituels <strong>de</strong> théories stables, il y a (vous vous en seriez peut êtredouté) les corps algébriquement clos (où la notion abstraite d’indépendance due à la stabilité setrouve être l’indépendance algébrique), les K-espaces vectoriels, où K est un corps fixé (la notiond’indépendance <strong>de</strong> la stabilité et alors nulle autre que l’indépendance linéaire) et la théorie <strong>de</strong>l’ensemble infini sans structure. Ces classes <strong>de</strong> structures vérifient même une propriété encoreplus restrictive qui est la forte minimalité : tous les ensembles unaires définissables sont soit finissoit cofinis. Il existe aussi <strong>de</strong>s théories stables non fortement minimales, c’est le cas par exemple<strong>de</strong>s corps séparablement clos non parfaits 2 et <strong>de</strong>s corps différentiellement clos <strong>de</strong> caractéristiquenulle.Définition 3.4 (Corps différentiel) :Soit K un corps <strong>de</strong> caractéristique nulle, une dérivation sur K est une fonction δ ∶ K → K quiest un morphisme <strong>de</strong> groupe additif et qui vérifie la règle <strong>de</strong> Leibniz : pour tout x, y ∈ K, δ(xy) =δ(x)y + xδ(y). On définit l’anneau <strong>de</strong>s polynômes différentiels sur K par K{X} = K[(X (n) ) n∈N ].Tout polynôme différentiel peut s’évaluer en un point x en remplaçant X (i) par δ i (x) et on définitl’ordre d’un polynôme différentiel comme le i maximal tel que X (i) apparaisse dans le polynôme.On dit que K est différentiellement clos si pour tout f, g ∈ K{X} tel que g n’est pas nul et l’ordre<strong>de</strong> f est strictement supérieur à l’ordre <strong>de</strong> g, il existe a ∈ K tel que f(a) = 0 ≠ g(a).En revanche, toutes les théories classiques où un ordre est sous-jacent sont instables : les corpsréels clos, les groupes abéliens divisibles ordonnés, les corps valués algébriquement clos, les corpsp-adiquement clos... Toutes les théories que je viens <strong>de</strong> nommer ont cependant une propriété plusfaible que la stabilité, la propriété NIP (not in<strong>de</strong>ndance property), qui est <strong>de</strong> plus en plus étudiée.Il y a aussi bien sûr <strong>de</strong>s théories qui n’ont pas NIP (et qui sont donc instables), et en premier lieul’arithmétique (i.e. la théorie <strong>de</strong> (N, +, ×)).Définition 3.5 (Propriété d’indépendance) :Une formule ϕ[ x, y] a la propriété d’indépendance dans M si pour tout entier N il existe <strong>de</strong>suplets ( a i ) 0⩽i⩽N et ( bJ ) J⊆⟦0...N⟧ dans M tels que M ⊧ ϕ[ a i , bJ ] si et seulement si i ∈ J.On dira qu’une théorie a NIP si aucune formule n’a la propriété d’indépendance dans aucunmodéle <strong>de</strong> T.On peut remarquer que la propriété d’indépendance apparaît aussi en probabilités sous le nom<strong>de</strong> Vapnik-Chervonenkis-dimension finie.Comme je l’ai fait remarqué précé<strong>de</strong>mment, les <strong>de</strong>ux théories ACVF et pCF ont NIP, il y a cependantune différence fondamentale entre ces <strong>de</strong>ux théories. L’une, pCF, est irrémédiablementinstable, l’autre, par contre, peut être vue comme l’interaction d’une partie stable qui est liée aucorps résiduel (qui est un corps algébriquement clos et donc une structure très stable vu qu’elle estfortement minimale) et d’une partie instable qu’est le groupe <strong>de</strong> valeur (qui est ordonné). On parledans ces cas-là <strong>de</strong> métastabilité.2. C’est d’ailleurs une conjecture toujours ouverte <strong>de</strong> savoir si tout corps stable est séparablement clos.8


RéférencesDéfinition 3.6 (St A ) :Un ensemble A-définissable X est dit stablement plongé si pour tout ensemble définissable Y,X ∩ Y est définissable à partir <strong>de</strong> A et <strong>de</strong> points <strong>de</strong> X. L’ensemble X est dit stable si la structure Xmuni d’un prédicat par sous-ensemble A-définissable <strong>de</strong> X n est stable. On note St A la structurequi est l’union disjointe <strong>de</strong> tous les ensembles A-définissables stables et stablement plongés munis<strong>de</strong> leurs sous-ensembles A-définissables.Par exemple dans ACVF le corps résiduel k est stable et stablement plongé. Il en est <strong>de</strong> même<strong>de</strong> tous les k-espaces vectoriels définissables (et tous les ensembles stables et stablement plongéssont essentiellement <strong>de</strong> cette forme).La structure St A est, en quelque sorte, la partie stable <strong>de</strong> la structure qui est définissable au<strong>de</strong>ssus <strong>de</strong> A. On peut vérifier que c’est elle même une structure stable. Si B ⊆ M, On note St A (B)l’ensemble <strong>de</strong>s points définissables sur B qui sont dans St A .Définition 3.7 (Type stablement dominé) :Soit c ∈ M, on dit que tp( c/A) est stablement dominé si pour tout B ⊆ M tel que St A ( c) ⫝ A St A (B)alors tp(B/A St A ( c)) ⇒ tp(B/Ac), i.e. si B ′ a le même type que B au <strong>de</strong>ssus <strong>de</strong> A St A ( c) alors il aaussi le même type au <strong>de</strong>ssus <strong>de</strong> A c..Définition 3.8 (Métastabilité) :Soit Γ un ensemble définissable <strong>de</strong> M stablement plongé et muni d’un ordre définissable sansparamètres. On dit que M est métastable si :(i) Tout type au <strong>de</strong>ssus d’un ensemble <strong>de</strong> paramètres algébriquement clos a une extensioninvariante ;(ii) Pour tout n, il existe un ensemble B qui contient A tel que pour tout n-uplet a, le typetp( a/BΓ(B a)) est stablement dominé.La métastabilité exprime donc que si on ignore la partie instable en la mettant dans les paramètresalors les types sont « contrôlés » par la partie stable <strong>de</strong> la structure. Le premier exemple <strong>de</strong>structure métastable est les corps valués algébriquement clos, et la notion <strong>de</strong> métastabilité a, plusou moins, été inventée à partir <strong>de</strong> ces structures (voir [HHM08]). Il y a un autre exemple <strong>de</strong> théoriequi semble faite pour cette notion <strong>de</strong> métastabilité : les corps valués différentiellement clos (essentiellementun corps différentiellement clos muni d’une valuation, avec quelques axiomes pour queles <strong>de</strong>ux interagissent bien – voir [Sca00] où Scanlon présente <strong>de</strong>s structures un petit peu plusgénérales), mais il n’est pas clair que les extensions invariantes existent dans cette théorie.L’étu<strong>de</strong> <strong>de</strong> cette <strong>de</strong>rnière théorie, <strong>de</strong> ses rapports avec la métastabilité et <strong>de</strong> la métastabilité dansun cadre plus abstrait est la direction dans laquelle semble se diriger ma thèse.Références[AK65] James Ax et Simon Kochen. « Diophantine Problems Over Local Fields I ». Dans :American Journal of Mathematics 87.3 (1965), p. 605–630.[Clu03][Den84]Raf Cluckers. « Presburger Sets and P-Minimal Fields ». Dans : The Journal of SymbolicLogic 68.1 (2003), pp. 153–162.Jan Denef. « The rationality of the Poincaré series associated to the p-adic points ona variety ». Dans : Inventiones Mathematicae 77 (1984), p. 1–23.9


Références[GSS88][HHM06][HHM08][HL][HM08][Hol95][Mac76]F. J. Grunewald, D. Segal et G. C. Smith. « Subgroups of Finite In<strong>de</strong>x in NilpotentsGroups ». Dans : Inventiones Mathematicae 93.1 (1988), p. 185–223.Deirdre Haskell, Ehud Hrushovski et Dugald Macpherson. « Definable Sets in AlgebraicallyClosed Valued Fields : Elimination of Imaginaries ». Dans : Journal für dieReine und Angewandte Mathematik 597 (2006), p. 175–236.Deirdre Haskell, Ehud Hrushovski et Dugald Macpherson. Stable Domination andIn<strong>de</strong>pendance in Algebraically Closed Valued Fields. Association for Symbolic Logic.Lecture Notes in Logic 30. Cambridge University Press, 2008.Ehud Hrushovski et François Loeser. « Non-archime<strong>de</strong>an tame topology and stablydominated types ». arXiv : 1009.0252.Ehud Hrushovski et Ben Martin. « Zeta Functions from Definable Equivalence Relations». arXiv : math/0701011. 2008.Jan E. Holly. « Canonical forms for <strong>de</strong>finable subsets of algebraically closed and realclosed valued fields ». Dans : The Journal of Symbolic Logic 60.3 (1995), p. 843–860.Angus Macintyre. « On Definable Subsets of p-Adic Fields ». Dans : The Journal ofSymbolic Logic 41.3 (1976), p. 605–610.[Mar02] David Marker. Mo<strong>de</strong>l Theory : An Introduction. Graduate Texts in Mathematics 217.Springer, 2002.[Poi83][Rob56][Sca00]Bruno Poizat. « Une théorie <strong>de</strong> Galois imaginaire ». Dans : The Journal of SymbolicLogic 48.4 (1983), p. 1151–1170.Abraham Robinson. Complete Theories. Studies in Logic 7. North-Holland PublishingCompany, 1956.Thomas Scanlon. « A mo<strong>de</strong>l complete theory of valued D-fields ». Dans : The Journalof Symbolic Logic 65.4 (2000), p. 1758–1784.10


Deuxième partieCuriculum Vitae14


Curriculum vitaeSilvain Ri<strong>de</strong>auné le 11 mars 1988 à Grasse45 rue d'Ulm75005 Parismail : silvain.ri<strong>de</strong>au@ens.frÉtu<strong>de</strong>s2006200820082009Été 2009Classes préparatoires au lycée Massena (MPSI puis MP*)Licence <strong>de</strong> maths-info <strong>de</strong> la FIMFA à UlmStage à l'INRIA sous la direction <strong>de</strong> Xavier Leroy dans le butd'écrire un validateur d'allocation <strong>de</strong> registre.1 semestre 2009-2010 M1 <strong>de</strong> mathématiques <strong>de</strong> la FIMFA à Ulm et cours <strong>de</strong> M2erd'informatique2 semestre 2009-2010 Stage au Computer Lab <strong>de</strong> Cambridge, sous la direction <strong>de</strong>eGlynn Winskel sur les jeux concurentsMars 201020102011Juin 2011Diplômes et concoursConférence Compiler ConstructionM2 <strong>de</strong> Logique Mathématique et Fon<strong>de</strong>ment <strong>de</strong> l'Informatiqueà Paris VII, sous la direction d'Élisabeth BouscarenConférence Logic in Computer ScienceJuin 2006Baccalauréat option internationale anglo-américaine, mentionTBJuillet 2008 Admis 9 à Ulm et 1 à polytechniquee erJuin 2009Licence 3 <strong>de</strong> Mathématiques, mention TBJuin 2010Master 1 <strong>de</strong> Mathématiques, mention TBSeptembre 2011 Master 2 <strong>de</strong> Mathématiques, mention TBCours <strong>de</strong> M2 suivisAu LMFI : Théorie <strong>de</strong>s modèles et théorie <strong>de</strong>s ensembles. Calculabilité et incomplétu<strong>de</strong>. Outils classiques et introduction à la théorie <strong>de</strong>s modéles géométriques. Structures <strong>de</strong> Zariski.1


Logique catégorique. Logique du second ordre et forcing.Au master <strong>de</strong> mathématiques fondamentales à Paris VI : Introduction aux groupes et algèbres <strong>de</strong> Lie. Initiation à la Géométrie Algébrique. Algèbre homologique et faisceaux. Introduction à la théorie <strong>de</strong>s schémas. Géométrie non archimédienne et théorie <strong>de</strong>s modèles.Au master <strong>de</strong> mathématiques fondamentales à Paris VI : Représentations linéaires <strong>de</strong>s groupes nis.Au MPRI : Logique linéaire et pradigme logiques du calcul. Démonstration automatique. Fon<strong>de</strong>ments <strong>de</strong>s systémes <strong>de</strong> preuve. Assistants <strong>de</strong> preuve. Modéles <strong>de</strong>s langages <strong>de</strong> programation : domaine, catégories, jeux. Programation fonctionnelle et système <strong>de</strong> types.Publications Avec Xavier Leroy, Validating Register Allocation and Spilling , CompilerConstruction 2010, Lecture Notes in Computer Science volume 6011. Avec Glynn Winskel, Concurent Strategies , LICS 2011.Divers Bilingue anglais, <strong>de</strong>s connaissances en russe. Une expérience <strong>de</strong> l'enseignement dans le cadre <strong>de</strong> Talens, association <strong>de</strong> tutoratd'Ulm. Et pour les loisirs : piano, cirque et <strong>de</strong>bating.2


Troisième partieMémoire <strong>de</strong> M217


Silvain Ri<strong>de</strong>au 28 septembre 2011École Normale SupérieureL.M.F.I., Paris 7Théorie <strong>de</strong>s modèles<strong>de</strong>sCorps Valuéssous la direction <strong>de</strong>Élisabeth BouscarenOrsay, Paris 11


IntroductionLe résultat historique qui a fait <strong>de</strong>s corps valués un domaine <strong>de</strong> prédilection <strong>de</strong>sthéoriciens <strong>de</strong>s modèles (et a peut être aussi attiré l'attention <strong>de</strong>s géomètres algébristessur la théorie <strong>de</strong>s modèles) est le théorème démontré en 1965 par Ax et Kochen (etindépendamment par Ershov) dans [AK65]. Ce théorème énonce qu'en caractéristiquerésiduelle nulle, la théorie d'un corps valué est totalement déterminée par la théorie dugroupe <strong>de</strong> valeur et du corps résiduel. Ce théorème était motivé par la démonstrationd'une conjecture d'Artin sur les racines <strong>de</strong>s polynômes homogènes dans le corps <strong>de</strong>snombres p-adiques Q p , dont il a fallu attendre jusqu'il y a quelques années une preuvepurement algébrique.Bien que le théorème d'Ax-Kochen-Ershov ne s'applique qu'en caractéristique résiduellenulle et qu'il ne soit pas à proprement parler un résultat d'élimination <strong>de</strong>squanticateurs, il a néanmoins inspiré Macintyre en 1976 (voir [Mac76]) pour démontrerun résultat d'élimination <strong>de</strong>s quanticateurs pour la théorie <strong>de</strong> Q p . Une <strong>de</strong>s applicationsalgébriques <strong>de</strong> ce résultat est l'article [Den84] <strong>de</strong> Denef en 1984, dans lequell'auteur démontre (ou redémontre, pour certaines) la rationalité <strong>de</strong> séries <strong>de</strong> Poincaré: si (P i ) est une famille nie <strong>de</strong> polynômes <strong>de</strong> Q p [X 1 , . . . , X n ], on note a n ∶= #{xmod p n ∶ x ∈ Z n p ∧∀i P i (x) ≡ 0 mod p n } et ã n ∶= #{x mod p n ∶ x ∈ Z n p ∧∀i P i (x) = 0}.Le résultat que Denef démontre est que la série <strong>de</strong>s ∑ i ã i T i est rationnelle et sa preuvedonne une nouvelle démonstration du fait que ∑ i a i T i l'est aussi. La preuve <strong>de</strong> Denefconsiste à remarquer que les coecients <strong>de</strong> ces séries sont les mesures <strong>de</strong> sous-ensemblesdénissables <strong>de</strong> Q p et comme, par le théorème <strong>de</strong> Macintyre, on sait exactement commentsont construits ces ensembles, cela nous donne <strong>de</strong>s indications sur leur mesure.En 1988, Grunewald, Segal et Smith dans [GSS88], ont appliqué ce genre <strong>de</strong> techniquespour montrer la rationalité <strong>de</strong> séries <strong>de</strong> comptage <strong>de</strong>s sous-groupes : si G estun groupe, on note b n le nombre <strong>de</strong> sous-groupes d'indice n. Ils ont alors montré quesi G est niment engendré et nilpotent, les b n sont toujours nis et ∑ i b p iT i est rationnelle.Leur preuve procè<strong>de</strong> en <strong>de</strong>ux temps. Tout d'abord, montrer que l'ensemble<strong>de</strong>s sous-groupes <strong>de</strong> G d'indice une puissance <strong>de</strong> p est en bijection avec l'ensemble <strong>de</strong>sclasses d'équivalences d'une relation d'équivalence dénissable E sur un sous-ensembledénissable D <strong>de</strong> Q n p. Et ensuite, trouver une fonction f ∶ D → Q p telle que pourtout x ∈ D, la mesure <strong>de</strong> la E-classe <strong>de</strong> x est égale à v p (f(x)), où v p est la valuationp-adique. Dans ce cas précis, la relation d'équivalence E est assez simple pour qu'onpuisse trouver explicitement une telle fonction f, mais cette métho<strong>de</strong> atteint ses limitessi le E <strong>de</strong>vient trop compliquée, en particulier, si, au lieu <strong>de</strong> compter les sous-groupes1


INTRODUCTIONd'indice p n , on veut compter les caractères complexes irréductibles <strong>de</strong> dimension p n .De même que le résultat <strong>de</strong> Denef sur la rationalité <strong>de</strong> séries <strong>de</strong> Poincaré étaitpossible grâce à un résultat d'élimination <strong>de</strong>s quanticateurs qui permettait <strong>de</strong> savoirqu'il susait <strong>de</strong> rajouter, pour tout n, l'ensemble <strong>de</strong>s puissances n-ièmes comme atomespour pouvoir construire tous les ensembles dénissables par <strong>de</strong>s opérations booléennes ;on voudrait aussi savoir exactement quelles sont les relations d'équivalence dénissablesdans Q p qu'il faut rajouter pour pouvoir toutes les décrire simplement. En d'autrestermes et pour reprendre la terminologie modèle théorique introduite par Poizat en1983 dans [Poi83], on veut montrer un résultat d'élimination <strong>de</strong>s imaginaires pour Q p .En 2006, Haskell, Hrushovski et Macpherson dans [HHM06] démontrent qu'on al'élimination <strong>de</strong>s imaginaires pour les corps valués algébriquement clos si on rajoutecertains quotients <strong>de</strong> GL n (K). Deux ans plus tard, Hrushovski et Martin, dans [HM08],utilisent ce résultat pour montrer l'élimination <strong>de</strong>s imaginaires pour Q p avec les mêmesortes additionnelles et en déduisent la rationalités <strong>de</strong>s séries <strong>de</strong> comptage <strong>de</strong>s représentations<strong>de</strong>s groupes niment engendrés nilpotents.Le but <strong>de</strong> ce mémoire est donc (d'essayer) <strong>de</strong> démontrer le principal résultat <strong>de</strong>théorie <strong>de</strong>s modèles <strong>de</strong> [HM08] : l'élimination <strong>de</strong>s imaginaires pour la théorie <strong>de</strong> Q pavec les sortes géométriques et d'en proter pour démontrer la plupart <strong>de</strong>s résultatspréliminaires sur les corps valués algébriquement clos et les corps p-adiquement clos,i.e. les corps dont la théorie est celle <strong>de</strong> Q p . Malheureusement, certaines imprécisions<strong>de</strong> la preuve donnée dans [HM08] font que la preuve donnée ici n'est pas complète, ilen manque l'extême n.Ce mémoire s'organise en <strong>de</strong>ux parties. Une première, centrée autour <strong>de</strong>s corps algébriquementclos, dans laquelle on introduit les notions <strong>de</strong> théorie <strong>de</strong>s modèles (dont lanotion d'imaginaire) et <strong>de</strong> théorie <strong>de</strong>s corps valués qui sont nécessaires. On en proterapour démontrer le résultat <strong>de</strong> A. Robinson (voir [Rob56]) d'élimination <strong>de</strong>s quanticateurspour les corps valués algébriquement clos et rappeler le résultat <strong>de</strong> [HHM06]d'élimination <strong>de</strong>s imaginaires pour cette même théorie. La <strong>de</strong>uxième partie, quant àelle, contient une étu<strong>de</strong> <strong>de</strong>s corps p-adiquement clos : la clôture algébrique et dénissable,les types, les extensions algébriques et pour nir les premiers éléments d'unepreuve d'élimination <strong>de</strong>s imaginaires.Protons en pour xer quelques notations : le langage L A est le langage L augmenté d'une constante par élément <strong>de</strong> A. ÊtreL A -dénissable revient donc à être L-dénissable à paramètres dans A ; on notera c ≡ A c ′ pour c et c ′ ont le même type au <strong>de</strong>ssus <strong>de</strong> A ; pour tout ensemble dénissable (ou inniment dénissable) X et tout ensemble<strong>de</strong> paramètres A dans un modèle M, on notera X(A) ∶= {x ∈ A ∶ M ⊧ X(a)}.Enn je tiens à remercier Élisabeth Bouscaren <strong>de</strong> m'avoir proposé ce sujet <strong>de</strong> mémoireet <strong>de</strong> m'avoir patiemment encadré au cours <strong>de</strong> ces <strong>de</strong>rniers mois. Luc Belairet Pierre Simon pour leurs discussions éclairantes. Tous les professeurs qui m'ont fait2


INTRODUCTIONdécouvrir et aimer la théorie <strong>de</strong>s modèles : François Loeser, René Cori, Martin Hils...Pierre-Yves Cou<strong>de</strong>rt pour sa gran<strong>de</strong> vigilance orthographique et Catherine Kikuchipour les synomymes et le thé.3


Première partieLes corps valués algébriquementclos4


1. LES LANGAGES DES CORPS VALUÉS1 Les langages <strong>de</strong>s corps valuésDénition 1.1 (Corps valué) :Soient K un corps et Γ un groupe abélien totalement ordonné. Une valuation estune application v ∶ K → Γ ∪ {∞} telle que :(i) pour tout a ∈ K, v(a) = ∞ ⇐⇒ a = 0 ;(ii) pour tous a, b ∈ K, v(ab) = v(a) + v(b) ;(iii) pour tous a, b ∈ K, v(a + b) ⩾ min(v(a), v(b)) ;(iv) pour tout γ ∈ Γ, γ < ∞ et γ + ∞ = ∞ + γ = ∞.Une autre notion utile est celle d'anneau <strong>de</strong> valuation mais ces <strong>de</strong>ux notion sont enfait i<strong>de</strong>ntiques.Dénition 1.2 (Anneau <strong>de</strong> valuation) :Un anneau intègre O <strong>de</strong> corps <strong>de</strong> fractions K est dit <strong>de</strong> valuation si pour tout x ∈ K,x ou x −1 est dans O.Remarque 1.3 :(i) Soient (K, v) un corps valué et O v = {a ∈ k ∶ v(a) ⩾ 0}, alors O v est un anneau<strong>de</strong> valuation.D'autre part, soit O un anneau <strong>de</strong> valuation et K son corps <strong>de</strong> fraction, alorsK peut être muni d'une valuation telle que O soit son anneau <strong>de</strong> valuation.(ii) Tout anneau <strong>de</strong> valuation est local. Si K est un corps valué d'anneau <strong>de</strong> valuationO et M est son idéal maximal, alors O /M est appelé le corps résiduel<strong>de</strong> K.Dans tout ce qui suit, si (K, v) est un corps valué, on notera O v son anneau <strong>de</strong>valuation, M v son idéal maximal, Γ v son groupe <strong>de</strong> valuation et k v son corps résiduel.S'il n'y a pas d'ambiguïté sur la valuation on les notera O K , M K , Γ K et k K , voire O,M, Γ et k s'il n'y a pas d'ambiguïté sur le corps non plus.Dénition 1.4 :Soient v 1 et v 2 <strong>de</strong>ux valuations sur un même corps K, on dit que v 1 ⩽ v 2 si et seulementsi O v2 ⊆ O v1 . C'est un pré-ordre. On dira que <strong>de</strong>ux valuations sont équivalentessi elles sont équivalentes pour la relation associée à ce pré-ordre, i.e. O v1 = O v2 .Remarque 1.5 :Soient v 1 et v 2 <strong>de</strong>ux valuations sur un même corps K, v 1 est équivalente à v 2 siet seulement si il existe σ ∶ Γ v1 → Γ v2 , isomorphisme <strong>de</strong> groupes ordonnés, tel quev 2 = σ ○ v 1 .5


1. LES LANGAGES DES CORPS VALUÉSIl suit <strong>de</strong> cette remarque qu'on ne considérera désormais les valuations qu'à équivalenceprès. La théorie <strong>de</strong>s corps valués n'est donc pas tant la théorie <strong>de</strong>s valuationsque la théorie <strong>de</strong>s anneaux <strong>de</strong> valuation.Pour faire <strong>de</strong> la théorie <strong>de</strong>s modèles, il faut introduire le langage qu'on utilisera. Ily en a un certain nombre qui sont classiquement utilisés dans la littérature. Celui quisera le plus utilisé ici est le suivant :Dénition 1.6 (L div ) :Le langage L div est {+, −, ×, 0, 1, div} où +, − et × sont <strong>de</strong>s fonctions binaires, 0 et1 sont <strong>de</strong>s constantes et div est une relation binaire. Dans un corps valué (K, v), oninterprète +, −, ×, 0 et 1 par la structure d'anneau <strong>de</strong> K et x div y par v(x) ⩽ v(y).La théorie <strong>de</strong>s corps valués est alors donnée par les axiomes suivants :(i) K est un corps ;(ii) 1 div 1 ∧ 1 div 0 ;(iii) ∀x∀y 1 div x ∧ 1 div y ⇒ 1 div x + y ∧ 1 div xy ;(iv) ∀x∀y xy = 1 ⇒ (1 div x ∨ 1 div y) ;(v) ∀x∀y∀z xy = 1 ⇒ (x div z ⇐⇒ 1 div yz).On aurait pu tout simplement prendre le langage <strong>de</strong>s anneaux {+, −, ×, 0, 1} etajouter un prédicat pour l'anneau <strong>de</strong> valuation, mais alors, à moins <strong>de</strong> rajouter l'inverse,les théories que l'on considère plus loin per<strong>de</strong>nt l'élimination <strong>de</strong>s quanticateurs.Remarque 1.7 :Une sous-L div -structure est un anneau dont le corps <strong>de</strong>s fractions (qui est aussi unesous-structure) est un corps valué muni <strong>de</strong> la restriction <strong>de</strong> la valuation.Il y a un autre langage classique, qui est peut être plus proche <strong>de</strong> l'intuition quel'on a <strong>de</strong> ce qu'est un corps valué, mais qui a le défaut d'être multi-sorté.Dénition 1.8 :Le langage tri-sorté <strong>de</strong>s corps valué est constitué <strong>de</strong> trois sortes K, Γ ∞ et k et <strong>de</strong>ssymboles suivants : {+, −, ×, 0, 1} sur K et k ; {+, −, 0, ⩽, ∞} sur Γ ∞ ; v ∶ K → Γ ∞ ; res ∶ K → k.Il faut alors faire attention que la théorie <strong>de</strong>s corps valué dans ce langage contient lefait que v et res sont surjectives, bien que ce ne soit pas le cas <strong>de</strong> toutes les structures. Àce détail près, la théorie <strong>de</strong>s corps valués a les même propriétés dans ces <strong>de</strong>ux langages,et, en particulier, les sous-ensembles dénissables <strong>de</strong> la sorte K sont exactement lesmême que ceux qui sont dénissables dans L div .6


1. LES LANGAGES DES CORPS VALUÉSDénition 1.9 (ACVF) :On note ACVF la théorie <strong>de</strong>s corps valués algébriquement clos <strong>de</strong> valuation nontriviale dans L div . Elle est composée <strong>de</strong>s axiomes suivants : K est un corps valué (voir l'axiomatisation <strong>de</strong> la théorie <strong>de</strong>s corps valuésci-<strong>de</strong>ssus) ; pour tout n ∈ N ⋆ , tout polynôme <strong>de</strong> K[X] <strong>de</strong> <strong>de</strong>gré n admet une racine ; il existe x tel que ¬(x div 1).Dans la suite <strong>de</strong> ce mémoire, à <strong>de</strong> rares exceptions près, les corps valués seront toujoursnon trivialement valués. On ne considérera <strong>de</strong>s corps valués <strong>de</strong> valuation trivialeque dans la preuve du théorème (3.4) car ils pourront apparaître lorsque l'on considère<strong>de</strong>s sous-structures.Pour nir, nous allons dénir une classe <strong>de</strong> corps valués particulière qui est trésprésente en théorie <strong>de</strong>s modèles. À vrai dire, tous les corps dont on étudie la théoriedans ce mémoire en font partie.Dénition 1.10 (Corps Hensélien) :Un corps valué (K, v) est dit Hensélien si pour tout polynôme P [X] ∈ O[X] ettout a ∈ O tel que res(P (a)) = 0 et res(P ′ (a)) ≠ 0, il existe b ∈ O tel que P (b) = 0 etres(a) = res(b).Proposition 1.11 :Soit (K, v) un corps valué, les conditions suivantes sont équivalentes :(i) K est Hensélien.(ii) Il n'y a qu'une extension <strong>de</strong> v à toute extension algébrique <strong>de</strong> K (à équivalenceprès).(iii) Il n'y a qu'une extension <strong>de</strong> v à toute extension nie <strong>de</strong> K (à équivalence près).(iv) (Hensel-Rychlik) Soient P [X] ∈ O[X] et a ∈ O tel que v(P (a)) > 2v(P ′ (a)),il existe alors b ∈ O tel que P (b) = 0 et v(b − a) = v(P (a)) − v(P ′ (a)).Démonstration.(iv) ⇒ (i) Soient P ∈ O[X] et a ∈ O tel que res(P (a)) = 0 et res(P ′ (a)) ≠ 0 i.e.v(P (a)) > 0 = v(P ′ (a)). Alors par (iv) il existe b ∈ O tel que P (b) = 0 etv(b − a) = v(P (a)) − 0 > 0.(i) ⇒ (iv) Comme v(P ′ (a)) est strictement majoré par une valuation, on ne peut pasavoir P ′ (a) = 0. Soient c = −P (a)/P ′ (a) et Q(X) = P (Xc + a)/P (a). Si P (x +a) = ∑ n i=0 λ iX i on a bien λ i ∈ O et Q(X) = ∑ n i=0 a i(−1/P ′ (a)) i P (a) i−1 X i . Soncoecient constant est a 0 /P (a) = 1 ∈ O. Le coecient <strong>de</strong> X est −a 1 /P ′ (a) = −1 ∈O et pour les autres on a v(a i (−1/P ′ (a)) i P (a) i−1 ) ⩾ (i − 1)v(P (a)) − iv(P ′ (a)) >(2(i − 1) − i)v(P ′ (a)) ⩾ 0. On a donc bien Q(X) ∈ O[X]. De plus v(Q(1)) =7


2. LES EXTENSIONS DES VALUATIONSv(∑ n i=2 a i(−1/P ′ (a)) i P (a) i−1 ) et tous les termes <strong>de</strong> la somme sont dans M doncv(Q(1)) > 0. De même, v(Q ′ (1)+1) = v(∑ n i=2 a ii(−1/P ′ (a)) i P (a) i−1 ) ⩾ v(Q(1)) >0 et donc v(Q ′ (1)) = 0. Le (i) nous donne alors d ∈ O tel que Q(d) = 0 etv(d − 1) > 0, en particulier v(d) = 0. Si on pose b = cd + a alors P (b) = Q(d) = 0 etv(b − a) = v(c) + v(d) = v(P (a)) − v(P ′ (a)).(ii) ⇒ (iii) C'est évi<strong>de</strong>nt.(iii) ⇒ (ii) Soient K ⩽ L une extension algébrique et O 1 et O 2 <strong>de</strong>ux anneaux <strong>de</strong> valuation<strong>de</strong> L qui éten<strong>de</strong>nt O v . Pour tout x ∈ L, K[x] est une extension nie <strong>de</strong>K et O 1 ∩K[x] et O 2 ∩K[x] en sont <strong>de</strong>ux anneaux <strong>de</strong> valuation. Par (iii), ilssont égaux. Pour tout x ∈ L on a donc x ∈ O 1 ⇐⇒ x ∈ O 1 ∩K[x] ⇐⇒ x ∈O 2 ∩K[x] ⇐⇒ x ∈ O 2 .(i) ⇐⇒ (ii) Se reporter à [EP05, Proposition 4.1.3, p. 87-90].◻On peut remarquer une conséquence immédiate <strong>de</strong> la proposition que l'on vientd'énoncer : comme un corps algébriquement clos n'a pas d'extension algébrique, il estHensélien.Corollaire 1.12 :Toute extension algébrique d'un corps Hensélien est Hensélienne.Démonstration. Soit (K, v) ⩽(L, w) une extension algébrique <strong>de</strong> corps valué, où K estHensélien. Alors toute extension algébrique L ′ <strong>de</strong> L est une extension algébrique <strong>de</strong> Ket comme toute valuation qui étend w étend v, il ne peut y avoir qu'une extension <strong>de</strong>w à L ′ .◻Proposition 1.13 (Existence <strong>de</strong> l'Hensélianisé) :Soit (K, v) un corps valué, il existe un corps hensélien (K h , v h ) et une injection <strong>de</strong>corps valué i ∶ K → K h , qui est universelle au sens suivant : pour toute injection j <strong>de</strong>K dans un corps Hensélien L, il existe une unique injection ĵ <strong>de</strong> K h dans L telle quej = ĵ ○ iDémonstration. On peut en trouver une dans [EP05, 5.2.2, p.121]◻2 Les extensions <strong>de</strong>s valuationsLe but <strong>de</strong> cette section est d'étudier comment les valuations peuvent s'étendre à uneextension <strong>de</strong> corps. On montrera tout d'abord que <strong>de</strong> telles extensions existent toujours,et ensuite on se restreindra aux extensions algébriques pour démontrer le théorème <strong>de</strong>conjugaison (voir (2.15)). La preuve donnée ici <strong>de</strong> ce <strong>de</strong>rnier théorème est inspirée <strong>de</strong>[Rib99 ; EP05]. On peut aussi en trouver une dans [Lan02, Corollary XII.4.9, p.485].8


2. LES EXTENSIONS DES VALUATIONSDénition 2.1 (Extension <strong>de</strong> valuation) :Soient (K, v) et (L, w) <strong>de</strong>ux corps valués tels que K ⩽ L. On dit que w étend v (eton note (K, v) ⩽(L, w)) si O w ∩K = O v .On remarque alors que w K et v sont équivalentes et donc quitte à remplacer v parune valuation équivalente, on peut supposer w K = v.Tout d'abord montrons le théorème d'extension <strong>de</strong> Chevalley, la preuve donnée iciest celle <strong>de</strong> [Rib64, Théorème 4, p. 43-45]Théorème 2.2 (Extension <strong>de</strong> Chevalley) :Soient K un corps, A un sous-anneau <strong>de</strong> K et p un idéal premier <strong>de</strong> A, il existealors un anneau <strong>de</strong> valuation O <strong>de</strong> K d'idéal maximal M, tel que A ⊆ O et M∩A =p.Démonstration. Soit F ∶= {(O, M) ∶ A ⊆ O ⊆ K, O est un sous-anneau local <strong>de</strong> Kd'idéal maximal M et M ∩ A = p}. Cette famille contient A p (le localisé <strong>de</strong> A en p)qui est bien un sous-anneau local <strong>de</strong> K qui contient A et dont l'idéal maximal estpA p dont l'intersection avec A est bien p. De plus, on peut ordonner cette famille par(B, M) ⩽ (B ′ , M ′ ) si B ⊆ B ′ et M ′ ∩ B = M. Muni <strong>de</strong> cette ordre F est inductive, eneet si (O i , M i ) est une chaîne alors O = ⋃ i O i est un sous anneau <strong>de</strong> K qui contientA et dont M = ⋃ i M i est un idéal. Si I est un autre idéal <strong>de</strong> O, alors, pour tout i,I ∩ O i est un idéal <strong>de</strong> O i et donc I ∩ O i ⊆ M i . Comme tout point <strong>de</strong> I est dans un O i ,il s'en suit que I ⊆ M et ce <strong>de</strong>rnier est donc bien l'unique idéal maximal <strong>de</strong> O. EnnM ∩ A = ⋃ i M i ∩ A = ⋃ i p = p.Par le lemme <strong>de</strong> Zorn, il existe (O, M) maximal dans F. Supposons qu'il existex ∈ K tel que x ∉ O et x −1 ∉ O. Supposons alors que M[x] ≠ O[x], il existe M ′ unidéal maximal <strong>de</strong> O[x] qui contient M[x]. Montrons alors que O[x] M ′ est un élément<strong>de</strong> F. C'est un sous-anneau <strong>de</strong> K qui contient A et dont l'unique idéal maximal estM ′ O[x] M ′. De plus, M ′ O[x] M ′ ∩O = (M ′ O[x] M ′ ∩O[x])∩O = M ′ ∩O ⊇ M[x]∩O ⊇ M,or M ′ O[x] M ′ ∩ O est un idéal <strong>de</strong> O qui ne contient pas 1 (sinon M ′ O[x] M ′ <strong>de</strong>vrait lecontenir, ce qui contredirait son caractère maximal) et donc M ′ O[x] M ′ ∩ O = M. Enparticulier M ′ O[x] M ′ ∩ A = (M ′ O[x] M ′ ∩ O) ∩ A = M ∩ A = p. Comme O ⊊ O[x], celacontredirait le fait que (O, M) soit maximal. On a donc montré que O[x]M = O[x].Par le même argument appliqué à x −1 , on a aussi O[x −1 ]M = O[x −1 ].Il s'en suit que 1 = ∑ n i=0 a ix i = ∑ m i=0 b ix −i où les a i et les b i sont dans M. De plus, onpeut supposer que n et m sont minimaux et que m ⩽ n (l'autre cas est i<strong>de</strong>ntique). Ona alors ∑ m i=1 b ix −i = 1 − b 0 ∈ O /M et donc, en posant c i =b i1−b 0qui est toujours dans M,on a 1 = ∑ m i=1 c ix −i , d'où x n = ∑ m i=1 c ix n−i et 1 = ∑ n i=0 a ix i = ∑ n−1i=0 a ix i + ∑ n−1i=n−m a nc n−i x ice qui contredit la minimalité <strong>de</strong> n.Il s'en suit donc que pour tout x ∈ K, soit x soit x −1 est dans O et ce <strong>de</strong>rnier estdonc bien un anneau <strong>de</strong> valuation.◻9


2. LES EXTENSIONS DES VALUATIONSOn peut en déduire immédiatement l'existence d'extensions pour les valuations.Corollaire 2.3 :Soient (K, v) un corps valué et K ⩽ L une extension <strong>de</strong> corps, il existe alors unevaluation w sur L qui étend v.Démonstration. On applique le théorème (2.2) dans L avec A = O K et p = M K . Ilexiste donc O un anneau <strong>de</strong> valuation <strong>de</strong> L d'idéal maximal M qui contient O K ettel que M ∩ K = M K . Si on avait x ∈ (O ∩K) qui ne soit pas dans O K , on auraitx −1 ∈ M K ⊆ M, mais comme x ∈ O, on aurait 1 ∈ M ce qui est absur<strong>de</strong>. On a donc bienO ∩K = O K et donc toute valuation sur L associée à O étend v.◻Remarque 2.4 :La principale conséquence <strong>de</strong> ce théorème est que tout corps valué (K, v) peut êtreplongé dans un corps valué algébriquement clos muni d'une valuation qui étend v. Celasera particulièrement utile quand on voudra étudier la théorie <strong>de</strong> Q p car tout modèle <strong>de</strong>cette théorie se plonge donc dans un corps valué algébriquement clos, théorie que l'onconnaît mieux.Rappelons ensuite le théorème <strong>de</strong>s restes chinois qui sera utilisée dans la preuve duthéorème d'approximation (2.6).Théorème 2.5 (Théorème <strong>de</strong>s restes chinois) :Soient A un anneau, (A i ) i=1...n <strong>de</strong>s idéaux tels que A i + A j = A pour tout i ≠ j,alors la èche canonique A → ∏ i A/A i est surjective.On prouve maintenant une version très faible du théorème d'approximation, maisqui sura à notre démonstration. On peut en trouver <strong>de</strong>s versions plus fortes dans[EP05] ou [Rib99].Théorème 2.6 (Théorème d'approximation) :Soient (v i ) i=1...n <strong>de</strong>s valuations incomparables d'un corps K et M i l'idéal maximal<strong>de</strong> O i l'anneau <strong>de</strong> valuation associé à la valuation v i , alors pour tout (a i ) ∈ ∏ i O i ,il existe a ∈ ⋂ i O i tel que pour tout i, a − a i ∈ M i .Commençons par démontrer un lemme technique.Lemme 2.7 :En reprenant les notation précé<strong>de</strong>ntes, soit A = ⋂ i O i et p i = A ∩ M i . Alors pourtout i, O i = A pi (i.e. le localisé <strong>de</strong> A en p i ).Démonstration. Comme A ⊆ O i et que A/p i ⊆ O i /M i = O ⋆ i , il s'en suit que A pi ⊆ O i .Soit maintenant a ∈ O i (on peut supposer a non nul sinon c'est ni). Soit p un nombrepremier supérieur à la caractéristique <strong>de</strong> tous les k j = O j /M j et tel que le résidu <strong>de</strong> a10


2. LES EXTENSIONS DES VALUATIONSdans k j (quand il existe) n'est pas une racine p-ième <strong>de</strong> l'unité. On pose b = ∑ p−1k=0 ak , eton va montrer que b −1 ∈ A/p i et ab −1 ∈ A.Soit j tel que a ∈ O j et soit â j son résidu dans k j . Si â j = 1 le résidu <strong>de</strong> b, noté ˆb j ,est égal à p qui est non nul. Sinon ˆb j = (1−â p j )(1−â j) −1 ≠ 0. Dans les <strong>de</strong>ux cas v j (b) = 0et donc b −1 ∈ O ⋆ j = O j /M j et bien sûr ab −1 ∈ O j . Comme a ∈ O i , on a, en particulier,que b −1 /∈ M i ⊇ p i .Si a /∈ O j , alors v j (a) < 0 et donc a −1 ∈ M j . Si on pose c = ∑ p−1k=0 a−k , on a alorsa p−1 b = c ∈ O j et <strong>de</strong> plus, par les même considérations que précé<strong>de</strong>mment, c est inversibledans O j . On a donc b −1 = a −(p−1) c −1 et ab −1 = a −(p−2) c −1 ils sont bien tous les <strong>de</strong>uxdans O j .On a donc bien montré que ab −1 et b −1 sont dans ⋂ j O j et que b −1 ∉ p i . Il s'en suitimmédiatement que a = ab −1 /b −1 ∈ A pi .◻Démonstration(Théorème (2.6)).En reprenant les notations du lemme, si p i ⊆ p j , comme A pi = O i , on aurait alorsO j ⊆ O i , ce qui est impossible car les valuations sont incomparables.Montrons <strong>de</strong> plus que les p j sont maximaux. En fait on va montrer que tout idéalpropre A <strong>de</strong> A est inclus dans un p i . Cela sura car si on a un idéal propre <strong>de</strong> A telque p i ⊆ A alors il existe j tel que p i ⊆ A ⊆ p j . Comme les p j sont incomparables, ondoit alors avoir i = j et p i = A.Par l'absur<strong>de</strong>, soit donc A qui n'est inclus dans aucun p i , on a alors pour tout i una i ∈ A/p i . De plus, comme p i /⊆ p j pour i ≠ j, soit b ij ∈ p i /p j . On pose alors c j = ∏ i≠j b ijqui est donc un élément <strong>de</strong> p i pour tout i ≠ j. De plus comme p j est premier, c j /∈ p j . Lesa j c j sont donc <strong>de</strong>s éléments <strong>de</strong> A qui sont dans tous les p i pour i ≠ j et mais pas dansp j . Et si on pose d = ∑ j a j c j on obtient alors un élément <strong>de</strong> A qui n'est dans aucun <strong>de</strong>sp i . Comme p i = A ∩ M i ils ne sont dans aucun <strong>de</strong>s M i . Comme les O i sont <strong>de</strong>s anneauxlocaux, d −1 ∈ O i pour tout i et donc d −1 ∈ A ce qui implique que A contient un élémentinversible et donc A = A.Comme les p i sont maximaux et distincts, le théorème <strong>de</strong>s restes chinois (2.5)implique que la èche canonique A → ∏ i A/p i est surjective. De plus, le morphismecanonique A → A pi → A pi /p i A pi qui a a ∈ A associe a/1 + p i A pi est une surjection. Eneet, soit a/b ∈ A pi , i.e. b ∈ A/p i . Comme p i est maximal, l'idéal engendré par p i et best A. Il existe donc c ∈ A tel que a − cb ∈ p i et donc a/b − c = (a − cb)/b ∈ p i A pi et donca/b + p i A pi est l'image <strong>de</strong> c ∈ A. De plus cette surjection passe au quotient et on a doncune surjection A/p i → A pi /p i A pi . Mais ces <strong>de</strong>ux anneaux sont <strong>de</strong>s corps et le morphismeest donc injectif, i.e. A/p i ≅ A pi /p i A pi . Comme par le lemme (2.7) on a A pi = O i et queson idéal maximal est p i A pi = M i , on a une èche A → ∏ i O i /M i qui est surjective etil sut <strong>de</strong> prendre pour a l'antécé<strong>de</strong>nt <strong>de</strong> (a i + M i ) i=1...n .◻11


2. LES EXTENSIONS DES VALUATIONSLemme 2.8 :Soit (K, v) ⩽(L, w) une extension algébrique <strong>de</strong> corps, alors :(i) Γ L ⊆ div(Γ K ) ;(ii) k K ⩽ k L est une extension algébrique.Démonstration.(i) Soit w(x) ∈ Γ L , comme K ⩽ L est algébrique, il existe P ∈ K[X] tel queP (x) = ∑ i a i x i = 0. Mais alors, comme w(P (x)) = ∞ il existe i et j distinctstels que w(a i x i ) = w(a j x j ) et donc (j − i)w(x) = v(a i ) − v(a j ) ∈ Γ K .(ii) Soient res(x) ∈ k L et P ∈ K[X] tel que P (x) = ∑ i a i x i = 0. Soit a i0 <strong>de</strong>valuation minimale parmi les a i , on a alors Q(x) = ∑ i a i a −1i 0x i ∈ O v [x] quiannule x. Comme le coecient i 0 <strong>de</strong> Q est 1, celui <strong>de</strong> res Q aussi, i.e. res(Q)est un polynôme non nul, et res(Q)(res(x)) = res(Q(x)) = 0.◻Corollaire 2.9 :Soit (K, v) ⩽(L, w) une extension algébrique <strong>de</strong> corps valués. Si v est triviale alorsw est triviale aussi.Démonstration. C'est une conséquence immédiate du lemme qui précè<strong>de</strong>. En eetdiv({0}) = {0}.◻Lemme 2.10 :Soit O un anneau <strong>de</strong> valuation, alors O est intégralement clos (dans son corps <strong>de</strong>fractions K).Démonstration. Soient P ∈ O[X] unitaire et x ∈ K tel que P (x) = 0. Notons P =∑ n i=0 a ix i et supposons que v(x) < 0. Alors pour tout i < n, on a v(a i x i ) = v(a i )+i⋅v(x) ⩾iv(x) > n ⋅ v(x) = v(a n x n ) et donc v(P (a)) = n ⋅ v(x) ≠ ∞ = v(0), ce qui est absur<strong>de</strong>,donc x ∈ O.◻Lemme 2.11 :Soit (K, v) un corps valué algébriquement clos, on a alors :(i) Γ K est divisible ;(ii) k K est algébriquement clos.Démonstration.(i) Soient v(x) ∈ Γ K et n ∈ N. Comme K est algébriquement clos, il existe y ∈ Ktel que y n = x. On a alors nv(y) = v(x).12


2. LES EXTENSIONS DES VALUATIONS(ii) Soit P ∈ k K [X] unitaire il existe alors Q ∈ O v [X] unitaire tel que res(Q) = P.Comme K est algébriquement clos il existe x ∈ K tel que Q(x) = 0. CommeO v est intégralement clos par le lemme (2.10), on a x ∈ O v et P (res(x)) =res(Q(x)) = 0.◻Lemme 2.12 :Soit (K, v) ⩽(L, w) une extension normale <strong>de</strong> corps valués. Alors pour tout σ ∈Aut(L/K), w ○ σ est une valuation et ⋂ σ∈Aut(L/K) O w○σ est la clôture intégrale <strong>de</strong> O vdans L.Démonstration. Le fait que w ○ σ soit une valuation suit <strong>de</strong> vérications évi<strong>de</strong>ntes.De plus, comme O w○σ est intégralement clos dans L (voir lemme (2.10)), la clôtureintégrale <strong>de</strong> O v est incluse dans ⋂ σ∈Aut(L/K) O w○σ . Réciproquement, soit x ∈⋂ σ∈Aut(L/K) O w○σ . Comme l'extension est normale, P (X) = ∏ σ∈Aut(L/K) (X − σ(x)) ∈K[X] et comme O w○σ = σ −1 (O w ), pour tout σ ∈ Aut(L/K), w(σ(x)) ⩽ 0 et doncP ∈ O w [X]. Mais, comme O w ∩K = O v , on a P ∈ O v [X] et ce polynôme est unitaire etannule x.◻Lemme 2.13 :Soit (K, v) un corps valué, K ⩽ L une extension algébrique <strong>de</strong> corps et O 1 ⊆ O 2 <strong>de</strong>uxanneaux <strong>de</strong> valuation <strong>de</strong> L au <strong>de</strong>ssus <strong>de</strong> O v , alors O 1 = O 2 .Démonstration. Montrons tout d'abord que M 2 ⊆ O 1 , où M 2 est l'idéal maximal <strong>de</strong>O 2 . Soit x ∈ M 2 , comme O 1 est un anneau <strong>de</strong> valuation, on a x ∈ O 1 ou x −1 ∈ O 1 . Six −1 ∈ O 1 ⊆ O 2 alors x est inversible dans O 2 ce qui est absur<strong>de</strong>. De plus comme M 2 estun idéal <strong>de</strong> O 2 ⊇ O 1 c'est aussi un idéal <strong>de</strong> O 1 . On a alors Ô1 = O 1 /M 2 ⊆ O 2 /M 2 = k 2 .Comme O 1 et O 2 sont <strong>de</strong>s anneaux <strong>de</strong> valuation au <strong>de</strong>ssus <strong>de</strong> O K , on a en particulierque M K ⊆ M 2 ∩ O et donc que k K = O K /M K ⊆ Ô1. D'après le lemme (2.8), k K ⩽ k 2est une extension algébrique, et comme on a k K ⊆ Ô1 ⊆ k 2 , il s'en suit que pour toutx ∈ Ô1, k K [x] est une k-algèbre <strong>de</strong> dimension nie, intègre, donc un corps. Comme toutélément <strong>de</strong> Ô1 est inversible, c'est donc un corps. Mais Ô1 est un anneau <strong>de</strong> valuation<strong>de</strong> k 2 . En eet, soit ̂x ∈ k 2 , où x ∈ O 2 ⊆ K 2 . Si x ∈ O 1 alors ̂x ∈ Ô1 et si x −1 ∈ O 1alors (̂x) −1 = ̂x −1 ∈ Ô1. On a donc Ô1 = Frac(Ô1) = k 2 . Il s'en suit immédiatement queO 1 = O 2 .◻Lemme 2.14 :Soient v et (v i ) i=1...n <strong>de</strong>s valuations non triviales <strong>de</strong> K telles que ⋂ i O vi ⊆ O v , alorsil existe un indice i 0 tel que O v et O vi0 sont comparables.Démonstration. Quitte à retirer les j tels que O vi ⊆ O vj pour un certain i ≠ j, onpeut supposer qu'aucune <strong>de</strong>s valuations v i ne sont comparables. Supposons alors quev n'est comparable à aucune <strong>de</strong>s valuations v i , alors par le lemme (2.6), il existe13


3. ÉLIMINATION DES QUANTIFICATEURS DANS ACVFx ∈ ⋂ i O vi ∩ O v tel que v(x − 1) > 0 et v i (x) > 0 pour tour i. Mais alors comme v(x) > 0implique v(x − 1) = 0, on a donc v(x) = 0. De même on trouve y ∈ K tel que v(y) > 0et v i (y) = 0 pour tout i. Mais alors v(x/y) = −v(y) < 0 et v i (x/y) = v i (x) > 0 pour touti, ce qui contredit le fait que ⋂ i O vi ⊆ O v . ◻Théorème 2.15 (Théorème <strong>de</strong> conjugaison) :Soit (K, v) un corps valué et (K, v) ⩽(L, w) une extension normale <strong>de</strong> corps valué,alors toute valuation w ′ sur L qui étend v est <strong>de</strong> la forme (à équivalence près) w○σpour σ ∈ Aut(L/K).Démonstration. Le cas <strong>de</strong>s extensions <strong>de</strong> la valuation triviale est traitée dans le corollaire(2.9), on peut donc supposer que v n'est pas triviale.Comme w ′ étend v, O w ′ ∩K = O v . De plus, d'après le lemme (2.10), O w ′ estintégralement clos dans L et d'après le lemme (2.12), ⋂ σ∈Aut(K/K) O w○σ est la clôtureintégrale <strong>de</strong> O v dans L, on a donc ⋂ σ∈Aut(L/K) O w○σ ⊆ O w ′. Mais alors d'après le lemme(2.14), comme Aut(L/K) est ni, il existe σ ∈ Aut(L/K) tel que O w ′ et O w○σ sontcomparables et donc, par le lemme (2.13), w ′ et w ○ σ sont équivalentes.◻Le résultat que l'on utilisera vraiment est une extension <strong>de</strong> ce théorème à toute laclôture algébrique.Corollaire 2.16 :Soient (K, v) un corps valué, K 1 et K 2 <strong>de</strong>ux clôtures algébriques <strong>de</strong> K. Soientv 1 et v 2 <strong>de</strong>s valuations sur K 1 et K 2 respectivement qui éten<strong>de</strong>nt v. Alors il existeσ ∈ Iso K (K 1 , K 2 ) tel que v 1 = v 2 ○ σ (à équivalence près).Démonstration. Soit X ∶= {(L 1 , σ) ∶ K ⩽ L 1 ⩽ K 1 , σ ∈ End K (L 1 , K 2 ) et v 1 L1 = v 2 ○ σ}.L'ensemble X ordonné par l'inclusion est inductif et donc par le lemme <strong>de</strong> Zorn, ilexiste (L 1 , σ) ∈ X maximal. Montrons que L 1 = K 1 . On aura alors K ⩽ σ(K 1 ) ⩽ K 2 etσ(K 1 ) algébriquement clos d'où σ(K 1 ) = K 2 et on aura terminé.Supposons donc, par l'absur<strong>de</strong>, qu'on ait a ∈ K 1 /L 1 . Soit L ′ 1 la clôture normale <strong>de</strong>L 1 [a]. Comme K 1 est la clôture algébrique <strong>de</strong> L 1 , par unicité <strong>de</strong> la clôture algébrique(au <strong>de</strong>ssus d'un isomorphisme), on peut étendre σ en σ ′ ∈ Iso K (K 1 , K 2 ). Le corpsL ′ 1 est muni <strong>de</strong> <strong>de</strong>ux valuations qui sont les restrictions <strong>de</strong> v 1 et v 2 ○ σ ′ , et ces <strong>de</strong>uxvaluations coïnci<strong>de</strong>nt sur L 1 . Par le théorème (2.15), il existe τ ∈ Aut(L ′ 1 /L 1) tel quev 1 L ′1= v 2 ○ σ ′ ○ τ. Mais alors (L ′ 1 , σ′ ○ τ) ∈ X, ce qui contredit le fait que (L 1 , σ) soitmaximal.◻3 Élimination <strong>de</strong>s quanticateurs dans ACVFLa preuve <strong>de</strong> l'élimination <strong>de</strong>s quanticateurs pour les corps valués est adaptée <strong>de</strong>celle <strong>de</strong> [Cha08] en utilisant un autre critère, plus élémentaire.14


3. ÉLIMINATION DES QUANTIFICATEURS DANS ACVFLemme 3.1 (Critère d'élimination <strong>de</strong>s quanticateurs) :Une théorie T dans un langage L admet l'élimination <strong>de</strong>s quanticateurs si et seulementsi pour tous modèles M et N <strong>de</strong> T qui contiennent une L-structure commune A,toute formule ϕ <strong>de</strong> L A et ¯m ∈ M tel que M ⊧ ϕ[ ¯m], il existe ¯n ∈ N tel que N ⊧ ϕ[¯n].Étant donné qu'une preuve <strong>de</strong> l'élimination <strong>de</strong>s quanticateurs suivant ce critèrecontient explicitement une preuve <strong>de</strong> la modèle-complétu<strong>de</strong>, pour plus <strong>de</strong> clarté, on vanaturellement procé<strong>de</strong>r en <strong>de</strong>ux temps. Tout d'abord montrer la modèle-complétu<strong>de</strong>,puis en déduire l'élimination <strong>de</strong>s quanticateurs, en utilisant le théorème <strong>de</strong> conjugaison.Lemme 3.2 :La théorie ACVF est modèle-complète.Démonstration. On va utiliser le critère <strong>de</strong> Tarski-Vaught. Soient (K, v) et (L, w) <strong>de</strong>uxmodèles <strong>de</strong> ACVF tels que (K, v) est une sous-structure <strong>de</strong> (L, w), i.e. un sous-corpsmuni <strong>de</strong> la restriction <strong>de</strong> la valuation par la remarque (1.7). Soit alors ϕ[x, ā] ∈ L divoù ā est un uplet <strong>de</strong> K et m ∈ L tel que L ⊧ ϕ[m, ā]. On veut montrer qu'il existem ′ ∈ K tel que K ⊧ ϕ[m ′ , ā]. Si m = 0 alors il est déjà dans K et c'est évi<strong>de</strong>nt. Onpeut donc supposer m inversible et comme toute formule sur m est équivalente à uneformule sur m −1 (il sut <strong>de</strong> remplacer x par 1/x dans les polynômes qui apparaissent etmultiplier par la bonne puissance <strong>de</strong> x pour que cela gar<strong>de</strong> un sens), on peut supposerque w(m) ⩾ 0. De même, si m est algébrique sur K, qui est algébriquement clos, on am ∈ L et c'est ni. On peut donc aussi supposer que m est transcendant sur K.Il y a donc trois cas qui correspon<strong>de</strong>nt aux diérentes formes d'extension transcendante.Extension purement ramiée : Supposons qu'il existe b ∈ K tel que w(m−b) /∈ Γ K .Quitte à considérer ϕ[x + b, ā], on peut considérer que w(m) /∈ Γ K . On peut alorssupposer (comme toujours) que ϕ est une conjonction d'atomes et <strong>de</strong> négationd'atomes, i.e. <strong>de</strong> la forme suivante :n⋀i=1¬P i (x) = 0 ∧ n′⋀j=1R j [x] div R ′ j[x] ∧n′′⋀j=n ′ +1¬R j [x] div R ′ j[x]Notons R j = λ 1 ∏ k (x − a j,k ) n j,k et <strong>de</strong> même pour R′j . Quitte à agrandir ā, onpeut supposer que toutes les racines sont <strong>de</strong>dans. Soit alors (G, D) la coupure <strong>de</strong>w(m) dans v(ā), i.e. G = {x ∈ ā ∶ w(x) < w(m)} et D = {x ∈ ā ∶ w(m) < w(x)}.On a alorsw(R j (m)) = w(λ) +∑a j,k ∈Gn j,k w(a j,k ) +∑a j,k ∈Dn j,k w(m)15


3. ÉLIMINATION DES QUANTIFICATEURS DANS ACVFet donc R j (m) div R j ′ (m) si et seulement si :w( λ jλ ′ ) + ∑ n j,k w(a j,k ) −j a j,k ∈G∑ n ′ j,k w(a′ j,k ) + ( ∑a ′ j,k ∈Ga j,k ∈Dn j,k −∑a ′ j,k ∈D n ′ j,k)w(m) ⩽ 0,c'est-à-dire n j w(m) ⩽ b j avec n j ∈ Z et b j ∈ Γ K . Comme L est algébriquement clos,Γ K est divisible (voir lemme (2.11)) et comme w(m) /∈ Γ K , R j (m) div R j ′ (m) estdonc équivalent à w(m) < b ′ j ou w(m) > b ′ j avec b ′ j ∈ Γ K. Quitte à supposer que lesb ′ j sont dans v(ā), les conditions sur la valuation <strong>de</strong> m (même les négations) sontdonc toutes équivalentes à la réalisation <strong>de</strong> la coupure <strong>de</strong> w(m) sur v(ā). Maiscomme Γ K ⊧ DLO dont tous les modèles sont ω-saturés, il existe m ′ ∈ K qui réalisecette coupure. De plus pour tout u ∈ K tel que w(u) > w(m ′ ), w(m ′ + u) = w(m ′ )réalise aussi cette coupure et il y a donc une innité <strong>de</strong> valeurs possibles pour m ′ .Il sut d'en prendre une qui n'annule aucun <strong>de</strong>s P i et on a alors K ⊧ ϕ[m ′ , ā].Extension purement inertielle : Supposons qu'il existe b et c ∈ K tel que res((m −b)/c) /∈ k K . Quitte à considérer ϕ[cx + b, ā], on peut considérer que res(m) /∈ k K .Si on a b ∈ K tel que v(b) = w(m), on a alors w(m − b) ⩾ w(m) ⩾ 0. Mais siw(m − b) > 0 on a alors res(m − b) = 0 et donc res(m) = res(b) ∈ k K ce qui estabsur<strong>de</strong>. Donc w(m − b) = 0. Soit alors (G, E, D) la coupure <strong>de</strong> w(m) dans v(ā),où E = {x ∈ ā ∶ w(x) = w(m)}. On a alors :w(R j (m 1 )) = w(λ j ) +∑a j,k ∈Gn j,k w(a j,k ) +∑a j,k ∈Dn j,k w 1 (m 1 ).Comme k K est algébriquement clos pas le lemme (2.11), il est inni et il y a doncune innité <strong>de</strong> m ′ ∈ K tels que w(m ′ ) = 0 et res(m ′ ) ≠ res(b) pour tout b ∈ ā. Onen choisit un qui n'annule aucun <strong>de</strong>s P i . On peut alors vérier que pour tout b ∈ āon a w(m − b) = w(m ′ − b). En eet, si b ∈ D, w(m ′ − b) = w(m ′ ) = 0 = w(m − b),si b ∈ G, w(m ′ − b) = w(b) = w(m − b) et si w(b) = 0, w(m ′ − b) ⩾ 0 mais commeres(m ′ ) ≠ res(b), w(m ′ − b) ⩽ 0 et donc w(m ′ − b) = 0 = w(m − b). Il s'en suit doncque K ⊧ ϕ[m ′ , ā].Extension immédiate : Il reste le cas où, pour tout b ∈ K, w(m − b) ∈ Γ K et pourtous b, c ∈ K, res((m − b)/c) ∈ k K . L'ensemble X = {w(m − b) ∶ b ∈ K} n'a alorspas <strong>de</strong> maximum. En eet soit b, c ∈ K tel que w(m − b) = w(c). On a alorsw((m − b)/c) = 0 et il existe donc u ∈ K tel que res(u) = res((m − b)/c). On adonc w((m − b)/c − u) > 0 et donc w(m − (b + uc)) > w(c) = w(m − b). On peutdonc trouver m ′ ∈ K tel que w(m ′ − m) > w(m − b) pour tout b ∈ ā. On a alorsw(m ′ −b) = w(m ′ −m 1 +m 1 −b) = w(m−b) et donc pour tout polynôme P ∈ K[X]à racines dans ā, w(P (m)) = w(P (m ′ )). De plus comme X n'a pas <strong>de</strong> maximum,il y a une innité <strong>de</strong> m ′ qui conviennent. On peut donc en prendre un qui n'annuleaucun <strong>de</strong>s P i . On a alors K ⊧ ϕ[m ′ , ā].◻16


3. ÉLIMINATION DES QUANTIFICATEURS DANS ACVFRemarque 3.3 :(i) La modèle complétu<strong>de</strong> nous permet alors <strong>de</strong> comprendre la clôture algébriquedans ACVF. En eet, soit (K, v) ⊧ ACVF et A ⊆ K. Comme L div contient lelangage <strong>de</strong>s anneaux, il est évi<strong>de</strong>nt que acl(A) contient K ′ = Frac(< A >) alg ,i.e. la clôture algébrique du corps <strong>de</strong>s fractions <strong>de</strong> l'anneau engendré par A(que l'on notera dorénavant A alg même si A n'est qu'un ensemble quelconque<strong>de</strong> paramètres). De plus, il est évi<strong>de</strong>nt que K ′ est un corps valué algébriquementclos et donc K ′ ⪯ K, ce qui implique que acl(A) ⊆ K ′ = A alg et donc acl(A) =A alg .(ii) En revanche, dcl n'est pas la clôture rationnelle comme c'est le cas dans lescorps algébriquement clos. C'est en fait l'hensélianisé. En reprenant les notationsprécé<strong>de</strong>ntes, comme L div contient le langage <strong>de</strong>s anneaux, Frac(< A >) ⊆ dcl(A) on peut donc supposer que A = Frac(< A >) et donc que A est uncorps. On choisit alors A h un Hensélianisé <strong>de</strong> A. Comme K est algébriquementclos (et donc Hensélien) il s'en suit que A h s'injecte dans K. Quitte àl'i<strong>de</strong>ntier à son image, on peut donc considérer que c'est un sous-corps <strong>de</strong>K. Soit alors σ un automorphisme <strong>de</strong> K (en tant que corps valué) qui xe A.Il s'en suit que si on note i ∶ A → A h et j ∶ A h → K les injections induitespar l'inclusion, on a σ ○ i = σ A = j ○ i et donc par la propriéte universelle<strong>de</strong> l'Hensélianisé, σ A h = j i.e. A h est xé point par point par σ. Il s'en suitdonc que A h ⊆ dcl(A). Toujours comme L div contient le langage <strong>de</strong>s anneaux,dcl(A) doit contenir K ′ = A hins , la clôture inséparable <strong>de</strong> A h . Montrons alorsque dcl(A) = K ′ .Soit x ∉ /K ′ . Comme x est séparable au <strong>de</strong>ssus <strong>de</strong> K ′ , il existe un automorphismeσ <strong>de</strong> K qui xe K ′ mais pas x. Mais comme K ′ est Hensélien par lecorollaire (1.12), v est v ○ σ qui sont <strong>de</strong>ux valuations <strong>de</strong> K qui coïci<strong>de</strong>nt surK ′ sont équivalentes, i.e.σ(O K ) = O K et donc σ est un automorphisme <strong>de</strong> Ken temps que corps valué. On a donc x ∉ dcl(A).Théorème 3.4 :La théorie ACVF admet l'élimination <strong>de</strong>s quanticateurs dans le langage L div .Démonstration. Soient (K 1 , v 1 ) et (K 2 , v 2 ) <strong>de</strong>ux modèles <strong>de</strong> ACVF et (K, v) un souscorpsvalué commun (qui est bien une sous-L div -structure <strong>de</strong> chacun <strong>de</strong>s modèles parla remarque (1.7)). Soient (K 1 ′, v′ 1 ) et (K′ 2 , v′ 2 ) les clôtures algébriques <strong>de</strong> K dans K 1et K 2 respectivement, munis <strong>de</strong>s restrictions <strong>de</strong>s valuations. Par le corollaire (2.16), ilexiste σ ∈ Iso K (K 1 ′, K′ 2 ) qui soit un isomorphisme <strong>de</strong> corps valué. Il induit un plongement<strong>de</strong> K 1 ′ dans K 2 et on peut donc remplacer K par K 1, ′ i.e. considérer que K estalgébriquement clos.17


3. ÉLIMINATION DES QUANTIFICATEURS DANS ACVFSoient alors ϕ[x] ∈ L div sans quanticateurs à paramètres dans K et m 1 ∈ K 1 telque K 1 ⊧ ϕ[m 1 ]. Si K est <strong>de</strong> valuation non triviale, c'est un modèle <strong>de</strong> ACVF et doncpar modèle-complétu<strong>de</strong> (voir lemme (3.2)), K 1 ⊧ ∃xϕ[x] implique K ⊧ ∃xϕ[x], quiimplique K 2 ⊧ ∃x ϕ[x].Reste le cas où K est trivialement valué. La preuve du lemme (3.2) marche encoreet permet <strong>de</strong> trouver un m ∈ K tel que K ⊧ ϕ[m] et donc, comme ϕ est sans quanticateurs,K 2 ⊧ ϕ[m], sauf dans le cas <strong>de</strong> l'extension totalement ramiée, car on aalors {0} ⊭ DLO. Mais dans ce cas-là, la coupure <strong>de</strong> m 1 sur K se résume à savoir siv(m 1 ) > 0 ou pas. Il sut alors <strong>de</strong> choisir m 2 ∈ K 2 qui n'annule aucun <strong>de</strong>s P i et tel quev(m 2 ) > 0 si et seulement si v(m 1 ) > 0. On aura alors bien K 2 ⊧ ϕ[m 2 ].◻Une première remarque que l'on peut faire est que l'élimination <strong>de</strong>s quanticateursdans le langage tri-sorté se déduit assez facilement du résultat que l'on donne ici etpermet <strong>de</strong> démontrer que Γ est un pur groupe abélien totalement ordonné, divisible etsans torsion et que k est un pur corps algébriquement clos.Comme souvent, il n'est pas dicile <strong>de</strong> déduire les complétions d'une théorie, unefois que l'on sait qu'elle admet l'élimination <strong>de</strong>s quanticateurs.Corollaire 3.5 (Complétu<strong>de</strong> <strong>de</strong> ACVF) :Les complétions <strong>de</strong> ACVF sont données par la caractéristique du corps et celle ducorps résiduel (appelée caractéristique résiduelle). Les cas possibles sont (0, 0), (0, p) et(p, p) où p est un nombre premier. On note ACVF (n,m) ces diérentes complétions.Démonstration. Si un corps valué est <strong>de</strong> caractéristique p alors sa L div -théorie contient∑ p i=1 1 = 0. Si il est <strong>de</strong> caractéristique résiduelle p alors v(p) > 0 i.e. ¬(∑p i=11 div 1). Lescomplétions <strong>de</strong> ACVF xent donc bien ces <strong>de</strong>ux caractéristiques.D'autre part, comme on a un morphisme d'anneau qui va <strong>de</strong> O l'anneau <strong>de</strong> valuation(qui est <strong>de</strong> même caractéristique que le corps valué) vers k, le corps résiduel, il s'en suitque la caractéristique résiduelle divise la caractéristique et les cas possibles sont doncbien (0, 0), (0, p) et (p, p).Si un corps valué K est <strong>de</strong> caractéristique (0, 0), alors Z ⊆ K. Comme pour toutn ∈ Z /{0}, v(n) = v(∑ n i=1 1) ⩾ v(1) = 0 mais qu'on ne peut pas avoir v(n) > 0, ona v(n) = 0 et donc Z muni <strong>de</strong> la valuation triviale est une sous-structure <strong>de</strong> tous lescorps valués <strong>de</strong> caractéristique (0, 0), par élimination <strong>de</strong>s quanticateurs, cela sutpour montrer que ACVF (0,0) est complète.Si un corps K est <strong>de</strong> caractéristique (0, p), alors Z ⊆ K, mais maintenant, pourtout n ∈ Z /{0} on a v(n) > 0 ⇐⇒ res(n) = 0 ⇐⇒ p∣n. D'où Z muni <strong>de</strong> la valuationp-adique (voir dénition (6.6)) est une sous-structure commune à tous les modèles <strong>de</strong>ACVF (0,p) . Enn, si K est <strong>de</strong> caractéristique (p, p), alors Z /p Z muni <strong>de</strong> la valuationtriviale est une sous-structure <strong>de</strong> K.◻Une autre conséquence <strong>de</strong> ce résultat d'élimination <strong>de</strong>s quanticateurs est un ré-18


3. ÉLIMINATION DES QUANTIFICATEURS DANS ACVFsultat <strong>de</strong> Holly (voir la proposition (3.7)), qui donne une <strong>de</strong>scription canonique <strong>de</strong>sensembles dénissables <strong>de</strong> ACVF. Cette <strong>de</strong>scription utilise <strong>de</strong>s sous-ensembles d'uncorps valués qui sont particulièrement importants : les boules. Si (K, v) est un corpsvalué, pour tout γ ∈ Γ K et a ∈ K, on note B ⩾γ (a) ∶= {x ∈ K ∶ v(x − a) ⩾ γ}, la boulefermée <strong>de</strong> centre a et <strong>de</strong> rayon γ et B >γ (a) ∶= {x ∈ K ∶ v(x−a) > γ}, la boule ouverte <strong>de</strong>centre a et <strong>de</strong> rayon γ. Une boule <strong>de</strong> K est alors n'importe quel ensemble dénissablequi soit d'une <strong>de</strong> ces <strong>de</strong>ux formes. Il faut cependant faire attention au fait que si K ⩽ L,l'empreinte d'une boule <strong>de</strong> L dans K n'est pas forcément une boule.Dénition 3.6 (Fromage suisse) :Soit (K, v) un corps valué. Un fromage suisse <strong>de</strong> K est un ensemble <strong>de</strong> la formeb/(⋃ n i=1 b i) où b et les b i sont <strong>de</strong>s boules. On dira que <strong>de</strong>ux fromages suisses sont trivialementemboîtés si la boule extérieure <strong>de</strong> l'un est un trou <strong>de</strong> l'autre.Proposition 3.7 ([Hol95, Théorème 3.26]) :Soit (K, v) ⊧ ACVF, tout sous-ensemble dénissable <strong>de</strong> K s'écrit <strong>de</strong> manière uniquecomme une union nie <strong>de</strong> fromages suisses non trivialement emboîtés.Enn, maintenant que l'on sait que ACVF admet l'élimination <strong>de</strong>s quanticateurs,l'étu<strong>de</strong> <strong>de</strong>s formules faite dans la preuve <strong>de</strong> (3.2) permet <strong>de</strong> décrire le cardinal <strong>de</strong>sensemble dénissables.Proposition 3.8 :Soit (K, v) ⊧ ACVF, alors tout ensemble dénissable dans K est soit ni soit ducardinal <strong>de</strong> K.Démonstration. Montrons tout d'abord qu'il sut <strong>de</strong> considérer les ensembles à unevariable. Soient X ⊆ K n dénissable et π i la projection sur la i-ième composante. Sitous les π i (X) sont nis, alors X est inclus dans un produit ni d'ensemble nis etest donc ni. Par contre, si l'un <strong>de</strong>s π i (X) est inni, il sut <strong>de</strong> montrer que ce π i (X)est <strong>de</strong> même cardinal que K car c'est alors aussi le cas <strong>de</strong> X qui se surjecte sur cetensemble.Soit alors X ⊆ K dénissable par une formule ϕ. Par élimination <strong>de</strong>s quanticateurs,on peut supposer que c'est une disjonction <strong>de</strong> conjonctions d'atomes et <strong>de</strong> négationsd'atomes. Il sut alors <strong>de</strong> le montrer pour les conjonctions. En eet si elles dénissenttoutes un ensemble ni alors X aussi et si l'une d'entre elles dénit un ensemble inni,il serait alors du même cardinal que K et donc X aussi car il le contient. On peutdonc supposer que X est déni par une conjonction. Si un atome <strong>de</strong> la forme P (x) = 0apparaît alors X est ni. On peut donc supposer que X est déni par une formule <strong>de</strong>la forme :n⋀i=1¬P i (x) = 0 ∧ n′⋀j=1R j [x] div R ′ j[x] ∧19n′′⋀j=n ′ +1¬R j [x] div R ′ j[x].


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITDe plus, on peut écrire tous les polynômes qui apparaissent sous forme scindée etsupposer que les racines sont dans l'ensemble ni A <strong>de</strong>s paramètres qui dénissent X.Si X est vi<strong>de</strong> alors c'est ni, sinon soit m ∈ X. L'ensemble {v(m − a) ∶ a ∈ A} est niet soit γ qui le majore. Montrons que la boule B >γ (m) ⊆ X. Tous les points <strong>de</strong> cetteboule sont distincts <strong>de</strong>s racines <strong>de</strong>s P i car par dénition <strong>de</strong> γ, v(m − a) ⩽ γ. De plus,soit m ′ ∈ B >γ (m), pour tout a ∈ A, v(m ′ − a) = v(m ′ − m + m − a) = v(m − a) carv(m ′ − m) > γ ⩾ v(m − a). Pour tout polynôme Q qui apparaît dans la formule, on adonc v(Q(m ′ )) = v(λ ∏ i (m ′ −a i )) = v(λ)+∑ i v(m ′ −a i ) = v(λ)+∑ i v(m−a i ) = v(Q(m))et il s'en suit que m ′ vérie aussi la formule.Il sut donc <strong>de</strong> montrer que toute les boules ouvertes <strong>de</strong> rayon ni sont <strong>de</strong> mêmecardinal que K, et comme elles sont toutes <strong>de</strong> la forme a + xM où v(x) est le rayon <strong>de</strong>la boule, il sut <strong>de</strong> montrer que M a le même cardinal que K. Mais comme on a unmorphisme <strong>de</strong> groupe v ∶ K ∗ → Γ dont le noyau est R/M et que la valuation est nontriviale, M contient au moins un translaté du noyau et comme K = M ∪ (R/M) ∪ M −1 ,il s'en suit que M est <strong>de</strong> même cardinal que K.◻4 L'élimination <strong>de</strong>s imaginaires dans un cadre abstraitUne fois la question <strong>de</strong> l'élimination <strong>de</strong>s quanticateurs traitée, l'autre questionqui se pose comme préliminaire à l'étu<strong>de</strong> <strong>de</strong> toute théorie est celle <strong>de</strong> l'élimination <strong>de</strong>simaginaires. En eet, l'élimination <strong>de</strong>s quanticateurs permet une <strong>de</strong>scription extrêmementsimple <strong>de</strong> tous les ensembles dénissables, mais il reste le problème <strong>de</strong>s quotientsdénissables. A priori, ils ne sont pas représentées comme <strong>de</strong> vrais points <strong>de</strong>s structuresmais n'existent qu'en tant qu'ensembles <strong>de</strong> classes d'équivalence, ce qui les rendcompliqués à traiter. Le but <strong>de</strong> l'élimination <strong>de</strong>s imaginaires est justement d'en faire<strong>de</strong> vrais points.Dans les dénitions qui suivent, on distinguera <strong>de</strong>s notions uniforme et non-uniformed'élimination <strong>de</strong>s imaginaires, comme dans [Hod93]. On ne dénira cependant pas la notiond'élimination semi-uniforme qu'il introduit car, par compacité, elle est équivalenteà l'élimination non-uniforme. Dans tout ce qui suit, L sera un langage.Dénition 4.1 (Co<strong>de</strong> et co<strong>de</strong> uniforme) :Soient M une L-structure et X un ensemble M-dénissable. On dit que ā ∈ Mest un co<strong>de</strong> pour X via ϕ[¯x, ȳ] une L-formule, si X = ϕ[M, ā] et que ā ′ ≠ ā impliqueϕ[M, ā] ≠ ϕ[M, ā ′ ].Si X = θ[M,¯b], on dit que X est codé uniformément via ϕ[¯x, ȳ] si pour tout ¯b ′ ∈ A(bien sorté), il existe un co<strong>de</strong> <strong>de</strong> θ[M,¯b ′ ] via ϕ[¯x, ȳ].Dans la dénition <strong>de</strong> co<strong>de</strong>, on autorise la variable ȳ à représenter un 0-uplet, dansle cas où X est ∅-dénissable.20


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITIl est évi<strong>de</strong>nt que la notion <strong>de</strong> codage uniforme sera beaucoup plus pratique que saversion non-uniforme, mais dans le cas où la théorie admet susamment <strong>de</strong> constantes,ces <strong>de</strong>ux notions coïnci<strong>de</strong>nt.Lemme 4.2 :Soit M une L-structure telle que dcl(∅) contient au moins <strong>de</strong>ux éléments <strong>de</strong> lamême sorte et un élément <strong>de</strong> chaque sorte. Soit θ[¯x, ȳ] une L-formule telle que pour tout¯m ∈ M (bien sorté), θ[M, ¯m] ait un co<strong>de</strong>, alors ce codage peut être choisi uniformément.Démonstration. Pour tout ¯m ∈ M, on a ϕ ¯m [¯x, ¯z] et ā ¯m qui est un co<strong>de</strong> <strong>de</strong> θ[M, ¯m]via ϕ ¯m [¯x, ¯z]. L'ensemble <strong>de</strong> formules Σ[ ¯m] = {∀ā (∀ā ′ ā ≠ ā ′ ⇒ ¬(∀¯x ϕ[¯x, ā] ⇐⇒ϕ[¯x, ā ′ ])) ⇒ ¬(∀¯x ϕ[¯x, ā] ⇐⇒ θ[¯x, ¯m]) ∶ ϕ[¯x, ¯z] ∈ L} n'est donc pas satisfaisable et,par compacité, il n'est donc pas niment satisfaisable. Il existe donc (ϕ i [¯x, ¯z i ]) i=1...ntel que pour tout ¯m, il existe ā et i tel que ā est un co<strong>de</strong> <strong>de</strong> θ[M, ¯m] via ϕ i [¯x, ¯z i ]. Deplus, on peut supposer que les ¯z i sont sortés <strong>de</strong> la même manière, quitte à rajouter <strong>de</strong>svariables <strong>de</strong> la bonne sorte et spécier qu'elles doivent être égales à une constante dansϕ i . On peut donc remplacer les ¯z i par un unique uplet <strong>de</strong> variables ¯z.Quitte à remplacer les ϕ par ϕ[¯x, ¯z] ∧ (⋀ j


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITDémonstration. Supposons que ā soit un co<strong>de</strong> <strong>de</strong> X. Comme X est ā-dénissables, toutautomorphisme qui xe ā xe X et réciproquement si X est codé par ā via ϕ[¯x, ȳ] etque σ est un automorphisme qui xe X, alors ϕ[¯x, σ(ā)] dénit X et donc par dénitiond'un co<strong>de</strong>, σ(ā) = ā.D'autre part soit N une extension assez saturée <strong>de</strong> M et supposons que tout automorphisme<strong>de</strong> N xe ā si et seulement si il xe X. Tout d'abord, comme X estAut(N /ā)-invariant et que N est assez saturé, il existe une formule ϕ[¯x, ȳ] telle queϕ[¯x, ā] dénit X. Posons p = tp(ā), l'ensemble <strong>de</strong> formules p[ȳ] ∪ {∀¯x ϕ[¯x, ȳ] ⇐⇒ϕ[¯x, ā], ȳ ≠ ā} n'est alors pas satisfaisable. En eet s'il l'était, il le serait dans N etil existerait donc σ un automorphisme <strong>de</strong> N qui xe X mais pas ā ce qui contreditnotre hypothèse. Il existe donc ψ[ȳ] ∈ tp(ā) telle que N ⊧ ∀ȳ(ψ[ȳ] ∧ ∀¯x ϕ[¯x, ȳ] ⇐⇒ϕ[¯x, ā]) ⇒ ȳ = ā. Il s'en suit donc que X est codé par ā via ϕ[¯x, ȳ] ∧ ψ[ȳ]. ◻Dénition 4.5 (Élimination <strong>de</strong>s imaginaires) :Une théorie T élimine (faiblement) les imaginaires si tout ensemble dénissabled'un modèle <strong>de</strong> T admet un co<strong>de</strong> (faible). L'élimination (faible) est dite uniforme sitout ensemble dénissable est codé (faiblement) uniformément.Une conséquence immédiate du lemme (4.2) est que si une théorie admet susamment<strong>de</strong> constantes, alors elle a l'élimination <strong>de</strong>s imaginaires si et seulement si elle al'élimination uniforme <strong>de</strong>s imaginaires.La présentation qu'on a choisi <strong>de</strong> prendre ici passe par la notion <strong>de</strong> co<strong>de</strong> mais,comme je l'ai fait remarquer précé<strong>de</strong>mment, l'élimination <strong>de</strong>s imaginaires est essentiellement,et historiquement, liée à la question <strong>de</strong> représenter les classes d'équivalencedénissables (qui sont en quelque sorte <strong>de</strong>s points imaginaires ) par <strong>de</strong> vrais points du modèle.Lemme 4.6 :Soit T une L-théorie, elle élimine uniformément les imaginaires si et seulementsi pour toute L-formule qui dénit une relation d'équivalence E dans T, il existe uneL-formule qui déni une fonction f dans T telle que T ⊢ E[¯x, ȳ] ⇐⇒ f(¯x) = f(ȳ).Démonstration. Supposons que T élimine uniformément les imaginaires et soit M unmodèle <strong>de</strong> T et E une relation d'équivalence dénissable. Comme les classes d'équivalences<strong>de</strong> E sont toutes dénies par <strong>de</strong>s formules <strong>de</strong> la forme E[¯x, ā], où ā ∈ M, parélimination uniforme <strong>de</strong>s imaginaires, il existe une L-formule ϕ[¯x, ȳ] telle que E[M, ā]est codée via ϕ. La formule ∀¯x ϕ[¯x, ȳ] ⇐⇒ E[¯x, ¯z] dénit donc une fonction qui vériebien les propriétés voulues.Réciproquement, soit ϕ[¯x, ȳ] une L-formule, on dénit E[ȳ, ȳ ′ ] ∶= ∀¯x ϕ[¯x, ȳ] ⇐⇒ϕ[¯x, ȳ ′ ] qui est bien une relation d'équivalence. Par hypothèse, il existe une fonctiondénissable f E telle que E[ȳ, ȳ, ] ⇐⇒ f E (ȳ) = f E (ȳ ′ ). Il est alors facile <strong>de</strong> voir quef E (ā) co<strong>de</strong> uniformément ϕ[M, ā] via θ[¯x, ¯z] ∶= ∃ȳ ϕ[¯x, ȳ] ∧ f E (ȳ) = ¯z).◻22


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITLa notion d'imaginaire a été introduite par S. Shelah (voir [She78, Denition 6.2,p. 129]) à travers la construction suivante, dont l'utilité en théorie <strong>de</strong>s modèle n'estplus à démontrer.Dénition 4.7 (T eq et M eq ) :Soit T une L-théorie, on lui associe un langage L eq qui contient, pour toute relationE[¯x, ȳ] ∅-dénissable (où ¯x et ȳ ont la même longueur) telle que T ⇒ E est unerelation d'équivalence , une sorte S E et un symbole <strong>de</strong> fonction f E ∶ S = → S E . Celangage contient L sur la sorte S = (si L est déjà un langage multi-sorté, la sorte S = esten fait une union <strong>de</strong> sortes...). On dénit alors la théorie T eq qui contient T ramenéeà la sorte S = et les formules ∀¯x∀ȳ f E (¯x) = f E (ȳ) ⇐⇒ E[¯x, ȳ].À tout modèle M <strong>de</strong> T on associe M eq ⊧ T eq en interprétant S E par l'ensemble <strong>de</strong>sclasses d'équivalence <strong>de</strong> E et f E par la surjection canonique.La structure M eq est alors, en quelque sorte la structure <strong>de</strong> M et <strong>de</strong> tous sesimaginaires.Remarque 4.8 (Quelques propriétés <strong>de</strong> M eq ) :(i) Soit ϕ[x 1 , . . . , x n ] ∈ L eq , il existe alors ψ[y 1 , . . . y n ] ∈ L tel queT eq ⊢ ϕ[f E1 (y i ), . . . , f En (y n )] ⇐⇒ ψ[y 1 , . . . , y n ]où S Ei est la sorte <strong>de</strong> x i .(ii) Si M ⊧ T eq et N ⊆ M alors N ⊧ T eq si et seulement si S = (N) ⊧ T.(iii) Si N ⪯ M alors N eq ⪯ M eq .(iv) Si T est modèle-complète alors T eq l'est aussi. Néanmoins, en règle générale,si T élimine les quanticateurs, ce n'est pas forcément le cas <strong>de</strong> T eq .(v) T eq élimine uniformément les imaginaires.Lemme 4.9 :Soient M une L-structure, X un ensemble dénissable et ā ∈ M. Alors, X est codépar ā si et seulement si dcl eq (ā) = dcl eq (⟨X⟩), où ⟨X⟩ est un co<strong>de</strong> <strong>de</strong> X dans M eq etX est faiblement codé par ā si et seulement si ⟨X⟩ ∈ dcl eq (ā) et ā ∈ acl eq (⟨X⟩).Démonstration. Quitte à agrandir M, on peut le supposer assez saturé. Si X est codépar ā, un automorphisme <strong>de</strong> M eq xe X et donc ⟨X⟩ si et seulement si il xe ā et ona donc bien que ā ∈ dcl eq (⟨X⟩) et ⟨X⟩ ∈ dcl eq (a). La réciproque est évi<strong>de</strong>nte.Si X est faiblement codé par ā via ϕ[¯x, ȳ], tout automorphisme qui xe ⟨X⟩ etdonc X ne peut envoyer ā que sur l'un <strong>de</strong>s ā ′ en nombre ni tel que ϕ[x, ā ′ ] dénitaussi X et donc ā ∈ acl eq (⟨X⟩). Comme X est dénissable sur ā on a aussi bien sûr⟨X⟩ ∈ dcl eq (ā). Réciproquement, si ⟨X⟩ ∈ dcl eq (ā), il existe ϕ[x, ā] qui dénit X. Si l'on23


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITnote p = tp(ā) et n la taille <strong>de</strong> son orbite au <strong>de</strong>ssus <strong>de</strong> ⟨X⟩, par une compacité à peineplus compliquée qu'au lemme (4.4), il existe ψ ∈ p tel que si on a n éléments distincts<strong>de</strong> M qui vérient ψ et qui dénissent X via ϕ[¯x, ȳ] alors l'un d'entre eux est ā. Il estalors facile <strong>de</strong> voir que X est codé faiblement pas ā via ϕ[¯x, ȳ] ∧ ψ[ȳ].◻Enn, montrons que ce qui fait la diérence entre les co<strong>de</strong>s et les co<strong>de</strong>s faibles, c'estsimplement la capacité <strong>de</strong> co<strong>de</strong>r les ensembles nis.Lemme 4.10 :Soit M une L-structure qui admet <strong>de</strong>s co<strong>de</strong>s pour les ensembles nis. Un ensembledénissable a alors un co<strong>de</strong> si et seulement si il a un co<strong>de</strong> faible.Démonstration. Tout d'abord, il est évi<strong>de</strong>nt qu'un co<strong>de</strong> est aussi un co<strong>de</strong> faible. Réciproquement,soit E l'ensemble ni <strong>de</strong>s conjugués <strong>de</strong> ā au <strong>de</strong>ssus <strong>de</strong> ⟨X⟩ (un co<strong>de</strong> dansM eq ) et σ ∈ Aut(M eq /⟨X⟩). Comme σ xe ⟨X⟩, on a σ(X) = X, i.e. ϕ[M, σ(ā)] = X.Il s'en suit donc que pour tout ā ′ ∈ E, ϕ[x, ā ′ ] déni X. Tout automorphisme qui xeX envoie un conjugué <strong>de</strong> a au <strong>de</strong>ssus <strong>de</strong> ⟨X⟩ sur un conjugué <strong>de</strong> a au <strong>de</strong>ssus <strong>de</strong> ⟨X⟩et donc xe E. Réciproquement, tout automorphisme qui xe globalement E xe Xcomme on vient <strong>de</strong> le démontrer. Tout co<strong>de</strong> <strong>de</strong> E est donc un co<strong>de</strong> <strong>de</strong> X. ◻Exemple 4.11 :(i) La théorie <strong>de</strong>s corps algébriquement clos élimine uniformément les imaginaires,c'est d'ailleurs l'exemple qui a motivé la dénition <strong>de</strong> cette notiondans [Poi83]. C'est aussi le cas <strong>de</strong>s corps réels clos.(ii) Th(Q,


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITLemme 4.12 (Critère d'élimination <strong>de</strong>s imaginaires) :Soit T une L-théorie qui admet susamment <strong>de</strong> constantes, si pour tout M ⊧ T ettoute fonction f ∶ S → M n M-dénissable (totale) telle que S soit une sorte dominante,le graphe <strong>de</strong> f a un co<strong>de</strong>, alors T admet l'élimination <strong>de</strong>s imaginaires.Démonstration. Soit R une relation M-dénissable sur ∏ n i=1 S i. Il existe une fonction ∅-dénissable (et donc xée par tout automorphisme) f ∶ ∏ m j=1 T i → ∏ n i=1 S i, où les T i sont<strong>de</strong>s sortes dominantes. De plus, si c 1 et c 2 sont <strong>de</strong>ux constantes d'une même sorte etqu'on pose χ R la fonction qui vaut c 1 sur R et c 2 ailleurs, un co<strong>de</strong> <strong>de</strong> R est exactementun co<strong>de</strong> <strong>de</strong> χ R ○ f. Il sut donc <strong>de</strong> démontrer que toute fonction f ∶ ∏ n i=1 S i → M, oùles S i sont dominantes, a un co<strong>de</strong>.Pour cela, on procè<strong>de</strong> par induction sur n. Si n = 1 c'est exactement l'hypothèse<strong>de</strong> l'énoncé. Sinon supposons qu'on ait démontré que la propriété est vraie pour n etconsidérons f ∶ ∏ n+1i=1 S i → M dénie par la formule ϕ[x 1 , . . . , x n+1 , y, ¯m], où ¯m ∈ M.Pour tout c ∈ S 1 , on pose f c ∶ x 2 . . . x n+1 ↦ f(c, x 2 , . . . , x n ). Par récurrence, tous les f csont codés et comme tous les f c sont dénis par la formule ϕ avec diérents paramètres,on peut supposer que ce codage est uniforme. Il existe donc θ[x 2 , . . . , x n , y, ¯t] tel que,pour tout c, il existe un unique ⟨f c ⟩ tel que θ[x 2 , . . . , x n , y, ⟨f c ⟩] dénit f c . La formule∀x 2 . . . x n y (θ[x 2 , . . . , x n , y, ∀t] ⇐⇒ ϕ[c, x 2 , . . . , x n , y, ¯m]) dénit donc une fonctiong ∶ S 1 → M m . Par hypothèse elle est donc codée par un élément ⟨g⟩ ∈ M.Vérions alors que ⟨g⟩ co<strong>de</strong> aussi f. Supposons que ⟨g⟩ co<strong>de</strong> g via χ[x 1 , ¯t, ¯s]. Quitteà remplacer χ[x 1 , ¯t, ¯s] par χ[x 1 , ¯t, ¯s] dénit une fonction totale ∧χ[x 1 , ¯t, ¯s], on peutsupposer que pour tout m χ[x 1 , ¯t, ¯m] est soit vi<strong>de</strong>, soit dénit une fonction totale.La formule ψ[¯x, y, ⟨g⟩] = ∃¯t θ[x 2 , . . . , x n , y, ¯t] ∧ χ[x 1 , ¯t, ⟨g⟩] dénit alors f. En eet, si(¯x, y) ∈ f, cette formule est vériée pour ¯t = ⟨f x1 ⟩. Réciproquement, si (¯x, y) vérie cetteformule, comme g est une fonction, on a alors forcément ¯t = ⟨f x1 ⟩ et donc (x 2 . . . x n y) ∈f x1 , i.e. (¯x, y) ∈ f. Enn, si ¯m ≠ ⟨g⟩, soit χ[x, y, ¯m] dénit l'ensemble vi<strong>de</strong> et doncψ aussi, soit elle dénit une fonction g ¯m , mais il existe alors c 1 ∈ M tel que g ¯m (c 1 ) ≠g(c 1 ) = ⟨f c1 ⟩. Il y a alors <strong>de</strong>ux cas possibles. Soit il existe (c 2 . . . c n , d) ∉ f c1 , i.e. (¯c, d) ∉ f,tel que M ⊧ θ[c 2 , . . . , c n , d, g m (c 1 )]. On a alors M ⊧ ψ[c, ¯d, ¯m] mais (c, ¯d) ∉ f. Soit ilexiste (c 2 . . . c n ) tel qu'il n'existe pas <strong>de</strong> d tel que M ⊧ θ[c 2 , . . . , c n , d, g m (c 1 )], mais alorsψ[¯c, M, ¯m] est l'ensemble vi<strong>de</strong>. Comme f est totale, ψ[¯x, y, ¯m] ne peut pas dénir f.On a donc que f est codé par ⟨g⟩ via ψ[¯x, y, ¯z].◻Prouvons maintenant un théorème <strong>de</strong> [HM08] qui permet <strong>de</strong> déduire l'élimination<strong>de</strong>s imaginaires dans une théorie en utilisant une autre théorie qui les élimine. C'estle théorème qui sera utilisé pour montrer l'élimination <strong>de</strong>s imaginaires dans la théorie<strong>de</strong> Q p en utilisant les corps valués algébriquement clos. On a cependant besoin pour lapreuve <strong>de</strong> la notion <strong>de</strong> germe que l'on commence donc par dénir.Dénition 4.13 (Germe) :Soient M une L-structure, f une fonction M-dénissable dénie par ϕ[¯x, ȳ, ¯m], où25


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAIT¯m ∈ M et p ∈ S(M) un type tel que f soit dénie sur p. On note ∂ p f la classe d'équivalence<strong>de</strong> f pour la relation d'équivalence dénie par E(m, m ′ ) ∶= (∀ȳ, ϕ[¯x, ȳ, ¯m] =ϕ[¯x, ȳ, ¯m ′ ] ∈ p), i.e. l'ensemble <strong>de</strong>s fonctions qui coïnci<strong>de</strong>nt avec f sur une réalisation<strong>de</strong> p dans une extension élémentaire <strong>de</strong> M.Si le type p est dénissable, cette relation d'équivalence est dénissable et si, <strong>de</strong> plus,Th(M) élimine les imaginaires, ∂ p f est un point.Dans tous les cas, si on a A ⊆ M tel que p est Aut(M /A)-invariant, on peutparler <strong>de</strong> l'action <strong>de</strong> Aut(M /A) sur ∂ p f (même si ce n'est pas un point), en posantσ(∂ p f) = ∂ p σ(f).La preuve nécessite aussi un résultat <strong>de</strong> combinatoire sur les groupes d'automorphismesd'un modèle saturé qui découle du lemme <strong>de</strong> Neumann.Lemme 4.14 (Lemme <strong>de</strong> Neumann) :Soient G un groupe et (g i H i ) i=1...n <strong>de</strong>s translatés <strong>de</strong> sous-groupes <strong>de</strong> G. Si G =⋃ i=1...n g i H i alors l'un <strong>de</strong>s H i au moins est d'indice ni.Ce lemme est énoncé et prouvé dans [Neu54, Lemma 4.1, p. 239].Corollaire 4.15 :Soient M un modèle assez universel et homogène et (e i ) i∈N une famille <strong>de</strong> points telleque tout automorphisme <strong>de</strong> M xe tous les e i sauf un nombre ni. Il y a alors au plusun nombre ni <strong>de</strong> e i qui ont qui ont une orbite innie sous l'action <strong>de</strong>s automorphismes<strong>de</strong> M.Démonstration. Supposons par l'absur<strong>de</strong> qu'il y ait une innité <strong>de</strong> e i qui ont une orbiteinnie et montrons qu'il existe alors un automorphisme qui ne xe aucun <strong>de</strong> ces e i .Quitte à en oublier, on peut supposer qu'ils ont tous une orbite innie. Montrons toutd'abord que pour tout ensemble ni <strong>de</strong> e i il existe <strong>de</strong>s automorphismes qui n'en xentaucun. Soient donc e i1 , . . . e in et supposons que tout automorphisme <strong>de</strong> M en xe aumoins un. Si on note H j le stabilisateur <strong>de</strong> e j dans G, on a alors G = ⋃ j H j , maiscomme tous ces sous-groupes sont d'indice inni (leur indice est égal au cardinal <strong>de</strong>l'orbite du e i correspondant), on a une contradiction par le lemme <strong>de</strong> Neumann (voir(4.14)).Notons alors p i = tp(e i /e j


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITProposition 4.16 :Soient ̃L ⊆ L <strong>de</strong>ux langages, ̃T une ̃L-théorie complète qui admet l'élimination <strong>de</strong>squanticateurs (en conséquence, toutes les ̃L-formules considérées seront sans quanticateurs)et l'élimination uniforme <strong>de</strong>s imaginaires, T une L-théorie complète telle quẽT ∀ ⊆ T (i.e. tout modèle <strong>de</strong> T se plonge en tant que ̃L-structure dans un modèle <strong>de</strong> ̃T)qui admet assez <strong>de</strong> constantes.Soient M ⊧ T susamment saturé et ̃M ⊧ ̃T tel que M ̃Lest une sous-structure<strong>de</strong> ̃M (quitte à le grossir, on peut également le supposer susamment saturé). On notedcl ̃Lla clôture dénissable par <strong>de</strong>s ̃L-formules sans quanticateurs dans ̃M et dcl L laclôture dénissable par <strong>de</strong>s L-formules dans M eq . De même pour acl L , acl ̃L,tp L ettp ̃L.Il faut cependant faire attention que M eq n'est pas, a priori, inclus dans ̃M etdonc que pour A ⊆ M, dcl L (A) et acl L (A) ne sont pas inclus dans ̃M.On suppose alors que :(i) pour tout M ′ ⪯ M et c ∈ dom(M), dcl L (M ′ c) ∩ M ⊆ acl ̃L(M ′ c) ;(ii) pour tout A ⊆ M tel que A = acl L (A) et c ∈ dom(M), acl L (Ac) ⊆ dcl L (Ac) ;(iii) soit e ∈ dcl ̃L(M), il existe e ′ ∈ M tel que tout ̃L-automorphisme <strong>de</strong> ̃M qui xeglobalement M, xe e si et seulement si il xe e ′ ;(iv) tout ensemble X ⊆ dom(M) M-dénissable a un co<strong>de</strong> dans M ;(v) soient c ∈ dom(M) et A ⊆ M tel que acl L (A) = A. Il existe un type ̃p ∈ S ̃L( ̃M)Aut ̃L(̃M/A)-invariant tel que ̃p∣M soit consistant avec tp L (c/A) et que pourtoute fonction r ̃L ̃M-dénissable on ait :(∗) il existe (e i ) i∈N ∈ dcl ̃L(M) tel que σ ∈ Aut ̃L(̃M/A) xe ∂̃p r si et seulementsi σ xe tous les e i sauf un nombre ni ;(∗∗) soit B ⊇ A tel que ∂̃p r est xé par Aut ̃L(̃M/B), il existe alors unefonction ̃L B -dénissable h qui a le même germe sur ̃p que r.La théorie T élimine alors les imaginaires.Démonstration. Commençons par remarquer une conséquence immédiate <strong>de</strong> la condition(iii).Lemme 4.17 :Les ensembles nis sont codés dans M ⊧ T.Démonstration. Soit E ⊆ M n un ensemble ni. Comme E est dénissable (avec l'égalitéet sans quanticateurs) sur M, il l'est aussi dans ̃M. Soit e un co<strong>de</strong> dans ̃M, on a alorsque e ∈ dcl ̃L(M) et soit e ′ ∈ M donné par (iii). Soit alors σ ∈ Aut L (M), c'est alorsaussi une ̃L-application élémentaire qui peut donc s'étendre en ̃σ ∈ Aut ̃L(̃M). On aalors que σ xe E si et seulement si ̃σ xe E (car E ⊆ M) si et seulement si ̃σ xe e,si et seulement si ̃σ xe e ′ (par dénition car ̃σ laisse M globalement invariant), si etseulement si σ xe e ′ (car e ′ ∈ M).◻27


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITRevenons maintenant à la preuve <strong>de</strong> l'élimination <strong>de</strong>s imaginaires. Par le lemme(4.12) il sut <strong>de</strong> montrer que le graphe d'une fonction L M -dénissable f ∶ dom(M) →M n est codé. Par les lemmes (4.10) et (4.17), il sut <strong>de</strong> montrer qu'il est faiblementcodé. On pose A ′ = acl L (⟨f⟩) et A = A ′ ∩ M où ⟨f⟩ est pris dans M eq . Il sut alors <strong>de</strong>montrer que f est A-dénissable.Lemme 4.18 :Il existe une relation R[x, ȳ] ̃L M -dénissable telle que, pour tout c ∈ dom(M),l'ensemble R(c) = { ¯d ∈ ̃M ∶ ̃M ⊧ R[c, d]} est ni et f(c) ∈ R(c).Avant <strong>de</strong> démontrer ce lemme, remarquons que, comme R est dénie sans quanticateurs,il s'en suit que pour tout c, ¯d ∈ M, M ⊧ R[c, ¯d] si et seulement si ̃M ⊧ R[c, ¯d].En particulier pour tout c ∈ dom(M), { ¯d ∈ M ∶ M ⊧ R[c, ¯d]} est aussi ni.Démonstration. Soit M ′ ⪯ M (petit) tel que f soit M ′ -dénissable et soit ϕ[x, ȳ] uneL M ′-formule qui le dénit, alors pour tout c, par (i), f(c) ∈ dcl L (M ′ c)∩M ⊆ acl ̃L(M ′ c).Considérons alors l'ensemble <strong>de</strong> formules suivant :Σ[x, ȳ] = {ϕ[x, ȳ]} ∪ {¬ψ[x, ȳ] ∈ ̃L M ′ ∶ ̃M ⊧ ∀x∃ ⩽n ȳ ψ[x, ȳ] pour un n ∈ N}.Si cet ensemble <strong>de</strong> formules était satisfaisable, il le serait dans M et on aurait c ety ¯d ∈ M qui le satisfont. On aurait alors ¯d = f(c) ∈ acl ̃L(M ′ c). Il existerait donc unẽL M ′-formule ψ sans quanticateurs telle que ̃M ⊧ ∀x∃ ⩽n y ψ[x, ȳ] et ̃M ⊧ ψ[c, ¯d]. Maisalors on aurait aussi M ⊧ ψ[c, ¯d], ce qui est absur<strong>de</strong>. Par compacité, il existe donc(ψ i ) i=1...N ∈ ̃L M ′ telles que M ⊧ ∀xȳ ϕ[x, ȳ] ⇒ ⋁ i ψ i [x, ȳ] et que, par dénition, ilexiste n tel ̃M ⊧ ∀x∃ ⩽n ȳ ⋁ i ψ i [x, y].◻Lemme 4.19 :Soient c ∈ dom(M) et p = tp L (c/A). Il existe alors une fonction g A-dénissable telleque f et g coïnci<strong>de</strong>nt sur toute réalisation <strong>de</strong> p et {x ∶ f(x) = g(x)} est A-dénissable.Démonstration. Soit ̃p le type Aut ̃L(̃M/A)-invariant qui étend p donné par (v). Pourtout R comme au lemme (4.18), on a alors ∃ =n ȳ R[x, ȳ] ∈ ̃p pour un certain n. Ainsi,le cardinal <strong>de</strong> R(x) est constant sur l'ensemble <strong>de</strong>s réalisations <strong>de</strong> ̃p. On choisit alorsun R comme au lemme (4.18) tel que le cardinal <strong>de</strong> R(x) sur une réalisation <strong>de</strong> ̃p soitminimal (parmi tous les R qui vérient le lemme (4.18)) et on note r ∶ x ↦ ⟨R(x)⟩(une telle fonction existe car t admet l'élimination uniforme <strong>de</strong>s imaginaires). Soit alorsσ ∈ Aut L eq(M eq /A ′ ), σ M est alors aussi une ̃L-application élémentaire qui peut doncs'étendre à ˜σ ∈ Aut ̃L(̃M/A) qui xe globalement M. Comme σ xe A ′ , il xe f etdonc ˜σ le xe aussi. De plus, pour tout x ∈ ̃M, ˜σ(R)(x) est ni (<strong>de</strong> même cardinal queR(x)) et donc ˜σ(R) vérie aussi la conclusion du lemme (4.18). Il est alors facile <strong>de</strong>voir que la relation R ∧ ˜σ(R) vérie aussi la conclusion <strong>de</strong> ce lemme et donc, commeR a été choisi <strong>de</strong> cardinal minimal sur les réalisations <strong>de</strong> ̃p, pour tout x ⊧ ̃p, on a28


4. L'ÉLIMINATION DES IMAGINAIRES DANS UN CADRE ABSTRAITR(x) = R(x) ∩ ˜σ(R)(x) et donc R(x) = ˜σ(R)(x) car ils ont le même cardinal. Commeil est évi<strong>de</strong>nt que ˜σ(r)(x) co<strong>de</strong> ˜σ(R)(x), il s'en suit que ˜σ(∂̃p r) = ∂̃p˜σ(r) = ∂̃p r.Considérons alors les e i ∈ dcl ̃L(M) comme dans le (∗) et pour tout i, le e ′ i ∈ Mdonné par le (iii). On a montré que toute extension (au sens décrit ci-<strong>de</strong>ssus) ˜σ à ̃Md'un σ ∈ Aut L eq(M eq /A ′ ) xe ∂̃p r ; ˜σ doit donc xer tout les e i sauf un nombre ni,par dénition <strong>de</strong>s e i et donc tous les e ′ i sauf un nombre ni, par dénition <strong>de</strong>s e ′ i. Parle corollaire (4.15) (appliqué dans le modèle M eqA), tous les e ′ ′ i sauf un nombre ni ontune orbite nie, i.e. il existe I 0 ni tel que i ∉ I 0 implique e ′ i ∈ acl L(A ′ ) = A ′ , <strong>de</strong> pluscomme e ′ i ∈ M, on a alors e′ i ∈ A = A′ ∩ M.Pour tout x ∈ dcl ̃L(M), l'action <strong>de</strong> Aut L (M) sur x est bien dénie car toute extension<strong>de</strong> σ ∈ Aut L (M) à ̃M donnera la même image à x. Posons alors A ∗ = {x ∈dcl ̃L(M) ∶ x est xé par Aut L (M /A)}. Pour i ∉ I 0 , comme e ′ i ∈ A, on a (par dénition<strong>de</strong> e ′ i), e i ∈ A ∗ . Tout automorphisme <strong>de</strong> Aut ̃L(̃M/A ∗ ) xe donc tous les e i qui nesont pas dans I 0 , i.e. tous sauf un nombre ni. Il s'en suit donc que ∂̃p r est xé parAut ̃L(̃M/A ∗ ). Par l'hypothèse (∗∗), il existe s ̃L A ∗-dénissable qui a le même germeque r au <strong>de</strong>ssus <strong>de</strong> ̃p.Comme r(c) est un co<strong>de</strong> <strong>de</strong> R(c), il existe ϕ[x, ȳ] ∈ ̃L telle que pour tout c ∈ ̃MR(c) = ϕ[̃M, r(c)]. Soit alors la relation S dénie par ϕ[s(x), ȳ] ∈ ̃L A ⋆. Comme ∂̃p s =∂̃p r, S(c) = R(c) pour tout c ⊧ ̃p. Comme tout isomorphisme <strong>de</strong> Aut L (M /A) xe A ∗et donc S, il s'en suit que S ∩ M est Aut L (M /A)-invariant. Il sut donc <strong>de</strong> montrerque c'est un ensemble dénissable (dans M) pour savoir qu'il est A-dénissable. Maiscomme S est A ⋆ -dénissable, il existe ψ[x, ȳ, ā] ∈ ̃L, où ā ∈ A ⋆ , qui dénit S. De plus,comme ā ∈ A ⋆ ⊆ dcl ̃L(M), il existe θ[¯z, ¯t] ∈ ̃L et ¯m ∈ M tels que θ[̃M, ¯m] = {ā}. Laformule ∃¯z θ[¯z, ¯m] ∧ ψ[x, ȳ, ¯z] dénit donc S et est équivalente à une formule sansquanticateurs χ[x, ȳ, ¯t]. Cette formule dénit donc, dans M, l'ensemble S ∩ M quel'on peut donc supposer A-dénissable.Soit alors c ⊧ ̃p∣B ∪ p (qui existe par hypothèse) où B ⊆ M est tel que A ⊆ B et rest dénit sur B. Alors comme ∂̃p r = ∂̃p s, on a R(c) = S(c) et donc f(c) ∈ S(c) ∩ M.On a donc f(c) ∈ acl L (Ac) = dcl L (Ac) par (ii). Il existe donc g L A -dénissable telleque g(c) = f(c). On pose alors E = {x ∈ M ∶ f(x) = g(x)}. C'est un ensemble unairequi est A ′ -dénissable. Par (iv), il a un co<strong>de</strong> e ∈ M, mais alors e ∈ dcl L (A ′ ) = A ′ etdonc e ∈ A = A ′ ∩ M, i.e. E est A-dénissable. Comme c ∈ E et c ⊧ p, on a bien E ∈ pet donc ∂ p f = ∂ p g.◻Revenons donc à la preuve <strong>de</strong> la proposition et montrons que f est A-dénissable.Comme M est saturé, tout p ∈ S 1 (A) tel que son unique variable est dans les sortesdominantes, est <strong>de</strong> la forme tp L (c/A) pour c ∈ dom(M). Par le lemme (4.19), si g pest la fonction A-dénissable telle que ∂ p f = ∂ p g et l'ensemble {x ∶ f(x) = g(x)} estA-dénissable, on a S 1 (A) = ⋃ p∈S1 (A)[f(x) = g p (x)] (où [ϕ] est l'ouvert engendré parϕ). Par compacité, il existe donc (D i ∶ 1 ⩽ i ⩽ n) <strong>de</strong>s ensembles A-dénissables et29


5. LES SORTES GÉOMÉTRIQUES(g i ∶ 1 ⩽ i ⩽ n) <strong>de</strong>s fonctions A-dénissables telles que f coïnci<strong>de</strong> avec g i sur D i et lesD i recouvrent M. Il s'en suit bien que f est A-dénissable.◻5 Les sortes géométriquesDans [HHM06], il est démontré que la théorie ACVF (m,n) élimine (uniformément)les imaginaires si l'on rajoute certaines sortes <strong>de</strong> réseaux. Le but <strong>de</strong> cette section est<strong>de</strong> rappeler la dénition <strong>de</strong> ces sortes et le langage dans lequel on a alors élimination<strong>de</strong>s quanticateurs.Dénition 5.1 (Réseaux) :Soit (K, v) un corps valué. On note S n (K) l'ensemble <strong>de</strong>s sous-O K -modules <strong>de</strong> K nlibres <strong>de</strong> rang n. Un élément <strong>de</strong> S(K) = ⋃ n⩾1 S n (K) est appelé un réseau <strong>de</strong> K.Un réseau <strong>de</strong> K a donc une base e 1 . . . e n dans K. Deux bases engendrent le mêmeréseau s'il existe une matrice dans GL n (O K ) qui conjugue ces <strong>de</strong>ux bases. On a doncS n (K) ≃ GL n (K)/ GL n (O K ). Il s'en suit donc que pour tout n, S n est bien une sorte<strong>de</strong> K eq . De plus l'ensemble S 1 n'est rien d'autre que l'ensemble <strong>de</strong>s boules ferméescentrées en 0 <strong>de</strong> rayon ni appartenant à K. On a donc S 1 (K) ≃ Γ K . D'ailleurs, lasurjection canonique K ⋆ → S 1 (K) ≃ GL 1 (K)/ GL 1 (O K ) = K ⋆ / O ⋆ K = Γ K est v.On peut aussi remarquer que la sorte S contient <strong>de</strong>s co<strong>de</strong>s pas seulement pour lesréseaux mais aussi pour tous les translatés <strong>de</strong> réseaux :Lemme 5.2 :Soient (K, v) un corps valué, s ∈ S n (K) et a ∈ K. Le sous-O K -module <strong>de</strong> K n+1engendré par (a + s) × {1} est un réseau et il co<strong>de</strong> a + s.Démonstration. Soit (e 1 , . . . , e n ) une base <strong>de</strong> s. On pose e 0 = 0, la famille <strong>de</strong>s (a + e i , 1)est alors une base du sous-O K -module <strong>de</strong> K n+1 engendré par (a + s) × {1}, que l'onnotera h(a + s). Supposons que l'on ait ∑ i λ i (a + e i , 1) = 0, où λ i ∈ O K . On a alors(∑ i λ i a + ∑ i⩾1 λ i e i , ∑ i λ i ) = (0, 0). Il s'en suit donc que ∑ i λ i = 0 et donc ∑ i⩾1 λ i e i =0. Or c'est une famille libre donc pour tout i ⩾ 1, λ i = 0 et donc, λ 0 = 0. Pour cequi est du fait que ce soit une famille génératrice, tout élément <strong>de</strong> h(a + s) est <strong>de</strong>la forme x = ∑ i λ i (a + x i , 1), où x i ∈ s. En particulier, x i = ∑ j⩾1 µ i j e j. On a doncx = ∑ i λ i (a + e 0 , 1) + ∑ i,j λ i µ j (e j , 0). Or (e j , 0) = (a + e j , 1) − (a + e 0 , 1) et donc x estbien combinaison linéaire <strong>de</strong>s (a + e i , 1).Le module h(a+s) est donc bien un réseau. De plus, h(a+s)∩K n ×{1} = (a+s)×{1}.En eet, si x ∈ h(a + s) ∩ K n × {1}, il existe λ i ∈ O K , x i ∈ s et y ∈ K n tels que∑ i λ i (a + x i , 1) = (y, 1) = x. Il s'en suit que ∑ i λ i = 1 et donc y = ∑ i λ i a + ∑ i λ i x i =a + ∑ i λ i x 1 ∈ a + s. L'inclusion réciproque est évi<strong>de</strong>nte. Il s'en suit donc que h est unefonction ∅-dénissable qui injecte les translatés d'éléments <strong>de</strong> S n dans S n+1 , i.e. a + sest codé par h(a + s) via la fonction qui dénit h.◻30


5. LES SORTES GÉOMÉTRIQUESOn en déduit immédiatement que l'ensemble <strong>de</strong>s boules fermées dont le rayon estdans Γ K s'injecte dans S 2 (K) ∪ K. En eet l'ensemble <strong>de</strong>s boules fermées <strong>de</strong> rayoninni est exactement K. Pour ce qui est <strong>de</strong>s boules fermées <strong>de</strong> rayon ni, ce sont <strong>de</strong>stranslatés <strong>de</strong> boules centrées en 0, i.e. d'éléments <strong>de</strong> S 1 , par le lemme précé<strong>de</strong>nt, ilss'injectent bien dans S 2 .Dénition 5.3 (Torseurs) :Soit (K, v) un corps valué. On pose T n (K) = ⊔ s∈Sn(K) s/(M s). Un élément <strong>de</strong>T (K) = ⋃ n⩾1 T n (K) est appelé un torseur <strong>de</strong> K.Il est clair que T vit aussi dans K eq vu que ses points sont <strong>de</strong>s classes <strong>de</strong> congruencesd'un réseau s (qui est bien un ensemble dénissable) par M s qui est bien un sous-groupedénissable.De plus, comme k K = O K / M K et que O K est évi<strong>de</strong>mment un réseau <strong>de</strong> rang 1, ils'en suit que k K ⊆ T 1 (K). L'application res est aussi dénissable car c'est celle qui àa ∈ O K associe sa classe dans O K / M K .Pour pouvoir dénir le langage dans lequel on a à la fois élimination <strong>de</strong>s imaginaireset élimination <strong>de</strong>s quanticateurs pour ACVF m,n , il faut introduire une <strong>de</strong>rnière notion,celle <strong>de</strong> base générique. Il faut cependant commencer par montrer le lemme suivant :Lemme 5.4 :Soient (K, v) un corps valué algébriquement clos, A ⊆ K et a un élément générique<strong>de</strong> k K au-<strong>de</strong>ssus <strong>de</strong> A (au sens <strong>de</strong> la stabilité). Tous les b ∈ O K tels que res(b) = a ontalors le même type.Démonstration. Quitte à agrandir K, on peut le supposer assez saturé. Soient b et c telsque res(b) = a = res(c), i.e. en se rappelant que a est un translaté <strong>de</strong> M K , b et c sontdans a. S'ils n'ont pas le même type sur A, il existe un ensemble A-dénissable X ⊆ O Ktel que b ∈ X et c ∉ X. Mais alors pour tout a ′ générique dans k K au-<strong>de</strong>ssus <strong>de</strong> A (onpeut en construire une innité en prenant un élément générique au-<strong>de</strong>ssus <strong>de</strong> ceux quel'on a déjà construits), il existe b ′ et c ′ dans a ′ tels que b ′ ∈ X et c ′ ∉ X. Mais celacontredit le fait que X est A-dénissable. En eet, on aurait alors, par la proposition(3.7), X = ⋃ n i=1 (t i/(⋃ m ij=1 tj), où les i t i et t j isont <strong>de</strong>s translatés <strong>de</strong> sous-O-modules <strong>de</strong>O, i.e. <strong>de</strong>s idéaux. Si t i est un translaté d'un idéal strict <strong>de</strong> O, il est contenu dans untranslaté <strong>de</strong> M et ne peut donc contenir qu'un seul <strong>de</strong>s b ′ . On doit donc avoir i = 1et t 1 = O. Mais pour la même raison on ne peut alors pas éviter tous les c ′ sans avoir= O et donc X = ∅, ce qui est absur<strong>de</strong>.◻t j 1Dénition 5.5 (Base générique) :Soient K un corps valué algébriquement clos, A ⊆ K eq et s ∈ S n (A). Si l'on noteres(s) = s/Ms, res(s) n est dénissablement isomorphe à k n2 . Comme k est un pur corpsalgébriquement clos, cet ensemble est <strong>de</strong> <strong>de</strong>gré 1 et a donc un type générique q res(s) n,31


5. LES SORTES GÉOMÉTRIQUESqui est l'unique type <strong>de</strong> rang maximal <strong>de</strong> l'ensemble. Soit alors q s tel que pour tout(ā 1 . . . ā n ), on a (ā 1 . . . ā n ) ⊧ q s si et seulement si (res(ā 1 ) . . . res(ā n )) ⊧ q res(s) n, oùres(ā i ) = ā i + Ms.Soit B ⊆ A, une base générique <strong>de</strong> s au-<strong>de</strong>ssus <strong>de</strong> B est une réalisation <strong>de</strong> q s ∣B.Cette dénition a un sens car pour tout i, res(ā i ) est générique au-<strong>de</strong>ssus <strong>de</strong>Aā 1 . . . ā i−1 et donc, par le lemme (5.4), tous les choix possibles <strong>de</strong> ā i ont le mêmetype au-<strong>de</strong>ssus <strong>de</strong> ces paramètres. De plus, comme q res(s) n est A-dénissable (tous lestypes sont dénissables dans une théorie stable), q s l'est aussi ; en eet ϕ[¯x 1 , . . . ¯x n ] ∈ q ssi et seulement si (∀¯x 1 . . . ¯x n ⋀ i y i = res(¯x i ) ⇒ ϕ[x 1 , . . . x n ]) ∈ q res(s) n (il n'est d'ailleurspas très compliqué <strong>de</strong> voir que ce type est dénissable uniformément en s). Si l'on aplusieurs réseaux s 1 , . . . s n , on dénit le type q s1 ,...,s ncomme le type <strong>de</strong>s bases <strong>de</strong> s igénériques au <strong>de</strong>ssus <strong>de</strong>s paramètres et <strong>de</strong>s bases déjà choisies pour les (s j ) j


5. LES SORTES GÉOMÉTRIQUESψ[¯x 1 ] ⇐⇒ ψ[¯x 2 ] et doncACVF G ⊢ ϕ ⋆ [¯z] ⇐⇒ (∀¯x f(¯x) = ¯z ⇒ ψ[¯x]) ⇐⇒ (∃¯x f(¯x) = ¯z ∧ ψ[¯x]). (1)On peut alors montrer que si (K, v) ⩽(L, w) est une extension <strong>de</strong> corps valués alorsK G ⊆ L G . En eet, si s ∈ S n (K) alors O L s ∈ S n (L) et O L s ∩ K n = s. On peut doncinjecter S(K) dans S(L) en respectant les ∈ n . Il s'en suit facilement qu'on peut aussiinjecter T (K) dans T (L) en respectant les τ n et les ν n . Reste alors le problème <strong>de</strong>savoir si les ϕ ⋆ sont respectés. Mais comme K alg ⪯ L alg (en les munissant <strong>de</strong> valuationsraisonnables), on a (K alg ) eq ⪯(L alg ) eq et comme lg est une extension dénissable dansles corps valués algébriquement clos (K alg ) G ⪯(L alg ) G . Comme par dénition ϕ ⋆ [K G ] =ϕ ⋆ [(K alg ) G ]∩K G , on a ϕ ⋆ [L G ]∩K G = (ϕ ⋆ [(L alg ) G ]∩L G )∩K G = ϕ ⋆ [(L alg ) G ]∩(K alg ) G )∩K G = ϕ ⋆ [(K alg ) G ] ∩ K G = ϕ ⋆ [K G ].Il s'en suit que les ϕ ⋆ sont en fait dénissables par les même formules qu'en (1). Eneet, soit (K, v) un corps valué quelconque, on a alors, par dénition K G ⊧ ϕ ⋆ [¯z] si etseulement si (K alg ) G ⊧ ϕ ⋆ [¯z] et donc (K alg ) G ⊧ ∀¯x f(¯x) = ¯z ⇒ ψ[¯x]. Comme ψ est sansquanticateurs, on a donc K G ⊧ ∀¯x f(¯x) = ¯z ⇒ ψ[¯x]. Mais comme (K alg ) G ⊧ ACVF G ,et que K G ⊆ (K alg ) G , on a aussi K G ⊧ ∀¯x 1¯x 2 , f(¯x 1 ) = f(¯x 2 ) ⇒ ψ[¯x 1 ] ⇐⇒ ψ[¯x 2 ] etdonc K G ⊧ (∀¯x f(¯x) = ¯z ⇒ ψ[¯x]) ⇐⇒ (∃¯x f(¯x) = ¯z ∧ ψ[¯x]). Comme cette <strong>de</strong>rnièreformule est existentielle, si K G ⊧ ∃¯x f(¯x) = ¯z ∧ ψ[¯x], on a aussi (K alg ) G ⊧ ∃¯x f(¯x) =¯z ∧ ψ[¯x], d'où (K alg ) G ⊧ ϕ ⋆ [¯z] et donc K G ⊧ ϕ ⋆ [¯z]. On a donc bien démontré quetout corps valué vérie en fait la formule (1) et donc qu'on a bien déni une extensiondénissables du langage dans tout corps valué.Pour nir, énonçons le théorème qui a motivé toutes ces dénitions.Théorème 5.7 :Pour tout (m, n), la théorie ACVF G m,n élimine les quanticateurs et les imaginaires.Ce sont les principaux résultats <strong>de</strong> [HHM06]. L'élimination <strong>de</strong>s quanticateurs estprouvée au théorème 3.1.2 et celle <strong>de</strong>s imaginaires au théorème 3.4.10.33


Deuxième partieLe corps <strong>de</strong>s nombres p-adiques etsa théorie34


6. LES CORPS P -ADIQUEMENT CLOS6 Les corps p-adiquement closCette section est particulièrement dénitionnelle. On y introduit toutes les notionsnécessaires pour étudier les corps p-adiquement clos.Dénition 6.1 (Groupes Archimédien) :Soit Γ un groupe abélien totalement ordonné, on dit que Γ est Archimédien si pourtout a et b ∈ Γ tels que a > 0 il existe n ∈ Z tel que na ⩾ b.Remarque 6.2 :Un théorème classique que l'on peut trouver dans [Rib64, Proposition 1, p.9] dit queles groupes Archimédien sont exactement les sous-groupes <strong>de</strong> (R, +) à isomorphismeprès.Dénition 6.3 (Norme) :Soient (K, v) un corps valué dont le groupe <strong>de</strong> valeur est inclus dans (R, +) et V unK-espace vectoriel. Une norme (ultramétrique) sur V est une application ν ∶ V → R ∪∞qui vérie les propriétés suivantes :(i) Pour tout x ∈ V , ν(x) = ∞ ⇐⇒ x = 0.(ii) Pour tous x ∈ V et λ ∈ K, ν(λx) = v(λ) + ν(x).(iii) Pour tous x, y ∈ V , ν(x + y) ⩾ min(ν(x), ν(y)).Avec les conventions habituelles que pour tout γ ∈ Γ, γ < ∞ et γ + ∞ = ∞ + γ = ∞.Deux normes sur V , ν 1 et ν 2 , sont dites équivalentes si il existe α et β ∈ R tel quepour tout x ∈ V , ν 1 (x) + α ⩾ ν 2 (x) ⩾ ν 1 (x) + β.Il est évi<strong>de</strong>nt qu'une valuation sur un corps L <strong>de</strong> K qui étend v est une norme surL en tant que K-espace vectoriel.Lemme 6.4 :Soient (K, v) un corps valué et K ⩽ L un extension nie. Deux valuations w 1 et w 2sur L qui éten<strong>de</strong>nt v sont équivalentes en temps que normes si et seulement si ellessont égales.Démonstration. Si w 1 et w 2 sont équivalentes en tant que normes alors il existe α etβ dans R tels que pour tout x ∈ L, w 1 (x) + α ⩽ w 2 (x) ⩽ w 1 (x) + β. En appliquantcette inégalité à x n on a alors pour tout n, nw 1 (x) + α ⩽ nw 2 (x) ⩽ nw 1 (x) + β et doncw 1 (x) + α/n ⩽ w 2 (x) ⩽ w 1 (x) + β/n. Il s'en suit donc que pour tout x, w 1 (x) = w 2 (x).La réciproque est évi<strong>de</strong>nte.◻Dénition 6.5 :Soient (K, v) un corps valué <strong>de</strong> groupe <strong>de</strong> valeur Archimédien et (V, ν) un K-espacevectoriel normé. Une suite (a n ) n∈N d'éléments <strong>de</strong> V est dite convergente s'il existe a ∈ V35


6. LES CORPS P -ADIQUEMENT CLOStel que pour tout A ∈ Γ, il existe N ∈ N tel que pour tout n supérieur à N, on aitν(a n − a) ⩾ A. Elle est dite <strong>de</strong> Cauchy si pour tout A ∈ Γ, il existe N ∈ N tel que pourtout n et m supérieurs à N, on ait ν(a n − a m ) ⩾ A.Enn, on dit que V est complet si toute suite <strong>de</strong> Cauchy converge.L'existence d'un complété (qui est aussi un corps) pour tout corps valué est unrésultat classique. On peut trouver dans [Lan02, Proposition XII.2.1]. De plus, il estfacile <strong>de</strong> voir que le complété d'un corps valué à le même groupe <strong>de</strong> valeur et le mêmecorps résiduel.Dénition 6.6 (Valuation p-adique) :On peut munir Q <strong>de</strong> la valuation suivante : tout rationnel s'écrit d'une façon uniquesous la forme p n a/b où a, b et n ∈ Z et a et b ne sont pas divisibles par p. On pose alorsv p (p n a/b) = n. On dénit le corps Q p comme le complété <strong>de</strong> Q pour cette valuation.Lemme 6.7 :Soient (K, v) un corps valué complet et V un K-espace vectoriel normé, alors toutesles normes sur V sont équivalentes et V est complet pour toutes ces normes.Démonstration. Voir [Lan02, Proposition XII.2.2]Corollaire 6.8 :Soient (K, v) un corps complet et K ⩽ L une extension nie, alors L ne peut êtremunie que d'une seule valuation (et pas seulement à équivalence près) qui étend v et,muni <strong>de</strong> cette valuation, c'est un corps complet.Démonstration. L est alors un K-espace vectoriel <strong>de</strong> dimension nie, toutes les valuationssur L qui éten<strong>de</strong>nt v sont donc équivalentes en tant que normes par le lemme(6.7) et par le corollaire (6.4), elles sont donc égales. De plus le lemme (6.7) préciseaussi que L est alors complet pour n'importe quelle norme et donc a fortiori son uniquevaluation.◻Corollaire 6.9 :Soit (K, v) un corps valué complet alors il est Hensélien.Démonstration. D'après le corollaire (6.8), toute extension nie <strong>de</strong> K ne peut êtremunie que d'une seule valuation qui étend v. Par la proposition (1.11), on a alors bienque K est hensélien.◻Dénition 6.10 :Soit (K, v) un corps valué. On dit qu'il est à valuation discrète si v(K) a un pluspetit élément strictement positif. Une uniformisante d'un tel corps est π tel que v(π)est le plus petit élément strictement positif.36◻


6. LES CORPS P -ADIQUEMENT CLOSRemarque 6.11 :Il est facile <strong>de</strong> voir que le groupe <strong>de</strong> valeur d'un corps valué <strong>de</strong> valuation discrète etArchimédienne est monogène.Lemme 6.12 :Soit (K, v) un corps valué <strong>de</strong> valuation discrète, d'uniformisante π et dont le corpsrésiduel est ni alors toute boule <strong>de</strong> rayon γ est recouverte par un nombre ni <strong>de</strong> boules<strong>de</strong> rayon γ + v(π).Démonstration. Soit b une boule <strong>de</strong> centre a et <strong>de</strong> rayon γ. Supposons que le corpsrésiduel soit <strong>de</strong> cardinal q et qu'il existe q + 1 boules disjointes <strong>de</strong> rayon γ + v(π)incluses dans b. Soient alors x 0 , . . . , x q <strong>de</strong>s points dans chacune <strong>de</strong> ces q + 1 boules. Ona alors pour tous i ≠ j, v(x i − x j ) ⩽ γ, sinon ils seraient dans la même boule <strong>de</strong> rayonγ + v(π). Mais d'un autre côté on a v(x i − x j ) = v(x i − a − (x j − a)) ⩾ γ car x i et x j sonttous les <strong>de</strong>ux dans b. On a donc pour tous i ≠ j, v(x i − x j ) = γ. Posons ˆx i = (x i − a)y oùv(y) = −γ. On a alors v(ˆx i ) = 0 et pour tous i ≠ j, res(ˆx i − ˆx j ) ≠ 0, i.e. res(ˆx i ) ≠ res(ˆx j ).On a donc q +1 éléments <strong>de</strong> résidus distincts, ce qui est absur<strong>de</strong>. Il ne peut donc existerau plus que q boules disjointes <strong>de</strong> rayon γ + v(π) incluses dans b. Comme <strong>de</strong>ux boules<strong>de</strong> même rayon sont soit égales soit disjointes, on a bien le résultat recherché. ◻Lemme 6.13 :Soient (K, v) un corps valué complet à valuation discrète, R un ensemble <strong>de</strong> représentants<strong>de</strong> k = O /M et π i une suite d'éléments <strong>de</strong> K tels que v(π i ) = v(π) i où π estune uniformisante <strong>de</strong> K. Alors tout élément x ∈ K se développe <strong>de</strong> façon unique commeune série convergente ∑ ∞ i=N r iπ i où N ∈ Z et pour tout i, r i ∈ R.Démonstration. Voir [Lan02, p. 488].Remarque 6.14 :On peut alors remarquer que tout élément <strong>de</strong> Q p s'écrit <strong>de</strong> façon unique comme unesérie convergente ∑ i⩾N a i p i où a i ∈ ⟦0 . . . p − 1⟧. Il s'en suit aussi immédiatement quetout élément <strong>de</strong> Z p s'écrit <strong>de</strong> façon unique comme une série convergente ∑ i⩾0 a i p i etest donc limite d'éléments <strong>de</strong> Z, i.e. Z est <strong>de</strong>nse dans Z p .Dénition 6.15 :On dénit L Qp = L div ∪{P n ∶ n ∈ N ⋆ }. La théorie pCF <strong>de</strong>s corps p-adiquement closdans le langage L Qp est donnée par les axiomes suivants :(i) K est un corps valué Hensélien.(ii) P n dénit l'ensembles <strong>de</strong>s puissances n-ièmes.(iii) Le groupe <strong>de</strong> valuation est un Z-groupe dont le plus petit élément strictementpositif est v(p).37◻


6. LES CORPS P -ADIQUEMENT CLOS(iv) Le corps résiduel est F p .Remarque 6.16 :Il n'est pas totalement évi<strong>de</strong>nt que cette théorie soit axiomatisable, montrons doncque toutes ces propriétés peuvent être traduites au premier ordre dans L Qp .(i) Le seul problème est d'exprimer qu'il est Hensélien, mais il sut d'énoncer quele corps vérie le lemme <strong>de</strong> Hensel : pour tout a 1 . . . a n et a, si 1 div a i , 1 div a,¬(∑ i a i a i div 1) et ∑ i a i ia i−1 div 1, alors il existe b tel que 1 div b, ∑ i a i b i = 0 et¬(a − b div 1).(ii) ∀x(P n x ⇐⇒ ∃y x = y n ).(iii) Les axiomes précé<strong>de</strong>nt impliquent déjà que le groupe <strong>de</strong> valuation est un groupeabélien totalement ordonné. Il reste à dire qu'il a un plus petit élément strictementpositif (qui est v(p)) : ¬(p div 1) et pour tout x, x div p implique x div 1 ;et que pour tout n ∈ N ⋆ , [Γ ∶ nΓ] = n : pour tout x, il existe y tel que⋁ i=0...n−1 x div p i y k ∧ p i y k div x.(iv) On a déjà dit dans les axiomes que v(p) > 0 et donc res(p) = 0. Il s'en suitque la caractéristique résiduelle est forcément p et donc il sut <strong>de</strong> dire que lecorps résiduel à au plus p éléments : ∀x 0 . . . x p ⋁ i≠j ¬(x 1 − x j div 1).Proposition 6.17 :Le corps Q p est un modèle <strong>de</strong> pCF. De plus cette théorie admet l'élimination <strong>de</strong>squanticateurs dans L Qp et est complète. On a donc Th(Q p ) = pCF.Démonstration. La seule chose à vérier pour montrer que Q p ⊧ pCF est que Q p estHensélien mais c'est une conséquence immédiate du lemme (6.9). L'élimination <strong>de</strong>squanticateurs a été montrée par Macintyre dans [Mac76], on en trouve aussi une preuvedans [Cha08, Théorème 5.1 p. 50]. La complétu<strong>de</strong> <strong>de</strong> la théorie suit immédiatement dufait que tous les modèles contiennent Q muni <strong>de</strong> la valuation p-adique.◻Comme pour ACVF, on peut démontrer un résultat d'élimination <strong>de</strong>s quanticateursdans une extension du langage tri-sorté qui permet <strong>de</strong> montrer que Γ stablementplongé au sens que tout ensemble dénissable <strong>de</strong> Γ, l'est avec seulement <strong>de</strong>s paramètres<strong>de</strong> Γ.On dénit aussi le langage L G Q pen rajoutant les prédicats P n au langage L G div eten les interprétants toujours par l'ensemble <strong>de</strong>s puissances n-ièmes. La théorie pCF Gest alors la théorie <strong>de</strong> Th(Q G p ). C'est l'extension dénissables <strong>de</strong> pCF eq donnée par lesconsidérations qui suivent la dénition (5.6). Il suit aussi <strong>de</strong> ces considérations que larestriction à L G div <strong>de</strong> tout modèle <strong>de</strong> pCFG se plonge dans un modèle <strong>de</strong> ACVF G 0,p .38


6. LES CORPS P -ADIQUEMENT CLOSLemme 6.18 :Soient K ⊧ pCF, x ∈ K et k ∈ N ⋆ alors x ∈ (K ⋆ ) k si et seulement si (K ⋆ ) k ∩B ⩾(1+v(x)+2v(k)) (x) ≠ ∅.Démonstration. Soient y ∈ (K ⋆ ) k ∩ B ⩾(1+v(x)+2v(k)) (x) et P (X) = X k − x/y. On av(P (1)) = v(1 − y/x) = v(x − y) − v(x) ⩾ 1 + 2v(k) et v(P ′ (1)) = v(k). On a donc bienv(P (1)) > 2v(P ′ (1)) et donc par le lemme <strong>de</strong> Hensel-Rychlik (voir (1.11.iv)) il existeb ∈ O tel que P (b) = 0, i.e. b k = y/x. Comme y ∈ (K ⋆ ) k , il s'en suit directement que xaussi. La réciproque est évi<strong>de</strong>nte.◻Une conséquence immédiate <strong>de</strong> ceci est que (K ⋆ ) k est ouvert et fermé. Cela a<strong>de</strong>s conséquences sur le cardinal <strong>de</strong>s ensembles dénissables dans pCF. La preuve estsimilaire à celle pour ACVF dans la proposition (3.8).Proposition 6.19 :Soit (K, v) ⊧ pCF, alors tout sous-ensemble dénissable <strong>de</strong> K est soit ni soit ducardinal <strong>de</strong> K.Démonstration. Soit X un ensemble dénissable, par élimination <strong>de</strong>s quanticateurs etpar le même argument que dans la preuve <strong>de</strong> la proposition (3.8), on peut supposerque la formule que l'on considère est en une seule variable et que c'est une conjonctiond'atomes et <strong>de</strong> négations d'atomes. Elle est donc <strong>de</strong> la forme ϕ[x] ∧ ⋀ i P ki (R i (x)) ∧⋀ j ¬P kj (R j (x)), où ϕ ∈ L div et les R k sont <strong>de</strong>s polynômes à coecients dans K. Le casoù X est vi<strong>de</strong> étant très peu intéressant, on peut supposer qu'on a un m ∈ X.Comme ϕ est sans quanticateurs, on a ϕ[K] = ϕ[K alg ] ∩ K. Or, on a montré dansla preuve <strong>de</strong> la proposition (3.8) que si m ∈ ϕ[K alg ] alors cet ensemble contient uneboule ouverte centrée en m. Quitte à augmenter son rayon, comme Γ Kalg = div(Γ K ), onpeut supposer qu'il est dans Γ K . On a donc m + y M alg ⊆ ϕ[K alg ] Koù y ∈ K et donc,comme tous ces ensembles sont dénis sans quanticateurs, m + yM K ⊆ ϕ[K]. Il s'ensuit que ϕ[K] est ouvert.Montrons à présent que les P k dénissent <strong>de</strong>s ensembles ouverts-fermés. Si K ⊧P k (x) alors tout la boule ouverte B >v(x)+2v(k) (x) est aussi dans P k (K). En eet, soity ∈ B >v(x)+2v(k) (x) alors v(y) = v(y − x + x) = v(x) car v(y − x) > v(x) + 2v(k) ⩾ v(x) etx ∈ (K ⋆ ) k ∩B ⩾(1+v(y)+2v(k)) (y), d'où, par le lemme (6.18), y ∈ P k (K). Réciproquement,si x ∉ P k (K) alors si on avait P k (K) ∩ B ⩾(1+v(x)+2v(k)) (x) ≠ ∅, on aurait x ∈ P K (K) cequi est absur<strong>de</strong>, donc B ⩾(1+v(x)+2v(k)) (x) ⊆ ¬P k (K).Comme les polynômes dénissent <strong>de</strong>s fonctions continues, R −1i(P ki ) et R −1j (¬P k j)sont ouverts et donc X est une intersection nie d'ouverts. C'est donc lui même unouvert qui contient un sous-ensemble <strong>de</strong> la forme m+yM K . Par les même considérationsque dans la preuve <strong>de</strong> la proposition (3.8), on montre que M K à le même cardinal queK. C'est donc aussi le cas <strong>de</strong> X. ◻39


6. LES CORPS P -ADIQUEMENT CLOSLemme 6.20 :Soient K ⊧ pCF, x ∈ K tel que v(x) = 0 et k ∈ N ⋆ , il existe alors n ∈ N ⋆ avecn < p 1+2v(k) tel que x/n ∈ (K ⋆ ) k et v(n) = 0.Démonstration. Cet énoncé peut s'exprimer au premier ordre par∀x v(x) = 0 ⇒⋁ ∃y x = ny k .0


7. CLÔTURE ALGÉBRIQUE ET DÉFINISSABLE DANS PCFLemme 6.23 :On a ⋂ k⩾1 (Q p ) k = {1}.Démonstration. Soit x ∈ ⋂ k⩾1 (Q p ) k , quitte à le remplacer par x −1 , on peut supposer quex ∈ Z p et on a alors x ∈ ⋂ k⩾1 (Z p ) k . Pour tout k il existe donc y tel que y pk−1 = x, maisy peut s'écrire comme ∑ i y i p i , où a i ∈ ⟦0 . . . p − 1⟧ et donc en posant y ′ = ∑ k−1i=0 a ip i ∈ Zet y ′′ = ∑ i⩾k a i p i−k , on a y = y ′ + p k y ′′ . D'après le petit théorème <strong>de</strong> Fermat, on ay ′pk−1 ≡ 1 mod p k et donc, en appliquant un binôme <strong>de</strong> Newton, il existe z ∈ Z p tel quey pk−1 = 1 + p k z. Il s'en suit donc que pour tout k ∈ N, il existe z tel que x = 1 + p k z. Parunicité du développement en série p-adique <strong>de</strong> x, on a donc x = 1.◻7 Clôture algébrique et dénissable dans pCFCette section se propose <strong>de</strong> démontrer quelles sont les clôtures algébriques et dénissablesdans pCF, comme on l'a fait à la remarque (3.3) pour ACVF.Proposition 7.1 :Soient (K, v) ⊧ pCF et A ⊆ K, on a alors A alg ∩ K ⊧ pCF.Démonstration. D'après le corollaire (6.22), il sut <strong>de</strong> montrer que K ′ = A alg ∩ K etK ′ ⊧ ∀x P n x ⇒ ∃y x = y n . Soient alors P ∈ O K ′[X] et a tel que res(P (a)) = 0 etres(P ′ (a)) ≠ 0. Ces même conditions sont vériées dans K qui est hensélien, il existedonc b ∈ O K tel que P (b) = 0 et res(b) = res(a). Mais ce b est alors algébrique sur K ′qui est relativement algébriquement clos dans K, donc b ∈ K ′ . Le corps K ′ est doncbien Hensélien.De plus la dénition <strong>de</strong>s P n est préservée, en eet si on a K ′ ⊧ P n (x), c'est aussivrai dans K car K ′ est muni <strong>de</strong> la structure induite et donc il existe y ∈ K tel quey n = x, mais ce y est algébrique sur K ′ et donc appartient à K ′ .◻Corollaire 7.2 :Soient (K, v) ⊧ pCF et A ⊆ K, on a alors acl(A) = A alg ∩ K.Démonstration. On a montré au lemme (7.1) que A alg ∩K est une sous-structure <strong>de</strong> Kqui est un modèle <strong>de</strong> pCF. Comme pCF est modèle complète, A alg ∩K est sous-structureélémentaire qui contient A et donc acl(A). Mais comme L Qp contient le langage <strong>de</strong>sanneaux, on a aussi A alg ∩ K ⊆ acl(A). Ils sont donc égaux.◻Lemme 7.3 :Soit T une théorie modèle complète, telle que pour tout modèle M et tout A ⊆ M,acl(A) ⊧ T, alors T a un modèle premier et minimal au <strong>de</strong>ssus <strong>de</strong> tout ensemble <strong>de</strong>paramètres, qui est justement acl(A).41


7. CLÔTURE ALGÉBRIQUE ET DÉFINISSABLE DANS PCFDémonstration. Montrons tout d'abord que acl(A) ne dépend pas <strong>de</strong> M. Soient doncM 1 et M 2 <strong>de</strong>ux modèles <strong>de</strong> D el (A), le diagramme élémentaire <strong>de</strong> A. Par la propriétédu plongement commun, ils se plongent tous <strong>de</strong>ux élémentairement dans un modèleM ⊧ D el (A). Mais alors acl M1 (A) = acl M (A) = acl M2 (A). De plus tout modèle <strong>de</strong>D el (A) contient acl(A) qui par modèle complétu<strong>de</strong> est une sous-structure élémentaire.Enn, si on a A ⊆ M ⪯ acl(A) où M ⊧ D el (A), alors acl(A) ⊆ M et donc ils sont égaux.◻Corollaire 7.4 :Soit A ⊆ K ⊧ pCF alors A alg ∩ K est un modèle premier et minimal au <strong>de</strong>ssus <strong>de</strong> A.Démonstration. C'est une conséquence immédiate du lemme (7.3), du corollaire (7.2)et <strong>de</strong> la proposition (7.1).◻Proposition 7.5 :Soit A ⊆ K ⊧ pCF alors K ′ = A alg ∩ K est rigi<strong>de</strong> au <strong>de</strong>ssus <strong>de</strong> A.Démonstration. Soit σ ∈ Aut(K ′ /A) et soit B la sous-structure xée par σ. Montronsalors que B ⊧ pCF. D'après le corollaire (6.22), il sut <strong>de</strong> montrer que B est hensélienet que B ⊧ ∀x P n (x) ⇒ ∃y x = y n . Tout d'abord, comme K ′ est hensélien, il contientC h = Frac(< A >) h et comme C = Frac(< A >) ⊆ dcl(A), il est xé par σ. On a donc lediagramme commutatif suivant :C h i 1 i 4 C C h σ σ(C h ) i 3K ′i 2où les injections vérient toutes i(x) = x. Par la propriété universelle <strong>de</strong> l'Hensélianisation(voir (1.13)) on a i 3 ○ σ = i 4 et donc pour tout x ∈ C h , σ(x) = x, i.e. C h ⩽ B. Maiscette extension est algébrique donc par le corollaire (1.12), B est Hensélien.Soit maintenant x tel que B ⊧ P n (x). Si x = 0 alors c'est évi<strong>de</strong>nt, sinon il a doncune racine n-ième dans K, notée y. Soit k ∈ N ⋆ , par le corollaire (6.21), il existe q ∈ Q ⋆tel que qy ∈ (K ⋆ ) k . Mais on a alors σ(qy)/qy = qσ(y)/qy = σ(y)/y ∈ (K ⋆ ) k . De plusσ(y)/y est une racine n-ième <strong>de</strong> a/a = 1. Il s'en suit que σ(y)/y ∈ dcl(∅) ⊆ Q p . Par lelemme (6.23), on a alors σ(y)/y = 1 et donc y ∈ B, i.e. B ⊧ ∃y x = y n .◻Corollaire 7.6 :Soit A ⊆ K ⊧ pCF alors dcl(A) = acl(A) = A alg ∩ K.Démonstration. Quitte à en prendre une extension élémentaire, on peut supposer queK est assez saturé. Il sut alors <strong>de</strong> montrer que tout σ ∈ Aut(K/A) xe A alg ∩K. Mais42


8. LES TYPES DANS PCFcomme σ xe A alors σ xe (globalement) acl(A) = A alg ∩ K. Mais on a montré dans lelemme (7.5) que A alg ∩ K est rigi<strong>de</strong> au <strong>de</strong>ssus <strong>de</strong> A, il est donc xé point par point. ◻On peut alors en déduire, comme le fait van <strong>de</strong>n Dries dans [Dri84] que pCF admet<strong>de</strong>s fonctions <strong>de</strong> Skolem dénissables. Pour cela on fait appel au critère suivant.Lemme 7.7 (Critère pour les fonctions <strong>de</strong> Skolem) :Soit T une théorie qui élimine les quanticateurs, alors T admet <strong>de</strong>s fonctions <strong>de</strong>Skolem dénissables si et seulement si tout A ⊧ T ∀ se plonge dans un modèle A ⊧ Tqui est algébrique et rigi<strong>de</strong> au <strong>de</strong>ssus <strong>de</strong> A.Démonstration. Voir [Dri84, Théorème 2.1]Corollaire 7.8 :La théorie pCF admet <strong>de</strong>s fonctions <strong>de</strong> Skolem dénissables.Démonstration. Soient (K, v) ⊧ pCF et A ⊆ K. D'après le lemme (7.1), A alg ∩ K estun modèle <strong>de</strong> pCF, algébrique au <strong>de</strong>ssus <strong>de</strong> A. Mais par le lemme (7.5), il est rigi<strong>de</strong>au <strong>de</strong>ssus <strong>de</strong> A. On peut donc conclure par le lemme (7.7).◻Remarque 7.9 :Ces résultats seront utilisés dans la <strong>de</strong>rnière section, mais il faut faire attentionqu'on sera alors dans une extension dénissable d'une partie <strong>de</strong> L eq . Les résultats qu'ona démontré restent vrais dans ce langage, à condition <strong>de</strong> considérer <strong>de</strong>s ensembles <strong>de</strong>paramètres et <strong>de</strong>s variables du corps seulement.◻8 Les types dans pCFLa section qui suit est une reprise <strong>de</strong>s résultats <strong>de</strong> la section 4 <strong>de</strong> [HM08], dans lecas particulier <strong>de</strong> la théorie pCF. Dans ce qui suit, on notera B l'ensemble <strong>de</strong>s boules.En particulier, si K est un corps valué et A ⊆ K, on note B(A) l'ensemble <strong>de</strong>s boulesA-dénissables. Si b ∈ B(A), on notera x ∈ b pour ϕ[x], où ϕ est une L A -formule quidénit b. De plus, si M eq ⊧ pCF eq , on notera K(M) la sorte du corps.Dénition 8.1 (Généricité) :Soient (K, v) un corps valué, A ⊆ K, (b i ) i∈I une famille <strong>de</strong> boules A-dénissableset P = ⋂ i b i . On dit que x ∈ K est générique dans P au <strong>de</strong>ssus <strong>de</strong> A si x ∈ P et xn'appartient à aucune sous-boule stricte A-dénissable <strong>de</strong> P.On note α P ∣A le A-type partiel suivant :α P = {x ∈ b i ∶ i ∈ I} ∪ {¬x ∈ b ∶ b ∈ B(A) et b ⊊ P }43


8. LES TYPES DANS PCFComme on l'a déjà fait remarquer précé<strong>de</strong>mment, la notion <strong>de</strong> boule se comportemal vis à vis <strong>de</strong>s extensions <strong>de</strong> corps. Il faut donc faire attention qu'un point génériquedans une intersection <strong>de</strong> boules dans un corps ne le sera pas forcément dans uneextension. Mais pour les corps p-adiquement clos, cela cas ne peut pas se produire :Lemme 8.2 :Soient (K, v) ⊧ P CF, (K, v) ⩽(L, w) une extension <strong>de</strong> corps valués, γ ∈ Γ L et a ∈ K,si B ⩾γ (a) ∩ K et B >γ (a) ∩ K sont dénissables sur K, sont alors <strong>de</strong>s boule <strong>de</strong> K.Démonstration. Considérons d'abord b = B ⩾γ (a). Comme b est dénissable sur K, sonrayon (qui est la valuation maximal <strong>de</strong> la diérence <strong>de</strong> <strong>de</strong>ux points dans b) est aussidénissable sur K, il s'en suit qu'il est dans Γ alg = div Γ K K . Il existe donc n ∈ N tel quenγ ∈ Γ K . Comme K est un corps p-adiquement clos, Γ K est un Z −groupe et donc ilexiste k ∈ ⟦0 . . . n − 1⟧ tel que nγ + k ∈ nΓ K , i.e. γ + k n ∈ Γ K. En d'autres termes, il existeδ ∈ Γ K tel que δ − v(p)γ ⩽ δ et b ∩ M est donc la boule <strong>de</strong> centre <strong>de</strong> a est <strong>de</strong> rayon δdans M.De plus B >γ (a) ∩ M = B ⩾γ+v(p) (a) ∩ M qui est bien une boule <strong>de</strong> M par ce qu'onvient <strong>de</strong> démontrer.◻Il s'en suit donc que si (K, v) ⊧ pCF et (K, v) ⩽(L, w) est une extension <strong>de</strong> corpsvalués (comme cela ne change rien aux boules dénissables, on considérera les <strong>de</strong>uxcorps munis <strong>de</strong> leur L div -structure), P est une intersection <strong>de</strong> boules <strong>de</strong> K, A ⊆ K, xest un point générique <strong>de</strong> P au <strong>de</strong>ssus <strong>de</strong> A (dans K) et b une boule <strong>de</strong> L, A-dénissablealors b ∩ K est une boule <strong>de</strong> K. Soit σ ∈ Aut(K/A), on peut (quitte à supposer L assezsaturé) l'étendre en ˜σ ∈ Aut(L/A) qui xe globalement K. Comme b est A-dénissabledans L, il est xé par ˜σ et donc σ xe b ∩ K qui est donc bien A-dénissable. Commecette <strong>de</strong>rnière boule contient x, elle ne peut être strictement incluse dans P et donc bnon plus.On dira que P est une intersection stricte si ce n'est pas lui même une boule (quiserait alors immédiatement A-dénissable) et que P est non vi<strong>de</strong>.D'après [HHM06, lemme 2.3.3], le type générique sur une boule ou une intersectionstricte <strong>de</strong> boules est complet dans le cas où l'ensemble <strong>de</strong> paramètres est algébriquementclos. De plus tous les types d'éléments du corps sont d'une <strong>de</strong> ces <strong>de</strong>ux formes. Dansle cas <strong>de</strong> pCF, la situation est un peu plus compliquée.Lemme 8.3 :Soient M ⊧ pCF eq , A ⊆ M tel que acl eq (A) ∩ B ⊆ dcl eq (A) et x ∈ K(M) alors x estgénérique dans une intersection stricte <strong>de</strong> boules A-dénissables au-<strong>de</strong>ssus <strong>de</strong> A.Démonstration. Soit P = ⋂{b ∈ B(A) ∶ x ∈ b}, il est alors évi<strong>de</strong>nt que x est génériquedans P au <strong>de</strong>ssus <strong>de</strong> A. Supposons alors que l'intersection ne soit pas stricte, P est doncune boule A-dénissable. Soit γ son rayon, d'après le lemme (6.12), la boule <strong>de</strong> centrex et <strong>de</strong> rayon γ + 1 est algébrique sur A. Elle est donc dans acl( ) eq(A) ∩ B ⊆ dcl( ) eq(A)44


8. LES TYPES DANS PCFet est donc dénissable sur A. De plus elle contient x et est strictement contenue dansP, ce qui est absur<strong>de</strong>. ◻Dénition 8.4 (f ⋆ p) :Soient M une L-structure, A ⊆ M, p un type sur A et f = (f i ∶ i ∈ I) une famille<strong>de</strong> fonctions A-dénissables telle que pour tout i f i est déni sur les réalisations <strong>de</strong> p.Soit ϕ i [¯x, ȳ, ā i ] qui dénit f i , on peut alors considérer le typef ⋆ p = {ψ[ȳ i1 , . . . , ȳ in , ā ′ ] ∶ ∀ȳ i1 . . . ȳ inn⋀ ϕ ij [¯x, ȳ ij , ā ij ] ∧ ψ[ȳ i1 . . . ȳ in , ā ′ ] ∈ p}.j=1Dénition 8.5 (Relative complétu<strong>de</strong>) :Soient M une L-structure, A ⊆ M et (f i ) i∈I une famille <strong>de</strong> fonctions A-dénissables.Un A-type partiel p est complet au <strong>de</strong>ssus <strong>de</strong> A relativement aux f i si la fonction q ↦ f ⋆ qest injective <strong>de</strong> {q ∈ S(A) ∶ p ⊆ q} dans S(A).En particulier, pour vérier qu'un type est complet au <strong>de</strong>ssus <strong>de</strong> A relativement àf, il sut <strong>de</strong> <strong>de</strong> vérier que, dans un modèle assez saturé, pour tous c et c ′ qui réalisentce type, si f(c) ≡ A f(c ′ ) alors c ≡ A c ′ .Lemme 8.6 :Soient M une L-structure, A ⊆ M et (f i ) i∈I une famille <strong>de</strong> fonctions A-dénissables.Un A-type partiel p[¯x] est complet au <strong>de</strong>ssus <strong>de</strong> A relativement aux f i si et seulement sipour toute L A -formule ϕ[¯x], il existe une L A -formule θ[ȳ] telle que p[¯x] ⇒ (ϕ[¯x] ⇐⇒θ[f(¯x)]), où f(¯x) représente le uplet <strong>de</strong>s f i (¯x).Démonstration. Supposons que p soit complet au <strong>de</strong>ssus <strong>de</strong> A relativement à f. L'ensemble<strong>de</strong> formules p[¯x] ∪ p[¯x ′ ] ∪ {θ[f(¯x)] ⇐⇒ θ[f(¯x ′ ) ∶ θ ∈ L A ]} ∪ {¬(ϕ[¯x] ⇐⇒ϕ[¯x ′ ])} n'est pas satisfaisable (dans un extension N assez saturée <strong>de</strong> M) sinon onaurait f(¯x) ≡ A f(¯x ′ ) mais pas ¯x ≡ A ¯x ′ , ce qui contredit notre hypothèse. Il existedonc (θ i ) i=1...n <strong>de</strong>s A-formules telles que pour tout ¯x et ¯x ′ réalisations <strong>de</strong> p, on ait⋀ i (θ i [f(¯x)] ⇐⇒ θ i [f(¯x ′ )]) ⇒ (ϕ[¯x] ⇐⇒ ϕ[¯x ′ ]).Pour tout σ ∶ ⟦1 . . . n⟧ → {0, 1}, on pose θ σ [ȳ] = ⋀ σ(i)=1 θ i [ȳ] ∧ ⋀ σ(i)=0 ¬θ i [ȳ] et ondénit X = {σ ∶ ∃¯c ∈ N ¯c ⊧ p et N ⊧ ϕ[¯c] ∧ θ σ [f(¯c)]} et θ[ȳ] = ⋁ σ∈X θ σ [ȳ]. Soit alors¯c ⊧ p dans N , si N ⊧ ϕ[¯c] alors, comme N ⊧ θ σ [f(¯c)] pour σ tel que σ(i) = 1 siet seulement si N ⊧ θ i [f(¯c)], on a bien σ ∈ X et N ⊧ θ[f(¯c)]. Réciproquement, siN ⊧ θ[f(¯c)], il existe σ ∈ X tel que N ⊧ θ σ [f(¯c)], et donc il existe ¯c ′ ⊧ p tel queN ⊧ θ σ [f(¯c ′ )] ∧ ϕ[¯c ′ ]. On a alors, pour tout i, θ i [f(¯c)] ⇐⇒ θ i [f(¯c ′ )] et donc, commeN ⊧ ϕ[¯c ′ ], on a aussi N ⊧ ϕ[¯c]. Comme N est assez saturé, on a exactement montréque p[¯x] ⇒ (ϕ[¯x] ⇐⇒ θ[f(¯x)]).Réciproquement, soient ¯c et ¯c ′ <strong>de</strong>ux réalisations <strong>de</strong> p dans N telles que f(¯c) ≡ Af(¯c ′ ) et ϕ[¯x] ∈ L A . Soit alors θ[ȳ] la formule qui existe par hypothèse. On a alors45


8. LES TYPES DANS PCFN ⊧ ϕ[¯c] ⇐⇒ θ[f(¯c)] ⇐⇒ θ[f(¯c ′ )] ⇐⇒ ϕ[¯c ′ ] car f(¯c) et f(¯c ′ ) ont le même type.Il s'en suit donc que ¯c ≡ A ¯c ′ .◻On a montré dans le lemme (6.21) que pour tout corps p-adiquement clos K,K ⋆ /(K ⋆ ) n est ni et a un système <strong>de</strong> représentants dans Q. Soit alors (qi n ) un tel système<strong>de</strong> représentants. La surjection canonique K ⋆ → K ⋆ /(K ⋆ ) n est alors dénissablepar la formule r n [x, y] = ⋁ i y = qi n ∧ P n((qi n)−1 x). On peut d'ailleurs remarquer que lelemme (6.18) implique que pour tout n, 1 + p 1+2v(n) O ⊆ ker(r n ). Il s'en suit donc quesi v(x − y) + 1 + 2v(n) ⩽ v(x − z) alors r n (y − x) = r n (y − z), en eet y−zy−x = 1 + z−x et y−xv(x − z) − v(x − y) ⩾ 1 + 2v(n) et donc y−zy−x ∈ ker r n.Pour x et y ∈ Γ, on notera aussi dans la suite x ≪ y si pour tout n ∈ N, x + n ⩽ y.Comme on vient <strong>de</strong> le remarquer, on a alors que v(x − y) ≪ v(x − z) implique que pourtout n, r n (y − x) = r n (y − z). De plus soit b une boule, si x ∉ b, alors pour tout y ∈ b,v(x − y) est constant (c'est une conséquence immédiate du caractère ultramétrique), lanotation v(x − b) a donc un sens. De même, si v(x − b) ≪ ρ(b) (où ρ(b) est le rayon<strong>de</strong> la boule) alors on vient <strong>de</strong> montrer que la notation r n (x − b) à un sens. Cela dit, ilsut d'avoir v(x − b) + 1 + 2v(n) ⩽ ρ(b), comme on l'a montré un peu plus haut. Enndans ce qui suit, on notera r(x − b) pour le uplet <strong>de</strong>s r n (x − b), sous réserve qu'il soitbien déni.Rappelons enn que si M ⊧ pCF eq , v est ∅-dénissable (c'est même un symbole <strong>de</strong>L eq ). En eet, le groupe <strong>de</strong> valeur n'est autre que K ⋆ /(O / M) qui est bien un quotientdénissable, et v est la projection canonique.Lemme 8.7 :Soient M ⊧ pCF eq , A ⊆ K(M), (b i ) i∈I une famille <strong>de</strong> boules A-dénissables d'intersectionstricte P et a ∈ P (A), alors le typen(α P ∣A)[x] est complet relativement àv(x − a) et aux r n (x − a).Démonstration. Soit L = K alg muni d'une valuation qui étend v (et qu'on notera aussiv). Dans un premier temps nous allons montrer que l'on peut étendre les r n à L ⋆ . SoitH = (K ⋆ ) n ∩ (1 + p 1+2v(n) O L ) un sous-groupe <strong>de</strong> L ⋆ . Si ab ∈ H ∩ K ⋆ avec a ∈ (K ⋆ ) n etb ∈ (1 + p 1+2v(n) O L ), on a alors b ∈ K ⋆ , or b = 1 + p 1+2v(n) c où v(c) ⩽ 0. Mais on a alorsc ∈ K et donc b ∈ (1 + p 1+2v(n) O K ) ⊆ (K ⋆ ) n . Il s'en suit que ab ∈ (K ⋆ ) n . On a doncmontré que H ∩ K ⋆ = (K ⋆ ) n et donc K ⋆ /P n s'i<strong>de</strong>ntie avec un sous groupe <strong>de</strong> L ⋆ /H,et la projection sur ce quotient étend r n . De plus on a étendu r n <strong>de</strong> façon à ce qu'ilsoit toujours vrai que si v(x − y) ≪ v(x − z) alors r n (x − z) = r n (y − z).Soient maintenant c et c ′ ∈ K génériques dans P au <strong>de</strong>ssus <strong>de</strong> A tels que v(c −a) ≡ A v(c ′ − a) et pour tout n, r n (c − a) ≡ A r n (c ′ − a), i.e. il existe σ Aut(M/A)tel que v(c − a) = σ(v(c ′ − a)) = v(σ(c ′ ) − a) (quitte à supposer M assez saturé) etr n (c − a) = r n (c ′ − a) (car les images <strong>de</strong>s r n sont dans dcl(∅)). Comme σ(c ′ ) ≡ A c ′ , ilsut <strong>de</strong> démontrer que σ(c ′ ) ≡ A c. On peut donc supposer v(c − a) = v(c ′ − a).46


8. LES TYPES DANS PCFConsidérons maintenant d ∈ A alg . Si d ∉ P, soit i tel que d ∉ b i . Pour tout m ∈ N,il existe j ∈ I tel que ρ(b j ) ⩾ ρ(b i ) + m sinon X = {ρ(b j ) ∶ j ∈ I} aurait un minimum,(parmi ρ(b i ), ρ(b i )+1, . . . , ρ(b i )+m) or comme les boules <strong>de</strong> même rayon sont soit égalessoit disjointes et que P ≠ ∅, l'ensemble <strong>de</strong>s b j aurait un minimum pour l'inclusion ce quicontredirait le fait que P soit une intersection stricte. Comme d ∉ b i , on a v(d−a) < ρ(b i )et donc, comme a, c ∈ b j , v(c−a) ⩾ ρ(b j ) ⩾ ρ(b i )+m > v(d−a)+m. On a donc montré quev(d−a) ≪ v(c−a). Le même résultat tient pour c ′ et donc v(c−d) = v(d−a) = v(c ′ −d)et pour tout n, r n (c − d) = r n (d − a) = r n (c ′ − d).Supposons maintenant que d ∈ P, comme v(a − d) ∈ Γ Aalg = div(Γ A ), il existe m ∈ Ntel que mv(a − d) = γ ∈ Γ A . Pour tout l ∈ N, la boule B ⩾γ/m−l (a) est une boule A-dénissable incluse dans P (par le même raisonnement que précé<strong>de</strong>mment mais enutilisant maintenant que d ∈ P) et donc c ne peut y appartenir, i.e. v(c − a) < γ/m − l =v(d − a) − l et donc v(c − a) ≪ v(d − a). Par le même raisonnement, v(c ′ − a) ≪ v(d − a)et donc v(c − d) = v(c − a) = v(c ′ − a) = v(c ′ − d) et pour tout n, r n (c − d) = r n (c − a) =r n (c ′ − a) = r n (c − a).Comme tout polynôme à coecients dans A est scindé sur A alg , et que v et lesr n sont <strong>de</strong>s morphismes pour la multiplication, on a démontré que pour tout Q ∈A[X], v(Q(c)) = v(Q(c ′ )) et pour tout n, r n (Q(c)) = r n (Q(c ′ )) i.e. P n (Q(c)) ⇐⇒P n (Q(c ′ )). Or comme A ⊆ K(M) et que toute L eqQ p-formule à paramètres et variablesdans le corps est équivalente à une L Qp -formule (c'est un propriété <strong>de</strong> T eq pour toutethéorie T), le type <strong>de</strong> c sur A est entièrement déterminé par son type dans la L Qp -structure. Comme il y a élimination <strong>de</strong>s quanticateurs et qu'on vient <strong>de</strong> démontrerque c et c ′ réalisent les même atomes, on a bien c ≡ A c ′ .◻Proposition 8.8 :Soient M ⊧ pCF eq , A ⊆ M, (b i ) i∈I une famille <strong>de</strong> boules A-dénissables d'intersectionstricte P et x une variable <strong>de</strong> corps, alors pour toute L eqQ p-formule à paramètreseqdans A, ϕ[x], on a soit α P ⇒ ϕ ou α P ⇒ ¬ϕ, ou il existe une L Qp -formule θ(y, z)Aet e ⊆ e ′ ⊆ P dans B(A), tels que x ∈ P ∧ x ∉ e ′ ⇒ (ϕ[x] ⇐⇒ θ[v(x − e), r(x − e)]) etque tous les r n (x − e) qui apparaissent dans θ soient bien dénis en <strong>de</strong>hors <strong>de</strong> e ′ .Démonstration. Quitte à supposer M assez saturé, on peut supposer que P (a) ≠ ∅.Soit alors a ∈ P (A). D'après les lemmes (8.7) appliqué à K(M) (ce qui est possible caron a bien A ⊆ M = dcl(K(M))) et (8.6), il existe une L eqQ p-formule θ[y, ¯z] à paramètresdans M telle que α P ∣M[x] ⇒ (ϕ[x] ⇐⇒ θ[v(x − a), r(x − a)]).Montrons maintenant que θ peut être choisie A-dénissable. Soient N une extensionélémentaire <strong>de</strong> M assez saturée et homogène et σ(θ) un conjugué <strong>de</strong> θ au <strong>de</strong>ssus<strong>de</strong> A (dans M, i.e. σ ∈ Aut(M /A)). Alors, pour tout x ∈ N tel que x ⊧ α P ∣M,on a alors v(x − a) ≪ v(a − σ(a)) car pour tout m ∈ N, B v(a−σ(a))−m (a) est unesous-boule M-dénissable <strong>de</strong> P. On a donc v(x − a) = v(x − σ(a)) et pour tout n,47


8. LES TYPES DANS PCFr n (x − a) = r n (x − σ(a)). Il s'en suit donc que θ[v(x − a), r(x − a)] ⇐⇒ ϕ[x] ⇐⇒σ(ϕ[x]) ⇐⇒ σ(θ)[v(x − σ(a)), r(x − σ(a))] car ϕ est A-dénissable, mais la <strong>de</strong>rnièreformule est équivalente à σ(θ[v(x−a), r(x−a)]) par les égalités qu'on vient <strong>de</strong> montrer.De plus supposons que seuls r 1 , . . . r N apparaissent dans θ. Si qi n est le système <strong>de</strong> représentantsrationnelles <strong>de</strong> K ⋆ /(K ⋆ ) n utilisés pour dénir r n , pour tout J = (qj i i) i=1...N ,si on note θ J [y] = ∀z 1 . . . z N , ⋀ i z i = qj i i∧ θ[y, ¯z]. On a σ(θ J ) = (σ(θ)) J car les qj i isont∅-dénissables, et donc θ J vérie la même propriété que θ à savoir que pour tout conjuguéσ(θ J ) au <strong>de</strong>ssus <strong>de</strong> A (dans M), α P ∣M[x] ⇒ (θ J [v(x − a)] ⇐⇒ σ(θ J )[v(x − a)]).Comme θ[x, y] = ⋁ J (θ J [x] ∧ ⋀ y i = qj i i), il sut <strong>de</strong> montrer que tous les theta J sontA-dénissables (ou du moins qu'on peut les remplacer par une formule à paramètresdans A).Considérons l'ensemble <strong>de</strong> formules suivant :Σ[x, x ′ ] = (α P ∣M)[x] ∪ {θ J [x], ¬θ J [x ′ ]} ∪ {ψ[x, ā] ⇐⇒ ψ[x ′ ā] ∶ ψ ∈ L eqQ p, ā ∈ A}.Supposons qu'il soit satisfait par c et c ′ . Ils ont alors le même type au <strong>de</strong>ssus <strong>de</strong> A et doncil existe un automorphisme σ ∈ Aut(M /A) tel que σ(c ′ ) = c. Mais comme c ⊧ α P ∣M,et que M ⊧ θ J [c], on a aussi M ⊧ σ(θ J )[x], mais donc aussi M ⊧ θ J [σ −1 (x)], i.e. M ⊧θ j [c ′ ] ce qui est absur<strong>de</strong>. Cet ensemble ne peut donc pas être satisfaisable et il existe(ψ i ) i=1...m <strong>de</strong>s L eqQ p-formules à paramètres dans A, telles que α P ∣M[x] ⇒ (⋀ i ψ i [x] ⇐⇒ψ i [x ′ ]) ⇒ (θ J [x] ⇐⇒ θ J [x ′ ]). Pour tout τ ∈ 2 m , soit ψ τ = ⋀ τ(i)=1 ψ i ∧ ⋀ τ(i)=0 ¬ψ i .Notons E = {τ ∈ 2 m ∶ ∃x ∈ N, x ⊧ α P ∣M, N ⊧ θ J [x] et N ⊧ ψ τ [x]} et ψ E = ⋁ τ∈E ψ τ . Ilest alors facile <strong>de</strong> voir que α P ∣M[x] ⇒ (θ J [x] ⇐⇒ ψ E ) et cette <strong>de</strong>rnière formule estbien à paramètres dans A. On peut donc supposer que les θ J , et donc aussi θ, sont àparamètres dans A.Par compacité, il sut d'être dans un nombre ni <strong>de</strong> b i et d'éviter un nombre ni<strong>de</strong> sous-boules <strong>de</strong> P dans M pour avoir ϕ[x] ⇐⇒ θ[v(x − a), r(x − a)]. Mais cessous-boules sont toutes incluse dans la plus petite boule qui les contient toutes (et a).On a donc I 0 ⊆ I ni et une boule b <strong>de</strong> M tels que b ⊆ P, a ∈ b et ⋀ i∈I0 x ∈ b i ∧ x ∉ b ⇒(ϕ[x] ⇐⇒ θ[v(x − a), r(x − a)]). Soit b ′ la boule autour <strong>de</strong> b <strong>de</strong> rayon ρ(b) − m telque m ∈ N est susant pour qu'en <strong>de</strong>hors <strong>de</strong> b ′ , r n (x − b) soit bien déni pour tous lesr n qui apparaissent dans θ (en reprenant les notation <strong>de</strong> ci- <strong>de</strong>ssus, il sut <strong>de</strong> prendrem = max(1 + 2v(n) ∶ 1 ⩽ n ⩽ N)). On a alors⋀ x ∈ b i ∧ x ∉ b ′ ⇒ (ϕ[x] ⇐⇒ θ[v(x − b), r(x − b)]). (2)i∈I 0Il sut alors <strong>de</strong> montrer qu'on peut choisir b et b ′ A-dénissables. Si α P ∣A ⇒ ϕ ouα P ∣A ⇒ ¬ϕ alors c'est ni. On peut donc supposer qu'on a a 1 et a 2 ∈ M qui réalisentα P ∣A tels que M ⊧ ϕ[a 1 ] et M ⊧ ¬ϕ[a 2 ]. Soient alors e = B ⩾v(a1 −a 2 )(a 1 ) et e ′ laboule autour <strong>de</strong> e <strong>de</strong> rayon ρ(e) − m, alors aucune paire (b, b ′ ) qui satisfait (2) ne peut48


8. LES TYPES DANS PCFvérier que b ′ et e ′ sont disjoints. En eet, si c'était le cas, comme b est disjoint <strong>de</strong> e ′ ,on aurait ρ(e ′ ) = v(a 1 − a 2 ) − m > v(a 1 − b) et donc v(a 1 − b) = v(a 2 − b) et pour toutn tel que r n apparaît dans θ, r n (a 1 − b) = r n (a 2 − b). De plus, comme a 1 , a 2 ∉ b ′ , on aϕ[a 1 ] ⇐⇒ θ[v(a 1 − b), r(a 1 − n)] ⇐⇒ θ[v(a 2 − b), r(a 2 − n)] ⇐⇒ ϕ[a 2 ] ce qui estabsur<strong>de</strong>. Quitte à agrandir b pour que son rayon soit supérieur à v(a 1 − a 2 ) ∈ Γ M , onpeut supposer que ρ(b ′ ) ⩾ ρ(e ′ ), on a donc forcément e ′ ⊆ b ′ . Comme tous les conjugués<strong>de</strong> (b, b ′ ) au <strong>de</strong>ssus <strong>de</strong> A vérient (2), un conjugué <strong>de</strong> b ′ au <strong>de</strong>ssus <strong>de</strong> A ne pas êtredisjoints <strong>de</strong> e ′ et donc <strong>de</strong> b ′ . Cela implique aussi, quitte a appliquer un automorphisme,que <strong>de</strong>ux conjugués <strong>de</strong> b ne peuvent pas être disjoints.Soit ψ[x, ¯d] une L eqQ p-formule qui déni b ′ . Soit p = tp( ¯d/Aρ(b ′ )). Si l'ensemble <strong>de</strong>formulesp[y] ∪ {¬(∀x ψ[x, ¯d] ⇐⇒ ψ[x, ȳ])}était satisfaisable, on aurait σ ∈ Aut(M/Aρ(b ′ )) tel que ψ[x, ¯d] et ψ[x, σ( ¯d)] ne dénissentpas le même ensemble, i.e. b ′ ≠ σ(b ′ ). D'après ce qu'on vient <strong>de</strong> démontrer, on asoit b ′ ⊆ σ(b ′ ), soit σ(b ′ ) ⊆ b ′ . Mais comme σ xe ρ(b ′ ), on a ρ(σ(b ′ )) = σ(ρ(b ′ )) = ρ(b ′ )et donc b ′ = σ(b ′ ), ce qui est absur<strong>de</strong>. Il s'en suit donc qu'il existe (χ[ȳ, z]) uneL eqQ p-formule à paramètres dans A, telle que M ⊧ ∀ ¯d ′ χ[ ¯d ′ , ρ(b ′ )] ⇒ (∀xψ[x, ¯d] ⇐⇒ψ[x, ¯d ′ ]) et on peut supposer que χ[y, ¯z] implique que ψ[x, ȳ] est une boule <strong>de</strong> rayonz (car c'est exprimable par une formule qui est dans le type <strong>de</strong> ¯d). De plus, si on noteq = tp( ¯d/A) et δ[x 1 , x 2 , ȳ 1 , ȳ 2 ] = ψ[x 1 , ȳ 1 ]∧¬ψ[x 2 , ȳ 1 ]∧¬ψ[x 1 , ȳ 2 ]∧ψ[x 2 , ȳ 2 ], l'ensemble<strong>de</strong> formulesq[ ¯d 1 ] ∪ q[ ¯d 2 ] ∪ δ[x 1 , x 2 , ¯d 1 , ¯d 2 ]n'est pas satisfaisable. En eet, il y aurait alors <strong>de</strong>ux conjugués <strong>de</strong> b au <strong>de</strong>ssus <strong>de</strong> Aqui ne sont pas inclus l'un dans l'autre, i.e. sont disjoints, ce qui contredit ce que l'ona vu précé<strong>de</strong>mment. Il s'en suit donc qu'il existe χ 1 et χ 2 <strong>de</strong>ux formules <strong>de</strong> q tellesque M ⊧ ∀ ¯d 1 ¯d2 χ 1 [ ¯d 1 ] ∧ χ 2 [ ¯d 2 ] ⇒ (∀x 1 x 2 ¬δ[x 1 , x 2 , ¯d 1 , ¯d 2 ]). Posons alors ζ[x, z] =∃ ¯d ′ χ[ ¯d ′ , z]∧χ 1 [ ¯d ′ ]∧χ 2 [ ¯d ′ ]∧ψ[x, ¯d ′ ] qui est à paramètres dans A. Cette formule permetalors <strong>de</strong> dénir une fonction f A-dénissable qui a un rayon γ associe une boule <strong>de</strong> rayonγ telle que f(ρ(b ′ )) = b ′ . De plus les images par f forment une chaîne. En eet, si l'on aγ 1 et γ 2 tels que f(γ 1 ) et f(γ 2 ) ne sont pas inclus l'un dans l'autre, i.e. sont disjoints,alors il existe x 1 , x 2 , ¯d 1 et ¯d 2 dans M tels que M ⊧ δ[x 1 , x 2 , ¯d 1 , ¯d 2 ] ∧ χ 1 [ ¯d 1 ] ∧ χ 2 [ ¯d 2 ],ce qui est absur<strong>de</strong>.On note alors f ′ la fonction qui à γ associe la boule <strong>de</strong> rayon m <strong>de</strong> moins autour <strong>de</strong>f(γ). L'ensemble G <strong>de</strong>s γ ∈ Γ M tels que (f(γ), f ′ (γ)) vérie (2) est donc A-dénissableet non vi<strong>de</strong> car il contient ρ(b ′ ) (en eet comme (b, b ′ ) vérie (2) et que f ′ (ρ(b ′ ))contient b ′ qui contient b, (b ′ , f ′ (ρ(b ′ ))) vérie aussi (2)).Si cet ensemble est majoré, comme le groupe <strong>de</strong> valeur <strong>de</strong> Q p est Z, tout sousensembledénissable <strong>de</strong> Γ qui admet un majorant, admet un maximum (cette propriété49


8. LES TYPES DANS PCFest vraie dans Z et s'exprime au premier ordre). Soit donc γ 0 un majorant <strong>de</strong> G, il estdonc A-dénissable et (f(γ 0 ), f ′ (γ 0 )) est une paire <strong>de</strong> boules A-dénissables vériant(2). Si f(γ 0 ) ⊆ P alors ce sont les boules recherchées, sinon f ′ (γ 0 ) et P sont disjointset donc comme a 1 et a 2 sont dans P, v(a 1 − f(γ 0 )) ≪ v(a 1 − a 2 ). Il s'en suit alors queϕ[a 1 ] ⇐⇒ θ[v(a 1 − f(γ 0 )), r(a 1 − f(γ 0 ))] ⇐⇒ θ[v(a 2 − f(γ 0 )), r(a 2 − f(γ 0 ))] ⇐⇒ϕ[a 2 ] ce qui est absur<strong>de</strong>.S'il n'est pas majoré, considérons l'ensemble X = ⋂ γ∈G f(γ) qui est A-dénissable etne peut contenir au plus qu'un point. De plus, comme la propriété que les intersections<strong>de</strong> chaînes dénissables <strong>de</strong> boules sont non vi<strong>de</strong>s est vraie dans Q p et s'exprime aupremier ordre, il s'en suit que X est non vi<strong>de</strong> et est donc réduit à un point a, qui estdonc nécessairement A-dénissable. Soient alors x ∈ P distinct <strong>de</strong> a et γ ∈ G tel queγ −m > v(x−a), on a alors ϕ[x] ⇐⇒ θ[v(x−f(γ)), r(x−f(γ))] mais comme a ∈ f(γ),on a bien ϕ[x] ⇐⇒ θ[v(x − a), r(x − a)]. On peut alors choisir pour e et e ′ la boule<strong>de</strong> rayon ∞ autour <strong>de</strong> a.◻Corollaire 8.9 :Avec les même notations que dans le lemme précé<strong>de</strong>nt, s'il existe b ∈ B(A) tel queb ⊆ P alors α P est complet relativement à v(x − b) et aux r n (x − b). Si, par contre, iln'existe pas <strong>de</strong> tel b alors α P est complet.Démonstration. Supposons qu'il existe b ∈ B(A) tel que b ⊆ P. Soit ϕ[x] une L A -formule,si α P [x] ⇒ ϕ[x], on a α P [x] ⇒ (ϕ[x] ⇐⇒ v(x) = v(x)) et si α P [x] ⇒ ¬ϕ[x], on aα P [x] ⇒ (ϕ[x] ⇐⇒ ¬v(x) = v(x)). Dans les autres cas, d'après la proposition (8.8),il existe une formule θ et e ⊆ e ′ ⊆ P dans B(A) tels que x ∈ P ∧ x ∉ e ′ ⇒ (ϕ[x] ⇐⇒θ[v(x − e), r(x − e)]). Soit c la plus petite boule qui contient b et e, elle est bien A-dénissable et donc toute réalisation x <strong>de</strong> α P est à l'extérieure <strong>de</strong> cette boule (et mêmeloin <strong>de</strong> cette boule). Il s'en suit donc que v(x − b) = v(x − c) = v(x − e) et <strong>de</strong> même pourr. On a donc α P [x] ⇒ (ϕ[x] ⇐⇒ θ[v(x − b), r(x − b)]). Il suit alors du lemme (8.6),que α P est complet au <strong>de</strong>ssus <strong>de</strong> A relativement à v et r.Par contre, si un tel b n'existe pas, si on n'a pas α P ⇒ ϕ où α P ⇒ ¬ϕ alors on<strong>de</strong>vrait avoir un e ∈ B(A) qui sont inclus dans P, par la proposition (8.8), ce qui estabsur<strong>de</strong>.◻Corollaire 8.10 :Soient M eq ⊧ pCF eq , A ⊆ M eq tel que acl eq (A) ∩ B ⊆ dcl( ) eq(A) et B = B(A) alorspour tout c ∈ K(M), tp(c/B) ⇒ tp(c/A).Démonstration. Soient c et c ′ qui ont le même type au <strong>de</strong>ssus <strong>de</strong> B et montrons qu'ilsont aussi le même type au <strong>de</strong>ssus <strong>de</strong> A. Tout d'abord, d'après le lemme (8.3), commeA est algébriquement clos, c est générique dans une intersection stricte P <strong>de</strong> boules A-dénissables. Comme α p ⊆ tp(c/B), c ′ est aussi générique sur P. D'après le corollaire50


8. LES TYPES DANS PCF(8.9), si P ne contient pas <strong>de</strong> boule <strong>de</strong> B alors α P est complet et comme c et c ′ ensont <strong>de</strong>ux réalisations, on a bien c ≡ A c ′ . Par contre s'il existe une boule b ∈ B inclusedans P, toujours par ce corollaire, il sut <strong>de</strong> vérier que v(c − b), r(c − b) a le mêmetype au <strong>de</strong>ssus <strong>de</strong> A que v(c ′ − b), r(c ′ − b).Tout d'abord comme les valeurs <strong>de</strong>s diérents r i sont dans Q ⊆ dcl(∅) et que c ≡ B c ′et donc en particulier que c − b ≡ Q c ′ − b, r(c − b) et r(c ′ − b) ont bien le même type (ilssont en fait égaux). De plus comme Γ est plongé stablement et que tous ses points sontcodés par une boule, le type <strong>de</strong> v(c − b) sur B implique celui sur Γ(A) et donc sur A.On a donc bien que v(c − b) ≡ A v(c ′ − b).◻La proposition qui suit est une forme <strong>de</strong> réciproque à la proposition (8.8). On y avaitdémontré que pour rendre complet un α P , il faut spécier le type <strong>de</strong> (v(x−a), r(x−a))pour un certain a. La proposition qui suit montre que réciproquement, quelque soit letype qu'on choisisse pour (v(x−a), r(x−a)), s'il est raisonnable alors il sera consistantavec α P .Dans ce qui suit, si P = ⋃ b∈B b est une intersection <strong>de</strong> boules, on notera P Γ = {γ ∈Γ ∶ ∀b ∈ B, γ ⩾ ρ(b)}. On notera aussi P Γ l'ensemble <strong>de</strong> formules qui dénit ce typepartiel.Proposition 8.11 :Soient M ⊧ pCF eq , A ⊆ M, P = ⋂ b∈B b intersection stricte <strong>de</strong> boules A-dénissableset q[y, z] le type d'un certain (v(c), r(c)) au <strong>de</strong>ssus <strong>de</strong> A tel que q[y, z] implique P Γ [y]et y < γ pour tout γ ∈ P γ (A). Alors (α P ∣M)[x] ∪ ⋃ a∈P (M) q[v(x − a), r(x − a)] estconsistant.Démonstration. On peut supposer M assez saturé pour que P (M) soit non vi<strong>de</strong>. Soitalors a ∈ P (M). Montrons que q[y, z] ∪ {y < γ ∶ γ ∈ P Γ (M)} est consistant. En eet,s'il ne l'était pas, par compacité, il existerait γ ∈ P Γ (M) et ψ ∈ q une L A -formuletels que ψ[y, ¯z] ⇒ y ⩾ γ. Comme ¯z n'apparaît pas à droite <strong>de</strong> l'implication, quitte àremplacer ψ pas ∃¯zψ[y, ¯z], on peut supposer que sa seule variable est y. Comme ψ[M]a un minorant, elle admet une borne inférieure γ ′ (cette propriété est vraie dans Z ets'exprime au premier ordre). Comme ψ[M] a un minorant dans P Γ , γ ′ est dans P Γ (A)et on a q[y] ⇒ y ⩾ γ ′ , ce qui est absur<strong>de</strong>.Soit alors (γ, s) ⊧ q[y, ¯z] ∪ {y < γ ∶ γ ∈ P Γ (M)} (dans une extension élémentaire <strong>de</strong>M). Par hypothèse, la formule ∃x, v(x) = y ∧ r(x) = z est dans q (à vrai dire commer est un uplet inni, tout bout ni <strong>de</strong> cette formule est dans q). Par compacité, existedonc c tel que (v(c), r(c)) ⊧ q[y, z] ∪ {y < γ ∶ γ ∈ P Γ (M)}. On pose alors d = a + c. Toutd'abord, comme v(d−a) = v(c) ∈ P Γ , et que a ∈ P, il s'en suit immédiatement que d ∈ P.De plus si d était dans une boule b M-dénissable incluse dans P, quitte à la remplacerpar la plus petite boule qui contient a et b, on pourrait supposer que b contient a. Maisalors ρ(b) ∈ P Γ (M) et v(c) = v(d − a) ⩾ ρ(b), ce qui contredit la dénition <strong>de</strong> c. On a51


9. EXTENSIONS ALGÉBRIQUES DES CORPS P -ADIQUEMENT CLOSdonc bien d ⊧ α P ∣M. De plus, soit a ′ ∈ P (M), comme d est générique dans P au <strong>de</strong>ssus<strong>de</strong> M, on a v(d − a) ≪ v(a − a ′ ). Il s'en suit donc qu'on a v(d − a ′ ) = v(d − a) = v(c) etr(d−a ′ ) = r(d−a) = r(c) et, comme c ⊧ q[v(c), r(c)], on a bien (v(d−a ′ ), r(d−a ′ )) ⊧ q.◻Pour nir montrons l'existence d'extensions invariantes dans pCF. Avant <strong>de</strong> commencerrappelons cependant que dans un Z-groupe, il existe <strong>de</strong>s extension invariantes.Toute type p sur un ensemble <strong>de</strong> paramètres A est déterminé par l'ensemble <strong>de</strong>sn k ∈ ⟦0 . . . k − 1⟧ tels que x − n k est un multiple <strong>de</strong> k et par la coupure réalisée parx dans A. Comme les n k sont dénissables sur le vi<strong>de</strong>, une extension <strong>de</strong> p est justeune extension <strong>de</strong> la coupure, et elle peut être choisie <strong>de</strong> façon à être A-invariante (parexemple en mettant à gauche tout les nouveaux points qui réalisent la coupure sur A).Proposition 8.12 :Soient M eq ⊧ pCF eq , A ⊆ M eq tel que acl eq (A) ∩ B ⊆ dcl eq (A) et c ∈ K(M),p = tp(c/A) a alors une extension Aut(M eq /A)-invariante.Démonstration. D'après le lemme (8.3), c est générique sur une intersection stricte P<strong>de</strong> boules A-dénissables. Supposons qu'il existe une boule a A-dénissable incluse dansP, on note alors q = tp(v(c − a), r(c − a)/A). D'après la proposition (8.8), on a alorsα P ∣A∪q[v(x−a), r(x−a)] ⇒ p[x]. On pose alors s i = r i (x−a) ∈ Q et soit q ′ une extensionAut(Γ(M)/Γ(A))-invariante <strong>de</strong> tp(v(c − a)/Γ(A)). Comme Γ est stablement plongé,q ′ est un type complet sur M eq et il est bien Aut(M eq /A)-invariant. De même le typet[y, z] = q ′ [y] ∪ {z = s i } est un type complet sur M eq qui est Aut(M eq /A)-invariant(il est consistant car comme précé<strong>de</strong>mment toute sous formule nie <strong>de</strong> ∃x v(x) = y ∧v(x) = ȳ est dans q dont q ′ est une extension). Par le lemme (8.11), p ⋆ = α P ∣M eq ∪⋃ m∈P (M eq ) t[v(x − m), r(x − m)] est consistant. Il est évi<strong>de</strong>nt qu'il est complet par lecorollaire (8.9) et qu'il étend p. De plus, α P ∣M eq est clairement Aut(M eq /A)-invariantet si σ ∈ Aut(M eq /A) et m ∈ P (M eq ) alors σ(m) ∈ P (M eq ) et σ(t[v(x−m), r(x−m)]) =t[v(x−σ(m)), r(x−σ(m))] est aussi inclus dans p ⋆ , d'où p ⋆ est Aut(M eq /A)-invariant.◻Remarque 8.13 :Comme pour les résultats <strong>de</strong> la section précé<strong>de</strong>nte, les résultats <strong>de</strong> cette sectionne seront pas utilisés exactement dans le cadre où on les a démontrés. Mais ici, ons'est déjà placé dans un modèle <strong>de</strong> pCF eq . Le passage à une extension dénissable nechangeant rien aux types, on pourra les appliquer sans soucis.9 Extensions algébriques <strong>de</strong>s corps p-adiquement closOn va commencer dans cette partie par étudier les extensions nies <strong>de</strong> Q p , pourétendre ensuite cette étu<strong>de</strong> aux corps p-adiquement clos. La partie algébrique <strong>de</strong> ce qui52


9. EXTENSIONS ALGÉBRIQUES DES CORPS P -ADIQUEMENT CLOSsuit est inspiré <strong>de</strong> [Lan94, ch. II], [Lan02, ch. XII], [Nar74, ch. V Ÿ2] et [Ser68, ch. IIIŸ6].Dénition 9.1 (indice <strong>de</strong> ramication et d'inertie) :Soit (L, w) ⩾(K, v) une extension nie <strong>de</strong> corps valué. On note le <strong>de</strong>gré <strong>de</strong> ramicatione(w∣v) = [Γ w ∶ Γ v ] (ou plus simplement e(L∣K) si les valuations sont évi<strong>de</strong>ntes)et l'indice d'inertie f(w∣v) = [k w ∣k v ].Lemme 9.2 :Soit (L, w) ⩾(K, v) une extension nie, on a alors e(w∣v)f(w∣v) ⩽ [L ∶ K] (enparticulier e(w∣v) et f(w∣v) sont nis).Démonstration. Soient w(x 1 ), . . . , w(x r ) <strong>de</strong>s éléments <strong>de</strong> classes distinctes <strong>de</strong> Γ L /Γ K(où x i ∈ L ⋆ ) et y 1 , . . . , y s une famille k K -libre <strong>de</strong> k L . Montrons alors que la famille(x i y j ) i,j est libre sur K. Considérons donc a i,j ∈ K tels que ∑ i,j a i,j x i y j = 0. Quitteà retirer <strong>de</strong>s termes, on peut supposer que pour tout i il existe j tel que a i,j est nonnul. Fixons alors un i et soit j i tel que v(a i,ji ) est minimal. ∑ j a i,j /a i,ji y j est alorsune combinaison <strong>de</strong>s y j à coecients dans O dont un <strong>de</strong>s coecients est <strong>de</strong> valuationnulle. Son résidu est une combinaison <strong>de</strong>s y j dont un <strong>de</strong>s coecients est non nul, ellene peut donc pas être nulle et donc v(∑ j a i,j /a i,ji y j ) = 0, i.e. v(∑ j a i,j y j ) = v(a i,ji ),il s'en suit que ∞ = v(∑ i,j a i,j x i y j ) = ∑ i v(a i,ji )v(x i ). Il existe donc i 1 et i 2 tel quev(a i1 ,j i1)v(x i1 ) = v(a i2 ,j i2)v(x i2 ). Mais alors v(x i1 ) − v(x i2 ) = v(a i2 ,j i2/a i1 ,j i1) ∈ Γ K cequi est absur<strong>de</strong>. Comme cette famille est libre, on doit donc avoir rs ⩽ [L ∶ K].Supposons maintenant que e(w∣v) sont inni, on particulier on peut trouver unefamille x 1 , . . . , x r telle que précé<strong>de</strong>mment avec r > [L ∶ K]. Mais on a alors [L ∶ K]


9. EXTENSIONS ALGÉBRIQUES DES CORPS P -ADIQUEMENT CLOSminimal, on a alors n ⩽ e, et (iw(Π)) i=0...n−1 sont dans <strong>de</strong>s classes diérentes moduloΓ K (car leurs diérences sont plus petites que π). De plus, soit γ ∈ Γ L , il existe m telque γ = mw(Π) = (qn + r)w(Π) = qv(π) + rw(Π) où 0 ⩽ r < n et donc e = [Γ L ∶ Γ K ] = n,i.e. ew(Π) = v(π).Soit <strong>de</strong> plus (a i ) i=0...f−1 une base <strong>de</strong> k L ⩾ k K . Si R est un système <strong>de</strong> représentants<strong>de</strong> k K alors {∑ f−1i=0 r ia i ∶ r i ∈ R} est un système <strong>de</strong> représentants <strong>de</strong> k L . Comme lafamille <strong>de</strong>s (Π i π j ) i=0...e−1,j∈Z vérie que w(Π i π j ) = i + ejw(Π), par le lemme (6.13),tout x ∈ L s'écrit∞∑j=Ne−1⎛∑ ∑⎝i=0f−1l=0r i,j,l a l⎞⎠ Πi π j =e−1∑i=0f−1∑l=0⎛∞∑ r i,j,l π j⎞ ⎝ ⎠ a lΠ ior ∑ ∞ j=N r i,j,lπ j ∈ K et donc la famille à ef éléments (a l Π i ) est une famille génératrice<strong>de</strong> L au <strong>de</strong>ssus <strong>de</strong> K et donc [L ∶ K] ⩽ ef. Le lemme (9.2) permet alors <strong>de</strong> conclurequ'on a bien [L ∶ K] = ef.Supposons maintenant que k L ⩾ k K est séparable. Soit alors α un élément primitif<strong>de</strong> cette extension et P ∈ k K [X] son polynôme minimal (que l'on choisit unitaire) quiest séparable. Soit Q ∈ O K [X] unitaire tel que res(Q) = P, comme K est complet etdonc Hensélien (voir (6.9)), il existe a ∈ O L tel que Q(a) = 0 et res(a) = α. On peutalors prendre a i = a i dans la preuve précé<strong>de</strong>nte et on a alors bien L = K[a, Π]. De plus,on a x ∈ O L si et seulement si N ⩾ 0 mais alors ∑ ∞ j=N r i,j,lπ j ∈ O K et on a donc bienO L = O K [a, b].Enn, comme w(Π) > 0, on a res(Π) = 0 et donc res(K[Π]) = res(K) = k K et doncl'extension est purement ramiée. De plus [K[a] ∶ K] ⩽ <strong>de</strong>g(Q) = <strong>de</strong>g(P ) = [k L ∶ k K ] ⩽[K[a] ∶ K] car (res(a) i ) i=0...f−1 est une famille génératrice <strong>de</strong> k L au <strong>de</strong>ssus <strong>de</strong> k K . Ils'en suit que [K[a] ∶ K] = [k L ∶ k K ] et comme res(K[a]) = k L c'est bien une extensionpurement inertielle. Pour nir, on peut remarquer que [K[a, Π] ∶ K[a]] = e = [Γ L ∶Γ K ] et comme v(K[a]) = Γ K car l'extension est purement inertielle, on a bien queK[a, Π] ⩾ K[a] est purement inertielle.◻Remarque 9.4 :On remarque que dans la preuve précé<strong>de</strong>nte on a démontré que si (K, v) est un corpsvalué complet <strong>de</strong> valuation discrète, (L, w) une extension nie, Π une uniformisante <strong>de</strong>L et a tel que res(a) soit primitif <strong>de</strong> k L au <strong>de</strong>ssus <strong>de</strong> k K , alors la famille (a i Π j ) pour0 ⩽ i < f(w∣v) et 0 ⩽ j < e(w∣v) est une base du K-espace vectoriel L (et une base du O K -module O L ). En eet, on démontré dans la preuve du lemme (9.2) qu'une telle familleest K-libre (et donc O K -libre) et on vient <strong>de</strong> démontrer qu'elle est aussi génératrice (<strong>de</strong>L si on prend les coecients dans K et <strong>de</strong> O L si on prends les coecients dans O K ).La proposition précé<strong>de</strong>nte permet donc <strong>de</strong> se ramener à l'étu<strong>de</strong> <strong>de</strong>s extensions purementinertielles et purement ramiées.54j=N


9. EXTENSIONS ALGÉBRIQUES DES CORPS P -ADIQUEMENT CLOSLemme 9.5 :Soient (K, v) un corps Hensélien et k ⩾ k K une extension nie séparable du corpsrésiduel. Il existe alors une unique extension purement ramiée (L, w) à isomorphismeprès telle que k L ≅ kK k. Si <strong>de</strong> plus l'extension k ⩾ k K est normale alors L ⩾ K est aussinormale et elle est unique (pas seulement à isomorphisme près).Démonstration. Soient α un élément primitif <strong>de</strong> k ⩾ k K et P ∈ k K [X] son polynômeminimal (unitaire). Soit Q ∈ O K [X] unitaire tel que res(Q) = P et soit a ∈ K alg tel queQ(a) = 0. On pose L = K[a] et on muni L <strong>de</strong> la restriction <strong>de</strong> la valuation <strong>de</strong> K alg .Comme P (res(a)) = res(Q(a)) = 0, on a k L ⊇ k (ou du moins k s'injecte dans k L au<strong>de</strong>ssus <strong>de</strong> k K ), <strong>de</strong> plus k L est engendré par les res(a i ) i=1...[L∶K] au <strong>de</strong>ssus <strong>de</strong> k K et donc[L ∶ K] ⩽ <strong>de</strong>g(Q) = <strong>de</strong>g(P ) = [k ∶ k K ] ⩽ [k L ∶ k K ] ⩽ [L ∶ K], i.e. L ⩾ K est purementramié et k L ≅ kK k K . On a donc montré l'existence.Montrons maintenant l'unicité. Soit L ′ ⩾ K purement ramiée telle que k L ′ ≅ kK k.Comme L ′ est Hensélien (c'est une extension nie d'un corps Hensélien), il existe a ′ ∈ L ′tel que Q(a ′ ) = 0. On a alors K[a ′ ] ≅ K K[a] (et ils sont isomorphe en temps que corpsvalués par unicité <strong>de</strong> l'extension <strong>de</strong> la valuation au <strong>de</strong>ssus d'un corps Hensélien). Maispar les même considérations que précé<strong>de</strong>mment, le corps résiduel <strong>de</strong> K[a ′ ] est k L ′ etcomme L ′ ⩾ K est purement ramiée, il s'en suit que L ′ = K[a ′ ].Supposons maintenant que k ⩾ k K soit normale. Le polynôme P est donc scindédans k L et par le lemme d'Hensel appliqué à chaque racine, Q est scindé sur L. CommeQ ⩾ K est engendré par une <strong>de</strong>s racines <strong>de</strong> Q, c'est le corps <strong>de</strong> décomposition <strong>de</strong> Q etil est donc normal et unique.◻Corollaire 9.6 :Soit (K, v) un corps hensélien <strong>de</strong> corps résiduel ni, alors K n'a qu'une extensionpurement inertielle <strong>de</strong> <strong>de</strong>gré donné.Démonstration. Le lemme (9.5) implique que les extensions purement inertielles d'uncorps hensélien dont le corps résiduel est parfait sont entièrement déterminées par l'extensiondu corps résiduel, or un corps ni est parfait et n'a qu'une seule extension nie<strong>de</strong> <strong>de</strong>gré donné, <strong>de</strong> plus cette extension est le corps <strong>de</strong> décomposition d'un polynôme<strong>de</strong> la forme X q − X, elle est donc normale.◻Dénition 9.7 (Polynôme d'Eisenstein) :Soient (K, v) un corps valué à valuation discrète d'uniformisante π, P ∈ O[X]unitiare et (a i ) tels que P = ∑ n i=0 a iX i , on dit que P est un polynôme d'Eisenstein siv(a n ) = 0, pour tout i ≠ n a i ∈ M et v(a 0 ) = v(π).Lemme 9.8 :Tout polynôme d'Eisenstein est irréductible.55


9. EXTENSIONS ALGÉBRIQUES DES CORPS P -ADIQUEMENT CLOSDémonstration. Soit P un polynôme d'Eisenstein, supposons que P = QR où Q etR ∈ K[X]. Soient (q i ) (respectivement (r j )) les coecients <strong>de</strong> Q (respectivement R)et q i0 (respectivement R j0 ) le premier coecient dont la valuation est minimale. Ona alors (q i0 r j0 ) −1 P = qi −10Qrj −10R et le polynôme à droite <strong>de</strong> l'égalité est dans O[X].Le coecient dominant <strong>de</strong> ce polynome (q i0 r j0 ) −1 est dans O et donc v((q i0 r j0 ) −1 ) ⩾0, i.e. v(q i0 ) + v(r i0 ) ⩽ 0. Mais si on considère le i 0 + j 0 -ième coecient <strong>de</strong> P, ona v(∑ i+j=i0 +j 0q i r j ) ⩾ 0. Si i < i 0 alors v(q i r j ) < v(q i0 r j0 ) et <strong>de</strong> même si j < j 0 etdonc v(q i0 r j0 ) = v(∑ i+j=i0 +j 0q i r j ) ⩾ 0. On a donc montré que v(q i0 ) = −v(r i0 ) et doncq i0 R ∈ O[X]. Comme P = qi −10Qq i0 R, on peut supposer que Q et R sont dans O[X].Mais comme res(P ) = cX n pour un certain c ∈ k ⋆ , res(Q) et res(R) qui le divisentsont aussi <strong>de</strong> cette forme et donc res(q 0 ) = res(Q)(0) = 0 et <strong>de</strong> même res(r 0 ) = 0, ils'en suit donc que le coecient constant <strong>de</strong> P qui est q 0 r 0 a une valuation d'au moins2v(π) ce qui est absur<strong>de</strong>.◻Lemme 9.9 :Soient (K, v) un corps complet <strong>de</strong> valuation discrète et (L, w) une extension nie.L'extension L ⩾ K est purement ramiée si et seulement s'il existe un polynôme d'EisensteinP dont une racine engendre L ⩾ K, i.e. comme les polynômes d'Eisenstein sontirréductibles, si L est le corps <strong>de</strong> rupture d'un polynôme d'Eisenstein.Démonstration. Comme dans la preuve du lemme (9.3), on montre que L est à valuationdiscrète et que si Π est une uniformisante <strong>de</strong> L et π une uniformisante <strong>de</strong> K et que[L ∶ K] = e alors ew(Π) = v(π) et L = K[Π]. Soit alors P ∈ K[X] le polynômeminimal unitaire <strong>de</strong> Π. Montrons qu'il est d'Eisenstein. Tout d'abord, remarquons quesi σ ∈ Aut(K alg /K), σ(Π) engendre une extension isomorphe à L et donc par unicité <strong>de</strong>l'extension <strong>de</strong> v (car K est hensélien), l'anneau <strong>de</strong> valuation <strong>de</strong> K[σ(Π)] muni d'uneextension w ′ <strong>de</strong> w à K alg est σ(O L ) et son idéal maximal est σ(Π O L ) = σ(Π)σ(O L ).Il s'en suit donc que σ(Π) est une uniformisante <strong>de</strong> K[σ(Π)] muni <strong>de</strong> w ′ et donc queew ′ (σ(Π)) = v(π) = ew(Π). Comme un groupe abélien totalement ordonné est sanstorsion, on doit avoir w ′ (σ(Π)) = w(Π).Comme tous les coecients <strong>de</strong> P peuvent s'exprimer comme <strong>de</strong>s polynômes symétriques<strong>de</strong>s racines dont les seuls coecients sont <strong>de</strong>s 1, il s'en suit tous les coecients<strong>de</strong> P sauf le coecient dominant sont dans M L or M L ∩ K = M K et donc tous lescoecients <strong>de</strong> P sauf le coecient dominant, sont dans M K . De plus a 0 est le produit<strong>de</strong>s e conjugués <strong>de</strong> Π et donc v(a 0 ) = ew(Π) = v(π). On a donc bien montré que P estun polynôme d'Eisenstein.Supposons maintenant que L soit engendré par une racine b d'un polynôme d'EisensteinP <strong>de</strong> <strong>de</strong>gré n. Comme les polynômes d'Eisenstein sont irréductibles (voirlemme (9.8)), [L ∶ K] = n. De plus par le même argument que précé<strong>de</strong>mment, lesconjugués <strong>de</strong> b ont la même valuation et si a 0 est le coecient constant <strong>de</strong> P, alors56


9. EXTENSIONS ALGÉBRIQUES DES CORPS P -ADIQUEMENT CLOSnw(b) = v(a 0 ) = v(π) et donc [Γ L ∶ Γ K ] ⩾ n or c'est aussi au plus n et donc l'extensionest purement ramiée.◻Lemme 9.10 (Lemme <strong>de</strong> Krasner) :Soient (K, v) un corps complet et a et b ∈ K alg (muni d'une valuation w qui étendv) tel que a soit séparable au <strong>de</strong>ssus <strong>de</strong> K[b]. Supposons que pour tout a ′ conjugué <strong>de</strong>a au <strong>de</strong>ssus <strong>de</strong> K, on ait w(b − a) > w(a ′ − a), alors K[a] ⊆ K[b].Démonstration. Soit L une extension normale <strong>de</strong> K contenant a et b. Si a ∉ K[b],il a un conjugué au <strong>de</strong>ssus <strong>de</strong> K[b] et donc comme l'extension est normale il existeσ ∈ Aut(L/K[b]) qui ne xe pas a. Par unicité <strong>de</strong> l'extension <strong>de</strong> la valuation, on av(σ(a) − b) = v(σ(a − b)) = v(a − b) et donc v(b − a) > v(σ(a) − a) = v(σ(a) − b + b − a) ⩾v(b − a), ce qui est absur<strong>de</strong>. On a donc a ∈ K[b].◻Soit (K, v) un corps valué, on munit K[X] <strong>de</strong> la norme ∣ ∑ a i X i ∣ = max i (v(a i )).Corollaire 9.11 :Soient (K, v) un corps complet et P ∈ K[X] un polynôme unitaire irréductibleet séparable. Si G ∈ K[X] est un polynôme unitaire <strong>de</strong> même <strong>de</strong>gré tel que ∣P − Q∣ estassez grand, alors G est aussi irréductible et pour toute racine α <strong>de</strong> P (dans une clôturealgébrique xée <strong>de</strong> K) il existe une racine β <strong>de</strong> Q tel que K[α] = K[β].Démonstration. Montrons tout d'abord que pour tout M ≠ ∞ il existe N ≠ ∞ tel quesi ∣P − Q∣ > N alors pour toute racine α <strong>de</strong> P il existe une racine β <strong>de</strong> Q telle quev(α − β) > M. Soient β i les racines <strong>de</strong> Q, supposons que pour tout i, v(α − β i ) ⩽ M.On a alors v(P (α) − Q(α)) = v(Q(α)) = v(∏ i α − β i ) ⩽ nM où n est le <strong>de</strong>gré <strong>de</strong>P. Mais on a aussi, si on note a j les coecients <strong>de</strong> P et b j ceux <strong>de</strong> Q, v(P (α) −Q(α)) = v(∑ j (a j − b j )α j ) ⩾ min j (v(a j − b j )jv(α)) ⩾ ∣P − Q∣ + min j (jv(α)). On a donc∣P − Q∣ ⩽ nM − min j (jv(α)) ce qui est absur<strong>de</strong> si on pose N = nM − min j (jv(α)).Notons alors α i les racines <strong>de</strong> P et posons M = max i≠j (v(α i − α j )) qui est biendiérent <strong>de</strong> ∞ car P est séparable. Soit alors N tel que dans le paragraphe précé<strong>de</strong>nt,si ∣Q − P ∣ > N, pour tout i, il existe β ji tel que v(α i − β ji ) > M ⩾ v(α i − α k ) pourtout k ≠ i. Par le lemme <strong>de</strong> Krasner (9.10), on a alors K[α i ] ⊆ K[β ji ], mais comme[K[β ji ] ∶ K] ⩽ <strong>de</strong>g(Q) = n = [K[α i ] ∶ K], on a K[α i ] = K[β ji ] et donc Q est lepolynôme minimal annulateur <strong>de</strong> β ji , i.e. il est irréductible.◻Lemme 9.12 :Soit (K, v) un corps complet <strong>de</strong> valuation discrète et <strong>de</strong> corps résiduel ni, alors Oest compact.Démonstration. Soient π une uniformisante <strong>de</strong> K et (a n ) n∈N une suite d'éléments <strong>de</strong>O = B ⩾0 (0), il sut <strong>de</strong> montrer qu'on peut en extraire une suite convergente. Onconstruit b i par récurrence <strong>de</strong> telle façon que la boule B ⩾iv(π) (b i ) contienne une innité57


9. EXTENSIONS ALGÉBRIQUES DES CORPS P -ADIQUEMENT CLOSd'éléments <strong>de</strong> la suite (a n ) et que ces boules forment une suite décroissante. On peutposer b 0 = a 0 . Supposons que b i soit construit, par le lemme (6.12), la boule B ⩾iv(π) (b i )est recouverte par une union nie <strong>de</strong>s boules <strong>de</strong> rayon i+1. Comme B ⩾iv(π) (b i ) contientune innité d'éléments <strong>de</strong> (a n ) c'est aussi le cas d'un <strong>de</strong> ces sous-boules. On pose b i+1le premier élément <strong>de</strong> la suite après b i à être dans cette sous-boule.Cette suite vérie que pour tout N, si i et j sont supérieurs à N alors b i et b j sonttous les <strong>de</strong>ux dans la boule B ⩾Nv(π) (b N ) et donc v(b i −b j ) ⩽ N. C'est donc une suite <strong>de</strong>Cauchy car le groupe <strong>de</strong> valeurs <strong>de</strong> K est Archimédien. Comme le corps est complet,elle converge.◻Lemme 9.13 :Soit (K, v) un corps complet <strong>de</strong> valuation discrète et <strong>de</strong> corps résiduel ni, alors Ka un nombre ni d'extension purement ramiées d'un <strong>de</strong>gré donné.Démonstration. Soit E d l'ensemble <strong>de</strong>s polynômes d'Eisenstein <strong>de</strong> <strong>de</strong>gré d, par dénition<strong>de</strong>s polynômes d'Eisenstein, on a E d = O ⋆ ×M d−1 × (M/M 2 ). Comme la valuationest discrète toutes les boules sont ouvertes et fermées et donc tous les ensembles quiapparaissent dans ce produit sont fermés, inclus dans O, or par le lemme (9.12) O estcompact, donc ils le sont tous. Il s'en suit que E d est compact pour la topologie produit.Soit L ⩾ K une extension purement ramiée <strong>de</strong> <strong>de</strong>gré d, on pose U L = {P ∈ E ∶ L est uncorps <strong>de</strong> rupture pour P }. D'après le lemme (9.9), et comme les polynômes d'Eisensteinsont irréductibles, les U L recouvrent E d . Mais par le lemme (9.11) ces ensemblessont ouverts pour la topologie produit. Comme E d est compact, il est recouvert par unnombre ni <strong>de</strong> U L , i.e. il existe n extensions L 1 , . . . L n telles que tout polynôme d'Eisensteinsur K <strong>de</strong> <strong>de</strong>gré d admet l'un <strong>de</strong>s L i comme corps <strong>de</strong> rupture. Quitte à agrandirun peu n on peut supposer que tous les conjugués (qui sont en nombre nis) <strong>de</strong>s L iau <strong>de</strong>ssus <strong>de</strong> K sont parmi les L i . Soit alors L ⩾ K une extension purement ramiée <strong>de</strong><strong>de</strong>gré d, par le lemme (9.9), c'est le corps <strong>de</strong> rupture d'un polynôme d'Eisenstein quiadmet donc un <strong>de</strong>s L i comme corps <strong>de</strong> rupture. Il s'en suit que L est conjugué à ce L iau <strong>de</strong>ssus <strong>de</strong> K et donc est lui même l'un <strong>de</strong>s L i .◻Proposition 9.14 :Soit (K, v) un corps complet <strong>de</strong> corps résiduel ni et à valuation discrète, alors Ka un nombre ni d'extensions <strong>de</strong> <strong>de</strong>gré donné.Démonstration. Comme on l'a montré dans le lemme (9.3), toute extension nie <strong>de</strong>K est la composée d'une extension purement inertielle et d'une extension purementramiée. Soit alors n ∈ N ⋆ . Il existe un nombre ni <strong>de</strong> façon d'écrire n sous la formeef avec e et f ∈ N ⋆ . D'après le lemme (9.6), il existe une unique extension purementinertielle <strong>de</strong> K <strong>de</strong> <strong>de</strong>gré f. Cette extension nie est aussi complète par le lemme (6.8)et, comme le groupe <strong>de</strong> valeur ne change pas, évi<strong>de</strong>mment aussi à valuation discrète.58


9. EXTENSIONS ALGÉBRIQUES DES CORPS P -ADIQUEMENT CLOSPar le lemme (9.13), ce corps a donc un nombre ni d'extensions purement ramiées<strong>de</strong> <strong>de</strong>gré e.◻Proposition 9.15 :Soit (Q p , v p ) ⩽(K, v) une extension nie, il existe alors α ∈ Q alg tel que K = Q p [α],que O K = Z p [α] et que le polynôme minimal annulateur <strong>de</strong> α au <strong>de</strong>ssus <strong>de</strong> Q p soit dansQ.Démonstration. Soient a et Π tels que K = Q p [a, Π], O K = Z p [a, Π], Q p ⩽ Q p [a] estpurement inertielle, le polynôme minimal <strong>de</strong> a est dans Z p [X] et Q p ⩽ Q p [Π] est purementramiée (cette décomposition est donnée à la proposition (9.3)). Comme Q est<strong>de</strong>nse dans Q p est que Z est <strong>de</strong>nse dans Z p , quitte à remplacer a et Π par <strong>de</strong>s racines<strong>de</strong> polynômes assez proches <strong>de</strong> leurs polynômes minimaux, on peut supposer que lepolynôme minimal <strong>de</strong> Π est dans Q[X] et que celui <strong>de</strong> a est dans Z[X]. Il est alorsfacile <strong>de</strong> vérier que Π est alors toujours une uniformisante.Posons alors α = a+Π. On sait alors qu'il existe un polynôme P dans Q[X] <strong>de</strong> <strong>de</strong>grén qui annule α. Soit Q le polynôme minimal <strong>de</strong> a, d'après la formule <strong>de</strong> Taylor, Q(α) =Q(a)+ΠQ ′ Q(a)+∑ (i) (a)i i!Π i = Q(a)+ΠQ ′ (a)+Π 2 b où b ∈ O K . Comme res(a) engendrek K au <strong>de</strong>ssus <strong>de</strong> F p , que [k K ∶ F p ] = <strong>de</strong>g(Q) = <strong>de</strong>g(res(Q)) et que res(Q)(res(a)) =res(Q(a)) = 0, il s'en suit que Q est res(Q) est irréductible et donc, comme F p estparfait, que res(Q ′ (a)) ≠ 0, i.e. v(Q ′ (a)) = 0. Il s'en suit donc que v(Q(α)) = v(Π),i.e. Q(α) est une uniformisante. Comme res(α) = res(a) est un élément primitif <strong>de</strong>k K ⩽ F p , d'après la remarque (9.4), la famille α i Q(α) j , et donc la famille (α i ), génèreK au <strong>de</strong>ssus <strong>de</strong> Q p et O K au <strong>de</strong>ssus <strong>de</strong> Z p . Le polynôme P est donc bein irréductibleet est donc bien le polynôme minimal annulateur <strong>de</strong> α.◻Théorème 9.16 :Soit (K, v) ⊧ pCF, alors K a un nombre ni d'extensions d'un <strong>de</strong>gré donné etelles sont toutes engendrées par un élément algébrique sur Q qui engendre aussil'anneau <strong>de</strong> valuation et dont le polynôme minimal annulateur au <strong>de</strong>ssus <strong>de</strong> K estdans Q.Démonstration. On a montré aux propositions (9.14) et (9.15) que ces propriétés sontvraies pour Q p , il sut donc <strong>de</strong> montrer qu'elles sont exprimables au premier ordre.Fixons alors un <strong>de</strong>gré n et P 1 , . . . P k <strong>de</strong>s polynômes <strong>de</strong> <strong>de</strong>gré n à coecients dans Qtels que leurs corps <strong>de</strong> rupture sont les extensions <strong>de</strong> <strong>de</strong>gré n <strong>de</strong> Q p et qu'une <strong>de</strong> leurracine dans un corps <strong>de</strong> rupture engendre l'anneau <strong>de</strong> valuation.Mais les extensions nies <strong>de</strong> <strong>de</strong>gré n d'un corps sont dénissables <strong>de</strong> façon uniformeavec pour paramètres les coecients du polynôme minimal d'un élément primitif. Onpeut donc exprimer au premier ordre que dans toute extension L <strong>de</strong> <strong>de</strong>gré donné ily a un élément α qui annule un <strong>de</strong>s P i . De plus on peut exprimer au premier ordre59


10. ÉLIMINATION DES IMAGINAIRES DANS PCFque l'anneau engendré par α au <strong>de</strong>ssus <strong>de</strong> O K est un anneau <strong>de</strong> valuation. Comme Kest hensélien, c'est donc l'unique anneau <strong>de</strong> valuation au <strong>de</strong>ssus <strong>de</strong> O K et c'est doncforcément O L .◻10 Élimination <strong>de</strong>s imaginaires dans pCFDans cette section, on reprendra les notations <strong>de</strong> la proposition (4.16) avec L = L G Q p,T = pCF G , ̃L = ̃L G et ̃T = ACVF G 0,p . On rappelle que M est un modèle <strong>de</strong> pCFG assezsaturé et que ̃M est un modèle <strong>de</strong> ACVF G 0,pqui contient M et qui est lui même assezsaturé.Lemme 10.1 ((i) dans pCF) :Soient M ′ ⪯ M <strong>de</strong>ux modèles <strong>de</strong> T et c ∈ dom(M), on a alors dcl L (M ′ c) ∩ M ⊆acl ̃L(M ′ c).Démonstration. Comme acl ̃L(dom(M ′ )c) = dom(M ′ )c alg d'après la remarque (3.3.i),on a montré au lemme (7.1) que acl ̃L(M ′ c) ∩ dom(M) = acl ̃L(dom(M ′ )c) ∩ dom(M)est un modèle <strong>de</strong> pCF. Par modèle complétu<strong>de</strong>, on a acl ̃L(M ′ c)∩dom(M) ⪯ dom(M) etdonc acl ̃L(M ′ c)∩M eq = (acl ̃L(M ′ c)∩dom(M)) eq ⪯ M eq . Comme L G Q pest une extensiondénissable <strong>de</strong> L eqQ p, on a donc aussi acl ̃L(M ′ c) ∩ M ⪯ M. Enn, comme la clôturedénissable ne dépend pas du modèle dans une extension élémentaire, on a bien quedcl L (M ′ c) ∩ M ⊆ acl ̃L(M ′ c) ∩ M ⊆ acl ̃L(M ′ c).◻Lemme 10.2 ((ii) dans pCF) :Pour tout A = acl L (A) ∩ M et c ∈ dom(M), on a acl L (Ac) = dcl L (Ac).Démonstration. D'après le corollaire (7.6), on a, pour tout A ⊆ K(M), acl L (Ac) ∩K(M) = dcl L (Ac) ∩ K(M). Or cet ensemble est un modèle <strong>de</strong> pCF et on a doncacl L (Ac) ⊆ (acl L (Ac) ∩ K(M)) eq = dcl L ((acl L (Ac) ∩ K(M))) = dcl L ((dcl L (Ac) ∩K(M))) = dcl L (Ac). Il faut cependant étendre ce résultat à <strong>de</strong>s ensembles <strong>de</strong> paramètresimaginaires (et pas uniquement dans la sorte du corps).Soit A = {a i ∶ i ∈ κ} une énumération <strong>de</strong> A. Pour tout i, soit c i ∈ dom(M) tel que a i ∈dcl L (c i ) (qui existe par dénition <strong>de</strong>s sortes dominantes) et p i ∈ S L (M) une extensionAut L (M /A)-invariante <strong>de</strong> tp L (c i /A) (qui existe par le lemme (8.12)). On construitalors (A i ) i∈κ par induction. On pose A 0 = A, A i+1 = A i ∪ {b i } où b i ⊧ p i ∣ acl L (A i c)et A λ = ⋃ i


10. ÉLIMINATION DES IMAGINAIRES DANS PCFque ϕ[a, c, z] ∈ p i+1 ∣ acl L (A i c) et comme p i+1 est Aut L (M /A)-invariant et que σ(a) ∈acl L (Ac), on a aussi ϕ[σ(a), c, z] ∈ p i+1 ∣ acl L (A i c) et donc M ⊧ ϕ[σ(a), c, b i+1 ]. Il s'ensuit donc que σ(a) = a et donc que a ∈ dcl L (A i c). On a donc acl L (Ac) ∩ dcl L (A i+1 c) ⊆acl L (Ac) ∩ dcl L (A i c) ⊆ dcl L (Ac).Pour tout i, a i ∈ dcl L (b i ) et donc, comme b i ∈ dom(M), A ⊆ dcl(A k ∩ dom(M)). Ona alors acl L (Ac) ⊆ acl L (A κ ∩ dom(M)c) ⊆ dcl L (A κ ∩ dom(M)c) ⊆ dcl L (A κ c). Il s'ensuit donc que acl L (Ac) = acl L (Ac) ∩ dcl L (A κ c) ⊆ dcl L (Ac).◻Lemme 10.3 ((iii) dans pCF) :Soit e ∈ dcl ̃L(M) ⊆ ̃M, il existe alors e ′ ∈ M tel que tout automorphisme <strong>de</strong> ̃M quilaisse M globalement xe, xe e si et seulement si il xe e ′ .Démonstration.Supposons pour commencer que e ∈ K(̃M). D'après la remarque (3.3), commeK(M) est Hensélien et qu'on est en caractéristique nulle, K(M) est dcl ̃L-clos. On adonc e ∈ K(M).Si maintenant, e ∈ K(̃M), comme e ∈ dcl ̃L(M) ⊆ acl ̃L(M) et que acl ̃L(M) ⊧ACVF G 0,p (la preuve est similaire à celle du lemme (10.1) dans le cas <strong>de</strong> pCFG ), il s'ensuit que e a une base dans acl ̃L(M). Il existe donc une extension nie K(M) ⩽ L, telleque e ait une base dans L. Soit m = [L ∶ K(M)]. On sait par le théorème (9.16),qu'il y a un nombre ni d'extensions <strong>de</strong> <strong>de</strong>gré m au <strong>de</strong>ssus <strong>de</strong> K(M). Soit alors L ′l'union <strong>de</strong> toutes ces extensions. L'extension K(M) ⩽ L ′ est toujours nie et si σ estun automorphisme <strong>de</strong> K(̃M) qui xe globalement K(M) alors il xe globalement L.En eet, si a est algébrique <strong>de</strong> <strong>de</strong>gré m au <strong>de</strong>ssus <strong>de</strong> K(M), alors σ(a) aussi et doncσ(a) ∈ L ′ . On a donc σ(L ′ ) ⊆ L ′ et comme ces <strong>de</strong>ux extensions sont <strong>de</strong> même <strong>de</strong>gré,elles sont égales. Quitte à remplacer L par L ′ , on peut donc supposer que L vériecette même propriété que tout automorphisme <strong>de</strong> K( ˜M) qui xe globalement M xeglobalement L.Soit alors a ∈ Q alg tel que L = K[a], que O L = O K [a] et dont le polynôme minimalannulateur est dans Q. On connaît l'existence d'un tel a par le théorème (9.16). Ce apermet donc <strong>de</strong> dénir une bijection f a ∶ L → K m qui induit une bijection fa n ∶ L n →K mn . On pose alors e ′ = fa n (e). Comme O L est un O K -module libre <strong>de</strong> rang m (lafamille <strong>de</strong>s a i en est une base), s est un O K module libre <strong>de</strong> rang mn. Il est facile <strong>de</strong>voir que fan est un isomorphisme <strong>de</strong> O K -modules et il s'en suit donc que e ′ est biendans S mn (M).Si a ′ est un conjugué <strong>de</strong> A au <strong>de</strong>ssus <strong>de</strong> Q, comme le polynôme minimal annulateur<strong>de</strong> a au <strong>de</strong>ssus <strong>de</strong> K(M) est dans Q, c'est aussi le polynôme minimal annulateurau <strong>de</strong>ssus <strong>de</strong> Q et donc a et a ′ sont conjugués au <strong>de</strong>ssus <strong>de</strong> K. Il existe donc σ ∈Aut(L/K(M)) un automorphisme <strong>de</strong> corps, qui envoie a sur a ′ . De plus, comme e ete ′ ∈ dcl ̃L(M) (à vrai dire on a même e ′ ∈ M), ces <strong>de</strong>ux points sont xés par σ et donc61


10. ÉLIMINATION DES IMAGINAIRES DANS PCFfσ(a) n (e) = e′ . Il s'en suit donc que tout automorphisme <strong>de</strong> ̃M qui xe globalement Mxe globalement f a et donc xe e si et seulement s'il xe e ′ .Pour ce qui est <strong>de</strong>s e ∈ T n (̃M), on peut procé<strong>de</strong>r <strong>de</strong> la même manière ou remarquerque si L est un extension nie <strong>de</strong> K(M) telle que s = τ n (e) a une base dans L alorscomme la valuation <strong>de</strong> K(M) est discrète, celle <strong>de</strong> L aussi et donc, si Π est uneuniformisante <strong>de</strong> L, M L s = Πs est toujours un réseau <strong>de</strong> L. Par le lemme (5.2), sestranslatés (dont e) codés dans S n+1 (L). Soit alors s ′ ∈ S n+1 (L) qui co<strong>de</strong> e. Comme ona déjà traité le cas <strong>de</strong>s réseaux, on peut trouver e ′ tel que tout automorphisme <strong>de</strong> ̃Mqui xe globalement M xe s ′ si et seulement si il xe e ′ . Mais comme il xe s ′ si etseulement si il xe e, on a bien le résultat voulu.◻Lemme 10.4 ((iv) dans pCF) :Tout sous-ensemble X M-dénissable inclus dans dom(M) a un co<strong>de</strong> dans M.Démonstration. Soit x un co<strong>de</strong> <strong>de</strong> X dans M eq . On pose A = acl L (x) et B = B(A).D'après le corollaire (8.10), pour tout c ∈ dom(M), on a tp(c/B) ⇒ tp(c/A), enparticulier, tous les types sur B impliquent soit X soit ¬X. Il s'ensuit que X est laisséinvariant par les automorphismes <strong>de</strong> M eq qui xent B et donc, par compacité, X est B-dénissable. On a donc montré que X a un co<strong>de</strong> faible, mais on sait que les ensemblesnis sont codés par le lemme (4.17) (et le lemme (10.3)) et donc le lemme (4.10)permet <strong>de</strong> conclure.◻Théorème 10.5 :La théorie pCF G élimine les imaginaires.Démonstration. Le théorème suit (presque) <strong>de</strong> la proposition (4.16) et <strong>de</strong>s lemmes(10.1) à (10.4). Il reste encore à démontrer que le (v) est vrai dans Q p . ◻Enn on peut remarquer que les torseurs ne sont pas nécessaires. Comme on a vudans la preuve du lemme (10.3), pour tout s ∈ S n (M), M s est en fait un réseau et sestranslatés sont donc codés par <strong>de</strong>s éléments <strong>de</strong> S n+1 (M), par le lemme (5.2).62


BibliographieAlgèbre[EP05][GSS88]A.J. Engler et A. Prestel. Valued Fields. Springer Monographs in Mathematics.Springer-Verlag, 2005.F. J. Grunewald, D. Segal et G. C. Smith. Subgroups of Finite In<strong>de</strong>xin Nilpotents Groups . Dans : Inventiones Mathematicae 93.1 (1988),p. 185223.[Lan02] Serge Lang. Algebra. revised 3 rd edition. Graduate Texts in Mathematics211. Springer-Verlag, 2002.[Lan94] Serge Lang. Algebraic Number Theory. 2 nd edition. Graduate texts in Mathematics.Springer-Verlag, 1994.[Nar74][Rib64][Rib99]Wladislaw Narkiewicz. Elementary and Analytic Theory of Alebraic Numbers.PWN - Polish Scientic Publishers, 1974.Paulo Ribenboim. Théorie <strong>de</strong>s valuations. Les presse <strong>de</strong> l'université <strong>de</strong>Montréal, 1964.Paulo Ribenboim. The Theory of Classical Valuations. Springer Monographsin Mathematics. Springer-Verlag, 1999.[Ser68] Jean-Pierre Serre. Corps locaux. Hermann, 1968.Théorie <strong>de</strong>s modèles[AK65]James Ax et Simon Kochen. Diophantine Problems Over Local FieldsI . Dans : American Journal of Mathematics 87.3 (1965), p. 605630.[Cha08] Zoé Chatzidakis. Théorie <strong>de</strong>s modèles <strong>de</strong>s corps valués . cours <strong>de</strong> M2.2008.[Den84][Dri84]Jan Denef. The rationality of the Poincaré series associated to the p-adicpoints on a variety . Dans : Inventiones Mathematicae 77 (1984), p. 123.Lou van <strong>de</strong>n Dries. Algebraic Theories with Denable Skolem Functions. Dans : The Journal of Symbolic Logic 49.2 (1984), p. 625629.63


BIBLIOGRAPHIE[HHM06][HM08][Hod93][Hol95][Mac76][Poi83][Rob56][She78]Deirdre Haskell, Ehud Hrushovski et Dugald Macpherson. DenableSets in Algebraically Closed Valued Fields : Elimination of Imaginaries. Dans : Journal für die Reine und Angewandte Mathematik 597(2006), p. 175236.Ehud Hrushovski et Ben Martin. Zeta Functions from Denable EquivalenceRelations . arXiv : math/0701011. 2008.Wilfrid Hodges. Mo<strong>de</strong>l Theory. Encyclopedia of Mathematics and its Applications42. Cambridge University Press, 1993.Jan E. Holly. Canonical forms for <strong>de</strong>nable subsets of algebraically closedand real closed valued elds . Dans : The Journal of Symbolic Logic60.3 (1995), p. 843860.Angus Macintyre. On Denable Subsets of p-Adic Fields . Dans : TheJournal of Symbolic Logic 41.3 (1976), p. 605610.Bruno Poizat. Une théorie <strong>de</strong> Galois imaginaire . Dans : The Journalof Symbolic Logic 48.4 (1983), p. 11511170.Abraham Robinson. Complete Theories. Studies in Logic 7. North-HollandPublishing Company, 1956.Saharon Shelah. Classication Theory and the Number of Non-IsomorphicMo<strong>de</strong>ls. Studies in Logic 92. North-Holland Publishing Company, 1978.64


Table <strong>de</strong>s matièresIntroduction 1I Les corps valués algébriquement clos 41 Les langages <strong>de</strong>s corps valués . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Les extensions <strong>de</strong>s valuations . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Élimination <strong>de</strong>s quanticateurs dans ACVF . . . . . . . . . . . . . . . . . 144 L'élimination <strong>de</strong>s imaginaires dans un cadre abstrait . . . . . . . . . . . . 205 Les sortes géométriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30II Le corps <strong>de</strong>s nombres p-adiques et sa théorie 346 Les corps p-adiquement clos . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Clôture algébrique et dénissable dans pCF . . . . . . . . . . . . . . . . . 418 Les types dans pCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Extensions algébriques <strong>de</strong>s corps p-adiquement clos . . . . . . . . . . . . 5210 Élimination <strong>de</strong>s imaginaires dans pCF . . . . . . . . . . . . . . . . . . . . 60Bibliographie 63Algèbre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Théorie <strong>de</strong>s modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6365


Quatrième partieMini-mémoire écrit pour le cours Géométries non-archimédiennes à Paris IV84


Silvain Ri<strong>de</strong>au 29 juin 2011École Normale SupérieureL.M.F.I., Paris 7Types stablement dominés,génériquement stablesetorthogonaux à Γ


Dans tout ce texte, on se place dans un modèle monstre U <strong>de</strong> la théorie <strong>de</strong>s corpsvalués algébriquement clos, du moins dans sa version qui admet l'élimination <strong>de</strong>simaginaires (voir [HHM06]). Comme toujours quand on considère un modèle monstre,tous les ensembles considérés (que ce soient <strong>de</strong>s paramètres ou <strong>de</strong>s modèles)sont <strong>de</strong> cardinal plus petit que κ tel que U soit κ-saturé et κ-fortement homogène.On notera K la sorte du corps valué, R celle du l'anneau <strong>de</strong> valuation, M son idéalmaximal, Γ la sorte du groupe <strong>de</strong> valuation et k la sorte du corps résiduel.Les types considérés ici sont a priori innitaires. Il est possible cela m'aitéchappé dans certaines preuves, mais en général en utilisant un peu <strong>de</strong> compacitéou le fait que les formules sont nies, les preuves sur les types nitaires segénéralisent facilement aux types innitaires. De plus quand on considère un typeA-dénissable, on le considérera toujours canoniquement étendu à U, et on noteradans tout ce qui suit B ≡ A B ′ si tp(B/A) = tp(B ′ /A).Un certain nombre <strong>de</strong> résultats présentés ici ne sont pas propres à ACVF maispour plus <strong>de</strong> simplicité <strong>de</strong> présentation, on ne distinguera pas les résultats <strong>de</strong> théorie<strong>de</strong>s modèles purs <strong>de</strong> ceux qui sont appliqués aux corps valués algébriquement clos.À vrai dire, la première partie concerne, principalement, toutes les théories, la<strong>de</strong>uxième les théories NIP et la troisième est spécique à ACVF.Enn, on a choisit <strong>de</strong> ne pas rentrer dans les détails pour tout ce qui touche à lastabilité. Les résultats utiles seront cités. De même un certain nombre <strong>de</strong> résultatsdont la preuve nécessiterais encore un long développement sont admis.1 Types stablement dominésCommençons par rappeler la dénition <strong>de</strong> la stabilité pour une théorie T quelconquequi admet l'élimination <strong>de</strong>s imaginaires.Dénition 1.1 (Stabilité) :Une théorie T est dite λ-stable si pour tout M ⊧ T et tout C ⊆ M tel que∣C∣ = λ, ∣ S(C)∣ = λ. Elle est dite stable s'il existe λ telle qu'elle soit λ-stable.On utilisera un peu plus loin une autre caractérisation <strong>de</strong> la stabilité.Proposition 1.2 :Une théorie est stable si pour toute formule ϕ[x, y] à paramètres dans un modèleM, il n'existe pas <strong>de</strong> a i , b i ∈ M pour i < ω telle que pour tout i, j < ω, U ⊧ ϕ[a i , b j ]si et seulement si i < j.Une formule qui aurait une telle propriété est dite instable.Dénition 1.3 (Plongement stable) :Soit X un ensemble A-dénissable dans U, il est plongé stablement si pour toutensemble dénissable Y et tout r > 0, Y ∩ X r est A ∪ X(U)-dénissable.1


Dans le cas <strong>de</strong>s corps valués algébriquement clos, l'élimination <strong>de</strong>s quanticateursimplique que la sorte du corps résiduel k est plongée stablement et que c'estdonc un pur corps algébriquement clos.Dénition 1.4 (<strong>Ens</strong>embles stables) :Soit X un ensemble A-dénissable, il est dit stable si la structure X(U) munie<strong>de</strong> toutes les relations A-dénissables est stable (i.e. sa théorie est stable).La proposition suivante donne une caractérisation <strong>de</strong>s ensembles stables etplongés stablement qui sera utile pour montrer que St A est stable. Elle est énoncéedans [HHM08] mais je n'ai pas trouvé d'article où elle soit démontrée.Proposition 1.5 :Soit B un ensemble A-dénissable alors B est stable et plongé stablement si etseulement si pour tout λ > ∣T ∣ + ∣A∣ tel que λ = λ ℵ 0et C ⊇ A tel que ∣C∣ = λ alors ily a au plus λ 1-types au <strong>de</strong>ssus <strong>de</strong> C réalisés dans B.On peut maintenant dénir la structure St A qui est en quelque sorte la composantestable <strong>de</strong> U au <strong>de</strong>ssus <strong>de</strong> A.Dénition 1.6 (St A ) :Soit A un petit ensemble <strong>de</strong> paramètres. On note St A la structure multi-sortedont les sortes sont les ensembles A-dénissables stables et plongés stablement <strong>de</strong>U. On la muni <strong>de</strong> toutes les relations A-dénissables sur un produit ni <strong>de</strong> telsensembles.Pour tout ensemble B, on note St A (B) = dcl(B) ∩ St A .On remarque que pour tout a ∈ acl(A), l'orbite <strong>de</strong> a est A-dénissable, stableet plongée stablement (car ni), il s'en suit que acl(A) ⊆ St A .Proposition 1.7 :Soit A un ensemble <strong>de</strong> paramètres, alors St A est une structure stable.Démonstration. Par la proposition (1.2), il sut <strong>de</strong> montrer qu'il n'y a pas <strong>de</strong>formules instables. Or les formules ont un nombre ni <strong>de</strong> variables et <strong>de</strong> paramètres,il sut donc <strong>de</strong> montrer que pour tout n et tout B 1 , . . . , B n sortes <strong>de</strong> St A , B 1 ∪. . .∪B n est stable. Par la proposition (1.5) il sut <strong>de</strong> montrer que pour tout λ > ∣T ∣+∣A∣tel que λ = λ ℵ 0et C ⊇ A tel que ∣C∣ = λ alors il y a un plus λ 1-types au <strong>de</strong>ssus<strong>de</strong> C réalisés dans B 1 ∪ . . . ∪ B n . Mais comme chacun <strong>de</strong>s B i est stable et plongéstablement, cette propriété y est vériée et comme ⋃ n i=1 λ = λ, on a bien ce que l'onveut.◻Un grand nombre d'outils ont été développés pour étudier les théories stbables,en particulier celui <strong>de</strong> déviation et celui d'indépendance. On notera C ⫝ A B pour Cest indépendant <strong>de</strong> B a <strong>de</strong>ssus <strong>de</strong> A. Voici une liste rapi<strong>de</strong> <strong>de</strong>s propriétés <strong>de</strong> cetteindépendance qui sont utilisées ici :2


Si C ⫝ A B alors B ⫝ A C. Si C ⫝ A B alors pour tout B ′ ⊆ B on a C ⫝ A B ′ (<strong>de</strong> même à gauche). Si C ⫝ A B alors C ⫝ A acl(B) (<strong>de</strong> même à gauche). Si f est un automorphisme <strong>de</strong> U et C ⫝ A B alors f(C) ⫝ f(A) f(B).Proposition 1.8 :Soit T une théorie stable et p ∈ S(U), alors p ne dévie pas au <strong>de</strong>ssus <strong>de</strong> A si etseulement si p est acl(A)-dénissable 1 .Un corollaire immédait <strong>de</strong> cette proposition est que tout type sur acl(A) a uneunique extension non déviante.Une suite <strong>de</strong> Morley d'un type stationnaire p ∈ S(A) au <strong>de</strong>ssus <strong>de</strong> A sens <strong>de</strong>sthéories stables est un ensemble indépendant <strong>de</strong> réalisations <strong>de</strong> p.Proposition 1.9 :Soit T est théorie stable. Une suite <strong>de</strong> Morley <strong>de</strong> p au <strong>de</strong>ssus <strong>de</strong> B est unensemble indiscernable 2 .On peut maintenant introduire la première <strong>de</strong>s notions centrales à ce texte.Dénition 1.10 (Types stablement dominés) :Un type p = tp(a/A) est stablement dominé si pour tout B, on aSt A (a) ⫝ A St A (B) ⇒ tp(B/A St A (a)) ⊢ tp(B/Aa)Le lemme suivant montre, ce qui est relativement raisonnable, que tout type <strong>de</strong>St A est stablement dominé.Lemme 1.11 :Soit A, B et C <strong>de</strong>s ensembles <strong>de</strong> paramètres, alorstp(St A (B)/A St A (C)) ⊢ tp(St A (B)/AC)Démonstration. Soit B ′ tel que St A (B) ≡ A StA (C) St A (B ′ ) et ϕ[x, y, z] tel que U ⊧ϕ[St A (B), A, C]. On peut supposer que ϕ[x, A, C] implique une formule stablementdominée ψ quitte à la rajouter. Comme ψ est stablement dominée, l'ensemble dénipar ϕ[x, A, C] est St A -dénissable, i.e. il existe θ[x, d] avec d ∈ St A tel que U ⊧∀xθ[x, d] ↔ ϕ[x, A, C]. De plus l'ensemble <strong>de</strong>s d qui vérient cette propriété, dénipar la formule ∀x∀xθ[x, y] ↔ ϕ[x, A, C] est AC-dénissable. Quitte à remplacerd par le paramètre canonique (i.e. le représentant dans U eq = U <strong>de</strong> l'ensemble que1. Voir théorème 5.1.1 <strong>de</strong> [Bue96, p. 218].2. Voir lemme 5.1.14 <strong>de</strong> [Bue96, p. 231].3


l'on vient <strong>de</strong> dénir), l'ensemble ϕ[x, A, C] est A St A (C) dénissable. Comme ilcontient St A (B), il doit contenir St A (B ′ ), i.e. U ⊧ ϕ[St A (B ′ ), A, C].◻Lemme 1.12 :Soit A, B et C <strong>de</strong>s ensembles <strong>de</strong> paramètres tels que B ⊆ St A . Si pour tout Dtel que B ⫝ A St A (D), on a tp(D/AB) ⊢ tp(D/AC), alors tp(C/A) est stablementdominé.Démonstration. Soit D tel que St A (D) ⫝ A St A (C) et D ′ ≡ A StA (C) D (on a alorsaussi St A (D ′ ) ⫝ A St A (C)), on veut montrer que D ≡ AC D ′ . Montrons qu'on peutsupposer que D ′ ≡ acl(A) D. En eet, soit une formule ϕ[x, a] avec a ∈ acl(A) telque U ⊧ ϕ[D ′ , a], soit a 1 , . . . , a n les conjugués <strong>de</strong> a au-<strong>de</strong>ssus <strong>de</strong> A et X = {a i ∶∃D ′′ ≡ AC D∧U ⊧ ϕ[D ′′ , a i ]}. Par compacité, il existe une formule <strong>de</strong> tp(D/AC) quidénit X. De plus, X est un sous ensemble <strong>de</strong> acl(A) ⊆ St A et donc X est A St A (C)-dénissable. En particulier (∀yϕ[x, y] ⇐⇒ y ∈ X) ∈ tp(D/A St A (C)) et est doncaussi vériée par D ′ . On a alors a ∈ X et il existe D ′′ ≡ AC D tel que ϕ[D ′′ , a].L'ensemble <strong>de</strong> formules tp(D ′ / acl(A))∪tp(D/AC) est niment satisfaisable donc,par compacité, satisfaisable. Soit D ′′ qui le satisfait, on a alors bien D ′′ ≡ A StA (C) Det St A (D ′′ ) ⫝ A St A (C), et si on montre que D ′′ ≡ AC D ′ , on aura bien D ≡ AC D ′ . Onpeut donc supposer D = D ′′ .Soit alors B ′ une réalisation d'une extension non déviante <strong>de</strong> tp(B/A St A (C)) àA St A (C) St A (D) St A (D ′ ). On a alors B ′ ≡ A StA (C) B et donc par le lemme (1.11),B ′ ≡ AC B. L'hypothèse du lemme est donc aussi vériée pour B ′ , en eet, soit σ ∈Aut(U /AC) tel que σ(B ′ ) = B et D tel que St A (D) ⫝ A B ′ alors St A (σ(D)) ⫝ A B etdonc tp(σ(D)/AB) ⊢ tp(σ(D)/AC), on a donc, en appliquant σ −1 , tp(D/AB ′ ) ⊢tp(D/AC). On peut donc supposer B = B ′ et en particulier B ⫝ A StA (C) St A (D) St A (D ′ ).On a alors par transitivité B ⫝ A StA (C) St A (D), et comme par hypothèse St A (C) ⫝ A St A (D),on a donc St A (D) ⫝ A B. De même, on a St A (D) ⫝ A B. Comme St A (D) et St A (D ′ )ont le même type au-<strong>de</strong>ssus <strong>de</strong> acl(A) et que ce type a une unique extension non déviante,on a St D (A) ≡ AB St A (D ′ ). Soit alors σ ∈ Aut(U /A) tel que σ(D) = σ(D ′ ).On a alors tp(σ(B)/A St A (D ′ )) = tp(B/A St A (D)) = tp(B/A St A (D ′ )). Par lelemme (1.11), on a donc tp(B/AD ′ ) = tp(σ(B)/AD ′ ) = tp(B/AD), i.e. D ≡ AB D ′ .Par hypothèse on a bien D ≡ AC D ′ .◻Pour nit cette partie, rappelons le théorème 4.9 <strong>de</strong> [HHM08] qui permet <strong>de</strong>diminuer la base d'un type tout en conservant la stable domination. Il sera utilepour montrer la proposition (3.24).Proposition 1.13 :Soit p et q <strong>de</strong>ux types Aut(U /A)-invariants tels que pour tout b ⊧ q∣A, le typep∣Ab est stablement dominé, alors p∣A est stablement dominé.4


2 Types génériquement stablesDans cette partie, on se place dans le cadre d'un théorie NIP (c'est bien le cas<strong>de</strong>s corps valués algébriquement clos). On commencera par rappeler ce qu'est unethéorie NIP et montrer un résultat important sur les suites indiscernables dans unethéorie NIP qui sera utile par la suite. Le début <strong>de</strong> cette partie est très fortementinspiré <strong>de</strong> [HP].Dénition 2.1 :Une formule ϕ[x, y] a la propriété d'indépendance si pour tout entier n, il existea 0 . . . a n et pour tout I ⊆ {0, . . . , n}, b I tel que U ⊧ ϕ[a i , b I ] si et seulement si i ∈ I.Une théorie T satisfait NIP si aucune formule n'a la propriété <strong>de</strong> l'indépendance.Lemme 2.2 :Soit T une théorie NIP. Pour toute formule ϕ[x, y], il existe N < ω, tel que si(a i ∶ i < ω) est une suite indiscernable, alors il n'existe pas <strong>de</strong> b tel que ¬ϕ[a i , b] ↔ϕ[a i+1 , b], pour i ⩽ N.De plus, si (a i ∶ i < ω) est un ensemble indiscernable, alors pour tout b, ∣{i ∶ U ⊧ϕ[a i , b]}∣ ⩽ N ou ∣{i ∶ U ⊧ ¬ϕ[a i , b]}∣ ⩽ N.Démonstration. Supposons qu'il existe b tel que pour tout i < ω, ¬ϕ[a i , b] ↔ϕ[a i+1 , b]. Soit alors n < ω et I ⊆ {0, . . . , n}. Il est alors facile <strong>de</strong> construiref ∶ {0, . . . , n} → ω strictement croissante telle que f(i) pair si et seulement sii ∈ I. Procédons par récurrence. Supposons que f soit déjà construit sur {0, . . . k}.Soit p le plus petit entier pair strictement supérieur à f(k). Si k + 1 ∈ I, on posef(k + 1) = p sinon on pose f(k + 1) = p + 1. On a alors U ⊧ ϕ[a f(i) , b] si et seulementsi i ∈ I. Mais comme (a i ∶ i < ω) est une suite indiscernable, soit σ ∈ Aut(U) tel queσ(a f(i) ) = a i . On pose alors b I = σ(b) qui vérie alors bien que U ⊧ ϕ[a i , b I ] si etseulement i ∈ I.L'ensemble <strong>de</strong> formulesΣ[x, y i ∶ i < ω] = {¬ϕ[y i , x] ↔ ϕ[y i+1 , x]}∪ {ψ[y i1 , . . . , y in ] ↔ ψ[y j1 , . . . , y jn ] ∶ i 1 < . . . < i n ∧ j 1 < . . . j n ]}n'est donc pas satisfaisable et par compacité, il n'est donc pas niment satisfaisable.Il existe donc N tel qu'il n'existe pas <strong>de</strong> suite indiscernable (a i ∶ i < ω) et <strong>de</strong> b telque ¬ϕ[a i , b] ↔ ϕ[a i+1 , b] pour tout i ⩽ N.Si la suite indiscernable est un ensemble indiscernable et qu'il existe b tel que∣{i ∶ U ⊧ ϕ[a i , b]}∣ > N et ∣{i ∶ U ⊧ ¬ϕ[a i , b]}∣ > N. On peut alors construire uneinjection f ∶ {0, . . . 2N + 1} tel que U ⊧ ϕ[a f(i) , b] si et seulement si i est pair.Comme (a i ∶ i < ω) est un ensemble indiscernable, il existe σ ∈ Aut(U) tel que5


σ(a f(i) ) = a i . Si on pose b ′ = σ(b), on a alors ¬ϕ[a i , b ′ ] ↔ ϕ[a i+1 , b ′ ] pour touti ⩽ 2N + 1 ce qui contredit ce qu'on a montré précé<strong>de</strong>mment.◻Dénition 2.3 (Types niment satisfaisables et héritiers) :Soit p ∈ S(B) et M ⊆ B un modèle. On dit que p est niment satisfaisable dansM si pour toute formule ϕ[x, b] ∈ p où b ∈ B il existe m ∈ M tel que U ⊧ ϕ[m, b].On dit que p est un héritier <strong>de</strong> p∣M si pour toute formule ϕ[x, m, b] où m ∈ Met b ∈ B, il existe b ′ ∈ M tel que ϕ[x, m, b ′ ] ∈ p∣M.Lemme 2.4 :Soient M un modèle, p ∈ S(M) et B ⊇ M. Il existe alors une extension nimentsatisfaisable <strong>de</strong> p à B.Démonstration. Considérons l'ensemble <strong>de</strong> formuleΣ[x] = p[x] ∪ {¬ϕ(x, b) ∶ ϕ[M, b] = ∅}Une partie nie <strong>de</strong> Σ[x] est <strong>de</strong> la forme θ[x, m] ∧ ⋀ n i=1 ¬ϕ i[x, b i ]. Comme p est untype il est niment satisfaisable dans M. Soit alors a ∈ M tel que M ⊧ θ[a, m].Pour tout i, on a alors U /⊧ ϕ[a, b i ] par dénition <strong>de</strong> Σ et donc U ⊧ ¬ϕ[a, b i ].L'ensemble Σ est donc niment satisfaisable, et par compacité, satisfaisable. Soitalors a ⊧ Σ et q = tp(a/B). On a alors bien q∣M = p. Soit ϕ[x, b] ∈ q, si ϕ[M, b] = ∅,on aurait alors ¬ϕ[x, b] ∈ Σ ⊆ q ce qui est absur<strong>de</strong>. Il existe donc m ∈ M tel queU ⊧ ϕ[m, b], i.e. q est une extension <strong>de</strong> p à B niment satisfaisable dans M. ◻Lemme 2.5 :Soient M ⊆ N <strong>de</strong>s modèles et p un type Aut(U /M)-invariant tel que p soitniment satisfaisable dans N , alors p est niment satisfaisable dans M.Démonstration. Soit ϕ[x, c] ∈ p et q = tp(N/M). Par le lemme (2.4), il existe r uneextension niment satisfaisable <strong>de</strong> q à Mc. Soit N ′ ⊧ r, il existe alors σ ∈ Aut(U /M)tel que σ(N) = N ′ . Comme p est Aut(U /M)-invariant, ϕ[x, σ −1 (c)] ∈ p et doncil existe a ∈ N tel que U ⊧ ϕ[a, σ −1 (c)]. On a alors U ⊧ ϕ[σ(a), c] où σ(a) ∈ N ′ .Comme tp(N ′ /Mc) = r est niment satisfaisable dans M, il existe b ∈ M tel queU ⊧ ϕ[b, c].◻Dénition 2.6 (Types génériquement stables) :Soit p un type Aut(U /A)-invariant. On dit que p est génériquement stable s'ilest A-dénissable et niment satisfaisable dans tout modèle contenant A.On va maintenant dénir une suite <strong>de</strong> Morley pour certains types sans avoirrecours à la notion d'indépendance, pour donner une dénition alternative <strong>de</strong>s typesgénériquement stables.6


Dénition 2.7 (p ⊗ q) :Soient p et q <strong>de</strong>ux types Aut(U /A)-invariants, on pose ϕ[x, y, m] ∈ p(x) ⊗ q(y)si, pour b ⊧ q∣Am, ϕ[x, b, m] ∈ p.Cette dénition a un sens car si b et b ′ sont <strong>de</strong>ux réalisations <strong>de</strong> q∣Am alorsil existe σ ∈ Aut(U /Am) tel que σ(b) = σ(b ′ ). Comme p est Aut(U /A) invariantet que ϕ[x, b, m] ∈ p, on a aussi ϕ[x, b ′ , m] ∈ p. La dénition ne dépend donc pasdu b choisi. Il est alors facile <strong>de</strong> voir que p ⊗ q est clos par ∧ et est donc nimentconsistant. De plus comme p est complet p ⊗ q l'est aussi car pour tout ϕ, ϕ[x, b, m]ou ¬ϕ[x, b, m] est dans p. Donc p ⊗ q est bien un type.Lemme 2.8 :Soient p est q <strong>de</strong>ux types Aut(U /A)-invariants alors p ⊗ q est aussi Aut(U /A)-invariant.Démonstration. Soit σ ∈ Aut(U /A) et ϕ[x, y, m] ∈ p ⊗ q. Il existe alors b ⊧ q∣Amtel que ϕ[x, b, m] ∈ p. Montrons que σ(b) ⊧ q∣Aσ(M). En eet, soit ψ[y, a, σ(m)] ∈q∣Aσ(m) où a ∈ A. Comme q est Aut(U /A)-invariant, ϕ[y, a, m] ∈ q∣Am et doncU ⊧ ϕ[b, a, m]. Il s'ensuit que U ⊧ ϕ[σ(b), a, σ(m)]. De plus, comme ϕ[x, b, m] ∈ pon a ϕ[x, σ(b), σ(m)] ∈ p et donc ϕ[x, y, σ(m)] ∈ p ⊗ q.◻Lemme 2.9 :Soit p et q <strong>de</strong>s types Aut(U /A)-invariants, B ⊇ A et (a 1 , a 2 ) ⊧ p ⊗ q si etseulement si a 2 ⊧ q∣B et a 1 ⊧ p∣Ba 2 .Démonstration. Soit ϕ telle que U ⊧ ϕ[a 2 , B], alors ϕ[x 2 , B] ∈ p(x 1 ) ⊗ q(x 2 )∣Bet donc, par dénition, ϕ[b 2 , B] ∈ p(x 1 ) pour un certain b 2 ⊧ q∣AB. Comme x 1n'apparaît pas dans cette formule, on a donc U ⊧ ϕ[b 2 , B] et donc ϕ[x 2 , B] ∈q∣B. On en déduit que a 2 ⊧ q∣B. Soit maintenant ϕ tel que U ⊧ ϕ[a 1 , a 2 , B], i.e.ϕ[x 1 , x 2 , B] ∈ p ⊗ q∣B. Mais alors, par dénition ϕ[x 1 , a 2 , B] ∈ p(x 1 )∣Ba 2 et donca 1 ⊧ p∣Ba 2 .Réciproquement, soit ϕ[x, y, B] ∈ p ⊗ q∣B, alors ϕ[x, a 2 , B] ∈ p∣Ba 2 et doncU ⊧ ϕ[a 1 , a 2 , B].◻Dénition 2.10 (Suite <strong>de</strong> Morley) :Soit p un type Aut(U /A)-invariant, on note p (1) (x 1 ) = p(x 1 ) et pour tout n < ω,p (n+1) (x 1 , . . . , x n+1 ) = p(x n ) ⊗ p (n) (x 1 , . . . , x n ). On pose p (ω) = ⋃ n


Démonstration. Soit (a i ∶ i < ω) une suite <strong>de</strong> Morley <strong>de</strong> p au-<strong>de</strong>ssus <strong>de</strong> A etsoient i 1 < . . . < i n , montrons par récurrence sur n que tp(a i1 . . . a in /A) = p (n) ∣A.Si n = 0 c'est évi<strong>de</strong>nt (avec la convention que p (0) est l'unique 0-type). Sinonsupposons que c'est vrai pour n − 1. Comme (a i ∶ i < ω) est une suite <strong>de</strong> Morley(a i ∶ i ⩽ i n ) ⊧ p (in) ∣A. Par le lemme (2.9) on sait donc que a in ⊧ p∣Aa 1 a 2 . . . a in−1et donc a in ⊧ p∣Aa i1 . . . a in−1 et par récurrence on sait que a i1 . . . a in−1 ⊧ p (n−1) ∣A.Par le lemme (2.9), on a bien que tp(a i1 . . . a in /A) = p (n) ∣A.◻On peut maintenant énoncer <strong>de</strong>s dénitions équivalentes à la notion <strong>de</strong> génériquementstable.Proposition 2.12 :Soit p un type Aut(U /A)-invariant, les conditions suivantes sont équivalentes(i) p est génériquement stable.(ii) Toute suite <strong>de</strong> Morley (a i ∶ i < ω) <strong>de</strong> p au-<strong>de</strong>ssus <strong>de</strong> A est un ensembleindiscernable au-<strong>de</strong>ssus <strong>de</strong> A.(iii) Pour toute formule ϕ[x, y] il existe un N tel que pour toute suite <strong>de</strong> Morley(a i ∶ i < ω) <strong>de</strong> p au-<strong>de</strong>ssus <strong>de</strong> A et tout c, ϕ[x, c] ∈ p si et seulement siU ⊧ ⋁ 0⩽i1


ϕ[x, m, b ′ ] ∧ ¬(d p xϕ)[m, b ′ ] ∈ q, ce qui contredit l'observation précé<strong>de</strong>nte.On a donc bien U ⊧ (d p xϕ)[m, b] et q = p∣B.(ii) Soit ϕ[x, y, m, t], où m ∈ M, telle que U ⊧ ϕ[a, b, m, c], or tp(a/Mbc)est niment satisfaisable dans M, il existe donc a ′ ∈ M tel que U ⊧ϕ[a ′ , b, m, c]. Mais comme tp(c/Mb) est M-dénissable, on a U ⊧ ∃y(d p tϕ)[a ′ , y, m]et donc il existe b ′ ∈ M tel que M ⊧ (d p tϕ)[a ′ , b ′ , m], i.e. ϕ[a ′ , b ′ , m, t] ∈tp(c/M) et donc U ⊧ ϕ[a ′ , b ′ , m, c].(iii) tp(a/Mb) est niment satisfaisable si et seulement si pour tout ϕ[x, y, z]tel que ϕ[x, b, m] ∈ tp(a/Mb), il existe a ′ ∈ M tel que U ⊧ ϕ[a ′ , b, m], i.e.ϕ[a ′ , y, m] ∈ tp(b/M). Comme ϕ[x, b, m] ∈ tp(a/Mb) équivaut à ϕ[a, y, m] ∈tp(b/Ma), cela est bien équivalent au fait que tp(b/Ma) est un héritier<strong>de</strong> tp(b/M).◻Démonstration (Proposition (2.12)).(i) ⇒ (ii) Soit M un modèle au-<strong>de</strong>ssus duquel p est déni et niment satisfaisable.Il sut <strong>de</strong> montrer que toute suite <strong>de</strong> Morley <strong>de</strong> p au-<strong>de</strong>ssus <strong>de</strong> M estun ensemble indiscernable. En eet, si ϕ[x 1 , . . . , x n ] ∈ p (n) ∣A ⊆ p (n) ∣M, pourtout σ ∈ S n on a alors ϕ[x σ(1) , . . . , x σ(n) ] ∈ p (n) ∣M ⊢ p (n) ∣A et donc toutesuite <strong>de</strong> Morley au-<strong>de</strong>ssus <strong>de</strong> A est un ensemble indiscernable.Soit donc (a i ∶ i < ω) une suite <strong>de</strong> Morley <strong>de</strong> p sur M. Montrons alors quepour tous a i1 . . . a in distincts extraits <strong>de</strong> la suite, tp(a i1 . . . a in /M) = p (n) ∣M.Pour n = 0, c'est évi<strong>de</strong>nt, supposons maintenant que c'est vrai pour n − 1.Comme (a i ∶ i < ω) est une suite indiscernable par le lemme (2.11), il sut<strong>de</strong> le montrer pour a σ(1) . . . a σ(n) où σ ∈ S n . Par le lemme (2.9) et comme,par récurrence, le type <strong>de</strong> a σ(1) . . . a σ(n−1) est p (n−1) , il sut <strong>de</strong> montrer quea σ(n) réalise p∣M(a i ∶ i ≠ σ(n)).Comme p est niment satisfaisable dans M, tp(a σ(n)+1 . . . a n /Ma 1 . . . a σ(n) )l'est aussi. En eet, soit ϕ telle que U ⊧ ϕ[a 1 , . . . , a n , m]. Comme a n réalisep∣Ma 1 . . . a n−1 il existe a ′ n ∈ M tel que U ⊧ ϕ[a 1 , . . . , a n−1 , a ′ n, m]. Supposonsalors que a ′ n . . . a ′ j soient construits tels que U ⊧ ϕ[a 1, . . . , a j−1 , a ′ j , . . . , a′ n, m],on a alors ϕ[a 1 , . . . , a j−2 , x j−1 , a ′ j , . . . , a′ n, m] ∈ tp(a j−1 /Ma 1 . . . a j−2 ) et doncil existe a ′ j−1 qui convient.De plus tp(a σ(n) /Ma 1 . . . a σ(n)−1 ) = p∣Ma 1 . . . a σ(n)−1 est M-dénissable doncpar le lemme (2.13).(ii), tp(a 1 . . . a σ(n)−1 a σ(n)+1 . . . a n /Ma σ(n) ) est nimentsatisfaisable. Par le lemme (2.13).(iii), tp(a σ(n) /Ma i ∶ i ≠ σ(n)) est unhériter <strong>de</strong> tp(a σ(n) /M) = p∣M qui est M-dénissable. Par le lemme (2.13).(i),a σ(n) réalise p∣M(a i ∶ i ≠ σ(n)).(ii) ⇒ (iii) C'est exactement la <strong>de</strong>uxième partie du lemme (2.2).(iii) ⇒ (i) p est alors clairement dénissable, i.e. pour tout ϕ[x, y], l'ensembleX ϕ = {b ∶ ϕ[x, b] ∈ p} est dénissable, mais comme p est Aut(U /A)-invariant,9


X ϕ l'est aussi et il est donc A-dénissable, c'est à dire que p est A-dénissable.De plus, soit M un modèle qui contient A et (a i ∶ i < ω) une suite <strong>de</strong> Morley<strong>de</strong> p. au <strong>de</strong>ssus <strong>de</strong> A Soit alors N qui contient M et (a i ∶ i < ω). Alors pourtout ϕ[x, c] ∈ p, il existe i 1 < . . . < i n tels que U ⊧ ϕ[a ij , c] pour tout j et doncen particulier pour j = 1. Donc p est niment satisfaisable dans N , mais parle lemme (2.5) il est niment satisfaisable dans M.◻Introduisons la notion <strong>de</strong> pushforward d'un type qui sera utile pour la suite.Dénition 2.14 (f ∗ p) :Soit p un type et f = (f i ∶ i ∈ I) une famille <strong>de</strong> fonctions dénie sur lesparamètres du type telle que pour tout i dom(f i ) ∈ p. Soit ϕ i [x, y, m i ] qui dénitf i , on peut alors considérer le typef ∗ p = {ψ[y i1 , . . . , y in , m ′ ] ∶ ∀ȳ n ⋀ ϕ ij [x, y ij , m ij ] ∧ ψ[ȳ, n] ∈ p}j=1On remarque que si p et f sont A-dénissable alors f ∗ p est A-dénissable.Lemme 2.15 :Soit p un type A-dénissable génériquement stable, et f une famille <strong>de</strong> fonctionsdénissables dont le domaine contient p, alors f ∗ p est génériquement stable.Démonstration. Par la proposition (2.12), il sut <strong>de</strong> montrer que toute suite <strong>de</strong>Morley <strong>de</strong> f ∗ p est un ensemble indiscernable. De plus, comme le fait que c'est unensemble indiscernable se voit dans le type <strong>de</strong> la suite, il sut <strong>de</strong> le montrer pourune seule d'entre elles.Soit alors (a i ∶ i < ω) une suite <strong>de</strong> Morley <strong>de</strong> p. La suite <strong>de</strong>s f(a i ) est alorsune suite <strong>de</strong> Morley <strong>de</strong> f ∗ p. Par la proposition (2.12), comme p est génériquementstable, {b i ∶ i < ω} est un ensemble indiscernable. Mais alors {f(b i ) ∶ i < ω} = {a i ∶i < ω} est aussi un ensemble indiscernable.◻Montrons maintenant qu'un type stablement dominé est génériquement stable.Proposition 2.16 :Soit p un type Aut(U /A)-invariant tel que p∣A stablement dominé, alors p estgénériquement stable.Démonstration. Par le lemme (2.12), il sut <strong>de</strong> montrer que toute suite <strong>de</strong> Morley(a i ∶ i < ω) <strong>de</strong> p au-<strong>de</strong>ssus <strong>de</strong> A est un ensemble indiscernable au-<strong>de</strong>ssus <strong>de</strong>A. On pose a ′ i = St A(a i ), c'est un uplet in<strong>de</strong>xé uniformément en i, par exemple,par la formule qui dénit chaque point. En fait on peut considérer St A (_)comme une famille <strong>de</strong> fonctions ∅-dénissables. Une formule ϕ[x, a ′ 1 , . . . , a′ i , a], oùa ∈ A, appartient au type tp(a ′ i+1 /Aa′ 1 . . . a′ i ) si ϕ[St A(x), St A (a 1 ), . . . , St A (a i ), a]10


appartient au type tp(a i+1 /Aa 1 . . . a n ) = p∣Aa 1 . . . a n qui est A-dénissable. Donctp(a ′ i+1 /Aa′ 1 . . . a′ i ) est aussi A-dénissable et est donc, par la proposition (1.8), nedévie pas au-<strong>de</strong>ssus <strong>de</strong> A. La suite (a ′ i ∶ i < ω) est donc une suite <strong>de</strong> Morley (au sens<strong>de</strong>s structures stables), et en particulier {a i ∶ i < ω} est un ensemble indépendant.De plus comme St A est stable, par la proposition (1.9), {a ′ i ∶ i < ω} est un ensembleindiscernable.Soient i, j, i 1 , . . . , i n < ω tous distincts. Pour montrer que l'ensemble {a i ∶ i < ω}est indiscernable, il sut <strong>de</strong> montrer que tp(a i /Aa i1 . . . a in ) = tp(a j /Aa i1 . . . a in )(voir la preuve <strong>de</strong> (i) ⇒ (ii) dans la proposition (2.12)).Comme {a ′ i ∶ i < ω} est un ensemble A-indiscernable, on a a′ i ≡ Aa ′ i ...a ′ a′ 1 in j c'està dire a ′ i ≡ A St A (a i1 ...a in ) a ′ j . Soit alors σ ∈ Aut(U /A) tel que σ(a i) = a j . Notonsb ik = σ(a ik ). On a alors tp(b i1 . . . b in /Aa j ) = tp(a i1 . . . a in /Aa i ). En particulier on atp(St A (b i1 . . . b in )/Aa ′ j) = tp(St A (a i1 . . . a in )/Aa ′ i) = tp(St A (a i1 . . . a in )/Aa ′ j)Par le lemme (1.11) on a alors tp(St A (a i1 . . . a in )/Aa j ) = tp(St A (b i1 . . . b in )/Aa j )or ce <strong>de</strong>rnier type est égal à tp(St A (a i1 . . . a in )/Aa i ), on a donc montré que a i ≡ A StA (a i1 ...a in ) a jmais alors, comme p est stablement dominé et que les a i forment un ensemble indépendant,par dénition <strong>de</strong> la stable domination, on a bien que a i ≡ Aai1 ...a ina j .◻3 Types orthogonaux à ΓJ'ai choisi <strong>de</strong> prendre la dénition d'orthogonalité à Γ donnée dans [HL] car elleest conceptuellement plus simple. Certes elle ne s'applique qu'aux types dénissablesmais la proposition 3.13.(i) <strong>de</strong> [HHM08] montre que ce n'est pas vraimentune restriction (quitte à remplacer A par acl(A)).Dénition 3.1 (Types orthogonaux à Γ) :Soit p un type Aut(U /A)-invariant. Il est orthogonal à Γ si pour tout modèleM ⊇ A, et tout a ⊧ p∣M, on a Γ(M) = Γ(Ma) où Γ(X) = Γ(U) ∩ dcl(X).Lemme 3.2 :Soit A un ensemble <strong>de</strong> paramètres et p un type A-dénissable, alors p ⊥ Γ si etseulement si pour toute fonction f dénissable vers Γ telle que dom f ∈ p, f ∗ p estconcentré en un point, i.e. d f∗px(x = y) est réalisable.Démonstration. Soit f une fonction B dénissable et M ⊇ A ∪ B un modèle. Soita ⊧ p∣M. On a alors f(a) ⊧ f ∗ (p∣A). Mais f(a) ∈ Γ(Ma) = Γ(M) ⊆ M et doncM ⊧ d f∗px(x = f(a)). Réciproquement, soit M ⊇ A un modèle et a ⊧ p∣M, commeΓ(M) ⊆ Γ(Ma), il sut <strong>de</strong> montrer que Γ(Ma) ⊆ Γ(M). Soit γ ∈ Γ(Ma), il11


existe ϕ[x, y, M] telle que U ⊧ ϕ[a, γ, M] et telle que U ⊧ ∃ =1 yϕ[a, y, M]. Soit f lafonction dénie par ϕ[x, y, M] (<strong>de</strong> domaine ∃ =1 yϕ[x, y, M]). Par hypothèse, on aalors U ∃y ⊧ d f∗px(x = y), mais un tel y est forcément unique sinon f ∗ p ne pourraitêtre satisfaisable et comme γ ⊧ f ∗ p, ce y doit être γ, i.e. U ⊧ (d f∗px(x = y))[γ],d'où γ ∈ dcl(M).◻Nous pouvons maintenant montrer l'une <strong>de</strong>s implications.Proposition 3.3 :Soit p un type A-dénissable génériquement stable, alors p ⊥ Γ.Démonstration. D'après le lemme (3.2), il sut <strong>de</strong> montrer que pour toute fonctiondénissable f vers Γ dont le domaine contient p, f ∗ p est concentré en un point.Mais comme p est génériquement stable, par le lemme (2.15), f ∗ p l'est aussi. Maisalors si p n'est pas concentré en un point, une suite <strong>de</strong> Morley (a i ∶ i < ω) <strong>de</strong> pau-<strong>de</strong>ssus <strong>de</strong> A contient <strong>de</strong>s éléments tous distincts. En particulier a 1 ≠ a 2 . Maiscomme Γ est totalement ordonné, on doit avoir a 1 < a 2 ou a 2 < a 1 . Cette suite nepeut pas être un ensemble indiscernable, ce qui contredit par (2.12) que f ∗ p soitstablement dominé.◻La preuve <strong>de</strong> la <strong>de</strong>rnière implication nécessite la mise en place d'un certainnombre <strong>de</strong> concept, en particulier celui d'indépendance séquentielle.Dénition 3.4 (<strong>Ens</strong>emble unaires) :Soit A un ensemble <strong>de</strong> paramètres, un 1-module est un R-module qui est dénissablementisomorphe au quotient d'un sous-R-module dénissable <strong>de</strong> K par un autre.Un 1-torseur dénissable est un translaté dénissable d'un 1-module. Un 1-torseur∞-dénissable est l'intersection d'un chaîne <strong>de</strong> 1-torseurs dénissables. Enn unA-1-torseur est un 1-torseur dénissable (ou ∞-dénissable) à partir <strong>de</strong> paramètresdans A.Une ensemble A-unaire est un A-1-torseur ou un sous ensemble A-dénissable<strong>de</strong> Γ <strong>de</strong> la forme [0, α) où α ∈ Γ ou α = ∞.Soit T un torseur d'un R-module U, un sous-torseur <strong>de</strong> T est un torseur inclusdans T d'un sous-module <strong>de</strong> U. Un sous-ensemble unaire est un sous 1-torseur ouun sous-segment.Une conséquence immédiate <strong>de</strong> l'élimination <strong>de</strong>s quanticateurs est la <strong>de</strong>scription<strong>de</strong>s sous ensembles dénissables <strong>de</strong>s 1-torseurs.Dénition 3.5 (Fromage suisse) :Soit U un A-1-torseur, un fromage suisse <strong>de</strong> U est un ensemble <strong>de</strong> la formet/(t 1 ∪ . . . ∪ t n ) où t et les t i sont <strong>de</strong>s sous-torseurs dénissables <strong>de</strong> U.12


Proposition 3.6 :Soit U un A-1-torseur et X un sous-ensemble dénissable <strong>de</strong> U alors X est uneunion <strong>de</strong> fromages suisses qui ne sont pas trivialement imbriqués et cette décompositionest unique.Dénition 3.7 (Élément générique) :Soit A un ensemble <strong>de</strong> paramètres, U un ensemble acl(A)-unaire et a ∈ U. Ondit que a est générique dans U au-<strong>de</strong>ssus <strong>de</strong> A si a n'appartient à aucun sousensembleacl(A)-unaire propre <strong>de</strong> U.Comme M n'est pas d'indice ni dans R, il s'ensuit qu'un 1-torseur n'est pasl'union <strong>de</strong> nie <strong>de</strong> sous torseurs stricts. Par compacité on en déduit l'existence d'unélément générique pour tout 1-torseur et donc pour tout ensemble unaire vu qu'unélément générique d'un ensemble <strong>de</strong> la forme [0, a) est juste un élément plus grandque tout élément dénissable.Corollaire 3.8 :Soit U un ensemble A-unaire, si a et b sont génériques dans U au-<strong>de</strong>ssus <strong>de</strong> Aalors a ≡ A b.Démonstration. Soit X un ensemble A-dénissable qui contient a mais pas b.Par la proposition (3.6), X est une union nie <strong>de</strong> fromages suisses, i.e. X =⋃ n i=1 (t i/(⋃ m ij=1 tj i). Comme cette décomposition est unique, que l'image d'un fromagesuisse par un automorphisme est un fromage suisse et que tout automorphisme quixe A xe globalement X, tous les t i et les t j iont une orbite nie au-<strong>de</strong>ssus <strong>de</strong> A etdonc sont acl(A)-dénissables. Une étu<strong>de</strong> <strong>de</strong>s diérents cas possibles montre qu'un<strong>de</strong>s t i et t j ine contient qu'un <strong>de</strong>s <strong>de</strong>ux points a ou b, ce qui contredit la généricité.◻On peut alors parler du type générique <strong>de</strong> U au-<strong>de</strong>ssus <strong>de</strong> A.Dénition 3.9 :Soit U un ensemble A-unaire, le type générique <strong>de</strong> U au-<strong>de</strong>ssus <strong>de</strong> A est le type<strong>de</strong> n'importe quel élément générique dans U au-<strong>de</strong>ssus <strong>de</strong> A.On peut aussi introduire une notion d'indépendance dans les corps valués quiremplacera celle <strong>de</strong> la stabilité.Dénition 3.10 (Indépendance séquentielle) :Soient B et A <strong>de</strong>s ensembles, a = (a i ) i


On notera a ⫝ g A B pour il existe U tel que a ⫝g AB via U. Enn on dira queB ⫝ g A C via b, U si b acl()-génère B au-<strong>de</strong>ssus <strong>de</strong> A (i.e. B = acl(Ab)) et b ⫝g A C.Cette relation d'indépendance vérie un certain nombre <strong>de</strong>s caractéristiaquesd'une bonne relation d'indépendance.Lemme 3.11 :(i) Soient A ⊆ B ⊆ C, on a alors a ⫝ g A D via U si et seulement si a ⫝g A B viaU et a ⫝ g BC via U.(ii) Soient a = a 1 a 2 et U = U 1 U 2 , alors a ⫝ g A B via U si et seulement si a 1 ⫝ g A Bvia U 1 et a 2 ⫝ g Aa 1B via U 2 .(iii) Soit f un automorphisme <strong>de</strong> U, si a ⫝ g A B alors f(a) ⫝g f(A) f(B).Démonstration. Les <strong>de</strong>ux premiers sont <strong>de</strong>s conséquences immédiates <strong>de</strong> la dénition,le troisième provient du fait que les ensembles unaires et la généricité sontpréservés par automorphisme.◻Je donne maintenant une série <strong>de</strong> lemmes sur l'indépendance séquentielle quiseront admis. Je donne pour chacun une référence à [HHM08] où l'on peut entrouver les preuves.Lemme 3.12 :Soit A ⊆ B tel que A = acl(A) et soient a et a ′ tels que tp(a/A) = tp(a ′ /A),a ⫝ g A B et a′ ⫝ g A B alors tp(a/B) = tp(a′ /B).Démonstration. Voir théorème 8.12◻Lemme 3.13 :Soit A ⊆ B et a un uplet tels que a ⫝ g A B, alors St A(acl(Aa)) ⫝ A St A (B).Démonstration. Voir proposition 8.19◻Lemme 3.14 :Soit C ⩽ A, B <strong>de</strong>s corps valués algébriquement clos tels que Γ(C) = Γ(A),tr<strong>de</strong>g(B/C) = 1 et il n'y a pas <strong>de</strong> plongement <strong>de</strong> B dans A au-<strong>de</strong>ssus <strong>de</strong> C alors(i) tp(A/C) ∪ tp(B/C) ⊢ tp(AB/C).(ii) Si B = acl(Mb) alors b ⫝ g C A.Démonstration. Voir la preuve <strong>de</strong> la proposition 8.22.(i) et la remarque 8.23L'indépendance séquentielle permet aussi <strong>de</strong> construire <strong>de</strong>s extension invariantes.◻14


Proposition 3.15 (Existence d'une extension Aut(U /A) invariante) :Soit A = acl(A) et un modèle M ⊇ A, alors tout p ∈ S(A) a une extensionAut(M/A)-invariante.Démonstration. Voir le corollaire 8.16. Cela dit ce corollaire ne donne que le casd'un type nitaire. Pour le cas innitaire, on peut procé<strong>de</strong>r par une récurrencetransnie qui est possible car le corollaire ne donne pas simplement une extensiondu type d'un uplet mais <strong>de</strong> sa clôture algébrique, ce qui permet <strong>de</strong> conserver unensemble <strong>de</strong> paramètres algébriquement clos au cours <strong>de</strong> la récurrence. ◻On peut remarquer que quitte à changer <strong>de</strong> modèle monstre et en prendre untel que U soit un "petit" modèle, on a montré que tout type sur un ensemblealgébriquement clos A à un extension Aut(U /A)-invariante.On va aussi avoir besoin <strong>de</strong>s notions <strong>de</strong> base générique et <strong>de</strong> résolution. Maispour montrer que la première dénition a un sens, on va avoir besoin du lemmesuivant. On en trouve une version pour un 1-torseur clos quelconque dans klaremarque 2.3.5.(ii) <strong>de</strong> [HHM08].Lemme 3.16 :Soit a un élément générique <strong>de</strong> k au-<strong>de</strong>ssus <strong>de</strong> A, alors tous les b ∈ R tels queres(b) = a ont le même type.Démonstration. Soit b et c tels que res(b) = a = res(c), i.e. en se rappelant que a estun translaté <strong>de</strong> M, b et c sont dans a. S'ils n'ont pas le même type sur A, il existeun ense ;ble A-dénissable X ⊆ R tel que b ∈ X et c ∉ X. Mais alors pour tout a ′générique dans k au-<strong>de</strong>ssus <strong>de</strong> A (on peut en construire une innité en prenant unélément générique au-<strong>de</strong>ssus <strong>de</strong> ceux qu'on a déjà construits), il existe b ′ et c ′ dansa ′ tels que b ′ ∈ X et c ′ ∉ X. Mais cela contredit le fait que X soit A-dénissable.En eet on aurait alors X = ⋃ n i=1 (t i/(⋃ m ij=1 tj i ) où les t i et t j isont <strong>de</strong>s translatés <strong>de</strong>sous-R-modules <strong>de</strong> R, i.e. <strong>de</strong>s idéaux. Si t i est un translaté d'un idéal strict <strong>de</strong> R,il est contenu dans un translaté <strong>de</strong> M et donc ne peut contenir qu'un seul <strong>de</strong>s b ′ .On doit donc avoir i = 1 et t 1 = R. Mais pour la même raison on ne peut alors paséviter tous les c' sans avoir t j 1= R et donc X = ∅, ce qui est absur<strong>de</strong>.◻Dénition 3.17 (Base générique) :Soit s un réseau, tel que s ∈ dcl(A). Si on note res(s) = s/Ms, res(s) n est unsous-ensemble dénissable <strong>de</strong> St A qui est dénissablement isomorphe à k n2 . Commek est une pur corps algébriquement clos, cet ensemble est <strong>de</strong> <strong>de</strong>gré 1 et a donc untype générique q res(s) n ∈ S(U) qui est l'unique type <strong>de</strong> rang maximal <strong>de</strong> l'ensemble.Soit alors q s tel que pour tout a 1 . . . a n , on a a 1 . . . a n ⊧ q s si res(a 1 ) . . . res(a n ) ⊧q res(s) n où res(a i ) = a i + Ms.Soit B ⊆ A, une base générique <strong>de</strong> s au-<strong>de</strong>ssus <strong>de</strong> B est une réalisation <strong>de</strong> q s ∣B.15


Cette dénition a un sens car pour tout i, res(a i ) est générique au-<strong>de</strong>ssus <strong>de</strong>Aa 1 . . . a i−1 et donc, par le lemme (3.16), tous les choix possibles <strong>de</strong> a i ont le mêmetype au-<strong>de</strong>ssus <strong>de</strong> ces paramètres. De plus comme q res(s) n est Aut(U /A)-invariant,q s l'est aussi.Lemme 3.18 :Soit s un réseau A-dénissable. Alors q s ⊥ Γ.Démonstration. Voir la remarque 3.1.1 <strong>de</strong> [HHM06].Dénition 3.19 (résolution générique fermée) :Soit A un ensemble <strong>de</strong> paramètres. Une résolution générique fermée <strong>de</strong> A estun ensemble B = acl(Ab i ∶ i < λ) ou pour chaque i < λ, b i est une base génériqueau-<strong>de</strong>ssus <strong>de</strong> acl(Ab j ∶ j < i) d'un réseau acl(Ab j ∶ j < i)-dénissable et tel que toutréseau <strong>de</strong> B à une base dans B.Lemme 3.20 :Tout A a une résolution générique fermée.Démonstration. Soit {s i ∶ i < λ} l'ensemble <strong>de</strong>s réseaux A-dénissables. On pose b iune base générique <strong>de</strong> s i au-<strong>de</strong>ssus <strong>de</strong> acl(Ab j


Soit alors c tel que res(c) est une base <strong>de</strong> transcendance <strong>de</strong> k(acl(Mab))au-<strong>de</strong>ssus <strong>de</strong> res acl(Mab), i.e. acl(Mabc) est une résolution canonique ouverte<strong>de</strong> acl(Mab). Soit r une extension Aut(U /M)-invariante <strong>de</strong> tp(abc/M) qui soitégale à q pour les variables correspondant à ab. Montrons que r ⊥ Γ. Soit M ′ ⊇M et a ′ b ′ c ′ ⊧ r∣M ′ . Alors tp(res(c ′ a ′ b ′ )/M ′ ) est Aut(M ′ /M)-invariant et donctp(res(c ′ )/k(M ′ a ′ b ′ )) est Aut(k(M ′ )/k(Ma ′ b ′ ))-invariant. Comme k est un purcorps algébriquement clos, donc stable, tp(res(c ′ )/k(M ′ a ′ b ′ )) est acl(Ma ′ b ′ )-dénissableet donc ne dévie pas au-<strong>de</strong>ssus <strong>de</strong> acl(M ′ a ′ b ′ ), en particulier res(c ′ ) est indépendant<strong>de</strong> k(M ′ ) au-<strong>de</strong>ssus <strong>de</strong> k(acl(Ma ′ b ′ )) et donc c ′ est une base <strong>de</strong> transcendance<strong>de</strong> k(acl(M ′ a ′ b ′ )) au-<strong>de</strong>ssus <strong>de</strong> res(acl(()M ′ a ′ b ′ )).On pose c ′ = (c ′ i ∶ i < κ), montrons par récurrence sur i que Γ(M ′ a ′ b ′ c ′ j


Le lemme suivant qui sera fondamental pour la preuve <strong>de</strong> la <strong>de</strong>rnière implicationest juste le constat quand dans le cas d'un unique élément <strong>de</strong> corps, le fait que sontype soit perpendiculaire à Γ nous informe déjà beaucoup sur la nature <strong>de</strong> ce point.Lemme 3.23 :Soit p un type Aut(U /A)-invariant orthogonal à Γ d'un unique élément <strong>de</strong>corps, alors p∣ acl(A) est le type générique d'une boule fermée A-dénie.Démonstration. Soient un modèle M ⊇ A et a ⊧ p (on pourrait se contenter <strong>de</strong>a ⊧ p∣M ′ pour M ′ assez saturé et fortement homogène, mais cela ne coûte rien <strong>de</strong>prendre a ⊧ p∣ U bien que jusqu'ici on ait évité d'en sortir), on pose V l'intersection<strong>de</strong> toutes les boules M-dénissables contenant a, alors V est une boule et a estgénérique dans V au-<strong>de</strong>ssus <strong>de</strong> M.Montrons alors que tout boule B qui contient a est A-dénissable. En eet sielle ne l'est pas (comme toutes les boules sont dénissables) il existe σ ∈ Aut(U /A)tel que σ(B) ≠ B mais cela implique σ(B) ∩ B = ∅. Or comme p est Aut(U /A)-invariant, on doit avoir a ∈ σ(B), ce qui est absur<strong>de</strong>. En particulier a est génériquedans V au-<strong>de</strong>ssus <strong>de</strong> U et V est A-dénissable.Montrons nalement que V est fermée. Soit d ∈ V (U) (qui existe car V est nonvi<strong>de</strong> dans une extension élémentaire <strong>de</strong> U) et soit M ′ qui contient A et d. On aalors bien a ⊧ p∣M ′ et comme p ⊥ Γ, il s'en suit que γ = ∣a − d∣ ∈ Γ(M ′ a) ⊆ Γ(M ′ ).Donc a ∈ B ⩽γ (d) ⊆ V qui est M ′ -dénissable, et donc V = B ⩽γ (d).◻Pour nir, montrons enn la <strong>de</strong>rnière implication.Proposition 3.24 :Soit p un type A-dénissable tel que p ⊥ Γ alors p∣A est stablement dominé.Démonstration. Remarquons tout d'abord qu'il sut <strong>de</strong> montrer que p∣M est stablementdominé pour tout modèle M ⊇ A. En eet, soit M un modèle qui contientA et soit q une extension Aut(U /A)-invariante qui existe d'après la proposition(3.15). Pour tout M ′ ⊧ q∣A, M ′ est la base d'un modèle contenant A et donc p∣M ′est stablement dominé. Donc par la proposition (1.13) p∣A est stablement dominé.De plus, comme p∣A ⊥ Γ implique p∣M ⊥ Γ pour tout M ⊇ A, on peut supposer queA = M.Soit alors a ⊧ p∣M, p ∗ et a ∗ tels que dans le lemme (3.22), il sut alors <strong>de</strong>montrer que p ∗ ∣M est stablement dominé, i.e. on peut supposer que a est un upletd'élément du corps tel que a = acl(Ma) (i.e. que c'est un corps algébriquementclos). En eet, soit D tel que St M (a ∗ ) ⫝ M St M (D), on a alors tp(D/M St A (a ∗ )) ⊢tp(D/Ma ∗ ) ⊢ tp(D/Ma) car a ∈ dcl(Ma ∗ ), et donc par le lemme (1.12), p∣M eststablement dominé.Soit alors B tel que St M (a) ⫝ M St M (B). Supposons qu'on ait montré que pourtout B 0 ⊆ B ni, on ait tp(B 0 /M St M (a)) ⊢ tp(B 0 /Ma). Soit alors B ′ tel que18


B ′ ≡ M StM (a) B et ϕ[x, M, a] tel que U ⊧ ϕ[B, M, a]. Comme ϕ est une formulenie, elle ne concerne qu'un certain B 0 ⊆ B. Soit B 0 ′ la partie nie <strong>de</strong> B ′ quicorrespond à B 0 . Comme B 0 ′ ≡ Ma B 0 par hypothèse, on a U ⊧ ϕ[B ′ , m, a] et doncB ≡ Ma B ′ , i.e. tp(B/M St M (a)) ⊢ tp(B/Ma). Mais comme pour tout B 0 ⊆ B ni,on a St M (a) ⫝ M St M (B 0 ) par monotonie <strong>de</strong> la relation d'indépendance, on peutsupposer B ni.Soit alors N = acl(MB) (c'est un corps algébriquement clos). Comme St M (a) ⫝ M St M (B),on a St M (a) ⫝ M acl(M St M (B)) et comme acl(dcl(X)) = acl(X) = dcl(acl(X)), ona St M (a) ⫝ M St M (N) et en particulier comme k est stablement plongé et stable,k(X) ⊆ St M (X) et donc, par monotonie, k(a) ⫝ M k(N), <strong>de</strong> plus comme k est stablementplongé, tous les ensembles dont on pourrait avoir besoin pour montrer lanon déviante (qui sont dans k) sont k(M)-dénissables et donc k(a) ⫝ k(M) k(N).De plus, il existe B ′ ⊆ K tel que B ∈ dcl(MB ′ ) (par le lemme (3.22) ou mêmepar un raisonnement plus simple car on ne veut pas contrôler la croissance <strong>de</strong> Γ).Comme B est ni, on peut prendre B ′ ni et on a donc N ⊆ acl(MB ′ ) donc N est<strong>de</strong> <strong>de</strong>gré <strong>de</strong> transcendance nie sur M.Montrons alors que si N est un corps <strong>de</strong> <strong>de</strong>gré <strong>de</strong> transcendance nie au-<strong>de</strong>ssus<strong>de</strong> M et que k(a) ⫝ k(M) k(N) alors N ⫝ g Ma. Procédons par récurrence sur n, le<strong>de</strong>gré <strong>de</strong> transcendance <strong>de</strong> N au-<strong>de</strong>ssus <strong>de</strong> M. Si n = 1, on a N = acl(Mb) oùb ∈ K/M. Par le lemme (3.14), si N ne se plonge pas dans acl(Ma) au-<strong>de</strong>ssus<strong>de</strong> M alors b ⫝ g Macl(Ma) et on a ni. Sinon b se plonge dans acl(Ma) ∩ K = aau-<strong>de</strong>ssus <strong>de</strong> M et donc si q est la restriction <strong>de</strong> p à la variable correspondant àb, on a bien b ⊧ q∣M et q ⊥ Γ. Par le lemme (3.23), b est générique au-<strong>de</strong>ssus<strong>de</strong> M dans une boule fermée M-dénissable. Cette boule fermée est en bijectionM-dénissable avec R(U). Il sut <strong>de</strong> le montrer dans le cas où b est génériquedans R(U) au-<strong>de</strong>ssus <strong>de</strong> M (quitte à utiliser la bijection pour transporter les sousmodules Ma-dénissables). S'il n'était pas générique au-<strong>de</strong>ssus <strong>de</strong> Ma, il serait dansun translaté <strong>de</strong> M dénissable sur a, i.e. res b ∈ k(a), mais res(b) /∈ k(M) car b estgénérique dans R au-<strong>de</strong>ssus <strong>de</strong> M et cela contredirait le fait que k(N) ⫝ k(M) k(A).On a donc montré que b ⫝ g M a.Si n > 0, soit M ′ tel que M ⊆ M ′ ⊆ N et tr<strong>de</strong>g(N/M ′ ) = 1. Par récurrence,M ′ ⫝ g M a et donc par le lemme (3.13) on a St M(M ′ ) ⫝ M St M (acl(Ma)). Commeon a montré précé<strong>de</strong>mment, cela implique que k(M ′ ) ⫝ k(M) k(a). Comme k estun pur corps algébriquement clos, l'indépendance est donnée par l'appartenanceà la clôture algébrique et comme k(a) ⫝ k(M) k(N) on a tr<strong>de</strong>g(k(M ′ a)/k(M ′ )) =tr<strong>de</strong>g(k(Ma)/k(M)) = tr<strong>de</strong>g(k(Na)/k(N)) et donc k(a) ⫝ k(M ′ ) k(N). Par le casn = 1, on a donc N ⫝ g M ′ a et donc par transitivité <strong>de</strong> ⫝ g , on a N ⫝ g M a.On en déduit alors que tp(N/Mk(a)) ⊢ tp(N/Ma). En eet, soit N ′ tel queN ≡ Mk(a) N ′ , il s'ensuit que N ′ est un corps <strong>de</strong> <strong>de</strong>gré <strong>de</strong> transcendance nie au<strong>de</strong>ssus<strong>de</strong> M tel que k(a) ⫝ k(M) k(N ′ ). On a alors N ⫝ g M a et N ′ ⫝ g Ma et donc par le19


lemme (3.12), N ≡ Ma N ′ . Comme k(a) ⊆ St M (a), on a bien que tp(N/M St M (a)) ⊢tp(N/Ma). On en déduit que tp(B/M St M (a)) ⊢ tp(B/Ma). En eet, soit σ ∈Aut(U /M St M (a)), on a N ≡ M StA (a) σ(N) et donc N ≡ Ma σ(N), d'où B ≡ Ma σ(B).◻ConclusionRécapitulons donc tout ce qu'on a démontré.Théorème 3.25 :Soit p un type A-dénissable, sont équivalents :(i) p est stablement dominé.(ii) p est génériquement stable.(iii) p ⊥ Γ.Démonstration. (i) implique (ii) est démontré en (2.16)(ii) implique (iii) est démontré en (3.3).(iii) implique (i) est démontré en (3.24).◻20


Bibliographie[Bue96][HHM06][HHM08][HL][HP]Steven Buechler. Essential Stability Theory. Perspective in MathematicalLogic. Springer-Verlag, 1996.Deirdre Haskell, Ehud Hrushovski et Dugald Macpherson. De-nable sets in algebraically closed valued elds : elimination of imaginaries. Dans : Journal für die Reine und Angewandte Mathematik 597(2006), p. 175236.Deirdre Haskell, Ehud Hrushovski et Dugald Macpherson. Stabledomination and in<strong>de</strong>pendance in algebraically closed valued elds.Association for Symbolic Logic. Lecture Notes in Logic 30. CambridgeUniversity Press, 2008.Ehud Hrushovski et François Loeser. Non-archime<strong>de</strong>an tametopology and stably dominated types . arXiv : 1009.0252.Ehud Hrushovski et Anand Pillay. On NIP and invariant measures. arXiv : 0710.2330.Table <strong>de</strong>s matières1 Types stablement dominés 12 Types génériquement stables 53 Types orthogonaux à Γ 11Bibliographie 2121


Cinquième partieRapport <strong>de</strong> stage à Cambridge en<strong>de</strong>uxième année107


Games and spansSilvain Ri<strong>de</strong>ausupervised byProfessor Glynn WinskelUniversity of Cambridge


IntroductionGame semantics has been a very active domain in the last twenty years, achieving major results like providingfully abstract mo<strong>de</strong>ls, i.e. mo<strong>de</strong>ls in which <strong>de</strong>notational equivalence is the same as operational equivalence,of a certain number of languages including PCF (a form of simply-typed lambda-calculus with a xed-pointoperator and case <strong>de</strong>nition), see for example [HO00].The fundamental i<strong>de</strong>a behind game semantics is that the execution of a program is an interaction betweenthe program and its environment, and thus can be seen as a game between those two entities, each answeringto the other's moves. A little example may clarify that. Let us consi<strong>de</strong>r the function successor. Its semanticsin game terms may be seen as• The environment asks what is the output.• To answer this question, the program needs the input, in answer to the environment move, it askswhat is the input.• The environment answers n.• The player can now answer the rst question by saying n + 1.Thus the semantic of a program can be given by its strategy, i.e. how it answers to each possible environmentmove.Lately, game semantics have taken a great many dierent forms, some trying to <strong>de</strong>ne a notion of concurrentgames, like [AM99], or trying to get rid of alternation, as in [MM07], or to <strong>de</strong>ne a more linear notion ofgames to mo<strong>de</strong>l linear logic, see [FP09]. Moreover, they can also be related to previous notions like anesequential algorithms, see [Cur94]. But these are but some examples... and each new <strong>de</strong>nition comes withits particularities and complications.There is therefore a great need to propose a common theoretical ground on which to work, thus to unifyand better comprehend all that has already been done. This has already been attempted in [CM10], and ina certain way in [HHM07].One could argue that this is but one other presentation of game semantics among all that already exist,but we hope that the category of games that we <strong>de</strong>ne here is larger than what has been explored at thusencompasses all previous <strong>de</strong>nitions, providing in particular a sense of concurrent games.We will will proceed in ve parts, the rst is an introduction of the computation mo<strong>de</strong>l used throughout this report, event structures, as well as two alternating ways to <strong>de</strong>scribe them, and some lemmas onthe constructions we will need. Then we will go on to <strong>de</strong>scribe a tool we will need later, and then givethe principal example of its use, that is to construct the category of relations. Thirdly we will <strong>de</strong>ne thecategory that is the goal of all this, the category Span Inn . Fourthly, we will <strong>de</strong>sribe some monadic constructthat were encountered during my internship and nally, we will show how the games of [HHM07], can beembed<strong>de</strong>d in our category.To nish this introduction, I would like to thank Glynn Winskel for oering me this internship, for the greattime I had in Cambridge, for his help, always there when nee<strong>de</strong>d, and for his patience with my mistakesand silly i<strong>de</strong>as. I would also like to thank Pierre-Louis Curien and Sam Staton for their answers and ourdiscussions.1


Chapter 1Event structures, prime algebraic domains and stable familiesMost of what follows can be found in [Win07].1.1 Event structuresDenition 1.1.1 (Event structure) :An event structure is (E, C, ) where E is a set, C ⊆ P f (E) and is a partial or<strong>de</strong>r on E such that(i) For all e ∈ E, ⌈e⌉ := {e ′ | e ′ e} is nite.(ii) For all e ∈ E, {e} ∈ C.(iii) For all Y ⊆ X, X ∈ C implies Y ∈ C.(iv) For all e ∈ X ∈ C and e ′ e, X ∪ {e ′ } ∈ C.An event structure therefore <strong>de</strong>scribes a computation process where certain events need that certain otherevents have occurred to be able to occur (this causal <strong>de</strong>pen<strong>de</strong>ncy relation by the or<strong>de</strong>r) and certain eventscannot occur if others have occurred (this is <strong>de</strong>scribed by the consistence relation).In certain cases the C relation will <strong>de</strong>termined solely by a conict relation, i.e. a subset of E will be consistentif and only if it does not contain a pair in conict. Moreover, for all e ∈ E, let us write ⌊e⌋ := {e ′ | e ′ < e}.We will write x y for x is direct pre<strong>de</strong>cessor to y.Denition 1.1.2 (Congurations) :Let (E, C, ) be an event structure, X ⊆ E such that(i) It is down-closed, i.e. e ′ e ∈ X implies e ′ ∈ X.(ii) It is nitely consistent, i.e. for all Y ⊆ f X, Y ∈ C.is a E-conguration.We write C(E) for the set of E-congurations and C o (E) for the set of nite E-congurations.Denition 1.1.3 (Partial maps of event structures) :A partial rigid map of event structures f : E ⇀ E ′ is a partial map from E to E ′ such that(i) For all X ∈ C o (E), f(X) ∈ C o (E ′ ).(ii) The map f is locally injective on congurations, i.e. for all X ∈ C o (E), f X is injective.We say that it is rigid if for all e 1 , e 2 ∈ E, if f(e 1 ) ↓ and f(e 2 ) ↓, then e 1 e 2 implies f(e 1 ) f(e 2 ).Event structures and partial maps form a category E p . Its subcategory consisting of all the rigid maps iscalled E pr .The three following lemmas state some very basic, but useful properties of the maps of event structure.2


CHAPTER 1. EVENT STRUCTURES, ... 3Lemma 1.1.4 :Let f : E ⇀ F be a partial map of event structures and x, y ∈ E consistent such that f(x) f(y) (andboth <strong>de</strong>ned). Then x y.∆. First, as f(⌈y⌉) is down-closed, there exists x ′ ∈ E such that x ′ y and f(x ′ ) = f(x). But as x ′ is apre<strong>de</strong>cessor to y and x and y are consistent, x ′ and x are consistent too and therefore must be equal. Thusx y.□Lemma 1.1.5 :Let f : E ⇀ F be a partial map of event structures and x, y ∈ E such that x y and f(x) f(y), thenf(x) f(y).∆. If there exist z ∈ F such that f(x) z f(y) then there exist t y such that f(t) = z and x ′ t suchthat f(x ′ ) = f(x). But, as x and x ′ are both in the history of y, they must be consistent and thus equal.Therefore x t y and t must be either x or y, which implies that z is either f(x) or f(y).□Lemma 1.1.6 :Let f : E ⇀ F be a rigid partial map of event structures and x ∈ E such that f(x) ↓. Then ⌈f(x)⌉ =f(⌈x⌉) and ⌊f(x)⌋ = f(⌊x⌋).∆. f(⌈x⌉) ∈ C o (F ) and thus is down-closed. As f(x) ∈ f(⌈x⌉), ⌈f(x)⌉ ⊆ f(⌈x⌉). Now let us consi<strong>de</strong>r y ∈f(⌈x⌉). There exists z ∈ ⌈x⌉ such that f(z) = y. But then, as z x, f(z) f(x) and y ∈ ⌈f(x)⌉. Moreoveras f ⌈x⌉ is injective, x is the then only element in ⌈x⌉ to have f(x) as an image and thus f(⌊x⌋) = ⌊f(x)⌋.□1.2 An equivalent presentation, prime algebraic domainsLet E be an event structure, the or<strong>de</strong>red set (C(E), subs) is in fact a domain with certain specicities thatwe <strong>de</strong>scribe here.Denition 1.2.1 (Prime algebraic domains) :Let (D, ) be a partial or<strong>de</strong>r. Let X ⊆ D, we say that it is compatible if and only if it is boun<strong>de</strong>d in D. Wesay that D is consistent complete if all X nitely compatible (i.e. all nite subsets are compatible) has aleast upper bound ∐ X.An element of D is a complete prime if and only if for all X nitely compatible, if p ∐ X, then p x forsome x ∈ X.The partial or<strong>de</strong>r D is a prime algebraic domain if it is consistent complete and for all d ∈ D, d = ∐ {p d | p is a complete prime}.It is nitary if all complete primes are superior to only a nite number of elements in D.The following theorem, shows that this two presentations are in<strong>de</strong>ed equivalent, it is proved in [NPW81].Theorem 1.2.2 :Let E be an event structure, then (C(E), ⊆) is a nitary prime algebraic domain, whose prime are thehistories.Let (D, ) be a nitary prime algebraic domain. Let P be the set of its prime, P be and X ⊆ f Pbe in C P if and only if X is compatible. Then (P, C P , P ) is an event structure.These two transformations are reciprocal, up to isomorphism.


CHAPTER 1. EVENT STRUCTURES, ... 41.3 Event structures as a co-reective subcategory of stable familiesFor any event structure E, the set C o (E) also has interesting properties, it is a stable family.Denition 1.3.1 (Stable family) :A stable family is a family of nite sets F such that(i) It is complete, if Z ⊆ f F and Z is compatible, then ⋃ Z ∈ F.(ii) It is coinci<strong>de</strong>nce-free, for all x ∈ F, e, e ′ ∈ x such that e ≠ e ′ , there exists y ∈ F such that y ⊆ xand e ∈ y if and only if e ∉ y.(iii) It is stable, for all Z ⊆ F compatible, ⋂ Z ∈ F.where compatibility is with respect to the inclusion or<strong>de</strong>r.We call ⋃ F the set of events un<strong>de</strong>rlying the stable family.Denition 1.3.2 (Partial maps of stable families) :A partial map of stable family f : E ⇀ F is a partial map of sets ⋃ E ⇀ ⋃ F, such that the image of anelement of E is in F and that is injective on all elements of E.Stable families and partial maps form a category F p . Let us now show how we can go from an event structureto a stable family and vice versa.Denition 1.3.3 (C o ()) :Let E be an event structure, then C o (E) is a stable family. Let f : E ⇀ F be a partial map of eventstructures, then there is a partial map of stable families C o (f) : C o (E) ⇀ C o (F ) that sends X ∈ C o (E) tof(X). Moreover, this makes C o () a functor.Denition 1.3.4 (Pr) :Let F be a stable family. Let x ∈ F and e ∈ x. Let ⌈e⌉ x := ⋂ {y ∈ F | e ∈ y ⊆ x}. Let P := {⌈e⌉ x | e ∈x ∈ F}, it is or<strong>de</strong>red by inclusion, and let X ∈ C P if and only if X ⊆ f P and ⋃ X. Then (P, C P , P ) is anevent structure.Let f : E ⇀ F be a partial map of stable families, then Pr(f) : Pr(E) ⇀ Pr(mathcalF ) that sends ⌈e⌉ x to⌈f(e)⌉ f(x) ), when f(e) ↓ is a partial map of event structures. Moreover this makes Pr a functor.Theorem 1.3.5 :The functor C o () is left adjoint to the functor Pr. The unit is an isomorphism, thus E p is a co-reectivesubcategory of F p .1.4 Limits of event structuresThe rst utility we have of stable families is to <strong>de</strong>ne the limits of event structures (using the co-reection),in particular the product. For that we rst have to <strong>de</strong>ne the product of set with partial functions.Denition 1.4.1 (Partial product) :Let X and Y be two sets, the setis called the partial product of X and Y .X × ⋆ Y := ((X ⊔ {⋆}) × (Y ⊔ {⋆})) \{(⋆, ⋆)}


CHAPTER 1. EVENT STRUCTURES, ... 5Let us also <strong>de</strong>ne the two following partial functionsX × ⋆ Y πX → X(x, _) ↦→ x if x ≠ ⋆They are called the projections.π YX × ⋆ Y → Y(_, y) ↦→ y if y ≠ ⋆Denition 1.4.2 (Product of stable families) :Let E and F be two stable families. Let us write ⋃ E × ⋆⋃ F for the partial product of the un<strong>de</strong>rlying sets,with projections π 1 and π 2 . Then x ∈ E × F if and only if(i) x ⊆ f⋃ E ×⋆⋃ F.(ii) π 1 (x) ∈ E and π 2 (x) ∈ F.(iii) For all e, e ′ ∈ x, if π i (e) = π i (e ′ ) for i = 1 or 2, then e = e ′ .(iv) For all e, e ′ ∈ x such that e ≠ e ′ , there exists y ⊆ x such that π 1 (y) ∈ E, π 2 (y) ∈ F and e ∈ y ifand only if e ′ ∉ y.Moreover, let p 1 : E × F ⇀ E the extension to subsets of π 1 and p 2 that of π 2 .The stable family E × F and the maps p 1 , p 2 form the product in F p .Theorem 1.4.3 (Product of event structures) :Let E and F be two event structures then their product E × F in E p is Pr(C o (E) × C o (F )). The leftprojection is the map that send an element of the form ⌈(e, _)⌉ x to e and the right, the map that sends⌈(_, e)⌉ x to e.Let us now prove some lemma about the product, that we will use extensively latter on. This rst lemmasimply states that in the product we cannot have events not related to any member of the product thatappear.Lemma 1.4.4 :Let E and F be event structures, and let x ∈ E × F , then at least one of p E (x) and p F (x) is <strong>de</strong>ned.∆. Let x in E × F , then there exists y ∈ C o (E) × fconfF and e ∈ y such that x = ⌈e⌉ y . As p E = η −1 ◦ π E ,p E (x) . = π E (e), and i<strong>de</strong>ntically for F . But e ∈ E × ⋆ F and thus at least one of π E (e) and π F (e) is <strong>de</strong>ned.□Then, this lemma states that or<strong>de</strong>r can only arise locally as inherited from one or the other member of theproduct.Lemma 1.4.5 :Let E and F be two event structures and let x, y ∈ E × F such that x y then there exist G amongE and F such that p G (x) ↓, and p G (y) ↓ and p G (x) p G (y).∆. Let us suppose that x y but that p G (x) ↓, and p G (y) ↓ and p G (x) p G (y) is false in both cases.By construction there exist s, t ∈ C o (E) × C o (F ), e ∈ s and f ∈ t such that x = ⌈e⌉ s and y = ⌈f⌉ t . Butthen, as x y, ⌈e⌉ s ⊆⌈f⌉ t and thus e ∈ ⌈e⌉ s ⊆⌈f⌉ t ⊆ t ans therefore ⌈e⌉ t ⊆⌈e⌉ s . But that implies that∈ ⌈e⌉ t ⊆⌈e⌉ s ⊆ s and thus that ⌈e⌉ s ⊆⌈e⌉ t . We can therefore consi<strong>de</strong>r that s = t.Let z = y \ e. Let us show that t ∈ C o (E) × C o (F ). As f ∈ z ⊆ t, that would imply that e ∉ ⌈f⌉ t , but thatis absurd.


CHAPTER 1. EVENT STRUCTURES, ... 6Let us rst show that π S (z) ∈ C o (S). By <strong>de</strong>nition, π S (z) = π S (⌈f⌉ t ) \ π S (e). If π S (e) ↑, then it is done.Let us now suppose that π S (e) ↓. As π S (z) ⊆ π S (⌈f⌉ t ), it is consistent. We therefore only need to show itis down-closed. A problem only arises if we have π S (e) π S (a) for some a ∈ ⌈f⌉ t . But then as π S (⌈a⌉ t )is down-closed, there exists an e ′ ∈ ⌈a⌉ t ⊆ t such that π S (e ′ ) = π S (e). But, as e, e ′ ∈ t and have the sameimage by π S , they must be equal. Thus ⌈e⌉ t ⊆⌈a⌉ t ⊆⌈f⌉ t . But as ⌈e⌉ t ⌈f⌉ t , that implies that ⌈a⌉ t = ⌈e⌉ tor ⌈a⌉ t = ⌈f⌉ t . Because stable family are coinci<strong>de</strong>nce free, that implies that a = e or a = f.If a = f then we have π S (e) π S (f). As we can't have π S (e) π S (f), it implies there is a b ∈ ⌈f⌉ t suchthat π S (e) < π S (b) < π S (f), but then there must be a e ′ ∈ ⌈b⌉ t such that π S (e) = π S (e ′ ), but by localinjectivity of π S , e = e ′ and thus ⌈e⌉ t ⊂ ⌈b⌉ t ⊂ ⌈f⌉ f . But that contradicts ⌈e⌉ t ⌈f⌉ t .Thus a = e, and therefore π S (z) is down-closed. The same proof shows that π T (z) ∈ C o (T ).As z ⊂ t, it is clear that both π S and π T are injective on it.Finally, let e ′ , e ′′ ∈ z ⊆⌈f⌉ t . Then by <strong>de</strong>nition of the product, there exists z ′ ⊆⌈f⌉ t such that its projectionsare congurations and e ′ ∈ z ′ ⇐⇒ e ′′ ∉ z ′ . As e ′ and e ′′ are dierent from e, z ′ \ e has the same separatingproperty. Moreover z ′ \ e ⊆ z. Only remains to show that π S (z ′ \ e) is a conguration.As π S (z ′ \ e) ⊆ π S (z ′ ) it is consistent. The only problem if we try to show that it is down-closed is when wehave π S (e) π S (a) for some a in z ′ . But as z ′ ⊆⌈f⌉ t , we have already shown that that implies a = e andthus π S (z ′ ) is down-closed. The same proof holds to show that π T (z ′ ) ∈ C o (T ). Thus z is in<strong>de</strong>ed an elementof C o (E) × C o (F ).□


Chapter 2Transforming bicategories2.1 The extremity of a bicategoryThe construction explained in this chapter allows to take a bicategory and modify it following the action ofan endofunctor on hom-categories. In fact what we do is <strong>de</strong>ne the composition to be the old compositionfollowed by the endofunctor. This will be useful when <strong>de</strong>ning a category of games transform the parallelcomposition to parallel composition plus hiding (the hiding being the endofunctor part).Let us consi<strong>de</strong>r a bicategory B (with composition ⊙ and i<strong>de</strong>ntities ı) and for all A, B 0-cells of B, anendofunctor E A,B . We will suppose that we have a natural transformation e A,B : Id ˙→ E A,B such thatE(id ⊙ e) (and symmetrically E(e ⊙ id)) and e E are isomorphisms.Theorem 2.1.1 :There is a bicategory E B whose 0-cells are those of B and homcats are E(B(A, B)). The compositionof a and b composable is a ⊖ b := E(a ⊙ b), and the i<strong>de</strong>ntities are j A := E(ı A ).∆. We have rst to construct the associator. Let α be the associator in B, and let s, t and u be composable1-cells in E B. Then we haveE((s ⊙ t) ⊙ u)EαE(s ⊙(t ⊙ u))E(e s ⊙ t ⊙ id u)(s ⊖ t) ⊖ u s ⊖(t ⊖ u)α ′E(id s ⊙ e t ⊙ u )But all these arrows are natural isomorphism, and so let us <strong>de</strong>ned α ′ to be their composition.As for the left unitor, let λ be the left unitor in B, and s : A → B be a 1-cell in E B. Then we haveE(e ı ⊙ id s)E(ı ⊙ s)j ⊖ s Eλλ ′ E(s)se Etwhere s is of the form Et. Once more these three arrows are natural isomorphism and so let us <strong>de</strong>ne λ ′ tobe their composition.The construction of the right unitor, from the right unitor ρ of B follows symmetrically from this diagramE(id s ⊙ e ı)E(s ⊙ ı)s ⊖ j Eρρ ′ E(s)se EtThe proof that the triangle and the pentagon commute can be found in gures (A.1) and (A.2) in theannexes.□7


CHAPTER 2. TRANSFORMING BICATEGORIES 82.2 RelationsLet us now use this construction to construct the bicategory of relations from the bicategory of spans. Itis given here mainly because it is this construction that inspired the "visible part" construction in the nextchapter.First of all, let us <strong>de</strong>ne the notion of image of a map. In SET , this <strong>de</strong>nes what we usual un<strong>de</strong>rstand asthe image.Denition 2.2.1 (Image of a map) :et A, B be objects of a category C and f ∈ C(A, B) a map. The image of f is the smallest subobject of Bthrough which f composes. In other terms, it is an object If of C, a monomorphism m : If → B and amap e : E → If such that f = m ◦ e and whenever we haveEf eIfθ JF where m ′ is a monomorphism, there is a map θ (necessarily unique) such that the triangles commute.Let us now introduce the notions of strong and extremal maps, that characterise the map from the domainto the image of a map, and prove some lemmas about them.Denition 2.2.2 (Extremal map) :An extremal map is a map such that whenever it factorises through a monomorphism then the monomorphismis an isomorphism.Lemma 2.2.3 :In a category with equalisers, an extremal map is an epimorphism.∆. Let us consi<strong>de</strong>r e : A → B an extremal map and f, g : B → X such that f ◦ e = g ◦ e. The universalproperty of the equaliser e ′ of f and g is such that e must factorise through e ′ . But all equalisers aremonomorphism and so e ′ must be an isomorphism, as e is extremal. As f ◦ e ′ = g ◦ e ′ , we have in<strong>de</strong>ed f = g.□Lemma 2.2.4 :A monomorphism that is extremal is an isomorphism.∆. Let us consi<strong>de</strong>r e : A → B to be both a monomorphism and an extremal map. Then as e = id ◦e, itfactorises through the monomorphism e that must therefore be an isomorphism.□Lemma 2.2.5 :Let C be a category and f : A → B an arrow of C that has an image (e, If, m), then e is an extremalmap.∆. Let us consi<strong>de</strong>r the following diagramfmm ′eA If m Bng C θ


CHAPTER 2. TRANSFORMING BICATEGORIES 9where n is a monomorphism. Then n ◦ m is a monomorphism, through which f factorises. Thus, by theproperty of the image, there is map θ : If → C such that m ◦ n ◦ θ = m and θ ◦ e = g. But then, as m is amonomorphism, n ◦ θ = id. Thus n is a monomorphism with a right inverse, thus an isomorphism. □Denition 2.2.6 (Strong map) :In a category C, a map e : A → B is strong if and only if whenever there exists a commutative squareAC em B Dwhere m is a monomorphism, there exists a map B → C that cuts the square into two commutative triangles.Lemma 2.2.7 :In a category with pullbacks, a map is extremal if and only if it is strong.∆. It is always he fact that a strong map is extremal. In<strong>de</strong>ed, let e : A → B be a strong map. If thereexists a monomorphism m onto the codomain of e through which e factorises then we have the commutativesquare and thus the diagonalA e BC Thus m ◦ f = id, and therefore m is a monomorphism and a split epimorphism, i.e. an isomorphism.Let now e be an extremal map and let us consi<strong>de</strong>r the following commutative squaremf BidA e BC m Dfwhere m is a monomorphism. Then by taking the pullback P of m and f and by consi<strong>de</strong>ring the map fromA to P that exists by universal property, we obtain the following digram (bearing in mind that the pullbackof a monomorphism is a monomorphism)eA P p Bq fC m DAs e is an extremal map that factors through a monomorphism p, p must be an isomorphism, and the mapq ◦ p −1 cuts the square into two commutative triangles.□We now will now <strong>de</strong>ne the other central notion of this report, spans.Denition 2.2.8 (Span) :A span is a pair of maps with a common domain.Spans are very useful in <strong>de</strong>scribing interaction between the co-domains of their two maps. In particular,they are the way we will represent strategies later on.Let us now <strong>de</strong>scribe rapidly the categorical structure this spans have.


CHAPTER 2. TRANSFORMING BICATEGORIES 10pP pTS fS g1T 1 f g22 A B CFigure 2.1: Span compositionDenition 2.2.9 (Span morphism) :Let s and t be two spans in E p with the same event structures at the feet. We say that a partial map θ : S ⇀ Tis a morphism of spans θ : s ⇒ t ifS A θ B Tcommutes.Span morphisms compose like partial maps. Let A and B be two event structures, then the spans betweenA and B and the span morphisms form a category Span(A, B).Until the end of this section, let C be a category with all pullbacks, binary products and images and such thatthe pullback of a strong map is still one. Then the spans in C form a bicategory Span Cwhere composition isdone according to gure (2.1) where P is the pullback. One may notice that the homcat Span C(A, B) whereA and B are objets of C is in fact the category C ↓ (A × B).Denition 2.2.10 (Relation) :A relation is a span that is jointly monic.In SET a relation therefore correspond to an injection into the product of the two co-domains. That isexactly the usual un<strong>de</strong>rstanding that we have of what is a relation.Let us now <strong>de</strong>ned the endofunctor on the hom-categories that will allow us to transform the category ofspans into the category of relations.Lemma 2.2.11 (The E functor) :Let C be a category with all images (and thus a choice of canonical images). Let A be an object ofC There is a unique way to make E into a endofunctor on C ↓ A, that sends each object of the slicecategory (B, f : B → A) to its image (If, m f ), such that e is a natural transformation from Id ˙→ E.∆. Let us consi<strong>de</strong>r f : (B, g) → (C, h) in C ↓ A and thus the following diagramB fCe hge gIg Ef Ihh A m h m gwhere g factorises through m h a monomorphism and thus there exist a unique map (that we can call Ef)such that the diagram commutes.□


CHAPTER 2. TRANSFORMING BICATEGORIES 11Xx SQ x Pq S θ ⊙ idq US P p T p U T U θ f Tg Tg U f UA B CFigure 2.2: Preservation of strong mapsWe now have to prove the two hypothesis that are used in the extremity construction. To prove the rst weproceed in two stages. First we prove that e ⊙ id is strong and then that E of a strong map is an isomorphism.Lemma 2.2.12 :Let ⊙ <strong>de</strong>note the composition in Span Cand let θ be a span morphism that is also an extremal map inC. Then id ⊙ θ and θ ⊙ id are strong.∆. Let us thus show that id ⊙ θ is strong (in C). Let us consi<strong>de</strong>r the commutative diagram of gure (2.2).The maps p U ◦ x P and x S form a cone over (g ◦ θ, f U ), and thus there exists a map ϕ : X → Q such thatq U ◦ ϕ = p U ◦ x P and q S ◦ ϕ = x S . Then the following diagrams (where the maps are the only maps betweenthose objects that we have consi<strong>de</strong>red so far) commuteX Q P S P T UX PS P T Uand thus by unicity of the mediating map, (θ ⊙ id) ◦ ϕ = x P . Therefore the squareQθ ⊙ id Pq SSθ Tp Tis a pullback. As extremal pas are strong according to lemma (2.2.7) and strong maps are preserved bypullback in C, θ ⊙ id is strong too.□Lemma 2.2.13 :Let f : (B, g) → (C, h) in C ↓ A such that it is a strong map in C.isomorphism.Then Ef : Ig → Ih is an


CHAPTER 2. TRANSFORMING BICATEGORIES 12∆. Let us consi<strong>de</strong>r the following diagram (that we will show to be commutative).Be gX k lIgϕfEfθm g Ce hIhm hAhLet us rst show that Ef is a monomorphism. Let us suppose that (Ef) ◦ h = (Ef) ◦ k. Thus the lower leftpart of the diagram commutes and, as m g is a monomorphism, k = l.As f is a strong map, ϕ exists and cuts the square in two commutative triangles, thus h factorises throughthe monomorphism m g . and therefore, by property of the image, θ exists and makes the two surroundingtriangle commute.But then m h ◦ (Ef) ◦ θ = m g ◦ θ = m h . As m h is a monomorphism, θ is right inverse to Ef that is amonomorphism and thus an isomorphism.□And now the second hypothesis.Lemma 2.2.14 :Let f : B → A be a monomorphism in C, then e f is an isomorphism.∆. Let us consi<strong>de</strong>r the following commutative diagram.m fA fm ff If θ e BfidBe fe f IfAs f is a monomorphism, and as it factorises through itself, we have the existence of θ. But then we haveθ ◦ e f = id. Moreover, e f ◦ θ veries the same property with respect to the image of f than the i<strong>de</strong>ntity andthus e f ◦ θ = id.□We can now <strong>de</strong>ne the bicategory of relations.Theorem 2.2.15 (Rel C ) :The relations in C form a bicategory with composition I(_ ⊙ _) and i<strong>de</strong>ntities the i<strong>de</strong>ntity span.∆. It is a consequence of theorem (2.1.1). All necessary hypothesis are shown to hold in the precedinglemmas. In<strong>de</strong>ed, lemma (2.2.11) <strong>de</strong>nes the necessary endofunctor on homcats. As e is extremal, lemma(2.2.12) implies that e ⊙ id is strong and lemma (2.2.13) that E(e ⊙ id) is an isomorphism (and symmetricallywith e on the right). Finally, lemma (2.2.14) implies that for all g : C → A, e E(C,g) = e mg is anisomorphism.To be sure that all relations are present in the homcats and that the i<strong>de</strong>ntity is in<strong>de</strong>ed the i<strong>de</strong>ntity span, weonly have to x the canonical image of a monomorphism to be the monomorphism itself.□


Chapter 3Polarized spansThe basis of these results were inspired by [FP09], in particular the notion of innocence we use here is theirs.3.1 Unsynchronised spansIn all that follows, we will work in E p (but the same story can be told in E pr ).What we are aiming at is rst to <strong>de</strong>ne a category of spans where the two maps have disjoint domains.Such spans would not only represent a map into the product, but also a map into the co-product, which isthe object they study in [FP09]. But the usual composition of spans do not preserve the disjoint domainproperty, and so we have to <strong>de</strong>ne a "pullback" a little smaller.Denition 3.1.1 (Pullback without un<strong>de</strong>ned synchronisation) :Let f : A ⇀ C and g : B ⇀ C be two spans with a same co-domain and letPp A Ap B f B g Cbe their pullback. Let P ′ be the sub event structure of P that consists of all events e such that for all e ′ ∈ ⌈e⌉,if p A (e ′ ) ↓ and p B (e ′ ) ↓ then f ◦ p A (e ′ ) ↓ (or equivalently g ◦ p B (e ′ ) ↓). As P ′ is down-closed, p A and p Brestrict to partial maps of event structures on P ′ .P ′ is called the pullback of f and g without un<strong>de</strong>ned synchronisation.13


CHAPTER 3. POLARIZED SPANS 14Theorem 3.1.2 :The pullback without un<strong>de</strong>ned synchronisation veries the following "universal" property.Let us consi<strong>de</strong>r the commutative squareQq A Aq B f B g Cwhere for all e ∈ Q, if q A (e) ↓ and q B (e) ↓ then f ◦ q A (e) ↓ (or equivalently g ◦ q B (e) ↓).Then there exists a unique map h such thatQq BhP ′q Ap A Ap B f B g Ccommutes.∆. By universal property of the pullback there exists a unique map h : Q ⇀ P such that the diagramcommutes. It suces to show that Ih ⊆ P ′ to have what we want.Let e ′ e ∈ Ih. Then there exists q ∈ Q such that h(q) = e. But as h(⌈q⌉) is down-closed there existsq ′ ∈ Q such that h(q ′ ) = e ′ . If p A (e ′ ) ↓ and p B (e ′ ) ↓ then as the diagram commutes, q A (q ′ ) ↓ and q B (q ′ ) ↓and thus f ◦ p A (e ′ ) = f ◦ q A (q ′ ) ↓.□Let us now prove two technical lemmas that will be useful later on.Lemma 3.1.3 :Let P be the pullback without un<strong>de</strong>ned synchronisation of f : A ⇀ C and g : B ⇀ C and let x ∈ P .Let (a, _) and (_, b) be maximal elements of these forms in x (we call a a maximal left element of xand b a maximal right). Then it is impossible that f(a) ↑ and g(b) ↑.∆. First of all, one of (a, _) and (_, b) must be the top element of x. If both are, then (a, b) is the topelement of x and thus, as P is without un<strong>de</strong>ned synchronisation, f(a) ↓ and g(b) ↓.Let us now suppose that the top element of x is (a, ⋆). Then (b, _) (a, ⋆) and thus there exists c such that(_, b) (c, ⋆) (a, star) as (_, b) is maximal of this form. But then lemma (1.4.5), implies that p A (_, b) ↓,and thus as P is without un<strong>de</strong>ned synchronisation, g(b) ↓.The proof is symmetric if the top element of x is (⋆, b).□Lemma 3.1.4 :The pullback without un<strong>de</strong>ned synchronisation of a rigid map is rigid.∆. Let us consi<strong>de</strong>r the following un<strong>de</strong>ned pullback where g is rigid.Pp A Ap B f B g C


CHAPTER 3. POLARIZED SPANS 15and let x, y ∈ P such that x y, p A (x) ↓ and p A (y) ↓. Let us prove by induction on the number of eventsbetween x and y that p A (x) p A (y).If x = y the result is trivial.If x y, then lemma (1.4.5) implies that p A (x) p A (y) (and we have nished) or p B (x) p B (y). But thenas g is rigid and the diagram commutative, f ◦ p A (x) f ◦ p A (y) and thus because of lemma (1.1.4),p A (x) p A (y).If there exists z ∈ P such that x < z < y such that p A (z) ↓ then by induction p A (x) p A (z) p A (y).Finally, if we are in none of the above cases, let x ′ and y ′ ∈ P such that x x ′ y ′ y. Then lemma (1.4.5)implies that p B (x) p B (x ′ ) and p B (y ′ ) p B (y).Let us show by induction that p B (x ′ ) p B (y ′ ). If they are equal, then it is clear. Else, let x ′′ ∈ P suchthat x ′ x ′′ , then as only p B (x ′′ ) can be <strong>de</strong>ned, lemma (1.4.5) implies that p B (x ′ ) p B (x ′′ ) and, as byinduction p B (x ′′ ) p B (y ′ ) we have what we want.This implies that p B (x) p B (y). As P is without un<strong>de</strong>ned synchronisation, we must have g ◦ p B (x) ↓ andg ◦ p B (y) ↓. As g is rigid, g ◦ p B (x) g ◦ p B (y) and thus by commutativity, f ◦ p A (x) f ◦ p A (y). Therefore,as lemma (1.1.4) states that f must reect or<strong>de</strong>r on congurations, p A (x) p A (y).□Now that we have <strong>de</strong>ned a modied "pullback" with the right properties, we can <strong>de</strong>ne the compositionthat interests us, the one that will preserve the disjoint domain property. And of course show that it <strong>de</strong>nesa new bicategory of spans.Denition 3.1.5 (Unsynchronised composition) :Let s 1 : A ⇆ B and s 2 : B ⇆ C be two spans, their unsynchronised composition s 2 ɵ s 1 : A ⇆ C is builtaccording to gure (2.1) where P is the pullback without un<strong>de</strong>ned synchronisation.Denition 3.1.6 (Span ɵ) :Let Span ɵbe the bicategory where 0-cells are event structures, 1-cells are spans, 2-cells are span morphism.The span compose according to ɵ and the i<strong>de</strong>ntity are the i<strong>de</strong>ntity spans.∆. First let us consi<strong>de</strong>r θ : s ⇒ s ′ and ϕ : t ⇒ t ′ and thus the following diagrampP pTS S f gT A θ B ϕ C T ′S ′ f ′ P ′Let us suppose we have x ∈ P such that θ ◦ p S (x) ↓ and ϕ ◦ p T (x) ↓. Then as P is without un<strong>de</strong>nedsynchronisation f ◦ p S (x) ↓ and g ◦ p T (x) ↓. As the diagram commutes f ′ ◦ θ ◦ p S (x) ↓ and g ′ ◦ ϕ ◦ p T (x) ↓and thus there is a span morphism from t ɵ s to t ′ ɵ s ′ , let us call it ϕ ɵ θ. The proof that ɵ is a functor isthe same that when one consi<strong>de</strong>rs a normal pullback.Let us now consi<strong>de</strong>r s 1 , s 2 and s 3 that are composable and let us consi<strong>de</strong>r the diagramS 1Tt 1P g ′ R r2 r 1 Q q 1 p 2S 2 S 3 g 2 f 3A B C Dq 2t 2


CHAPTER 3. POLARIZED SPANS 16Let x ∈ R such that r 1 (x) ↓ and q 2 ◦ r 2 (x) ↓. Then, as R is without un<strong>de</strong>ned synchronisation, q 1 ◦ r 2 (x) ↓and thus f 3 ◦ q 2 ◦ r 2 (x) ↓. Thus there is a unique map from R to T such that the right triangles commutes(and thus it is a span morphism).Let now x ∈ T such that p 2 ◦t 1 (x) ↓ and t 2 (x) ↓. Then, as T is without un<strong>de</strong>ned synchronisation, f 3 ◦t 2 (x) ↓.Thus there is a unique map h from T to Q such that the right triangles commutes. In particular q 1 ◦h = p 2 ◦t 1 .Let x ∈ T such that h(x) ↓ and t 1 (x) ↓. Because of lemma (1.4.4), q 1 ◦ h(x) ↓ or q 2 ◦ h(x) ↓. Let us supposeq 2 ◦ h(x) ↓, then as q 2 ◦ h = t 2 and T is without un<strong>de</strong>ned synchronisation, g 2 ◦ p 2 ◦ t 1 (x) ↓ and thus for thediagram to commute g 1 ◦ h(x) ↓. Thus in all cases g 1 ◦ h(x) ↓ and thus there is a unique map from T to Rsuch that the right triangles commute (and thus it is a span morphism).The proof that those two span morphism are inverse and that the isomorphism is natural is the same aswhen one consi<strong>de</strong>rs a normal pullback. As the situation is symmetric we <strong>de</strong>duce a natural isomorphismbetween s 3 ɵ(s 2 ɵ s 1 ) and (s 3 ɵ s 2 ) ɵ s 1 . The fact that the pentagon commutes is also given by the usualproof.Let us now consi<strong>de</strong>rS p P id S 1p 2fS B idBg id BA B BLet x ∈ S such that g(x) ↓, then g ◦ id S (x) ↓ and thus there is a unique map from S to P such that theright triangles commutes. The proof that its inverse is p 1 and that they form a natural isomorphism is thesame as when P is the usual pullback. The existence of the isomorphism with the i<strong>de</strong>ntity on the left issymmetrical. Finally the commutativity of the triangle is proved as if we were using usual pullbacks. □Disjoint domain spans now make sense, as will show the following lemma.Denition 3.1.7 (Disjoint domain spans) :Let s := (f, S, g) be a span in E p . It is said to be a disjoint domain span if D f ∩ D g = ∅.Lemma 3.1.8 :Let s 1 and s 2 be two composable spans such that s 1 (or s 2 ) is a disjoint domain span, then s 2 ɵ s 1 is adisjoint domain span.∆. Let x ∈ D f1 ◦p S∩ D f2 ◦p T, then it implies a fortiori that p S (x) ↓ and p T (x) ↓ and thus that g 1 ◦ p S (x) ↓.But that implies that p S (x) ∈ D f1 ∩ D g1 and thus that s 1 is not a disjoint domain span. Moreover thesymmetric proof shows that s 2 is not either.□We will now <strong>de</strong>ne, and prove the composition of, the notion of <strong>de</strong>terminacy in a span. It states that in a<strong>de</strong>terministic span, no consistent output can come from an inconsistent input.Denition 3.1.9 (Deterministic span) :A span s := (f, S, g) is <strong>de</strong>terministic, if for all X ⊆ f S down-closed, such that f(X) is a conguration, thenX is a conguration.Theorem 3.1.10 :Let s 1 and s 2 be two composable <strong>de</strong>terministic spans, then s 2 ɵ s 1 is a <strong>de</strong>terministic span.∆. Let us consi<strong>de</strong>r the diagram of gure (2.1).Let X ⊆ f P down-closed, such that f 1 ◦ p S (X) ∈ C o (A). Let us rst prove that p S (X) is down-closed. Letp S (x) ∈ p S (X) and y S x then as p S (⌈x⌉) is a conguration it contains ⌈p S (x)⌉ and thus y ∈ p S (⌈x⌉), butthat implies that there exists z ∈ ⌈x⌉ ⊆ X such that y = p S (z). Thus y ∈ p S (X). Symmetrically, p T (X) isdown-closed.g


CHAPTER 3. POLARIZED SPANS 17Moreover, f 1 (p S (X)) ∈ C o (A) and thus, as s 1 is <strong>de</strong>terministic, p S (X) ∈ C o (S). But that implies thatf 2 (p T (X)) = g 1 (p S (X)) ∈ C o (B) and thus, as s 2 is <strong>de</strong>terministic, p T (X) ∈ C o (T ).To show that X is consistent (and thus a conguration), we have to show that ⋃ X ∈ C o (S) × C o (T ). AsP is a sub event structure of the pullback, that is itself a sub event structure of the product, that will thenimply that X ∈ C o (P ).First π S ( ⋃ X) = ⋃ x∈X π S(x). Let us show that it is equal to p S (X). Let x ∈ X, then it is of the form ⌈e⌉ yfor some e and y. Then p S (x) = . η −1 (⌈π S (e)⌉ πS (y)) = . π S (e) ∈ π S (⌈e⌉ y ) = π S (x). Thus p S (X) ⊆ ⋃ x∈X π S(x).Let now x ∈ X and e ∈ x, then ⌈e⌉ x ⊆ x and as X is down-closed, ⌈e⌉ x ∈ X. Moreover, π S (e) = . p S (⌈e⌉ x )and thus ⋃ x∈X π S(x) ⊆ p S (X).As we have show earlier, π S (X)C o (S) and thus π S ( ⋃ X) ∈ C o (S). Symmetrically, π T ( ⋃ X) ∈ C o (T ).Let us now consi<strong>de</strong>r e 1 , e 2 ∈ ⋃ X. Then there exists x 1 , x 2 ∈ X such that e 1 ∈ x 1 and e 2 ∈ X 2 . If e 2 ∉ x 1then x 1 is such e 1 ∈ x 1 ⇐⇒ e 2 ∉ x 1 . Moreover, as x 1 is a conguration of the product, by <strong>de</strong>nition,π S (x 1 ) ∈ C o (S) and π T (x 1 ) ∈ C o (T ). If e 2 and e 1 ∈ x 1 , then by <strong>de</strong>nition of x 1 there exists y ⊆ x 1 ⊆ ⋃ Xsuch that π S (y) ∈ C o (S), π T (y) ∈ C o (T ) and e 1 ∈ y ⇐⇒ e 2 ∉ y.Finally, let us suppose π S (e 1 ) = π S (e 2 ) (and both <strong>de</strong>ned), then if e 1 is of the form (s 1 , t 1 ) because X ⊆ P ,it implies that g 1 (s 1 ) ↓. But then g 1 (p S (e 2 )) ↓ too and thus f 2 (p T (e 2 )) ↓. In particular, p T (e 2 ) ↓. But thenwe have f 2 (p T (e 2 )) = g 1 (p S (e 2 )) = g 1 (s 1 ) = f 2 (t 1 ) and thus, as f 2 is locally injective, p T (e 2 ) = t 2 . If e 1 isof the form (s 1 , ⋆) then, because the previous proof is symmetric, e 2 must be of the form (s 2 , ⋆). And thusin both cases e 1 = e 2 .As S and T play symmetric roles, p T is injective too and ⋃ X is a conguration of the product. □3.2 PolarisationAs we have stated in our introduction, the games we consi<strong>de</strong>r are between two opponents, that have theirown moves in the game. To mark to whom belongs each move, will use a polarisation function. Positivemoves will be program (player) moves and negative will be environment (opponent) moves. There is also aneutral polarisation to mark internal calculations (in particular those that appear during composition).Denition 3.2.1 (Polarised event structure) :A polarised event structure (E, θ E ) is an event structure E along with a total map θ E : E → {−, ⋄, +}. It issaid to be strictly polarised when for all e ∈ E, θ E (e) ≠ ⋄.A partial map f : (E, θ E ) ⇀(F, θ F ) of polarized event structure is a partial map of event structures such thatfor all e ∈ E such that f(e) ↓ and θ E (e) ≠ ⋄, θ F (f(e)) = θ E (e).It is said to be strict if the equality also holds if θ E (e) = ⋄.Polarised event structures and partial maps form a category E ± p . Let us <strong>de</strong>scribe the product in this category.Denition 3.2.2 (Product in E ± p ) :Let (E, θ E ) and (F, θ F ) be two polarised event structures, let x ∈ E × F and let θ E×F (x) be given accordingto θ E (p E (x)) and θ F (p F (x)) and the following table+ − ⋄ ↑+ + ⋄ ⋄ +− ⋄ − ⋄ −⋄ ⋄ ⋄ ⋄ ⋄↑ + − ⋄Theorem 3.2.3 :The polarised event structure (E × F, θ E×F ) is the product of E and F in E ± p .


CHAPTER 3. POLARIZED SPANS 18∆. First, the table has been built such that p S and p T are maps of polarised event structures.Second let us consi<strong>de</strong>r two maps f : X ⇀ E and g : X ⇀ F in E ± p . Then, as E × F is a product in E p , wehave a unique mediating map h such thatfX g hE E × F p EpFFcommutes. We only need to show that this map h respects polarisation.Let x ∈ X such that θ X (x) = +, then if f(x) ↓ and g(x) ↓ then θ E (f(x)) = + and θ F (g(x)) = + andthus, because the diagram commutes θ E (p E (h(x))) = θ F (p F (h(x))) = + and thus θ E×F (h(x)) = +. Now,if one of them is un<strong>de</strong>ned, let us say g(x) ↑ and f(x) ↓, then because of commutativity p F (h(x)) ↑ andθ E (p E (h(x))) = + and thus θ E×F (h(x)) = +. Finally, if both are un<strong>de</strong>ned, then p E (h(x)) ↑ and p F (h(x)) ↑but as, according to lemma (1.4.4), E × F does not contain elements where both projections are un<strong>de</strong>ned,h(x) ↑.The same holds if θ X (x) = −.□This product allows us to <strong>de</strong>ne pullbacks without un<strong>de</strong>ned synchronisation in E p± as previously, and thusSpan ± ɵ , the category of unsynchronised spans in E± p .As one could guess, adding polarity leads us naturally to <strong>de</strong>ning a dual. It will allow us in particular to<strong>de</strong>ne maps that reverse parity.Denition 3.2.4 (_ ⊥ ) :Let (A, θ A ) be a polarized event structure. Let + ⊥ := −, − ⊥ := + and ⋄ ⊥ := ⋄, nally let A ⊥ be the polarise<strong>de</strong>vent structure (A, θ ⊥ A ).Moreover, let f : A ⇀ B be a partial map of polarised event structure, then f is also a map of polarised eventstructure from A ⊥ to B ⊥ , noted f ⊥ .It is evi<strong>de</strong>nt that _ ⊥ is a functor. Furthermore, it is an involution.Let us now <strong>de</strong>ne polarised spans. They are our rst step toward strategies.Denition 3.2.5 (Polarised spans) :Let A and B be two strictly polarised event structures. A polarized span from A to B is a disjoint domainspan (f, S, g) : A ⊥ ⇆ B such that f and g are strict and such that if x ∉ D f ∪ D g then θ S (x) = ⋄.Denition 3.2.6 (Composition of polarised spans) :Let (A, θ A ) be a polarised event structure, and let A ⋄ be (A, θ ⋄ ) where for all a ∈ A, θ ⋄ (a) = ⋄. Then thei<strong>de</strong>ntity is a polarised map from A ⋄ to A (or to A ⊥ ). Let us write s A : A ⇆ A ⊥ for the spanAA ⋄ idid A ⊥Let now s 1 : A ⊥ ⇆ B and s 2 : B ⊥ ⇆ C be two spans in E ± p . Then s 2 ◫ s 1 := s 2 ɵ s B ɵ s 1 (one may choosewhich ever way to put the parenthesis, it is the same up to span isomorphism).One may notice that this composition can also be seen as1. Compose the two spans in E ± p forgetting about polarity (thus the left event structure of s 1 and theright of s 2 are in<strong>de</strong>ed the same)


CHAPTER 3. POLARIZED SPANS 19Sf 1 g 11 Rr 1 Pp 1 p 2r 2 Q q 2 S r 2B f g 22 B ⋄l B A ⊥ B B ⊥ CFigure 3.1: Composition of polarised spansq 12. Put the polarity back on the pullback without un<strong>de</strong>ned synchronisation using the table given beforeWe need, of course, to show that polarised spans are stable un<strong>de</strong>r the composition we just <strong>de</strong>ned.Lemma 3.2.7 :Let s 1 and s 2 be two composable polarised spans. Then s 1 ◫ s 2 is polarised.∆. By lemma (3.1.8), s 1 ◫ s 2 is a disjoint domain span. We only have to show that the two arrows of thespan are strict. Let us consi<strong>de</strong>r the diagram of gure (3.1).Let x ∈ R, if r 1 (x) ↓ and r 2 (x) ↓, then p 2 ◦r 1 (x) ↓ and q 1 ◦r 2 (x) ↓ and are equal. And thus as in B ⋄ everythinghas polarity ⋄, θ P (r 1 (x)) = ⋄ and θ Q (r 2 (x)) = ⋄. Thus θ R (x) = ⋄. Moreover, as l B is total and the squarescommute, g 1 ◦ p 1 ◦ r 1 (x) ↓ and thus as s 1 is a disjoint domain span f 1 ◦ p 1 ◦ r 1 (x) ↑. For symmetric reasong 2 ◦ q 2 ◦ r 2 (x) ↑.Now if r 2 (x) ↑, then because of lemma (1.4.4), we have r 1 (x) ↓. If p 2 ◦ r 1 (x) ↓, then for the square tocommutes, we must have r 2 (x) ↓ which contradicts the hypothesis, thus p 2 ◦ r 1 (x) ↑. But then, once morebecause of lemma (1.4.4), p 1 ◦ r 1 (x) ↓. Now, if θ S (p 1 ◦ r 1 (x)) = ⋄, then θ R (x) = ⋄, and, as s 1 is a polarisedspan, f 1 ◦ p 1 ◦ r 1 (x) ↑, or else it would have polarity ⋄, but there is no ⋄ in A.If θ S (p 1 ◦ r 1 (x)) = + then θ R (x) = +. If g 1 ◦ p 1 ◦ r 1 (x) ↓, then for the square to commute, we would havep 2 ◦ r 1 (x) ↓, but we have already shown this impossible. Thus g 1 ◦ p 1 ◦ r 1 (x) ↑, but because s 1 is polarised,we must have f 1 ◦ p 1 ◦ r 1 (x) ↓. As the case is symmetric when θ S (p 1 ◦ r 1 (x)) = −, and symmetric if r 1 (x) ↑,we have proved that s 2 ◫ s 1 is polarised.□Let us now <strong>de</strong>ne a number of properties that can have the polarised spans, and show that each composes.The rst of them, innocence is the most important, because it will be central in <strong>de</strong>ning the category Span Inn .The other will only be nee<strong>de</strong>d to characterise the spans that represent simple games in chapter 5.Denition 3.2.8 (Innocence) :A polarised span s := (f, S, g) is innocent if for all x, y ∈ S such that x y and θ(x) = + or θ(y) = −, thenthere exists h among f and g such that h(x) ↓, h(y) ↓ and h(x) h(y).Lemma 3.2.9 :Let s 1 and s 2 be two composable innocent spans, then s 2 ◫ s 1 is an innocent span.∆. Let us consi<strong>de</strong>r the diagram of gure (3.1) and let x, y ∈ R such that x y and θ R (y) = −, the proofof lemma (3.2.7) has shown that f 1 ◦ p 1 ◦ r 1 (y) ↓ and that r 2 (y) ↑, p 2 ◦ r 1 (y) ↑, and g 1 ◦ p 1 ◦ r 1 (y) ↑ (orsymmetrically on the right).Lemma (1.4.5) applied to R and P implies that p 1 ◦ r 1 (x) p 1 ◦ r 1 (y). But as θ S (p 1 ◦ r 1 (y)) = −, innocenceof s 1 implies that f 1 ◦ p 1 ◦ r 1 (x) f 1 ◦ p 1 ◦ r 1 (y).The proof is i<strong>de</strong>ntical (reversing the role of x and y) if θ R (x) = +.□Denition 3.2.10 (Filiform event structures) :An event structure E is said to be liform if for all e ∈ E, ⌈e⌉ is totally or<strong>de</strong>red.


CHAPTER 3. POLARIZED SPANS 20pP 1 p2S 1 Sf g 2 11 f g 22 A B CFigure 3.2: The othe way to see the compositionA span (f, S, g) is said to be liform if S is.One may notice that an event structure is liform, if and only if each event has at the most one directpre<strong>de</strong>cessor. The full subcategory of liform event structure in E p is called Fil p and that of E pr is called Fil pr .Lemma 3.2.11 :let s 1 and s 2 be two innocent and liform spans. Then s 1 ◫ s 2 is liform.∆. Let us consi<strong>de</strong>r the diagram of gure (3.2) and let x, y and z in P such that x and y are both directpre<strong>de</strong>cessors of z. Then lemma (1.4.5) implies the projection of x must be directly before that of z on onesi<strong>de</strong> (and similarly for y).Let us suppose rst that p 1 (x) p 1 (z) and p 1 (y) p 1 (z) (or symmetrically on the right). Then as s is liform,we must have p 1 (x) = p 1 (y) and as x and y are consistent, local injectivity implies that x = y.Now if p 1 (x) p 1 (z) but p 2 (y) p 2 (z), then g 1 ◦ p 1 (z) and f 2 ◦ p 2 (z) are both <strong>de</strong>ned and equal, and as f 2reverses parity (it goes into the dual) and B is strictly polarised, one of p 1 (z) and p 2 (z) is negative. Let ussuppose p 2 (z) is. Then, as s 2 is innocent f 2 ◦p 2 (x) is <strong>de</strong>ned and thus, for the square to commute, g 1 ◦p 1 (x) ↓and g 1 ◦ p 1 (x) g 1 ◦ p 1 (z). But then lemma (1.1.4) implies that p 1 (x) p 1 (z) and lemma (1.1.5) impliesthat p 1 (x) p 1 (z). Thus we are back in the rst case.□Denition 3.2.12 (Alternation) :A polarised event structure E is said to be alternating if for all non neutral x, y ∈ E such that all eventsbetween them are neutral, then θ E (x) = θ E (y) ⊥ .A polarised span (f, S, g) is said to be alternating if S is.Lemma 3.2.13 :Let A and B be two alternating strictly polarised event structure and let (f, S, g) be an innocent spanfrom A to B. Then S is alternating.∆. Let us suppose we have x and y ∈ S be both positive such that x y and there are only neutral betweenthem. Then let z ∈ E such that x z y. Then as the span is innocent, we can suppose g(x) g(z) (theother case is i<strong>de</strong>ntical). As g(x) is positive and B is strict and alternating, h(z) is negative. But then zmust be negative too. This contradicts the fact that z is neutral or positive.The case when x and y are both negative is treated in the same manner.□Denition 3.2.14 (Concreteness) :A polarised event structure is said to be concrete if all pairs of positive events with a common direct pre<strong>de</strong>cessorare in conict.A polarised span (f, S, g) is said to be concrete if S is.Lemma 3.2.15 :Let s 1 and s 2 be two innocent and concrete spans, then s 2 ◫ s 1 is concrete.


CHAPTER 3. POLARIZED SPANS 21∆. Let us consi<strong>de</strong>r the diagram of gure (3.1). Let x, y ∈ R both positive, such that they have a commondirect pre<strong>de</strong>cessor z. The proof of lemma (3.2.7) has shown that r 1 (x) and r 2 (x) cannot be both <strong>de</strong>ned(and i<strong>de</strong>ntically for y).Let us rst suppose that r 1 (x) ↓ and r 1 (y) ↓. Then lemma (1.4.5) implies that p 1 ◦ r 1 (z) p 1 ◦ r 1 (x) andp 1 ◦r 1 (z) p 1 ◦r 1 (y). Moreover p 1 ◦r 1 (x) and p 1 ◦r 1 (y) are both positive and thus, as s 1 is concrete, p 1 ◦r 1 (x)and p 1 ◦ r 1 (y) are in conict. Therefore x and y are in conict.The case on the right is i<strong>de</strong>ntical, let us now consi<strong>de</strong>r the case when r 1 (x) ↓ and r 2 (y) ↓ (or symmetrically).Lemma (1.4.5) implies that p 1 ◦ r 1 (z) p 1 ◦ r 1 (x) and q 2 ◦ r 2 (z) q 2 ◦ r 2 (y). But then p 2 ◦ r 1 (x) ↓ and thusl B ◦ p 2 ◦ r 1 (x) and r B ◦ p 2 ◦ r 1 (x) must have dierent polarities, thus one of them must be positive. We cansuppose without loss of generality that l B ◦ p 2 ◦ r 1 (x) is, then as g 1 ◦ p 1 ◦ r 1 (z) = l B ◦ p 2 ◦ r 1 (z), p 1 ◦ r 1 (z)is positive too. But as s 1 is innocent, we must have g 1 ◦ p 1 ◦ r 1 (x) ↓. But the proof of lemma (3.2.7) showsthat, as x is positive and r 1 (x) ↓, then f 1 ◦ p 1 ◦ r 1 (x) ↓, this contradicts the fact that s 1 is a disjoint domainspan.□Denition 3.2.16 (Rigid span) :A polarised span (f, S, g) is said to be rigid if f and g are.Lemma 3.2.17 :Let s 1 and s 2 be two rigid spans, then s 2 ◫ s 1 is rigid.∆. This result is an immediate consequence of lemma (3.1.4), i.e. that rigid map are preserved by pullbackwithout un<strong>de</strong>ned synchronisation, and the fact that rigid maps compose.□3.3 The i<strong>de</strong>ntity problem, or why restrict to visible parts onlyDisjoint domain spans cannot be seen as a sub bicategory of Span ɵ, in<strong>de</strong>ed the i<strong>de</strong>ntity span has not disjointdomains. Moreover, there is no i<strong>de</strong>ntity for disjoint domain spans in general, we have to restrict to innocentones. But then remains the problem that ɵ produces internal synchronisation events that we have to getrid of to have i<strong>de</strong>ntities, thus we need to change a little the composition we use.Denition 3.3.1 (Visibility and the V functor) :Let s := (f, S, g) be a span in E p . We say that an event e ∈ S is visible if either f(e) ↓ or g(e) ↓. The spans is said to be fully visible if all the elements of S are visible.Let S ′ be the sub event structure of S that contains all the visible events and let us write Vs := (f S ′, S ′ , g S ′)for the visible part of s. It is in<strong>de</strong>ed a span in E p , it is called the visible part of s.Moreover, let θ : s ⇒ t and let e ∈ S be visible. Then θ(e) must be <strong>de</strong>ned for the diagram to commute andit must be visible. Thus θ restricts to a span morphism Vθ : Vs ⇒ Vt.Finally, the map from S to S ′ that is the i<strong>de</strong>ntity on visible objects is a span morphism, that we call ℘, froms to s ′ that is obviously natural in s.One may remark that we have proved that for all span morphism θ, Vθ is total. This endofunctor V will beused in a extremity construction, thus we have to prove the two hypothesis.Lemma 3.3.2 :Let s be a span, then ℘ Vs is an isomorphism.∆. In<strong>de</strong>ed, Vs as only visible events and thus restricting to visible events does not change the span, thus℘ Vs is the i<strong>de</strong>ntity.□The second one needs a little more work. The following lemmas are technical results that help show it. Weshall admit them, as they need <strong>de</strong>tailed, and rather uninteresting, proofs.


CHAPTER 3. POLARIZED SPANS 22Lemma 3.3.3 :Let e ∈ E ± p (A, B). It is an extremal map if and only if it is rigid, strictly polarised and surjective onnite congurations.Lemma 3.3.4 :Let e ∈ E ± p (A, B). It is a monomorphism if and only if it is injective on congurations.Lemma 3.3.5 :Extremal maps are preserved un<strong>de</strong>r pullback without un<strong>de</strong>ned synchronisation.Lemma 3.3.6 :Let θ be span morphism that is extremal, then Vθ is extremal too.Lemma 3.3.7 :The pullback without un<strong>de</strong>ned synchronisation of an injection is an injection.Lemma 3.3.8 :Let θ be span morphism that is injective, then Vθ is injective too, and thus a monomorphism.We can now show the second hypothesis of the extremity construction.Lemma 3.3.9 :Let s and t be two spans, then V(℘ s ɵ id t ) and V(id t ɵ ℘ s ) are isomorphisms.∆. Let us consi<strong>de</strong>r the diagram of gure (2.2) where θ = ℘. Let us suppose that for all y ∈ X, if x S (y) ↓and x P (y) ↓ then p T ◦ x P (y) ↓. Then let us suppose that we have y ∈ X such that x S (y) ↓ and p U ◦ x P (y) ↓,then p T ◦ x P (y) ↓ and thus, as P is without un<strong>de</strong>ned synchronisation, f U ◦ p U ◦ x P (y) ↓. Thus there existsa map ϕ : X → Q such that q U ◦ ϕ = p U ◦ x P and q S ◦ ϕ = x S . The rest of the proof proceeds like in lemma(2.2.12) to show that this square is a pullbackQ ℘ ɵ id Pq S p T S ℘ TAs it is clear that ℘ is injective and an extremal map (see characterisation of lemma (3.3.3)) and thus,according to the list of preservation lemmas (from (3.3.5) to (3.3.8)), V(℘ ɵ id) is a monomorphism andan extremal map. It is therefore an isomorphism.□We can now <strong>de</strong>ne the composition (and the bicategory that goes with it) that correspond in game semanticsliterature to parallel composition (here, taking the pullback without un<strong>de</strong>ned synchronisation) and hiding(here, forgetting the invisible events).Denition 3.3.10 (VSpan ± ɵ ) :Let VSpan ± ɵbe the bicategory where 0-cells are polarised event structures, 1-cells are fully visible spans and2-cells are span morphisms. The composition is s t := V(s ɵ t) and the i<strong>de</strong>ntities are the i<strong>de</strong>ntity spans.∆. The existence of this bicategory follows from theorem (2.1.1). The necessary hypothesis are proven inlemmas (3.3.9) and (3.3.2).□In this category of fully visible spans, we have a composition of polarised spans, that we write ⧆.Even with hiding, innocence will not be enough to have an i<strong>de</strong>ntity for polarised spans and the ⧆ composition.We need to introduce two new span properties, and as usual show that they compose.


CHAPTER 3. POLARIZED SPANS 23Denition 3.3.11 (Negative saturation) :Let s := (f, S, g) be a span of polarised event structures from A to B, we say that s is negatively saturatedwhen, for all X ∈ C o (S), if f(X) has a negative extension, i.e. there exists Y ∈ C o (A ⊥ ) such that X ⊆ Yand θ A ⊥(Y \ f(X)) = {−}, then there exists X ′ ∈ C o (S) such that X ⊆ X ′ and f(X ′ ) = Y ; and i<strong>de</strong>nticallyfor g.Lemma 3.3.12 :Let s 1 and s 2 be two composable innocent negatively saturated spans, then s 2 ◫ s 1 is negatively saturated.∆. Let us consi<strong>de</strong>r the composition diagram of gure (3.2). Let X ∈ C o (P ) such that f 1 ◦ p 1 (X) has anegative extension Z in A ⊥ (the case on the right is symmetric, if not a little simpler because their is nodual to account for). But then p 1 (X) ∈ C o (S 1 ) and thus as s 1 is negatively saturated, there exists Y ∈ C o (S)such that p 1 (X) ⊆ Y and f 1 (Y ) = Z. Let us suppose that Y is a minimal such conguration.Let y ∈ Y \ p 1 (X). Then there is no y ′ ∈ y such that y y ′ and f 1 (y ′ ) ↓, then Y would not be minimal,Y ′ = Y \{y ′ ∈ Y | y y ′ } would also be a conguration such that f 1 (Y ′ ) = Z. Thus there is a y ′ ∈ Y suchthat y y ′ and f 1 (y ′ ) ↓. If f 1 (y) ↑, then there exists z, z ′ ∈ Y such that y z z ′ y ′ , f 1 (z) ↑ and f 1 (z ′ ) ↓.But then as y ∈ Y \ p 1 (X), f 1 (z ′ ) ∈ Z \ f 1 ◦ p 1 (X) and thus it is negative. as f 1 preserves polarity (into thedual), z ′ is also negative. Thus the innocence of s 1 is contradicted. Therefore f 1 (y) ↓.Let X ′ := X∪{(y, ⋆) | y ∈ Y \ p 1 (X)}, it is a conguration of the pullback without un<strong>de</strong>ned synchronisationthat veries X ⊆ X ′ and f 1 ◦ p 1 (X ′ ) = f 1 (Y ) = Z.□Denition 3.3.13 (Negative coinci<strong>de</strong>nce) :Let s := (f, S, g) be a span of polarised event structures and let x, y ∈ S. We say that x and y are coinci<strong>de</strong>ntif ⌊x⌋ = ⌊y⌋, f(x) . = f(y) and g(x) . = g(y).We therefore say that a span is negative coinci<strong>de</strong>nce free if there are no distinct events that are both negativeand coinci<strong>de</strong>nt.Lemma 3.3.14 :Let s 1 and s 2 be two composable innocent negative coinci<strong>de</strong>nce free spans, then s 2 ◫ s 1 is negativecoinci<strong>de</strong>nce free.∆. Let us consi<strong>de</strong>r the composition diagram of gure (3.2). Let x, y ∈ P negative with the same stricthistory, such that f 1 ◦ p 1 (x) and f 1 ◦ p 1 (y) both <strong>de</strong>ned and equal (once more the case on the right is thesame).Then, let us show that p 1 (x) and p 1 (y) have the same strict history. Let z p 1 (x), then as p 1 (x) is negative,innocence implies that f 1 (z) ↓ and that f 1 (z) f 1 ◦ p 1 (x) = f 1 ◦ p 1 (y). Thus there is a z ′ p 1 (y) such thatf 1 (z ′ ) = f 1 (z).But then there are t, t ′ ∈ ⌊x⌋ = ⌊y⌋ such that p 1 (t) = z and p 1 (t ′ ) = z ′ . These two events have the sameimage by f 1 ◦ p 1 and are consistent, thus they are equal. Therefore z = z ′ and z p 1 (y). We have thereforeproved that ⌊p 1 (x)⌋ ⊆⌊p 1 (y)⌋. As the problem is symmetric, we have in<strong>de</strong>ed that ⌊p 1 (x)⌋ = ⌊p 1 (y)⌋. Thusthey are negative and coinci<strong>de</strong>nt, they must be equal.By hypothesis, we knew that x and y were composed of the same elements except for their top one (let usremember that x and y are prime of the product of stable families, thus sets). We have proved that theirtop element is (p 1 (x), ⋆) = (p 1 (y), ⋆), and therefore x = y.□We have not shown so far that taking the visible part of a span preserved all the properties that span canhave. Let us do this now.Lemma 3.3.15 :Let s be a polarised span then its visible part is a polarised span. Moreover, all the following propertiesare preserved when going from a span to its visible part : innocent, negatively saturated, negativecoinci<strong>de</strong>nce free, <strong>de</strong>terministic, liform, concrete.


CHAPTER 3. POLARIZED SPANS 24∆. All these properties concern the events on which the span is <strong>de</strong>ned. Forgetting the internal events thusdo not change a thing.□As the i<strong>de</strong>ntity span is not a polarised span, we have not <strong>de</strong>ned yet what may be the i<strong>de</strong>ntity for polarisedspans. It is the copycat span that we <strong>de</strong>ne now.Denition 3.3.16 (Copycat span) :Let (A, θ A ) be a strictly polarised event structure. Let e in A, we will note e ⊥ the element e of A ⊥ andsymmetrically for e ∈ A ⊥ .Let C A := A ⊥ ⊔ A, let l A : C A ⇀ A ⊥ be the map that is the i<strong>de</strong>ntity on A ⊥ and un<strong>de</strong>ned on A andr A : C A ⇀ A be the map that is the i<strong>de</strong>ntity on A and un<strong>de</strong>ned on A ⊥ .Let CA be the transitive closure of A , A ⊥ and a − CA a + for all a ∈ C A . Let X ⊆ C A , then X = Y ⊔ Zwhere Y ⊆ A ⊥ and Z ⊆ A. If we forget the polarities, Y and Z are both subsets of A. We say that X isconsistent if Y ∪ Z ∈ C A . This <strong>de</strong>nes an event structure on C A .Then cc A := (l A , C A , r A ) is a fully visible polarised span, innocent, negatively saturated and negative coinci<strong>de</strong>ncefree.Let us now show what is probably the most technical lemma of this report, but at the same time a fundamentalone. It characterises the spans that are interesting, that is those for which copycat is the i<strong>de</strong>ntity.Lemma 3.3.17 :Let s be a fully visible polarised span. Then vis(s ⧆ cc) and V(cc ⧆ s) are isomorphic to s if and onlyif s is innocent, negatively saturated and negative coinci<strong>de</strong>nce free.∆. Let us consi<strong>de</strong>r the following composition diagram (we consi<strong>de</strong>r the composition as in the remark following<strong>de</strong>nition (3.2.6), for the sake of simplicity).Sf Pp 1 p 2 gC Bl r A B BThe proof of lemma (3.2.7) has shown that the elements in P are of four types : ⌈(e, b)⌉ X , ⌈(e, ⋆)⌉ X ,⌈(⋆, b + )⌉ X and ⌈(⋆, b − )⌉ X . We will <strong>de</strong>ne a map θ : P → S consi<strong>de</strong>ring those four cases.First, θ(⌈(e, b)⌉ X ) ↑. Secondly, θ(⌈(e, ⋆)⌉ X ) = e.Thirdly, let us consi<strong>de</strong>r an element of the form ⌈(⋆, b + )⌉ X . Then, as p 2 (X) is a conguration that containsb + , by <strong>de</strong>nition of copycat (and as the projections must be locally injective), there is a unique element ofthe form (e, b − ) in X. Let us <strong>de</strong>ne θ(⌈(⋆, b + )⌉ X ) = e. Let us show that this is well <strong>de</strong>ned. If we have Ysuch that ⌈(⋆, b + )⌉ X = ⌈(⋆, b + )⌉ Y , then we have a unique element of the form (e ′ , b − ) in Y . But that impliesthat (e ′ , b − ) ∈ ⌈(⋆, b + )⌉ Y = ⌈(⋆, b + )⌉ X , thus e = e ′ .Fourthly, let us consi<strong>de</strong>r an element of the form ⌈(⋆, b − )⌉ X .Lemma 3.3.18 :There exists Y ∈ C o (P ) such that X ⊆ Y and ⌈b − ⌉ ⊆ g ◦ p 1 (Y ).∆. Let us suppose that a ∈ ⌈b − ⌉ is minimal such we have not constructed a Y ∈ C o (P ) with X ⊆ Y and⌈a⌉ ⊆ g ◦ p 1 (Y ). As we have taken a to be minimal and as ⌈[⌉a] X is nite, we can consi<strong>de</strong>r that we have Y ′such that X ⊆ Y ′ and ⌊a − ⌋ ⊆ g ◦ p 1 (Y ′ ).If a is positive, then in C B we have a − a + b − b + where a − and b + are in the dual (and thus sent tothe left to a + and b − respectively). But then a − ∈ p 2 (X) and thus a + ∈ g ◦ p 1 (X). Thus Y := Y ′ veriesthe required property.


CHAPTER 3. POLARIZED SPANS 25If a is negative. Then, if a − ∈ g◦p 1 (Y ′ ), let Y := Y ′ . Else g◦p 1 (Y ′ )∪{a} is a negative extension of g◦p 1 (Y ′ )and thus, as s is negatively saturated, there exists Z ∈ C o (S) such that p 1 (Y ′ ) ⊆ Z and g(Z) = g◦p 1 (Y ′ )∪{a}.Let us take this Z to be minimal. As shown in the proof of lemma (3.3.12) Z := p 1 (Y ′ )∪{e} where g(e) = a.And thus Y := Y ′ ∪ {(e, b + )} is a conguration.□Let Y be the extension of X given by lemma (3.3.18). We know that there is an element of the form (e, b + )in it and thus we <strong>de</strong>ne θ(⌈(⋆, b − )⌉ X ) = e. ThisTo show that this e is unique, let us consi<strong>de</strong>r two congurations X 1 and Y 1 such that ⌈(⋆, b − )⌉ X1 =⌈(⋆, b − )⌉ X2 , then let X = ⌈(⋆, b − )⌉ X1 , it is also a conguration and it is clear that ⌈(⋆, b − )⌉ X = ⌈(⋆, b − )⌉ X1 .Let us now consi<strong>de</strong>r two congurations Y 1 and Y 2 that verify the lemma with respect to X 1 and X 2 respectively.Then let us show that Y 3 = Y 1 ∩ Y 2 veries the lemma with respect to X. First of all, it is clear that Y 3 is aconguration that contains X. Let us now suppose that we have a ∈ ⌈b − ⌉ minimal such that a ∉ g ◦ p 1 (Y 3 ).If a is positive, we have shown that there is an element (e, a − ) in X and thus in Y 3 . Therefore a must benegative. But we know that there exists e i ∈ p 1 (Y i ) such that g(e i ) = a for i = 1, 2.Let e ′ be a direct pre<strong>de</strong>cessor of e 1 , then as s is innocent, g(e ′ ) ↓ and g(e ′ ) a. But then, as a is minimal,we have e ′ ∈ Y 3 ⊆ Y 2 . Moreover, there exists e ′′ e 2 such that g(e ′′ ) = g(e ′ ), but as g is injective on Y 2 , wemust have e ′ = e ′′ e 2 . We symmetrically that all direct pre<strong>de</strong>cessors of e 2 are pre<strong>de</strong>cessors of e 1 and thuswe know that e 1 and e 2 have the same strict history. Thus they are coinci<strong>de</strong>nt. As s is negative coinci<strong>de</strong>ncefree, e 1 = e 2 . Therefore a ∈ g ◦ p 1 (Y 3 ), but that is absurd. Thus Y 3 veries the required property.Let us now suppose that we have constructed θ(⌈(⋆, b − )⌉ X ) = e 1 using Y 1 and θ(⌈(⋆, b − )⌉ X ) = e 2 using Y 2 .Then we can use Y 1 ∩ Y 2 to construct yet another possible image e 3 . But e 1 and e 3 are both in Y 1 and havethe same image by p 2 thus there are equal. Symmetrically, e 2 = e 3 , and thus θ is well <strong>de</strong>ned.Let us now show that θ is a map of event structures. Let X ∈ C o (P ), then by iterating lemma (3.3.18), onall elements of the form ⌈(⋆, b − )⌉ X we obtain a conguration X ′ such that{⌈(θ(z), b + )⌉ X | (⋆, b − ) ∈ X ∧ z = ⌈(⋆, b − )⌉ X } ⊆ X ′We can consi<strong>de</strong>r this X ′ to be minimal. Let X ′′ be X ′ \{(e, b − ) ∈ X ′ | (⋆, b + ) ∉ X ′ }. Then X ′′ is aconguration. In<strong>de</strong>ed, it is consistent as the subset of a consistent one. Let us show it is down-closed. Letz ∈ X ′′ and y X ′ z. Then, as z ∈ X ′ and X ′ down-closed, we y ∈ X ′ . If it is not of the form (e, b − ) it isstill in X ′′ . Let us now suppose it is of this form, and that it is maximal such that it is not in X ′′ .Let z ′ be such that (e, b − ) z ′ z. Lemma (1.4.5) implies that there exists i such that p i (e, b − ) p i (z ′ ).First let us suppose i = 1. As e must be positive and s is innocent, g(e) g ◦ p 1 (z ′ ). Moreover, for thesquare to commute, we must have l ◦ p 2 (z ′ ) ↓ and thus p 2 (z ′ ) ↓. Therefore b − and p 2 (z ′ ) are both in B ⊥ andsuch that l(b − ) l ◦ p 2 (z ′ ). By the <strong>de</strong>nition of copycat, we must have b − p 2 (z ′ ). If p 2 (z ′ ) is positive,then b + p 2 (z ′ ) − p 2 (z ′ ) + and thus X ′ must contain (⋆, b + ). If p 2 (z ′ ) is negative, then as we have chosen(e, b − ) maximal such that it is in X ′ but not in X ′′ , z ′ must be in X ′′ and thus (⋆, p 2 (z ′ ) + ) ∈ X ′ . Thus(⋆, b + ) ∈ X ′ .Let us now suppose that i = 2. Then we have b − p 2 (z ′ ). If p 2 (z) ∈ B, the <strong>de</strong>nition of copycat impliesthat p 2 (z) = b + and thus (⋆, b − ) ∈ X. If p 2 (z) ∈ B ⊥ we are back in a case we have consi<strong>de</strong>red before, andthus (⋆, b + ) ∈ X ′ . In all cases X ′′ contains (e, b − ), and so that is absurd.Thus we have shown that X ′′ is a conguration. Moreover θ(X) = p 1 (X ′′ ). As p 1 is a map of eventstructures, p 1 (X ′′ ) ∈ C o (S), and thus θ(X) ∈ C o (S).A rapid look at its construction shows that θ is strictly polarised. Moreover let us show it is rigid. First,let us remark that l is an extremal epimorphism and thus according to lemma (3.3.5), its pullback p 1 isextremal too. In particular, lemma (3.3.3) implies it is rigid. Let x 1 and x 2 ∈ P such that x 1 x 2and x i ↓ for i = 1, 2 (and thus they contain a ⋆). Let us show by induction on the number of eventsbetween x 1 and x 2 that θ(x 1 ) θ(x 2 ). If we have x 3 such that x 1 < x 3 < x 2 and θ(x 3 ) ↓ we can conclu<strong>de</strong>


CHAPTER 3. POLARIZED SPANS 26immediately by induction. One other simple case is if x i = (e i , ⋆) for i = 1, 2, but then, as p 1 is rigid, wehave θ(x 1 ) = p 1 (x 1 ) p 2 (x 1 ) = θ(x 2 ).Now, if we have x 1 = (⋆, b 1 ) (⋆, b 2 ) = x 2 , lemma (1.4.5) implies that b 1 b 2 in C B , but, as the squarecommutes, they must both be in D r = B, we can conclu<strong>de</strong> that b 1 b 2 in B. And thus g ◦ θ(x 1 ) g ◦ θ(x 2 ).Therefore there exists e θ(x 2 ) such that g(e) = g ◦ θ(x 1 ). But then, as theta⌈x 2 ⌉ is a conguration thatcontains θ(x 1 ) and θ(x 2 ) (and thus e), local injectivity implies that e = θ(x 1 ) and thus that θ(x 1 ) θ(x 2 ).One may remark that lemma 1.4.5 implies that we cannot have x 1 = (⋆, b 1 ) (e 2 , ⋆) = x 2 (or vice versa).Thus the last case is when x 1 is not direct pre<strong>de</strong>cessor to x 2 and they are only separated by elements not inD θ (and thus of the form (e, b)). We will only consi<strong>de</strong>r the case where x i = (⋆, b i ), as the two other cases aretreated in a similar manner. Then, there exists y 1 = (e 1 , b ′ 1 ), y 2 = (s 2 , b ′ 2 ) ∈ P such that x 1 y 1 y 2 x 2 .But then lemma (1.4.5) implies that b 1 b ′ 1 and b′ 2 b 2. Moreover, for the square to commute, for i = 1, 2,we must have r(b i ) ↓ and l(b ′ i ) ↓ and thus the <strong>de</strong>nition of copycat implies that b′ i = b⊥ i . Thus θx i = e i andas p 1 is rigid, θ(x 1 ) θ(x 2 ).Let us now show that it is surjective on congurations. Let X ∈ C o (S) be a conguration. As p 1 is extremal,lemma (3.3.3) implies that it is surjective on congurations. Let Y ∈ C o (P ) such that p 1 (Y ) = X. LetY ′ = Y ∪ {(⋆, b + ) | (e, b − ) ∈ Y }. Then it is straightforward to check that Y ′ ∈ C o (P ). Moreover, letY ′′ = Y ′ \{(⋆, b − ) | (e, b + ) ∉ Y ′ }. Then Y ′′ ∈ C o (P ). In<strong>de</strong>ed, it is consistent. Now let us consi<strong>de</strong>rz ∈ Y ′′ and (⋆, b − ) Y ′ z and let us show by induction on the number of events between (⋆, b − ) and z, that(⋆, b − ) ∈ Y ′′ . Let z ′′ ∈ P such that (⋆, b − ) z ′ z ′′ . If z ′ = (e, b ′ ), lemma (1.4.5) implies that b − b ′ andas r(b − ) ↓ and l(b ′ ) ↓ for the square to commute, we must have b ′ = b + and thus (e, b + ) = z ′ ∈ Y ′′ , therefore(⋆, b − ) ∈ Y ′′ . If z ′ = (⋆, b ′ ), then b − b ′ and r(b ′ ) ↓ thus the <strong>de</strong>nition of copycat implies that b ′ is negative.Thus by induction z ′ ∈ Y ′′ and thus (e ′ , b ′+ ) ∈ Y ′ , thus (e, b + ) ∈ Y ′ . Therefore (⋆, b − ) ∈ Y ′′ .Thus we have proved that Y ′′ ∈ C o (P ), and as θ(Y ′′ ) = p 1 (Y ) = X, θ is in<strong>de</strong>ed surjective on congurations.Therefore according to lemma (3.3.3), it is a strong epimorphism.Furthermore θ is injective on nite congurations of P that only have elements of D θ as their top elements,i.e. congurations of visible events. Let X and Y be two such congurations such that θ(X) = θ(Y ). Let usshow that X ⊂ Y . Let x ∈ X. If θ(x) ↓, then an analysis of all four cases shows that a given e ∈ S can onlybe the image by θ of a specic pair (notwithstanding the conguration), and thus x ∈ Y . There remainsthe case x = (e, b). But as X has all top elements in D θ , there exists y ∈ D theta such that y ∈ X (and thusin Y , as we have seen previously) and x y.If y = (e ′ , ⋆), then as p 1 is rigid, e e ′ and thus there exists an element of the form (e, b ′ ) ∈ Y , but thenb ′⊥ = p 2 ◦ l(e, b ′ ) = p 1 ◦ r(e) = p 2 ◦ l(e, b) = b ⊥ thus b = b ′ and x ∈ Y . Now, if y = (⋆, b ′ ), let us suppose it isminimal such that x y and θ(y) ↓. Then there exists (e ′′ , b ′′ ) such that (e, b (e ′′ , b ′′ ) (⋆, b ′ )). As shownearlier, we must thus have b ′ positive and b ′′ = b ′− . Therefore there is an element of the form (e ′ , b ′− ) ∈ Y .But then e ′ = θ(⌈(⋆, b ′ )⌉ Y ) and e ′′ = θ(⌈(⋆, b ′ )⌉ X ) are both in θ(X) = θ(Y ). But as we have already seen, agiven image can come only from one pair, and thus we must have e ′ = e ′′ . We can then conclu<strong>de</strong> as in theprevious case to show that x ∈ Y . The symmetry of the problem allows us to say that we have Y ⊂ X too,and thus they are equal.Thus, lemma (3.3.4) implies that Vθ is a monomorphism. Moreover lemma (3.3.6) implies that it is alsoa extremal map, thus, according to lemma (2.2.4), it is an isomorphism between V(s ⧆ cc) and Vs. But wehave showed in the proof of lemma (3.3.2), that the visible part of a fully visible span is itself and thus wehave the required isomorphism.To prove the reciprocal one just has to consi<strong>de</strong>r counter-examples that are relatively easy to nd but whose<strong>de</strong>scription can be long...□Moreover, I believe that when they exist, the isomorphisms are natural and make the triangle of the bicatericalaxioms commute. The proofs are terribly tedious... Nevertheless, if we admit this little bit, we canat last <strong>de</strong>ne the category of spans that we have been looking for.


CHAPTER 3. POLARIZED SPANS 27Denition 3.3.19 (Span Inn ) :Negatively saturated, negative coinci<strong>de</strong>nce free, innocent and fully visible polarised spans form a bicategorySpan Inn whose composition is ⧆ and whose i<strong>de</strong>ntities are copycat spans.∆. Associativity is inherited from VSpan ± ɵ. The unitors are given by lemma (3.3.17) □


Chapter 4Some monads and adjunctions4.1 An adjunction for rigidityThe rst construction, we are to consi<strong>de</strong>r is how to represent non rigid maps out of rigid maps. To do thiswe <strong>de</strong>ne the augmentations of an event structure and show that a partial rigid map into the augmentationsis exactly a partial map into the event structure.Denition 4.1.1 (Augmentations) :Let A be an event structure. We <strong>de</strong>ne an A-augmentation to be a pair (X, α) where X ∈ C(A) and α is anitary or<strong>de</strong>r on X that renes A , i.e. for all a, b ∈ X such that a A b then aαb.A-Augmentations can be or<strong>de</strong>red by taking (X, α) (Y, β) if and only if X ⊆ Y and the inclusion from (X, α)to (Y, β), viewed as elementary event structures, is a rigid map of event structures.Lemma 4.1.2 :Let A be an event structure. The augmentations of A form a nitary prime algebraic domain whoseprimes are the nite augmentations with a top element.∆. The A-augmentations are consistent complete, in<strong>de</strong>ed, let X be a set of A-augmentations, then its leastupper bound is the A-augmentation ⋃ X with the or<strong>de</strong>r inherited by the A-augmentations in X. This or<strong>de</strong>ris well <strong>de</strong>ned because let (Y 1 , α 1 ) and (Y 2 , α 2 ) be two elements of X, and a, b ∈ Y 1 ∩ Y 2 such that aα 1 b.Then as X is nitely boun<strong>de</strong>d, there exists (Z, β) such that the inclusion of (Y i , α i ) into (Z, β) is rigid, fori = 1, 2. Thus as aα 1 b we also have aβb and thus aα 2 b.Moreover ⋃ ⋃X is down-closed as it is the union of down-closed sets and it is consistent as, if there is Y ⊆ f Xthen there is a covering of Y with a nite number of x ∈ X which are boun<strong>de</strong>d as X is consistent completeand thus Y is a subset of the bound (that is itself a conguration). It is also clear that the or<strong>de</strong>r we have<strong>de</strong>ned renes the or<strong>de</strong>r of A. Thus it is a A-augmentation.Moreover, let p := (P, θ) be a A-augmentation with a top element e, and X a set of A-augmentations suchthat p ∐ X := (Z, β). Then there is a (Y, alpha) ∈ X such that e ∈ Y . But then yθe implies yβe andthus y must be in Y too and we haveyαe. Therefore p (Y, alpha) and p is in<strong>de</strong>ed a complete prime.Finally, let x = (X, α) be a A-augmentation, then x = ∐ {⌈e⌉ a lpha | e ∈ X}.□Let A be an event structure, we <strong>de</strong>ne Aug(A) to be the event structure associated with the nitary primealgebraic domain of the A-augmentations.Theorem 4.1.3 :The inclusion functor from E pr to E p has a right adjoint whose object function is Aug.∆. Let us rst show that the map ε A from Aug(A) to A that takes an augmentation with a top to its topis a map of E p .Let X ∈ C o (Aug A), As X is a conguration, it is boun<strong>de</strong>d in the A-augmentations, thus there exists(Y, α) such that all element of X are inclu<strong>de</strong>d rigidly into (Y, α). Thus X = {⌈x⌉ α | x ∈ ⋃ X}. Thenε A (X) = ⋃ X ⊆ Y is a conguration. Moreover, ε A is clearly injective on X.Let us now show that it is universal from Incl to A. Let f : B ⇀ A in E p . Let b ∈ B, such that f(b) ↓.Then the conguration f(⌈b⌉) inherits an or<strong>de</strong>r from B by taking f(x) f f(y) if and only if x B y (asf is injective on conguration, this or<strong>de</strong>r is well-<strong>de</strong>ned). Lemma (1.1.4) states that f reects or<strong>de</strong>r on28


CHAPTER 4. SOME MONADS AND ADJUNCTIONS 29congurations and thus this or<strong>de</strong>r renes the or<strong>de</strong>r in A. Therefore (f(⌈b⌉), f ) is an A-augmentation.Moreover, f(b) is its top element, and thus it is an event of Aug(A).We can therefore consi<strong>de</strong>r the map f from B to Aug(A) that takes a b, when f(b) ↓, to (f(⌈b⌉) f ) and thatis un<strong>de</strong>ned elsewhere. Let us show that this map is a map of E pr . Let X ∈ C o (B) then for all x ∈ X, f(x)(if <strong>de</strong>ned) can be injected rigidly into (f(X), f ) and thus f(X) is consistent. Moreover, let y ∈ f(X) andx y. Then there exists y ′ ∈ X such that y = ⌈f(y ′ )⌉ f . But then, as x has a top element and can beinjected rigidly into y, there exist x ′ ∈ ⌈f(y ′ )⌉ ⊆⌈f(X)⌉ ⊆ f(⌈X⌉) = f(X) such that x = ⌈x ′ ⌉ f . But thenthere exist x ′′ ∈ X such that x ′ = f(x ′′ ) and thus x = f(x ′′ ).It remains to show that f is locally injective. But if f(x 1 ) = f(x 2 ), they must have the same top elementand thus f(x 1 ) = f(x 2 ). As f is injective on congurations we can conclu<strong>de</strong>.It is evi<strong>de</strong>nt that ε A (f(b)) = f(b). Moreover, let h : B ⇀ Aug(A) be a map in E pr that veries this equality.Let b ∈ B, if f(b) ↑, then as ε A is total, we must have h(b) ↑ and f(b) ↑.Let us now suppose that f(b) ↓, and let h(b) = (X, α). Let us rst show that ⌈h(b)⌉ = {⌈x⌉ α | x ∈ X}.Lety ∈ ⌈h(b)⌉, then as y h(b), it is a down-closed subset of X inheriting its or<strong>de</strong>r from α. Moreover as it isin Aug(A), it has a top and thus is of the form ⌈x⌉ α for some x ∈ X. Conversely, it is evi<strong>de</strong>nt that ⌈x⌉ α canbe injected rigidly into (X, α).Let us now show that X = f(⌈b⌉). Let x ∈ X, as shown before this is equivalent to ⌈x⌉ α ∈ ⌈h(b)⌉. But ash is rigid, according to lemma (1.1.6), ⌈h(b)⌉ = h(⌈b⌉). Thus this is equivalent to the existence of y ∈ ⌈b⌉such that h(y) = ⌈x⌉ α . But then f(y) = ε A (h(y)) = x and thus x ∈ f⌈b⌉.Let us nally show that α = f . Let x, y ∈ X. As shown before, there exist x ′ and y ′ ∈ ⌈b⌉ such thatf(x ′ ) = x, f(y ′ ) = y, h(x ′ ) = ⌈x⌉ α and h(y ′ ) = ⌈y⌉ α . But then xαy is equivalent to the fact that ⌈x⌉ α canbe injected rigidly into ⌈y⌉ α and thus to h(x ′ ) h(y ′ ). As h is rigid, that is equivalent to x ′ B y ′ and thuswe have proved that f(x ′ )αf(y ′ ) is equivalent to x ′ B y ′ .Therefore, if f(b) ↓ then h(b) = f(b). As we have shown that f(b) ↑ implies both f(b) ↑ and h(b) ↑, we havein<strong>de</strong>ed proven that h = f.□This process can be copied to obtain a right adjoint to the inclusion functor from Fil pr into Fil p .Denition 4.1.4 (Filiform augmentations) :Let A be a liform event structure. We <strong>de</strong>ne an liform A-augmentation to be a pair (X, α) where X ∈ C(A)and α is a liform nitary or<strong>de</strong>r on X that renes A , i.e. for all a, b ∈ X such that a A b then aαb.Filiform A-augmentations can be or<strong>de</strong>red by saying that (X, α) (Y, β) if and only if X ⊆ Y and the inclusionfrom (X, α) to (Y, β) viewed as elementary event structures is a rigid map of event structures.Lemma 4.1.5 :Let A be an event structure. The liform augmentations of A form a nitary prime algebraic domainwhose primes are the nite augmentations with a top element.∆. The one dierence with the preceding proof is to show that the least upper bound we have <strong>de</strong>ned is aliform augmentation. In<strong>de</strong>ed, let X be a set of liform A-augmentation and let ( ⋃ X, β) be the least upperbound we have already <strong>de</strong>ned. Let us show it is liform.Let y, z 1 , z 2 ∈ ⋃ X such that z 1 , z 2 βy. Then there is a (Y, alpha) ∈ X such that y ∈ Y . But then(Y, alpha) ( ⋃ X, β) and thus we must also have z 1 , z 2 ∈ Y and z 1 , z 2 αy. As (Y, alpha) is liform thisimplies that z 1 αz 2 or z 2 αz 1 and therefore z 1 βz 2 or z 2 βz 1 .□Let A be a liform event structure, we <strong>de</strong>ne Filaug(A) to be the event structure associated with the nitaryprime algebraic domain of the liform A-augmentations.Lemma 4.1.6 :Let A be a liform event structure, then Filaug(A) is liform.


CHAPTER 4. SOME MONADS AND ADJUNCTIONS 30∆. Let (X, α), Y , Z be three liform A-augmentations with a top element such that Y , Z (X, α). Thenthere exists y, z ∈ X such that Y = ⌈y⌉ α and Z = ⌈z⌉ α . But then y and z are both smaller that the topelement of (X, α) which is a liform or<strong>de</strong>r and thus we can suppose yαz. But then that implies that ⌈y⌉ αis inclu<strong>de</strong>d rigidly into ⌈z⌉ α and thus that Y Z.□Theorem 4.1.7 :The inclusion functor from Fil pr to Fil p has a right adjoint whose object function is Filaug.∆. The proof is essentially the same that the one of theorem (4.1.3). The only addition is to show that(f(⌈b⌉), f ) is liform. So let f(x), f(y) and f(z) ∈ f(⌈b⌉), such that f(y), f(z) f f(x). Then y, z xand thus we can suppose y z. But then that implies that f(y) f f(z).□4.2 Filiform event structures and rigidityLet us now consi<strong>de</strong>r a rapid result, that in itself will not be useful but is worth noticing.Lemma 4.2.1 :Let A be a liform event structure, B an event structure and f : A ⇀ B rigid. Then the image of f inB is a liform event structure.∆. Let y 1 , y 2 and f(z) in If such that y 1 , y 2 f(z). Then there exists x 1 , x 2 z such that f(x 1 ) = y 1and f(x 2 ) = y 2 . As A is liform, we can suppose x 1 x 2 and thus as f is rigid, y 1 = f(x 1 ) f(x 2 ) = y 2 .□Lemma 4.2.2 :Let A be an event structure and let (F i ) i∈I be a family of liform down-closed sub event structures.Then ⋃ i∈I F i is liform and down-closed.∆. let x ∈ ⋃ i∈I F i and y 1 , y 2 x. Let i ∈ I such that x ∈ F i , then as F i is down-closed, y 1 , y 2 ∈ F i and, asit is liform, y 1 and y 2 are comparable. Thus ⋃ i∈I F i is liform.Moreover y 1 ∈ F i ⊆ ⋃ i∈I F i, thus it is down-closed.□Denition 4.2.3 (Filiform component) :Let A be an event structure and let Mfil(A) be its maximal down-closed liform subset. It exists in virtue oflemma (4.2.2) as the union of all the down-closed liform subsets of A.Theorem 4.2.4 :The inclusion functor from E pr to Fil pr has a right adjoint of which Mfil is the object function. As theinclusion functor is full and faithfull, it is a coreection.∆. It suces to show that the inclusion map ε A from Incl ◦ Mfil(A) to A is a universal arrow from Incl toA. Let B be a liform event structure and let f : Incl(B) ⇀ A. Then lemma (4.2.1) implies that If isliform and inclu<strong>de</strong>d in A, thus it is in Mfil(A). Thus f can be seen as a map from B to Mfil(A) such thatε A ◦ Incl(f) = f.Moreover if there is a another map h : B ⇀ Mfil(A) such that ε A ◦ Incl(h) = f, then as ε A is monic,Incl(h) = Incl(f) and thus f = h.□4.3 A copying mechanismTo give the notion of copying in an event structure a good enough sense, we have to consi<strong>de</strong>r a notion ofsymmetry to be able to, in a way, i<strong>de</strong>ntify the copies of a given element. We will <strong>de</strong>ne it here without thesymmetry, but then cannot show it is a monad.


CHAPTER 4. SOME MONADS AND ADJUNCTIONS 31The copying we consi<strong>de</strong>r here is quite complicated as it recursively copies events from the bottom to thetop, and does not simply copy the event structure itself.Denition 4.3.1 (!E) :Let E be an event structure and let us <strong>de</strong>ne !E to be the smallest set such that (P, i, e) ∈ !E if and only ifP ⊆ !E, i ∈ N, e ∈ E, ε E is a bijection from P to ⌊e⌋, where ε E (P ′ , i ′ , e ′ ) = e ′ , and P is transitive, i.e. if(P 1 , i 1 , e 1 ) ∈ P and (P 2 , i 2 , e 2 ) ∈ P 1 then (P 2 , i 2 , e 2 ) ∈ P .Let X ∈ C !E if and only if X ⊆ f !E and for all Y ⊆ X such that ε E Y is injective, ε E (Y ) ∈ C E . And let(P ′ , i ′ , e ′ ) < !E (P, i, e) of and only if (P ′ , i ′ , e ′ ) ∈ P .Lemma 4.3.2 :!E is an event structure. Moreover, if E is liform, !E is liform too.∆. Let us rst check that it is a event structure.Firstly, let us check that we have in<strong>de</strong>ed <strong>de</strong>ned a strict or<strong>de</strong>r. We cannot have (P, i, e) < !E (P, i, e) becausethat would imply that (P, i, e) ∈ P and thus that e = ε E (P, i, e) ∈ ε E (P ) = ⌊e⌋, which is absurd. Moreover,let (P 1 , i 1 , e 1 ) < !E (P 2 , i 2 , e 2 ) < !E (P 3 , i 3 , e 3 ). Then (P 1 , i 1 , e 1 ) ∈ P 2 and (P 2 , i 2 , e 2 ) ∈ P 1 , as P 1 is transitive,we have (P 1 , i 1 , e 1 ) ∈ P 3 and thus (P 1 , i 1 , e 1 ) < !E (P 3 , i 3 , e 3 ).Secondly, let (P, i, e) ∈ !E, then #(⌈(P, i, e)⌉) = #(P ) + 1, and as P is injected into ⌊e⌋ that is nite, P isnite. Thus the or<strong>de</strong>r is nitary.Thirdly, ε E ({(P, i, e)}) = {e} ∈ C E . Thus singletons are consistent.Fourthly, if Y ⊆ X then for all Z ⊆ Y such that ε E Z is injective, we also have Z ⊆ Y and thus if X isconsistent, ε E (Z) ∈ C o (E) and therefore Y is consistent.Finally, let (P, i, e) ∈ X ∈ C !E and let (P ′ , i ′ , e ′ ) < !E (P, i, e). Then (P ′ , i ′ , e ′ ) ∈ P and thus e ′ =ε E (P ′ , i ′ , e ′ ) ∈ ε E (P ) = ⌊e⌋. Let Z ⊆ X ∪ {(P ′ , i ′ , e ′ )} such that ε E Z is injective. If Z ⊆ X then weknow that ε E (Z) ∈ C o (E), else Y = ε E (Y \{(P ′ , i ′ , e ′ )}) ∈ C o (E) and ε E (Z) = Y ∪ e ′ . Moreover e ∈ Y andthus Y ∪ e ′ ∈ C o (E). Therefore X ∪ {(P ′ , i ′ , e ′ ) ∈ C o (!E).Furthermore, let us show that if E is liform then !E is liform.Let (P 1 , i 1 , e 1 ), (P 2 , i 2 , e 2 ) !E (P, i, e), the case when there is at least one equality is evi<strong>de</strong>nt, thus we cansuppose that they are strictly inferior, i.e. (P 1 , i 1 , e 1 ), (P 2 , i 2 , e 2 ) ∈ P , and dierent. But then ε E (P j , i j , e j ) =e j ∈ ⌊e⌋ for j = 1, 2 and thus as E is liform, e 1 and e 2 are comparable. Let us suppose that e 1 E e 2 .But as (P 1 , i 1 , e 1 ) and (P 2 , i 2 , e 2 ) are distinct and that ε E is injective on P 2 , it follows that e 1 < e 2 and thusthat there exists (P 1 ′, i′ 1 , e 1) ∈ P 2 . But, as P is transitive, that implies that (P 1 ′, i′ 1 , e 1) ∈ P and, as ε E P3 isinjective, it implies that P 1 ′ = P 1 and i ′ 1 = i 1. And thus (P 1 , i 1 , e 1 ) < !E (P 2 , i 2 , e 2 ).□Let E be an event structure and x, y ∈ !E. If ε E (x) = ε E (y) they are said to be copies of one another.


Chapter 5GamesThere are many presentations of simple games, for example [Hyl97] and [HHM07], or disguised as anesequential algorithms in [Cur94]. In my opinion, it is [HHM07], that gives the clearest, and most formal<strong>de</strong>nition of all, thus I'll work with this one.The goal in this chapter is to show that our category Span Inn is rich enough to represent already existinggames.5.1 Schedules and simple gamesThis section gives a somewhat dierent account of the <strong>de</strong>nitions in [HHM07], the main dierence is thatschedules are <strong>de</strong>ned in a way that I nd simpler to work with.First let us <strong>de</strong>ne those schedules. They are objects that allow to mix two or<strong>de</strong>rs. They will be used toconstruct the arena later on.Denition 5.1.1 (Schedules) :For all n ∈ N, let (n) := 1; n with the convention that (0) = ∅.For all p ∈ N, q ∈ N, σ a schedule σ : p ⇾ q is a relation from (p) to (q) such that(i) For all x, y ∈ (p) and z, t ∈ (q), x yσz t implies xσt.(ii) If x ∈ (p) is odd, then, for all y ∈ (q), xσy implies (x + 1)σy.(iii) If y ∈ (q) is even, then, for all x ∈ (p), yσ ∗ x implies (y + 1)σ ∗ x.(iv) For all x ∈ (p), 1σ ∗ x.where σ ∗ , the symmetric relation, is the relation <strong>de</strong>ned on q × p by yσ ∗ x := ¬(xσy).We say that σ : p ⇾ q is a right schedule if pσq and that it is a left schedule if qσ ⊥ p (with the obviousconventions that schedules from 0 are all right schedules).As pσq and qσ ⊥ p are mutually exclusive, a schedule cannot be both right and left.If we take the convention that one may only write xσy (be it true or false) if x p and y q, then the lastcondition implies that q 1, the second condition that if the schedule is right then p is event and the thirdthat if the schedule is left then q is odd.We also <strong>de</strong>ne σ − to be the schedule σ without its top element (i.e. σ p×(q−1) if it is right and σ (p−1)×q ifit left).Let us now show that the rst requirement of a schedule also holds for its symmetric.Lemma 5.1.2 :Let σ : p ⇾ q be a schedule and let x, y ∈ (q) and z, t ∈ (p). Then x yσ ∗ z t implies xσ ∗ t.∆. Let us suppose that tσx, then z tσx y, and thus zσy, but that is absurd. □In fact, a schedule only needs to or<strong>de</strong>r even elements, the following <strong>de</strong>nition and lemma make that clear.Denition 5.1.3 (Alternative <strong>de</strong>nition of schedules) :Let (p) e := {x ∈ (p) | x is even}.32


CHAPTER 5. GAMES 33Let p ∈ N and q ∈ N ∗ , an even schedule σ : p ⇾ q is a relation from (p) e to (q) e such that for all x, y ∈ (p) eand z, t ∈ (q) e , x yσz t implies xσt, and such that if q is even, then p is even and pσq.Lemma 5.1.4 :There is a bijective correspon<strong>de</strong>nce between schedules and even schedules.∆. If one has a schedule, one can obtain an even schedule σ e by restricting it to even numbers. We havealready noted that q 1 for any schedule, and that if σ is left, then q is odd, and thus if q is even, theschedule must be right and thus the last condition holds.If one has an even schedule σ : p ⇾ q, for all x ∈ (p) and y ∈ (q), let xσy if and only if there exists z ∈ (p) eand t ∈ (q) e such that x zσt y. Let us check that σ is a schedule.(i) The rst condition is implied by the <strong>de</strong>nition.(ii) Let x ∈ (p) be odd and y ∈ (q) such that xσy. Then there exists z ∈ (p) e and t ∈ (q) e such thatx zσt y. But as x is odd (x + 1) z and thus (x + 1)σy.(iii) Let y ∈ (q) be even and x ∈ (p) such that xσ(y + 1). Then there exists z ∈ (p) e and t ∈ (q) e suchthat x zσt (y +1). But then, as t is even and y too, t y and thus xσy. Moreover, if y +1 > qthen, that implies that y = q is even and thus p is even and pσq. Thus x pσq = y.(iv) First of all, it is in<strong>de</strong>ed the case that 1 q. Furthermore, let x ∈ (p) such that xσ1 then thereexists y ∈ (p) e and z ∈ (q) e such that x yσz 1. But that is impossible since there are no evennumbers smaller that 1 and strictly bigger than 0.Let us now show that these two transformations are mutually reciprocal. First, let σ : p ⇾ q be an evenschedule.Let x ∈ (p) e and y ∈ (q) e such that xσ e y, then there exists z ∈ (p) e and t ∈ (q) e such that x zσt y andthus xσy.Let us now suppose that xσy, then as x xσy y, we do have xσ e y.Secondly, let σ be a schedule, and let x ∈ (p) and y ∈ (q) such that xσ e y. Then there exists z ∈ (p) e andt ∈ (q) e such that x zσ e t y and thus xσy.Now, let us suppose that xσy. If x is even, let x ′ = x and if it is odd, let x ′ = x + 1. If y is even, let y ′ = yand if it is odd, let y ′ = y − 1. In both cases x x ′ σ e y ′ y and thus xσy.□Schedules form a category, whose i<strong>de</strong>ntity and composition we are about to present.Denition 5.1.5 (Copy-cat) :For all p ∈ N ∗ , copy-cat is the even schedule c : p ⇾ p such that x c y if and only if x y.Denition 5.1.6 (Composition of schedules) :Let σ : p ⇾ q and τ : q ⇾ r be two schedules. We <strong>de</strong>ne τ ◦ σ : p ⇾ r be the relational composition of the twoschedules.∆. Let us check that τ ◦ σ is a schedule.(i) Let x, y ∈ (p) and z, t ∈ (r) such that x y(τ ◦ σ)z t. Then there exists w ∈ (q) such thatyσwτz. And thus as σ and τ are schedules, xσw and wτt and thus x(τ ◦ σ)t.(ii) Let x(p) be odd and such that x < p and let y ∈ (r) such that x(τ ◦ σ)y. Then there exists z ∈ (q)such that xσzτy. Therefore (x + 1)σz and thus (x + 1)(τ ◦ σ)y.(iii) Let y ∈ (r) be even such that y < r. Then let x ∈ (p) and z ∈ (q) such that xσzτ(y + 1). Thenzτy and thus x(τ ◦ σ)y. Thus x(τ ◦ σ) ∗ y implies x(τ ◦ σ) ∗ (y + 1).


CHAPTER 5. GAMES 34(iv) let x ∈ (p), z ∈ (q) such that xσzτ1. But that contradicts the fact that for all z ∈ (q), 1σ ∗ z. Thus1(τ ◦ σ) ∗ x. □Even schedules compose like relations. This composition correspond to the composition of schedules. Thisis due to the fact that if we have xτyσz with y odd, then xτ(y − 1)σz also holds.Denition 5.1.7 (Υ) :Let Υ be the category where objects are all (n) for n ∈ N and the arrows are schedules.according to the composition just <strong>de</strong>ned and the i<strong>de</strong>ntities are the copy-cat schedules.They compose∆. The composition is inherited from the relations and thus is associative. We just need to show that thecopy-cat schedules are the i<strong>de</strong>ntities. But this is clear using the even schedule <strong>de</strong>nition.□Let us now <strong>de</strong>ne an or<strong>de</strong>r on schedules.Denition 5.1.8 (Schedule restriction) :Let σ : p ⇾ q be a schedule and let x ∈ (p) and y := max{z ∈ (q) | zσ ⊥ x}. Then σ x : x ⇾ y is the restrictionof σ to (x) × (y).Let y ∈ (q) and x := max{z ∈ (p) | zσy}. Then σ y : x ⇾ y is the restriction of σ to (x) × (y).We write σ ≺ τ if there exists x such that σ = τ x or σ = τ x .Let us now move on to <strong>de</strong>ning simple games and their strategies.Denition 5.1.9 (Games) :A game A is given by family of sets (A(n)) n∈N ∗and functions π n : A(n + 1) → A(n).We will hereafter take the convention that A(0) is the singleton {⋆} and thus that π 0 is the constant functionfrom A(1) to {⋆}.The move in A(2n) are said to be player moves, whereas those in A(2n + 1) are said to be opponent moves.Denition 5.1.10 (Strategies) :Let A be a game, a strategy s in A is a family of sets s(n) ⊆ A(n) such that(i) if x ∈ s(n + 1) then π(x) ∈ s(n).(ii) if x, y ∈ s(2n) with π(x) = π(y) then x = y.(iii) if x ∈ A(2n + 1) such that π(x) ∈ s(2n) then x ∈ s(2n + 1).A strategy therefore is a down-closed collection of moves that verify that the player only answers one wayto a certain opponent move. The last requirement is just there for technical reasons, it just states that allopponent moves that are accessible have to be present in the strategy.To <strong>de</strong>ne a category of games, we need to <strong>de</strong>ne a function space that will be a game mixing the domainand the co-domain. Then a morphism will be a strategy on this function space.Denition 5.1.11 (A ⊸ B) :Let A and B be games. A ⊸ B is the game such that (A ⊸ B)(n) is the set of triplets (σ, a, b) such thatσ : p ⇾ q is a schedule with p + q = n, a ∈ A(p) and b ∈ B(q) and π is <strong>de</strong>ned by{ (σπ(σ, a, b) =− , π(a), b) if σ is left(σ − , a, π(b)) if σ is rightLet us now <strong>de</strong>ne the composition and the i<strong>de</strong>ntity of our simple games.


CHAPTER 5. GAMES 35Denition 5.1.12 (Composition of strategies) :Let A, B and C be games, s be a strategy on A ⊸ B and r a strategy on B ⊸ C. Let r ◦ s be the strategy onA ⊸ C such that (σ ◦ τ, a, c) ∈ (r ◦ s) if and only if it exists b ∈ B such that (τ, a, b) ∈ s and (σ, b, c) ∈ r.Denition 5.1.13 (Copycat strategies) :Let A be a game, the copycat strategy on A, c A , is the strategy on A ⊸ A comprising all elements (c, a, a)and π(c, a, a) where c is a copy-cat schedule.Denition 5.1.14 (G) :Let G be the category of simple games, whose objects are games, and the maps in G(A, B) are the strategiesin A ⊸ B. They compose according to the previous <strong>de</strong>nition, and i<strong>de</strong>ntities are the copycat strategies.The inclusion of strategies makes G a category enriched in or<strong>de</strong>r, and thus a 2-category.5.2 From sequential spans to strategiesFor technical reasons, we will supposing from now on that all event structures are countable.Denition 5.2.1 (Coinci<strong>de</strong>nce up to copying) :Let s = (f, S, g) be a span. Let x, y ∈ S, they are said to be coinci<strong>de</strong>nt up to symmetry if they have thesame strict history and such that f(x) and f(y) are either both un<strong>de</strong>ned or both <strong>de</strong>ned and copies of oneanother (and of course the same holds for g)Lemma 5.2.2 :Let s 1 and s 2 be two liform spans free of negative coinci<strong>de</strong>nce up to copying that can be composed,then s 2 ◫ s 1 and Vs 1 are free of negative coinci<strong>de</strong>nce up to copying.The proof is rather similar to that without copying, we shall therefore omit it.Denition 5.2.3 (Sequential span) :Let A and B be two alternating, liform, elementary event structures, such that all minimal events arenegatively polarised. A sequential span from A to B is a span (f, S, g) in Span Inn (!A, !B) that is liform,concrete, <strong>de</strong>terministic, alternating and rigid, free of negative coinci<strong>de</strong>nce up to copying and such that allminimal events in S are negative.One can remark that in alternating event structures with negative minimal events, positive events are ofevent height and negative ones are of odd height. Moreover minimal elements of S must be in the domainof g, as their images are minimal thus negative too.Let Span seq be the subcategory of Span Inn containing the sequential spans.Let us now state some fact about these sequential spans that will be useful in the coming proofs. They willbe admitted.Lemma 5.2.4 :Let s = (f, S, g) be a sequential. If s 1 , s 2 ∈ S have a common direct pre<strong>de</strong>cessor, then they are both inD f or both in D g .Moreover if s 1 and s 2 are not equal, they are negative.Lemma 5.2.5 :Let s = (f, S, g) be a sequential span and x, y ∈ S such that they have the same strict history andtheir images are copies, then they are equal.Sequential spans represent simple games in Span Inn , thus we will rst show that we can transform a sequentialspan into a strategy, in a functorial way.


CHAPTER 5. GAMES 36Denition 5.2.6 (G) :First, let E be a liform, elementary event structure such that all minimal events are negatively polarisedand let G(E) be the game such that G(E)(n) is the set of events of height n, i.e. such that # ⌈e⌉ = n, andsuch that for all non minimal event e, π(e) is its direct pre<strong>de</strong>cessor.Let us now consi<strong>de</strong>r a sequential span sfSg !A !BFor all e ∈ S, let p e := #(f(⌈e⌉)), q e := #(g(⌈e⌉)) and σ e : p e ⇾ q e the schedule <strong>de</strong>ned by xσy if and onlyif f −1 (ϕ in (x)) < g −1 (ϕ out (y)) where ϕ f (respectively ϕ g ) is the or<strong>de</strong>r isomorphism between (p e ) and f(⌈e⌉)(respectively (q e ) and g(⌈e⌉)). As, by <strong>de</strong>nition, f and g are injective on ⌈e⌉, this all makes sense. Moreoverlet us write (_, _, a e ) for the top element of f(⌈e⌉) if any (if the set is empty, a e = ⋆) and (_, _, b e ) for thetop element of g(⌈e⌉).Let us now <strong>de</strong>neθS → A ⊸ Be ↦→ (σ e , a e , b e )and nally, for all n ∈ N ∗ , G(s)(n) := {θ(e) | e ∈ S of height n}.Theorem 5.2.7 :G is a pseudo-functor from Span seq to G.The <strong>de</strong>nition of a pseudo-functor can be found in [CHP04].number of technical lemmas that we prove now.Lemma 5.2.8 :σ e is a schedule.∆. Let us check that all the conditions are lled.To prove this theorem, we need a certain(i) Let x, y ∈ (p e ) and z, t ∈ (q e ) such that x yσ e z t. As ϕ f and ϕ g are or<strong>de</strong>r isomorphisms andthat f and g reect or<strong>de</strong>r,and thus xσ e t.f −1 (ϕ f (x)) f −1 (ϕ f (y))< g −1 (ϕ g (z))g −1 (ϕ g (t))(ii) Let x p be odd, then ϕ f (x) is of odd height too, thus negative and f −1 (ϕ f (x)) is positive. If wehave y such that xσ e y, then f −1 (ϕ f (x)) g −1 (ϕ g (y)), thus there is a z such that f −1 (ϕ f (x)) z g −1 (ϕ g (y)). But as s is innocent, f(z) ↓ and thus, as f is rigid, lemma (1.1.5) implies thatz = f −1 (ϕ f (x + 1)). Therefore (x + 1)σy.(iii) Let x q be even, then g −1 (ϕ g (x)) is positive. Thus, as previously, if xσ e y then x + 1σ e y.(iv) As minimal elements are in D g , g −1 (ϕ g (1)) is minimal. Thus, for all x ∈ (p), f −1 (ϕ f (x)) must besuperior.□


CHAPTER 5. GAMES 37Lemma 5.2.9 :Let s be an extremal sequential span, e ∈ D g if and only if σ e is right.∆. Let e ∈ D g then let t be the top element of ⌈e⌉ ∩ D f . Then t = f −1 (ϕ f (p e )) and e = g −1 (ϕ g (p e )) andthus p e σ e q e and therefore σ e is right. The same proof shows that if e ∈ D f then σ e is left.□Lemma 5.2.10 :Let e ∈ S not minimal, then θ(π(e)) = π(θ(e)).∆. Let us suppose that e ∈ D g and thus, according to lemma (5.2.9), that σ e is right. Then π(θ(e)) =(a e , π(b e ), σ − e ). Because e ∈ D g , f(⌈e⌉) = f(⌈π(e)⌉) and thus a e = a π(e) . Moreover, g(⌈π(e)⌉) = ⌊g(e)⌋ andthus b π(e) = π(b e ).Let us now show that σ − e = σ π(e) . Moreover, as ⌊e⌋ = ⌈π(e)⌉, σ πe = σ e pe×(q e−1) = σ − e . □Lemma 5.2.11 :The function θ is injective.∆. Let e 1 , e 2 ∈ S such that θ(e 1 ) = θ(e 2 ). Let us show by induction that ⌈e 1 ⌉ = ⌈e 2 ⌉.Let t 1 ∈ ⌈e 1 ⌉ and t 2 ∈ ⌈e 2 ⌉ at the same height, and let us suppose that any two elements lower than them,at the same height, are equal.Let us rst show that t 1 and t 2 are in the same domain. If they are minimal, then they are both in D g . Ifthey are not minimal they have, by induction hypothesis, a common direct pre<strong>de</strong>cessor, and thus, becauseof lemma (5.2.4) they must be in the same domain.If they are in the same domain and, as they have the same strict history, their images are at the same height.Moreover their images are copies of elements in ⌈a e1 ⌉ = ⌈a e2 ⌉, if t 1 and t 2 are in D f , or in ⌈b e1 ⌉ = ⌈b e2 ⌉, ifthey are in D g . Therefore their images must be copies. But then, because of lemma (5.2.5), we must havet 1 = t 2 .□Lemma 5.2.12 :G(s) is a strategy on G(A) ⊸ G(B).∆. Let us rst check that for all e ∈ S of height n, θ(e) ∈ (A ⊸ B)(n). Lemma (5.2.8) already armsthat σ e is a schedule, moreover, as e is of height n then as their are no internal events and that D fand D g are disjoint, p e + q e = n. Moreover, f(⌈e⌉) is a history and thus its top element (_, _, a e ), andtherefore a e , is of height #(f(⌈e⌉)) = p e . It is the same with b e and thus θ(e) ∈ (A ⊸ B)(n). Therefore,G(s) = {θ(e) | e ∈ S of height n} ⊆(A ⊸ B)(n).According to lemma (5.2.10), for all e ∈ S, π(θ(e)) = θ(π(e)) and thus, π(θ(e)) ∈ G(s).Furthermore, if we have x, y ∈ S even such that π(θ(x)) = π(θ(y)), then by lemma (5.2.10), we haveθ(π(x)) = θ(π(y)). But as θ is injective (lemma (5.2.11)), we have π(x) = π(y). And thus x and y share adirect pre<strong>de</strong>cessor. But then f(⌈x⌉ ∪ {y}) is down-closed in A and thus a conguration. Therefore, as s is<strong>de</strong>terministic, ⌈x⌉ ∪ {y} is a conguration. Therefore, as x and y are even with a common pre<strong>de</strong>cessor ands is concrete, if x ≠ y, they are in conict, thus they must be equal. We have therefore that θ(x) = θ(y).Finally, let x ∈ (A ⊸ B)(2n + 1) such that π(x) ∈ G(s)(2n). Then there exists e ∈ S such that π(x) = θ(e).Let us suppose that x := (σ, a, b) where σ is left. Then q is odd and thus a is even (i.e. negative in A ⊥ ).But then ⌈a⌉ is a negative extension of f(⌈e⌉) and thus there exists X ∈ C o (S) such that f(X) = ⌈a⌉. Aswe have done previously, we can show that X = ⌈e⌉ ∪ {e ′ }, where e e ′ and f(e ′ ) = a.Then π(θ(e ′ )) = θ(π(e ′ )) = θ(e). Thus θ(a) and x have the same direct pre<strong>de</strong>cessor. Moreover they areboth left, thus they are equal and we have in<strong>de</strong>ed x ∈ G(s)(2n + 1).□Lemma 5.2.13 :Let s 1 = (f 1 , S 1 , g 1 ) and s 2 = (f 2 , S 2 , g 2 ) be sequential relations from A to B and let ψ : s 1 ⇒ s 2be a span morphism, then G(s 1 ) ⊆ G(s 2 ). Moreover this makes G a functor from Span seq (A, B) toG(G(A), G(B)).


CHAPTER 5. GAMES 38∆. Let x ∈ S 1 . Let us show that σ x ⊆ σ ψ(x) .First of all f 1 (⌈x⌉) = f 2 (⌈ψ(x)⌉) and thus the or<strong>de</strong>r isomorphism with (p) is the same (we will call it ϕ f ).It is the same with ϕ g .Let us now suppose that we have sσ x t, i.e.f −11 (ϕ f (s)) < g −11 (ϕ g(t))Then as f 1 = f 2 ◦ ψ, f1 −1 = ψ −1 ◦ f2 −1 (and similarly for the right si<strong>de</strong>) where ψ −1 makes sense as ψ is locallyinjective. Thusψ −1 (f2 −1 (ϕ f (s))) < ψ −1 (g2 −1 (ϕ g(t)))but as ψ preserves the or<strong>de</strong>r, we havef −12 (ϕ f (s)) < g −12 (ϕ g(t))And thus sσ ψ(x) t.As ψ is locally injective it induces a bijection between ⌈x⌉ and ⌈ψ(x)⌉. We therefore have, symmetrically,that σ ψx ⊆ σ x and thus that σ x = σ ψ(x) . Moreover, as we have already seen, f 1 (⌈x⌉) = f 2 (⌈ψ(x)⌉) and thusa x = a ψ(x) and similarly, b x = b ψ(x) and thus θ(x) = θ(ψ(x)).As s 1 has no internal events, ψ must be total for it to be a span morphism and thus G(s 1 ) ⊆ G(s 2 ).Moreover, as G(G(A), G(A)) is a poset, it is evi<strong>de</strong>nt that G respects composition.□Lemma 5.2.14 :Let s 1 and s 2 be two sequential relations that can be composed. Then G(s 2 ⧆ s 1 ) = G(s 1 ) ◦ G(s 2 ).∆. We have the following diagramS 3 f 3g 3 ℘S 1 VS 3 S 2f 1 g 1 f gf 2 2g A B CLet (σ ◦ τ, a, c) ∈ G(s 2 ) ◦ G(s 1 ). Then there exists b ∈ B such that (τ, a, b) ∈ G(s 1 ) and (σ, b, c) ∈ G(s 2 ) andthus e 1 ∈ S 1 and e 2 ∈ S 2 such that θ(e 1 ) = (τ, a, b) and θ(e 2 ) = (σ, b, c).Lete 3 := {(e, ⋆) | e ∈ ⌈e 1 ⌉, f 1 (e) ↓} ∪{(⋆, e ′ ) | e ′ ∈ ⌈e 2 ⌉, g 2 (e ′ ) ↓}∪{(e, e ′ ) | e ∈ ⌈e 1 ⌉, e ′ ∈ ⌈e 2 ⌉, g 1 (e) = f 2 (e ′ )}Let us rst show that f 3 (e 3 ) = ⌈e 1 ⌉. It is clear that f 3 (e 3 ) ⊆⌈e 1 ⌉. Now, if e ∈ ⌈e 1 ⌉ such that f 1 (e) ↓, then(e, ⋆) ∈ e 3 . But if g 1 (e) ↓, then g 1 (e) ∈ ⌈b⌉ = f 2 (⌈e 2 ⌉) and thus there exists e ′ ∈ ⌈e 2 ⌉ such that f 2 (e ′ ) = g 1 (e)and therefore (e, e ′ ) ∈ e 3 .The symmetric proof shows that g 3 (e 3 ) = ⌈e 2 ⌉. Let us now show that f 3 e3is injective. Let x, y ∈ e 3 suchthat f 3 (x) = f 3 (y) (and both <strong>de</strong>ned). Then if f 1 ◦ f 3 (x) ↓, both x and y are equal to (f 3 (x), ⋆) = (f 3 (y), ⋆).If g 1 ◦ f 3 (x) ↓, then x := (f 3 (x), e) and x := (f 3 (y), e ′ ). But f 2 (e) = g 1 ◦ f 3 (x) = g 1 ◦ f 3 (y) = f 2 (e ′ ). As theyare both in ⌈e 2 ⌉, they are consistent, and thus equal.Finally if we have x, y ∈ e 3 , let us suppose we have x = (e, ⋆) and y = (⋆, e ′ ). Then because of innocenceboth ⌈e⌉ ∩ D g1 and ⌈e ′ ⌉ ∩ D f2 must end on an odd event. Thus g 1 (⌈e⌉) ends on a odd event whereas f 2 (⌈e ′ ⌉)ends on an even event. Thus they cannot be equal and, as they are both initial segments of a total or<strong>de</strong>r,


CHAPTER 5. GAMES 39one must be smaller than the other. Let us suppose g 1 (⌈e⌉) ⊆ f 2 (⌈e ′ ⌉). Then there exists e ′′ e ′ such thatg 1 (⌈e⌉) = f 2 (⌈e ′′ ⌉) and if we reproduce the construction of e 3 with e and e ′′ , we obtain a subset of e 3 whoseprojections are conguration, that contain x but not y.All the other cases are similar (and simpler to treat as we do not have to go look for a pair in between, wealready have all the necessary events), and thus we have shown that e 3 is an element of S 3 .Let e ′ 3 be the top non internal event of ⌈e 3⌉, then it is an element of VS 3 . Let us show that θ(e ′ 3 ) = (σ◦τ, a, c).First, as e ′ 3 is the top non internal, we have f(⌈e′ 3 ⌉) = f 1 ◦ f 3 (⌈e 3 ⌉) = f 1 (⌈e 1 ⌉) = ⌈a⌉ and similarlyg(⌈e ′ −13⌉) = ⌈c⌉. Moreover, if we have x, y, z such that xτyσz, then we have f1 (ϕ f 1(x)) < g1 −1 (ϕ g 1(y)) andf2 −1 (ϕ f 2(y)) < g2 −1 (ϕ g 2(z)) and thus, in e 3 ,(f −11 (ϕ f 1(x)), ⋆) < (g −11 (ϕ g 1(y)), f −12 (ϕ f 2(y))) < (⋆, g −12 (ϕ g 2(z)))Thus, we have xσ e3 z.Let us now suppose that we have xσ e3 z, ie (f1 −1 (ϕ f 1(x)), ⋆) < (⋆, g2 −1 (ϕ g 2(z))). But then lemma (3.1.3)implies that there is an element of the form (e, e ′ ) between the two. If y is the height of g 1 (e) = f 2 (e ′ ), thenwe have xτyσz.We have proved that G(s 2 ) ◦ G(s 1 ) ⊆ G(s 2 ⧆ s 1 ).Let us now consi<strong>de</strong>r (σ, a, c) ∈ G(s 2 ⧆ s 1 ). Then there exists e ∈ ES 3 , and thus in S 3 , of even height suchthat θ(e) = (σ, a, c). Let e 1 be the top left element of e and e 2 be the top right.The top element of f 1 (⌈e 1 ⌉) is a and the top element of g 2 (⌈e 2 ⌉) is c and, if b is the top element of g 1 (⌈e 1 ⌉)then there exists t 1 e 1 such that g 1 (t 1 ) = b. But then there exists t 2 e 2 such that (t 1 , t 2 ) appears in eand thus in 2 (t 2 ) = b.If t 2 was not the top element in ⌈e 2 ⌉ ∩ D f2 then there would exist t ′ 2 ∈ D in 2such that t 2 < t ′ 2 e 2 and thust ′ 1 ∈ D g 1such that t 1 < t ′ 1 e 1. But that contradicts the fact that b is the top element of g 1 (⌈s 1 ⌉). Thus bis the top element in f 2 (⌈e 2 ⌉) and we have θ(e 1 ) = (σ e1 , a, b) and θ(e 2 ) = (σ e2 , b, c).Let us now show that σ = σ e2 ◦ σ e1 . First of all, both of these schedules have the same domain, p and thesame co-domain, q.Let x 1 and x 2 such that x 1 σx 2 . Then there exists y 1 , y 2 e such that f(y 1 ) is of height x 1 , g(y 2 ) is ofheight x 2 and y 1 y 2 .But, because of lemma (3.1.3), f 3 (y 1 ) cannot be the top left element of y 2 and thus there exists a pair(t 1 , t 2 ) in y 2 such that y 1 (t 1 , t 2 ). Let x 3 be the height of g 1 (t 1 ) = f 2 (t 2 ). Then x 1 σ e1 x 3 σ e2 x 2 . And thusx 1 (σ e2 ◦ σ e1 )x 2 .Let us now suppose that we have x 1 , x 2 and x 3 such that x 1 σ e1 x 3 σ e2 x 2 . Then there exists t 1 t 2 e 2 andt 3 t 4 e 2 such that f 1 (t 1 ) is of height x 1 , g 1 (t 2 ) and f 2 (t 3 ) are of height x 3 and g 2 (t 4 ) is of height x 2 .But, as g 1 (⌈e 1 ⌉) = f 2 (⌈e 2 ⌉), we must have g 1 (t 2 ) = f 2 (t 3 ). Moreover, t 2 and t 3 must appear in the samepair or else g 1 and f 2 would not be injective on a history, and thus in e we nd the pairs (t 1 , ⋆), (t 2 , t 3 ) and(⋆, t 4 ), in this or<strong>de</strong>r. Thus x 1 σx 2 .Therefore (σ, a, c) ∈ G(s 2 ) ◦ G(s 1 ).□Lemma 5.2.15 :Let A be a liform concrete event structure, G(cc A ) is the copy-cat strategy c G(A) .∆. A look at copycat schedules show that they have the same structure (right, left, left, right, right, ...)that the copycat span in the alternating case.□∆(Theorem (5.2.7)). We have proved in lemma (5.2.13) that G is a functor on hom categories, in lemma(5.2.14) we have proved the existence of an invertible 2-cell between the image of a composition and thecomposition of the limits and nally in lemma (5.2.15) we have proved that there was an invertible 2-cellbetween c G(A) and G(cc A ). The naturality of those 2-cells, and the coherence diagram all trivially hold asfor all A and B, G(A, B) is a poset.□


CHAPTER 5. GAMES 405.3 From strategies to spansIn all that follow, let us suppose that all games are countable, and thus for all A a game, we have an injectionχ A : A → N.Let us now show that we have a functor the other way round and that these two functors are, nearly,reciprocal. To do so, we will rst <strong>de</strong>ne the functor, then show how it composes with G and nally use thisknowledge to prove quite simply that it is a functor.Denition 5.3.1 (E) :First, let A be a game and let us <strong>de</strong>ne E(A) to be the elementary event structure on ⊔ ∗ n∈NA(n) or<strong>de</strong>redby x π y if and only if it exists n ∈ N such that π n (y) = x.Let us now consi<strong>de</strong>r A and B two games and s a strategy on A ⊸ B, let us <strong>de</strong>neS s := ⊔s(n)n∈N ∗Let x π y if and only if it exists n ∈ N such that π n (y) = x. This <strong>de</strong>nes on or<strong>de</strong>r on S s and thus we canconsi<strong>de</strong>r S s as an elementary event structure.For all left schedules σ let us <strong>de</strong>ne f(σ, a, b) = (f(⌊(σ, a, b)⌋), χ A (a), a) and for all right schedule let us<strong>de</strong>ne g(σ, a, b) = (g(⌊(σ, a, b)⌋), χ B (b), b).Finally, let E(s) be the spanS s ,f g!E(A) !E(B)Lemma 5.3.2 :E(A) is a liform event structure∆. Let us show that the or<strong>de</strong>r is liform and nitary. Then E(A) will in<strong>de</strong>ed be an liform event structure.First of all, let x ∈ A(n) and y such that y π x. By <strong>de</strong>nition, there exists m ∈ N such that y = π m (x)and thus y ∈ A(n − m). Moreover, if there is z ∈ A(n − m) such that z π x then z = π m (x) = y. Andthus ⌈x⌉ contains at most n elements, i.e. the or<strong>de</strong>r is nitary.Secondly, let y, z π x. Then there exists n and m ∈ N such that y = π n (x) and z = π m (x). Let us supposethat n m then z = π m−n (y) and thus z y. Thus the or<strong>de</strong>r is liform.□Let us now characterise the or<strong>de</strong>r π on E s . As many other technical lemmas before, we will admit them,their proof is just rather tedious case study.Lemma 5.3.3 :Let σ and τ be two schedules. (σ, a, b) π (τ, a ′ , b ′ ) if and only if σ ≺ τ, a ′ π a and b ′ π b.Lemma 5.3.4 :Let (τ, a ′ , b ′ ) ∈ A ⊸ B. For all a π a ′ (respectively b π b ′ ) there exists a left schedule σ (respectivelya right schedule) and b π b ′ (respectively a π a ′ ) such that (σ, a, b) π (τ, a ′ , b ′ ). Furthermore, if a(respectively b) is in A(n) then σ = τ n (respectively σ = τ n ).


CHAPTER 5. GAMES 41Lemma 5.3.5 :If (σ, a, b) and (τ, a ′ , b ′ ) π (υ, a ′′ , b ′′ ) then the following are equivalent(i) (σ, a, b) π (τ, a ′ , b ′ )(ii) σ ≺ τ(iii) a π a ′ and b π b ′We shall also need the two following results.Lemma 5.3.6 :Let σ : p ⇾ q be a schedule, if σ is right (respectively left) and σ − is left (respectively right) then p + qis even. Moreover p and q are odd (respectively even).∆. let us suppose that σ : p ⇾ q is left and that σ − : (p − 1) ⇾ q is right, the proof is similar in the othercase. Then (p − 1) must be even and q must be odd and thus p + q is even.□Lemma 5.3.7 :Let σ and τ be schedules such that σ − = τ − . Then they must be both left or both right.∆. let p and q be such that σ − : p → q and let us suppose that σ is right and τ is left. Then p must be evenand q must be odd. But, according to lemma (5.3.6), p + q must be even. That is absurd.□Lemma 5.3.8 :E(s) is a sequential span.∆. E s is a liform event structure for the same reasons than E(A).Let us now show that f is well <strong>de</strong>ned. We will show by induction that f is well <strong>de</strong>ned on ⌈(σ, a, b)⌉ andthat f(⌈(σ, a, b)⌉) is injected by ε A unto ⌈a⌉.Let us suppose this is true for (σ−, a ′ , b ′ ) = π(σ, a, b) (if a is minimal the proof is evi<strong>de</strong>nt). If σ is right,then a ′ = a, f is un<strong>de</strong>ned on (σ, a, b) and f(⌈(σ, a, b)⌉) = f(⌈(σ − , a, b ′ )⌉) that is injected by ε A unto ⌈a⌉.If σ is left then a ′ = π(a). As ⌊(σ, a, b)⌋ = ⌈σ − , π(a), b ′ ⌉, f(⌊(σ, a, b)⌋) is injected by ε A unto ⌈π(a)⌉ = ⌊a⌋.Thus f is well <strong>de</strong>ned on (σ, a, b) too. Furthermore, f(⌈(σ, a, b)⌉) = f(⌈(σ − , π(a), b ′ )⌉) ∪ {f(σ, a, b)}, it isinjected by ε A unto ⌈a⌉.The same proof shows that g is well <strong>de</strong>ned.Now, as a schedule cannot be both right and left D f and D g are disjoint but as it must be either right orleft, there are no internal events. Let us now prove by induction that f reverses parity while g preservesit. If (σ, a, b) is minimal, then it is odd and in (A ⊸ B)(1) and thus σ : 0 ⇾ 1. Therefore σ is right and(σ, a, b) ∈ D g . But then g(σ, a, b) is a copy of b ∈ B(1) and thus is odd.Let us now suppose it is not minimal. If it is in the same domain as its direct pre<strong>de</strong>cessor, the proof isstraight-forward, if it is not, because of lemma (5.3.6), the height of (σ, a, b), p + q, is even and if σ is left pis odd. Therefore a is odd and f in<strong>de</strong>ed reverses the parity of (σ, a, b). If σ is right then q is even and thusb is even and g in<strong>de</strong>ed preserves the parity of (σ, a, b).Let us now show that f is a partial rigid map of event structures. As A is elementary, it is evi<strong>de</strong>nt thatit preserves consistency. Let us show that it also preserves down-closure. Let X ⊆ E s be a down-closed setand let (σ, a, b) ∈ X be left, and (P ′ , i ′ , a ′ ) f(σ, a, b) = (P, i, a). If they are equal, the proof is nished,if not, (P ′ , i ′ , a ′ ) ∈ P = f(⌊(σ, a, b)⌋) and thus there is x < (σ, a, b) such that f(x) = (P ′ , i ′ , a ′ ). As X isdown-closed, x ∈ X and thus f(X) is down-closed.It is evi<strong>de</strong>nt that f is injective as χ A is. There remains to show that f is rigid. Let x y such that f(x)and f(y) both <strong>de</strong>ned. Then if x = y, it is nished, else f(y) = (f(⌊y⌋), i, e) and thus, as f(x) ∈ f(⌊y⌋),f(x) < f(y).


CHAPTER 5. GAMES 42The fact that g is a partial rigid map of event structures is proved the same way.We have shown so far that E(s) is an alternating, rigid, polarised span. Let us now show it is innocent andnegatively saturated.Let (σ, a, b) ∈ s be right and odd (the case left and odd is the same), where σ : p ⇾ q. Then p is evenand thus q is odd. Furthermore, its direct pre<strong>de</strong>cessor is (σ − , a, π(b)). If σ − was left that would mean thatq − 1σ ∗ p where q − 1 is even. Then that would imply that qσ ∗ p but that contradicts that σ is right. Thusσ − is right too. Thus f(π(σ, a, b)) = π(b) = π(f(σ, a, b)). As the span is alternating we have in<strong>de</strong>ed provedthat it is innocent.The fact that is is negatively saturated is a direct consequence of the fact that all attainable odd move in astrategy are present in the strategy.Moreover, because s is a strategy there cannot be two events sharing a common odd pre<strong>de</strong>cessor, thus allsuch are in conict, and we have proved that E(s) is concrete.As S is elementary, the span is trivially <strong>de</strong>terministic, as all down-closed subset of S are congurations(without any consi<strong>de</strong>ration about their image by f).It is free of negative coinci<strong>de</strong>nce up to copying. In<strong>de</strong>ed, if we have π(σ, a, b) = π(τ, a ′ , b ′ ) and f(σ, a, b)and f(τ, a ′ , b ′ ) are both <strong>de</strong>ned and copies of one another, then σ and τ are both left with the same directpre<strong>de</strong>cessor, thus are equal, and as the schedules are left, b = b ′ . Finally, as the images by f are copies,a = a ′ . The proof in the case where g is <strong>de</strong>ned is the same.□For what follows to work we have to allow span morphism that commute only up to copying, but that doesnot fundamentally change the bicategory.Lemma 5.3.9 :Let s and s ′ be two strategies on A ⊸ B such that there is an inclusion i : s ⊆ s ′ . Then there exists aspan morphism E(i) : E(s) ⇒ E(s ′ ).Moreover this makes E a functor on the hom-categories.∆. The inclusion is exactly the span morphism we are looking for, it is then quite easy to see that it isfunctorial.□Theorem 5.3.10 :G ◦ E is the i<strong>de</strong>ntity pseudo-functor on G (seem as an enriched category). E ◦ G is the i<strong>de</strong>ntity on eventstructures and transforms a sequential span into an isomorphic one.∆. Let A be a game, n ∈ N ∗ and a ∈ A(n). Then ⌈a⌉ := {π m (a) | 0 m < n} and thus a is of heightn in E(A). Therefore G ◦ E(A)(n) = A(n). Moreover, as π m (a) π π(a) for all m > 0, the immediatepre<strong>de</strong>cessor of a in E(a) is π(a) and thus G ◦ E(A) = A.Let s be a strategy on A ⊸ B, and x := (σ, a, b) ∈ s (seen as a element of E s ). Let us prove that θ(x) = x.First, f(⌈x⌉) = ⌈a⌉ and g(⌈x⌉) = ⌈b⌉ and thus a x = a and b x = b.Moreover, let us show that yσz ⇐⇒ yσ x z. Let suppose that yσz, then σ y ≺ σ z (in fact (σ z ) y= σ y ).And thus, as f −1 (ϕ f (y)) has for schedule σ y , and g −1 (ϕ g (z)) has for schedule σ z , according to lemma(5.3.4), and that they are both smaller than x, lemma (5.3.5) implies that f −1 (ϕ f (y)) π g −1 (ϕ g (z)) andthus yσ x z.Let us now suppose that yσ x z. It implies in particular that σ y ≺ σ z and thus that the domain of σ zcontains y which implies that yσz.Therefore G ◦ E(s) = θ(E s ) = s.Let A be a liform and concrete event structure, then as all events have a unique height, A = ⊔ n∈N ⋆ G(A)(n).Moreover, as π n (y) A π n−1 (y) A · A y, x π y implies x A y. Reciprocally, if x < A y then x A π(y)and thus, if we suppose by induction on A that x π π(y), then, as π(y) π y, x π y.Thus A and E(G(A)) have the same elements, the same or<strong>de</strong>r and are both elementary. They are thereforeequal.


CHAPTER 5. GAMES 43Let us now consi<strong>de</strong>r s := (f, S, g) a sequential span from A to B. Then E(G(s)) is the spanθ(S)f′ g ′ !A !Bwhere the or<strong>de</strong>r on θ(S) is <strong>de</strong>termined by π on A ⊸ B and the consistency is elementary.Because of lemma (5.2.9) the following diagramfSθ(S)f ′ g ′ !A !Bcommutes up to copying. In<strong>de</strong>ed, let s ∈ D f , the σ s is left and θ(s) = (σ s , in(s), _) and thus f ′ (θ(s)) is acopy of f(s) and if s ∉ D f then s ∈ D g and thus σ s is right and therefore f ′ (θ(s)) ↑. The commutativity ofthe other triangle is symmetric.Let us show that θ is an isomorphism of event structures. First, let us consi<strong>de</strong>r x S y. Then x = π n (y) forsome n ∈ N and thus, according to lemma (5.2.10), θ(x) = θ(π n (y)) = π n (θ(y)). Therefore θ(x) p iθ(y).Moreover as θ is injective, according to lemma (5.2.11),θgx S y ⇐⇒ θ(x) p iθ(y) (5.1)Let X ∈ C o (S), let us show that θ(X) is down-closed. Let x ∈ X and s π θ(x). Then, because θis surjective on θ(S), s = θ(y) for some y ∈ S. But then y S y and as X is down-closed, y ∈ X, thuss ∈ θ(X). Moreover as θ(S) is elementary, it is evi<strong>de</strong>nt that θ preserves consistency. Finally, as θ is injective,it is injective on congurations. Thus θ is a partial map of event structures.Moreover, as θ is total and injective, it is injective on congurations and thus a monomorphism. Therefore,it suces to show it is rigid (which is already done) and surjective on congurations, to show it is a extremalmap (equivalent of lemma (3.3.3) in E p ) and thus an isomorphism.Let X be conguration in θ(S). As θ is injective and surjective there exist a unique Y ⊆ S such thatθ(Y ) = X. But then Y is down-closed because of the equivalence (5.1). Furthermore, Y is consistent. □Theorem 5.3.11 :E is a pseudo-functor from G to Span seq .∆. The fact that E is a functor on the hom-cats is shown in lemma (5.3.9)Let us now show that E respects the composition of strategies up to isomorphism. Let A, B and C begames, s 1 be a strategy on A ⊸ B and s 2 be a strategy on B ⊸ C. From the previous theorem, it followsthatG ◦ E(s 2 ◦ s 1 ) = (G ◦ E)(s 2 ) ◦ (G ◦ E)(s 1 )and thusIt follows thatand thus thatG(E(s 2 ◦ s 1 )) = G(E(s 2 ) ◦ E(s 1 ))(E ◦ G)(E(s 2 ◦ s 1 )) = (E ◦ G)(E(s 2 ) ◦ E(s 1 ))E(s 2 ◦ s 1 ) ≃ E(s 2 ) ◦ E(s 1 )


CHAPTER 5. GAMES 44Furthermore,Therefore E is a pseudo-functor.E(c A ) = E(c G◦E(A) ) = E(G(cc E(A) )) ≃ cc E(A)□5.4 Innocent gamesIn [HHM07] an other kind of games are <strong>de</strong>scribed, they are simple games with a monad and a co-monad atthe feet based on heaps. But it is quite straight forward to see that a liform augmentation on an eventstructure with enough copies, is nothing else than a heap.The i<strong>de</strong>a is therefore that in we take sequential spans and relax the rigidity condition, we should obtain thesecond kind of games.It is true that they restrict the kind of heaps you can have on the left and on the right, but it also happensthat innocence as we un<strong>de</strong>rstand it in our spans, i.e. asking that a negative move in a strategy is alwaysdirect successor to the previous positive move, insures that on the right only the player can backtrack, andon the left (because of the dual), only the opponent can backtrack.It therefore seems that sequential spans without rigidity correspond to the [HHM07] innocent strategies.Moreover, It seems that our composition coinci<strong>de</strong>s with the composition of those innocent strategies. But,because of the Kliesli and co-Kliesli constructions, a formal proof would be very technical and thus has notbeen attempted.It is true that these are only claims, but they seem true enough and indicate, along with the proof for thesimple games, that we have here constructed a very powerful and general notion of strategy.


Bibliography[AM99][CHP04]Samson Abramsky and Paul-André Melliès. Concurrent games and full completeness. In LICS '99,Proc. of the 14th Symposium on Logic in Computer Science, page 431. IEEE Computer Society,1999.Eugenia Cheng, Martin Hyland, and John Power. Pseudo-distributive laws. Electr. Notes Theor.Comput. Sci., 83, 2004.[CM10] Ana Cal<strong>de</strong>ron and Guy McCusker. Un<strong>de</strong>rstanding game semantics through coherent spaces.In Proceedings, 26th conference on the Mathematical Foundations of Programming Semantics.Elsevier, 2010.[Cur94][FP09]Pierre-Louis Curien. On the symmetry of sequentiality. In Proc. of Mathematical Foundationsof Programming Semantics, number 802 in Lecture Notes in Computer Science, pages 2971.Springer, 1994.Claudia Faggian and Mauro Piccolo. Partial or<strong>de</strong>rs, event structures and linear strategies. InProceedings of Typed Lambda Calculi and Applications 2009, volume 5608 of Lecture Notes inComputer Science, pages 95111. Springer, 2009.[HHM07] Russ Harmer, Martin Hyland, and Paul-André Melliès. Categorical combinatorics for innocentstrategies. In LICS '07, Proc. of the 22th Symposium on Logic in Computer Science, Wroclaw,pages 379388. IEEE Computer Society Press, 2007.[HO00] Martin Hyland and Luke Ong. On full abstraction for pcf. Information and Computation, 163:285408, 2000.[Hyl97][MM07]Martin Hyland. Game semantics. In Andrew Pitts and Peter Dybjer, editors, Semantics andLogics of Computation, pages 131184. Publications of the Newton Institute, 1997.Paul-André Melliès and Samuel Mimram. Asynchronous games : innocence without alternation. In18th International Conference on Concurrency Theory, volume 4703 of Lecture Notes in ComputerScience, pages 395411. Springer, 2007.[NPW81] Morgen Nielsen, Gordon Plotkin, and Glynn Winskel. Petri nets, event structures and domains.Theoretical Computer Science, 13:85108, 1981.[Win07]Glynn Winskel. Event structures with symmetry. Electr. Notes Theor. Comput. Sci., 172:611652,2007.45


Appendix ATwo big diagramsα ′(s ⊖ j) ⊖ t (s ⊙ j) ⊖ ts ⊖(j ⊙ t) e ⊖ ts ⊖ es ⊖(j ⊖ t) (s ⊙ e) ⊖ ts ⊖(e ⊙ t) (s ⊖ e) ⊖ ts ⊖(e ⊖ t) Eα(s ⊖ ı) ⊖ t (s ⊙ ı) ⊖ ts ⊖(ı ⊙ t) e ⊖ t s ⊖(ı ⊖ t)s ⊖ eλ ⊖ t s ⊖ ρEλ ⊖ t s ⊖ Eρ Es ⊖ t s ⊖ t s ⊖ Etλ ′ ⊖ te ⊖ tEαs ⊖ e s ⊖ ρ ′Figure A.1: The triangle46


APPENDIX A. TWO BIG DIAGRAMS 47α ′ ⊖ v α ′ ((s ⊖ t) ⊖ u) ⊖ v (e ⊖ u) ⊖ v e ⊖v ((s ⊙ t) ⊖ u) ⊖ v((s ⊖ t) ⊙ u) ⊖ v (Eα) ⊙ v e ⊖ v (e ⊙ u) ⊖ vEα (s ⊖(t ⊙ u)) ⊖ v((s ⊙ t) ⊙ u) ⊖ v(s ⊖ t) ⊖(u ⊙ v) (s ⊖ e) ⊖ vα ⊖ v e ⊖ v Eαe ⊖(u ⊙ v) (s ⊖ t) ⊖ e (s ⊖(t ⊖ u)) ⊖ v(s ⊙(t ⊙ u)) ⊖ v(s ⊙ t) ⊙(u ⊙ v)(s ⊖ t) ⊖(u ⊖ v) (s ⊙ e) ⊖ vEα Eα e ⊖ v (s ⊙ t) ⊖ e e ⊖(u ⊖ v) s ⊖ α (s ⊙(t ⊖ u)) ⊖ vs ⊖((t ⊙ u) ⊙ v)s ⊖(t ⊙(u ⊙ v))(s ⊙ t) ⊖(u ⊖ v) Eα s ⊖(e ⊙ v)s ⊖(t ⊙ e) Eα s ⊖((t ⊖ u) ⊙ v) s ⊖ es ⊖ e s ⊖(t ⊙(u ⊖ v))α ′ s ⊖(Eα)s ⊖ e s ⊖((t ⊙ u) ⊖ v)s ⊖(t ⊖(u ⊙ v)) s ⊖ e s ⊖(e ⊖ v)s ⊖(t ⊖ e) s ⊖((t ⊖ u) ⊖ v) s ⊖(t ⊖(u ⊖ v))s ⊖ α ′α ′Figure A.2: The pentagon


Sixième partieArticle publié à Logic in ComputerScience 2011156


Concurrent StrategiesSilvain Ri<strong>de</strong>auEcole Normale Supérieure <strong>de</strong> Paris, FranceGlynn WinskelComputer Laboratory, University of Cambridge, UKAbstract—A bicategory of very general non<strong>de</strong>terministic concurrentgames and strategies is presented. The intention is toformalize distributed games in which both Player (or a team ofplayers) and Opponent (or a team of opponents) can interact inhighly distributed fashion, without, for instance, enforcing thattheir moves alternate.I. INTRODUCTIONThis paper characterizes non<strong>de</strong>terministic concurrent strategiesin concurrent games within a very general mo<strong>de</strong>l ofconcurrent/distributed computation.More precisely, games and strategies are represented asevent structures with polarities to distinguish the moves ofPlayer and Opponent (more accurately thought of as teamsof players and opponents)—cf. [1]. A total map σ ∶ S → Aof event structures with polarity can be un<strong>de</strong>rstood as apre-strategy in a game A—the map ensures that Player andOpponent respect the constraints of the game. FollowingJoyal’s exposition of Conway games [2], a pre-strategy froma game A to a game B is un<strong>de</strong>rstood as a pre-strategy ina composite game A ⊥ ∥B, got by setting the dual game ofA, reversing the roles of Player and Opponent, in parallelwith B. Within this general scheme, concurrent strategies—pre-strategies for which copy-cat strategies behave as i<strong>de</strong>ntitiesw.r.t. composition of pre-strategies—are characterized as thosepre-strategies which satisfy the two conditions of receptivityand innocence.It is sketched how (bi)categories of stable spans, certainprofunctors, Berry’s stable functions, and simple games ariseas sub(bi)categories of concurrent games. The important specialcase of <strong>de</strong>terministic concurrent strategies coinci<strong>de</strong>s withthe receptive ingenuous strategies of Melliès and Mimram [3].Deterministic strategies find direct expression as closure operators,an elegant formulation of <strong>de</strong>terministic concurrentstrategies in early work of Abramsky and Melliès [4]. Therelation with other work is ongoing and unfinished. There areclear expressions of innocence as “saturation” conditions inearly concurrent games of Laird [5], Ghica and Murawski [6].We have been inspired by the paper of Faggian and Piccolo [7],which in part communicates an i<strong>de</strong>a of Hyland on extendingthe copy-cat strategy to partial or<strong>de</strong>rs of moves, a precursorto the distributed copy-cat here and in [7]. 1Not surprisingly, the proofs here are reminiscent of certainproofs in distributed algorithms (we are most familiarwith similar <strong>de</strong>pen<strong>de</strong>ncy-chasing proofs in security protocols).1 We adopt the term innocence from [7]—it is not directly related toinnocence in Hyland-Ong games [8].More intriguing is the prospect that proofs of distributedalgorithms could embed into the general conceptual frameworkof concurrent games proposed here.II. EVENT STRUCTURES AND STABLE FAMILIESWe quickly review event structures and the broa<strong>de</strong>r mo<strong>de</strong>lof stable families, their properties and constructions.An event structure comprises (E, Con, ≤), consisting of aset E, of events which are partially or<strong>de</strong>red by ≤, the causal<strong>de</strong>pen<strong>de</strong>ncy relation, and a nonempty consistency relation Conconsisting of finite subsets of E, which satisfy{e ′ ∣ e ′ ≤ e} is finite for all e ∈ E,{e} ∈ Con for all e ∈ E,Y ⊆ X ∈ Con ⇒ Y ∈ Con,andX ∈ Con & e ≤ e ′ ∈ X ⇒ X ∪ {e} ∈ Con.The (finite) configurations, C(E), of an event structure Econsist of those finite subsets x ⊆ E which areConsistent: x ∈ Con, andDown-closed: ∀e, e ′ . e ′ ≤ e ∈ x ⇒ e ′ ∈ x.Two events which are both consistent and incomparablew.r.t. causal <strong>de</strong>pen<strong>de</strong>ncy in an event structure are regar<strong>de</strong>das concurrent. In games the relation of immediate <strong>de</strong>pen<strong>de</strong>ncye ⇾ e ′ , meaning e and e ′ are distinct with e ≤ e ′ and no eventin between, will play a very important role.Operations such as synchronized parallel composition areawkward to <strong>de</strong>fine directly on the simple event structuresabove. It is useful to broa<strong>de</strong>n event structures to stable families,where operations are often carried out more easily, andthen turned into event structures by the operation Pr below.A stable family comprises F, a nonempty family of finitesubsets, called configurations, satisfying:Completeness: ∀Z ⊆ F. Z ↑ ⇒ ⋃ Z ∈ F ;Coinci<strong>de</strong>nce-freeness: For all x ∈ F, e, e ′ ∈ x with e /= e ′ ,∃y ∈ F. y ⊆ x & (e ∈ y ⇐⇒ e ′ ∉ y) ;Stability: ∀Z ⊆ F. Z /= ∅ & Z ↑ ⇒ ⋂ Z ∈ F.(Z ↑ means ∃x ∈ F∀z ∈ Z. z ⊆ x, and expresses thecompatibility of Z.) We call elements of ⋃ F events of F.Proposition 1. Let x be a configuration of a stable family F.For e, e ′ ∈ x <strong>de</strong>finee ′ ≤ x e iff ∀y ∈ F. y ⊆ x & e ∈ y ⇒ e ′ ∈ y.When e ∈ x <strong>de</strong>fine the prime configuration[e] x = ⋂ {y ∈ F ∣ y ⊆ x & e ∈ y} .


Then ≤ x is a partial or<strong>de</strong>r and [e] x is a configuration suchthat[e] x = {e ′ ∈ x ∣ e ′ ≤ x e}.Moreover the configurations y ⊆ x are exactly the downclosedsubsets of ≤ x .Proposition 2. Let F be a stable family. Then, Pr(F) = <strong>de</strong>f(P, Con, ≤) is an event structure where:P = {[e] x ∣ e ∈ x & x ∈ F} ,Z ∈ Con iff Z ⊆ P & ⋃ Z ∈ Fp ≤ p ′ iff p, p ′ ∈ P & p ⊆ p ′ .and,A (partial) map of stable families f ∶ F → G is a partialfunction f from the events of F to the events of G such thatfor all configurations x ∈ F,fx ∈ G & (∀e 1 , e 2 ∈ x. f(e 1 ) = f(e 2 ) ⇒ e 1 = e 2 ) .Maps of event structures are maps of their stable families ofconfigurations. Maps compose as functions. We say a map istotal when it is total as a function. Say a total map of eventstructures is rigid when it preserves causal <strong>de</strong>pen<strong>de</strong>ncy.Pr is the right adjoint of the “inclusion” functor, takingan event structure E to the stable family C(E). The unitof the adjunction E → Pr(C(E)) takes and event e to theprime configuration [e] = <strong>de</strong>f {e ′ ∈ E ∣ e ′ ≤ e}. The counitmax ∶ C(Pr(F)) → F takes prime configuration [e] x to e.Proposition 3. Let E and E ′ be event structures. Supposeθ x ∶ x ≅ θ x x, in<strong>de</strong>xed by x ∈ C(E),is a family of bijections such that whenever θ y ∶ y ≅ θ y y is inthe family then its restriction θ z ∶ z ≅ θ z z is also in the family,whenever z ∈ C(E) and z ⊆ y. Then, θ = <strong>de</strong>f ⋃ x∈C(E) θ x is theunique total map of event structures from E to E ′ such thatθ x = θ x x for all x ∈ C(E).Proposition 4. Let f ∶ F → G be a map of stable families. Lete, e ′ ∈ x, a configuration of F. If f(e) and f(e ′ ) are <strong>de</strong>finedand f(e) ≤ fx f(e ′ ) then e ≤ x e ′ .Definition 5. Let F be a stable family. We use x−⊂y to meany covers x in F, i.e. x ⊂ y in F with nothing in between,and x−⊂y eto mean x ∪ {e} = y for x, y ∈ F and event e ∉ x.We sometimes use x−⊂, eexpressing that event e is enabledat configuration x, when x−⊂y efor some y. W.r.t. x ∈ F,write [e) x = <strong>de</strong>f {e ′ ∈ E ∣ e ′ ≤ x e & e ′ /= e}, so, for example,e[e) x −⊂[e] x . The relation of immediate <strong>de</strong>pen<strong>de</strong>nce of eventstructures generalizes: with respect to x ∈ F, the relation e ⇾ xe ′ means e ≤ x e ′ with e /= e ′ and no event in between.A. ProductsIII. PROCESS OPERATIONSLet A and B be stable families with events A and B,respectively. Their product, the stable family A × B, hasevents comprising pairs in A × ∗ B = <strong>de</strong>f {(a, ∗) ∣ a ∈ A} ∪{(a, b) ∣ a ∈ A & b ∈ B}∪{(∗, b) ∣ b ∈ B}, the product of setswith partial functions, with (partial) projections π 1 and π 2 —treating ∗ as ‘un<strong>de</strong>fined’—with configurationsx ∈ A × B iffx is a finite subset of A × ∗ B s.t. π 1 x ∈ A & π 2 x ∈ B,∀e, e ′ ∈ x. π 1 (e) = π 1 (e ′ ) or π 2 (e) = π 2 (e ′ ) ⇒ e = e ′ , &∀e, e ′ ∈ x. e /= e ′ ⇒ ∃y ⊆ x. π 1 y ∈ A & π 2 y ∈ B &(e ∈ y ⇐⇒ e ′ ∉ y) .Right adjoints preserve products. Consequently we obtain aproduct of event structures A and B by first regarding them asstable families C(A) and C(B), forming their product C(A) ×C(B), π 1 , π 2 , and then constructing the event structureA × B = <strong>de</strong>f Pr(C(A) × C(B))and its projections as Π 1 = <strong>de</strong>f π 1 max and Π 2 = <strong>de</strong>f π 2 max.Lemma 6. Suppose e ⇾ x e ′ in a product of stable familiesA × B, π 1 , π 2 .(i) If e = (a, ∗) then e ′ = (a ′ , b) or e ′ = (a ′ , ∗) with a ⇾ π1x a ′in A.(ii) If e ′ = (a ′ , ∗) then e = (a, b) or e = (a, ∗) with a ⇾ π1x a ′in A.(iii) If e = (a, b) and e ′ = (a ′ , b ′ ) then a ⇾ π1x a ′ in A orb ⇾ π2x b ′ in B.B. RestrictionThe restriction of F to a subset of events R is the stablefamily F ↾ R = <strong>de</strong>f {x ∈ F ∣ x ⊆ R} . Defining E ↾ R, therestriction of an event structure E to a subset of events R,to have events E ′ = {e ∈ E ∣ [e] ⊆ R} with causal <strong>de</strong>pen<strong>de</strong>ncyand consistency induced by E, we obtain C(E↾R) = C(E)↾R .Proposition 7. Let F be a stable family and R a subset ofits events. Then, Pr(F ↾ R) = Pr(F)↾max −1 R .C. Synchronized compositionsSynchronized parallel compositions are obtained as restrictionsof products to those events which are allowed to synchronizeor occur asynchronously. For example, the synchronizedcomposition of Milner’s CCS on stable families A and B (withlabelled events) is <strong>de</strong>fined as A × B ↾ R where R comprisesevents which are pairs (a, ∗), (∗, b) and (a, b), where inthe latter case the events a of A and b of B carry complementarylabels. Similarly, synchronized compositions of eventstructures A and B are obtained as restrictions A × B ↾ R.By Proposition 7, we can equivalently form a synchronizedcomposition of event structures by forming the synchronizedcomposition of their stable families of configurations, and thenobtaining the resulting event structure—this has the advantageof eliminating superfluous events earlier.D. ProjectionEvent structures support a simple form of hiding. Let (E, ≤, Con) be an event structure. Let V ⊆ E be a subset of ‘visible’events. Define the projection of E on V , to be E↓V = <strong>de</strong>f(V, ≤ V , Con V ), where v ≤ V v ′ iff v ≤ v ′ & v, v ′ ∈ V andX ∈ Con V iff X ∈ Con & X ⊆ V .


IV. EVENT STRUCTURES WITH POLARITIESWe shall represent both a game and a strategy in a game asan event structure with polarity, comprising an event structuretogether with a polarity function pol ∶ E → {+, −} ascribinga polarity + or − to its events E. The events correspondto (occurrences of) moves. The two polarities +/− expressthe dichotomy: Player/Opponent; Process/Environment; orAlly/Enemy. Maps of event structures with polarity are mapsof event structures which preserve polarity.A. Operations1) Dual: The dual, E ⊥ , of an event structure with polarityE comprises a copy of the event structure E but with a reversalof polarities. It obviously extends to a functor. Write e ∈ E ⊥for the event complementary to e ∈ E and vice versa.2) Simple parallel composition: This operation simplyjuxtaposes two event structures with polarity. Let (A, ≤ A, Con A , pol A ) and (B, ≤ B , Con B , pol B ) be event structureswith polarity. The events of A∥B are ({1} × A) ∪ ({2} × B),their polarities unchanged, with: the only relations of causal<strong>de</strong>pen<strong>de</strong>ncy given by (1, a) ≤ (1, a ′ ) iff a ≤ A a ′ and (2, b) ≤(2, b ′ ) iff b ≤ B b ′ ; a subset of events C is consistent in A∥Biff {a ∣ (1, a) ∈ C} ∈ Con A and {b ∣ (2, b) ∈ C} ∈ Con B . Theoperation extends to a functor—put the two maps in parallel.B. Categories for gamesWe remark that event structures with polarity appear toprovi<strong>de</strong> a rich environment in which to explore structuralproperties of games and strategies. There are adjunctionsPA r ⊢PA # r ⊺⊺PF r ⊢PF # r⊺PE r ⊺PE trelating PE t , the category of event structures with polarity withtotal maps, to subcategories PE r , with rigid maps, PF r offorest-like (or filiform) event structures with rigid maps, andPA r , its full subcategory where polarities alternate along abranch; in PF # r and PA # r distinct branches are inconsistent.We shall mainly be consi<strong>de</strong>ring games in PE t . Lamarchegames and those of sequential algorithms belong to PA r [9].Conway games inhabit PF # r , in fact a coreflective subcategoryof PE t as the inclusion is now full; Conway’s ‘sum’ isobtained by applying the right adjoint to the ∥-composition ofConway games in PE t . Further refinements are possible. The‘simple games’ of [10], [11] belong to PA −# r , the coreflectivesubcategory of PA # r comprising “polarized” games, startingwith moves of Opponent. The ‘tensor’ of simple games isrecovered by applying the right adjoint of PA −#r ↪ PE tto their ∥-composition in PE t . Generally, the right adjoints,got by composition, from PE t to the other categories fail toconserve immediate causal <strong>de</strong>pen<strong>de</strong>ncy. Such facts led Mellièset al. to the insight that uses of pointers in game semanticscan be an artifact of working with mo<strong>de</strong>ls of games which donot take account of the in<strong>de</strong>pen<strong>de</strong>nce of moves [1], [3].V. PRE-STRATEGIESLet A be an event structure with polarity, thought of asa game (sometimes called an “arena” in game semantics);its events stand for the possible occurrences of moves ofPlayer (+) and Opponent (−) and its causal <strong>de</strong>pen<strong>de</strong>ncy andconsistency relations the constraints imposed by the game.A pre-strategy in A is a total map σ ∶ S → A from anevent structure with polarity S. The +-events of S stand forthe moves of Player, generally in answer to the moves ofOpponent, the −-events of S.We shall later refine the <strong>de</strong>finition of pre-strategy to that ofstrategy. For example, in a strategy we expect that it shouldnot be possible for Player to affect the moves of Opponentbeyond the dictates of the game. This and other concerns arenot reflected a<strong>de</strong>quately in the <strong>de</strong>finition of pre-strategy as itstands. What is captured by taking a pre-strategy to be a totalmap σ ∶ S → A is that the behaviour of Player and Opponentas narrated by S respects the constraints of game A; everymove of Player and Opponent is a move allowed by the game.Note that pre-strategies (and strategies) are non<strong>de</strong>terministic inthat Player moves may be inconsistent, and are not necessarily<strong>de</strong>termined by the preceding Player and Opponent moves. Apre-strategy represents a non<strong>de</strong>terministic play of the game.Let A and B be event structures with polarity. FollowingJoyal [2], a pre-strategy from A to B is a pre-strategy in A ⊥ ∥B,so a total map σ ∶ S → A ⊥ ∥B. It thus <strong>de</strong>termines a spanS σ 1σ 2 A ⊥ B ,of event structures with polarity where σ 1 , σ 2 are partial maps.In fact, a pre-strategy from A to B corresponds to such spanswhere for all s ∈ S either, but not both, σ 1 (s) or σ 2 (s) is<strong>de</strong>fined. Two pre-strategies will be essentially the same whenthey are isomorphic as spans. We write σ ≅ τ, for pre-strategiesσ and τ from A to B when their spans are isomorphic. Wewrite σ ∶ A + B to express that σ is a pre-strategy from Ato B. The notation raises the question of how pre-strategiescompose and the nature of i<strong>de</strong>ntities.A. Concurrent copy-catI<strong>de</strong>ntities on games are given by copy-cat strategies—strategies for Player based on copying the latest moves ma<strong>de</strong>by Opponent.Let A be an event structure with polarity. The copy-catstrategy from A to A is an instance of a pre-strategy, so atotal map γ A ∶ CC A → A ⊥ ∥A. It <strong>de</strong>scribes a concurrent, ordistributed, strategy based on the i<strong>de</strong>a that Player moves, of+ve polarity, always copy previous corresponding moves ofOpponent, of −ve polarity.For c ∈ A ⊥ ∥A we use c to mean the corresponding copy ofc, of opposite polarity, in the alternative component, i.e.(1, a) = (2, a) and (2, a) = (1, a) .


Proposition 8. Let A be an event structure with polarity.There is an event structure with polarity CC A having thesame events, consistency and polarity as A ⊥ ∥A but with causal<strong>de</strong>pen<strong>de</strong>ncy ≤ CCA given as the transitive closure of the relation≤ A⊥ ∥A ∪ {(c, c) ∣ c ∈ A ⊥ ∥A & pol A⊥ ∥A(c) = +} .Moreover,(i) c ⇾ c ′ in CC A iffc ⇾ c ′ in A ⊥ ∥A or pol A⊥ ∥A(c ′ ) = + & c = c ′ ;(ii) x ∈ C(CC A ) iffx ∈ C(A ⊥ ∥A) & ∀c ∈ x. pol A⊥ ∥A(c) = + ⇒ c ∈ x .Proof. It can first be checked that <strong>de</strong>finingc ≤ CCA c ′ iff (i) c ≤ A⊥ ∥A c ′ or(ii) ∃c 0 ∈ A ⊥ ∥A. pol A⊥ ∥A(c 0 ) = + &yields a partial or<strong>de</strong>r. Note thatc ≤ A⊥ ∥A d iff c ≤ A⊥ ∥A d ,c ≤ A⊥ ∥A c 0 & c 0 ≤ A⊥ ∥A c ′ ,used in verifying transitivity and antisymmetry. The relation≤ CCA is clearly the transitive closure of ≤ A⊥ ∥A together with allextra causal <strong>de</strong>pen<strong>de</strong>ncies (c, c) where pol A⊥ ∥A(c) = +. Theremaining properties required for CC A to be an event structurefollow routinely.(i) From the above characterization of ≤ CCA .(ii) From CC A and A ⊥ ∥A sharing the same consistency relationand the extra causal <strong>de</strong>pen<strong>de</strong>ncy adjoined to CC A .Based on Proposition 8, <strong>de</strong>fine the copy-cat pre-strategyfrom A to A to be the pre-strategy γ A ∶ CC A → A ⊥ ∥Awhere CC A comprises the event structure with polarity A ⊥ ∥Atogether with extra causal <strong>de</strong>pen<strong>de</strong>ncies c ≤ CCA c for all eventsc with pol A⊥ ∥A(c) = +, and γ A is the i<strong>de</strong>ntity on the set ofevents common to both CC A and A ⊥ ∥A.B. Composing pre-strategiesConsi<strong>de</strong>r two pre-strategies σ ∶ A + B and τ ∶ B + C asspans:A ⊥σ 1 S σ 2BT τ 1τ 2 B ⊥ C .We show how to <strong>de</strong>fine their composition τ⊙σ ∶ A + C. Ifwe ignore polarities the partial maps of event structures σ 2 andτ 1 have a common codomain, the un<strong>de</strong>rlying event structureof B and B ⊥ . The composition τ⊙σ will be constructed asa synchronized composition of S and T , in which outputevents of S synchronize with input events of T , followed byan operation of hiding ‘internal’ synchronization events. Onlythose events s from S and t from T for which σ 2 (s) = τ 1 (t)synchronize; note that then s and t must have oppositepolarities as this is so for their images σ 2 (s) in B and τ 1 (t)in B ⊥ . The event resulting from the synchronization of sand t has in<strong>de</strong>terminate polarity and will be hid<strong>de</strong>n in thecomposition τ⊙σ.Formally, we use the construction of synchronized compositionand projection of Section III-C. Via projection we hi<strong>de</strong>all those events with un<strong>de</strong>fined polarity.We first <strong>de</strong>fine the composition of the families of configurationsof S and T as a synchronized composition of stablefamilies. We form the product of stable families C(S) × C(T )with projections π 1 and π 2 , and then form a restriction:whereC(T )⊙C(S) = <strong>de</strong>f C(S) × C(T ) ↾ RR = {(s, ∗) ∣ s ∈ S & σ 1 (s) is <strong>de</strong>fined} ∪{(s, t) ∣ s ∈ S & t ∈ T & σ 2 (s) = τ 1 (t) with both <strong>de</strong>fined}∪{(∗, t) ∣ t ∈ T & τ 2 (t) is <strong>de</strong>fined} .The stable familyC(T )⊙C(S) is the synchronized compositionof the stable familiesC(S) andC(T ) in which synchronizationsare between events of S and T which project, un<strong>de</strong>r σ 2 and τ 1respectively, to complementary events in B and B ⊥ . The stablefamily C(T )⊙C(S) represents all the configurations of thecomposition of pre-strategies, including internal events arisingfrom synchronizations. We obtain the synchronized compositionas an event structure by forming Pr( C(T )⊙ C(S)), inwhich events are the primes ofC(T )⊙C(S). This synchronizedcomposition still has internal events.To obtain the composition of pre-strategies we hi<strong>de</strong> theinternal events due to synchronizations. The event structureof the composition of pre-strategies is <strong>de</strong>fined to beT ⊙S = <strong>de</strong>f Pr(C(T )⊙C(S)) ↓ V ,the projection onto “visible” events,V = {p ∈ Pr(C(T )⊙C(S)) ∣ ∃s ∈ S. max(p) = (s, ∗)} ∪{p ∈ Pr(C(T )⊙C(S)) ∣ ∃t ∈ T. max(p) = (∗, t)} .Finally, the composition τ⊙σ is <strong>de</strong>fined by the spanA ⊥υ 1T ⊙S υ 2 Cwhere υ 1 and υ 2 are maps of event structures, which on eventsp of T ⊙S act so υ 1 (p) = σ 1 (s) when max(p) = (s, ∗)and υ 2 (p) = τ 2 (t) when max(p) = (∗, t), and are un<strong>de</strong>fine<strong>de</strong>lsewhere.Proposition 9. Above, υ 1 and υ 2 are partial maps of eventstructures with polarity, which together <strong>de</strong>fine a pre-strategyυ ∶ A + C. For x ∈ C(T ⊙S),υ 1 x = σ 1 π 1 ⋃ x and υ 2 x = τ 2 π 2 ⋃ x .Proof. Consi<strong>de</strong>r the two maps of event structuresu 1 ∶ Pr(C(T )⊙C(S)) →S Π1→A σ1 ⊥ ,u 2 ∶ Pr(C(T )⊙C(S)) →T Π2→C τ2,


where Π 1 , Π 2 are (restrictions of) projections of the productof event structures. E.g. for p ∈ Pr(C(T )⊙C(S)), Π 1 (p) = sprecisely when max(p) = (s, ∗), so σ 1 (s) is <strong>de</strong>fined, or whenmax(p) = (s, t), so σ 1 (s) is un<strong>de</strong>fined. The partial functionsυ 1 and υ 2 are restrictions of the two maps u 1 and u 2 to theprojection set V . But V consists exactly of those events inPr(C(T )⊙ C(S)) where u 1 or u 2 is <strong>de</strong>fined. It follows thatυ 1 and υ 2 are maps of event structures.Clearly one and only one of υ 1 , υ 2 are <strong>de</strong>fined on anyevent in T ⊙S so they form a pre-strategy. Their effect onx ∈ C(T ⊙S) follows directly from their <strong>de</strong>finition.Proposition 10. Let σ ∶ A + B, τ ∶ B + C and υ ∶C + D be pre-strategies. The two compositions υ⊙(τ⊙σ)and (υ⊙τ)⊙σ are isomorphic.Proof. The natural isomorphism S × (T × U) ≅ (S × T ) × U,associated with the product of event structures S, T, U, restrictsto the required isomorphism of spans as the synchronizationsinvolved in successive compositions are disjoint.Remark. We have chosen to project away from internal events,rather than treat them as events of neutral polarity, to obviatethe extra bicategorical complications internal events involve.C. DualityA pre-strategy σ ∶ A + B corresponds to a dual prestrategyσ ⊥ ∶ B ⊥ + A ⊥ . This duality arises from the correspon<strong>de</strong>nceA ⊥σ 1 S σ 2B←→S σ 2σ 1 (B ⊥ ) ⊥ A ⊥ .It is easy to check that the dual of copy-cat, γA ⊥ , is isomorphic,as a span, to the copy-cat of the dual, γ A ⊥, for A an eventstructure with polarity. It is also straightforward, though moreinvolved, to show that the dual of a composition of prestrategies(τ⊙σ) ⊥ is isomorphic as a span to the compositionσ ⊥ ⊙τ ⊥ . Duality, as usual, will save us work.VI. STRATEGIESThis section is <strong>de</strong>voted to the main result of this paper: thattwo conditions on pre-strategies, receptivity and innocence,are necessary and sufficient in or<strong>de</strong>r for copy-cat to behaveas i<strong>de</strong>ntity w.r.t. the composition of pre-strategies. It becomescompelling to <strong>de</strong>fine a (non<strong>de</strong>terministic) concurrent strategy,in general, as a pre-strategy which is receptive and innocent.A. Necessity of receptivity and innocenceThe properties of receptivity and innocence of a pre-strategy,<strong>de</strong>scribed below, will play a central role.Receptivity. Say a pre-strategy σ ∶ S → A is receptive whenσx−⊂ a& pol A (a) = − ⇒ ∃!s ∈ S. x−⊂ s& σ(s) = a , for allx ∈ C(S), a ∈ A. Receptivity ensures that no Opponent movewhich is possible is disallowed.Innocence. Say a pre-strategy σ is innocent when it is both+-innocent and −-innocent:+-Innocence: If s ⇾ s ′ & pol(s) = + then σ(s) ⇾ σ(s ′ ).−-Innocence: If s ⇾ s ′ & pol(s ′ ) = − then σ(s) ⇾ σ(s ′ ).The <strong>de</strong>finition of a pre-strategy σ ∶ S → A ensures that themoves of Player and Opponent respect the causal constraints ofthe game A. Innocence restricts Player further. Locally, withina configuration, Player may only introduce new relations ofimmediate causality of the form ⊖ ⇾ ⊕ . Thus innocencegives Player the freedom to await Opponent moves beforemaking their move, but prevents Player having any influenceon the moves of Opponent beyond those stipulated in the gameA; more surprisingly, innocence also disallows any immediatecausality of the form ⊕ ⇾ ⊕, purely between Player moves,not already stipulated in the game A.Two important consequences of −-innocence:Lemma 11. Let σ ∶ S → A be a pre-strategy. Suppose, fors, s ′ ∈ S, that[s) ↑ [s ′ ) & pol S (s) = pol S (s ′ ) = − & σ(s) = σ(s ′ ) .(i) If σ is −-innocent, then [s) = [s ′ ).(ii) If σ is receptive and −-innocent, then s = s ′ .[x ↑ y expresses the compatibility of x, y ∈ C(S).]Proof. (i) Assume the property above holds of s, s ′ ∈ S.Assume σ is −-innocent. Suppose s 1 ⇾ s. Then by −-innocence, σ(s 1 ) ⇾ σ(s). As σ(s ′ ) = σ(s) and σ is a map ofevent structures there is s 2 < s ′ s.t. σ(s 2 ) = σ(s 1 ). But s 1 , s 2both belong to the configuration [s) ∪ [s ′ ) so s 1 = s 2 , as σ isa map, and s 1 < s ′ . Symmetrically, if s 1 ⇾ s ′ then s 1 < s. Itfollows that [s) = [s ′ ). (ii) Now both [s) −⊂ sand [s) −⊂ s′withσ(s) = σ(s ′ ) where both s, s ′ have −ve polarity. If, further, σis receptive, s = s ′ .Let x and x ′ be configurations of an event structure withpolarity. Write x ⊆ − x ′ to mean x ⊆ x ′ and pol(x ′ ∖ x) ⊆{−}, i.e. the configuration x ′ extends the configuration x solelyby events of −ve polarity. In the presence of −-innocence,receptivity strengthens to the following useful property:Lemma 12. Let σ ∶ S → A be a −-innocent pre-strategy. Thepre-strategy σ is receptive iff whenever σx ⊆ − y there is aunique x ′ ∈ C(S) so that x ⊆ x ′ & σx ′ = y . Diagrammatically,σx ⊆ x ′σσx ⊆ − y .[It will necessarily be the case that x ⊆ − x ′ .]Proof. “if”: Clear. “Only if”: Assuming σx ⊆ − y we canform a covering chainσx−⊂y a11 ⋯−⊂y ann = y .By repeated use of receptivity we obtain the existence of x ′where x ⊆ x ′ and σx ′ = y. To show the uniqueness of x ′suppose x ⊆ z, z ′ and σz = σz ′ = y. Suppose that z /= z ′ .Then, without loss of generality, suppose there is a ≤ S -minimal


s ′ ∈ z ′ with s ′ ∉ z. Then [s ′ ) ⊆ z. Now σ(s ′ ) ∈ y so thereis s ∈ z for which σ(s) = σ(s ′ ). We have [s), [s ′ ) ⊆ z so[s) ↑ [s ′ ). By Lemma 11(ii) we <strong>de</strong>duce s = s ′ so s ′ ∈ z, acontradiction. Hence, z = z ′ .It is useful to <strong>de</strong>fine innocence and receptivity on partialmaps of event structures with polarity.Definition 13. Let f ∶ S → A be a partial map of eventstructures with polarity. Say f is receptive whenf(x) a−⊂ & pol A (a) = − ⇒ ∃!s ∈ S. x s−⊂ & f(s) = afor all x ∈ C(S), a ∈ A.Say f is innocent when it is both +-innocent and −-innocent,i.e.s ⇾ s ′ & pol(s) = + & f(s) is <strong>de</strong>fineds ⇾ s ′ & pol(s ′ ) = − & f(s ′ ) is <strong>de</strong>fined⇒f(s ′ ) is <strong>de</strong>fined & f(s) ⇾ f(s ′ ) ,⇒f(s) is <strong>de</strong>fined & f(s) ⇾ f(s ′ ) .Proposition 14. A pre-strategy σ ∶ A + B is receptive,respectively +/−-innocent, iff both the partial maps σ 1 andσ 2 of its span are receptive, respectively +/−-innocent.Proposition 15. For σ ∶ A + B a pre-strategy, σ 1 isreceptive, respectively +/−-innocent, iff (σ ⊥ ) 2 is receptive,respectively +/−-innocent; σ is receptive and innocent iff σ ⊥is receptive and innocent.The next lemma will play a major role in importing receptivityand innocence to compositions of pre-strategies.Lemma 16. For pre-strategies σ ∶ A + B and τ ∶ B + C,if σ 1 is receptive, respectively +/−-innocent, then (τ⊙σ) 1 isreceptive, respectively +/−-innocent.Proof. Abbreviate τ⊙σ to υ.Receptivity: We show the receptivity of υ 1 assuming that σ 1is receptive. Let x ∈ C(T ⊙S) such that υ 1 x−⊂ ain C(A ⊥ ) withpol A ⊥(a) = −. By Proposition 9, σ 1 π 1 ⋃ x−⊂ awith π 1 ⋃ x ∈C(S). As σ 1 is receptive there is a unique s ∈ S such thatπ 1 ⋃ x−⊂ sin S and σ 1 (s) = a. It follows that ⋃ x (s,∗)−⊂z, forsome z, in C(T )⊙C(S). Defining p = <strong>de</strong>f [(s, ∗)] z we obtainx−⊂ pand υ 1 (p) = a, with p the unique such event.Innocence: Assume that σ 1 is innocent. To show the +-innocence of υ 1 we first establish a property of the ⇾-relationin the event structure Pr( C(T )⊙ C(S)), the synchronizedcomposition of event structures S and T , before projectionto V :If e ⇾ e ′ in Pr(C(T )⊙C(S)) with e ∈ V , pol(e) = +and υ 1 (e) <strong>de</strong>fined, then e ′ ∈ V and υ 1 (e ′ ) is <strong>de</strong>fined.Assume e ⇾ e ′ in Pr(C(T )⊙ C(S)), e ∈ V , pol(e) = + andυ 1 (e) is <strong>de</strong>fined. From the <strong>de</strong>finition of Pr(C(T )⊙C(S)), theevent e is a prime configuration of C(T )⊙C(S) where max(e)must have the form (s, ∗), for some event s of S where σ 1 (s)is <strong>de</strong>fined. By Lemma 6, max(e ′ ) has the form (s ′ , ∗) or(s ′ , t) with s ⇾ s ′ in S. Now, as s ⇾ s ′ and pol(s) = +,from the +-innocence of σ 1 , we obtain σ 1 (s) ⇾ σ 1 (s ′ ) inA ⊥ ∥A. Whence σ 1 (s ′ ) is <strong>de</strong>fined ensuring max(e ′ ) = (s ′ , ∗).It follows that e ′ ∈ V and υ 1 (e ′ ) is <strong>de</strong>fined.Now suppose e ⇾ e ′ in T ⊙S. Then either(i) e ⇾ e ′ in Pr(C(T )⊙C(S)), or(ii) e ⇾ e 1 < e ′ in Pr(C(T )⊙C(S)) for some ‘invisible’event e 1 ∉ V .But the above argument shows that case (ii) cannot occurwhen pol(e) = + and υ 1 (e) is <strong>de</strong>fined. It follows that whenevere ⇾ e ′ in T ⊙S with pol(e) = + and υ 1 (e) <strong>de</strong>fined, then υ 1 (e ′ )is <strong>de</strong>fined and υ 1 (e) ⇾ υ 1 (e ′ ), as required.The argument showing −-innocence of υ 1 assuming that ofσ 1 is similar.Corollary 17. For pre-strategies σ ∶ A + B and τ ∶ B + C,if τ 2 is receptive, respectively +/−-innocent, then (τ⊙σ) 2 isreceptive, respectively +/−-innocent.Proof. By duality using Lemma 16: if τ 2 is receptive, respectively+/−-innocent, then (τ ⊥ ) 1 is receptive, respectively+/−-innocent, and hence (σ ⊥ ⊙τ ⊥ ) 1 = ((τ⊙σ) ⊥ ) 1 = (τ⊙σ) 2is receptive, respectively +/−-innocent.Lemma 18. For an event structure with polarity A, the prestrategycopy-cat γ A ∶ A + A is receptive and innocent.Proof. Receptive: Suppose x ∈ C(CC A ) such that γ A x−⊂cin C(A ⊥ ∥A) where pol A⊥ ∥A(c) = −. Now γ A x = x andx ′ = <strong>de</strong>f x ∪ {c} ∈ C(A ⊥ ∥A). Proposition 8(ii) characterizesthose configurations of A ⊥ ∥A which are also configurationsof CC A : the characterization applies to x and to its extensionx ′ = x ∪ {c} because of the −ve polarity of c. Hencex ′ ∈ C(CC A ) and x−⊂x c ′ in C(CC A ), and clearly c is uniqueso γ A (c) = c.−-Innocent: Suppose c ⇾ c ′ in CC A and pol(c ′ ) = −. ByProposition 8(i), c ⇾ c ′ in A ⊥ ∥A. The argument for +-innocence is similar.Theorem 19. Let σ ∶ A + B be a pre-strategy from A to B.If σ⊙γ A ≅ σ and γ B ⊙σ ≅ σ, then σ is receptive and innocent.Let σ ∶ A + B and τ ∶ B + C be pre-strategies whichare both receptive and innocent. Then their composition τ⊙σ ∶A + C is receptive and innocent.Proof. We know the copy-cat pre-strategies γ A and γ B arereceptive and innocent—Lemma 18. Assume σ⊙γ A ≅ σ andγ B ⊙σ ≅ σ. By Lemma 16, (σ⊙γ A ) 1 is receptive and innocentso σ 1 is receptive and innocent. From its dual, Corollary 17,(γ B ⊙σ) 2 so σ 2 is receptive and innocent. Hence σ is receptiveand innocent.Assume that σ ∶ A + B and τ ∶ B + C are receptive andinnocent. The fact that σ is receptive and innocent ensuresthat (τ⊙σ) 1 is receptive and innocent, that τ is receptive andinnocent that (τ⊙σ) 2 is too. Combining, we obtain that τ⊙σis receptive and innocent.In other words, if a pre-strategy is to compose well withcopy-cat, in the sense that copy-cat behaves as an i<strong>de</strong>ntityw.r.t. composition, the pre-strategy must be receptive and


innocent. Copy-cat behaving as i<strong>de</strong>ntity is a hallmark ofgame-based semantics, so any sensible <strong>de</strong>finition of concurrentstrategy will have to ensure receptivity and innocence.B. Sufficiency of receptivity and innocenceIn fact, as we will now see, not only are the conditions ofreceptivity and innocence on pre-strategies necessary to ensurethat copy-cat acts as i<strong>de</strong>ntity. They are also sufficient.Technically, this section establishes that for a pre-strategyσ ∶ A + B which is receptive and innocent both the compositionsσ⊙γ A and γ B ⊙σ are isomorphic to σ. We shall concentrateon the isomorphism from σ⊙γ A to σ. The isomorphismfrom γ B ⊙σ to σ follows by duality.Recall, from Section V-B, the construction of the prestrategyσ⊙γ A as a total map S⊙CC A → A ⊥ ∥B. The eventstructure S⊙CC A is built from the synchronized compositionof stable families C(S)⊙C(CC A ), a restriction of the productof stable families to events{(c, ∗) ∣ c ∈ CC A & γ A1 (c) is <strong>de</strong>fined} ∪{(c, s) ∣ c ∈ CC A & s ∈ S & γ A2 (c) = σ 1 (s)} ∪{(∗, s) ∣ s ∈ S & σ 2 (t) is <strong>de</strong>fined} ∶C(S)⊙C(CC A )π 1π 2C(CC A )C(S) γ A1γA2 σ 1σ 2 C(A ⊥ ) C(A) C(A ⊥ ) C(B)Finally S⊙CC A is obtained from the prime configurationsof C(S)⊙C(CC A ) whose maximum events are <strong>de</strong>fined un<strong>de</strong>rγ A1 π 1 or σ 2 π 2 .We will first present the putative isomorphism from σ⊙γ Ato σ as a total map of event structures θ ∶ S⊙CC A → S. The<strong>de</strong>finition of θ <strong>de</strong>pends crucially on the lemmas below. Theyinvolve special configurations of C(S)⊙C(CC A ), viz. those ofthe form ⋃ x , where x is a configuration of S⊙CC A .Lemma 20. For x ∈ C(S⊙CC A ),(c, s) ∈ ⋃ x ⇒ (c, ∗) ∈ ⋃ x .Proof. The case when pol(c) = + follows directly becausethen c ⇾ c in CC A so (c, ∗) ⇾ ⋃ x (c, s).Suppose the lemma fails in the case when pol(c) = −, so thereis a ≤ ⋃ x -maximal (c, s) ∈ ⋃ x such thatpol(c) = − & (c, ∗) ∉ ⋃ x . (†)The event (c, s) cannot be maximal in ⋃ x as its maximalevents take the form (c ′ , ∗) or (∗, s ′ ). There must be e ∈ ⋃ xfor which(c, s) ⇾ ⋃ x e .Consi<strong>de</strong>r the possible forms of e:Case e = (c ′ , s ′ ): Then, by Lemma 6, either c ⇾ c ′ in CC Aor s ⇾ s ′ in S. However if s ⇾ s ′ then, as pol(s) = + byinnocence, σ 1 (s) ⇾ σ 1 (s ′ ) in A ⊥ , so γ A2 (c) ⇾ γ A2 (c ′ ) inA; but then c ⇾ c ′ in CC A . Either way, c ⇾ c ′ in CC A .Suppose pol(c ′ ) = +. Then,(c, s) ⇾ ⋃ x (c, ∗) ⇾ ⋃ x (c ′ , ∗) ⇾ ⋃ x (c ′ , s ′ ) .But this contradicts (c, s) ⇾ ⋃ x (c ′ , s ′ ).Suppose pol(c ′ ) = −. Because (c, s) is maximal such that(†), (c ′ , ∗) ∈ ⋃ x. But (c, ∗) ⇾ ⋃ x (c ′ , ∗) whence (c, ∗) ∈ ⋃ x,contradicting (†).Case e = (∗, s ′ ): Now (c, s) ⇾ ⋃ x (∗, s ′ ). By Lemma 6, s ⇾s ′ in S with pol(s) = +. By innocence, σ 1 (s) ⇾ σ 1 (s ′ ) and inparticular σ 1 (s ′ ) is <strong>de</strong>fined, which forbids (∗, s ′ ) as an eventof C(S)⊙C(CC A ).Case e = (c ′ , ∗): Now (c, s) ⇾ ⋃ x (c ′ , ∗). By Lemma 6,c ⇾ c ′ in CC A . Because (c, s) and (c ′ , ∗) are events ofC(S)⊙C(CC A ) we must have γ 2 (c) and γ 1 (c ′ ) are <strong>de</strong>fined—they are in different components of CC A . By Proposition 8,c ′ = c, contradicting (†).In all cases we obtain a contradiction—hence the lemma.Lemma 21. For x ∈ C(S⊙CC A ),σ 1 π 2 ⋃ x ⊆ − γ A1 π 1 ⋃ x .Proof. As a direct corollary of Lemma 20, we obtain:σ 1 π 2 ⋃ x ⊆ γ A1 π 1 ⋃ x .The current lemma will follow provi<strong>de</strong>d all events of +vepolarity in γ A1 π 1 ⋃ x are in σ 1 π 2 ⋃ x. However, (c, s) ⇾ ⋃ x(c, ∗), for some s ∈ S, when pol(c) = +.Lemma 22. For x ∈ C(S⊙CC A ),Proof.σπ 2 ⋃ x ⊆ − σ⊙γ A x .σπ 2 ⋃ x = σ 1 π 2 ⋃ x ∪ σ 2 π 2 ⋃ x⊆ − γ A1 π 1 ⋃ x ∪ σ 2 π 2 ⋃ x , by Lemma 21= σ⊙γ A x , by Proposition 9.Lemma 22 is the key to <strong>de</strong>fining a map θ ∶ S⊙CC A → S viathe following map-lifting property of receptive maps:Lemma 23. Let σ ∶ S → C be a total map of eventstructures with polarity which is receptive and −-innocent.Let p ∶ C(V ) → C(S) be a monotonic function, i.e. such thatp(x) ⊆ p(y) whenever x ⊆ y in C(V ). Let υ ∶ V → C be atotal map of event structures with polarity such that∀x ∈ C(V ). σp(x) ⊆ − υ x .Then, there is a unique total map of event structures withpolarity θ ∶ V → S such that ∀x ∈ C(V ). p(x) ⊆ − θ x and


υ = σθ ∶θθVp⊆− S υ−⊆σC .[We use a broken arrow to signify that p is not a map of eventstructures.]Proof. Let x ∈ C(V ). Then σp(x) ⊆ − υ x. Define Θ(x) to bethe unique configuration ofC(S), <strong>de</strong>termined by the receptivityof σ, such thatp(x)σ⊆ −Θ(x)σσp(x) ⊆ − υ x .Define θ x to be the composite bijectionθ x ∶ x ≅ υx ≅ Θ(x)where the bijection x ≅ υx is that <strong>de</strong>termined locally by thetotal map of event structures υ, and the bijection υx ≅ Θ(x) isthe inverse of the bijection σ ↾ Θ(x) ∶ Θ(x) ≅ υ x <strong>de</strong>terminedlocally by the total map σ.Now, let y ∈ C(V ) with x ⊆ y. We claim that θ x is therestriction of θ y . This will follow once we have shown thatΘ(x) ⊆ Θ(y). Then, treating the inclusions as inclusion maps,both squares in the diagram below will commute:θ y ∶ y ≅ υ y ≅ Θ(y)⊆θ x ∶ x≅⊆υ x≅⊆Θ(x)This will make the composite rectangle commute, i.e. makeθ x the restriction of θ y .To show Θ(x) ⊆ Θ(y) we suppose otherwise. Then thereis an event s ∈ Θ(x) of minimum <strong>de</strong>pth w.r.t. ≤ S such thats ∉ Θ(y). Note that pol(s) = −, as otherwise s ∈ p(x) ⊆p(y) ⊆ Θ(y). As σ(s) ∈ υ x ⊆ υ y there is s ′ ∈ Θ(y) such thatσ(s ′ ) = σ(s). From the minimality of s, both [s), [s ′ ) ⊆ Θ(y)ensuring the compatibility of [s) and [s ′ ). By Lemma 11(ii),s = s ′ and s ∈ Θ(y)—a contradiction.By Proposition 3, the family θ x , x ∈ C(V ), <strong>de</strong>terminesthe unique total map θ ∶ V → S such that θ x = Θ(x). Byconstruction, p(x) ⊆ − θ x, for all x ∈ C(V ), and υ = σθ. Thisproperty in itself ensures that θ x = Θ(x) so <strong>de</strong>termines θuniquely.In Lemma 23, instantiate p ∶ C(S⊙CC A ) → C(S) tothe function p(x) = π 2 ⋃ x for x ∈ C(S⊙CC A ), the mapσ to the pre-strategy σ ∶ S → A ⊥ ∥B and υ to the prestrategyσ⊙γ A . By Lemma 22, σπ 2 ⋃ x ⊆ − σ⊙γ A x, so theconditions of Lemma 23 are met and we obtain a total mapθ ∶ S⊙CC A → S such that π 2 ⋃ x ⊆ − θ x, for all x ∈C(S⊙CC A ),and σθ = σ⊙γ A :p⊆−S⊙CC A Sσ σ⊙γ A A ⊥ ∥B .The next lemma is used in showing θ is an isomorphism.Lemma 24. (i) Let z ∈ C(S)⊙C(CC A ). If e ≤ z e ′ and π 2 (e)and π 2 (e ′ ) are <strong>de</strong>fined, then π 2 (e) ≤ S π 2 (e ′ ). (ii) The mapπ 2 is surjective on configurations.Proof. (i) It suffices to show whene ⇾ z e 1 ⇾ z ⋯ ⇾ z e n−1 ⇾ z e ′with π 2 (e) and π 2 (e ′ ) <strong>de</strong>fined and all π 2 (e i ), 1 ≤ i ≤ n − 1,un<strong>de</strong>fined, that π 2 (e) ≤ S π 2 (e ′ ).Case n = 1, so e ⇾ z e ′ : Use Lemma 6. If either e or e ′has the form (∗, s) then the other event must have the form(∗, s ′ ) or (c ′ , s ′ ) with s ⇾ s ′ in S. In the remaining casee = (c, s) and e ′ = (c ′ , s ′ ) with either (1) c ⇾ c ′ in CC A ,and γ A2 (c) ⇾ γ A2 (c ′ ) in A, or (2) s ⇾ s ′ in S. If (1),σ 1 (s) ⇾ σ 1 (s ′ ) in A ⊥ where s, s ′ ∈ π 2 z. By Proposition 4,s ≤ S s ′ . In either case (1) or (2), π 2 (e) ≤ S π 2 (e ′ ).Case n > 1: Each e i has the form (c i , ∗), for 1 ≤ i ≤ n − 1.By Lemma 6, events e and e ′ must have the form (c, s) and(c ′ , s ′ ) with c ⇾ c 1 and c n−1 ⇾ c ′ in CC A . As γ A1 (c) andγ A2 (c 1 ) are <strong>de</strong>fined, c 1 = c and similarly c n−1 = c ′ . Again byLemma 6, c i ⇾ c i+1 in CC A for 1 ≤ i ≤ i − 2. Consequentlyγ A2 (c) ≤ A γ A2 (c ′ ). Now, s, s ′ ∈ π 2 z with σ 1 (s) ≤ A ⊥ σ 1 (s ′ ).By Proposition 4, s ≤ S s ′ , as required.(ii) Let y ∈ C(S). Then σ 1 y ∈ C(A ⊥ ) and by the clearsurjectivity of γ A2 on configurations there exists w ∈ C(CC A )such that γ A2 w = σ 1 y. Now letz = {(c, ∗) ∣ c ∈ w & γ A1 (c) is <strong>de</strong>fined}∪ {(c, s) ∣ c ∈ w & s ∈ y & γ A2 (c) = σ 1 (s)}∪ {(∗, s) ∣ s ∈ y & σ 2 (s) is <strong>de</strong>fined} .Then, from the <strong>de</strong>finition of the product of stable families—III-A, it can be checked that z ∈ C(S)⊙C(CC A ). By construction,π 2 z = y. Hence π 2 is surjective on configurations.Theorem 25. θ ∶ σ⊙γ A ≅ σ, an isomorphism of pre-strategies.Proof. We show θ is an isomorphism of event structuresby showing θ is rigid and both surjective and injective onconfigurations (Lemma 3.3 of [12]). The rest is routine.Rigid: It suffices to show p ⇾ p ′ in S⊙CC A implies θ(p) ≤ Sθ(p ′ ). Suppose p ⇾ p ′ in S⊙CC A with max(p) = e andmax(p ′ ) = e ′ . Take x ∈ C(S⊙CC A ) containing p ′ so p too.Thene ⇾ ⋃ x e 1 ⇾ ⋃ x ⋯ ⇾ ⋃ x e n−1 ⇾ ⋃ x e ′where e, e ′ ∈ V and e i ∉ V for 1 ≤ i ≤ n − 1. (V consistsof ‘visible’ events of the form (c, ∗) with γ A1 (c) <strong>de</strong>fined, or(∗, s), with σ 2 (s) <strong>de</strong>fined.)−⊆


Case n = 1, so e ⇾ ⋃ x e ′ : By Lemma 6, either (i) e = (∗, s)and e ′ = (∗, s ′ ) with s ⇾ s ′ in S, or (ii) e = (c, ∗) an<strong>de</strong> ′ = (c ′ , ∗) with c ⇾ c ′ in CC A .If (i), we observe, via σθ = σ⊙γ A , that s ∈ π 2 ⋃ x ⊆ θx andθ(p) ∈ θx with σ(θ(p)) = σ(s), so θ(p) = s by the localinjectivity of σ. Similarly, θ(p ′ ) = s ′ , so θ(p) ≤ S θ(p ′ ).If (ii), we obtain θ(p), θ(p ′ ) ∈ θx with σ 1 θ(p) = γ A1 (c),σ 1 θ(p ′ ) = γ A1 (c ′ ) and γ A1 (c) ⇾ γ A1 (c ′ ) in A ⊥ . By Proposition4, θ(p) ≤ S θ(p ′ ).Case n > 1: Note e i = (c i , s i ) for 1 ≤ i ≤ n − 1, and that s 1 ≤ Ss n−1 by Lemma 24(i). Consi<strong>de</strong>r the case in which e = (c, ∗)and e ′ = (c ′ , ∗)—the other cases are similar. By Lemma 6,c ⇾ c 1 and c n−1 ⇾ c ′ in CC A . But γ A1 (c) and γ A2 (c 1 )are <strong>de</strong>fined, so c 1 = c, and similarly c n−1 = c ′ . We remarkthat θ(p) = s 1 , by the local injectivity of σ, as both s 1 ∈π 2 ⋃ x ⊆ θx and θ(p) ∈ θx with σ(θ(p)) = σ(s 1 ). Similarlyθ(p ′ ) = s n−1 , whence θ(p) ≤ S θ(p ′ ).Surjective: Let y ∈ C(S). By Lemma 24(ii), there is z ∈C(S)⊙C(CC A ) such that π 2 z = y. Letz ′ = z ∪ {(c, ∗) ∣ pol(c) = + & ∃s ∈ S. (c, s) ∈ z} .It is straightforward to check z ′ ∈ C(S)⊙C(CC A ). Now letz ′′ = z ′ ∖ {(c, ∗) ∣ pol(c) = − & ∀s ∈ S. (c, s) ∉ z ′ } .Then z ′′ ∈ C(S)⊙C(CC A ) by the following argument. The setz ′′ is certainly consistent, so it suffices to showpol(c) = − & (c, ∗) ≤ z ′ e ∈ z ′′ ⇒ ∃s ∈ S. (c, s) ∈ z ′ ,for all c ∈ CC A and e ∈ z ′′ . This we do by induction on thenumber of events between (c, ∗) and e. Supposepol(c) = − & (c, ∗) ⇾ z ′ e 1 ≤ z ′ e ∈ z ′ .In the case where e 1 = (c 1 , s 1 ), we <strong>de</strong>duce c ⇾ c 1 in CC Aand as γ A1 (c) is <strong>de</strong>fined while γ A2 (c 1 ) is <strong>de</strong>fined, we musthave c 1 = c, as required. In the case where e 1 = (c 1 , ∗) andpol(c 1 ) = −, by induction, we obtain (c 1 , s 1 ) ∈ z ′ for somes 1 ∈ S. Also c ⇾ c 1 , so c ⇾ c 1 in CC A . As z ′ is a configurationwe must have (c, s) ≤ z ′ (c 1 , s 1 ), for some s ∈ S, so (c, s) ∈ z ′ .In the case where e 1 = (c 1 , ∗) and pol(c 1 ) = +, we havec ⇾ c 1 in CC A . Moreover, (c 1 , s) ∈ z ′ , for some s ∈ S, as z ′ isa configuration and c 1 ⇾ c 1 in CC A . Again, from the fact thatz ′ is a configuration, there must be (c, s) ∈ z ′ for some s ∈ S.We have exhausted all cases and conclu<strong>de</strong> z ′′ ∈ C(S)⊙C(CC A )with θz ′′ = π 2 z = y, as required to show θ is surjective onconfigurations.Injective: Abbreviate σ⊙γ A to υ. Assume θx = θy, wherex, y ∈ C(S⊙CC A ). Via the commutativity υ = σθ, we observeυx = σθ x = σθ y = υy .Recall by Proposition 9, that υ 1 x = γ A1 π 1 ⋃ x = π 1 ⋃ x. Itfollows that(c, ∗) ∈ ⋃ x ⇐⇒ c ∈ υ 1 x ⇐⇒ c ∈ υ 1 y ⇐⇒ (c, ∗) ∈ ⋃ y .Observe(∗, s) ∈ ⋃ x ⇐⇒ σ 2 (s) is <strong>de</strong>fined & s ∈ θx ∶“⇒” by the local injectivity of σ 2 , as p = <strong>de</strong>f [(∗, s)] ⋃ x yieldsθ(p) ∈ θx and s ∈ π 2 ⋃ x ⊆ θx with σ 2 (θ(p)) = σ 2 (s), soθ(p) = s; “⇐” as σ 2 (s) <strong>de</strong>fined and s ∈ θx entails s = θ(p)for some p ∈ x, necessarily with max(p) = (∗, s). Hence(∗, s) ∈ ⋃ x ⇐⇒ σ 2 (s) is <strong>de</strong>fined & s ∈ θx⇐⇒ σ 2 (s) is <strong>de</strong>fined & s ∈ θy⇐⇒ (∗, s) ∈ ⋃ y .Assuming (c, s) ∈ ⋃ x we now show (c, s) ∈ ⋃ y. (Theconverse holds by symmetry.) There is p ∈ x, such that (c, s) ∈p. If max(p) = (∗, s ′ ) (also in ⋃ y as it is visible) then as π 2is rigid, s ≤ s ′ and we must have (c ′ , s) ∈ ⋃ y. Otherwise,max(p) = (d, ∗) and we can suppose (by taking p minimal)that (c, s) ≤ ⋃ x (d ′ , s ′ ) ⇾ ⋃ x (d, ∗). But then θ(p) = s ′ ∈ θx =θy. Also s ≤ S s ′ , by the rigidity of π 2 , and, as we have seenbefore, d ′ = d with d ′ −ve. Hence s ′ is +ve and as θy isa −ve extension of π 2 ⋃ y we must have s ′ ∈ π 2 ⋃ y. Hencethere is (∗, s ′ ) or (c ′′ , s ′ ) in ⋃ y, and as s ≤ S s ′ there is some(c ′ , s) ∈ ⋃ y. In both cases, γ A2 (c ′ ) = σ 1 (s) = γ A2 (c), soc ′ = c, and thus (c, s) ∈ ⋃ y.We conclu<strong>de</strong> ⋃ x = ⋃ y, so x = y, as required for injectivity.C. The bicategory of concurrent games and strategiesDefine a strategy to be a pre-strategy which is receptiveand innocent. We obtain a bicategory, Games, in whichthe objects are event structures with polarity—the games, thearrows from A to B are strategies σ ∶ A + B and the 2-cellsare maps of spans. The vertical composition of 2-cells is theusual composition of maps of spans. Horizontal compositionis given by the composition of strategies ⊙ (which extendsto a functor on 2-cells via the functoriality of synchronizedcomposition). The isomorphisms expressing associativity andthe i<strong>de</strong>ntity of copy-cat are those of Proposition 10 andTheorem 25 with its dual.An alternative <strong>de</strong>scription of concurrent strategies exhibitsthe correspon<strong>de</strong>nce between innocence and earlier “saturationconditions,” reflecting specific in<strong>de</strong>pen<strong>de</strong>nce, in [5], [6], [3]:Proposition 26. A strategy S in a game A comprises a totalmap of event structures with polarity σ ∶ S → A such that(i) σx−⊂ a& pol A (a) = − ⇒ ∃!s ∈ S. x−⊂ s& σ(s) = a , forall x ∈ C(S), a ∈ A.(ii)(+) If x−⊂x e e ′1 −⊂ & pol S (e) = + in C(S) and σx σ(e′ )−⊂ inC(A), then x e′−⊂ in C(S).(ii)(−) If x e−⊂x 1e ′−⊂ & pol S (e ′ ) = − in C(S) and σx σ(e′ )−⊂ inC(A), then x e′−⊂ in C(S).D. Deterministic strategiesSay an event structure with polarity S is <strong>de</strong>terministic iff∀X ⊆ fin S. Neg[X] ∈ Con S ⇒ X ∈ Con S ,where Neg[X] = <strong>de</strong>f {s ′ ∈ S ∣ ∃s ∈ X. pol S (s ′ ) = − & s ′ ≤ s}.Say a strategy σ ∶ S → A is <strong>de</strong>terministic if S is <strong>de</strong>terministic.


Proposition 27. An event structure with polarity S is <strong>de</strong>terministiciff x−⊂ s& x−⊂ s′& pol S (s) = + implies x ∪ {s, s ′ } ∈C(S), for all x ∈ C(S).A copy-cat strategy can fail to be <strong>de</strong>terministic in the twoways allowed by Proposition 27.Example 28. (i) Take A to consist of two +ve events and one−ve event, with any two but not all three events consistent.The construction of CC A is pictured:A ⊥⊖ ⇾ ⊕⊖ ⇾ ⊕ A⊕ ⇽ ⊖CC A is not <strong>de</strong>terministic: take x to be the set of all three −veevents in CC A and s, s ′ to be the two +ve events in the Acomponent.(ii) Take A to consist of two events, one +ve and one −veevent, inconsistent with each other. The construction CC A :A ⊥⊖ ⇾ ⊕ A⊕ ⇽ ⊖To see CC A is not <strong>de</strong>terministic, take x to be the singleton setconsisting e.g. of the −ve event on the left and s, s ′ to be the+ve and −ve events on the right.Lemma 29. Let A be an event structure with polarity. Thecopy-cat strategy γ A is <strong>de</strong>terministic iff A satisfies∀x ∈ C(A). x a−⊂ & x a′−⊂ & pol A (a) = + & pol A (a ′ ) = −⇒ x ∪ {a, a ′ } ∈ C(A) . (‡)Lemma 30. The composition τ⊙σ of two <strong>de</strong>terministic strategiesσ and τ is <strong>de</strong>terministic.We obtain a sub-bicategory DGames of Games; itsobjects satisfy (‡) of Lemma 29 and its maps are <strong>de</strong>terministicstrategies. Moreover DGames can be ma<strong>de</strong> equivalent to aor<strong>de</strong>r-enriched category via the following proposition, whichensures <strong>de</strong>terministic strategies in A correspond to certainsubfamilies of the configurations of A.Proposition 31. A <strong>de</strong>terministic strategy is injective on configurations(and therefore mono as a map of event structures).A <strong>de</strong>terministic strategy σ ∶ S → A <strong>de</strong>termines, as the imageof the configurations C(S), a subfamily F = <strong>de</strong>f σ C(S) ofconfigurations of C(A), which satisfies:reachability: ∅ ∈ F and if x ∈ F there is a covering chain∅−⊂x a1 a 2 a k1−⊂⋯ −⊂xk = x within F ;<strong>de</strong>terminacy: If x−⊂ aand x−⊂ a′in F with pol A (a) = +, thenx ∪ {a, a ′ } ∈ F ;receptivity: If x ∈ F and x−⊂ ain C(A) and pol A (a) = −, thenx ∪ {a} ∈ F ;+-innocence: If x−⊂x a a ′1 −⊂ & pol A (a) = + in F and x−⊂a′in C(A), then x a′−⊂ in F ;cube: In F , x 1 e y 1 abb e x y zab ae y 2x 2(Here receptivity implies −-innocence.)impliesxe .Theorem 32. A subfamily F ⊆ C(A) satisfies the conditionsabove iff there is a <strong>de</strong>terministic strategy σ ∶ S → A such thatF = σC(S), the image of C(S) un<strong>de</strong>r σ.VII. RELATED WORK—EARLY RESULTS1) Stable spans, profunctors and stable functions: The subbicategoryof Games where the events of games are purely+ve is equivalent to the bicategory of stable spans [12]. In thiscase, strategies correspond to stable spans:A ⊥σ 1 S σ 2B←→ S +σ 1− σ2+ A B ,where S + is the projection of S to its +ve events; σ 2+ is therestriction of σ 2 to S + , necessarily a rigid map by innocence;σ2 − is a <strong>de</strong>mand map taking x ∈ C(S + ) to σ1 − (x) = σ 1 [x] ; here[x] is the down-closure of x in S. Composition of stable spanscoinci<strong>de</strong>s with composition of their associated profunctors. Ifwe further restrict strategies to be <strong>de</strong>terministic (and, strictly,event structures to be countable) we obtain a bicategoryequivalent to Berry’s dI-domains and stable functions.2) Ingenuous strategies: Via Theorem 32, <strong>de</strong>terministicconcurrent strategies coinci<strong>de</strong> with the receptive ingenuousstrategies of Melliès and Mimram [3].3) Closure operators: In [4], <strong>de</strong>terministic strategies arepresented as closure operators. A <strong>de</strong>terministic strategy σ ∶S → A <strong>de</strong>termines a closure operator ϕ on possibly infiniteconfigurations C ∞ (S): for x ∈ C ∞ (S),ϕ(x) = x ∪ {s ∈ S ∣ pol(s) = + & Neg[{s}] ⊆ x} .Clearly ϕ preserves intersections of configurations and iscontinuous. The closure operator ϕ onC ∞ (S) induces a partialclosure operator ϕ p on C ∞ (A). This in turn <strong>de</strong>termines aclosure operator ϕ ⊺ p on C ∞ (A) ⊺ , where configurations areexten<strong>de</strong>d with a top ⊺, cf. [4]: take y ∈ C ∞ (A) ⊺ to the least,fixed point of ϕ p above y, if such exists, and ⊺ otherwise.4) Simple games: “Simple games” [10], [11] arise whenwe restrict Games to objects and <strong>de</strong>terministic strategies inPA −# r , <strong>de</strong>scribed in Section IV-B.5) Extensions: Games, such as those of [8], [13], allowingcopying are being systematized through the use of monadsand comonads [11], work now feasible on event structureswith symmetry [12]. Non<strong>de</strong>terministic strategies can potentiallysupport probability as probabilistic or stochastic eventstructures [14] to become probabilistic or stochastic strategies.


6) Other mo<strong>de</strong>ls: Event structures occupy a central positionamongst mo<strong>de</strong>ls for concurrency. The techniques here transferto other mo<strong>de</strong>ls such as Mazurkiewicz trace languages,asynchronous transition systems and Petri nets, some of whichwould appear more suitable for algorithmic and logical consi<strong>de</strong>rationsin that they support looping behaviour.ACKNOWLEDGMENTThe authors thank the anonymous referees. Thanks toPierre-Louis Curien, Marcelo Fiore, Jonathan Hayman, MartinHyland, Paul-André Melliès, Samuel Mimram and GordonPlotkin for helpful remarks. GW acknowledges with gratitu<strong>de</strong>the support of a Royal Society Leverhulme Trust SeniorFellowship and Advanced Grant ECSYM of the ERC.REFERENCES[1] P.-A. Melliès, “Asynchronous games 2: The true concurrency of innocence,”Theor. Comput. Sci. 358(2-3): 200-228, 2006.[2] A. Joyal, “Remarques sur la théorie <strong>de</strong>s jeux à <strong>de</strong>ux personnes,” Gazette<strong>de</strong>s sciences mathématiques du Québec, 1(4), 1997.[3] P.-A. Melliès and S. Mimram, “Asynchronous games : innocence withoutalternation,” in CONCUR ’07, ser. LNCS, vol. 4703. Springer, 2007.[4] S. Abramsky and P.-A. Melliès, “Concurrent games and full completeness,”in LICS ’99. IEEE Computer Society, 1999.[5] J. Laird, “A games semantics of i<strong>de</strong>alized CSP,” Vol 45 of ElectronicBooks in Theor. Comput. Sci., 2001.[6] D. R. Ghica and A. S. Murawski, “Angelic semantics of fine-grainedconcurrency,” in FOSSACS’04. LNCS 2987, Springer, 2004.[7] C. Faggian and M. Piccolo, “Partial or<strong>de</strong>rs, event structures and linearstrategies,” in TLCA ’09, ser. LNCS, vol. 5608. Springer, 2009.[8] J. M. E. Hyland and C.-H. L. Ong, “On full abstraction for PCF:I, II, and III.” Inf. Comput. 163(2): 285-408, 2000.[9] P.-L. Curien, “On the symmetry of sequentiality,” in MFPS, ser. LNCS,no. 802. Springer, 1994, pp. 29–71.[10] M. Hyland, “Game semantics,” in Semantics and Logics of Computation,A. Pitts and P. Dybjer, Eds. Publications of the Newton Institute, 1997.[11] R. Harmer, M. Hyland, and P.-A. Melliès, “Categorical combinatoricsfor innocent strategies,” in LICS ’07. IEEE Computer Society, 2007.[12] G. Winskel, “Event structures with symmetry,” Electr. Notes Theor.Comput. Sci., vol. 172, pp. 611–652, 2007.[13] S. Abramsky, R. Jaga<strong>de</strong>esan, and P. Malacaria, “Full abstraction forPCF,” Inf. Comput. 163(2): 409-470, 2000.[14] D. Varacca, H. Völzer, and G. Winskel, “Probabilistic event structuresand domains,” Theor. Comput. Sci. 358(2-3): 173-199, 2006.


Septième partieRapport <strong>de</strong> stage <strong>de</strong> license eninformatique168


Rapport <strong>de</strong> stage :Allocation <strong>de</strong> registres validéeSilvain Ri<strong>de</strong>auEncadrant : Xavier LeroyProjet Gallium, INRIA RocquencourtJuin - Juillet 2009


Je remercie Xavier Leroy <strong>de</strong> m’avoir proposé ce stage et <strong>de</strong> m’avoir suivi au cours <strong>de</strong> ces 2 mois, Jean-Baptiste Tristan et Tahina Ramanandro, ainsi que toute l’équipe Gallium pour l’accueil que j’ai reçu dans leprojet et pour leur patience face a mes incessantes questions. Je remercie aussi Laurence Ri<strong>de</strong>au, CatherineKikuchi et Jérémy Daniel pour leurs corrections.0.1 Contexte et motivations0.1.1 La compilation vérifiée, CompcertLa question “ comment écrire du co<strong>de</strong> juste ?” est apparue avec l’informatique. Si dans un premier temps laréponse fut : “testons le co<strong>de</strong>”, il est vite apparu que cette solution n’est que partielle. Une approche récente,privilégiée pour les co<strong>de</strong>s dits critiques, est généralement <strong>de</strong> certifier le programme : c’est à dire <strong>de</strong> prouverformellement, avec l’ai<strong>de</strong> d’un ordinateur, que les lignes <strong>de</strong> co<strong>de</strong>s écrites produisent bien le résultat souhaité.Cependant, dans cette approche, les preuves se font sur langage <strong>de</strong> haut niveau qui est ensuite compilé. Decette façon, rien n’assure que ce que l’on a prouvé sur le co<strong>de</strong> source soit encore vérifié par le co<strong>de</strong> compilé.Pour que l’effort <strong>de</strong> preuve ne soit pas vain, il faut disposer d’un compilateur dont il a été prouvé qu’il estlui-même correct. C’est l’objectif que se fixe le projet Compcert : écrire un compilateur <strong>de</strong> C dont il a étéprouvé formellement que le co<strong>de</strong> source et le co<strong>de</strong> produit ont la même sémantique.Par ailleurs, si la compilation vérifiée est nécessaire pour que la preuve <strong>de</strong> programme ait un sens, il estégalement pratique <strong>de</strong> disposer d’un compilateur qui fonctionne. On évite ainsi <strong>de</strong> se rendre compte au boutd’un temps plus ou moins long que ce n’est pas son propre co<strong>de</strong> qui est bugué mais le co<strong>de</strong> produit qui contientune erreur due au compilateur.0.1.2 Certification vs ValidationIl existe <strong>de</strong>ux façons <strong>de</strong> certifier un compilateur, ou un programme en général. La première, la plus naturelle,consiste à montrer que le co<strong>de</strong> lui même est correct. La plupart <strong>de</strong>s passes <strong>de</strong> Compcert sont faites seloncette métho<strong>de</strong> (on pourra se référer à [Ler09b] pour une <strong>de</strong>scription plus complète du compilateur et <strong>de</strong> sonfonctionnement ; voire [Ler09a] pour les détails du développement). Mais pour <strong>de</strong>s programmes compliquéscela peut être relativement fastidieux, c’est le cas <strong>de</strong> passes d’optimisations plus évoluées.Il existe alors une autre approche : la validation a posteriori. On ne prouve plus le co<strong>de</strong> <strong>de</strong> la passe luimême.Mais lors <strong>de</strong> l’exécution, on exécute un autre programme qui compare le co<strong>de</strong> avant la passe et le co<strong>de</strong>après la passe et vérifie qu’il font bien la même chose. Ce validateur est par contre prouvé. Il ne rend vrai quesi la sémantique du co<strong>de</strong> source et du co<strong>de</strong> modifié est la même.Ce problème n’est pas en général décidable mais le <strong>de</strong>vient pour une transformation spécifique. Le validateurne sera donc pas complet au sens que certains programmes ayant la même sémantique ne seront pas reconnuscomme i<strong>de</strong>ntiques, cependant il peut quand même être assez général pour reconnaître toutes les sorties correctes<strong>de</strong> la passe. On pourra se référer à [LT09] pour un exemple <strong>de</strong> transformation validée a posteriori.La validation présente cependant quelques menus défauts. On est en mesure <strong>de</strong> montrer qu’il n’y a pas<strong>de</strong> faux positif, mais pas <strong>de</strong> montrer qu’il n’y a pas <strong>de</strong> faux négatif. il faut donc avoir recours aux tests pourvérifier la complétu<strong>de</strong> du validateur. La validation ne met pas non plus à l’abri <strong>de</strong>s bugs dans la passe. S’il y ena ils seront repérés, mais encore faut-il les corriger. Un co<strong>de</strong> certifié, par contre, ne peut contenir <strong>de</strong> bugs. C’estcependant cette approche qui sera adoptée ici car ne pas avoir à prouver la passe permet <strong>de</strong>s optimisationsqu’on ne saurait pas prouver sinon, ou alors en faisant un effort démesuré par rapport à la relative simplicité<strong>de</strong> la preuve du validateur.0.1.3 L’allocation <strong>de</strong> registresCompcert dispose déjà d’une allocation <strong>de</strong> registre certifiée. On est donc en droit <strong>de</strong> se <strong>de</strong>man<strong>de</strong>r pourquoifaire un validateur pour cette même passe. C’est qu’en fait l’allocation actuelle n’est pas pleinement satisfai-1


sante. Le problème que doit résoudre l’allocation est d’associer au nombre arbitraire <strong>de</strong> variables présentesdans le co<strong>de</strong>, un <strong>de</strong>s emplacements mémoire qui sont en nombre fini. Il est donc évi<strong>de</strong>nt que cela ne peut pastoujours réussir, il faut alors “spiller”, c’est à dire associer la variable non pas à un <strong>de</strong>s registres du microprocesseurmais à un emplacement <strong>de</strong> la pile. On veut cependant éviter au maximum <strong>de</strong> spiller ; allouer sur lapile et lire sur la pile ayant un coup plus élevé que si la variable est simplement dans un registre.L’allocation <strong>de</strong> registre actuelle <strong>de</strong> Compcert utilise une métho<strong>de</strong> simpliste pour traiter le spilling qui esttout à satisfaisante pour l’assembleur cible actuel, le powerpc, qui dispose <strong>de</strong> 2 fois 32 registres. Cependantpour <strong>de</strong>s microprocesseurs comme le X86 qui disposent <strong>de</strong> beaucoup moins <strong>de</strong> registres, le co<strong>de</strong> produit neserait pas efficace du tout.Il est donc nécessaire <strong>de</strong> modifier cette allocation. Mais plutôt que prouver <strong>de</strong>s transformations complexes,on préfère procé<strong>de</strong>r en <strong>de</strong>ux temps. Tout d’abord écrire et prouver (ici en coq) un validateur pour l’allocation,puis écrire (ici en ocaml) une passe d’allocation <strong>de</strong> registres qui soit plus satisfaisante.2


Chapitre 1Un validateur pour l’allocation1.1 Spécifications <strong>de</strong> l’allocation <strong>de</strong> registre1.1.1 Les langages traitésComme on peut le voir sur la figure 1.1, la passe d’allocation <strong>de</strong> registres <strong>de</strong> Compcert prend en entrée unRTL (Registre Transfert Language) et produit un LTL (Location Transfert Language). Dans ces <strong>de</strong>ux langages,les fonctions sont représentées par un graphe <strong>de</strong> flot <strong>de</strong> contrôle c’est à dire un ensemble d’instructions quipointent vers leurs successeurs.Les instructions disponibles en RTL et en LTL sont i<strong>de</strong>ntiques, la seule différence est la nature <strong>de</strong>s variables.En RTL elles sont représentées par un entier strictement positif (un pseudo-registre), en LTL elles sontreprésentées par <strong>de</strong>s emplacements qui sont soit <strong>de</strong>s registres physiques, soit <strong>de</strong>s emplacements <strong>de</strong> pile.On commence donc par définir ce qu’est un graphe <strong>de</strong> flot <strong>de</strong> contrôle avant <strong>de</strong> spécifier le RTL et le LTL.Définition 1.1.1 (Fonctions et graphes <strong>de</strong> flot <strong>de</strong> contrôle <strong>de</strong> variables dans V). Soit un ensemble V <strong>de</strong>variables, on définit les instructions par :i := nop(s) pas d’opération (aller en s)| op(op, ⃗ν, ν, s) opération arithmétique| load(chunk, mo<strong>de</strong>, ⃗ν, ν, s) chargement en mémoire| store(chunk, mo<strong>de</strong>, ⃗ν, ν, s) lecture en mémoire| call(sig, (ν| id), ⃗ν, ν, s) appel <strong>de</strong> fonction| tailcall(sig, (ν| id), ⃗ν) appel terminal <strong>de</strong> fonction| cond(cond, ⃗ν, s true , s false ) brancement conditionnel| return | return(ν) retour <strong>de</strong> fonctionoù– s ∈ N ∗ est l’étiquette du successeur (<strong>de</strong> même pour s true et s false dans les cas où il y a 2 successeurs),– ν ∈ V est une variable (et ⃗ν une suite finie <strong>de</strong> variables),– op est une opération du microprocesseur (parmi lesquelles move qui jouera un rôle particulier),– chunk est un bloc mémoire, mo<strong>de</strong> un mo<strong>de</strong> d’adressage,– sig est la signature d’une fonction, c’est à dire les types (int ou float) <strong>de</strong> ses arguments,– id ∈ N ∗ est l’i<strong>de</strong>ntifiant d’une fonction,– cond est une instruction conditionnelle du microprocesseur.On note <strong>de</strong>f(i) l’ensemble <strong>de</strong>s variables définies par l’instruction i. C’est un singleton (dans les cas op,call et load) ou l’ensemble vi<strong>de</strong> (dans les autres cas). On note aussi used k (i) la k-ième variable utilisée parl’instruction i.3


parsing, elaboration(not verified)simplificationsstack pre-Clight C#minor Cminortype elimination-allocationbranch tunnelingLCM CSEinstructionselectionLTLinco<strong>de</strong>linearizationLTLregisterallocationRTLCFGconstructionCminorSelspilling, reloadingcalling conventionsinstr. schedulingconstant propagationlayout ofPowerPC co<strong>de</strong>Linear Mach PPCstack framesgenerationassembling, linking(not verified)Figure 1: Compilation Fig. passes 1.1 – and Lesintermediate passes <strong>de</strong> Compcert languages.forms of switch On such définit as Duff’s les graphes <strong>de</strong>vice; <strong>de</strong> passing flot <strong>de</strong> struct contrôle and comme overloading <strong>de</strong>s fonctions is resolved; partielles memory loads <strong>de</strong> domaine and stores, fini asqui wellàasun point <strong>de</strong>union parameters and results by value; and functions address computations, are ma<strong>de</strong> explicit. The next intermediatelanguage, Cminor, is similar to C#minor with thewith variable contrôle numbers associent of arguments. une instruction Other features : ofC are missing from Clight but are supported { through omission of the & (address-of) operator. Cminor functionlocal→ {instructions}co<strong>de</strong> expansion (“<strong>de</strong>-sugaring”) during parsing: si<strong>de</strong> effects D ⊂ N∗g :=variables do not resi<strong>de</strong> où in |D| memory, < ∞ and their addresswithin expressions (Clight expressions are si<strong>de</strong>-effect free) pc cannot ↦→ be taken. i However, Cminor supports explicit stackand block-scoped variables (Clight has only global and allocation of data in the activation records of functions. Thefunction-local On variables). notera dorénavant D f le domaine <strong>de</strong> toute translation fonctionfrom partielle C#minor f. to Cminor therefore recognizesThe semantics of Clight is formally <strong>de</strong>fined in big-step operationalstyle. The semantics is <strong>de</strong>terministic and makes signing them to Cminor local variables and making themscalar local variables whose addresses are never taken, as-Enfin on définit les fonctions par :precise a number of behaviors left unspecified or un<strong>de</strong>fined candidates for register allocation later; other local variablesin the ISO C standard, such as the sizes of data types, the resultsof signed arithmetic operations in case of overflow, and The compiler back-end starts with an instruction se-f := arefun(⃗ν, stack-allocated pc, g) : sig in the activation record.the evaluation oùor<strong>de</strong>r. Other un<strong>de</strong>fined C behaviors are consistentlyturned into “going wrong” behaviors, such as <strong>de</strong>ref-combined arithmetic instructions (add-immediate, not-and,lection pass, which recognizes opportunities for using– ⃗ν sont les variables qui contiennent les arguments <strong>de</strong> la fonction,erencing the null pointer or accessing arrays out of bounds. rotate-and-mask, etc.) and addressing mo<strong>de</strong>s provi<strong>de</strong>d byMemory is mo<strong>de</strong>led – pc ∈as N ∗ a est collection le point of disjoint d’entrée blocks, <strong>de</strong> g, each le graphe the<strong>de</strong> target flot <strong>de</strong> processor. contrôleThis <strong>de</strong> lapass fonction, proceeds by bottom-upblock being accessed – sig est through la signature byte offsets; <strong>de</strong> pointer la fonction valueset aredonc rewriting les typesof <strong>de</strong>Cminor ses arguments. expressions. The target language ispairs of a block Oni<strong>de</strong>ntifier noteraand g a byte offset. This way, pointer CminorSel, a processor-<strong>de</strong>pen<strong>de</strong>nt variant of Cminor thatarithmetic is mo<strong>de</strong>led accurately, f le graphe <strong>de</strong> flot <strong>de</strong> contrôle associé à une fonction f et succeven in the presence ofgf (i) l’ensemble <strong>de</strong>s successeursoffers additional operators, addressing mo<strong>de</strong>s, and a class ofcasts between du point incompatible <strong>de</strong> contrôle pointer i dans types. le graphe <strong>de</strong> flot <strong>de</strong> condition contrôle expressions g f . (expressions evaluated for their truthvalue only).3.2 Compilation passes and intermediate languagesDéfinition 1.1.2 (Register Transfert Language register (RTL)). transfer Une fonction language where RTL est control uneisfonction represented dont as ales variablesThe next pass translates CminorSel to RTL, a classicThe formally sont <strong>de</strong>sverified pseudo-registres, part of the CompCert i.e. un élément compiler <strong>de</strong> N ∗ . control-flow graph (CFG). Each no<strong>de</strong> of the graph carriestranslates from On Clight noteraabstract instruction syntaxRTL to PPC une instruction abstract dont a machine-level les variables instruction sont <strong>de</strong>soperating pseudo-registres. over temporariessyntax, PPC being a subset of PowerPC assembly language. (pseudo-registers). RTL is a convenient representation toAs <strong>de</strong>picted in figure 1, the compiler is composed of conduct optimizations based on dataflow analyses. TwoDéfinition 1.1.3 (Location Transfert Language (LTL)). On définit les emplacements par :14 passes that go through 8 intermediate languages. Not such optimizations are currently implemented: constant<strong>de</strong>tailed in figure 1 are the parts of the compiler that are not propagation and common subexpression elimination, theverified yet: upstream, a parser, type-checker and l simplifier := reg(r) latter being unperformed registre physique via value numbering over exten<strong>de</strong>dthat generates Clight abstract syntax from C source | files stack(n, basic t) un blocks. emplacement A third optimization, <strong>de</strong> pile lazy co<strong>de</strong> motion,and is based on the CIL library [21]; downstream, a printer was <strong>de</strong>veloped separately and will be integrated soon.for PPC abstract où syntax trees in concrete assembly syntax, Unlike the other two optimizations, lazy co<strong>de</strong> motion isfollowed by generation of executable binary using the implemented following the verified validator approach [24].system’s assembler – r est andlelinker.nom d’un registre physique <strong>de</strong> l’assembleur After these cible, optimizations, register allocation is performedThe front-end – nof ∈the Z est compiler décalage translates par away rapport C-specific au pointeur via coloring <strong>de</strong> frame. of an interference graph [6]. The output of thisfeatures in two – passes, t est le going type through <strong>de</strong> lathe donnée C#minor (intand ouCmi-nor intermediate languages. C#minor is a simplified, type-are replaced by hardware registers or abstract stack loca-float) stockée pass is LTL, à ceta emplacement.language similar to RTL where temporariesless variant of Clight where distinct arithmetic operators are tions. The control-flow graph is then “linearized”, producingprovi<strong>de</strong>d for integers, Une fonction pointersLTL and floats, est une andfonction C loops are dont replacedby infinite De même loops plus onblocks notera andinstruction multi-level exits LTLfromune instruction conditional donc branches. les variables Next, spills sont and<strong>de</strong>s reloads emplacements.are insertedles variables a list of instructions sont <strong>de</strong>swith emplacements.explicit labels, conditional and un-enclosing blocks. The first pass translates C loops accordinglyand eliminates all type-<strong>de</strong>pen<strong>de</strong>nt behaviors:around instructions that reference temporaries that were aloperator4


Fig. 1.2 – En bleu, Le RTL source et en rouge le LTL produit (calcul <strong>de</strong> la suite <strong>de</strong> Fibonacci)5


1.1.2 L’allocationComme on peut le voir sur la figure 1.2, et comme on pourrait le <strong>de</strong>viner en regardant les langagessources et cibles, le seul rôle <strong>de</strong> la passe d’allocation est <strong>de</strong> spécifier, à chaque instruction, quels emplacementscontiendront les pseudo-registres que l’on avait dans le RTL. La structure du graphe est donc dans les gran<strong>de</strong>slignes i<strong>de</strong>ntique à l’exception <strong>de</strong>s move rajoutés par l’allocation si un pseudo-registre doit être stockée dansplusieurs emplacements (“spilling” <strong>de</strong>s registres vers la pile, “reloading” <strong>de</strong> la pile vers les registres et “splitting”d’un registre vers un registre), et <strong>de</strong>s move qui disparaissent si <strong>de</strong>ux pseudo-registres sont en fait stockés dansle même emplacement (“coalescing”). On suppose alors que le move a été remplacé par un nop. On a donc uneinjection <strong>de</strong>s points <strong>de</strong> contrôle du RTL vers les points <strong>de</strong> contrôle du LTL qui indique quelle est l’instructiontransformée qui correspond à l’instruction présente dans le RTL source.Il faut ajouter que l’allocation <strong>de</strong> registre <strong>de</strong> Compcert fait aussi <strong>de</strong> l’élimination <strong>de</strong> co<strong>de</strong> mort, on peut doncavoir une instruction autre qu’un move auquel correspond un nop dans le LTL. Le LTL peut aussi comporter<strong>de</strong>s nop qui ne correspon<strong>de</strong>nt à aucune instruction du RTL, particulièrement dans le cas où l’allocateur auraitsplitté une variable mais aurait après coup réussi à la mettre quand même dans le même registre (cas fréquentdans le co<strong>de</strong> produit par live range splitting présenté en <strong>de</strong>uxième partie).Formalisons les conditions sur le LTL produit par l’allocation en fonction du RTL source car c’est cettedéfinition qui permettra la mise au point du validateur spécifique à l’allocation <strong>de</strong> registres. Cette définitionfait intervenir une fonction <strong>de</strong> correspondance entre les points <strong>de</strong> contrôle du RTL et ceux du LTL que leprogramme qui fait la transformation peut facilement donner mais sans laquelle il est beaucoup plus difficile<strong>de</strong> vérifier l’équivalence sémantique <strong>de</strong>s <strong>de</strong>ux co<strong>de</strong>s.Définition 1.1.4 (Caractéristiques du résultat <strong>de</strong> l’allocation). Soient g f : D gf ⊂ N ∗ → {instructions RTL}un graphe RTL, g f t : D gf t⊂ N ∗ → {instructions LTL} un graphe LTL, et ϕ : D ϕ ⊂ N ∗ → N ∗ une fonctionpartielle. On suppose que ϕ a la caractéristique suivante :∀i ∈ D gf , ∀j ∈ N ∗ , i = ϕ(j) ⇒ j ∈ D gf t(1.1)Cette condition indique simplement que ϕ associe bien <strong>de</strong>s points <strong>de</strong> contrôle du LTL aux points <strong>de</strong> contrôledu RTL.Soit i ∈ D gf ∩ Im(ϕ), c’est à dire un point <strong>de</strong> contrôle du RTL qui a un transformé dans le LTL, soitj ∈ D gf ttel que i = ϕ(j) donné par l’hypothèse sur ϕ.On suppose tout d’abord que l’on a g f (i) ≃ g f t(j) ce que l’on définit par :g f (i) ∼ = gf t(j)∨ (g f (i) = op( , , , ) ∧ g f t(j) = nop( ))∨ (g f (i) = load( , , , , ) ∧ g f t(j) = nop( ))où ∼ = dénote l’égalité <strong>de</strong> <strong>de</strong>ux instructions aux variables et aux successeurs près.On <strong>de</strong>man<strong>de</strong> <strong>de</strong> plus que si j s est un point <strong>de</strong> contrôle successeur <strong>de</strong> j dans f, il existe alors (i l ) l=1...k telsque pour tout l ∈ 1; k − 1,i l ∉ D ϕ et g f t(i l ) = nop(i l+1 ) ou g f t(i l ) = move(x, y, i l+1 )où x, y sont <strong>de</strong>ux emplacements et queϕ(i k ) = j sOn peut résumer tout cela dans le diagramme <strong>de</strong> la figure 1.3, où P gigraphe g.désigne le point <strong>de</strong> contrôle i dans le6


P f jϕ,≃P f tiP f j sϕP f ti k+ nop,move;̸ϕFig. 1.3 – Hypothèse sur le triplet (f, f t , ϕ) pour une allocation1.2 L’algorithme <strong>de</strong> validationOn suppose que l’on dispose d’un allocateur <strong>de</strong> registre qui prend en entrée une fonction RTL f et ren<strong>de</strong>n sortie une fonction LTL f t et une fonction partielle ϕ <strong>de</strong> domaine fini telle que le triplet (f, f t , ϕ) (que l’onnommera dorénavant triplet résultat) vérifie la propriété définie en 1.1.4. On cherche donc à vérifier que <strong>de</strong>tels f et f t ont le même comportement. Ainsi restreint, le problème <strong>de</strong>vient décidable. En effet, il faut justevérifier que les emplacements utilisés dans f t contiennent bien la même valeur que les pseudo-registres utilisésdans f.Cependant, comme il a été remarqué précé<strong>de</strong>mment, ce validateur ne vali<strong>de</strong>ra pas n’importe quelle transformation.Le RTL source et le LTL produit auront beau avoir la même sémantique, le validateur répondrafaux s’ils ne vérifient pas les hypothèses fixées dans la définition 1.1.4. Il y a donc une notion <strong>de</strong> complétu<strong>de</strong> quise rajoute par <strong>de</strong>ssus celle <strong>de</strong> correction. Le validateur qui rend toujours faux est correct au sens où s’il rendvrai alors les <strong>de</strong>ux co<strong>de</strong>s ont même sémantique. Cet exemple, un peu extrême, montre bien tout l’importance<strong>de</strong> la complétu<strong>de</strong>.On ne prouve cependant que la correction <strong>de</strong>s validateurs, la complétu<strong>de</strong> étant non seulement difficile àdéfinir mais aussi à démontrer. Le co<strong>de</strong> prouvé du validateur peut donc présenter encore <strong>de</strong>ux faiblesses. S’ilne fait pas <strong>de</strong> faux positif (ce qui est déjà fondamental), rien ne dit qu’il ne fasse pas <strong>de</strong> faux négatif. On adonc recours, une fois <strong>de</strong> plus, aux tests pour se convaincre que, d’une part le co<strong>de</strong> que l’on a écrit ne contientpas <strong>de</strong> bug qui lui ferait rendre faux un peu trop souvent et que, d’autre part, les hypothèses que l’on a prisesau départ sur le co<strong>de</strong> produit ne sont pas trop restrictives.1.2.1 Validation <strong>de</strong> ϕLa première étape dans la validation du triplet (f, f t , ϕ) est <strong>de</strong> vérifier que ϕ vérifie bien l’hypothèsevoulue. Cette étape est triviale (voir algorithme 1) mais nécessaire car rien ne garantit que le ϕ rendu parl’allocateur <strong>de</strong> registre ne soit pas faux, ce qui rendrait toute la validation qui suit inutile.Algorithme 1 valid ϕRequire: (f, f t , ϕ)<strong>Ens</strong>ure: ϕ vérifie la condition <strong>de</strong> la définition 1.11: for all i ∈ D ϕ verify2: if ϕ(i) ∈ D gf then3: i ∈ D gf t4: else5: true6: end if7: end for7


1.2.2 Validation <strong>de</strong> la structure du LTLLa <strong>de</strong>uxième étape consiste à vérifier que la structure du LTL vérifie bien l’hypothèse que l’on s’est fixéeen 1.1.4, i.e. qu’on a bien le diagramme 1.3 en tous points <strong>de</strong> contrôle qui se correspon<strong>de</strong>nt.Algorithme 2 valid structRequire: (f, f t , ϕ)<strong>Ens</strong>ure: le diagramme 1.3 est vrai en tous points <strong>de</strong> f et f t se correspondant par ϕ et les instructions sonti<strong>de</strong>ntiques.1: for all j ∈ D gf tverify2: if j ∈ D ϕ then3: soit i = ϕ(j)4: if i ∈ D gf then5: if g f t(j) ∼ = g f (i) ∨ ((g f (i) = op ∨ g f (i) = load) ∧ g f t(j) = nop) then6: for all s ∈ succ gf t(j) verify7: soit s ′ le successeur correspondant dans g f8: valid succ(f, f t , ϕ, s ′ , s)9: end for10: else11: false12: end if13: else14: false15: end if16: else17: true18: end if19: end forL’algorithme 2 remplit cette fonction. Il faut préciser que :– Le successeur correspondant est défini <strong>de</strong> façon évi<strong>de</strong>nte. Si i a un seul successeur, j en a alors aussi unseul correspondant à celui <strong>de</strong> i. Par contre si i a plusieurs successeurs (<strong>de</strong>ux en fait que l’on note s trueet s false , si g f t(i) est un branchement conditionnel), alors j a aussi <strong>de</strong>ux successeurs s ′ true et s ′ falseet ona bien sûr s true qui correspond à s ′ true et s false qui correspond à s ′ false .– valid succ est l’algorithme 3 qui vérifie qu’on a bien une suite <strong>de</strong> nop et <strong>de</strong> move du point <strong>de</strong> contrôles <strong>de</strong> f t jusqu’au point <strong>de</strong> contrôle correspondant par ϕ au point <strong>de</strong> contrôle s ′ <strong>de</strong> f.1.2.3 Validation <strong>de</strong>s emplacements choisisC’est cette partie <strong>de</strong> la validation qui est réellement intéressante et originale (on pourra se référer à [HCS06]pour un autre exemple <strong>de</strong> validateur pour l’allocation). Afin <strong>de</strong> vérifier que les emplacements utilisés sont bienles bons, on veut annoter le graphe avec <strong>de</strong>s égalités entre pseudo-registres et emplacements déduites <strong>de</strong>sdéfinitions, et vérifier que toute utilisation d’emplacement est en accord avec les égalités calculées. En fait, Onveut construire la figure 1.4 à partir <strong>de</strong> la figure 1.2.C’est une analyse statique sur les <strong>de</strong>ux graphes <strong>de</strong> flot <strong>de</strong> contrôle qui peut se formuler en terme d’uneanalyse Dataflow sur le graphe LTL. On pourra se référer à [ALSU] et [App98] pour une <strong>de</strong>scription pluspoussée <strong>de</strong> ce type d’analyse.Un exemple pour éclairer tout cela :Exemple 1 (Calcul <strong>de</strong>s équations). Supposons qu’au point <strong>de</strong> contrôle i du LTL on ait une instruction quidéfinisse un certain emplacement l et que dans l’instruction RTL qui lui correspon<strong>de</strong>, c’est le pseudo-registre8


Algorithme 3 valid succRequire: (f, f t , ϕ, s ′ , s)<strong>Ens</strong>ure: Il existe une suite <strong>de</strong> nop et move dans f t qui débute en s et fini au point <strong>de</strong> contrôle correspondantà s ′1: if s ∈ D ϕ then2: ϕ(s) = s ′3: else4: if g f t(s) = nop( ) ∨ g f t(s) = op(move, ( ), , ) then5: Soit s ′′ le successeur <strong>de</strong> s dans g f t6: validation du successeur (f, f t , ϕ, s ′ , s ′′ )7: else8: return false9: end if10: end ifr qui est défini.On sait alors que dans la suite du programme, du moins jusqu’à ce que l ou r soit redéfini, r est égal à l(ce que l’on notera r ≡ l). On sait <strong>de</strong> plus que toute égalité concernant r ou l est dorénavant fausse. On peutdonc écrire, en notant η l’ensemble d’égalités que l’on avait avant le point <strong>de</strong> contrôle i et ψ la fonction <strong>de</strong>transfert qui associe les équations <strong>de</strong> sortie aux équations d’entrées en un point <strong>de</strong> contrôle, queψ(i, η) = (η\{r ′ ≡ l ′ | r = r ′ ∨ l = l ′ }) ∪ {r ≡ l}Dans le cas d’un “coalescing” (nop au point <strong>de</strong> contrôle i du LTL et op(move, (x), y, ) au point <strong>de</strong> contrôlecorrespondant du RTL), on apprend que tous les emplacements égaux à x sont maintenant aussi égaux à y,mais que toute égalité précé<strong>de</strong>nte concernant y est maintenant fausse. On écrit donc queψ(i, η) = (η\{y ≡ l | l emplacement}) ∪ {y ≡ l | x ≡ l ∈ η}Enfin, dans le cas d’un “spilling”, d’un “reloading” ou d’un “splitting” (op(move, (x), y, ) au point <strong>de</strong>contrôle i et pas <strong>de</strong> point <strong>de</strong> contrôle RTL correspondant), <strong>de</strong> façon tout à fait symétrique, on apprend quetous les pseudo-registres égaux à x sont maintenant aussi égaux à y et que toute égalité précé<strong>de</strong>nte concernanty est maintenant fausse. Ce qui s’écritψ(i, η) = (η\{r ≡ y | r pseudo-registre}) ∪ {r ≡ y | r ≡ x ∈ η}On voit donc que ces équations se calculent par une recherche <strong>de</strong> point fixe en calculant en chaque point <strong>de</strong>contrôle, les équations à la sortie du point <strong>de</strong> contrôle en connaissant celles à l’entrée. Les équations à l’entrée,quant à elles, sont l’intersection <strong>de</strong>s équations <strong>de</strong> sortie <strong>de</strong>s points <strong>de</strong> contrôle précé<strong>de</strong>nts, i.e. les équationsqui sont vraies sur toutes les branches du programme qui peuvent mener à ce point.Il manque seulement à cette <strong>de</strong>scription la condition initiale : les équations d’entrée du point d’entrée dugraphe sont celles qui sont fournies par les paramètres <strong>de</strong> la fonction. Si le RTL a pour paramètres r 1 , r 6 et leLTL l 3 , l 4 , on sait alors qu’à l’entrée du point d’entrée du graphe {r 1 ≡ l 3 , r 6 ≡ l 4 }.Si cette analyse vers l’avant semble convenir, elle n’est en pratique pas réalisable. C’est en fait une recherche<strong>de</strong> plus grand point fixe alors que dans l’exemple 1 on la traitait comme une recherche <strong>de</strong> plus petit pointfixe en faisant croître les ensembles d’équations. Il faut donc revoir la fonction <strong>de</strong> transition, commencer avec<strong>de</strong>s ensembles d’équations complets que l’on diminue au fur et à mesure. Cela pose un certain nombre <strong>de</strong>problèmes.Cependant, en modifiant légèrement ce que l’on cherche, l’analyse Dataflow <strong>de</strong>vient possible. En effet, aulieu <strong>de</strong> chercher à calculer toutes les équations que l’on connaît à partir <strong>de</strong>s définitions et <strong>de</strong> vérifier que lors9


Fig. 1.4 – Un RTL et un LTL annotés (calcul <strong>de</strong> la suite <strong>de</strong> Fibonacci)10


<strong>de</strong>s utilisations cela correspond bien, on peut calculer les équations dont on a besoin à partir <strong>de</strong>s utilisationset vérifier que lors <strong>de</strong>s définitions cela correspond bien. On a alors un problème d’analyse Dataflow en arrière(qui est bien une recherche <strong>de</strong> plus petit point fixe) dont les caractéristiques sont les suivantes :Définition 1.2.1 (Équations <strong>de</strong> l’analyse Dataflow arrière pour le calcul <strong>de</strong>s égalités entre pseudo-registres etemplacements). On note E ≡ l’ensemble <strong>de</strong>s ensembles d’équations pseudo-registre emplacement, i.e. l’ensemblequi contient ce dont on veut annoter le graphe.Soit (f, f t , ϕ) un triplet résultat dont on a déjà vérifié que la structure est correcte. Soit i ∈ D gf t. Soientηiin ∈ E ≡ et ηi out ∈ E ≡ .On a :etη outi =η ini⋃ηjinj∈succ gf t (i)= ψ(i, η outi )où ψ est la fonction définie dans les six cas suivants – dans l’un <strong>de</strong>squels on est forcément comme lastructure a été validée :1. Coalescing (i ∈ D ϕ , g f t(i) = nop ∧ g f (ϕ(i)) = op(move, (x), y, )) :ψ(i, η outi) = (η out \{y ≡ l | l emplacement}) ∪ {x ≡ l | y ≡ l ∈ η out2. Dead co<strong>de</strong> : i ∈ D ϕ , g f t(i) = nop ∧ g f (ϕ(i)) ≠ op(move, (x), y, )Si quelque soit r ≡ l ∈ ηiout , r ∉ <strong>de</strong>f(g f (ϕ(i))) alorsSinon l’analyse échoue.iψ(i, ηiout ) = ηiout3. Splitting, spilling, reloading : i ∉ D ϕ , g f t(i) = op(move, (x), y, ),η ini= ψ(i, η outii }) = (η out \{r ≡ y | r pseudo-registre}) ∪ {r ≡ x | r ≡ y ∈ η outii }4. nop rajouté : i ∉ D ϕ , g f t(i) = nop,ψ(i, ηiout ) = ηiout5. Call : i ∈ D ϕ , g f t(i) = call ∧ g f (ϕ(i)) = call,Notons η = ηiout \{<strong>de</strong>f(g f (ϕ(i))) ≡ <strong>de</strong>f(g f t(i))}.Si quelque soit r ∈ <strong>de</strong>f(g f (ϕ(i))) et l ∈ <strong>de</strong>f(g f t(i)), r ≡ l est compatible avec ηioutr ≡ l ∈ η, l ne fait pas partie <strong>de</strong>s registres détruits lors d’un appel alorset si quelque soitSinon l’analyse échoue.ψ(i, ηiout ) = η ∪ {used k (g f (j)) ≡ used k (g f t(i))} k∈N6. Cas normal : i ∈ D ϕ , mais on est dans aucun <strong>de</strong>s cinq cas précé<strong>de</strong>nts,Si quelque soit r ∈ <strong>de</strong>f(g f (ϕ(i))) et l ∈ <strong>de</strong>f(g f t(i)), r ≡ l est compatible avec ηiout alorsψ(i, η outiSinon l’analyse échoue.) = (η out \{r ≡ l | r ∈ <strong>de</strong>f(g f ) ∧ l ∈ <strong>de</strong>f(g f t)}) ∪ {used k (g f ) ≡ used k (g f t)} k∈Ni11


Algorithme 4 dataflowRequire: ψ la fonction <strong>de</strong> transition <strong>de</strong> l’analyse Dataflow, succ la fonction qui, à un point <strong>de</strong> contrôle,associe l’ensemble <strong>de</strong> ses successeurs, et M une borne du domaine du graphe.<strong>Ens</strong>ure: les plus petits ηiout et ηiin qui remplissent les équations Dataflow.1: for 0 < i < M do2: η out = ∅i3: ηiin= ∅4: end for5: todo = 1; M6: while todo ≠ ∅ do7: Soit i ∈ todo8: todo = todo\i9: η out = ⋃ j∈succ(i) ηin j10: if η out ≠ ηiout then11: η out = η outi12: η ini = ψ(i, η out )13: todo = todo ∪ {j | i ∈ succ(j)}14: end if15: end whileOn dit qu’une équation r ≡ l est compatible η ∈ E ≡ s’il n’existe pas r ′ ≡ l ′ ∈ η tel que r = r ′ et l ≠ l ′ , our ≠ r ′ et l = l ′ .On notera ψ (f,f t ,ψ) : N ∗ ×E ≡ → E ≡ la fonction que l’on vient <strong>de</strong> définir, étendue par l’i<strong>de</strong>ntité aux entiersi ∉ D gf t.Les ensembles d’égalités qui remplissent ces équations se calculent alors par une recherche <strong>de</strong> plus petitpoint fixe. Ce type d’analyse étant très fréquent dans un compilateur, il y a déjà dans Compcert un résolveurd’équations Dataflow (prouvé) selon l’algorithme <strong>de</strong> Killdall (voir l’algorithme 4).La seule chose qui n’est pas précisée ici est la façon dont l’ensemble todo est géré, c’est à dire, comment onchoisit le i à la ligne 7. Une bonne façon <strong>de</strong> faire est <strong>de</strong> gérer todo comme une pile et <strong>de</strong> la remplir au départdans l’ordre topologique inverse, dans la mesure du possible (en oubliant les cycles quand on en voit un parexemple). La fonction succ dont on a besoin ici n’est autre que succ gf tqui se calcule aisément. La fonction <strong>de</strong>transfert est ψ (f,f t ,ϕ) . Enfin la borne sur les points <strong>de</strong> contrôle du graphe se calcule par un simple parcours.1.2.4 Un peu <strong>de</strong> CoqNous parlerons rapi<strong>de</strong>ment dans cette partie d’un détail <strong>de</strong> l’implémentation en Coq. En effet, ce programmea été écrit en Coq et qu’il semble donc intéressant <strong>de</strong> ne pas se cantonner à une <strong>de</strong>scription théorique.De plus cette solution nous paraît particulièrement intéressante.Il n’y a pas d’exceptions en Coq, or la fonction <strong>de</strong> transfert ψ définie en 1.2.1 peut échouer. La solutionqui a été proposée consiste à rajouter un élément noté ⊥ à E ≡ . Il est en quelque sorte plus gros que tous lesensembles d’égalités, i.e. pour tout ensemble η, η∪⊥ = ⊥. On ajoute <strong>de</strong> plus que pour tout i ∈ N ∗ , ψ(i, ⊥) = ⊥et pour tout η ∈ E ≡ tel que ψ(i, η) échoue, on pose ψ(i, η) = ⊥. E ≡ et ψ ainsi redéfinis, on procè<strong>de</strong> à l’analyseDataflow normalement (et sans qu’elle puisse échouer maintenant).Ainsi, si une utilisation d’un emplacement implique une égalité qui est en contradiction avec les définitionsqui la précè<strong>de</strong>, au niveau <strong>de</strong> la définition problématique, un ⊥ apparaîtra lors <strong>de</strong> l’analyse et se propagera àtous les points <strong>de</strong> contrôle précé<strong>de</strong>nts. Il suffit alors <strong>de</strong> vérifier au point d’entrée que l’on n’a pas un ⊥ pouren conclure que l’allocation est juste (du moins pour ce qui concerne les variables définies dans la fonction, leproblème <strong>de</strong>s arguments est traité plus tard).12


1.2.5 Le validateurOn peut maintenant écrire le validateur (algorithme 5), en effet il ne reste plus qu’à vérifier quelquesdétails “administratifs” : bon typage du LTL, égalité <strong>de</strong>s signatures <strong>de</strong> f et f t , compatibilités <strong>de</strong>s équationsaux points d’entrées, compatibilité <strong>de</strong>s points d’entrée (on peut avoir une suite <strong>de</strong> move et nop insérée avantl’instruction LTL correspondant à l’instruction RTL du point d’entrée). La vérification du bon typage du LTLest adaptée <strong>de</strong> celle qui existe déjà dans Compcert pour le RTL, nous n’en parlerons donc pas.Algorithme 5 validationRequire: (f, f t , ϕ)<strong>Ens</strong>ure: f et f t ont même sémantique et f t est bien typé.1: if bon typage <strong>de</strong> f t2: ∧ validation <strong>de</strong> ϕ3: ∧ validation du successeur (f, f t , ϕ, point d’entrée <strong>de</strong> f, point d’entrée <strong>de</strong> f t )4: ∧ signature <strong>de</strong> f = signature <strong>de</strong> f t5: ∧ validation <strong>de</strong> la structure <strong>de</strong> (f, f t , ϕ) then6: Soit η = dataflow(ψ (f,f t ,ϕ) , succ gf t, M)7: Soit i le point d’entrée <strong>de</strong> g f t8: Soit ⃗ l les paramètres <strong>de</strong> f t et ⃗r les paramètres <strong>de</strong> f9: if | ⃗ l| = |⃗r| then10: for 0 k < | ⃗ l| verify11: ⃗r k ≡ ⃗ l k n’est pas incompatible avec ηiin12: end for13: end if14: end if1.3 Correction <strong>de</strong> l’algorithme <strong>de</strong> validationUne grosse partie du travail consistait à prouver en Coq ce validateur. On esquissera donc la preuve, tout enfaisant quelques cas particuliers dans les détails pour justifier la fonction <strong>de</strong> transfert qui n’a pas été expliquée.1.3.1 Sémantique <strong>de</strong>s langagesPour commencer, on formalisera la sémantique <strong>de</strong> RTL et <strong>de</strong> LTL (pour plus <strong>de</strong> précisions, se référer à[Ler08]).1.3.1.1 ProgrammesCela nécessite <strong>de</strong> définir ce qu’est un programme. En effet, on définit ici une sémantique <strong>de</strong>s programmeset non pas directement <strong>de</strong>s fonctions.Définition 1.3.1 (Définition <strong>de</strong> fonctions et programmes <strong>de</strong> variables dans V). Soit V un ensemble <strong>de</strong> variables.Une définition <strong>de</strong> fonction est soit une fonction interne du programme (comme définie précé<strong>de</strong>mment) soitune fonction externe (typiquement un appel système). Définissons tout d’abord les fonction externes :f e := fun e : sigoù sig est la signature <strong>de</strong> la fonction et donc les types <strong>de</strong> ses arguments.Une définition <strong>de</strong> fonction à variables dans V est alors :13


F := int(f) fonction interne| ext(f e ) fonction externeoù– f est une fonction interne <strong>de</strong> variable V,– f e une fonction externe.Enfin un programme à variables dans V est constitué d’une liste définitions <strong>de</strong> fonction (interne ou externe)et <strong>de</strong> l’i<strong>de</strong>ntifiant <strong>de</strong> la fonction principale :p := prog(l, main)où– l est une fonction partielle <strong>de</strong> N ∗ dans l’ensemble <strong>de</strong>s fonctions à variables dans V,– main ∈ D l est l’i<strong>de</strong>ntifiant <strong>de</strong> la fonction principale.Comme précé<strong>de</strong>mment les programmes RTL sont <strong>de</strong>s programmes à variables dans N ∗ et les programmesLTL sont <strong>de</strong>s programmes à variables dans les emplacements. On peut alors écrire la fonction <strong>de</strong> transformation<strong>de</strong> programmes (algorithme 7) dont on a besoin dans Compcert, en supposant que l’on dispose d’une fonction<strong>de</strong> transformation <strong>de</strong> fonction transf fun non prouvée qui prend une fonction RTL en argument et rend unefonction LTL et une fonction <strong>de</strong> correspondance.Algorithme 6 transf fun<strong>de</strong>fRequire: F une définition <strong>de</strong> fonction RTL<strong>Ens</strong>ure: F t une définition <strong>de</strong> fonction LTL1: if F = int(f) then2: Soit (f t , ϕ) = transf fun(f)3: if validation(f, f t , ϕ) = true then4: return int(f t )5: else6: Erreur7: end if8: else9: return F10: end ifAlgorithme 7 transf progRequire: p un programme RTL<strong>Ens</strong>ure: p t un programme LTL qui a la même sémantique1: for all id ∈ D lp do2: l p t = l p t{id ↦→ transf fun<strong>de</strong>f(l p (id))}3: end forOn peut alors aussi définir la sémantique d’un programme :Définition 1.3.2 (Sémantique d’un programme à variables dans V). Soit V un ensemble <strong>de</strong> valeurs quicontient la valeur ⊥ (non-défini), true et false. Soit E : V → V , on l’appelle état <strong>de</strong>s variables.La sémantique <strong>de</strong>s graphes <strong>de</strong> flot <strong>de</strong> contrôle est définie <strong>de</strong> façon à mimer le comportement <strong>de</strong> l’exécutiondu programme ; la machine sur laquelle il est exécuté, est dans un état qui évolue. Il existe trois types d’états.Les premiers sont les états normaux qui correspon<strong>de</strong>nt à l’exécution d’un point <strong>de</strong> contrôle. Il y a ensuite lesétats d’appel qui correspon<strong>de</strong>nt au moment où l’on passe <strong>de</strong> l’exécution <strong>de</strong> l’appelant à l’exécution <strong>de</strong> l’appelé,14


15external functionother instructionsProgramstartsCinternalfunctionSreturninstructionRemptycall stackProgramendscall instructionnon-empty call stackFig. 3 Transitions between the three kinds of program states.Fig. 1.5 – Les états <strong>de</strong> la sémantiqueinitial(P, S) globalenv(P ) ⊢ S → t ∗ S ′ final(S ′ ,n)et enfin les états <strong>de</strong> retours qui correspon<strong>de</strong>nt Pau⇓ converges(t, passage <strong>de</strong>n)l’appelé à l’appelant. Dans ces trois états ontrouve une liste <strong>de</strong> frame qui représente la pile d’appel.initial(P, S) globalenv(P ) ⊢ S →∞TLes listes <strong>de</strong> frame sont <strong>de</strong>s listes <strong>de</strong> quadruplets 〈ν, f, i, E〉 (construites à partir <strong>de</strong> [] et <strong>de</strong> ::) où– ν ∈ V est la variable <strong>de</strong> retour,P ⇓ diverges(T )– f, une fonction à variables initial(P, dans S) V, globalenv(P est l’appelant, ) ⊢ S → t ∗ S ′ S ′ ↛ ¬final(S ′ ,n)– i ∈ D gf est le point <strong>de</strong> retour,P ⇓ goeswrong(t)– E est l’état <strong>de</strong>s variables au moment <strong>de</strong> l’appel.On définit un étatThe comme set of : “going wrong” behaviors is <strong>de</strong>fined in the obvious manner: Wrong ={goeswrong(t) | t a finite trace}.S := S(f, i, Σ, m, E) état normal| C(F, Σ, ⃗v, m) état d’appel3.6 Program states | R(Σ, v, m) état <strong>de</strong> retouroùThe contents of a program state varies from language to language. For the assemblylanguage PPC, a state is just a pair of a memory state and a mapping from processor– f est une fonction à variables dans V,registers to values (section 13.2). For the other languages of the Compcert back-end,– i ∈ N ∗ , states come in three kinds written S, C and R.– Σ est une liste <strong>de</strong> frame,– Regular states S correspond to an execution point within an internal function. They– m est un état <strong>de</strong> la mémoire,carry the function in question and a program point within this function, possibly– E est un état <strong>de</strong>s along variables, with additional language-specific components such as environments giving– F est une définition values<strong>de</strong> tofonction,function-local variables.– ⃗v est une suite– finie Call states <strong>de</strong> valeurs C materialize (les valeurs parameter <strong>de</strong>spassing arguments), from the caller to the callee. They carry– v ∈ V est la valeur the function <strong>de</strong> retour. <strong>de</strong>finition Fd being invoked and either a list of argument values or anOn se donne une fonctionenvironmentevalwherequi àthechaqueargumentopérationvalues can(oubecondition)found at conventionalop et à <strong>de</strong>slocations.valeurs associe une valeur– Return states R correspond to returning from a function to its caller. They carryet un environnement G, associé à un programme p, qui à une valeur v ∈ V associe une fonction <strong>de</strong> p. Par laat least the return value or an environment where this value can be found.suite on considèrera que tous les appels se font par une variable. Tout s’adapte facilement au cas d’un appelpar in<strong>de</strong>ntifiant. LaAll fonction three kinds appelée of states n’est alsoalors carrypas the current G(E(e)) memory mais state p(id). as well as a call stack: alist of frames <strong>de</strong>scribing the functions in the call chain, with the corresponding programSoient S et S ′ <strong>de</strong>ux états, f une fonction, g son graphe <strong>de</strong> flot <strong>de</strong> contrôle, i, i ′ ∈ Dpoints where execution should be resumed on return, possibly along with function-local g , Σ une liste <strong>de</strong> frame,m un état mémoire, environments. E un état <strong>de</strong>s variables, ⃗ν une suite finie <strong>de</strong> variables, v d , ν s <strong>de</strong>s variables, v f une variableou un i<strong>de</strong>ntifiant, op une If weopération, project the⃗v transition une suite relation finie on <strong>de</strong>the valeurs, three-element v une valeur, set {S, C, chunk R}, abstracting un bloc mémoire et mo<strong>de</strong>un mo<strong>de</strong> d’adressage. awayOn thedéfinit components la relation carried by G ⊢theS states, → S ′ we par obtain : the finite automaton <strong>de</strong>picted infigure 3. This automaton is shared by all languages of the Compcert back-end exceptPPC, and it illustrates the interplay between the three kinds of states.g(i) = nop(i ′ )(nop)G ⊢ S(f, i, Σ, m, E) → ε S(f, i ′ , Σ, m, E)g(i) = op(op, ⃗ν, ν d , i ′ ) v = eval(op(op, E(⃗ν))) (op)G ⊢ S(f, i, Σ, m, E) → ε S(f, i ′ , Σ, m, E{ν d ← v})g(i) = load(chunk, mo<strong>de</strong>, ⃗ν, ν d , i ′ ) v = m(chunk, mo<strong>de</strong>, E(⃗ν)) (load)G ⊢ S(f, i, Σ, m, E) → ε S(f, i ′ , Σ, m, E{ν d ← v})15


g(i) = store(chunk, mo<strong>de</strong>, ⃗ν, ν s , i ′ ) m ′ = m{[chunk, mo<strong>de</strong>, E(⃗ν)] ← E(ν s )} (store)G ⊢ S(f, i, Σ, m, E) → ε S(f, i ′ , Σ, m ′ , E)g(i) = call(sig, ν f , ⃗ν, ν d , i ′ ) G(E(r f )) = F sig F = sig (call)G ⊢ S(f, i, Σ, m, E) → ε C(F, 〈ν d , f, i ′ , E〉 :: Σ, E(⃗ν), m)g(i) = return(ν) v = E(ν)G ⊢ S(f, i, Σ, m, E) → ε R(Σ, v, m)(return)g(i) = tailcall(sig, ν f , ⃗ν) G(E(ν f )) = F sig F = sig (tailcall)G ⊢ S(f, i, Σ, m, E) → ε C(F, Σ, m, E(⃗ν))g(i) = cond(cond, ⃗ν, i true , i false ) eval(cond, E(⃗ν)) = true (ifso)G ⊢ S(f, i, Σ, m, E) → ε S(f, i true , Σ, m, E)g(i) = cond(cond, ⃗ν, i true , i false ) eval(cond, E(⃗ν)) = false (ifnot)G ⊢ S(f, i, Σ, m, E) → ε S(f, i false , Σ, m, E)Σ = 〈ν d , f, i, E〉 :: Σ ′G ⊢ R(Σ, v, m) → ε S(f, i, Σ ′ , m, E{ν d ← v})(return state)F = ext(f e ) f e (⃗v) = v θ = (f e , ⃗v, v) (call state external)G ⊢ C(F, Σ, ⃗v, m) → θ R(Σ, v, m)F = int(f) f = fun(⃗ν, i, g) E = init(⃗ν, ⃗v) (call state internal)G ⊢ C(F, Σ, ⃗v, m) → θ S(f, i, Σ, m, E)La fonction init associe à une suite finie <strong>de</strong> variables et à une suite finie <strong>de</strong> valeurs, l’état <strong>de</strong>s variablesdans lequel la ième variable contient la ième valeur.On définit aussi la relation G ⊢ S → ∗ θ S′ par :– G ⊢ S → ∗ ε S– Si G ⊢ S → ∗ θ 1S ′ et G ⊢ S ′ → θ2 S ′′ alors G ⊢ S → ∗ θ S′′ où θ est la trace composée <strong>de</strong> θ 1 suivie <strong>de</strong> θ 2 .On dit que le programme p a pour sémantique la trace θ dans l’environnement G s’il existe m ′ un étatmémoire et i un entier tels que G ⊢ C(l p (main p ), [], (), m init ) → ∗ θ R([], i, m′ ).1.3.2 Correspondances RTL-LTLOn aura aussi besoin <strong>de</strong>s trois notions suivantes <strong>de</strong> correspondance entre les objets RTL et les objets LTL.Définition 1.3.3 (η |= R = L). Soient R un état <strong>de</strong>s pseudo-registres, L un état <strong>de</strong>s emplacements et η ∈ E ≡ .On dit que η |= R = L si quelque soit r ≡ l ∈ η, R(r) = L(l).Définition 1.3.4 (Équivalence <strong>de</strong> listes <strong>de</strong> frame, Σ ≈ Σt ). On définit cette équivalence par induction sur leslistes <strong>de</strong> frame. On a [] ≈ [].De plus, soient (f, f t , ϕ) un triplet résultat, i, j ∈ N ∗ , R un état <strong>de</strong>s pseudo-registres, L un état <strong>de</strong>semplacements, r un pseudo-registre et l un emplacement.On dit que (r, f, i, R) :: Σ ≈ (l, f t , j, L) :: Σ t si :– Σ ≈ Σ t ,– validation(f, f t , ϕ) = true (en particulier dataflow(ψ (f,f t ,ϕ) , succ gf t, M) = η),– valid succ(f, f t , ϕ, i, j),– quelque soit la valeur v, ηjin |= R{r ← v} = L{l ← v}.16


Définition 1.3.5 (Équivalence d’états, S ∼ St ). Soit S un état RTL et soit S t un état LTL.Soient (f, f t , ϕ) un triplet résultat, i, j ∈ N ∗ , Σ une liste <strong>de</strong> frame RTL, Σ t une liste <strong>de</strong> frame LTL, m unétat <strong>de</strong> la mémoire, R un état <strong>de</strong>s pseudo-registres, L un état <strong>de</strong>s emplacements, v une valeur et ⃗v une suitefinie <strong>de</strong> valeurs.On dit que S ∼ S t si– S = S(f, i, Σ, m, R),– S t = S(f t , j, Σ t , m, L),– validation(f, f t , ϕ) = true (en particulier dataflow(ψ (f,f t ,ϕ) , succ gf t, M) = η),– j ∈ D ϕ et ϕ(j) = i,– Σ ≈ Σ t ,– ηj in |= R = L.ou– S = C(F, Σ, ⃗v, m),– S t = C(F t , Σ t , ⃗v, m),– transf fun<strong>de</strong>f(F) = F t ,– Σ ≈ Σ t .ou encore– S = R(Σ, v, m),– S t = R(Σ t , v, m),– Σ ≈ Σ t .1.3.3 Théorème <strong>de</strong> simulationCertains schémas généraux <strong>de</strong> preuve d’équivalence sémantique sont déjà démontrés dans Compcert, ily en a un qui correspond à ce dont on a besoin, il ne reste alors qu’à démontrer le théorème <strong>de</strong> simulationsuivant.Théorème 1.3.6 (Simulation). Soient p un programme RTL et p t le programme LTL transformé. Soient Get G t les environnements associés. Soit ϕ : N ∗ → N ∗ une fonction partielle qui vérifieSoient S 1 et S 2 <strong>de</strong>ux état RTL, S t 1 un état LTL et θ une trace. Supposons G ⊢ S 1 → θ S 2 et que S 1 ∼ S t 1 .Il existe alors un état LTL S t 2 , tel que Gt ⊢ S t 1 →+ θ St 2 et que S 2 ∼ S t 2On peut reformuler ce théorème <strong>de</strong> simulation par le diagramme <strong>de</strong> la figure 1.3.6 (on note en plein leshypothèses et en pointillé les conclusions).S 1 ∼ S1tθθ +S 2 ∼ S t 2Fig. 1.6 – Théorème <strong>de</strong> simulation1.3.4 Preuve du théorème 1.3.6Pour commencer, on va montrer que l’algorithme 1 est correct.Lemme 1.3.7 (Correction <strong>de</strong> l’algorithme 1). Soit (f, f t , ϕ) un triplet résultat. Supposons que valid ϕ(f, f t , ϕ) =true. On a alors la condition 1.1 qui est vérifiée :∀i ∈ D gf , ∀j ∈ N ∗ , i = ϕ(j) ⇒ j ∈ D gf t17


Démonstration. Soit i ∈ D gf et j ∈ N ∗ tels que ϕ(j) = i. En particulier j ∈ D ϕ . Comme ϕ(j) = i ∈ D gf etque valid ϕ(f, f t , ϕ) = true, on a j ∈ D gf t= true ce qui permet <strong>de</strong> conclure.1.3.4.1 L’étoileLemme 1.3.8 (Correction <strong>de</strong> l’algorithme 3). Soit (f, f t , ϕ) un triplet résultat et G t l’environnement associéà f t . Soient i, j ∈ N ∗ et M une borne <strong>de</strong> D gf t. Supposons que valid succ(f, f t , ϕ, i, j) = true, et quedataflow(ψ (f,f t ,ϕ) , succ gf t, M) = η.Soient R 1 un état <strong>de</strong>s pseudo-registres, L 1 un état <strong>de</strong>s emplacements, Σ une liste <strong>de</strong> frame LTL et m unétat <strong>de</strong> la mémoire. Supposons <strong>de</strong> plus que ηj in |= R 1 = L 1 .Alors il existe j s et L 2 tels que G t ⊢ S(f t , j, Σ, m, L 1 ) → ∗ ε S(f t , j s , Σ, m, L 2 ), que ϕ(j s ) = i et que ηj ins|=R 1 = L 2 .On peut aussi représenter ce lemme par le diagramme 1.7.R 1 , i η inj |=R 1=L 1 S(f t , j, Σ, m, L 1 )valid succηjs in|=R1=L 2ϕε∗S(f t , j s , Σ, m, L 2 )Fig. 1.7 – Lemme 1.3.8Démonstration. Supposons tout d’abord que j ∈ D ϕ . Comme valid succ(f, f t , ϕ, i, j) = true, on aϕ(j) = i. L’état <strong>de</strong>s emplacements et le point <strong>de</strong> contrôle recherchés sont donc j s et L 1 . En effet, G t ⊢S(f t , j, Σ, m, L 1 ) → ∗ ε S(f t , j, Σ, m, L 1 ), on a bien ϕ(j) = i et par hypothèse ηj in |= R 1 = L 1 .Soit maintenant j ∉ D ϕ . Comme valid succ(f, f t , ϕ, i, j) = true, on a donc g f t(j) = nop( ) ∨ g f t(j) =op(move, ( ), , ). j a donc un unique successeur dans g f t noté j ′ .Supposons que la propriété soit vraie pour j ′ , pour tout état <strong>de</strong>s emplacements L t 1. On a donc j s et L 2tels que G ⊢ S(f t , j ′ , Σ, m, L t 1) → ∗ ε S(f t , j s , Σ, m, L 2 ), ϕ(j s ) = i et ηj ins|= R 1 = L 2 (à condition <strong>de</strong> montrer queηj in |= R ′ 1 = L t 1). On va montrer que j s et L 2 sont ceux que l’on cherche.Pour cela on va montrer que l’on passe <strong>de</strong> 〈f t , j, Σ, m, L 1 〉 à 〈f t , j ′ , Σ, m, L t 1〉 en 1 étape avec une tracenulle, et que le L t 1 ainsi défini vérifie ηj in |= R ′ 1 = L t 1.Si g f t(j) = nop( ), la définition <strong>de</strong> la sémantique <strong>de</strong> nop implique que L t 1 = L 1 et que la transition se faitavec une trace nulle. De plus, comme on est dans les cas d’un nop rajouté, ηjin = ψ(j, ηjout ) = ηjout = ηj in , et ′comme, par hypothèse, ηj in |= R ′ 1 = L 1 , on a ce que l’on veut.Si g f t(j) = op(move, (x), y, ), la définition <strong>de</strong> la sémantique <strong>de</strong> move implique que{L t 1 =y ↦→ L 1 (x)z ≠ y ↦→ L 1 (z)<strong>de</strong> plus, comme on est dans le cas “splitting, spilling, reloading”,car η inj ′= η outj .η injSoit donc r ≡ l ∈ ηj in , si l = y, alors r ≡ x ∈ η in′L 1 (x) = R 1 (r). Si l ≠ y, alors l ≡ r ∈ ηjin= ψ(j, ηj in ) = (η in ′ \{r ≡ y}) ∪ {r ≡ x | r ≡ y ∈ ηinjj et donc par hypothèse R 1 (r) = L 1 (x), d’où L t 1(y) =et donc L t 1(l) = L 1 (l) = R 1 (r). On a donc bien ηj in |= R ′ 1 = L t 1.18j ′ }


On en déduit donc le lemme pour j.Montrons que, comme le lemme est vérifié pour les j ∈ D ϕ et que, s’il est vérifié pour le successeur d’unj ∉ D ϕ alors il est vérifié pour j, le lemme est bien vérifié pour tout j ∈ D gf t. En effet supposons qu’ilexiste j tel que le lemme ne soit pas vérifié, alors j ∉ D ϕ et le lemme ne peut pas être vérifié pour sonsuccesseur, on construit ainsi une suite infinie hors <strong>de</strong> D ϕ <strong>de</strong> successeurs dans g f t. Cela implique que le calcul<strong>de</strong> valid succ(f, f t , ϕ, i, j) ne termine pas, ce qui contredit les hypothèses.1.3.4.2 Le cas opMontrons maintenant le cas le plus significatif, et le plus intéressant : celui où, dans le RTL, on a uneopération.Lemme 1.3.9. Soient p un programme RTL et p t le programme LTL transformé. Soient G et G t les environnementsassociés.Soit f une fonction RTL, i, i ′ ∈ D gf , op une opération, ⃗x une suite finie <strong>de</strong> pseudo-registres et y unpseudo-registre tels que g f (i) = op(op, ⃗x, y, i ′ ).Soient f t une fonction LTL, ϕ une fonction <strong>de</strong> correspondance, j ∈ N ∗ , Σ une liste <strong>de</strong> frame RTL, Σ tune liste <strong>de</strong> frame LTL, m un état <strong>de</strong> la mémoire, R 1 et R 2 <strong>de</strong>s état <strong>de</strong>s pseudo-registres, L 1 un état <strong>de</strong>semplacements.Notons S 1 = S(f, i, Σ, m, R 1 ) et S1 t = S(f t , j, Σ t , m, L 1 ) tels que S 1 ∼ S1 t. Soit S 2 = S(f, i ′ , Σ, m, R 2 ) telque G ⊢ S 1 → ε S 2 . En particulier, en notant v = eval(op, R 1 (⃗x)),{y ↦→ vR 2 =z ≠ y ↦→ R 1 (z)Il existe alors un état LTL S t 2 , tel que Gt ⊢ S t 1 →+ ε S t 2 et que S 2 ∼ S t 2Démonstration. Comme S 1 ∼ S1 t, validation(f, f t , ϕ) = true, en particulier valid ϕ(f, f t , ϕ) = true etdonc la condition (1.1) est vérifiée d’apres le lemme 1.3.7. On a donc j ∈ D gf t.De plus, comme validation(f, f t , ϕ) = true, on a valid struct(f, f t , ϕ) = true. En particulier g f t(j) ∼ =g f (i) ∨ ((g f (i) = op ∨ g f (i) = load) ∧ g f t(j) = nop) = true. On a donc <strong>de</strong>ux cas possibles, g f t(j) =op(op, ⃗x t , y t , j ′ ) ou g f t(j) = nop(j ′ ). Dans les <strong>de</strong>ux cas valid succ(f, f t , ϕ, i ′ , j ′ ) = true.Commençons par le cas op. Par définition <strong>de</strong> la sémantique, en notant v t = eval(op, L 1 (⃗x t )), on a G t ⊢S1 t → S où S = S(f t , j ′ , Σ t , m, L) où{yL =t ↦→ v tz ≠ y ↦→ L 1 (z)De plus, on est dans le cas “normal”. Si ψ(i, ηjout ) échouait, ηjin ne serait pas un ensemble d’égalités, et onne pourrait pas avoir ηj in |= R 1 = L 1 , ce qui contredirait l’hypothèse S 1 ∼ S1 t.Donc y ≡ y t est compatible avec ηjout etη inj= ψ(j, η inj ′ ) = (ηin j ′ \{y ≡ yt }) ∪ {⃗x k ≡ ⃗x t k } k∈Ncar ηjout = ηj in . ′Montrons d’abord que v = v t . Comme ηj in |= R 1 = L 1 , en particulier, quelque soit k ∈ N, R 1 (⃗x k ) = L 1 (⃗x t k ).Donc v = eval(op, R(⃗x)) = eval(op, L(⃗x t )) = v t .Montrons maintenant que ηj in |= R ′ 2 = L. Soit r ≡ l ∈ ηj in . Comme y ≡ y t est compatible avec η out′ j = ηj in , ′on a soit r = y ∧ l = y t ou r ≠ y ∧ l ≠ y t . Dans le premier cas R 2 (y) = v = v t = L(y t ), dans le <strong>de</strong>uxième,r ≡ l ∈ ηjin |= R 1 = L 1 et R 2 (r) = R 1 (r) = L 1 (l) = L(l).Comme <strong>de</strong> plus valid succ(f, f t , ϕ, i ′ , j ′ ) = true, d’après le lemme 1.3.8, il existe j s et L 2 tels queG t ⊢ S → ∗ ε S(f t , j s , Σ t , m, L 2 ) = S2 t, que ϕ(j s) = i ′ et que ηj ins|= R 2 = L 2 .19


j s et L 2 sont exactement ceux que l’on recherche. En effet G t ⊢ S t 1 → ε S → ∗ ε S t 2 et on a bien S 2 ∼ S t 2 .Montrons maintenant le cas nop. Par définition <strong>de</strong> la sémantique, G t ⊢ S t 1 → S où S = S(f t , j ′ , Σ t , m, L 1 ).Il y a <strong>de</strong> nouveau <strong>de</strong>ux cas : op = move ou non.Dans le premier cas, notons ⃗x = (x), on a alors v = eval(move, R 1 (x)) = R 1 (x) et comme on est dans lecas “coalescing”, on a alors :η inj= ψ(j, ηj in ′ ) = (ηin j ′ \{y ≡ l}) ∪ {x ≡ l | y ≡ l ∈ ηinMontrons alors que ηj in |= R ′ 2 = L 1 . Soit r ≡ l ∈ ηj in . Si r = y, alors x ≡ l ∈ η in′ j . Comme ηin j |= R 1 = L 1 ,on a R 2 (y) = R 1 (x) = L 1 (l). De plus, si r ≠ y, alors r ≡ l ∈ ηjin et donc R 2 (r) = R 1 (r) = L 1 (l).Par contre, si op ≠ move, on est dans les cas “<strong>de</strong>adco<strong>de</strong>”. Si ψ(i, ηjout ) échouait, ηjin ne serait pas unensemble d’égalités, et on ne pourrait pas avoir ηj in |= R 1 = L 1 , ce qui contredirait l’hypothèse S 1 ∼ S1 t.Donc, quelque soit r ≡ l ∈ ηjout = ηj in , r ≠ y et′Montrons alors que, <strong>de</strong> même, η inj ′Comme η inj ′η inj= ψ(j, ηjout )ηjout = ηj in ′|= R 2 = L 1 . Soit r ≡ l ∈ ηj in . On sait que r ≠ y donc R ′ 2 (r) = R 1 (r).= ηjin |= R 1 = L 1 on a aussi R 1 (r) = L 1 (r) ce qui permet <strong>de</strong> conclure.Dans les <strong>de</strong>ux cas, comme valid succ(f, f t , ϕ, i ′ , j ′ ) = true, d’après le lemme 1.3.8, il existe j s et L 2 telsque G t ⊢ S → ∗ ε S(f t , j s , Σ t , m, L 2 ) = S2 t, que ϕ(j s) = i ′ et que ηj ins|= R 2 = L 2 .j s et L 2 sont exactement ceux que l’on recherche. En effet G t ⊢ S1 t → ε S → ∗ ε S2 t et on a bien S 2 ∼ S2 t.On montre en fait qu’on a le diagramme 1.3.9 pour un certain état <strong>de</strong>s emplacements L.j ′ }S 1 = S(f, i, Σ, m, R 1 )η inj |=R 1=L 1ϕ S t 1 = S(f t , j, Σ t , m, L 1 )εεS 2 = S(f, i ′ , Σ, m, R 2 ) η inj ′ |=R 2 =Lvalid succ S = S(f t , j ′ , Σ t , m, L)ηjs in|=R2=L 2ϕε∗S t 2 S(f t , j s , Σ t , m, L 2 )Fig. 1.8 – Lemme 1.3.91.3.4.3 le cas nopOn peut prouver le même lemme dans le cas où g f (i) = nop. La preuve est i<strong>de</strong>ntique (on prouve aussi lediagramme 1.3.9), si ce n’est qu’elle admet moins <strong>de</strong> cas : on peut seulement avoir g f t(j) = nop. La preuve estmême encore plus simple car R 2 = R 1 , L = L 1 , ηjin = ηj in . ′1.3.4.4 le cas loadDe même on peut prouver ce lemme dans le cas où g f (i) = load (ne vous lassez pas tout <strong>de</strong> suite, il y a 11cas en tout). On ne peut juste pas se retrouver dans le cas d’un “coalescing”, mais le diagramme est i<strong>de</strong>ntique.20


Il faut aussi vérifier que l’adresse que l’on “load” est la même <strong>de</strong>s <strong>de</strong>ux cotés, pour cela il suffit <strong>de</strong> vérifier,comme le mo<strong>de</strong> d’adressage et le bloc sont i<strong>de</strong>ntiques, que les valeurs arguments <strong>de</strong> l’adresse sont les mêmes.On fait cela comme dans le cas op.1.3.4.5 le cas storeCe cas-ci est un tout petit peu différent, les registres et les emplacements ne sont pas modifiés, c’est m quiest modifié. Mais on vérifie aisément que, comme précé<strong>de</strong>mment, l’adresse ou l’on “store” est la même et quela valeur que l’on “store” est aussi la même. m est donc modifié <strong>de</strong> la même façon <strong>de</strong>s <strong>de</strong>ux côtés et on finitla preuve en utilisant le lemme 1.3.8.1.3.4.6 le cas ifDans le cas, g f (i) = cond, il faut différencier le cas eval(cond, R 1 (⃗x)) = true et le cas eval(cond, R 1 (⃗x)) =false. La preuve est alors très similaire, on démontre que eval(cond, L 1 (⃗x t )) = eval(cond, R 1 (⃗x)) commeprécé<strong>de</strong>mment. L’état suivant du LTL est alors celui qui correspond à j true ou j false suivant le cas et l’on utilisealors le lemme 1.3.8 appliqué à valid succ(f, f t , ϕ, i true , j true ) = true ou valid succ(f, f t , ϕ, i false , j false ) =true.1.3.4.7 le cas callCe cas-ci mérite un nouveau lemme, en effet, on ne démontre pas le diagramme 1.8 ici mais le diagramme1.9.Lemme 1.3.10. Soient p un programme RTL et p t le programme LTL transformé. Soient G et G t les environnementsassociés.Soit f une fonction RTL, i, i ′ ∈ D gf , sig une signature, x un pseudo-registre ou un i<strong>de</strong>ntifiant, ⃗y une suitefinie <strong>de</strong> pseudo-registres et z un pseudo-registre tels que g f (i) = call(sig, x, ⃗y, z, i ′ ).Soient f t une fonction LTL, ϕ une fonction <strong>de</strong> correspondance, j ∈ N ∗ , Σ 1 une liste <strong>de</strong> frame RTL, Σ t 1une liste <strong>de</strong> frame LTL, m un état <strong>de</strong> la mémoire, R un état <strong>de</strong>s pseudo-registres, L un état <strong>de</strong>s emplacementset ⃗v une suite finie <strong>de</strong> valeurs.Notons S 1 = S(f, i, Σ 1 , m, R) et S t 1 = S(f t , j, Σ t 1 , m, L) tels que S 1 ∼ S t 1 . Notons F = G(R 1(x)). SoitΣ 2 = 〈z, f, i ′ , R〉 :: Σ 1 et S 2 = C(F, Σ 2 , ⃗v, m) tel que G ⊢ S 1 → ε S 2 .Alors j ∈ D gf tet g f t(j) = call(sig, x t , ⃗y t , z t , j ′ ). De plus, en notant F t = transf fun<strong>de</strong>f(F ), Σ t 2 =〈z t , f t , j ′ , L〉 :: Σ t 1 et St 2 = C(F t , Σ t 2 , ⃗v, m), on a Gt ⊢ S t 1 → ε S t 2 et S 2 ∼ S t 2 .S 1 = S(f, i, Σ 1 , m, R)ηjin|=R=Lϕ,Σ 1 ≈Σ t 1 S1 t = S(f t , j, Σ t 1 , m, L)εεS 2 = C(F, Σ 2 , m, ⃗v, m) Σ 2 ≈Σ t 2F t =transf fun<strong>de</strong>f(F ) S = S(F t , Σ t 2 , ⃗v, m)Fig. 1.9 – Le cas callDémonstration. La plupart <strong>de</strong> la preuve se fait comme précé<strong>de</strong>mment, il faut juste démontrer que G t (L(x t )) =F t et que Σ 2 ≈ Σ t 2 .La première affirmation est due au fait que, d’après les équations d’analyse dataflow, x ∈ ηjin et doncL(x t )) R(x) la valeur désigne donc bien la fonction transformée car elle a le même i<strong>de</strong>ntifiant.21


De plus, comme S 1 ∼ S1 t on a bien validation(f, f t , ϕ) = true et comme Σ 1 ≈ Σ t 1 , ηin j |= R = L, on abien, pour toute valeur v, ηj in |= R{z ← v} = L{z t ← v}. On a donc bien Σ 2 ≈ Σ t 2 et donc S 2 ∼ S2 t.1.3.4.8 le cas tailcallC’est un cas encore plus simple que le précé<strong>de</strong>nt vu qu’on a alors Σ 1 = Σ 2 et Σ t 1 = Σt 2 .1.3.4.9 le cas returnDans ce cas là, on prouve un diagramme très similaire qui aboutit à <strong>de</strong>ux returnstate. Il n’y a alors pasgrand chose à démontrer si ce n’est que les valeurs retournées sont égales. Ce qui se vérifie avec la métho<strong>de</strong>habituelle.1.3.4.10 le cas callstate externalC’est un <strong>de</strong>s cas les plus simples. Les valeurs d’arguments étant les mêmes, et la fonction externe transforméeétant i<strong>de</strong>ntique à la fonction externe du RTL, la trace et la valeur produite sont i<strong>de</strong>ntiques dans les<strong>de</strong>ux sémantiques, on arrive donc bien dans <strong>de</strong>ux returnstate équivalents.1.3.4.11 le cas callstate internalDans ce cas-là, on conclut directement par l’utilisation du lemme 1.3.8. L’hypothèse <strong>de</strong> compatiblité<strong>de</strong>s équations d’entrée du RTL et du LTL permet <strong>de</strong> démontrer que ηj in |= L init = R init , où j est lepoint d’entrée <strong>de</strong> f t . La <strong>de</strong>uxième hypothèse, valid succ(f, f t , ϕ) = true découle directement du fait quevalidation(f, f t , ϕ) = true1.3.4.12 le cas returnstateDe même que dans le cas précé<strong>de</strong>nt, on utilise le lemme 1.3.8. Les <strong>de</strong>ux hypothèses dont on a besoin sontune conséquence directe <strong>de</strong> l’équivalence <strong>de</strong>s listes <strong>de</strong> frame.1.3.5 Correction <strong>de</strong> l’algorithme 7Il suffit alors <strong>de</strong> rassembler les lemmes dans chacun <strong>de</strong>s cas pour démontrer que si le programme RTLs’exécute avec la trace θ, alors pour les mêmes m ′ et i, le programme LT L s’exécute avec la même trace θ. Lapasse d’allocation <strong>de</strong> registres que l’on a présentée ici est donc correcte, quelque soit le programme transf funque l’on utilise, c’est là d’ailleurs l’intérêt <strong>de</strong> tout le travail qu’on a fait, pouvoir écrire une transformation nonprouvée, tout en étant quand même sûr que le co<strong>de</strong> produit sera juste (il pourra juste ne pas être produit sila transformation est buguée).22


Chapitre 2Live range splitting2.1 Durée <strong>de</strong> vie et allocation <strong>de</strong> registresLe validateur écrit, il fallait maintenant écrire un algorithme d’allocation <strong>de</strong> registre qui gère mieux lespilling que celui actuellement présent dans Compcert. Pour l’instant la métho<strong>de</strong> utilisée est simple, et efficacedans le cas où il y a peu <strong>de</strong> spilling. Sur les 32 registres du microprocesseur, il y en a <strong>de</strong>ux qui sont mis <strong>de</strong>côté et qui ne sont pas utilisés pendant l’allocation. On regar<strong>de</strong> alors le résultat <strong>de</strong> l’allocation et lorsqu’unemplacement <strong>de</strong> pile est utilisé dans une opération, ce qui est impossible au niveau du microprocesseur, onse sert <strong>de</strong> l’un <strong>de</strong>s registres mis a part comme temporaire. Deux temporaires suffisent vu qu’en règle généraleun microprocesseur (en tout cas le powerpc) n’execute que <strong>de</strong>s opérations faisant intervenir plus <strong>de</strong> <strong>de</strong>uxarguments.Si on peut se permettre <strong>de</strong> mettre <strong>de</strong> côté <strong>de</strong>ux registres quand on en dispose <strong>de</strong> 32 (il en reste alors presqueune trentaine disponibles pour l’allocation, et dans les faits pas un seul benchmark <strong>de</strong> Compcert ne donnaitlieu a un spilling), quand on en dispose <strong>de</strong> moins (comme c’est le cas dans le très répandu X86) ce n’est plusune option, le co<strong>de</strong> produit <strong>de</strong>vant se contenter <strong>de</strong> 3 ou 4 registres, il se produit un nombre invraisemblable<strong>de</strong> spilling (et donc <strong>de</strong> reloading) qui ralentissent beaucoup le co<strong>de</strong>. Il faut donc utiliser <strong>de</strong> façon plus ruséeles six registres dont on dispose.La première solution, celle habituellement implémentée dans l’algorithme <strong>de</strong> Appel et George (voir [App98]),consiste lorsqu’une variable est spillée, à rajouter avant toutes ses utilisations un reload vers un pseudo-registreet <strong>de</strong> recommencer l’allocation en sachant que la variable spillée ne sera pas dans un registre, ce qui simplifiele graphe d’interférence, mais avec un certain nombre <strong>de</strong> pseudo-registres supplémentaires (<strong>de</strong> durée <strong>de</strong> vietrès faible, le temps d’une opération en fait). On recommence alors jusqu’à ce que le processus se stabilise.Cette métho<strong>de</strong> est plus efficace car le registre temporaire utilisé n’est pas bloqué a priori, il est aussi allouéen essayant d’optimiser le nombre <strong>de</strong> spilling.Cependant cette métho<strong>de</strong> présente encore quelques défauts. Aux temporaires près, un pseudo-registre estalloué dans un seul et unique emplacement, et si c’est un emplacement <strong>de</strong> pile, il y restera tout au long <strong>de</strong>l’exécution <strong>de</strong> la fonction, en étant reloadé à chaque utilisation. Alors qu’il est probable qu’il n’ait été spilléque parce que, très localement dans la fonction, il n’y avait pas assez <strong>de</strong> registre disponible, typiquement lorsd’un appel.On aimerait donc que ce pseudo-registre soit dans un vrai registre quand il y en a la place (en zone <strong>de</strong>basse pression pourrait-on dire) et qu’il soit spillé localement lorsque ce n’est plus possible autrement (en zone<strong>de</strong> haute pression). Mais alors comment détecter ces zones <strong>de</strong> basse ou haute pression. On pourrait imaginer<strong>de</strong>s montagnes d’analyse statique pour cela, mais on dispose déjà d’une allocation <strong>de</strong> registre qui fonctionnebien et qui, tout compte fait, peut faire ce travail. En effet lorsqu’une variable est spillée, c’est justement parcequ’on ne peut plus faire autrement, que la variable traverse quelque part dans la fonction une zone <strong>de</strong> hautepression. Le vrai problème est simplement que la variable est i<strong>de</strong>ntique en zone <strong>de</strong> basse pression ou en zone<strong>de</strong> haute pression, elle ne peut donc pas être allouée à <strong>de</strong>ux endroits différents. La solution est donc <strong>de</strong> réduire23


la durée <strong>de</strong> vie <strong>de</strong>s variables ; <strong>de</strong> splitter régulièrement les variables qui sont spillées pour qu’elles puissent êtreallouées dans différents emplacement au cours <strong>de</strong> l’exécution.Une fois que le parti <strong>de</strong> faire du live range splitting a été pris, il faut déci<strong>de</strong>r quelle sera l’ampleur <strong>de</strong> cesplitting. En effet, cela peut aller jusqu’à splitter toutes les variables avant chaque instruction. Cette <strong>de</strong>rnièreoption est un peu lour<strong>de</strong>, on a donc essayé <strong>de</strong> mettre en place une solution alternative : les variables qui ont étéspillées sont splittées avant et après chacune <strong>de</strong> leurs utilisations dans le programme. Cette métho<strong>de</strong> permeten plus <strong>de</strong> traiter le point fondamental du spilling qui est que la variable spillée doit être dans un registrelors <strong>de</strong> son utilisation. Il suffit donc que le pseudo-registre intermédiaire, celui qui est utilisé entre le premiersplitting et le <strong>de</strong>uxième (et qui est <strong>de</strong> très courte durée <strong>de</strong> vie), soit dans un registre pour que tout fonctionne.2.2 L’algorithme <strong>de</strong> live range splitting2.2.1 L’algorithme⎧⎪⎨r ← use(r) ⇒⎪⎩r 2 ← r 1↓r 4 ← use(r 2 )↓r 3 ← r 4⎧⎪⎨use≠call (r) ⇒⎪⎩r 2 ← r 1↓use(r 2 )↓r 3 ← r 2⎧⎪⎨use call (r) ⇒⎪⎩r 2 ← r 1↓use(r 2 )↓r 3 ← r 1Fig. 2.1 – Live range splitting au niveau d’une instructionL’algorithme présenté ici fait du live range splitting (i.e. exécute la transformation présentée à la figure 2.1) ;il parcourt le graphe g f d’une fonction en rajoutant les splitting nécessaires et en modifiant les instructionsalentours pour s’assurer que c’est bien la bonne variable qui est alors utilisée à la place <strong>de</strong> r. Pour cela,l’algorithme utilise un union find en place.La transformation se fait en <strong>de</strong>ux temps. Tout d’abord la variable r est remplacée à chacune <strong>de</strong> sesutilisations et <strong>de</strong> ses définitions par une variable fraîche (algorithme 8), puis on rajoute <strong>de</strong>s move qui assurentque la valeur que contenait r va bien se propager <strong>de</strong> registre en registre parmi ceux qui remplacent r (algorithme9). Il faut entre autre s’assurer que les utilisations suivantes <strong>de</strong> r se feront bien avec le pseudo-registre quicontient maintenant la valeur <strong>de</strong> r. Pour cela on regar<strong>de</strong> les utilisations <strong>de</strong> r qui suivent dans le programme,on regar<strong>de</strong> quel est le pseudo-registre utilisé (en remontant au besoin la chaîne <strong>de</strong> pointeurs) et on fait pointerce pseudo-registre sur celui qui nous intéresse.Algorithme 8 initRequire: f une fonction RTL, r un pseudo-registre<strong>Ens</strong>ure: f ′ où les apparitions <strong>de</strong> r sont remplacées par <strong>de</strong>s variables fraîches1: f ′ = f2: for all i ∈ D gf do3: Soient r 1 et r 2 <strong>de</strong>ux pseudo-registres frais4: Remplacer les utilisations <strong>de</strong> r dans g f (i) par r 15: if r défini dans g f (i) then6: remplacer la définition <strong>de</strong> r par r 27: end if8: end forSi r est un paramètre, il reste alors à regar<strong>de</strong>r les premières utilisations après le point d’entrée et à les fairepointer sur la variable utilisée à la place <strong>de</strong> r dans les paramètres.24


Algorithme 9 Live range splittingRequire: f une fonction RTL, r un pseudo-registre<strong>Ens</strong>ure: f ′ où r est splitté et l une liste <strong>de</strong> pseudo-registre à ne pas spiller1: l = []2: f ′ = init(f, r)3: for all i ∈ D gf do4: if r est utilisé dans g f (i) then5: Soit r 1 le pseudo-registre qui est utilisé à la place <strong>de</strong> r dans g f ′(i)6: Soit r 2 et r 3 <strong>de</strong>ux pseudo-registres frais7: Faire pointer sur r 3 toutes les utilisation <strong>de</strong> r qui suivent8: Dans g f ′(i) remplacer r 1 par r 29: if r est défini dans g f (i) then10: Soit r 4 le pseudo-registre qui est défini à la place <strong>de</strong> r dans g f ′(i)11: else12: if g f (i) = call then13: r 4 = r 114: else15: r 4 = r 216: end if17: end if18: Avant chaque successeur <strong>de</strong> i, introduire un move <strong>de</strong> r 4 vers r 319: Avant i, introduire un move <strong>de</strong> r 1 vers r 220: l = r 2 :: l21: else22: if r est défini dans g f (i) then23: Soit r 1 le pseudo-registre qui est défini à la place <strong>de</strong> r dans g f ′(i)24: Soit r 2 un pseudo-registre frais25: Faire pointer toutes les utilisation <strong>de</strong> r qui suivent sur r 226: Avant chaque successeur <strong>de</strong> i, introduire un move <strong>de</strong> r 1 vers r 227: l = r 1 :: l28: end if29: end if30: end for25


L’algorithme tel que je l’ai implémenté dans Compcert est un peu différent ; en effet lorsqu’une instructiona plusieurs successeurs (i.e. les conditions), sur chaque branche, r est splitté vers une variable différente cequi permet à l’allocateur un comportement différent suivant la branche, en effet la variable ne traverserapeut être pas une zone <strong>de</strong> haute pression sur les <strong>de</strong>ux branches. De plus le comportement lors d’un callest un peu plus compliqué, j’ai tenu à montrer la spécificité <strong>de</strong>s call en mettant la modification réellementimportante par rapport aux autres opérations, à savoir que l’on récupère non pas la variable utilisée mais lavariable splittée. Le problème vient <strong>de</strong>s registres caller-saved qui ne peuvent pas être utilisés lors d’un appel,il est donc indispensable que les variables ne survivent pas à l’appel pour ne pas causer <strong>de</strong> problèmes. Dansl’implémentation que j’ai faite, il est distingué le cas ou r contient un argument, l’adresse <strong>de</strong> la fonction appelée,ou les <strong>de</strong>ux ; car les arguments, eux, peuvent survivre, ils seront généralement empilés et que, contrairementaux arguments d’une opération, les arguments d’une fonction peuvent être dans la pile.Je voudrais <strong>de</strong> plus faire quelques remarques d’ordre général sur l’implémentation. La modification dugraphe a lieu intégralement en place, mais tout en utilisant le graphe (recherche <strong>de</strong> successeurs etc) et enmappant le graphe. Il est donc indispensable <strong>de</strong> mapper un exemplaire original du graphe pour ne pas seretrouver à mapper les noeuds rajoutés, et comme au cours <strong>de</strong> la modification on a besoin d’informations surle graph modifié, il faut faire attention à l’ordre dans lequel on fait les modifications au niveau <strong>de</strong> chaqueinstruction.Il faut <strong>de</strong> plus disposer d’une table <strong>de</strong>s prédécesseurs qui est nécessaire ligne 19 pour pouvoir faire pointerles noeuds précé<strong>de</strong>nts sur celui que l’on vient d’insérer. Il faut aussi penser à la mettre à jour aux fur et àmesure <strong>de</strong>s modifications du graphe.2.2.2 Un exempleUn exemple (voir figure 2.2, 2.3, 2.4 et 2.5) clarifiera cela.La figure 2.2(b) représente le RTL après renommage <strong>de</strong> r (Je n’ai mis que les choses intéressantes pourle live range splitting, la nature <strong>de</strong>s opérations, ou les opérations ne faisant pas intervenir r ne sont donc pasindiquées). La figure suivante (figure 2.2(c)) représente l’état du graphe après le traitement du noeud 4. On aalors les relations suivantes entres les variables (→ signifie pointe vers) :r 6 → r 9r 2 → r 8Une fois le noeud 2 traité (les noeuds sont pris dans un ordre quelconque) on a la figure 2.2(d). On a alorsles relations :r 6 → r 9r 2 → r 8r 3 → r 12r 5 → r 11Après le traitement du noeud 5 (figure 2.2(e)), on a les même relations. Par contre, le traitement du noeud1 (figure 2.3) donne :r 6 → r 9r 2 → r 8r 3 → r 12 → r 15r 5 → r 11r 4 → r 16Après le traitement du noeud 3 (figure 2.4), on obtient :r 6 → r 9r 2 → r 8r 3 → r 12 → r 15r 5 → r 11 → r 18r 4 → r 16 → r 1926


(a) RTL initial (b) Après init (c) Traitement du noeud 4(d) Traitement du noeud 2 (e) Traitement du noeud 5Fig. 2.2 – Un exemple <strong>de</strong> live range splitting27


Fig. 2.3 – Traitement du noeud 128


Fig. 2.4 – Traitement du noeud 329


Fig. 2.5 – Fin du live range splitting30


Enfin après le traitement <strong>de</strong> l’entrée, on a :r 6 → r 9r 2 → r 8 → r 0r 3 → r 12 → r 15r 5 → r 11 → r 18r 4 → r 16 → r 19On obtient donc enfin le graphe <strong>de</strong> la figure 2.5 en remplaçant les variables par celle vers laquelle ellepointe dans le cas échéant. Les variables à ne pas spiller sont alors : [r 14 ; r 10 ; r 17 ; r 7 ; r 13 ].2.3 L’allocationL’allocateur <strong>de</strong> registre déjà présent dans Compcert marche en <strong>de</strong>ux temps, tout d’abord il alloue à chaquepseudo registre un emplacement (registre ou emplacement <strong>de</strong> pile) puis il cherche les emplacements <strong>de</strong> pilequi sont utilisés dans <strong>de</strong>s opérations et rajoute un reload avant l’instruction. On nomme la première phase<strong>de</strong> l’allocateur alloc ; elle prend en argument une fonction RTL et une liste <strong>de</strong>s pseudo-registres à ne passpiller. Elle est donc réutilisable pour implémenter un algorithme d’allocation plus subtil qui utilise le liverange splitting (voir algorithme 10). Ce <strong>de</strong>rnier algorithme est appelé par l’algorithme 6.Algorithme 10 transf funRequire: f une fonction RTL,<strong>Ens</strong>ure: f t une fonction LTL, ϕ la fonction <strong>de</strong> correspondance1: Soit ϕ l’i<strong>de</strong>ntité sur D gf2: l = []3: Soit f t = alloc(f, l)4: while Tous les arguments <strong>de</strong>s opérations <strong>de</strong> f t ne sont pas dans <strong>de</strong>s registres do5: Soient E l’ensemble <strong>de</strong>s pseudo-registres dont l’allocation pose problème6: for all r ∈ E do7: Soit (f, l ′ ) = Live range splitting(f, r)8: l = l ′ @l9: end for10: f t = alloc(f, l)11: end while12: return (f t , ϕ)Aucune preuve <strong>de</strong> cet algorithme d’allocation n’est nécessaire, en effet quand il est appelé dans l’algorithme6, le résultat est validé après coup. On dispose donc d’un allocateur qui ne peut pas buguer et gère le spillingplus intelligemment.ConclusionCe rapport présente un algorithme <strong>de</strong> validation pour l’allocation, puis un algorithme d’allocation. Latotalité du développement <strong>de</strong> ces <strong>de</strong>ux programmes représente 350 lignes pour ce qui est du validateur, 1380pour sa preuve et 630 lignes pour l’algorithme <strong>de</strong> live range splitting.Le premier programme répond à toutes nos attentes, l’algorithme est prouvé et le temps <strong>de</strong> compilationest augmenté <strong>de</strong> façon imperceptible. On pourrait cependant se <strong>de</strong>man<strong>de</strong>r si une preuve <strong>de</strong> complétu<strong>de</strong> n’estpas possible. Montrer que si le triplet (f, f, ϕ) vérifie la condition fixée en 1.1.4 et que f et f t ont la mêmesémantique, alors le validateur rend true. Cependant comme tous les benchmarks <strong>de</strong> Compcert passent levalidateur, on peut penser qu’il est raisonnablement complet.31


Le <strong>de</strong>uxième programme présenté ici pose plus <strong>de</strong> problèmes. Le principal est que la recherche en avantdans le graphe, pour trouver les utilisations suivantes, peut mener à une explosion combinatoire. Il arrive quela compilation <strong>de</strong> certains programmes passe <strong>de</strong> quelques secon<strong>de</strong>s avec l’allocateur normal à plusieurs minutesavec le nouvel allocateur. La solution la plus simple consiste à procé<strong>de</strong>r par analyse Dataflow : on remplaceles variables problématiques par <strong>de</strong>s variables fraîches au niveau <strong>de</strong> chaque instruction, on rajoute les splittingnécessaires là encore avec <strong>de</strong>s variables fraîches, puis on procè<strong>de</strong> à l’unification <strong>de</strong>s variables utilisées par uneanalyse Dataflow.L’autre problème que l’on peut remarquer est que le résultat produit contient quelques move inutiles (voirfigure 1.2). La transition entre zone <strong>de</strong> basse pression et zone <strong>de</strong> haute pression se met bien en place, maiscertains splitting inutiles sont maintenus. Il faudrait donc comprendre comme mieux gui<strong>de</strong>r l’allocateur pourqu’il en élimine juste assez. Parmis les move redondants qui apparaissent et qui sont les plus simples à gérer,il y a les spilling d’une variable reloadée. Il suffirait dans ce cas <strong>de</strong> trouver un méchanisme pour se rappelerque la variable est aussi quelque part dans la pile.32


Bibliographie[ALSU] A. Aho, R. Lam, M. Sethi, and J. Ullman. Compilers, principles, techniques and tools, chapter 9.2 -9.3, pages 597–632. Addison-Wesley.[App98] Andrew Appel. Mo<strong>de</strong>rn Compilation Implementation in ML, chapter 10. Cambridge UniversityPress, 1998.[HCS06] Yuqiang Huang, Bruce R. Chil<strong>de</strong>rs, and Mary Lou Soffa. Catching and i<strong>de</strong>ntifying bugs in registerallocation. Lecture Notes in Computer Science, 2006.[Ler08] Xavier Leroy. A formally verified compiler back-end. 2008.[Ler09a] Xavier Leroy. The compcert verified compiler, software and commented proof.http ://compcert.inria.fr/doc/in<strong>de</strong>x.html, 2004 - 2009.[Ler09b] Xavier Leroy. Formal verification of a realistic compiler. Communications of the ACM, 2009.[LT09] Xavier Leroy and Jean-Baptiste Tristan. Verified validation of lazy co<strong>de</strong> motion. PLDI, 2009.33


Table <strong>de</strong>s matières0.1 Contexte et motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 La compilation vérifiée, Compcert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.2 Certification vs Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.3 L’allocation <strong>de</strong> registres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Un validateur pour l’allocation 31.1 Spécifications <strong>de</strong> l’allocation <strong>de</strong> registre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1 Les langages traités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 L’allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2 L’algorithme <strong>de</strong> validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.1 Validation <strong>de</strong> ϕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.2 Validation <strong>de</strong> la structure du LTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.3 Validation <strong>de</strong>s emplacements choisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.4 Un peu <strong>de</strong> Coq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.2.5 Le validateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3 Correction <strong>de</strong> l’algorithme <strong>de</strong> validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3.1 Sémantique <strong>de</strong>s langages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3.2 Correspondances RTL-LTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.3 Théorème <strong>de</strong> simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3.4 Preuve du théorème 1.3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3.5 Correction <strong>de</strong> l’algorithme 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Live range splitting 232.1 Durée <strong>de</strong> vie et allocation <strong>de</strong> registres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 L’algorithme <strong>de</strong> live range splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.1 L’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.2 Un exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.3 L’allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3134


Table <strong>de</strong>s figures1.1 Les passes <strong>de</strong> Compcert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Un RTL et un LTL (calcul <strong>de</strong> la suite <strong>de</strong> Fibonacci) . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Hypothèse sur le triplet (f, f t , ϕ) pour une allocation . . . . . . . . . . . . . . . . . . . . . . . . 71.4 Un RTL et un LTL annotés (calcul <strong>de</strong> la suite <strong>de</strong> Fibonacci) . . . . . . . . . . . . . . . . . . . . 101.5 Les états <strong>de</strong> la sémantique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.6 Théorème <strong>de</strong> simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.7 Lemme 1.3.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.8 Lemme 1.3.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.9 Le cas call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1 Live range splitting au niveau d’une instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2 Un exemple <strong>de</strong> live range splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.3 Traitement du noeud 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.4 Traitement du noeud 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.5 Fin du live range splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3035


Liste <strong>de</strong>s algorithmes1 valid ϕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 valid struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 valid succ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 dataflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 transf fun<strong>de</strong>f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 transf prog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Live range splitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2510 transf fun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3136


Huitième partieMini-mémoire écrit pour le cours Catégories et lambda-calcul àl'<strong>Ens</strong>206


Le topos effectifSilvain Ri<strong>de</strong>au8 février 2010RésuméQuelques notes sur l’article [Hyl82]. Une partie <strong>de</strong>s preuves absentes <strong>de</strong> l’article sont tirées <strong>de</strong>[HJP80]Table <strong>de</strong>s matières1 Topoi 21.1 Quelques limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Sous-objets et objet <strong>de</strong>s parties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Réalisabilité récursive 73 Le topos effectif EFF 103.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Quelques constructions dans EFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Objet <strong>de</strong>s entiers naturels 131


1 Topoi1.1 Quelques limitesOn va commencer par introduire quelques définitions générales qui permettrons <strong>de</strong> définir ce qu’est untopos (voir [BW85]). Pour la plupart ce sont <strong>de</strong>s cas particuliers <strong>de</strong> limites <strong>de</strong> diagrammes finis.Dans tout ce qui suit C est une catégorie.Définition 1.1 (Produit fibré) :Soient A, B et C <strong>de</strong>s objets <strong>de</strong> C, f > Hom C ˆA, C et g > Hom C ˆB, C . Soit P un objet <strong>de</strong> C, p 1 >Hom C ˆP, A et p 2 Hom C ˆP, B . On dit que le diagrammeP p 1 Ap 2 f B g Cest un produit fibré s’il commute et qu’on a la propriété universelle suivante : si ˆT, t 1 , t 2le diagrammeTt 1Avérifient quet 2 f B g Ccommute alors il existe un unique h > Hom C ˆT, Ptel queT t 2ht 1 P p 1 Ap 2 f B g Ccommute.On parle aussi <strong>de</strong> produit fibré <strong>de</strong> g le long <strong>de</strong> f (ou réciproquement).Le produit fibré <strong>de</strong> ˆf, gest la limite du diagrammeAfB g CDéfinition 1.2 (objet terminal) :Soit C un objet <strong>de</strong> C, on dit qu’il est terminal si pour tout objet A <strong>de</strong> C, il existe une unique flèche <strong>de</strong>A dans C.Les objets terminaux sont les limites du diagramme vi<strong>de</strong>.2


Définition 1.3 (Égalisateur) :Soient A et B <strong>de</strong>s objets <strong>de</strong> C, f, g > Hom C ˆA, B . Soit E un objet <strong>de</strong> C, e > Hom C ˆE, A . On dit queˆE, e est un égalisateur <strong>de</strong> ˆf, g si f X e g X e et si pour tout T objet <strong>de</strong> C et t > Hom C ˆT, A tel quef X t g X t alors il existe un unique h > Hom C ˆT, E tel que t e X h.L’égalisateur <strong>de</strong> f et g est la limite du diagrammeUn égalisateur est un cas particulier <strong>de</strong> produit fibré où U V .AgfDéfinition 1.4 (Produit) :Soit ˆA i i>I une famille d’éléments <strong>de</strong> C. Soit P un objet <strong>de</strong> C et pour tout i > I, p i > Hom C ˆP, A i . Ondit que ˆP, ˆp i i>I est le produit <strong>de</strong> ˆA i i>I si pour tout T objet <strong>de</strong> C et tous t i > HomˆT, A i pour i > I,il existe un unique h tel que pour tout i > I, p i X h t i .Le produit est la limite du diagramme discret <strong>de</strong>s ˆA i i>I.Dans le cas particulier ou I ˜1; 2 on obtient la propriété universelle suivanteT Bt 1P t 2p 1 p 2 A 1 A 2C’est alors aussi un cas particulier <strong>de</strong> produit fibré si la catégorie a un objet terminal I :Tt 2t 1Pp 1A 1p 2A 2 IOn notera A B le produit <strong>de</strong> A et B (en sous-entendant les projections (p A et p B )) et ˆf, g ¢ Tla flèche universelle qui vérifie le diagrammeA BTfgA B Ap A p BOn prendra les même notations pour tous les produits.Définition 1.5 (Monomorphisme) :Soit f > Hom C ˆA, B , on dit que f est un monomorphisme si pour tous x, y > Hom C ˆB, C , f X ximplique x y (f est donc régulier à gauche).Af X y3


Le lemme suivant permet <strong>de</strong> relier la notion <strong>de</strong> monomorphisme à celle <strong>de</strong> produit fibré, plus précisément<strong>de</strong> donner une définition alternative qui fasse intervenir un produit fibré.Lemme 1.6 (Caractérisation <strong>de</strong>s monomorphismes par un produit fibré) :f > Hom C ˆA, B est un monomorphisme ssi le diagramme suivant est un produit fibréA id A Aid A f A fB∆. Soient T un objet <strong>de</strong> C et x, y > HomˆT, A .(¨) Supposons que le diagrammeTxyA id AAid A f A fBcommute. En particulier, f X x f X y donc x y et l’un ou l’autre satisfont la propriété universelle.Supposons maintenant que h > HomˆT, A vérifieTx hyA idAAid AA f BOn a alors, par commutativité, x id A X h h y. Le carré est donc bien un produit fibré.() Supposons que f X x f X y. Soit h vérifiant la propriété universelle. On a alors comme ci-<strong>de</strong>ssusx h y. Donc f est bien un monomorphisme.Énonçons maintenant un théorème sur l’existence <strong>de</strong>s limites finies.Théorème 1.7:On a équivalence entre(i) C a toutes les limites finies.(ii) C a un objet terminal et tous les produits fibrés.(iii) C a tous les produits finis et tous les égalisateurs.∆.(i¨ii) est évi<strong>de</strong>nt vu que les objets terminaux et les limites finies sont <strong>de</strong>s cas particuliers <strong>de</strong> limitesfinies.fj4


(ii¨iii) est une conséquence <strong>de</strong>s traductions par <strong>de</strong>s produits fibrés données ci-<strong>de</strong>ssus. Il faudrait encoredémontrer qu’on peut construire tout produit fini à partit du produit cartésien seulement (associativitédu produit cartésien et isomorphisme entre le produit n-aire et n-1 fois le produit cartésien).(iii¨ii) Un objet terminal est le produit d’une famille vi<strong>de</strong>.Soient A ,B et C <strong>de</strong>s objets <strong>de</strong> C, f > HomˆA, C et g > HomˆB, C et considérons P A C B,Q C C, i ˆf X p A , g X p B et j ˆp C , p C appartenant à HomˆP, Q .Notons E, e l’égalisateur <strong>de</strong> ˆi, j , e 1 p A X e et enfin e 2 p B X e. ˆE, e 1 , e 2 est alors un produit fibré<strong>de</strong> ˆf, g .En effet on a par définition i X e j X e et en projetant sur chacune <strong>de</strong>s composantes <strong>de</strong> C C, onobtient f X p A X e p C X e et g X p B X e p C X e, en particulier, f X e 1 g X e 2 . Le carré est donc un carrécommutatif. Reste à montrer qu’il vérifie la propriété universelle. Soit ˆT, t 1 , t 2 tel que f X t 1 g X t 2 .la flèche t ¢ ˆt 1 , f X t 1 , t 2 > Hom C ˆT, P vérifie que i X t j X t. En effet, en notant p 1 la premièreprojection sur C C et p 2 la <strong>de</strong>uxième,etp 1 X i X t f X p A Xˆt 1 , f X t 1 , t 2f X t 1p C X Xˆt 1 , f X t 1 , t 2p 1 X j X tp 2 X i X t g X p B Xˆt 1 , f X t 1 , t 2g X t 2f X t 1p C Xˆt 1 , f X t 1 , t 2p 2 X j X tPar propriété universelle du produit cartésien, on a bien i X t j X t. Par propriété universelle <strong>de</strong>l’égalisateur, on a h ¢ T E tel que t e X h. On a alors bien e 1 X h p A X e X h p A X t t 1 ete 2 X h p B X e X h p B X t t 2 . C’est donc bien un produit fibré. jLa preuve donnée ici n’est pas complète, en effet (iii¨i) n’est pas démontré, mais la preuve suitexactement la même métho<strong>de</strong> que celle utilisée pour reconstruire le produit fibré.1.2 Sous-objets et objet <strong>de</strong>s partiesDéfinition 1.8 (Equivalence <strong>de</strong> monomorphismes et sous-objets) :On dit que <strong>de</strong>ux monomorphismes f > Hom C ˆA, C et g > Hom C ˆB, C sont équivalents s’il existej ¢ a b isomorphisme tel que le diagrammejA Bf g Csoit commutatif (on remarque que c’est une bien une relation d’équivalence).On notera pour tout g monomorphisme <strong>de</strong> codomaine C, g¥ la classe d’équivalence <strong>de</strong> g. Les sous-objets<strong>de</strong> C sont ces classes d’équivalence.5


Définition 1.9 (Foncteur <strong>de</strong>s sous-objets) :Soit C une catégorie. On définit le foncteur Sub ¢ C op SET tel que :1. quelque soit C objet <strong>de</strong> C, SubˆC est l’ensemble <strong>de</strong>s sous-objets <strong>de</strong> C.2. quelque soit f > Hom C ˆB, A , quelque soit g ¢ U A monomorphisme, Subˆf ˆ g¥ est la classed’équivalence d’un produit fibré <strong>de</strong> g le long <strong>de</strong> f, i.e. tel qu’il existe s > Subˆf ˆ g¥ , p et h telsque le diagrammesoit un produit fibré.sPhUB f A∆. Pour que cette définition ait un sens, il faut montrer <strong>de</strong>ux choses :(i) Le produit fibré d’un monomorphisme est un monomorphisme.(ii) Si g¥ h¥ et g œ (reps. h œ ) produit fibré <strong>de</strong> g (resp. h) le long <strong>de</strong> f alors g œ ¥ h œ ¥Pour démontrer le (i), considérons le diagramme suivant :T yxsPhgUB f ASupposons que f X x f X y. Par commutativité du carré, on a g X h X x g X h X y. Comme g est unmonomorphisme, on a h X x h X y. Les <strong>de</strong>ux flèches x et y vérifient donc la même propriété universelle :gf X x f X yT h X x h X yxyhsPUB f AgOn a donc bien x y.Montrons maintenant le (ii). Comme g¥h¥, on a θ isomorphisme tel queθU Vg h A6


Par propriété universelle du produit fibré on a ϕ et ψ tels queQh œϕ Vg œP θ 1 UB f AgPg œψ Uh œQ θVB f AhOn remarque qu’il suffit <strong>de</strong> démontrer que ψ est un isomorphisme pour avoir l’équivalence <strong>de</strong> g œ et h œ ,en effet le diagramme voulu est la cellule la plus à gauche du diagramme qui défini ψ. Mais ϕ X ψ vérifiela même propriété universelle que id P :Pg œψid PUQh œ θϕ Vg œP θ 1 UB f AgOn a donc bien ϕ X ψ id P . De façon symétrique ψ X ϕ id Q . jDéfinition 1.10 (Objet <strong>de</strong>s parties) :Soit C une catégorie qui a les produits finis et C un objet <strong>de</strong> C. On appelle objet <strong>de</strong>s parties <strong>de</strong> C, unobjet PC <strong>de</strong> C tel que pour tout objet A <strong>de</strong> C il existe une bijectionHom C ˆA, PCϕ A¨SubˆA Cnaturelle en A.Définition 1.11 (Topos) :Une catégorie C est un topos si :1. Elle a toutes les limites finies .2. Pour tout objet C <strong>de</strong> C, PC existe.En particulier, d’après le théorème (1.7), il suffit qu’elle ait les produits finis et les égalisateurs où unobjet terminal et les produits fibrés.2 Réalisabilité récursiveLe concept à la base <strong>de</strong> la construction du topos effectif est celui <strong>de</strong> réalisabilité récursive, qui traduitle fait que certains nombres vérifient certaines propriétés à base <strong>de</strong> fonctions récursives.Définition 2.1 (Σ) :On note Σ l’ensemble <strong>de</strong>s parties <strong>de</strong> N muni <strong>de</strong>s opérations internes suivantes7


1. A , B ¢ ˜`n, me S n > A et m > B2. A - B ¢ ˜`0, ne S n > A 8 ˜`1, ne S n > B3. A ¨ B ¢ ˜e S si n > A, alors eˆn £ et eˆn > Boù ` , e est une fonction récursive <strong>de</strong> codage <strong>de</strong>s paires (on notera π 1 et π 2 les projections associées), eteˆn est le résultat <strong>de</strong> la fonction récursive d’indice e appliquée à n. On défini aussi les <strong>de</strong>ux constantes1. — ¢ N2. – ¢ gDéfinition 2.2 (Prédicats non standards) :Soit X un ensemble, un prédicat non standard sur X est un élément <strong>de</strong> Σ X . On munit l’ensemble <strong>de</strong>sprédicats non standards <strong>de</strong>s opérations ,, - et ¨ définies point par point. Si ϕ et ψ sont <strong>de</strong>s prédicatsnon standards, on a :1. ˆϕ , ψ ˆx ¢ ϕˆx , ψˆx2. ˆϕ - ψ ˆx ¢ ϕˆx - ψˆx3. ˆϕ ¨ ψ ˆx ¢ ϕˆx ¨ ψˆx4. —ˆx ¢ —5. –ˆx ¢ –On définit un pré-ordre sur Σ X parϕ Ø X ψ si ˆϕ ¨ ψ ˆx x gx>XEnfin on dit qu’un prédicat non standard ϕ est vali<strong>de</strong> si — Ø X ϕ.Définition 2.3 (Pré-algèbre <strong>de</strong> Heyting) :Une catégorie C est une pré-algèbre <strong>de</strong> Heyting si elle a les produits finis, les co-produits finis et estcartésienne close.Lemme 2.4 :La catégorie associée au pré-ordre ˆΣ X , Ø X (i.e. telle qu’il existe un unique morphisme entre ϕ et ψ ssiϕ Ø X ψ) est une pré-algèbre <strong>de</strong> Heyting avec x ( N comme objet terminal, x ( g comme objet initial,, comme produit cartésien, - comme somme cartésienne et ¨ comme exponentielle.Définition 2.5 (Substitution et quantification) :Soient X et Y <strong>de</strong>ux ensembles et f ¢ X Y . On défini f ‡ ¢ Σ Y Σ X , la substitution selon f parcomposition à droite. Cela fait <strong>de</strong> f ‡ un foncteur ˆΣ Y , Ø Y ¨ˆΣ X , Ø X . Il admet un adjoit à droite¦f ¢ ˆΣ X , Ø X ¨ˆΣ Y , Ø Y et un adjoint à gauche §f ¢ ˆΣ X , Ø X ¨ˆΣ Y , Ø YOn notera dans la suite p X ¢ Y X Y la projection canonique, ¦p X sera noté ¦x et §p X sera noté §x.Pour ce qui est <strong>de</strong>s substitutions, si ϕ est un prédicat non standard sur Y X et t ¢ Y Z A X, on noteZϕ x ¢ t¥ le prédicat non standard, sur Y Z, ˆt, p ‡ˆϕ . On retrouve alors les notations habituelles.Enfin pour pouvoir faire <strong>de</strong>s preuves plus facilement, on va introduire un raisonnement syntaxique surles prédicats non standards (voir [Cos74])8


ϕè X ϕ(axiome)Γè X ϕ ϕ, Γ œ è X ∆ œ (ϕ-coupure)Γ, Γ œ è X ∆ œΓè X ∆ (affaiblissement è)Γ, ϕè X ∆Γè X ∆Γ X p Y è XY ∆ X p Y(variables)Γ, ϕè X ∆ˆ, 1 èΓ, ϕ , ψ è X ∆Γ, ψ è ∆Γ, ϕ ,X ψ è ∆ˆ,2 èΓè X ϕ Γè X ψ ˆè ,Γè X ϕ , ψΓ, ϕè X ∆ Γ, ψ è X ∆ ˆ-èΓ, ϕ - ψ è X ∆Γè X ϕΓè X ϕ - ψˆè -1Γè X ψΓè X - - ψˆè -2Γ X p X , ϕè Y X ∆ X p XΓ, §xϕè Y ∆ˆ§èΓè Y Z ϕ x ¢ t¥Γè Y Z ˆ§xϕ X p Zˆè §Γ, ϕ x ¢ t¥è Y Z ∆ˆ¦ èΓ, ˆ¦xϕ X p Z è Y Z ∆Γ X p X è Y X ϕ ˆè ¦Γè Y ¦xϕFig. 1 – Règles du calculDéfinition 2.6 (Calcul <strong>de</strong>s séquents sur les prédicats non standards) :On définit un séquent comme ˜Γ è X ∆ où X est un ensemble, Γ et ∆ sont <strong>de</strong>s ensemble <strong>de</strong> prédicatsnon standards sur X tels que ∆ contienne au plus un élément. On interprète un séquent comme¥ γ Ø X δγ>Γ δ>∆.On définit la classe <strong>de</strong>s séquents vali<strong>de</strong>s comme la plus petite classe close par les règles données à lafigure 1, où on note Γ X f pour ˜γ X f S γ > Γ .Le théorème qui suit indique que ce calcul permet bien <strong>de</strong> faire <strong>de</strong>s démonstrations correctes. On remarquerad’ailleurs que c’est, à quelque aménagements près dus aux substitutions, la logique intuitioniste.On pourra donc démontrer la validité <strong>de</strong>s prédicats non standards par <strong>de</strong>s raisonnements intuitionistes.Théorème 2.7 (Correction du calcul) :Si un séquent est syntaxiquement vali<strong>de</strong> alors son interprétation est vérifiée.∆. La preuve se fait par induction sur les règles utilisées en montrant que si les prémisses sont vali<strong>de</strong>salors la conclusion est vali<strong>de</strong>.La plupart <strong>de</strong>s règles sont une simple application du fait que ˆΣ X , Ø X est une pré-algèbre <strong>de</strong> Heyting.Parexemple ˆè , exprime exactement que , est un produit. La règle ˆ-, est un peu plus compliquée,mais traduit simplement le fait que le produit est distributif sur le co-produit, à isomorphisme près. Larègle (variables), quant à elle, exprime simplement le fait que ˆp Y ‡ est un foncteur.Les règles vraiment intéressantes sont celles <strong>de</strong> la quantification, je démontrerais donc la correction<strong>de</strong>s règles gauches (celle <strong>de</strong>s règles droites étant duale (voire plus simple vu que la formule est seule àdroite)).(§ è Supposons ¤ γ X p X , ϕ è Y X ¦ δ X p X .Comme ¨ est l’exponentiation et , le produit cartésien, on a aussi ϕ Ø Y X ˆ¤ γ X pX ¨ ˆ¦ δ X p X . Pardéfinition, comme les opérateurs sont définis point par point, pour tout f, ϕ X f l ψ X f ˆϕ l ψ X f,pour l > ˜,, - ¨ , et donc ϕ Ø Y X ˆ¤ γ ¨ ¦ δ X pX .Comme §x est l’adjoint à gauche <strong>de</strong> ˆp X ‡, on a §xϕ Ø X ¤ γ ¨ ¦ δ, et donc ¤ γ , §xϕ Ø X aussi.9


ˆ¦ è Supposons maintenant ¤ γ ,ϕ x ¢ t¥ Ø Y Z ¦ δ, ou plus exactement (en explicitant les notations),¥ γ , ϕ Xˆt, p Z Ø Y Z § δMais comme ¦xϕ Ø Y ¦xϕ, on a ˆ¦xϕ X p X Ø Y X ϕ et par fonctorialité <strong>de</strong> ˆt, p Z ‡,ˆ¦xϕ X p X Xˆt, p ZØ ϕ Xˆt, p ZComme , est un produit cartésien, et que p X Xˆt, p Z p Z , on a ¤ γ , ˆ¦xϕ X p Z Ø Y Z ¦ δ. j3 Le topos effectif EFF3.1 DéfinitionDéfinition 3.1 (Σ-ensemble) :Un Σ-ensemble est un ensemble muni d’une relation non standard ¡ telle que1. x ¡ y ¨ y ¡ x (symétrique)2. ˆx ¡ y , y ¡ z ¨ x ¡ z (transitif)sont vali<strong>de</strong>s.On note Ex le prédicat non standard x ¡ x.Définition 3.2 (Morphismes <strong>de</strong> Σ-ensembles, équivalence, composition) :Soient ˆX, ¡ et ˆY, ¡ <strong>de</strong>ux Σ-ensembles. Un morphisme <strong>de</strong> Σ-ensemble est une relation non standardF > Σ XY telle que1. F ˆx, y ¨ ˆEx , Ey (stricte)2. ˆF ˆx, y , x ¡ x œ , y ¡ y œ ¨ F ˆx œ , y œ (relationnelle)3. ˆF ˆx, y , F ˆx, y œ ¨ y ¡ y œ (fonctionnelle)4. Ex ¨ §yF ˆx, y (totale)sont vali<strong>de</strong>s.Soient F, G ¢ ˆX, ¡ ˆY, ¡ , On dit qu’ils sont équivalents si F ˆx, y ¨ Gˆx, y est vali<strong>de</strong>. Onnotera F la classe d’équivalence <strong>de</strong> F .Soient F ¢ ˆX, ¡ ˆY, ¡ et G ¢ ˆY, ¡ ˆZ, ¡ , on pose G X F ¢ §yˆF ˆx, y , Gˆy, z , élément <strong>de</strong>Σ XZ .Lemme 3.3 :Si F et G sont <strong>de</strong>s morphismes <strong>de</strong> Σ-ensemble, si F ˆx, y ¨ Gˆx, y est vali<strong>de</strong> alors Gˆx, y ¨ F ˆx, yaussi. En particulier, monter un sens <strong>de</strong> l’équivalence suffit pour montrer l’équivalence.∆. Voir figure 2. De façon plus compréhensible, supposons Gˆx, y , On a alors, comme G est stricte Ex,donc, comme F est totale, §yF ˆx, y . Soit y œ tel que F ˆx, y œ , par hypothèse, on a alors Gˆx, y œ . Maisalors, comme G est fonctionnelle, y ¡ y œ et commeF est relationnelle, on a bien F ˆx, y . jComme on peut le voir, cette preuve innocente <strong>de</strong>man<strong>de</strong> pour être formalisée un peu d’effort, particulièrementà cause <strong>de</strong> la gestion <strong>de</strong>s variables libres. On se contentera donc dorénavant <strong>de</strong> donner <strong>de</strong>spreuves informelles (intuitionistes).Lemme 3.4 (Propriétés <strong>de</strong> la composition) :La relation non standard F X G est un morphisme <strong>de</strong> Σ-ensembles, <strong>de</strong> plus la composition est compatible10


F relationnelleF ˆx, y œ, y ¡ y œ œ, x ¡ x Ø XYœY F ˆx, y X pYpreuve suivanteF ˆx, y œ , y ¡ y œ œ, Ex Ø XYœY F ˆx, y X pYGˆx, y Ø XY §y œ F ˆx, y œ , y ¡ y œ , Ex§y œ F ˆx, y œ , y ¡ y œ , Ex Ø XY F ˆx, yGˆx, y Ø XY F ˆx, yG stricteGˆx, y Ø XY Ex , EyGˆx, y Ø XY ˆEx X p YGˆx, y Ø XY §y œ F ˆx, y œF totaleEx Ø XY §y œ F ˆx, y œGˆx, y Ø XY §y œ F ˆx, y œpreuve suivanteGˆx, y , §y œˆF ˆx, y œ X p Y Ø XY §y œ F ˆx, y œ , y ¡ y œ , Ex, y ¡ y œ , ExF ˆx, y œ X p Y Ø XY Y F ˆx, œ yœ X p Ypreuve suivanteGˆx, y X p Y œ , F ˆx, y œ X p Y Ø XY Y F ˆx, œ yœ X p Y Gˆx, y X p Y œ , F ˆx, y œ X p Y Ø XY Y y ¡ œ yœ , ExGˆx, y X p Y œ , F ˆx, y œ X p Y Ø XY Y œ F ˆx, yœ , y ¡ y œ , ExGˆx, y X p Y œ , F ˆx, y œ X p Y Ø XY Y œ ˆ§yœ F ˆx, y œ , y ¡ y œ , Ex X p Y œGˆx, y , §y œˆF ˆx, y œ X p Y Ø XY §y œ F ˆx, y œ , y ¡ y œ , ExpreuveGˆx, y X p Y œ , F ˆx, y œ suivanteX p Y Ø XY Y y ¡ œ yœ X p X G stricteGˆx, y Ø XY Ex , EyGˆx, y Ø XY ˆEx X p YGˆx, y X p Y œ Ø XY Y ˆEx œ X p XGˆx, y X p Y œ , F ˆx, y œX p Y Ø XY Y œ y ¡ yœ , ExhypothèseØ XY YF ˆx, y œœ Gˆx, yœG fonctionnelleF ˆx, y œ X p Y Ø XY Y Gˆx, œ yœ X p Y Gˆx, y X p Y œ , Gˆx, y œ X p Y Ø XY Y y ¡ œ yœ X p XGˆx, y X p Y œ , F ˆx, y œX p Y Ø XY Y œ y ¡ yœ X p XFig. 2 – Preuve du lemme11


avec la relation d’équivalence sur les morphismes <strong>de</strong> Σ-ensembles. De plus, pour tout F , ¡ X F F X ¡ sontéquivalent à F .Définition 3.5 (EFF) :Le topos effectif est la catégorie dont les objets sont les Σ-ensembles et les flèches les classes d’équivalence<strong>de</strong> morphismes <strong>de</strong> Σ-ensembles, muni <strong>de</strong> la composition définie en (3.2).3.2 Quelques constructions dans EFFLemme 3.6 (Objet terminal) :Le Σ-ensemble ˜† muni <strong>de</strong> la relation ˆ†, † ( — est terminal dans EFF.∆. La relation définie ici est bien symétrique et transitive, c’est bien donc bien un Σ-ensemble.Soit ˆX, ¡ un Σ-ensemble. Soit F ¢ ˆEx X p X relation non standard sur X ˜† . Cette relation estbien stricte, car Ey est vali<strong>de</strong> et F ˆx, † ¨ Ex est évi<strong>de</strong>mment vali<strong>de</strong>. Elle est relationnelle car Exl’est, et elle ne dépend pas <strong>de</strong> y. Elle est évi<strong>de</strong>mment fonctionnelle vu que l’ensemble d’arrivé n’a qu’uneclasse d’équivalence pour ¡. Et elle est totale car Ex ¨ §yEx se déduit <strong>de</strong> Ex§Ex par la règle ˆè § .Cette formule représente donc une classe <strong>de</strong> morphismes <strong>de</strong> ˆX, ¡ dans ˆ˜† , ¡ .Supposons maintenant qu’on ait f > HomˆˆX, ¡ , ˆ˜† , ¡ représenté par un prédicat F . Montrons queF ˆx, y ¨ Ex. Comme F est strict, F ˆx, y ¨ ˆEx , Ey est vali<strong>de</strong>. Comme ˆEx , Ey ¨ Ex estvali<strong>de</strong> en logique intuitioniste, on en déduit que F x ¨ Ex.D’après le lemme 3.3 on a le résultat voulu, et EFF a bien un objet terminal.jLemme 3.7 (Produits finis) :Le produit <strong>de</strong> ˆX i , ¡ i>I pour I fini est le sigma ensemble Π >IX i muni <strong>de</strong> la relation ¤ i>I x i ¡ x œ i . Pourtout i > I, la projection p i est représentée par Ex i X p Xi .Lemme 3.8 (Égalisateur) :L’égalisateur <strong>de</strong> f (représenté par F ) et g (représenté par G) <strong>de</strong>ux morphismes <strong>de</strong> ˆX, ¡ dans ˆY, ¡est le Σ-ensemble ˆX, où x x œ ¢ ˆ§yF ˆx, y , Gˆx, y , ˆ§y œ F ˆx œ , y œ , Gˆx œ , y œ , x ¡ x œ muni <strong>de</strong>H ˆx, y ¢ E x , x ¡ y.On vient en particulier <strong>de</strong> montrer que EFF a toutes les limites finies.Lemme 3.9 (Produit fibré) :Un carré commutatifˆT, ¡G œˆA, ¡ˆB, G ¡ ˆC, ¡est un produit fibré ssi1. ˆF œˆt, b , F œˆtœ , b , G œˆt, a , G œˆtœ , a ¨ t ¡ t œ2. F ˆa, c , Gˆb, c ¨ §tˆG œˆt, a , F œˆt, bsont vali<strong>de</strong>s.F œFLemme 3.10 (Monomorphismes) :F > HomˆˆX, ¡ , ˆY, ¡ est un monomorphisme ssi F ˆx, y , F ˆx œ , y ¨ x x œ est vali<strong>de</strong>12


∆. D’après le lemme 1.6, c’est un monomorphisme ssiˆX, ¡¡ˆX, ¡¡ˆX, ¡FF ˆY, ¡est un produit fibré. D’après le théorème précé<strong>de</strong>nt, on a donc équivalence avec la validité <strong>de</strong>1. ˆt ¡ b , t œ ¡ b , t ¡ a , t œ ¡ a ¨ t ¡ t œ2. F ˆa, c , F ˆb, c ¨ §tˆt ¡ a , t ¡ bComme ¡ est réflexive est transitive, la première est toujours vali<strong>de</strong> et la <strong>de</strong>uxième est intuitionistementéquivalente à la formule voulue.jLemme 3.11 (Isomorphismes) :F > HomˆˆX, ¡ , ˆY, ¡ est un isomorphisme ssi F sˆy, x ¢ F ˆx, y est fonctionnelle et totale.∆. F s est stricte et relationnelle (ce sont <strong>de</strong>s notions symétriques) donc F s est un morphisme <strong>de</strong> Σ-ensembles.Soit H ¢ F X F s , on a alors H ˆy, y œ §xF ˆx, y , F ˆx, y œ , mais comme F est fonctionnelle, celaimplique y ¡ y œ . De plus comme F s est totale la réciproque est aussi vraie. Donc H ¡. De façonsymétrique F s X F ¡ et F est bien un isomorphisme. jLemme 3.12 (Sous-objets) :Un sous objet <strong>de</strong> ˆX, ¡ peut être représenté par un monomorphisme (non unique) I ¢ ˆX, ˆX, ¡où x y ¢ Ax , Ay , x ¡ y et I ˆx, y ¢ Ax , x ¡ y pour un certain prédicat non standard A strict etrelationnel.∆. Soit F ¢ ˆT, ¡ ˆX, ¡ un monomorphisme. Soit Ax ¢ §yF ˆy, x , elle est stricte et relationnellecar F l’est. Notons ˆX ¡ A le Σ-ensemble défini à partir <strong>de</strong> ˆX, ¡ et A comme précé<strong>de</strong>mment et Ila relation associée. Alors F est un morphisme <strong>de</strong> Σ-ensembles <strong>de</strong> ˆT, ¡ dans ˆX ¡ A dont la classed’équivalence est un isomorphisme.D’après le lemme 3.11, il suffit <strong>de</strong> montrer que F s est fonctionnelle et totale (<strong>de</strong> ˆX ¡ A dans ˆT, ¡ ). Elleest totale car E A x Ex , §yF ˆx, y en particulier E A x ¨ §yF S ˆy, x est vali<strong>de</strong>. Elle est fonctionnellecar F est un monomorphisme, et la formule donnée au lemme 3.10 est exactement celle cherchée.4 Objet <strong>de</strong>s entiers naturelsDéfinition 4.1 (Structure pointée à endomorphisme) :Soit T un topos, ˆA, a, t est une structure pointée à endomorphisme (PE-structure), si A est un objet<strong>de</strong> T , a > Hom T ˆI, A est un élément global, et t > Hom T ˆA, A est un endomorphisme.Un morphisme <strong>de</strong> PE-structures, f ¢ ˆA, a, t ˆA œ , a œ , t œ est f > Hom T ˆA, A œ tel que le diagrammeIa f A t Afa œA œ t œ A œ13


commute.Définition 4.2 (Objet <strong>de</strong>s entiers naturels) :Une objet initial ˆN, 0, S <strong>de</strong> la catégorie <strong>de</strong>s PE-structures est un objet <strong>de</strong>s entiers naturels.Il est d’ailleurs amusant <strong>de</strong> remarquer a quel point cette définition <strong>de</strong>s entiers est proche <strong>de</strong> celle <strong>de</strong>sentiers <strong>de</strong> Church.Lemme 4.3 (Objet <strong>de</strong>s entiers naturels <strong>de</strong> EFF) :Soit N le Σ-ensemble muni <strong>de</strong> x ¡ m ¢ ˜n 9 ˜m . Soit O ¢ I N représenté par F 0ˆn ¢ n 0 etS ¢ N N représenté par F S ˆn, m ¢ n 1 ¡ m. Alors ˆN, 0, S est un objet <strong>de</strong>s entiers naturels dansEFF.∆. Soit ˆˆA ¡ , a, t une PE-structure dans EFF, avec a représentée par F a et t représenté par F t . Ondéfini par récurrence sur n, Gˆ0, x, x œ ¢ x x œ et Gˆn 1, x, x œ §x œœ Gˆn, x, x œœ ,F tˆx œœ , x . G est alorsun prédicat non standard sur N A A. On peut démontrer (par récurrence sur n) que Gˆn, , est unmorphisme <strong>de</strong> Σ-ensembles et qu’elle est relationnelle en n.On définit enfin F f ˆn, x ¢ En , §x œ F aˆx œ , Gˆn, x œ , x . C’est un morphisme <strong>de</strong> Σ-ensembles. De plus,I0 FN S NFaA t Acommute. En effet §nF 0ˆy, n ,F f ˆn, x ¨ F aˆx , c’est a dire §nˆn ¡ 0 ,En , §x œ F aˆx œ ,Gˆn, x œ , x ¨F aˆy, x est vali<strong>de</strong>. Soit n et x œ tels que n ¡ 0 , En , F aˆx œ , Gˆn, x œ , x . Comme G est relationnelle enn, on a Gˆ0, x œ , x c’est à dire x ¡ x œ . Comme F a est relationnelle, on a donc F aˆx , ce qui est le résultatvoulu. L’implication réciproque est vérifiée d’après le lemme 3.3.D’autre part §x œ F f ˆn, x œ , F tˆx œ , x ¨ §mF S ˆn, m , F f ˆm, x . En effet, soit x œ tel que F f ˆn, x œ ,F tˆx œ , x c’est à dire En,§x œœˆF aˆx œœ ,Gˆn, x œœ , x ,F tˆx œ , x . Soit x œœ tel que En,F aˆx œœ ,Gˆn, x œœ , x œ ,F tˆx œ , x , en particulier on a alors Gˆn 1, x œœ , x et donc F f ˆn 1, x <strong>de</strong> plus F S ˆn, n 1 . Commel’implication réciproque est vérifiée d’après le lemme 3.3, le diagramme est bien commutatif.Avant <strong>de</strong> continuer cette preuve, je voudrais signaler un point que je n’ai pas réussi à résoudre. Si onconsidère le Σ-ensemble N muni <strong>de</strong> la relation x y ¢ — si x y, – sinon, j’ai l’impression que la preuve<strong>de</strong> la commutativité du diagramme marche <strong>de</strong> même, pourtant on peut démontrer que tout morphisme<strong>de</strong> ˆN, dans ˆN, ¡ se factorise à travers I, i.e. est constant, et donc la portion <strong>de</strong> droite du diagrammene peut commuter, car n ¡ n 1 n’est pas vali<strong>de</strong>...14


Références[BW85] M. Barr and C. Wells. Toposes, Triples and Theories. Springer-Verlag, 1985.[Cos74] M. Coste. Logique du premier ordre dans les topos élémetaires. Séminaire J. Bénabou, 1973-1974.[HJP80] J.M.E. Hyland, P.T. Johnstone, and A.M. Pitts. Tripos theory. Mathematical Proceedings ofthe Cambridge Philosophical Society, 88 :205–232, 1980.[Hyl82]J.M.E Hyland. The effective topos. In The L.E.J. Brouwer Centenary Symposium, volume110 of Studies in Logic, pages 165–216. North Holland Publishing Company, 1982.15


Neuvième partieArticle publié à CompilerConstruction en 2010222


Validating Register Allocation and SpillingSilvain Ri<strong>de</strong>au 1 and Xavier Leroy 21 École Normale Supérieure, 45 rue d’Ulm, 75005 Paris, Francesilvain.ri<strong>de</strong>au@ens.fr2 INRIA Paris-Rocquencourt, BP 105, 78153 Le Chesnay, Francexavier.leroy@inria.frAbstract. Following the translation validation approach to high-assurancecompilation, we <strong>de</strong>scribe a new algorithm for validating a posteriori theresults of a run of register allocation. The algorithm is based on backwarddataflow inference of equations between variables, registers and stack locations,and can cope with sophisticated forms of spilling and live rangesplitting, as well as many architectural irregularities such as overlappingregisters. The soundness of the algorithm was mechanically proved usingthe Coq proof assistant.1 IntroductionTo generate fast and compact machine co<strong>de</strong>, it is crucial to make effective useof the limited number of registers provi<strong>de</strong>d by hardware architectures. Registerallocation and its accompanying co<strong>de</strong> transformations (spilling, reloading, coalescing,live range splitting, rematerialization, etc) therefore play a prominentrole in optimizing compilers.As in the case of any advanced compiler pass, mistakes sometimes happen inthe <strong>de</strong>sign or implementation of register allocators, possibly causing incorrectmachine co<strong>de</strong> to be generated from a correct source program. Such compilerintroducedbugs are uncommon but especially difficult to exhibit and track down.In the context of safety-critical software, they can also invalidate all the safetyguarantees obtained by formal verification of the source co<strong>de</strong>, which is a growingconcern in the formal methods world.There exist two major approaches to rule out incorrect compilations. Compilerverification proves, once and for all, the correctness of a compiler or compilationpass, preferably using mechanical assistance (proof assistants) to conduct theproof. Translation validation checks a posteriori the correctness of one run ofcompilation: a validator, conceptually distinct from the compiler itself, is giventhe intermediate co<strong>de</strong> before and after a compilation pass, and verifies that theybehave i<strong>de</strong>ntically using static analysis or (specialized) theorem proving technology[1,2,3,4]. For additional confi<strong>de</strong>nce, the validator can itself be mechanicallyverified once and for all; this provi<strong>de</strong>s soundness guarantees as strong as compilerverification and reduces the amount of compiler co<strong>de</strong> that needs to be provedcorrect, at the expense of weaker completeness guarantees [5].R. Gupta (Ed.): CC 2010, LNCS 6011, pp. 224–243, 2010.c○ Springer-Verlag Berlin Hei<strong>de</strong>lberg 2010


Validating Register Allocation and Spilling 225This paper <strong>de</strong>scribes a new algorithm to validate (in one pass) register allocationplus splitting, reloading, coalescing, live range splitting, <strong>de</strong>ad co<strong>de</strong> elimination,and enforcement of calling conventions and architectural constraints onregisters. This algorithm is based on a backward dataflow analysis that refinesstandard liveness analysis. It comes accompanied with a machine-checked proofof soundness, conducted using the Coq proof assistant [6,7]. Our algorithm improveson an earlier algorithm by Huang, Chil<strong>de</strong>rs and Soffa [8] because it ismechanically proved and because it can <strong>de</strong>al with overlapping registers. (Seesection 6 for a discussion.)This work is part of the CompCert project, which aims at formally verifyinga realistic optimizing compiler for the C language, usable in the context of criticalembed<strong>de</strong>d systems [9]. Currently, CompCert follows the compiler verificationapproach for its register allocation and spilling/reloading passes. While the verifiedregister allocator is a state-of-the-art George-Appel graph coloring allocator[10], the spilling strategy that was proved correct is very naive: it inserts spillsafter every <strong>de</strong>finition and reloads before every use of a temporary that couldnot be allocated to a register, reserving some registers specially for this purpose[11, section 11]. This strategy is a<strong>de</strong>quate for a register-rich target architecturesuch as the PowerPC, but more sophisticated strategies are nee<strong>de</strong>d to retargetCompCert to a register-poor architecture like x86. Proving those sophisticatedstrategies is a daunting task. The verified validation algorithm presented in thispaper offers an attractive alternative, reducing the amount of co<strong>de</strong> that needsto be proved and enabling the use of advanced spilling strategies. Moreover, wecan experiment with various register allocation algorithms and spilling strategieswithout having to re-do any proofs.The remain<strong>de</strong>r of this paper is organized as follows. Section 2 outlines thesource and target languages for the untrusted register allocator and characterizesthe co<strong>de</strong> transformations it is allowed to make. Section 3 <strong>de</strong>scribes our validationalgorithm. Section 4 sketches its proof of soundness. Section 5 discussesexperience gained with a prototype implementation. Related work is reviewedin section 6, followed by concluding remarks in section 7.2 A Bird’s Eye View of Register Allocation and Spilling2.1 Source LanguageAs input for register allocation, we consi<strong>de</strong>r the RTL intermediate languageof the CompCert compiler [11, section 6]. This is a standard Register TransferLanguage where control is represented by a control flow graph (CFG). Each no<strong>de</strong>of a CFG carries an abstract instruction, corresponding roughly to one machineinstruction but operating over variables x (also called temporaries) instead ofhardware registers. Every function has an unlimited supply of variables andtheir values are preserved across function calls. Each variable has a machinetype comprising a register class (typically, int or float) and a bit size (8, 16,32, 64).


226 S. Ri<strong>de</strong>au and X. LeroyControl-flow graphs:g ::= p ↦→ I finite mapCFG no<strong>de</strong>s:p, s ∈ NRTL instructions:I ::= nop(s) no operation| op(op,⃗x, x d ,s) arithmetic operation| load(κ, mo<strong>de</strong>,⃗x, x d ,s) memory load| store(κ, mo<strong>de</strong>,⃗x, x s ,s) memory store| call(τ,id,⃗x, x d ,s) function call| cond(cond ,⃗x, s true ,s false ) conditional branch| return(x) function returnEach RTL instruction carries the list of its successors s in the CFG. For example,nop(s) performs no computation and continues at no<strong>de</strong> s, like an unconditionalbranch. op(op,⃗x, x d ,s) applies the arithmetic operation op (taken from amachine-<strong>de</strong>pen<strong>de</strong>nt set of operators) to the values of variables ⃗x, stores the resultin variable x d , and continues at s. load(κ, mo<strong>de</strong>,⃗x, x d ,s) loads a memory quantityκ (e.g. “8-byte signed integer” or “64-bit float”) from an address <strong>de</strong>terminedby applying addressing mo<strong>de</strong> mo<strong>de</strong> to the values of registers ⃗x, stores the resultin x d , and continues at s. store(κ, mo<strong>de</strong>,⃗x, x s ,s) is similar, except that thevalue of x s is stored at the computed address instead. cond(cond ,⃗x, s true ,s false )evaluates the boolean condition cond over the values of ⃗x and continues at s trueor s false <strong>de</strong>pending on the result. return(x) terminates the current function, returningthe value of x as the result. Finally, call(τ,id,⃗x, x d ,s) calls the functionnamed id, giving it the values of ⃗x as arguments and storing the returned resultin x d .Theτ parameter is the type signature of the call, specifying the numberand types of arguments and results: this is used during register allocation to <strong>de</strong>terminethe calling conventions for the call. The full RTL language, <strong>de</strong>scribed in[11], supports additional forms of function calls such as calls through a functionpointer and tail calls, which we omit here for simplicity.RTL functions:f ::= {name = id; typesig = τ; params = ⃗x;co<strong>de</strong> = g; entrypoint = p}An RTL function is <strong>de</strong>fined by its name, its type signature, the list of parametervariables, a CFG, and a no<strong>de</strong> in the CFG that corresponds to the function entrypoint.2.2 Target LanguageThe purpose of register allocation is to transform RTL functions into LTL functions.LTL stands for “Location Transfer Language” and is a minor variation onRTL where variables are replaced by locations. A location is either a machineregister r or a slot S(δ, n) in the activation record of the function; δ is the byteoffset and n thebytesizeoftheslot.


Validating Register Allocation and Spilling 227Locations:l ::= rmachine register| S(δ, n) stack slotControl-flow graphs:g ′ ::= p ↦→ I ′LTL instructions:I ′ ::= nop(s)no operation| op(op, ⃗ l, l, s) arithmetic operation| load(κ, mo<strong>de</strong>, ⃗ l, l d ,s) memory load| store(κ, mo<strong>de</strong>, ⃗ l, l s ,s) memory store| call(τ,id,s) function call| cond(cond , ⃗ l, s true ,s false ) conditional branch| return function returnLTL functions:f ′ ::= {name = id; typesig = τ;co<strong>de</strong> = g ′ ; entrypoint = p}Most LTL instructions are i<strong>de</strong>ntical to RTL instructions modulo the replacementof variables x by locations l. However, function calls and returns are treateddifferently: the locations of arguments and results are not marked in the calland return instructions nor in the params field of functions, but are implicitly<strong>de</strong>termined by the type signature of the call or the function, following the callingconventions of the target platform. We mo<strong>de</strong>l calling conventions by the followingthree functions:– arguments(τ): the list of locations for the arguments of a call to a functionwith signature τ. The LTL co<strong>de</strong> is responsible for moving the values ofthe arguments to these locations (registers or stack slots) before the callinstruction.– parameters(τ): the list of locations for the parameters of a function withsignature τ. On entrance, the LTL function expects to find the values of itsarguments at these locations, and is responsible for moving them to other locationsif <strong>de</strong>sired. parameters(τ) is usually i<strong>de</strong>ntical to arguments(τ) modulorelocation of stack slot offsets.– result(τ): the location used to pass the return value for a function withsignature τ.2.3 The Effect of Register Allocation on the Co<strong>de</strong>The essence of register allocation is to replace variables by the locations thatwere assigned to it in each instruction of the source RTL co<strong>de</strong>, leaving the rest ofthe instruction unchanged. For example, the RTL instruction op(add,x.y,z,s)can become the LTL instruction op(add, EAX.EBX, EAX,s) if the allocator <strong>de</strong>ci<strong>de</strong>dto assign x and z to register EAX and y to register EBX at this program point.However, this is not the only effect of register allocation on the co<strong>de</strong>: it can alsoinsert or <strong>de</strong>lete some instructions in the following cases.


228 S. Ri<strong>de</strong>au and X. Leroy– Spilling: a move from a register r to a stack slot is inserted at some pointafter an instruction that assigns r, to save the result value on the stack andfree the register r for other uses.– Reloading: symmetrically, a move from a stack slot to a register is insertedat some point before a use of r.– Coalescing: some variable copies op(move,x,y,s) present in the input RTLco<strong>de</strong> may disappear if the register allocator assigned the same location to xand y. We mo<strong>de</strong>l this <strong>de</strong>letion as replacing the op(move,...) instruction bya nop instruction.– Live range splitting: if the allocator <strong>de</strong>ci<strong>de</strong>d to split a live range of avariable x into several variables x 1 ,...,x n connected by move instructions,some of these moves may remain in the generated LTL co<strong>de</strong> as newly insertedinstructions.– Enforcement of calling conventions: additional moves may be insertedin the generated LTL co<strong>de</strong> to <strong>de</strong>posit arguments to function calls and returnvalues of functions in the locations dictated by the calling conventions, andfetch function parameters and return values from these locations.– Enforcement of architectural constraints: the register allocator canalso introduce move instructions to work around irregularities of the targetarchitecture: two-address instructions, special registers, etc.– Dead co<strong>de</strong> elimination: the register allocator can also eliminate si<strong>de</strong>effect-free instructions such as op and load whose result variables are neverused. Dead co<strong>de</strong> elimination can be performed in a separate pass prior toregister allocation, but the availability of liveness information during registerallocation makes it convenient to perform <strong>de</strong>ad co<strong>de</strong> elimination at the sametime.The validation algorithm we present next is able to cope with all these modificationsof the co<strong>de</strong> performed during register allocation. Other co<strong>de</strong> transformationsthat sometimes accompany register allocation, such as rematerialization,are discussed in section 7.3 The Validation AlgorithmLike intraprocedural register allocation itself, the validator proceeds function perfunction. It takes as input an RTL function f, the corresponding LTL functionf ′ produced by the untrusted register allocator, and a partial map ϕ from theCFG no<strong>de</strong>s of f ′ to those of f.The purpose of ϕ is to connect the computational instructions of the LTLco<strong>de</strong> back to the corresponding instructions in the original RTL. Since <strong>de</strong>letedinstructions are not actually removed but simply turned into LTL nop instructions,ϕ also maps these nop instructions back to the corresponding <strong>de</strong>leted RTLinstruction. Finally, LTL move instructions that were inserted during register allocationare not in the domain of ϕ, indicating that they are new. (All these


Validating Register Allocation and Spilling 229properties of ϕ are checked during validation.) We assume that the register allocatorhas been lightly instrumented to produce this mapping ϕ and give it asadditional argument to our validator.The validation algorithm proceeds in two steps:– A set of structural checks (section 3.1) verifies that the computational instructionsin the two CFGs match properly, that their successors agree, andthat the ϕ mapping is consistent.– A backward dataflow analysis (section 3.2) establishes that the same valuesflowinbothCFGs.The combination of these two steps suffices to ensure that the two functions fand f ′ behave i<strong>de</strong>ntically at run-time (as proved in section 4).3.1 Structural ChecksThe main structural check is performed on each pair of RTL instructions andLTL instructions that match according to the ϕ mapping. For each mappingp ′ ↦→ p in ϕ, the validator calls the following check_instr predicate:check instr(f,f ′ ,ϕ,p,p ′ )=let I = f.co<strong>de</strong>(p) andI ′ = f ′ .co<strong>de</strong>(p ′ )inlet s 1 ,...,s n be the successors of Iand s ′ 1 ,...,s′ m be the successors of I′ inI and I ′ are structurally similarand path(f ′ ,ϕ,s i ,s ′ i )fori =1,...,nAn RTL instruction I is structurally similar to an LTL instruction I ′ if they arei<strong>de</strong>ntical modulo changes of successors and replacement of registers by locations,or if I is an op or load and I is a nop (<strong>de</strong>ad co<strong>de</strong> elimination). Table 1 gives amore precise <strong>de</strong>finition. The ∼ relation (pronounced “agree”) between a variablex and a location l means that x and l agree in register class and in size. Forexample, a variable of class int and size 32 bits agrees with the x86 register EAXTable 1. Structural similarity between RTL and LTL instructionsInstruction I Instruction I ′ Conditionnop(s) nop(s ′ )op(op,⃗x, x, s) op(op, ⃗ l, l, s ′ ) if ⃗x ∼ ⃗ l and x ∼ lop(op,⃗x, x, s) nop(s ′ )load(κ, mo<strong>de</strong>,⃗x, x, s) load(κ, mo<strong>de</strong>, ⃗ l, l, s ′ ) if ⃗x ∼ ⃗ l and x ∼ lload(κ, mo<strong>de</strong>,⃗x, x, s) nop(s ′ )store(κ, mo<strong>de</strong>,⃗x, x, s) store(κ, mo<strong>de</strong>, ⃗ l, l, s ′ ) if ⃗x ∼ ⃗ l and x ∼ lcall(τ,id,⃗x, x, s) call(τ,id)cond(cond ,⃗x, s 1 ,s 2 ) cond(cond , ⃗ l, s ′ 1,s ′ 2) if ⃗x ∼ ⃗ lreturn(x)return


230 S. Ri<strong>de</strong>au and X. Leroyand the stack slot S(0, 4), but not with the register AX (wrong size) nor with theregister XMM0 (wrong class) nor with the stack slot S(0, 8) (wrong size).Besi<strong>de</strong>s structural similarity, check_instr also verifies the consistency of thesuccessors of the two instructions I and I ′ .Naively,ifϕ maps the program pointof I ′ to the program point of I, one could expect that the i-th successor of I ′ ismapped to the i-th successor of I. In the example below, this is the case for theleft successors of the cond instructions.Icondϕcond I ′oploadopmove/∈ Dom(ϕ)ϕϕmove/∈ Dom(ϕ)loadThis is not always the case because of the fresh move instructions that can beinserted during register allocation. However, there must exist a (possibly empty)path from the i-th successor of I ′ to a CFG no<strong>de</strong> that is mapped to the i-thsuccessor of I. This path must consist of move instructions that are not in thedomain of ϕ. (See example above, right successors of the cond instructions.) Thiscondition is checked by the auxiliary predicate path:path(f ′ ,ϕ,p,p ′ )=false if the no<strong>de</strong> p ′ was previously visited;true if ϕ(p ′ )=p;path(f ′ ,ϕ,p,s ′ )ifp ′ /∈ Dom(ϕ) andf ′ .co<strong>de</strong>(p ′ )=op(move, , ,s ′ );false, otherwise.Besi<strong>de</strong>s calling check_instr on each pair (p, p ′ ) of matching program points,the structural check pass also verifies that the two functions f,f ′ agree in nameand type signature, and that there exists a valid path (in the sense above) fromthe entry point of f ′ to a point that maps to the entry point of f. (Typically,this path corresponds to move instructions that shuffle the parameters of thefunction.)check structure(f,f ′ ,ϕ)=f.name = f ′ .name and f.typesig = f ′ .typesigand path(f ′ ,ϕ,f.entrypoint,f ′ .entrypoint)and for each p, p ′ such that ϕ(p) =p ′ ,check instr(f,f ′ ,ϕ,p,p ′ )There is one last family of structural checks that we omitted here: enforcementof architectural constraints on the uses of locations. In the case of a RISC loadstorearchitecture, for instance, argument and result locations must be hardwareregisters for all instructions except move operations, for which one of the source


Validating Register Allocation and Spilling 231and <strong>de</strong>stination can be a stack slot, but not both. CISC architectures like thex86 tolerate stack slots as arguments or results of some operations, but imposeother constraints such as the result location being i<strong>de</strong>ntical to the first argumentlocation in the case of two-address instructions. These checks can be performe<strong>de</strong>ither during validation or as part of a later compiler pass; we omit them forsimplicity.3.2 Dataflow AnalysisTo show that the original RTL function f and the register-allocated LTL functionf ′ compute the same results and have the same effects on memory, we use adataflow analysis that associates to each program point p ′ of f ′ asetE(p ′ )ofequations between variables and locations:E(p ′ )={x 1 = l 1 ; ...; x n = l n }The semantic meaning of these equations is that in every execution of the co<strong>de</strong>,the value of x i at point ϕ(p ′ )inf is equal to the value of l i at point p ′ in f ′ .There are two ways to build and exploit these sets of instructions: the forwardway and the backward way. For concreteness, assume that we have structurallysimilarop instructions at points p ′ in f ′ and p = ϕ(p ′ )inf:f.co<strong>de</strong>(p) =op(op,⃗x, x, s) f ′ .co<strong>de</strong>(p ′ )=op(op, ⃗ l, l, s ′ )These instructions use ⃗x and ⃗ l and <strong>de</strong>fine x and l, respectively.In the forward approach, we assume given a set E of variable-location equationsthat hold “before” points p, p ′ . We can then check that {⃗x = ⃗ l}⊆E. Ifso, we know that both op instructions are applied to the same argument values,and since the operator op is the same in both instructions, they will computethe same result value and store it in x and l. To obtain the equations that hold“after” these instructions, we remove from E all equations invalidated by theparallel assignment to x and l (see below for a discussion), then add the equationx = l.In the backward approach, we are given a set E of equations that must hold“after” points p, p ′ for the rest of the executions of f,f ′ to produce i<strong>de</strong>nticalresults and effects. We first check that the assignment to x and l performed bythe two op instructions does not ren<strong>de</strong>r unsatisfiable any of the equations inE. If this check succeeds, we can remove the equation x = l from E, since itis being satisfied by the parallel execution of the two op instructions, then addthe equations {⃗x = ⃗ l}, since these are necessary for the two op instructions toproduce the same result value. This gives us the set of equations that must hold“before” points p, p ′ .In this work, we adopt the backward approach, as it tends to produce smallersets of equations than the forward approach, and therefore runs faster. (To buildan intuition, consi<strong>de</strong>r a long, straight-line, single-assignment sequence of instructions:the forward approach produces sets whose cardinal grows linearly in thenumber of instructions, while the backward approach produces sets whose cardinalis only proportional to the length of the live ranges.)


232 S. Ri<strong>de</strong>au and X. LeroyUnsatisfiability and Overlap. We mentioned the need to check that assigningin parallel to x and l does not ren<strong>de</strong>r unsatisfiable any equation in a set E.An example of this situation is E = {y = l} where x ≠ y. The LTL-si<strong>de</strong> opinstruction overwrites l with a statically-unknown value, while the RTL-si<strong>de</strong> opinstruction leaves y unchanged. Therefore, there is no way to statically ensurethat y = l after executing these two instructions. In register allocation terms,this situation typically occurs if the allocator wrongly assigned l to both x andy, <strong>de</strong>spitex and y being simultaneously live and not being copies of one another.The <strong>de</strong>termination of unsatisfiable equations is ma<strong>de</strong> more complicated by thefact that LTL locations can overlap, i.e. share some bits of storage. Two overlappinglocations contain a priori different values, yet assigning to one changes thevalue of the other. Overlap naturally occurs with stack slots: for instance, theslots S(0, 8) (eight bytes at offset 0) and S(4, 4) (four bytes at offset 4) clearlyoverlap. Some processor architectures also exhibit overlap between registers. Forexample, on the x86 architecture, the 64-bit register RAX contains a 32-bit subregisterEAX, a 16-bit sub-register AX, and two 8-bit sub-registers AL and AH. Allthese registers overlap pairwise except AL and AH. Insummary,fortwolocationsl 1 and l 2 there are three mutually-exclusive possibilities:– Equality (written l 1 = l 2 ): both locations always contain the same value.– Disjointness (written l 1 ⊥ l 2 ): assigning to one location does not change thevalue of the other.– Partial overlap (written l 1 # l 2 ): the values of the locations are a prioridifferent, yet assigning to one affects the value of the other.For stack slots, we have the following <strong>de</strong>finitions:S(δ 1 ,n 1 )=S(δ 2 ,n 2 ) ⇐⇒ δ 1 = δ 2 ∧ n 1 = n 2S(δ 1 ,n 1 ) ⊥ S(δ 2 ,n 2 ) ⇐⇒ [δ 1 ,δ 1 + n 1 ) ∩ [δ 2 ,δ 2 + n 2 )=∅For registers, the precise <strong>de</strong>finitions of ⊥ <strong>de</strong>pends on the target architecture.Armed with these notions of overlap and disjointness, we can formally <strong>de</strong>finethe compatibility between a pair x, l of <strong>de</strong>stinations and a set of equations E,written (x, l) ⊥ E:(x, l) ⊥ E <strong>de</strong>f= ∀(x ′ = l ′ ) ∈ E, (x ′ = x ∧ l ′ = l) ∨ (x ′ ≠ x ∧ l ′ ⊥ l)Note that if (x, l) ⊥ E holds, assigning in parallel the same value to x and l willsatisfy the equation x = l and preserve the satisfiability of all other equationsappearing in E. (See lemma 2 in section 4.)The Transfer Function. In preparation for a backward dataflow analysis,we now <strong>de</strong>fine the transfer function transfer(f,f ′ ,ϕ,p ′ ,E) that computes theset E ′ of equations that must hold “before” program point p ′ in or<strong>de</strong>r for theequations E to hold “after” point p ′ . Here, E and E ′ range over sets of equationsplus the symbolic constant ⊤ <strong>de</strong>noting inconsistency, or in other words the factthat the analysis failed to validate the flow of data.


Validating Register Allocation and Spilling 233transfer(f,f ′ ,ϕ,p ′ ,E)=if E = ⊤ then ⊤ (1)else if ϕ(p ′ )=p then:if f.co<strong>de</strong>(p) =nop( )andf ′ .co<strong>de</strong>(p ′ )=nop( ): (2)Eif f.co<strong>de</strong>(p) =op(move,x s ,x d , )andf ′ .co<strong>de</strong>(p ′ )=nop( ): (3)E[x d ← x s ]if f.co<strong>de</strong>(p) =op( ,⃗x, x, )orload( , ,⃗x, x, )andf ′ .co<strong>de</strong>(p ′ )=nop( ): (4)if (x = ) ∈ E then ⊤ else Eif f.co<strong>de</strong>(p) =op( ,⃗x, x, )andf ′ .co<strong>de</strong>(p ′ )=op( , ⃗ l, l, ) (5)or f.co<strong>de</strong>(p) =load( , ,⃗x, x, )andf ′ .co<strong>de</strong>(p ′ )=load( , , ⃗ l, l, ):if (x, l) ⊥ E then (E \{x = l}) ∪{⃗x = ⃗ l} else ⊤if f.co<strong>de</strong>(p) =store( , ,⃗x, x, )andf ′ .co<strong>de</strong>(p ′ )=store( , , ⃗ l, l, ): (6)E ∪{x = l}∪{⃗x = ⃗ l}if f.co<strong>de</strong>(p) =call( , ,⃗x, x, )andf ′ .co<strong>de</strong>(p ′ )=call(τ, ): (7)if (x, result(τ)) ⊥ E and E does not mention caller-save locationsthen (E \{x = result(τ)}) ∪{⃗x = arguments(τ)}else ⊤if f.co<strong>de</strong>(p) =cond( ,⃗x, , )andf ′ .co<strong>de</strong>(p ′ )=cond( , ⃗ l, , ): (8)E ∪{⃗x = ⃗ l}if f.co<strong>de</strong>(p) =return(x) andf ′ .co<strong>de</strong>(p ′ )=return: (9){x = result(f ′ .typesig)}else if p ′ /∈ Dom(ϕ) then:if f ′ .co<strong>de</strong>(p ′ )=op(move,l s ,l d , ): (10)E[l d ← l s ]Fig. 1. The transfer function for backward dataflow analysisThe transfer function is <strong>de</strong>fined in figure 1. We now explain its various cases.First, inconsistency propagates up, therefore E ′ = ⊤ if E = ⊤ (case 1). Then,we discuss whether the instruction at p ′ in f ′ is mapped to a structurally-similarinstruction at p in f (i.e. ϕ(p ′ )=p) or is new (i.e. p ′ /∈ Dom(ϕ)).If ϕ(p ′ )=p, we examine the shape of the two similar instructions. For instructionsthat perform no <strong>de</strong>finitions, such as store and cond, we simply ad<strong>de</strong>quations {x i = l i } to E, wherex 1 ,...,x n are the uses of the RTL instructionand l 1 ,...,l n those of the LTL instruction (cases 6 and 8). These equationsmust be satisfied “before” for the two instructions to behave the same.For instructions that <strong>de</strong>fine a variable x or a location l, suchasop and load,we first check compatibility between (x, l) andE, and return ⊤ if false; for inthis case there is no way to ensure that the equations E will be satisfied afterthe assignments to x and l. Otherwise, we remove the equation x = l becausethe execution of the two instructions will satisfy it, then add equations {x i = l i }beforetheusesasinthecaseofstore or cond instructions.The cases of call and return instructions are similar, except that the usesand <strong>de</strong>fs of these LTL instructions are not marked in the instructions (as in RTL),but are implicitly <strong>de</strong>termined from a type signature. Therefore, the uses and <strong>de</strong>fsof an LTL call(τ,...) are respectively arguments(τ) andresult(τ) (case7),


234 S. Ri<strong>de</strong>au and X. Leroyand the uses of an LTL return are {result(f ′ .typesig)} (case 9). Moreover, notall registers and stack slots are preserved across an LTL function call, but onlythose marked as callee-save by the application binary interface used. The callcase therefore returns ⊤ if the set E of equations “after” contains any equationx = l where l is caller-save: since the value of l after the call is unpredictable,this equation cannot be satisfied.Two cases remain that correspond to RTL instructions that were eliminated(turned into nop) during register allocation. Case 3 corresponds to one step ofcoalescing: a move instruction from x s to x d was eliminated because x s and x dwere assigned the same location. In this case, any equation x d = l holds “after”provi<strong>de</strong>d that x s = l holds “before”; and any equation x = l with x ≠ x d holdsafter if only if it holds before. Therefore, the set E ′ of equations “before” isE[x d ← x s ]<strong>de</strong>f= {(x s = l) | (x d = l) ∈ E}∪{(x = l) | (x = l) ∈ E ∧ x ≠ x d }Case 4 corresponds to <strong>de</strong>ad co<strong>de</strong> elimination: an op or load instruction wasremoved because its <strong>de</strong>stination variable x is not used later. We check that thisis the case by making sure that no equation x = l for some l occurs in E,returning E if so and ⊤ if not.Finally, let us consi<strong>de</strong>r the case p ′ /∈ Dom(ϕ), indicating that the instructionat p ′ was inserted during register allocation. By our assumptions on what anallocator is allowed to do, this new LTL instruction must be a move (case 10).Let l s be its source and l d its <strong>de</strong>stination. By a similar reasoning as in case 3, anequation x = l d is satisfied after the move if x = l s is satisfied before. Moreover,the move preserves satisfiability of any equation x = l such that l ⊥ l d . However,equations x = l where l # l d are not satisfiable because of overlap. The set E ′of equations before point p ′ is, therefore:E[l d ← l s ]=⊤ if there exists (x = l) ∈ E such that l # l dE[l d ← l s ]={(x = l s ) | (x = l d ) ∈ E}∪{(x = l) | (x = l) ∈ E ∧ l ⊥ l d }otherwiseThe Dataflow Analysis and Its Uses. Armed with the transfer function offigure 1, we set up backward dataflow equations of the formE(p ′ )= ⋃ {transfer(f,f ′ ,ϕ,s ′ ,E(s ′ ) | s ′ successor of p ′ in f ′ }The unknowns are E(p ′ ), the set of equations that must hold after each programpoint p ′ of the transformed function f ′ .Byconventionon⊤, wetake⊤∪E =E∪⊤ = ⊤. We then solve those equations by standard fixpoint iteration, startingwith E(p ′ )=∅ for all points p ′ . (In our case, we reused a generic implementationof Kildall’s algorithm provi<strong>de</strong>d by the CompCert compiler.)Interestingly, this dataflow analysis generalizes liveness analysis, in the followingsense: if {x 1 = l 1 ; ...; x n = l n } are the equations “after” inferred at aprogram point p ′ mapped to p by ϕ, then the first projection {x 1 ,...,x n } isthe set of variables live in the original function f after point p and the second


Validating Register Allocation and Spilling 235projection {l 1 ,...,l n } is the set of locations live in the transformed function f ′after point p ′ .The validator then consi<strong>de</strong>rs the set E 0 of equations “before ” the functionentry point:E 0<strong>de</strong>f= transfer(f,f ′ ,ϕ,f ′ .entrypoint,E(f ′ .entrypoint))If E 0 = ⊤, an unprovable equation was encountered at some reachable instruction;validation therefore fails. Otherwise, we need to make sure that the equationsin E 0 always hold. The only variable-location equations that hold withcertainty are those between the RTL function parameters and the correspondingLTL locations:E params<strong>de</strong>f= {f.params = parameters(f ′ .typesig)}The validator could, therefore, check that E 0 ⊆ E params and signal an errorotherwise. However, this check is too strong for C programs: it amounts to imposingJava’s “<strong>de</strong>finite assignment” rule. In<strong>de</strong>ed, E 0 ⊆ E params implies that allvariables live at the beginning of the RTL function are parameters of this function.This is not always the case in RTL co<strong>de</strong> generated from valid C functionssuch as:int f(int x) {int y;if (x != 0) y = 100 / x;if (x != 0) return y; else return -1;}Here, the local variable y is live at the beginning of f, yet the function is semanticallywell-<strong>de</strong>fined. Performed on the corresponding RTL co<strong>de</strong> and a correct LTLregister allocation of this co<strong>de</strong>, the dataflow analysis of our validator producesan E 0 containing the equation y = l for some l. (This equation arises from theuse of y in the “then” branch of the second “if”, combined with the lack of a<strong>de</strong>finition of y in the “else” branch of the first “if”.)How, then, can we avoid rejecting such correct co<strong>de</strong>s at validation time? Wetake advantage of two very reasonable assumptions:1. The semantics of RTL, like that of C, states that a program has un<strong>de</strong>finedbehavior if at run-time it uses the value of an un<strong>de</strong>fined variable.2. When establishing the correctness of a run of register allocation via validation,we are only interested in RTL programs that have well-<strong>de</strong>fined behavior.For source programs with un<strong>de</strong>fined behaviors, the register allocator canproduce arbitrary co<strong>de</strong>. (Most compilers take this “garbage in, garbage out”view of optimization.)Now, an equation x = l at a program point where x is guaranteed to beuninitialized can safely be consi<strong>de</strong>red as always satisfied: since the RTL programhas well-<strong>de</strong>fined semantics, it is not going to use the value of x before <strong>de</strong>fining


236 S. Ri<strong>de</strong>au and X. Leroyit, therefore the actual value of x does not matter, and we might just as wellassume that it matches the value of l in the LTL co<strong>de</strong>. The check performed bythe validator on the initial equations E 0 is, therefore,E 0 ∩ f.params ⊆ E paramswhere the intersection E ∩ X between a set of equations E and a set of RTLvariables X is <strong>de</strong>fined asE ∩ X <strong>de</strong>f= {(x = l) | (x = l) ∈ E ∧ x ∈ X}3.3 The Validation AlgorithmCombining the <strong>de</strong>finitions of sections 3.1 and 3.2, we obtain the main validationfunction:check function(f,f ′ ,ϕ)=if check structure(f,f ′ ,ϕ)=false, returnfalsecompute the solutions E(p ′ ) of the dataflow equationsE(p ′ )= ⋃ {transfer(f,f ′ ,ϕ,s ′ ,E(s ′ ) | s ′ successor of p ′ in f ′ }let E 0 = transfer(f,f ′ ,ϕ,f ′ .entrypoint,E(f ′ .entrypoint))check E 0 ≠ ⊤ and E 0 ∩ f.params ⊆{f.params = parameters(f ′ .typesig)}Typically, this validator is combined with an untrusted implementation of aregister allocator regalloc, as follows:validated regalloc(f) =let (f ′ ,ϕ)=regalloc(f) inif check function(f,f ′ ,ϕ) then return f ′ else abort compilation4 Soundness ProofThere are two properties of interest for a translation validator. One is soundness:if the validator says “yes”, the transformed co<strong>de</strong> behaves i<strong>de</strong>ntically to thesource co<strong>de</strong>. The other is relative completeness: the validator never raises a falsealarm; in other words, it accepts all valid instances of the co<strong>de</strong> transformationconsi<strong>de</strong>red. The completeness property is, necessarily, relative to a limited classof program transformations such as those listed in section 2.3: otherwise, validationwould boil down to checking semantic equivalence between two arbitraryprograms, which is un<strong>de</strong>cidable.We have formally proved the soundness of the validation algorithm presentedin section 3. The proof was mechanized using the Coq proof assistant, bringingnear-absolute confi<strong>de</strong>nce. This section gives a simplified sketch of this soundnessproof. Relative completeness is difficult to even state formally, so we did notattempt to prove it. Testing shows no false alarms (see section 5). We conjecturethat our validator is complete for all program transformations that can onlyrename variables, insert move operations, and <strong>de</strong>lete operations and loads, buttreat as uninterpreted (and therefore preserve) all other computations.


Validating Register Allocation and Spilling 2374.1 Dynamic SemanticsIn preparation for stating and proving soundness, we need to give formal semanticsto the RTL and LTL languages. The full semantics of RTL is <strong>de</strong>scribed in[11, section 6]. Here, for simplicity, we outline the semantics of the fragment ofRTL that exclu<strong>de</strong>s function calls and returns, and therefore is given relative toa single function f.The semantics is presented in small-step style as a transition relation → betweenexecution states. States are triples (p, e, m) wherep is the current programpoint (a CFG no<strong>de</strong>), e is a partial map from variables to values, and m is thememory state: a partial map from (pointer, memory quantity) pairs to values.Values are the discriminated union of integers, floating-point numbers, and pointers.(In the full semantics of RTL, the state contains additional components suchas the function currently executing and an abstract call stack.)The transition relation → between states is <strong>de</strong>fined by the rules of figure 2.The rules discriminate on the instruction at the current program point p, thenupdate the three components of the state accordingly. The partial functions op,mo<strong>de</strong> and cond are the semantic interpretations of operators, addressing mo<strong>de</strong>sand conditions as functions over values. We make no assumptions about theseinterpretations, except that the move operation is the i<strong>de</strong>ntity: move(v) =v.The notation e[x ← v] stands for the variable environment mapping x to v andall other variables y to e(y). The initial state is (f.entrypoint, [f.params ↦→⃗v args ],m init )where⃗v args are the values of the arguments given to function f.The final state is (p, e, m) wherep points to a return instruction.The semantics of LTL is essentially isomorphic to that of RTL, at least for thefragment consi<strong>de</strong>red here. (The full LTL treats function calls somewhat differentlyfrom RTL, to reflect the passing of function arguments and results throughconventional locations.) LTL states are triples (p ′ ,e ′ ,m ′ ) of a program point p ′in f ′ , an environment e ′ mapping locations to values, and a memory state m ′ .The main difference between RTL and LTL is the update e ′ [l ← v] ofalocationf.co<strong>de</strong>(p) =nop(s)f.co<strong>de</strong>(p) =op(op,⃗x, x, s)op(e(⃗x)) = v(p, e, m) → (s, e, m)(p, e, m) → (s, e[x ← v],m)f.co<strong>de</strong>(p) =load(κ, mo<strong>de</strong>,⃗x, x, s) mo<strong>de</strong>(e(⃗x)) = v ad m(v ad ,κ)=v(p, e, m) → (s, e[x ← v],m)f.co<strong>de</strong>(p) =store(κ, mo<strong>de</strong>,⃗x, x, s) mo<strong>de</strong>(e(⃗x)) = v ad m[(v ad ,κ) ← e(x)] = m ′(p, e, m) → (s, e, m ′ ){f.co<strong>de</strong>(p) =cond(cond,⃗x, s 1 ,s 2 ) s =s 1s 2if cond (e(⃗x)) = trueif cond (e(⃗x)) = false(p, e, m) → (s, e, m)Fig. 2. Transition rules for the simplified semantics of RTL


238 S. Ri<strong>de</strong>au and X. Leroyl by a value v: itsetsl to v, but as collateral damage is also sets overlappinglocations l ′ # l to unspecified values:e ′ [l ← v](l) =ve ′ [l ← v](l ′ )=e ′ (l ′ )ifl ′ ⊥ le ′ [l ← v](l ′ ) is unspecified if l ′ # lNote that the values of stack locations S(δ, n) are stored in the location environmente ′ and not in the memory state m ′ . This simplifies the proof. A separateproof, <strong>de</strong>tailed in [11, section 12], shows that accesses to stack locations can laterbe reinterpreted as memory loads and stores within the activation record.4.2 Equation SatisfactionThe crucial invariant of the soundness proof is the following: whenever controlreaches point p ′ in the LTL function f ′ and matching point ϕ(p ′ )intheRTLfunction f, the corresponding environments e and e ′ satisfy the equations E “before”point p ′ inferred by the validator. Equation satisfaction is written e, e ′ |= Eand <strong>de</strong>fined ase, e ′ |= E <strong>de</strong>f= ∀(x = l) ∈ E, x ∈ Dom(e) =⇒ e(x) =e ′ (l)This predicate enjoys nice properties that are keys to the soundness proof. First,satisfaction implies that the argument values to matching RTL and LTL operationsare i<strong>de</strong>ntical. (This lemma is used in the parts of the soundness proof thatcorresponds to cases 3, 6, 7, 8 and 9 of the transfer function.)Lemma 1. If e, e ′ |= E ∪{⃗x = ⃗ l} and e(⃗x) is <strong>de</strong>fined, then e ′ ( ⃗ l)=e(⃗x).Second, satisfaction is preserved by several kinds of parallel or unilateral assignments.(For each lemma we indicate the corresponding cases of the transferfunction.)Lemma 2 (Parallel assignment – cases 5 and 7). If e, e ′ |= E \ (x = l)and (x, l) ⊥ E then e[x ← v],e ′ [l ← v] |= ELemma 3 (RTL assignment to a <strong>de</strong>ad variable – case 4). If e, e ′ |= Eand (x = ) /∈ E then e[x ← v],e ′ |= ELemma 4 (Coalesced RTL move – case 3). If e, e ′ |= E[x d ← x s ] thene[x d ← e(x s )],e ′ |= ELemma 5 (Inserted LTL move – case 10). If E[l d ← l s ] ≠ ⊤ and e, e ′ |=E[l d ← l s ] then e, e ′ [l d ← e ′ (l s )] |= EFinally, satisfaction holds in the initial states, taking ⃗x = f.params and ⃗ l =parameters(f ′ .typesig) and⃗v to be the values of the function parameters.Lemma 6. If E ∩ ⃗x ⊆{⃗x = ⃗ l}, then for any e ′ such that e ′ ( ⃗ l)=⃗v, we have[⃗x ↦→ ⃗v],e ′ |= E.


Validating Register Allocation and Spilling 2394.3 Forward SimulationThe soundness proof takes the form of a forward simulation diagram relatingone transition in the RTL co<strong>de</strong> to one or several transitions in the LTL co<strong>de</strong>,starting and ending in matching states. (The “or several” part corresponds tothe execution of move instructions inserted during register allocation.)s 1s 2≈≈s ′ 1+s ′ 2(RTL) (LTL)The relation ≈ betweenRTLandLTLstatesis<strong>de</strong>finedasfollows:(p, e, m) ≈ (p ′ ,e ′ ,m ′ ) <strong>de</strong>f=ϕ(p ′ )=p ∧ e, e ′ |= transfer(f,f ′ ,ϕ,p ′ ,E(p ′ )) ∧ m = m ′That is, the program points must match according to the ϕ mapping; the variableand location environments must satisfy the dataflow equations “before” point p ′ ;and the memory states are i<strong>de</strong>ntical.Theorem 1 (Forward simulation). Assume that check function(f,f ′ ,ϕ)=true. LetE(p ′ ) be the solutions to the dataflow equations. If s 1 → s 2 and s 1 ≈s ′ 1 ,thereexistss′ 2 such that s′ +1 → s ′ 2 and s 2 ≈ s ′ 2 .The proof of this theorem proceeds in two steps. First, we show that the LTLco<strong>de</strong> can make one transition from s ′ 1 to some state (p ′ ,e ′ ,m ′ )thatdoesnotnecessarily match s 2 (because ϕ(p ′ ) can be un<strong>de</strong>fined) but is such that e, e ′ |=transfer(f,f ′ ,ϕ,p ′ ,E(p ′ )). This part of the proof proceeds by case analysison the RTL and LTL instructions pointed to by s 1 and s ′ 1, and exercises allcases of the structural checks and the transfer function except the path checkand case 10. Then, the following lemma shows that we can extend this LTLtransition with zero, one or several transitions (corresponding to executions ofinserted move instructions) to reach a state matching s 2 .Lemma 7 (Execution of inserted moves). Assume path(f ′ ,ϕ,p,p ′ )=trueand e, e ′ |= transfer(f,f ′ ,ϕ,p ′ ,E(p ′ )). Then,thereexistsp ′′ and e ′′ such that(p ′ ,e ′ ,m) ∗ → (p ′′ ,e ′′ ,m) and ϕ(p ′′ )=p and e, e ′′ |= transfer(f,f ′ ,ϕ,p ′′ ,E(p ′′ )).From the forward simulation theorem 1, semantic preservation for whole programs(that is, agreement between the observable behaviors of the source RTLco<strong>de</strong> and transformed LTL co<strong>de</strong>) follows easily using the general results of [11,section 3.7].5 Implementation and Experimental ResultsWe implemented the validation algorithm and a prototype register allocatorwithin the CompCert verified compiler [9]. Like all other verified parts of this


240 S. Ri<strong>de</strong>au and X. Leroycompiler, the validator is written directly in the Gallina specification languageof the Coq proof assistant, in pure functional style. Sets of equations are implementedas persistent AVL trees, using the FSet standard library of Coq. Thisimplementation supports insertion and removal of equations in O(log n) time,but the compatibility check (x, l) ⊥ E requires an O(n) traversal of the set E.Whether a better data structure could support compatibility check in logarithmictimeisanopenquestion.The Gallina implementation of the validator lends itself immediately to programproof within Coq. Efficient Caml co<strong>de</strong> is automatically generated from theGallina co<strong>de</strong> using Coq’s program extraction facility. The generated Caml co<strong>de</strong>is then linked with a register allocator hand-written in Caml.The prototype register allocator we experimented with is a standard Chaitinstylegraph coloring allocator, using George and Appel’s iterated register coalescingalgorithm to color the interference graph [10]. If some variables x were assignedstack slots and are used by instructions that <strong>de</strong>mand a hardware register,spill and reload instructions to/from fresh temporary variables are introducedand register allocation is repeated. Two spilling strategies were experimented.The first simply inserts a reload before every use of a spilled variable and aspill after every <strong>de</strong>finition. The second splits the live ranges of a spilled variableat every <strong>de</strong>finition and every use, in the hope that reloa<strong>de</strong>d values can stay ina register across several reloads in parts of the co<strong>de</strong> where register pressure islow. (This is a less aggressive form of splitting than that consi<strong>de</strong>red by Appeland George [12].) Since we are targeting a register-rich architecture (the PowerPC),spilling occurs rarely. To stress the validator, we reduced the number ofcallee-save registers, forcing consi<strong>de</strong>rable spilling across function calls.On the CompCert test suite, the validator performed as expected: it did notraise any false alarms, but found several mistakes in our implementation ofthe second spilling strategy. The compile-time overhead of the validator is veryreasonable: validation adds 20% to the time taken by register allocation and 6%to the whole compilation time.From a proof engineering viewpoint, the validator is a success. Its mechanizedproof of correctness is only 900 lines of Coq, which is quite small for a 350-linepiece of co<strong>de</strong>. (The typical ratio for Coq program proofs is 6 to 8 lines of proofper line of co<strong>de</strong>.) In contrast, 4300 lines of Coq proof were nee<strong>de</strong>d to verifythe register allocation and spilling passes of the original CompCert compiler.Even this earlier <strong>de</strong>velopment used translation validation on a sub-problem: theGeorge-Appel graph coloring algorithm was implemented directly in untrustedCaml co<strong>de</strong>, then followed by a verified validator to check that the resulting assignmentis a valid coloring of the interference graph. Later, Blazy, Robillardand Appel conducted a Coq proof of the graph coloring algorithm [13]. This isa fairly large proof: in total, more than 10000 lines of proof are nee<strong>de</strong>d to completelyverify the original CompCert register allocation and spilling passes. Insummary, the translation validation approach <strong>de</strong>livers a ten-fold reduction in theproof effort compared with the compiler verification approach, while providing


Validating Register Allocation and Spilling 241soundness guarantees that are just as strong. Of course, the compiler verificationapproach offers additional formal guarantees: not just soundness, but alsocompleteness (register allocation never fails at compile-time). In contrast, theverified validator approach cannot rule out the possibility of a spurious compiletimeerror.6 Related WorkThe i<strong>de</strong>a of translation validation goes back at least to Samet’s 1975 Ph.D.thesis [14]. It was rediscovered and popularized by Pnueli et al. ten years ago[1]. Some translation validators proceed by generation of verification conditionsfollowed by mo<strong>de</strong>l checking or automatic theorem proving [1,15,16,17]; othersrely on less powerful but cheaper and more predictable approaches based onsymbolic evaluation and static analyses [2,3,4,5,8,18]. For another dividing line,some validators are general-purpose and apply to several compilation passes [2]or even to a whole compiler [3], while others are specialized to particular familiesof optimizations, such as software pipelining [15,19,18], instruction scheduling [5],partial redundancy elimination [4], or register allocation [8]. The present workfalls squarely in the cheap, specialized, static analysis-based camp.The earlier work most closely related to ours is that of Huang, Chil<strong>de</strong>rs andSoffa [8]: a validator for register allocation that was prototyped within SUIF.Their validator proceeds by forward dataflow analysis and global value numbering.A nice feature of their validator, which ours lacks, is the production ofmeaningful explanations when an error is <strong>de</strong>tected. On the other hand, their validationalgorithm was not proved sound. Such a proof appears <strong>de</strong>licate becausethe semantic interpretation of global value numbers is difficult.The general-purpose validators of Necula [2] and Rival [3] can also validateregister allocation among other program transformations. They proceed by symbolicevaluation: variables and locations in the source and transformed co<strong>de</strong> areassociated symbolic expressions characterizing their values, and these expressionsare compared modulo algebraic i<strong>de</strong>ntities to establish semantic equivalence.Symbolic evaluation is a very versatile approach, able to validate many programtransformations. On the particular case of register allocation and spilling, it appearsno more powerful, but more costly, than the specialized techniques usedby Huang et al. and by us.7 Conclusions and Future WorkThe validation algorithm for register allocation and spilling presented in this paperis simple enough to be integrated in production compilers and efficient enough tobe invoked on every compilation run. At the same time, the mechanically-checkedproof of soundness brings consi<strong>de</strong>rable confi<strong>de</strong>nce in its results.Our validator can be improved in several directions. One is to <strong>de</strong>sign a moreefficient data structure to represent sets of equations. As mentioned in section 5,


242 S. Ri<strong>de</strong>au and X. Leroythe simple representation of equation sets as AVL trees performs compatibilitychecks in linear time. A more sophisticated data structure might supportlogarithmic-time operations over equation sets.Another direction is to introduce additional forms of equations to enable thevalidation of even more co<strong>de</strong> transformations related to register allocation. Forexample, rematerialization of constants [20] could probably be validated if wewere able to keep track of equations of the form x = constant. Likewise, theparts of the function prologue and epilogue that save and restore used calleesaveregisters to/from stack slots (currently treated in CompCert by a separate,verified pass) could be validated along with register allocation if we had equationsof the form init(r) =l, whereinit(r) is a symbolic constant <strong>de</strong>noting the valueof callee-save register r on entrance to the function.References1. Pnueli, A., Siegel, M., Singerman, E.: Translation validation. In: Steffen, B. (ed.)TACAS 1998. LNCS, vol. 1384, pp. 151–166. Springer, Hei<strong>de</strong>lberg (1998)2. Necula, G.C.: Translation validation for an optimizing compiler. In: ProgrammingLanguage Design and Implementation 2000, pp. 83–95. ACM Press, New York(2000)3. Rival, X.: Symbolic transfer function-based approaches to certified compilation.In: 31st symposium Principles of Programming Languages, pp. 1–13. ACM Press,New York (2004)4. Tristan, J.B., Leroy, X.: Verified validation of Lazy Co<strong>de</strong> Motion. In: ProgrammingLanguage Design and Implementation 2009, pp. 316–326. ACM Press, New York(2009)5. Tristan, J.B., Leroy, X.: Formal verification of translation validators: A case studyon instruction scheduling optimizations. In: 35th symposium Principles of ProgrammingLanguages, pp. 17–27. ACM Press, New York (2008)6. Coq <strong>de</strong>velopment team: The Coq proof assistant. Software and documentation,http://coq.inria.fr/ (1989–2010)7. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development– Coq’Art: The Calculus of Inductive Constructions. EATCS Texts in TheoreticalComputer Science. Springer, Hei<strong>de</strong>lberg (2004)8. Huang, Y., Chil<strong>de</strong>rs, B.R., Soffa, M.L.: Catching and i<strong>de</strong>ntifying bugs in registerallocation. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 281–300. Springer,Hei<strong>de</strong>lberg (2006)9. Leroy, X.: Formal verification of a realistic compiler. Communications of theACM 52(7), 107–115 (2009)10. George, L., Appel, A.W.: Iterated register coalescing. ACM Transactions on ProgrammingLanguages and Systems 18(3), 300–324 (1996)11. Leroy, X.: A formally verified compiler back-end. Journal of Automated Reasoning43(4), 363–446 (2009)12. Appel, A.W., George, L.: Optimal spilling for CISC machines with few registers.In: Programming Language Design and Implementation 2001, pp. 243–253. ACMPress, New York (2001)13. Blazy, S., Robillard, B., Appel, A.W.: Formal verification of coalescing graphcoloringregister allocation. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012,pp. 145–164. Springer, Hei<strong>de</strong>lberg (2010)


Validating Register Allocation and Spilling 24314. Samet, H.: Automatically Proving the Correctness of Translations Involving OptimizedCo<strong>de</strong>. PhD thesis, Stanford University (1975)15. Leviathan, R., Pnueli, A.: Validating software pipelining optimizations. In: Int.Conf. on Compilers, Architecture, and Synthesis for Embed<strong>de</strong>d Systems (CASES2002), pp. 280–287. ACM Press, New York (2006)16. Zuck, L., Pnueli, A., Fang, Y., Goldberg, B.: VOC: A methodology for translationvalidation of optimizing compilers. Journal of Universal Computer Science 9(3),223–247 (2003)17. Barrett, C.W., Fang, Y., Goldberg, B., Hu, Y., Pnueli, A., Zuck, L.D.: TVOC: Atranslation validator for optimizing compilers. In: Etessami, K., Rajamani, S.K.(eds.) CAV 2005. LNCS, vol. 3576, pp. 291–295. Springer, Hei<strong>de</strong>lberg (2005)18. Tristan, J.B., Leroy, X.: A simple, verified validator for software pipelining. In:37th symposium Principles of Programming Languages. ACM Press, New York(to appear, 2010) (accepted for publication)19. Kundu, S., Tatlock, Z., Lerner, S.: Proving optimizations correct using parameterizedprogram equivalence. In: Programming Language Design and Implementation2009, pp. 327–337. ACM Press, New York (2009)20. Briggs, P., Cooper, K.D., Torczon, L.: Rematerialization. In: Programming LanguageDesign and Implementation 1992, pp. 311–321. ACM Press, New York (1992)


Dixième partieExposé <strong>de</strong> magistère243


Suites <strong>de</strong> Goodstein et incomplétu<strong>de</strong> <strong>de</strong> l’arithmétique <strong>de</strong>PeanoGabriel Scherer et Silvain Ri<strong>de</strong>au17 Juin 2009


Nous remercions François Loeser <strong>de</strong> nous avoir proposé ce sujet, Laurence Ri<strong>de</strong>au etCatherine Kikuchi pour les corrections.Le premier théorème d’incomplétu<strong>de</strong> <strong>de</strong> Gö<strong>de</strong>l donne l’existence <strong>de</strong> formules exprimablesdans L P , le langage <strong>de</strong> P l’arithmétique <strong>de</strong> Peano, qui ne soient pas démontrables dansP. Cependant, la formule construite par Gö<strong>de</strong>l pour démontrer son théorème n’a aucuncontenu arithmétique, il faut attendre 1982 pour que Laurie Kirby et Jeff Paris(voir [KP82]) démontrent que le théorème <strong>de</strong> Goodstein, qui est un résultat purementarithmétique, n’est pas démontrable dans l’arithmétique <strong>de</strong> Peano. On démontrera icice résultat en utilisant le théorème <strong>de</strong> Wainer qui donne une majoration <strong>de</strong>s fonctionsprouvablement totales dans P en s’inspirant <strong>de</strong> la démonstration <strong>de</strong> [AZ97] et [Cic83].On s’intéressera, dans la <strong>de</strong>uxième partie, au lien entre P et l’ordinal 1 ɛ 0 défini commesuit :Définition 0.0.1 (ɛ 0 ). Soit la suite d’ordinaux (ω n ) n∈N telle que :{ω 0 = 1ω n+1 = ω ωn ∀n ∈ NOn note ɛ 0 = ⋃ n∈N ω n.Ce lien a été mis en avant par Gentzen en démontrant que la bonne fondation <strong>de</strong> ɛ 0implique la cohérence <strong>de</strong> P. On montrera ici que le théorème <strong>de</strong> Goodstein est équivalentà l’induction jusqu’à ɛ 0 et donc par le <strong>de</strong>uxième théorème d’incomplétu<strong>de</strong> <strong>de</strong> Gö<strong>de</strong>l, celafournit une <strong>de</strong>uxième preuve du fait que le théorème <strong>de</strong> Goodstein est indémontrable dansP. Cela montre <strong>de</strong> plus à quel point le théorème <strong>de</strong> Goodstein est lié à l’incomplétu<strong>de</strong> <strong>de</strong>P.1 voir appendice A pour <strong>de</strong>s précisions sur les ordinaux.1


Chapitre 1Le théorème <strong>de</strong> Kirby et Paris1.1 Les suites <strong>de</strong> GoodsteinCommençons par définir les suites <strong>de</strong> Goodstein et démontrer qu’elles sont stationnairesen 0 à partir d’un certain rang. Pour cela on définit une variante <strong>de</strong> la notion <strong>de</strong> base,la base itérée ou pure. Elle consiste à écrire les exposants aussi dans cette base, puisles exposants <strong>de</strong>s exposants et ainsi <strong>de</strong> suite jusqu’à ce que la notation ne contienneplus que <strong>de</strong>s coefficients inférieurs à la base. Plus précisément, on définit une fonction <strong>de</strong>remplacement <strong>de</strong> q par x dans cette notation en base q itérée.Définition 1.1.1 (Remplacement dans la base q itérée). Soient p, q ∈ N et p = ∑ ki=0 qi a isa notation en base q. On définit la fonction suivante par récurrence sur p :f q,x (p) =k∑x fq,x(i) a ii=0On peut l’étendre et définir f q,ω (p) = ∑ ki=0 ωfq,ω(i) a i < ɛ 0 car ɛ 0 est stable par addition,multiplication et exponentiation.On peut alors définir les suites suivantes :Définition 1.1.2 (Suite <strong>de</strong> Goodstein <strong>de</strong> p commençant en base q). Soient p, q ∈ N ondéfinit la suite g p,qn (souvent notée simplement g n ) par :⎧⎨⎩g 0 = pg n+1 = 0 si g n = 0g n+1 = f q+n,q+n+1 (g n ) − 1 sinonA chaque élément <strong>de</strong> la suite g n on associe α n = f q+n,ω (g n ).La proposition suivante montre que, bien que la suite semble exploser avec le remplacementdans la base itérée, la présence du −1 rend la suite d’ordinaux associés décroissante.Proposition 1.1.3. Si g n ≠ 0 alors α n = f q+n+1,ω (g n+1 + 1).2


Démonstration. f q+n+1,ω (g n+1 + 1) = f q+n+1,ω (f q+n,q+n+1 (g n )) = f q+n,ω (g n ) car enécrivant en base q + n itérée puis en remplaçant les q + n par <strong>de</strong>s q + n + 1 on obtientl’écriture en base q + n + 1 itérée.On en déduit donc le théorème suivant :Théorème 1.1.4 (Théorème <strong>de</strong> Goodstein). Toutes les suites <strong>de</strong> Goodstein sont stationnairesen 0 à partir d’un certain rang.Démonstration. On commence par démontrer que pour tout n ∈ N, f n,ω (x) est unefonction strictement croissante <strong>de</strong> x.En effet par récurrence sur x, si x = 0 alors f n,ω (1) = 1 > 0 = f n,ω (0). Sinon soient kmaximal tel que n k x + 1, a > 0 maximal tel que an k x + 1 et j = x + 1 − an k < n k .Si j ≠ 0 alorsf n,ω (x + 1) = ω fn,ω(k) · a + f n,ω (j) > ω fn,ω(k) · a + f n,ω (j − 1) = f n,ω (x)Sinon x + 1 = an k et donc x = (a − 1)n k + ∑ k−1i=0 (n − 1)ni .Par récurrence, f n,ω (k) f n,ω (k − 1) + 1 doncet donc∑k−1ω fn,ω(k) ω fn,ω(k−1)+1 > ω fn,ω(k−1) · n > ω fn,ω(i) · (n − 1)i=0∑k−1ω fn,ω(k) · a > ω fn,ω(k) · (a − 1) + ω fn,ω(i) · (n − 1)On en conclut que pour tout n, f n,ω (x) est strictement croissante.D’après la proposition 1.1.3 et la croissance <strong>de</strong> f q+n+1,ω (x), si g n ≠ 0 alors :i=0α n = f q+n+1,ω (g n+1 + 1) > f q+n+1,ω (g n+1 ) = α n+1Donc comme les ordinaux sont bien fondés, ∃k g k = 0 et donc ∀n > k g n = 0.On peut donc définir la fonction suivante. Elle est récursive car le remplacement en baseq itérée est récursif, ie f n,m (x) vue comme une fonction <strong>de</strong> n,m et x est récursive, ce quiimplique que gnp,q est une fonction récursive <strong>de</strong> n, p et q. De plus, elle est totale par lethéorème <strong>de</strong> Goodstein.Définition 1.1.5 (Fonction <strong>de</strong> Goodstein).h :N × N\{0, 1} → N(p, q) ↦→ min{t | g p,qt = 0}3


1.2 Quelques résultats sur les ordinauxPour démontrer le résultat <strong>de</strong> Kirby et Paris, on aura besoin <strong>de</strong> quelques outils sur les ordinauxdus entre autre à Ketonen et Solovay (voir [KS81]). Ces résultats nous permettront<strong>de</strong> définir la hiérarchie <strong>de</strong> Hardy qui joue, pour les fonctions récursives prouvablementtotales dans P, le rôle que joue la fonction <strong>de</strong> Ackerman pour les fonctions primitivesrécursives. Ils permettrons aussi <strong>de</strong> prouver le théorème <strong>de</strong> Cichon qui donne une valeur<strong>de</strong> h(p, q).1.2.1 La forme normale <strong>de</strong> Cantor et la base ω itéréePour commencer, on montre le résultat suivant qui permet l’écriture en base ω <strong>de</strong>s ordinaux< ɛ 0Proposition 1.2.1 (Forme normale <strong>de</strong> Cantor). Tout λ < ɛ 0 peut être écrit sous sa formenormale <strong>de</strong> Cantor :λ = ω λ 1+ · · · + ω λn = β + ω λn où λ > λ 1 · · · λ n 0Démonstration. Montrons l’existence et l’unicité <strong>de</strong> cette forme normale par inductionstructurelle sur λ < ɛ 0 .Si λ = 1 alors n = 1 et 1 = ω 0 .Si λ est successeur, λ = γ + 1. Par induction γ = ∑ ni=1 ωλ idonc λ = ∑ n+1i=1 ωλ iavecλ n+1 = 0 et on a bien λ > γ > λ 1 · · · λ n λ n+1 0.Pour l’unicité, remarquons d’abord que λ = ∑ ni=1 ωλ ialors n ≠ 0 et λ n = 0 sinon λest limite. Donc si λ = ∑ ni=1 ωλ i= ∑ mi=1 ωµ i<strong>de</strong>ux formes normales <strong>de</strong> Cantor, alorsλ n = µ m = 0 et γ = ∑ n−1i=1 ωλ i= ∑ m−1i=1 ωµ i. Par induction la forme normale <strong>de</strong> Cantor<strong>de</strong> γ est unique donc n = m et ∀i < n λ i = µ i .Si λ est limite, soit λ 1 = max{κ | ω κ λ}. Cet ensemble est non vi<strong>de</strong> car ω 0 = 1 λ etborné car ω λ > λ.En effet, supposons ω λ λ alors λ ɛ 0 car ω 0 = 1 < λ et par récurrence ∀n ω n+1 =ω ωn ω λ λ. Donc ɛ 0 = ⋃ n∈N ω n λ. Mais comme λ < ɛ 0 par hypothèse, on a ɛ 0 < ɛ 0ce qui est absur<strong>de</strong>.Soit γ < λ tel que λ = ω λ 1+γ alors par induction γ = ∑ ni=2 ωλ iavec γ > λ 2 · · · λ n 0il ne reste donc plus qu’à montrer que λ > λ 1 λ 2 .Si λ 2 > λ 1 alors ∃δ > 0 λ 2 = λ 1 + δ et :λ = ω λ 1+ ω λ 2+ . . .= ω λ 1(1 + ω δ ) + . . .= ω λ 1ω δ + . . .Donc ω λ 2 λ avec λ 2 > λ 1 ce qui contredit la définition <strong>de</strong> λ 1 .De plus si λ 1 λ alors λ ω λ 1 ω λ ce qui est impossible comme on l’a montréprécé<strong>de</strong>mment.Montrons alors l’unicité, supposons λ = ∑ ni=1 ωλ i= ∑ mj=1 ωµ j. Comme λ 1 · · · λ n etµ 1 · · · µ m , on a, pour tout i n, λ i = λ n + κ i , pour tout j m, µ j = µ m + ν i etm∑n∑λ = ( ω κ i)ω λm = αω λm = ( ω ν i)ω µn = βω µni=14i=1


où α et β sont successeurs et comme λ m , µ n ≠ 0 (sinon λ serait successeur) α, β < λ. Siλ m µ n alors λ m = µ m + κ et αω κ = β. Comme β est successeur, κ = 0 donc λ m = µ net ∑ mi=1 ωκ i= α = β = ∑ ni=1 ων i. Par unicité <strong>de</strong> la forme normale <strong>de</strong> Cantor, n = m et∀i n κ i = ν i et donc λ i = µ i .En rassemblant les λ i i<strong>de</strong>ntiques on obtient pour tout α < ɛ 0 son écriture en base ω :oùα =k∑ω λi · a ii=0∀i k a i ∈ N et α > λ 0 > · · · > λ k 0La somme d’ordinaux n’étant pas commutative, ∑ ki=0doit se comprendre comme la somme<strong>de</strong>s termes en commençant à gauche par le terme i = 0 et en finissant à droite par le termei = k.En réitérant le processus pour les exposants comme on l’a fait pour les entiers, on obtientla représentation en base ω itérée <strong>de</strong> tous les ordinaux appartenant à ɛ 0 . On peut alorsdéfinir,comme on l’a fait pour les entiers, pour tout n ∈ N et α < ɛ 0 , f ω,n (α).Cette écriture en base ω itérée permet <strong>de</strong> co<strong>de</strong>r les ordinaux appartenant à ɛ 0 dansl’arithmétique <strong>de</strong> Peano, par exemple par un n-uplet qui contient le co<strong>de</strong> <strong>de</strong>s λ i . Onpeut vérifier que toutes les opérations sur les ordinaux, ainsi que les suites ordinales et lesfonctions <strong>de</strong> la hiérarchie <strong>de</strong> Hardy (vues comme <strong>de</strong>s fonctions <strong>de</strong> <strong>de</strong>ux arguments, le co<strong>de</strong><strong>de</strong> l’ordinal et l’entier) sont récursives grâce à cet encodage <strong>de</strong>s ordinaux.De plus pour tout α < ɛ 0 , si tous les coefficients <strong>de</strong> α en base ω itérée sont strictementinférieurs à un certain n 2, on dit que α est n-représentable et on a f n,ω (f ω,n (α)) = α.On définit <strong>de</strong> plus la relation suivante sur les ordinaux :Définition 1.2.2. Soient α, β < ɛ 0 , soient α = ∑ ki=0 ωα iet β = ∑ lj=0 ωβ jleurs formesnormales <strong>de</strong> Cantor. On dit que α ≪ β si β 0 α k .Pour finir on remarque que :Proposition 1.2.3 (Majoration par un ω n ). Pour tout α < ɛ 0 il existe n ∈ N tel queα < ω nDémonstration. Cette proposition est un cas particulier <strong>de</strong> la proposition A.2.5, appliquéeau cas <strong>de</strong> ɛ 0 . On peut aussi la démontrer directement à partir <strong>de</strong> ce qui précè<strong>de</strong>.Montrons cette propriété par induction sur α < ɛ 0 .En effet α = ∑ ki=0 ωλi ·a i < ω λ0 ·(a 0 +1) < ω λ0+1 . Par induction, il existe n ∈ N, λ 0 +1


Pour tout k > 1, on note 〈α〉(n 1 , . . . , n k ) = 〈〈α〉(n 1 , . . . , n k−1 )〉(n k ) = 〈〈α〉(n 1 )〉(n 2 , . . . , n k ).Cette suite est bien définie car on vérifie facilement par induction que si α ≠ 0 alors pourtout n ∈ N, 〈α〉(n) < α.Les trois propositions suivantes décrivent les propriétés <strong>de</strong> ces suites, leur lien avec leremplacement par ω dans les bases itérées et donc avec la suite ordinale associée à unesuite <strong>de</strong> Goodstein.Proposition 1.2.5. Soient n ∈ N et α, β < ɛ 0 tels que β ≠ 0 et β ≪ α, alors〈α + β〉(n) = α + 〈β〉(n)Démonstration. Si β = γ + 1 alors 〈α + γ + 1〉(n) = α + γ = α + 〈β〉(n)Sinon par unicité <strong>de</strong> la forme normale <strong>de</strong> Cantor, α + γ + ω δ est en forme normale <strong>de</strong>Cantor et 〈α + γ + ω δ 〉(n) = α + γ + ω 〈δ〉(n) · (n − 1) + 〈ω 〈δ〉(n) 〉(n) = α + 〈β〉(n)Proposition 1.2.6. Soient n > 1 et m ∈ N,〈f n,ω (m + 1)〉(n) = f n,ω (m)Démonstration. Soient k maximal tel que n k m+1, a > 0 maximal tel que an k m+1et j = m + 1 − an k < n k . On a f n,ω (m + 1) = ω fn,ω(k) · a + f n,ω (j).Si k = 0, m + 1 < n etSi j ≠ 0 alors f n,ω (j) ≠ 0 etSi j = 0, m + 1 = an k et〈f n,ω (m + 1)〉(n) = 〈m + 1〉(n)= m= f n,ω (m)〈f n,ω (m + 1)〉(n) = 〈ω fn,ω(k) · a + f n,ω (j)〉(n)= ω fn,ω(k) · a + 〈f n,ω (j)〉(n)= ω fn,ω(k) · a + f n,ω (j − 1) par récurrence= ω fn,ω(k) · a + f n,ω (m − an k )= f n,ω (m)〈f n,ω (m + 1)〉(n) = 〈ω fn,ω(k) · (a − 1) + ω fn,ω(k) 〉(n)= ω fn,ω(k) · (a − 1) + ω 〈fn,ω(k)〉 · (n − 1) + 〈ω 〈fn,ω(k)〉 〉(n)= ω fn,ω(k) · (a − 1) + ω fn,ω(k−1) · (n − 1) + 〈ω fn,ω(k−1) 〉(n)= ω fn,ω(k) · (a − 1) + ω fn,ω(k−1) · (n − 1) + 〈f n,ω (n k−1 )〉(n)= ω fn,ω(k) · (a − 1) + ω fn,ω(k−1) · (n − 1) + f n,ω (n k−1 − 1)= f n,ω ((a − 1)n k + (n − 1)n k−1 + n k−1 − 1)= f n,ω (m)6


On en déduit le corollaire suivant qui sera utile dans la partie 2.4.Corollaire 1.2.7. Soit α < ɛ 0 , si α ≠ 0 et si α est n-représentable, alors 〈α〉(n) est leplus grand ordinal β tel que β < α et β est n-représentable.Démonstration. Soit p = f ω,n (α). Comme α est n-représentable, f n,ω (p) = α, et commeα ≠ 0, p ≠ 0. La proportion précé<strong>de</strong>nte implique que 〈α〉(n) = f n,ω (p − 1) donc 〈α〉(n) estn-représentable.Supposons que l’on ait β n-représentable tel que β < α. Comme f n,ω est strictement croissante(cf. démonstration <strong>de</strong> théorème 1.1.4) et que f n,ω (f ω,n (β)) = β < α = f n,ω (f ω,n (α)),on a f ω,n (β) < f ω,n (α) = p. On a alors f ω,n (β) p − 1 et donc,β = f n,ω (f ω,n (β)) f n,ω (p − 1) = 〈α〉(n)donc 〈α〉(n) est bien le plus grand ordinal n-représentable strictement inférieur à α.Proposition 1.2.8. Soit α n la suite d’ordinaux associée à une suite <strong>de</strong> Goodstein commençanten base q,∀n ∈ N, α n+1 = 〈α n 〉(q + n + 1)et donc∀n ∈ N, α n = 〈α〉(q + 1, . . . , q + n)Démonstration. Par les propositions 1.1.3 et 1.2.6, on a, si g n ≠ 0 :〈α n 〉(q + n + 1) = 〈f q+n+1,ω (g n+1 + 1)〉(q + n + 1) = f q+n+1,ω (g n+1 ) = α n+1Si g n = 0 alors g n+1 = 0 et donc 〈α n 〉(q + n + 1) = 〈0〉(q + n + 1) = 0 = α n+1 .On définit aussi une <strong>de</strong>uxième suite d’ordinaux associée à tout ordinal limite :Définition 1.2.9 (Suite canonique). On définit pour tout α < ɛ 0 la suite ({α}(n)) n∈Npar induction sur α.⎧⎪⎨⎪⎩Cette suite vérifie les propriétés suivantes :{0}(n) = 0{β + 1}(n) = β{β + ω δ }(n) = β + ω {δ}(n) si δ est limite{β + ω δ }(n) = β + ω δ−1 · n sinonProposition 1.2.10. Si α est limite alors {α}(n) est strictement croissante et ⋃ n∈N {α}(n).Démonstration. Par induction sur α.Supposons la proposition vérifiée pour tout β < α. Soient n < m ∈ N Soit α = β + ω δ laforme normale <strong>de</strong> Cantor, si δ est successeur,{α}(n) = β + ω δ−1 · n < β + ω δ−1 · m = {α}(m)et⋃{α}(n) = β + ω δ−1 · ⋃n = β + ω δ = αn∈Nn∈N7


Si δ est limite {δ}(n) < {δ}(m) et donc :{α}(n) = β + ω {δ}(n) < β + ω {δ}(m) = {α}(m)et⋃{α}(n) = β + ω S n∈N {δ}(n) = β + ω δ = αn∈NProposition 1.2.11. Soient α, β < ɛ 0 tels que β ≠ 0 et β ≪ α, alors :∀n {α + β}(n) = α + {β}(n)Démonstration. Si β est successeur, β = γ +1 et {α+γ +1}(n) = α+γ = α+{β}(n). Siβ est limite, soit β = γ + ω δ sa forme normale <strong>de</strong> Cantor, par unicité <strong>de</strong> la forme normale<strong>de</strong> Cantor α + γ + ω δ est la forme normale <strong>de</strong> α + β et donc{α + β}(n) = α + γ + ω {δ}(n) = α + {β}(n)ou{α + β}(n) = α + γ + ω δ−1 · n = α + {β}(n)suivant si δ est limite ou non.Pour finir on montre la proposition suivante qui relie les <strong>de</strong>ux suites définies jusqu’ici :Proposition 1.2.12. Soit α < ɛ 0 un ordinal limite,∀n ∈ N 〈{α}(n)〉(n) = 〈α〉(n)Démonstration. Par induction sur α.Si α = 0, ∀n ∈ N 〈{0}(n)〉(n) = 〈0〉(n).Sinon, soit α = β + ω δ la forme normale <strong>de</strong> Cantor <strong>de</strong> α, on a pour tout n ∈ N, si δ estlimite :si δ est successeur :〈{β + ω δ }(n)〉(n) = 〈β + ω {δ}(n) 〉(n)= β + ω 〈{δ}(n)〉(n) · (n − 1) + 〈ω 〈{δ}(n)〉(n) 〉(n)= β + ω 〈δ〉(n) · (n − 1) + 〈ω 〈δ〉(n) 〉(n)= 〈β + ω δ 〉(n)〈{β + ω δ }(n)〉(n) = 〈β + ω δ−1 · n〉(n)= 〈β + ω δ−1 · (n − 1) + ω δ−1 〉(n)= β + ω 〈δ〉(n) · (n − 1) + 〈ω 〈δ〉(n) 〉(n)= 〈β + ω δ 〉(n)8


1.2.3 La relation <strong>de</strong> Ketonen et SolovayKetonen et Solovay introduisent dans [KS81] une relation sur les ordinaux qui s’appuiesur la suite canonique et qui sera utile pour démontrer la croissance <strong>de</strong> la hiérarchie <strong>de</strong>Hardy par rapport aux ordinaux en 1.2.17.Définition 1.2.13 (Relation <strong>de</strong> Ketonen et Solovay). Soient α, β < ɛ 0 et k ∈ N, onnote α → k β si il existe une suite d’ordinaux (γ) i=0...n telle que α = γ 0 , β = γ n etγ i+1 = {γ i }(k).Proposition 1.2.14 (propriétés <strong>de</strong> la relation <strong>de</strong> Ketonen et Solovay). Soient α, β < ɛ 0la relation <strong>de</strong> Ketonen et Solovay vérifie :(i) Si α = γ + 1 alors pour tout k ∈ N, α → k γ. De plus si α → k β et α > β alorsγ → k β.(ii) Soient x > y ∈ N, pour tout k ∈ N, {α}(x) → k {α}(y)(iii) Si α → k β alors pour tout n k, α → n β.(iv) Si α β alors il existe k ∈ N tel que α → k β.Démonstration. (i) Pour tout k ∈ N {γ + 1}(k) = γ donc α → k γ.Si α → k β et α > β, on a {α}(k) → k β par définition <strong>de</strong> → k .(ii) Par induction sur α, {0}(x) = 0 = {0}(y) et {γ + 1}(x) = γ = {γ + 1}(y) donc siα = 0 ou est successeur c’est évi<strong>de</strong>nt.Sinon, soit α = β + ω δ sa forme normale <strong>de</strong> Cantor. Si δ est successeur,{α}(x) = β + ω δ−1 · x = β + ω δ−1 · y + ω δ−1 · (x − y) = {α}(y) + ω δ−1 · (x − y)Mais pour tout k ∈ N, ω δ−1 · (x − y) → k 0 car la suite définie par λ 0 = ω δ−1 · (x − y)et pour tout n ∈ N, λ n+1 = {λ n }(k) est strictement décroissante tant que λ n ≠ 0.Comme les ordinaux sont bien fondés il existe n ∈ N, λ n = 0. C’est exactement ladéfinition <strong>de</strong> ω δ−1 · (x − y) → k 0.Une conséquence immédiate <strong>de</strong> la proposition 1.2.11 est que si α → k β alors γ+α → kγ + β pour tout γ ≫ α. Donc {α}(x) → k {α}(y).Si δ est limite,{α}(x) = β + ω {δ}(x) → k β + ω {δ}(y) = {α}(y)car si λ → k µ alors il existe (γ i ) i=0...n tels que γ 0 = λ,γ n = µ et γ i+1 = {γ i }(k)donc en posant κ i = ω λ ion a {κ i }(k) = ω {λ i}(k) = ω λ i+1= κ i+1 et donc ω λ → k ω µ .Comme par induction {δ}(x) → k {δ}(y) on conclut.(iii) Soit α → k β si α = β alors pour tout n ∈ N α → n β sinon {α}(k) → k β. Soit dans cecas n > k. Par le (ii) on a {α}(n) → n {α}(k) et comme par définition α → n {α}(n),par transitivité α → n β.(iv) Fixons β et montrons par induction sur α β que la proposition est vérifiée.Si α = β alors pour tout k ∈ N, α → k β.Si α = γ + 1, on a γ β et donc par induction ∃k ∈ N γ → k β. Or par le (i), α → k γet donc par transitivité α → k β.9


Si α est limite, comme ⋃ n∈N {α}(n) = α > β, il existe n 0 ∈ N, {α}(n 0 ) > β. Parinduction et en utilisant le (iii), il existe n 1 ∈ N tel que ∀n n 1 {α}(n 0 ) → n βet ∀n n 0 α → n {α}(n 0 ). En prenant k max(n 0 , n 1 ) on a α → k {α}(n 0 ) et{α}(n 0 ) → k β et on conclut par transitivité.1.2.4 Hiérarchie <strong>de</strong> HardyOn aura besoin par la suite d’une famille <strong>de</strong> fonctions, la hiérarchie <strong>de</strong> Hardy, indicée parles ordinaux appartenant à ɛ 0 . Sa principale caractéristique est <strong>de</strong> permettre d’énoncerune condition nécessaire pour qu’une fonction récursive soit prouvablement totale dans P.Définition 1.2.15 (Hiérarchie <strong>de</strong> Hardy). (H α ) α


Proposition 1.2.17 (Croissance <strong>de</strong> la hiérarchie <strong>de</strong> Hardy). Soient f, g : N → N, onnote f < ∗ g s’il existe x 0 ∈ N tel que ∀x > x 0 f(x) < g(x). On vérifie aisément que cetterelation est transitive.(i) Pour tout α < ɛ 0 , H α est une fonction strictement croissante.(ii) Soient β < α < ɛ 0 , si α → k β pour un certain k alors(iii) Soient α < β < ɛ 0 , alors H α < ∗ H β .∀x k, H α (x) > H β (x)Démonstration. On montre (i) et (ii) simultanément par induction sur α.Si α = 0, H α = Id est strictement croissante. Pour (ii), il n’y a pas <strong>de</strong> β < α donc le cas<strong>de</strong> base est démontré.Si α = γ + 1 alors H α (x) = H γ (x + 1) et comme, par induction, H γ est strictementcroissante, H α aussi.Soit β < α et k ∈ N, on a soit β = γ, car pour tout k ∈ N, α → k γ d’après la proposition1.2.14.(i), soit β < γ. Dans le premier cas, comme H γ est strictement croissante, pour toutx > k on aH α (x) = H γ (x + 1) > H γ (x)Si β < γ et α → k β alors par la proposition 1.2.14.(i) γ → k β et donc par induction∀x k, H β (x) < H γ (x) < H α (x)Si α est limite alors H α (x) = H {α}(x) . Soient x > y, par la proposition 1.2.14.(ii) on a{α}(x) → y {α}(y), et donc par le (ii) appliqué à {α}(x) et la croissance <strong>de</strong> H {α}(y) ,H α (x) = H {α}(x) (x) > H {α}(y) (x) > H {α}(y) (y) = H α (y)Pour le (ii), soit k ∈ N et β < α tel que α → k β alors pour tout x k, α → x β. Maiscomme β < α, on a {α}(x) → x β. Donc par inductionH α (x) = H {α}(x) (x) > H β (x)Le (i) et le (ii) sont donc démontrés.Le (iii) découle du (ii). En effet soient β < α < ɛ 0 , par la proposition 1.2.14.(iv) il existek tel que α → k β et donc ∀x k H α (x) > H β (x)1.2.5 Théorème <strong>de</strong> CichonLe résultat qui suit donne une formule <strong>de</strong> la fonction <strong>de</strong> Goodstein en fonction <strong>de</strong> lahiérarchie <strong>de</strong> Hardy. On remarque que les arguments <strong>de</strong> h apparaissent non seulementcomme arguments <strong>de</strong> H α mais aussi pour définir α. Ainsi h croît plus vite que n’importequelle fonction <strong>de</strong> la hiérarchie <strong>de</strong> Hardy (en un sens qu’il faudra formaliser vu que h prend2 variables). Elle croît en quelque sorte trop vite pour être prouvablement totale commel’indique le théorème <strong>de</strong> Wainer (théorème 1.4.1 <strong>de</strong> ce mémoire).Théorème 1.2.18 (Cichon, 1983). Soit α = f q,ω (p). Alorsh(p, q) = H α (q + 1) − (q + 1)11


Démonstration. Par la proposition 1.2.8, on a :h(p, q) = min{n | 〈α〉(q + 1, . . . , q + n) = 0}Il suffit donc <strong>de</strong> montrer par induction sur α que pour tout q ∈ N on amin{n | 〈α〉(q + 1, . . . , q + n) = 0} = H α (q + 1) − (q + 1)Si α = 0, on a bien 0 = H 0 (q + 1) − (q + 1).Si α est successeur, α = β + 1, H α (q + 1) = H β (q + 2) et 〈α〉(q + 1) = β doncmin{n | 〈α〉(q + 1, . . . , q + n) = 0} = min{n | 〈β〉(q + 2, . . . , q + n) = 0}= min{n | 〈β〉(q + 2, . . . , q + 1 + n) = 0} + 1= H β (q + 2) − (q + 2) + 1= H α (q + 1) − (q + 1)Si α est limite, par la proposition 1.2.12, 〈α〉(q + 1) = 〈{α}(q + 1)〉(q + 1) doncmin{n | 〈α〉(q + 1, . . . , q + n) = 0} = min{n | 〈{α}(q + 1)〉(q + 1, . . . , q + n) = 0}= H {α}(q+1) (q + 1) − (q + 1)= H α (q + 1) − (q + 1)1.3 Un indicateur <strong>de</strong>s segments initiaux qui vérifient PPar la suite M est un modèle <strong>de</strong> P et on l’i<strong>de</strong>ntifie à M, la structure sous-jacente. Onnote N le modèle standard <strong>de</strong> P et on i<strong>de</strong>ntifie N et le segment initial <strong>de</strong> M constitué <strong>de</strong>sentiers standards. On notera <strong>de</strong> plus a > I si ∀b ∈ I, a > b. Enfin, pour <strong>de</strong>s raisons <strong>de</strong>concision, on notera ⇐⇒ et ⇒ l’équivalence et l’implication dans les démonstrations,qu’il ne faudra pas confondre avec → et ↔ les symboles <strong>de</strong> L P .Pour ce qui est du codage, les ensembles seront codés comme le produit <strong>de</strong>s nombrespremiers dont le numéro est dans l’ensemble, si ce produit existe (c’est à dire dans le cas<strong>de</strong>s ensembles finis dans N), et les fonctions seront codées par le co<strong>de</strong> <strong>de</strong> la formule qui lesreprésente.1.3.1 Segments initiaux fortsLa définition suivante est une caractérisation <strong>de</strong> certains segments initiaux <strong>de</strong>s modèles <strong>de</strong>P, pour plus <strong>de</strong> détails sur ces <strong>de</strong>rniers se référer à [KP76].Définition 1.3.1 (Segments initiaux forts). Soit I un segment initial propre <strong>de</strong> M, ieI ≠ ∅, I ≠ M et si a ∈ I alors pour tout b < a, b ∈ I. On dit qu’il est fort s’il est clos parsuccesseur et si pour tout f : I → M que l’on peut co<strong>de</strong>r dans M, il existe e > I tel quepour tout a ∈ I,f(a) ∈ I ∨ f(a) > e12


La proposition qui suit indique qu’être un segment initial fort est une propriété très fortecar elle est suffisante pour être un modèle <strong>de</strong> P.Proposition 1.3.2 (Segments initiaux forts et modèles <strong>de</strong> P). Si I est un segment initialfort <strong>de</strong> M alors I |= P.Démonstration. Montrons d’abord que I est clos par addition et multiplication.Supposons qu’il existe u, v ∈ I tels que u + v ∉ I. Soit f(x) = u + x codable dans M,il existe, par définition <strong>de</strong> I, e > I tel que pour tout x ∈ I, f(x) ∈ I ou f(x) e. Enparticulier u + v e.Soit x = e − 1 − u, alors x v − 1 donc x ∈ I mais f(x) = e − 1 < e. Comme I est clospar successeur e − 1 ∉ I sinon e le serait aussi et on a x ∈ I tel que I < f(x) < e ce qui estabsur<strong>de</strong>.Pour ce qui est <strong>de</strong> la multiplication, si u, v ∈ I et u ∗ v ∉ I on considère f(x) = u ∗ x etil existe e > I tel que f(x) ∈ I ou f(x) > e. Comme f(v) > e, M |= ∃x u ∗ x > e et parle principe du minimum (qui est équivalent au principe <strong>de</strong> récurrence) appliqué dans Mil existe v 0 minimal tel que u ∗ v 0 > e, donc f(v 0 − 1) e mais comme v 0 v ∈ I, on av 0 ∈ I et donc f(v 0 ) ∈ I. Mais u ∗ v 0 = u ∗ (v 0 − 1) + u cela contredit donc la clôture paraddition <strong>de</strong> I.De plus I vérifie les axiomes <strong>de</strong> P 0 , Peano faible, car toutes les opérations dans I peuventêtre vues comme <strong>de</strong>s opérations dans M.Il reste à démontrer que I vérifie le schéma <strong>de</strong> récurrence. On démontre plutôt, ce qui eststrictement équivalent, que I vérifie le schéma du minimum : soit F une formule <strong>de</strong> L P etā n = (a i ) i=0...n ∈ I n alors(I |= ∃x F [ā n , x]) ⇒ (I |= ∃x (F [ā n , x] ∧ ∀y < x ¬F [ā n , y]))Pour cela on définit la transformation suivante sur les formules. Soit F [¯x n ] une formule, ilexiste F ∗ [¯x n , ȳ m ] dont tous les quantificateurs sont bornés et ¯b m ∈ M m tels que pour toutā n ∈ I n (I |= F [ā n ]) ⇐⇒ (M |= F ∗ [ā n , ¯b m ])On construit F ∗ et ¯b m par induction sur la formule F .Si F est atomique F ∗ = F convient. De même (¬F ) ∗ = ¬F ∗ et (F → G) ∗ = F ∗ → G ∗ engardant les même ¯b m .Reste le cas F [¯x n ] = ∀z G[¯x n , z]. Supposons qu’on ait déjà G ∗ et le ¯b m qui lui correspond.Posons alors f : I → M tel que, si on note ⌊ā n ⌋ le co<strong>de</strong> dans I du n-uplet ā n :f(⌊ā n ⌋) = min{z | ¬G ∗ [ā n , z, ¯b m ]} s ′ il existe, b > I quelconque sinonCette fonction est codable dans M donc par définition d’un segment initial fort, ∃e > I telque pour tout ā n ∈ I n , f(⌊ā n ⌋) ∈ I ou f(⌊ā n ⌋) > e. On pose alors F ∗ = ∀z < e G ∗ et ona bien pour tout ā n ∈ I n :I |= ∀z G[ā n , z] ⇐⇒ f(⌊ā n ⌋) > e⇐⇒ M |= ∀z < e G ∗ [ā n , z]Montrons maintenant que I vérifie le schéma du minimum. Soit une formule F [x, ȳ n ] etā n ∈ I n tels que I |= ∃x F [x, ā n ]. Soit a ∈ I tel que I |= F [a, ā n ] alors M |= F ∗ [a, ā n , ¯b m ]13


et donc comme M |= P, il vérifie le schéma du minimum et donc il existe un a 0 minimumtel que M |= F ∗ [a 0 , ā n , ¯b m ]. Comme a 0 < a ∈ I et que I est un segment initial on a a 0 ∈ Iet donc I |= F [a 0 , ā n ] et a 0 est bien le plus petit a ∈ I vérifiant cette propriété. Ce quimontre que I vérifie le schéma d’induction et donc I |= P.1.3.2 Un indicateur <strong>de</strong> segments initiaux fortsPour une définition plus combinatoire <strong>de</strong> la notion suivante, on pourra consulter [Par79].Les résultats <strong>de</strong> [KS81] et [Par79] montrent qu’elles sont équivalentes pour les intervalles.Définition 1.3.3 (<strong>Ens</strong>embles α-larges). Soit S ⊂ M, soit x + = min{y ∈ S | y > x},pour tout x ∈ S. On définit <strong>de</strong> nouvelles fonctions <strong>de</strong> Hardy pour tout α < ɛ 0 définiespartiellement sur S par :⎧⎨⎩H0 S(x) = xHα S (x) = Hα−1 S (x+ ) si α est successeurHα S (x) = H{α}(x) S (x) si α est limiteComme pour les fonctions <strong>de</strong> Hardy normales, H S ω α·n(x) = (H S ω α)(n) (x) à condition que leterme <strong>de</strong> gauche soit bien défini. La preuve est i<strong>de</strong>ntique.Si S est un ensemble borné et α < ɛ 0 , soit a = min S et b = max S, on dit que S estα-large siH S α (a) bSoient a, b ∈ M, pour tout α < ɛ 0 Hαa;b (a) = H α (a) et donc a; b est α-large siH α (a) bSoit S un ensemble codable dans M. Notons H 0 [x, y, z, t] la formule qui représente H S α (x)(ie en notant ⌊α⌋ ∈ N le co<strong>de</strong> <strong>de</strong> l’ordinal α et ⌊S⌋ ∈ N le co<strong>de</strong> <strong>de</strong> S, on a pour toutx ∈ M, M |= H 0 [x, ⌊α⌋, ⌊S⌋, z] ⇐⇒ H S α (x) = z) et notons ω k n = {ω n+1 }(k), en notantMin et Max les formules représentant le min et le max <strong>de</strong> l’ensemble codé par x, laformule :A[x, n, k] = ∃t, u, v (H 0 [u, ⌊ω k n⌋, x, t] ∧ z v ∧ Min[x, u] ∧ Max[x, v])exprime exactement que l’ensemble codé par x est ω k n-large.On a aussi, en notant H[x,y,z] la formule qui représente H α (x) :L[a, b, n, k] = ∃z (H[a, ⌊ω k n⌋, z] ∧ z b)qui exprime exactement que a; b est ω k n-large.La proposition suivante peut prendre une forme plus générale en la formulant en termed’indicateur, c’est à dire que si on note Y (a, b) = max{c | a; b est ω c -large } alors c’estun indicateur <strong>de</strong>s modèles <strong>de</strong> P, c’est à dire que si Y (a, b) > N, il existe un segment initialqui est un modèle <strong>de</strong> P tel que a ∈ I < b (voir [Par79] et [Par78]). On la démontre iciformulée un peu différemment, dans le cas d’un modèle dénombrable tel que M |= Th(N)(où Th(N) est l’ensemble <strong>de</strong>s énoncés vrais dans N) et sans démontrer que l’indicateur Yest bien une fonction.14


Proposition 1.3.4. Soit M |= Th(N) dénombrable et a, b ∈ M tel que pour tout n, k ∈ Non ait M |= L[a, b, n, k] alors il existe I segment initial fort <strong>de</strong> M tel que a ∈ I < bPour démontrer ce résultat, on a adapté la démonstration <strong>de</strong> [AZ97] relativement besogneusemais ne nécessitant pas <strong>de</strong> théorie supplémentaire. On va donc d’abord définir lanotion d’ensemble approximant une fonction avant <strong>de</strong> démontrer trois lemmes sur ces approximations.On démontre les trois lemmes dans N mais comme on considère M |= Th(N),ils seront aussi vrais dans M.Définition 1.3.5 (Approximation <strong>de</strong> fonction). Soit f : M → M une fonction partielle,et S ⊂ M borné. On dit que S est une approximation <strong>de</strong> f si pour tout x ∈ S\{max S} ettout y < x − 2 :y ∈ dom(f) ⇒ (f(y) < x + ou f(y) max S)Lemme 1.3.6. Soit S ⊂ N codable ω α+1 -large et f : N → N une fonction partielle.Supposons que min S = s 0 > 0. Alors il existe a > s 0 et S ′ ⊂ S codable tels que S ′ soitω α -large, min S ′ = a et pour tout x < s 0 − 2 dans dom(f) :f(x) < a ou f(x) max S ′Démonstration. Notons min S = a 0 et max S = b 0 . Par définition H ω α+1(a 0 ) b 0 or{ω α+1 }(a 0 ) = ω α · a 0 . Donc (Hω S α)(a 0) = b 0 .Soit (a i ) i=0...s0 tels que pour tout i 0 a i+1 = Hω S α·a 0(a i ). On a alors a a0 b.Comme f(0; a 0 −3) contient au plus a 0 −2 valeurs et qu’il y a a 0 −1 intervalles a i ; a i+1 pour i > 0, l’un d’eux ne contient aucun f(x) pour x < a 0 −2. Nommons le i correspondanti 0 . Alors a = a i0 > a 0 et S ′ = a i0 ; a i0 +1 conviennent (il est codable car S ′ et a i0 ; a i0 +1le sont).En effet pour tout α < ɛ 0 et a, b ∈ N on vérifie par induction que Hα S∩a;b = Hα S a;b . S′est bien ω α -large.Lemme 1.3.7. Soit S codable et ω α -large, min S > 0 et f : N → N une fonction partielle.Il existe alors S ′ ⊂ S codable tel que S ′ soit une approximation <strong>de</strong> f, S ′ α-large et min S ′ =min S.Démonstration. Par induction sur α.Si α = 0 alors S est 1-large. Soit a 0 = min S alors S ′ = {a 0 } est 0-large et S ′ est uneapproximation <strong>de</strong> f vu que l’on quantifie sur le vi<strong>de</strong> dans la définition.Si α successeur, alors α = γ + 1. Soient S 1 et a = min S 1 > min S tels que dans le lemme1.3.6. S 1 est alors ω γ -large et par induction, il existe S 2 ⊂ S 1 codable γ-large tel quemin S 2 = min S 1 = a et S 2 est une approximation <strong>de</strong> f. Vérifions que S 3 = {min S} ∪S 2 ⊂S convient (il est codable car S 2 l’est).min S 3 = min S par définition. De plus si on note a 0 = min S 3H S 3γ+1 (a 0) = H S 3γ (a + 0 ) = HS 3γ (a) max S 2 = max S 3donc S 3 est (γ + 1)-large.Enfin, soit a ∈ S 3 \{s n } si a ≠ s 0 alors comme S 2 est une approximation <strong>de</strong> f, on a bien∀x < a − 2f(x) < a + ou f(x) s n = max S 2 sinon a = s 0 et comme S 1 vérifie que pour15


tout x < min S − 2 = s 0 − 2 dans dom(f), f(x) < a = s 1 ou f(x) max S ′ on a bien queS 3 est une approximation <strong>de</strong> f.Si α est limite, notons min S = a 0 . Comme {ω α }(a 0 ) = ω {α}(a 0) ,H S ω α(a 0) = H S {ω α }(a 0 ) (a 0) = H ω {α}(a 0 )(a 0 )donc S est ω {α}(s 0) -large.Par induction il existe S ′ ⊂ S codable et {α}(a 0 )-large tel que min S ′ = a 0 et tel que S ′soit une approximation <strong>de</strong> f. Mais S ′ est aussi α-large carH S′α (a 0 ) = H S′{α}(a 0 ) (a 0) max S ′Lemme 1.3.8. Soit S 0 codable dans N. Alors pour toutes f 1 , . . . , f n fonctions partiellescodables dans N il existe S 1 . . . S n codables tels que pour tout i > 0, S i ⊂ S i−1 , S i est uneapproximation <strong>de</strong> f i et card S i > kEn particulier pour tous n, k ∈ N et x co<strong>de</strong> d’ensemble,N |= A[x, n, k] →∀y co<strong>de</strong> <strong>de</strong> fonction ∃z co<strong>de</strong> d ′ ensemble(z ⊂ x ∧ z approxime y ∧ A[z, n − 1, k] ∧ card z > k)De plus comme les intervalles sont finis dans N, leurs sous-ensembles sont codables et ona donc pour tous a, b ∈ N :N |= L[a, b, n, k] →∀y co<strong>de</strong> <strong>de</strong> fonction ∃z co<strong>de</strong> d ′ ensemble(z ⊂ ⌊a; b⌋ ∧ z approxime y ∧ A[z, n − 1, k] ∧ card z > k])Démonstration. Remarquons d’abord que pour tout n > 0,ω k n = {ω ωn }(k) = ω {ωn}(k) = ω ωk n−1et ω k 0 = k.Montrons ce lemme par récurrence sur n.Si n = 1, par le lemme 1.3.7, il existe S 1 ⊂ S 0 ω k 0 -large tel que S 1 approximation <strong>de</strong> f 1 , eten notant S = {s 1 , . . . , s n }H k (s 1 ) = H k−1 (s 2 ) = · · · = H 0 (s k+1 ) = s k+1 s ndonc card S 1 = n k + 1 > k.Sinon, toujours par le lemme 1.3.7, il existe S 1 ⊂ S 0 ω k n−1 -large tel que S 1 approximation<strong>de</strong> f 1 . Par récurrence il existe S 2 , . . . , S n vérifiant les bonnes propriétés. Comme S 2 ⊂ S 1et card S 2 > k on a encore card S 1 > k.On peut maintenant construire le segment initial fort dont on a besoin.Démonstration <strong>de</strong> la proposition 1.3.4. Pour tous n, k ∈ N, M |= L[a, b, n, k]. Enparticulier pour tout n ∈ N, M |= L[a, b, n, n]. Par le lemme du débor<strong>de</strong>ment il existec > N tel que M |= L[a, b, c, c].Soit (f i ) i1 une énumération <strong>de</strong>s fonctions codables dans M dénombrable. On construitpar récurrence (S i ) i1 telle que S i approxime f i , M |= A[⌊S i ⌋, c − i, c] et card S i > c à16


l’ai<strong>de</strong> du lemme 1.3.8. Comme c est non standard card S i > c implique que S i est infini.Soit d i le i e élément <strong>de</strong> S i , on définit I = {x ∈ M | ∃i ∈ Nx d i }.Comme S i+1 ⊂ S i , d i + 1 d i+1 , on en déduit que I est clos par successeur. De plus sia ∈ I on a clairement pour tout b a, b a d i pour un certain i donc b ∈ I.Montrons que I est fort. Soit f une fonction codable dans M, alors il existe i 0 tel quef = f i0 . Posons e = max S i . Soit x ∈ I, il existe j tel que x d j . Par le même argumentque pour le successeur, x < d j+3 − 2. Il existe donc k i tel que x < d k − 2. CommeS k ⊂ S i , on a d k ∈ S i . Or S i approxime f donc f(x) < d +,S iksuffit donc <strong>de</strong> démontrer que d +,S ikest dans I.Mais comme S k+1 ⊂ S k ⊂ S i , on a d +,S ik d +,S k+1k1.4 Théorème <strong>de</strong> Wainer= d k+1 , donc d +,S ik∈ I.ou f(x) > max S i = e. IlOn peut maintenant démontrer le résultat probablement le plus important <strong>de</strong> ce mémoire,le théorème <strong>de</strong> Wainer qui caractérise les fonctions récursives prouvablement totales dansP (la réciproque du théorème se trouve dans [BW87]). Le théorème <strong>de</strong> Kirby et Paris enest un corollaire.Théorème 1.4.1 (Wainer, 1970). Soit f : N → N une fonction récursive. Soit F [x, y] uneformule Σ 1 qui représente f. Si P ⊢ ∀x∃!y F (x, y) (ie. f est prouvablement totale dans P),alors∃α < ɛ 0 ∀x ∈ N f(x) H α (x)On commence par démontrer le lemme suivant :Lemme 1.4.2. Soient f : N → N récursive et F [x, y] qui représente f. Si pour toutn, k ∈ N on aN |= ∃x∃y (L[x, y, n, k] ∧ F [x, y])alors il existe M modèle dénombrable <strong>de</strong> P et a, b ∈ M tels que :M |= Th(N) et M |= F [a, b] et ∀n, k ∈ N M |= L[a, b, n, k]Démonstration. Considérons la théorie T = Th(N) ∪ {F [a, b]} ∪ {L[a, b, n, k]} n,k∈N dansle langage <strong>de</strong> P augmenté <strong>de</strong> <strong>de</strong>ux constantes a et b.Pour tout n, k ∈ N, N |= ∃x∃y ∧ k ′ k,n ′ n L[x, y, n′ , k ′ ]. En effet en notant a n,k tel queN |= ∃y F [a n,k , y] ∧ L[a n,k , y, n, k], {H ω k ′n ′ (a n ′ ,k ′) | n′ n et k ′ k} est fini. Il admet doncun plus grand élément atteint en n 0 et k 0 . On en déduit que a n0 ,k 0; f(a n0 ,k 0) est ω k n-largepour tout n ′ n et k ′ k.La théorie T admet donc N comme modèle pour tout fragment fini. Par le théorème <strong>de</strong>compacité, il existe donc M |= T . Par le théorème <strong>de</strong> Löwenheim-Skolem <strong>de</strong>scendant,comme le cardinal <strong>de</strong> L P ∪ {a, b} est fini, on peut prendre M dénombrable.Démonstration du théorème <strong>de</strong> Wainer. Démontrons ce résultat par l’absur<strong>de</strong>.Soit f : N → N récursive prouvablement totale et F qui la représente telle que pour toutα < ɛ 0 on ait x ∈ N tel que f(x) > H α (x), en particulier∀ n, k ∈ N ∃x ∈ N f(x) > H ω k n(x)17


Par définition (voir 1.3.3), x; f(x) est ω k n-large. On en déduit queN |= ∀n∀k∃x∃y (L[x, y, n, k] ∧ F [x, y])donc par le lemme 1.4.2 il existe M un modèle dénombrable <strong>de</strong> P et a, b ∈ M tel queM |= Th(N) et M |= F [a, b] et ∀n, k ∈ N, M |= L[a, b, n, k]Par la proposition 1.3.4 il existe I un segment initial fort <strong>de</strong> M tel que a ∈ I < b etcomme l’indique la proposition 1.3.2, I |= P. D’après les hypothèses P ⊢ ∀x∃!y F (x, y)donc ∃c ∈ I c = f(a). Mais alors M |= F (a, b) et M |= F (a, c) et comme c ∈ I < b, c ≠ bce qui est impossible vu que M |= P et que P ⊢ ∃!y F (a, y).La première démonstration <strong>de</strong> ce théorème se trouve dans [Wai70] et [Wai72]. On trouveraaussi une preuve ultérieure <strong>de</strong> ce résultat dans [BW87] passant par la théorie <strong>de</strong> ladémonstration.1.5 Indépendance du théorème Goodstein dans POn a maintenant défini tous les outils nécessaires à la preuve du résultat qui nous intéresseprincipalement dans cette partie. Comme indiqué précé<strong>de</strong>mment, le théorème <strong>de</strong> Goodsteinn’est pas dans P car la fonction <strong>de</strong> Goodstein (que l’on voit comme une fonction <strong>de</strong> qseulement en fixant p en fonction <strong>de</strong> q) majore (au sens <strong>de</strong> < ∗ ) toutes les fonctions <strong>de</strong> lahiérarchie <strong>de</strong> Hardy.Théorème 1.5.1 (Kirby-Paris, 1982).P ∀p∀q(q > 1 ⇒ ∃mF (m, p, q, 0))En d’autres termes, le théorème <strong>de</strong> Goodstein n’est pas démontrable dans l’arithmétique<strong>de</strong> Peano.Démonstration. Par l’absur<strong>de</strong>, supposons que le théorème <strong>de</strong> Goodstein soit démontrabledans P alors h (étendue en (p, 0) et (p, 1) pour tout p par 0 par exemple) est prouvablementtotale dans P.Soit puis : N 2 → N primitive récursive définie par puis(x, 0) = 1 et pour tout n >0 puis(x, n) = x puis(x,n−1) . On vérifie par une récurrence simple que f x,ω (p(x, n)) = ω nOn a alors{ N → Ng :n ↦→ h(puis(n, n), n) + n + 1récursive prouvablement totale dans P.Par le théorème <strong>de</strong> Wainer (voir 1.4.1) il existe α < ɛ 0 tel que, pour tout n ∈ N, g(n)


De plus par la propriété 1.2.3 ∃n 0 tel que α < ω n0 donc par la propriété 1.2.17 <strong>de</strong> monotonie<strong>de</strong> la hiérarchie <strong>de</strong> Hardy par rapport aux ordinaux :∃n 1 ∀n > n 1 H ωn0 (n) > H α (n)et comme ∀p > q ω p → 1 ω q voir 1.2.14, toujours par la propriété 1.2.17 on a pour toutp > q :∀n > 1 H ωp (n) > H ωq (n)Donc en prenant n > max(2, n 1 , n 2 ) on aH ωn (n) > H ωn0 (n) > H α (n) > H ωn (n)ce qui est absur<strong>de</strong>.On a ainsi démontré que le théorème <strong>de</strong> Goodstein n’est pas démontrable dans l’arithmétique<strong>de</strong> Peano.19


Chapitre 2Le théorème <strong>de</strong> Gentzen et ɛ 0On présentera, tout d’abord, dans cette partie le théorème <strong>de</strong> Gentzen dont la conséquenceest la suivante : la cohérence <strong>de</strong> l’arithmétique peut être démontrée <strong>de</strong> façon finitiste à uneinduction jusqu’à ɛ 0 près. On finira en montrant que le théorème <strong>de</strong> Goodstein implique labonne fondation <strong>de</strong> ɛ 0 (en suivant [KH89]). Ceci fournira une <strong>de</strong>uxième preuve du théorème<strong>de</strong> Kirby-Paris par le <strong>de</strong>uxième théorème d’incomplétu<strong>de</strong> <strong>de</strong> Gö<strong>de</strong>l.Cette preuve utilise <strong>de</strong>s outils <strong>de</strong> la théorie <strong>de</strong> la démonstration. Au contraire <strong>de</strong> la premièrepartie, qui reposait sur <strong>de</strong>s arguments sémantiques et la théorie <strong>de</strong>s modèles, ce sera doncune présentation <strong>de</strong> métho<strong>de</strong>s syntaxiques pour répondre à <strong>de</strong>s questions sur l’arithmétique<strong>de</strong> Peano.L’idée générale développée ici est <strong>de</strong> travailler sur la structure <strong>de</strong>s preuves formelles. Lessystèmes <strong>de</strong> preuves à la Hilbert 1 sont caractérisés par un très petit nombre <strong>de</strong> règles, engénéral seulement le modus ponens et la généralisation. En contrepartie, ils ont un grandnombre d’axiomes comme “toute les tautologies du calcul propositionnel sans quantificateurs”.Pour manipuler plus aisément la structure <strong>de</strong>s preuves, on présentera ici un autresystème <strong>de</strong> preuve formelle, possédant plus <strong>de</strong> règles et moins d’axiomes : le calcul <strong>de</strong>sséquents.2.1 Calcul <strong>de</strong>s séquents pour la logique propositionnelle2.1.1 Langage <strong>de</strong> premier ordreOn reprend les définitions habituelles d’un langage <strong>de</strong> premier ordre.Définition 2.1.1. Un langage <strong>de</strong> premier ordre L est la donnée :– d’un ensemble <strong>de</strong> symboles <strong>de</strong> constantes ;– d’un ensemble <strong>de</strong> symboles <strong>de</strong> variables ;– d’un ensemble <strong>de</strong> symboles <strong>de</strong> fonctions f i d’arités |f i | ;– d’un ensemble <strong>de</strong> symboles <strong>de</strong> relations R i d’arités |R i | .Définition 2.1.2. On définit inductivement les termes <strong>de</strong> ce langage :– une constante est un terme ;– une variable est un terme ;1 Par exemple celui utilisé cette année dans le cours <strong>de</strong> Logique du premier semestre20


– si f i est un symbole <strong>de</strong> fonction et t 1 , t 2 , ..., t |fi | <strong>de</strong>s termes, alors f i (t 1 , ..., t |fi |) est unterme.Définition 2.1.3. On définit inductivement les formules sur ce langage :– Si R i est un symbole <strong>de</strong> relation et t 1 , ..., t |Ri | sont <strong>de</strong>s termes <strong>de</strong> L, R i (t 1 , ..., t |Ri |) estune formule. On dit <strong>de</strong> plus que c’est une formule atomique.– Si A et B sont formules, alors ¬A, A ∧ B, A ∨ B sont <strong>de</strong>s formules.– Si A est une formule et x une variable, ∀xA et ∃xA sont <strong>de</strong>s formules.Définition 2.1.4. Pour mesurer la “complexité” d’une formule, on définit inductivementune fonction comp :– Si A est atomique, comp(A) = 1– comp(¬A) = comp(∃xA) = comp(∀xA) = 1 + comp(A)– comp(A ∧ B) = comp(A ∨ B) = 1 + max(comp(A), comp(B))2.1.2 Séquents et inférencesDéfinition 2.1.5. Un séquent Γ ⊢ ∆ est la donnée <strong>de</strong> <strong>de</strong>ux ensembles <strong>de</strong> formules Γ et∆. On dit que les éléments <strong>de</strong> Γ sont les hypothèses du séquent, et ceux <strong>de</strong> ∆ sont sesrésultats. On le note sous la forme Γ ⊢ ∆.Informellement, on peut interpréter un séquent Γ ⊢ ∆ comme l’affirmation que la conjonction<strong>de</strong>s hypothèses entraîne la disjonction <strong>de</strong> ses résultats : “si toutes les formules <strong>de</strong> Γsont vraies, au moins une <strong>de</strong>s formules <strong>de</strong> ∆ est vraie”.∅ ⊢ ∆ représente une tautologie (la disjonction <strong>de</strong>s formules <strong>de</strong> ∆ est vraie), et Γ ⊢ ∅une négation/contradiction (la conjonction <strong>de</strong>s formules <strong>de</strong> Γ est fausse). En particulier,le séquent ∅ ⊢ ∅, souvent noté simplement ⊢, représente le faux.Définition 2.1.6. Une inférence est la donnée d’un groupe (fini) <strong>de</strong> séquents, les prémisses,et d’un séquent, la conclusion. Elle indique la validité du raisonnement qui passe <strong>de</strong>sprémisses à la conclusion. On la note sous la formeΓ 1 ⊢ ∆ 1 Γ 2 ⊢ ∆ 2Γ 3 ⊢ ∆ 3Les prémisses sont au <strong>de</strong>ssus <strong>de</strong> la barre, et la conclusion en <strong>de</strong>ssous.2.1.3 Règles et démonstrationsDéfinition 2.1.7. Un système <strong>de</strong> preuve est la donnée d’un ensemble d’inférences, sesrègles.On considère dans cette partie le système LK, correspondant aux preuves <strong>de</strong> la simplelogique du premier ordre habituelle, déterminé par l’ensemble <strong>de</strong> règles qui suivront.Les premières règles <strong>de</strong> notre système formel, les règles logiques, décrivent la manièredont on peut créer <strong>de</strong>s formules propositionnelles à partir d’un connecteur logique et <strong>de</strong>formules propositionnelles plus simples, par exemple A ∧ B à partir <strong>de</strong> A et <strong>de</strong> B. Pourchaque connecteur il y a <strong>de</strong>ux types <strong>de</strong> règles : les “règles gauches” qui permettent sonapparition parmi les hypothèses du séquent, et les “règles droites” qui concernent lesconclusions du séquent.21


Γ ⊢ A, ∆ (¬ ⊢)Γ, ¬A ⊢ ∆Γ, A ⊢ ∆ (⊢ ¬)Γ ⊢ ¬A, ∆Γ, A ⊢ ∆ (∧1 ⊢)Γ, A ∧ B ⊢ ∆Γ, B ⊢ ∆ (∧2 ⊢)Γ, A ∧ B ⊢ ∆Γ ⊢ A, ∆ Γ ⊢ B, ∆ (⊢ ∧)Γ ⊢ A ∧ B, ∆Γ, A ⊢ ∆ Γ, B ⊢ ∆ (∨ ⊢)Γ, A ∨ B ⊢ ∆Γ ⊢ A, ∆ (⊢ ∨1 )Γ ⊢ A ∨ B, ∆Γ ⊢ B, ∆ (⊢ ∨2 )Γ ⊢ A ∨ B, ∆Γ, A[x := t] ⊢ ∆ (∀ ⊢)Γ, ∀xA ⊢ ∆Γ ⊢ A, ∆ (⊢ ∀)Γ ⊢ ∀xA, ∆Γ, A ⊢ ∆ (∃ ⊢)Γ, ∃xA∆Γ ⊢ A[x := t]∆ (⊢ ∃)Γ ⊢ ∃A, ∆Les notations Γ, Γ ′ et Γ, A décrivent les ensembles Γ ∪ Γ ′ et Γ ∪ {A}. A[x := t] désigne laformule A dans laquelle on a remplacé toutes les occurrences libres <strong>de</strong> la variable x par leterme t (à renommage <strong>de</strong> variables près, pour éviter les acci<strong>de</strong>nts). Dans les <strong>de</strong>ux règlesqui l’utilisent (∀ ⊢, ⊢ ∃) on <strong>de</strong>man<strong>de</strong> <strong>de</strong> plus à ce que la variable x ne fasse pas partie <strong>de</strong>svariables libres <strong>de</strong> Γ et ∆ : sinon l’inférence n’est pas une règle.Pour pouvoir manipuler les formules d’un séquent, on a envie <strong>de</strong> pouvoir les réordonnerselon ses besoins, supprimer les doublons, ajouter <strong>de</strong>s hypothèses ou <strong>de</strong>s résultats possibles.C’est ce que permettent les règles structurelles :Γ, A, B, Γ ′ ⊢ ∆ (échange ⊢))Γ, B, A, Γ ′ ⊢ ∆Γ ⊢ ∆, A, B, ∆’Γ ⊢ ∆, B, A, ∆ ′(⊢ échange)Γ, A, A ⊢ ∆ (contraction ⊢)Γ, A ⊢ ∆Γ ⊢ A, A, ∆ (⊢ contraction)Γ ⊢ A, ∆Γ ⊢ ∆ (affaiblissement ⊢)Γ, A ⊢ ∆Γ ⊢ ∆Γ ⊢ A, ∆(⊢ affaiblissement)Contrairement à ce qu’on pourrait penser, ces règles structurelles ont <strong>de</strong> l’intérêt en soi :si on les restreint, on obtient <strong>de</strong>s logiques spécifiques qui peuvent avoir <strong>de</strong>s avantagesthéoriques et/ou <strong>de</strong>s applications pratiques. Par exemple si on enlève la règle d’échange,on ne peut plus utiliser que l’hypothèse la plus à droite (puisque toutes les règles logiquessont <strong>de</strong> la forme Γ, A ⊢ ...) ; cela permet entre autres <strong>de</strong> modéliser la logique <strong>de</strong> langages<strong>de</strong> programmations utilisant une pile pour stocker <strong>de</strong>s valeurs, et qui ne peuvent utiliserque la valeur placée en haut <strong>de</strong> la pile.Enfin, il reste <strong>de</strong>ux règles d’i<strong>de</strong>ntité, l’axiome et la coupure :A ⊢ A(axiome)Γ ⊢ A, ∆ A, Γ ′ ⊢ ∆ ′ (A-coupure)Γ, Γ ′ ⊢ ∆, ∆ ′L’intérêt <strong>de</strong> la coupure est qu’il permet la réutilisation <strong>de</strong>s preuves : on peut combiner22


<strong>de</strong>ux preuves séparées pour obtenir un nouveau résultat sans <strong>de</strong>voir repartir <strong>de</strong> zéro. Celapermet une certaine modularité.Par exemple, si l’on sait prouver pour toutes les formules A et B les séquents A, B ⊢ A∧Bet A, A ⇒ B ⊢ B, on peut obtenir le séquent C, D, (C ∧ D) ⇒ E ⊢ E par coupure, sans<strong>de</strong>voir récrire les preuves pour tenir compte <strong>de</strong>s variations <strong>de</strong>s hypothèses.2.1.4 PreuvesDéfinition 2.1.8. Une preuve φ d’un séquent Γ ⊢ ∆ est la donnée d’une règle dont laconclusion est ce séquent, et d’une preuve φ i <strong>de</strong> chacune <strong>de</strong>s prémisses <strong>de</strong> cette règle(appelée <strong>de</strong>rnière règle <strong>de</strong> la preuve). On note φ ⊩ Γ ⊢ ∆, ou bienφ.........Γ ⊢ ∆Les preuves sont donc <strong>de</strong>s arbres d’inférences, qui se terminent par <strong>de</strong>s règles sans prémisses,donc <strong>de</strong>s règles axiomes.Voici par exemple une preuve du séquent A ∧ ¬A ⊢ B :(axiome)A ⊢ A (⊢ affaiblissement)A ⊢ B, A (⊢ échange)A ⊢ A, B (⊢ ¬)A, ¬A ⊢ B (∧ ⊢)A ∧ ¬A ⊢ BLes preuves se lisent usuellement <strong>de</strong> bas en haut. Celle-ci est linéaire, puisque chaqueinférence utilise une seule prémisse, mais elles sont en général arborescentes :A, B ⊢ B(axiome)(axiome)A, B ⊢ A (⊢ ∧)On utilisesous silence.A, B ⊢ B ∧ A (∧ ⊢)A ∧ B ⊢ B ∧ Apour signaler la présence d’une ou plusieurs inférences structurelles passées2.2 Élimination <strong>de</strong>s coupures2.2.1 Propriété <strong>de</strong> la sous-formuleSi l’on suit les <strong>de</strong>ux preuves ci-<strong>de</strong>ssus <strong>de</strong> la conclusion jusqu’aux prémisses, on peut serendre compte qu’elles sont quasiment “automatiques” : à chaque étape, selon la structure<strong>de</strong>s formules du séquent à prouver, une ou plusieurs règles sont utilisables, et l’on peutessentiellement choisir arbitrairement l’une d’entre elles, obtenir une expression plus simpleet aboutir (modulo quelques règles structurelles ça et là) à <strong>de</strong>s règles axiomes.Cette métho<strong>de</strong> n’est pas utilisable pour une règle coupure :Γ ⊢ A, ∆ A, Γ ′ ⊢ ∆ ′ (A-coupure)Γ, Γ ′ ⊢ ∆, ∆ ′23


Pour établir l’inférence en partant <strong>de</strong> Γ, Γ ′ ⊢ ∆, ∆ ′ , il faudrait “<strong>de</strong>viner” le terme A. Onpeut décrire plus précisément ce problème par la propriété <strong>de</strong> la sous-formule.Définition 2.2.1. Les sous-formules directes d’une formule sont les termes utilisés poursa construction :– les sous-formules directes <strong>de</strong> A ∧ B et A ∨ B sont A et B– la sous-formule directe <strong>de</strong> ¬A est A– les sous-formules directes <strong>de</strong> ∀xA et ∃xA sont les A[x := t] pour chaque terme t.Une sous-formule d’une formule donnée est sa sous-formule directe, ou la sous-formuledirecte d’une <strong>de</strong> ses sous-formules. Cette définition est bien fondée car la complexité d’uneformule est toujours strictement supérieure aux complexités <strong>de</strong> ses sous-formules (directes).Proposition 2.2.2. Toutes les règles d’inférences, sauf la coupure, ont la propriété <strong>de</strong>la sous-formule : les formules <strong>de</strong>s prémisses <strong>de</strong>s formules <strong>de</strong> la conclusion, ou <strong>de</strong>s sousformules<strong>de</strong> celles-ci.La propriété <strong>de</strong> la sous-formule est une propriété désirable, en particulier dans l’optiqued’une preuve <strong>de</strong> cohérence : si on démontre le faux, alors une sous-formule du faux est dansles prémisses, autrement dit “seul le faux implique le faux”. C’est exactement la preuveque l’on va faire, mais pour cela il faut éliminer les coupures.Théorème 2.2.3 (Élimination <strong>de</strong>s coupures). Toute preuve du calcul <strong>de</strong>s séquents peutêtre récrite en une preuve du même séquent n’utilisant pas la règle <strong>de</strong> coupure.La démonstration <strong>de</strong> ce résultat est l’objet principal <strong>de</strong> cette section. Elle est inspirée <strong>de</strong>[GTL89] et [Tak75].Remarque 1. Même avec l’élimination <strong>de</strong>s coupures, la procédure <strong>de</strong> démonstration automatiqueesquissée plus haut ne marche pas : parmi les règles structurelles à l’air innocentse trouve la règle <strong>de</strong> contraction qui a la propriété (si on regar<strong>de</strong> <strong>de</strong> bas en haut, <strong>de</strong>s conclusionsaux prémisses) <strong>de</strong> dupliquer <strong>de</strong>s formules, augmentant alors le nombre <strong>de</strong> possibilitésà l’étape suivante. Au sein du calcul propositionnel sans quantificateurs, on pourrait enétant précautionneux retrouver une procédure <strong>de</strong> décision, mais au premier ordre cela nefonctionne plus.2.2.2 Cas clés2.2.2.1 Exemple : cas ∧L’idée est <strong>de</strong> faire “remonter” les coupures dans les preuves, en transformant une coupuresur une formule en une ou plusieurs coupures sur ses sous-formules, situées plus haut dansl’arbre <strong>de</strong> preuve.Les cas clés sont les cas où les coupures font correspondre une règle gauche avec la règledroite qui lui est associée. Par exemple, si l’on a la preuve suivante :............φ 1Γ ⊢ A, ∆Γ ⊢ A ∧ B, ∆φ 2 ............Γ ⊢ B, ∆ (⊢ ∧)φ ′..............Γ ′ , A, ⊢ ∆ ′ (∧ 1 ⊢)Γ ′ , A ∧ B ⊢ ∆ ′((A ∧ B)-coupure)Γ, Γ ′ ⊢ ∆, ∆ ′ 24


Par les preuves φ 1 et φ 2 on prouve les résultat A et B respectivement, donc le résultatA ∧ B utilisé par la prémisse <strong>de</strong> droite. Le point essentiel pour l’élimination <strong>de</strong> cettecoupure est <strong>de</strong> remarquer qu’on effectue ici un détour : on prouve A et B alors que lapreuve φ ′ n’utilise en fait que l’hypothèse A. On peut donc se contenter <strong>de</strong> couper sur A :............φ 1 ..............φ ′Γ ⊢ A, ∆ Γ ′ , A, ⊢ ∆ ′(A-coupure)Γ, Γ ′ ⊢ ∆, ∆ ′On a transformé une coupure sur A∧B en une coupure sur sa sous-formule A : la complexité<strong>de</strong> la formule coupée décroît strictement.Le cas <strong>de</strong> la règle (∧ 2 ⊢) est clairement symétrique. On peut énumérer tous les autres casclés, où une coupure fait correspondre une règle gauche et une règle droite <strong>de</strong> la mêmeformule.Remarque 2. Les informaticiens savent <strong>de</strong>puis longtemps qu’il existe <strong>de</strong>s liens forts entre lalogique et le typage d’un langage <strong>de</strong> programmation, éclairant certains concepts logiquessous un angle opérationnel. Les coupures présentées ici correspon<strong>de</strong>nt effectivement auxréductions d’un lambda-calcul, par exemple ici, avec <strong>de</strong>s paires, π 1 (< s, t >) → s. Onpeut alors interpréter la réduction <strong>de</strong>s coupures comme un processus <strong>de</strong> normalisation <strong>de</strong>spreuves.2.2.2.2 Cas ∨se réduit en............φΓ ⊢ A, ∆ (⊢ ∨1 )Γ ⊢ A ∨ B, ∆Le cas (⊢ ∨ 2 ) est symétrique.2.2.2.3 Cas ¬Γ, Γ ′ ⊢ ∆, ∆ ′φ.............′ 1φ..............′ 2Γ ′ , A ⊢ ∆ ′ Γ ′ , B ⊢ ∆ ′ (∨ ⊢)Γ ′ , A ∨ B ⊢ ∆ ′((A ∨ B)-coupure)............φφ.............′ 1Γ ⊢ A, ∆ Γ ′ , A ⊢ ∆ ′(A-coupure)Γ, Γ ′ ⊢ ∆, ∆ ′se réduit en...........φΓA ⊢ ∆ (⊢ ¬)Γ ⊢ ¬A, ∆Γ, Γ ′ ⊢ ∆, ∆ ′.............φ ′Γ ′ ⊢ A, ∆ ′ (¬ ⊢)Γ ′ ¬A ⊢ ∆ ′((¬A)-coupure)............φ.............φ ′Γ ⊢ A, ∆ Γ ′ , A ⊢ ∆ ′(A-coupure)Γ, Γ ′ ⊢ ∆, ∆ ′25


2.2.2.4 Cas ∀............φΓ ⊢ A, ∆ (⊢ ∀)Γ ⊢ ∀xA, ∆Γ, Γ ′ ⊢ ∆, ∆ ′φ ′......................Γ ′ , A[x := t] ⊢ ∆ ′ (∀ ⊢)Γ, ∀xA ⊢ ∆ ((∀xA)-coupure)se réduit enφ[x := t].................... ......................φ ′Γ ⊢ A[x := t], ∆ Γ ′ , A[x := t] ⊢ ∆ ′(A-coupure)Γ, Γ ′ ⊢ ∆, ∆ ′Ici φ[x := t] désigne la preuve φ dans laquelle on a remplacé toutes les occurrences libres<strong>de</strong> x issues <strong>de</strong> A par le terme t.2.2.2.5 Cas ∃se réduit en2.2.2.6 Résumé....................φΓ ⊢ A[x := t], ∆ (⊢ ∃)Γ ⊢ ∃xA, ∆Γ, Γ ′ ⊢ ∆, ∆ ′.............φ ′Γ ′ , A ⊢ ∆ ′ (∃ ⊢)Γ ′ , ∃xA ⊢ ∆ ′((∀xA)-coupure)....................φφ ′ [x := t]......................Γ ⊢ A[x := t], ∆ Γ ′ , A[x := t] ⊢ ∆ ′(A-coupure)Γ, Γ ′ ⊢ ∆, ∆ ′Les cas les plus importants, où il “se passe quelque chose”, sont traités. Il reste à traitertous les autres cas, où les règles utilisées juste avant la coupure ne correspon<strong>de</strong>nt pas. Ilfaut alors faire remonter la coupure correctement pour que les règles concor<strong>de</strong>nt à nouveau.La propriété essentielle est cependant déjà visible : c’est la réduction <strong>de</strong> la complexité <strong>de</strong>sformules coupées (mais pas en général <strong>de</strong> la taille <strong>de</strong>s preuves ou du nombre <strong>de</strong> coupures).Proposition 2.2.4. Dans chacun <strong>de</strong>s cas clés, la complexité <strong>de</strong> la formule coupée décroîtstrictement.Définition 2.2.5. Le <strong>de</strong>gré d’une coupure est la complexité <strong>de</strong> la formule coupée.26


2.2.3 Preuve complèteDéfinition 2.2.6. Le <strong>de</strong>gré d’une preuve est la borne supérieure du <strong>de</strong>gré <strong>de</strong> ses coupures.Le <strong>de</strong>gré d’une preuve sans coupure est 0, ce qui est cohérent puisque la complexité d’uneformule (donc le <strong>de</strong>gré d’une coupure) est au moins 1.Pour dire qu’une preuve φ ⊩ Γ ⊢ ∆ est <strong>de</strong> <strong>de</strong>gré strictement inférieur à d, on noteφ ⊩


En utilisant la règle <strong>de</strong> coupure sur ψ et ψ ′ , on obtient alors une preuve <strong>de</strong> Γ, Γ ′ ⊢∆, ∆ ′ <strong>de</strong> <strong>de</strong>gré comp(A) = d. Mais c’est précisément un <strong>de</strong>s cas clés : on peut donc letransformer comme vu précé<strong>de</strong>mment en une preuve <strong>de</strong> <strong>de</strong>gré strictement inférieurà d.Proposition 2.2.9. Si φ est une preuve <strong>de</strong> <strong>de</strong>gré d > 0, il existe une preuve du mêmeséquent <strong>de</strong> <strong>de</strong>gré strictement inférieur à d.Démonstration. Par induction sur H(φ). On utilise l’hypothèse d’induction sur lesprémisses (φ i ) <strong>de</strong> φ pour en obtenir <strong>de</strong>s preuves (ψ i ) <strong>de</strong> <strong>de</strong>gré inférieur à d.– si la <strong>de</strong>rnière règle r <strong>de</strong> φ n’est pas une règle <strong>de</strong> coupure, on l’applique simplement aux(ψ i ) et on obtient le résultat désiré.– Si r est une coupure, on utilise le lemme précé<strong>de</strong>nt.Théorème 2.2.10 (Élimination <strong>de</strong>s coupures dans LK). Si φ est une preuve du séquents dans LK, il existe une preuve <strong>de</strong> s <strong>de</strong> <strong>de</strong>gré nul.Démonstration. Par itération <strong>de</strong> la proposition précé<strong>de</strong>nte.Il est important <strong>de</strong> remarquer que ce résultat d’existence est en fait constructif : ona littéralement construit une preuve sans coupure en réduisant φ. En particulier, dansun système formel convenable, on pourrait exprimer cette réduction avec <strong>de</strong>s fonctionsrécursives primitives.2.3 Extension du résultat à l’arithmétiqueLa difficulté est maintenant d’étendre cette preuve à l’arithmétique. On a procédé dansle cas <strong>de</strong> LK par induction sur les hauteurs et <strong>de</strong>grés <strong>de</strong>s preuves. On a besoin pourl’arithmétique d’induction sur <strong>de</strong>s ordinaux bien plus gros, en fait jusqu’à ɛ 0 : c’est là quese situera le lien avec les suites <strong>de</strong> Goodstein.2.3.1 Formalisation <strong>de</strong> P en calcul <strong>de</strong>s séquentsOn utilise pour P le langage habituel <strong>de</strong> l’arithmétique : constante 0, fonctions succ, +, ×et relation =.Le système <strong>de</strong> preuve P est obtenu en ajoutant <strong>de</strong>s axiomes à LK.Les axiomes mathématiques (pour s, t, r termes arbitraires) :– succ(s) = succ(t) ⊢ s = t– succ(s) = 0 ⊢ (∅ implicite à droite)– s = t, t = r ⊢ s = r– s = t ⊢ succ(s) = succ(t)– ⊢ s + 0 = s– ⊢ s × 0 = 0– ⊢ s × succ(t) = s × t + sPour F (x) une formule à un paramètre (pointant toutes les occurrences libres <strong>de</strong> x) et tun terme du langage, on ajoute la règle d’induction sur F28


Γ, F (a) → F (succ(a)), ∆ (InfF )Γ, F (0) ⊢ F (t), ∆Les inductions compliquent en fait significativement la preuve d’élimination <strong>de</strong>s coupures :elles permettent une forme <strong>de</strong> “raisonnement infini” qui rend inapplicables les simplesconcepts <strong>de</strong> hauteur et <strong>de</strong> <strong>de</strong>gré.On peut cependant adapter cette idée, en utilisant <strong>de</strong>s ordinaux pour mesurer la “hauteur”<strong>de</strong>s preuves. Une numérotation astucieuse <strong>de</strong>s preuves par <strong>de</strong>s ordinaux permet <strong>de</strong> vérifierla terminaison <strong>de</strong> la réduction <strong>de</strong>s coupures <strong>de</strong> la même manière que pour LK ; c’est l’idée<strong>de</strong> la preuve <strong>de</strong> Gentzen, reprise par Takeuti ([Gen38], [Tak75]).Cependant, les choix <strong>de</strong> numérotation ne sont pas forcément naturels et ren<strong>de</strong>nt la preuveun peu absconse. Pour rendre les notations plus explicites, on peut passer à un système infinitaire,où les preuves sont <strong>de</strong>s objets infinis, et se laissent alors naturellement numéroterpar <strong>de</strong>s ordinaux. Cette idée, due à Schütte ([Sch56]), rend la preuve nettement plusaccessible.2.3.2 Système infinitaire2.3.2.1 Le système P ∞On définit ici un nouveau système <strong>de</strong> preuve, P ∞ , qui permet <strong>de</strong> manipuler <strong>de</strong>s preuves<strong>de</strong> taille infinie : le nombre <strong>de</strong> prémisses d’une inférence n’est plus forcément fini.On conserve comme règle <strong>de</strong> P ∞ les axiomes et les règles i<strong>de</strong>ntités <strong>de</strong> P. On utilise parcontre les règles logiques suivantes :Γ ⊢ A, ∆ (¬ ⊢)Γ, ¬A ⊢ ∆Γ, A ⊢ ∆ (⊢ ¬)Γ ⊢ ¬A, ∆Γ, A k ⊢ ∆Γ, A 1 ∧ A 2 ⊢ ∆(∧ k ⊢) k ∈ 1, 2Γ ⊢ A 1 , ∆ Γ ⊢ A 2 , ∆ (⊢ ∧)Γ ⊢ A 1 ∧ A 2 , ∆Γ, A 1 ⊢ ∆ Γ, B 2 ⊢ ∆ (∨ ⊢)Γ, A 1 ∨ A 2 ⊢ ∆Γ ⊢ A k , ∆Γ ⊢ A 1 ∨ A 2 , ∆(⊢ ∨ k ) k ∈ 1, 2Γ, A[x := k] ⊢ ∆ (∀k ⊢) k ∈ NΓ, ∀xA ⊢ ∆(Γ ⊢ A[x := i], ∆) i∈N (⊢ ∀)Γ ⊢ ∀xA, ∆(Γ, A[x := i] ⊢ ∆) i∈N (∃ ⊢)Γ, ∃xA ⊢ ∆Γ ⊢ A[x := k]∆ (⊢ ∃)Γ ⊢ ∃A, ∆k ∈ NLa notation (Γ i ⊢ ∆ i ) i∈N indique que l’inférence utilise une infinité <strong>de</strong> prémisses, tous lesΓ i ⊢ ∆ i pour i entier naturel.On peut <strong>de</strong> plus voir les ∧ et ∨ comme <strong>de</strong>s cas particuliers, finis et limités à <strong>de</strong>ux éléments,<strong>de</strong>s ∀ et ∃.29


2.3.2.2 L’induction dispensableTout l’intérêt <strong>de</strong> ce système infinitaire est qu’il ne nécessite pas d’ajouter une règlesupplémentaire pour l’induction : on peut déjà écrire <strong>de</strong>s preuves par induction dansle système donné.En effet, pour une formule F (k) et un n ∈ N donné, il est facile <strong>de</strong> démontrer le séquentF (0), ∀k(F (k) ⇒ F (succ(k)) ⊢ F (n). Par exemple pour n = 2 :F (0), ∀k(¬F (k) ∨ F (succ(k))) ⊢ F (0)F (0), ∀k(¬F (k) ∨ F (succ(k))), ¬F (0) ⊢ F (1)(axiome)(¬ ⊢)(axiome)F (1) ⊢ F (1) (∨ ⊢)F (0), ∀k(¬F (k) ∨ F (succ(k))), ¬F (0) ∨ F (1) ⊢ F (1) (∀ ⊢)F (0), ∀k(¬F (k) ∨ F (succ(k))) ⊢ F (1)(¬ ⊢)F (0), ∀k(¬F (k) ∨ F (succ(k))), ¬F (1) ⊢ F (2)(axiome)F (2) ⊢ F (2) (∨ ⊢)F (0), ∀k(¬F (k) ∨ F (succ(k))), ¬F (1) ∨ F (2) ⊢ F (2) (∀ ⊢)F (0), ∀k(¬F (k) ∨ F (succ(k))) ⊢ F (2)On peut en fait construire par récurrence une suite φ n <strong>de</strong> preuves <strong>de</strong> F (0), ∀k(F (k) ⇒F (succ(k)) ⊢ F (n) : ci-<strong>de</strong>ssous, φ 0 puis φ succ(n) à partir <strong>de</strong> φ n .F (0), ∀(k)(¬F (k) ∨ F (succ(k))) ⊢ F (0)(axiome)φ n................................................F (0), ∀(k)(¬F (k) ∨ F (succ(k))) ⊢ F (n)F (0), ∀(k)(¬F (k) ∨ F (succ(k))), ¬F (n) ⊢ F (succ(n))(¬ ⊢)(axiome)F (succ(n)) ⊢ F (succ(n)) (∨ ⊢)F (0), ∀k(¬F (k) ∨ F (succ(k))), ¬F (n) ∨ F (succ(n)) ⊢ F (succ(n)) (∀ ⊢)F (0), ∀k(¬F (k) ∨ F (succ(k))) ⊢ F (succ(n))On peut alors, en utilisant la nature infinitaire <strong>de</strong> ∀, construire une preuve <strong>de</strong> l’inductionselon F :()φ n ⊩ F (0), ∀k(F (k) ⇒ F (succ(k))) ⊢ F (n)Définition 2.3.1.n∈N (⊢ ∀)F (0), ∀k(F (k) ⇒ F (succ(k))) ⊢ ∀nF (n)2.3.2.3 Réduction <strong>de</strong>s coupuresOn conserve la définition du <strong>de</strong>gré d’une preuve <strong>de</strong> LK. Il faut par contre adapter un peula notion <strong>de</strong> hauteur pour travailler sur <strong>de</strong>s ordinaux. Au lieu <strong>de</strong> la définir intrinsèquementà partir <strong>de</strong>s preuves, on annote les preuves par leur hauteur.Définition 2.3.2. Une preuve ordonnée φ d’un séquent est la donnée d’un ordinal H(φ)et d’une preuve <strong>de</strong> φ dont les preuves <strong>de</strong>s prémisses φ i sont ordonnées, et qui vérifient∀iH(φ i ) < H(φ).On note φ ⊩ α


φα .........Γ ⊢ ∆Par la suite on utilisera généralement <strong>de</strong>s preuves ordonnées, et on ne le précisera plus.Lemme 2.3.3. Soit A une formule <strong>de</strong> complexité d. Il existe un opérateur R A sur lespreuves, tel que pour φ ⊩ α


– Si r est une coupure sur A, on a par induction <strong>de</strong>s preuves φ 1 et φ 2 <strong>de</strong> ses prémisses, <strong>de</strong><strong>de</strong>grés inférieurs à d. On utilise alors le lemme précé<strong>de</strong>nt pour obtenir R A (φ 1 , φ 2 ) ⊩ α+β


Définition 2.3.8. On définit simultanément la traduction φ ∞ dans P ∞ d’une preuveφ ⊩ Γ ⊢ ∆ <strong>de</strong> P, et la hauteur et le <strong>de</strong>gré d’une preuve <strong>de</strong> P, <strong>de</strong> façon à vérifierφ ∞ ⊩ H(φ)


preuve <strong>de</strong> cohérence. C’est ce qu’on va faire maintenant : à partir d’une preuve φ <strong>de</strong> P,on va construire <strong>de</strong>s sous-preuves φ[i], qui ne sont pas les prémisses <strong>de</strong> φ mais permettent<strong>de</strong> construire une preuve du même séquent, avec en plus <strong>de</strong> bonnes propriétés (héritées <strong>de</strong>P ∞ ) permettant une preuve <strong>de</strong> cohérence.La définition <strong>de</strong>s φ[i] est assez fastidieuse. Leur principal intérêt est l’obtention d’unemétho<strong>de</strong> purement finitiste, induction sur ɛ 0 exceptée.On notera R(φ) la <strong>de</strong>rnière règle <strong>de</strong> la preuve φ et S(φ) son séquent <strong>de</strong> conclusion.À partir d’une preuve φ <strong>de</strong> P, on définit ses sous-preuves φ[i] dans P, qui vérifient (φ[i]) ∞ =φ ∞ i . On aura aussi besoin <strong>de</strong> définir concl(φ), une règle <strong>de</strong> P ∞ telle que concl(φ) = R(φ ∞ ).On vérifiera par induction rapi<strong>de</strong>, au moment <strong>de</strong> leur définition, que ces φ[i] satisfont lespropriétés suivantes, dont l’intérêt est <strong>de</strong> vérifier que la traduction <strong>de</strong> P vers P ∞ préservel’élimination <strong>de</strong>s coupures :(S(φ[i]))Proposition 2.3.10. 1.iest une règle <strong>de</strong> P ∞S(φ)2. Si concl(φ) = (A-coupure), alors comp(A) < <strong>de</strong>g(φ)3. ∀i, <strong>de</strong>g(φ[i]) <strong>de</strong>g(φ)4. ∀i, H(φ[i]) < H(φ)Définition 2.3.11. Définition <strong>de</strong>s φ[i] et <strong>de</strong> concl(φ) par induction sur φ et distinction<strong>de</strong> sa <strong>de</strong>rnière règle r :– Ind F : φ[n] := S(φ n ) (les φ n sont définies en 2.3.1), et concl(φ) := (ɛ)– (E) :– Si concl(φ 1 ) = A-coupure, concl(φ) := (ɛ) et( φ1 [1] φ 1 [2])(E) (E)φ[1] := φ 1 [1] φ 1 [2](A-coupure)S(φ)– sinon concl(φ) := concl(φ 1 ) et φ[i] := φ 1[i](E)φ 1 [i]– Si r est une A-coupure, on utilise la procédure <strong>de</strong> réduction <strong>de</strong>s coupures du lemme2.2.8 : on obtient une règle r ′ et <strong>de</strong>ux prémisses φ ′ 1 , φ′ 2 , et alors on pose concl(φ) := r′ ,φ[1] = φ ′ 1 , φ[2] = φ′ 2 .– dans les autres cas, la règle r existe encore dans P ∞ donc on a concl(φ) = r et :– (axiome) : pas <strong>de</strong> prémisses φ[i]– (⊢ ∧), (∨ ⊢) : φ[i] := φ i i ∈ {1, 2}– (∧ i ⊢), (⊢ ∨ i ) : φ[1] := φ 1– (⊢ ∀), (∃ ⊢) : φ[i] := φ 1 [x := i] i ∈ N– (∀ k ⊢), (⊢ ∃ k ) : φ[k] := φ kL’intérêt <strong>de</strong> ces fastidieuses définitions et <strong>de</strong>s fastidieuses vérifications qui y sont associéesest le suivant : on a défini les prémisses et la <strong>de</strong>rnière règle <strong>de</strong> la preuve qu’on obtiendraitdans P après élimination <strong>de</strong>s coupures. On ne manipule plus que <strong>de</strong>s objets <strong>de</strong> (P) :concl(φ) est une règle <strong>de</strong> P ∞ mais elle ne sert qu’à gui<strong>de</strong>r la définition <strong>de</strong>s φ[i]. On adonc obtenu une métho<strong>de</strong> <strong>de</strong> réduction <strong>de</strong>s coupures dans P qui serait définissable par <strong>de</strong>smoyens purement finitistes, sans <strong>de</strong>voir passer par P ∞ .On peut maintenant passer à l’objet <strong>de</strong> cette partie, le résultat <strong>de</strong> cohérence <strong>de</strong> l’arithmétique.34


Proposition 2.3.12. Soit P ⊥ l’ensemble <strong>de</strong>s preuves φ du séquent ∅ ⊢ ∅ <strong>de</strong> <strong>de</strong>gré nul. Siφ ∈ P ⊥ , alors φ[1] ∈ P ⊥ et H(φ[1]) < H(φ).(S(φ[i]))Démonstration. D’après le premier fait <strong>de</strong> la proposition 2.3.10,iest uneS(φ)règle <strong>de</strong> P ∞ . La seule règle <strong>de</strong> P ∞ pouvant produire un séquent vi<strong>de</strong> est la règle (ɛ), doncnécessairement concl(φ) = (ɛ), donc φ[1] existe et vérifie H(φ[1]) < H(φ).Théorème 2.3.13 (Cohérence <strong>de</strong> P). Par bonne fondation <strong>de</strong> l’ordinal ɛ 0 , il n’existe pas<strong>de</strong> preuve du faux (∅ ⊢ ∅) dans P.Démonstration. D’après la proposition précé<strong>de</strong>nte, l’existence d’un élément dans P ⊥implique l’existence d’une suite infinie <strong>de</strong> hauteurs ordinales décroissantes. Or d’après laproposition 2.3.9, ces hauteurs appartiennent à ɛ 0 , qui est supposé bien fondé : P ⊥ estnécessairement vi<strong>de</strong>.Supposons maintenant qu’il existe une preuve φ <strong>de</strong> ∅ ⊢ ∅ <strong>de</strong> <strong>de</strong>gré d non nul. Alors pardéfinition.......φS(φ) ... (E)...d applications<strong>de</strong> la règle (E)......(E)S(φ)est une preuve <strong>de</strong> φ <strong>de</strong> <strong>de</strong>gré nul (chaque application <strong>de</strong> la règle (E) fait <strong>de</strong>scendre <strong>de</strong> 1 le<strong>de</strong>gré), ce qui est contradictoire.Remarque 5. Étant donné que l’on est passé <strong>de</strong> LK à P en ajoutant essentiellement larègle d’induction sur les entiers naturels, on a essentiellement montré que l’induction surles entiers naturels “était cohérente”, en utilisant l’induction... jusqu’à ɛ 0 . À première vue,il y a ici une arnaque : on aurait admis plus que ce que l’on veut obtenir !En réalité, la preuve utilise un principe formel bien moins puissant que l’induction transfiniesur ɛ 0 : alors que l’induction sur P s’applique à n’importe quelle formule F , on n’a enfait utilisé ici qu’une induction sur une formule sans quantificateurs. C’est ce qui fait toutl’intérêt <strong>de</strong> la preuve : on <strong>de</strong>man<strong>de</strong> une induction sur <strong>de</strong>s ordinaux plus gros, mais sansquantificateurs, ce qui correspond à <strong>de</strong>s opérations toujours calculables. On peut en particulierobtenir ce principe <strong>de</strong> démonstration par le biais <strong>de</strong>s suites <strong>de</strong> Goodstein, commenous allons le montrer dans la section suivante.2.4 Suites <strong>de</strong> Goodstein et bonne fondation <strong>de</strong> ɛ 0Pour finir démontrons la proposition suivante.Proposition 2.4.1. Le théorème <strong>de</strong> Goodstein implique dans P la bonne fondation <strong>de</strong> ɛ 0 .Plus précisément, P et le théorème <strong>de</strong> Goodstein permettent <strong>de</strong> démontrer qu’il n’existe pas<strong>de</strong> suite strictement décroissante d’ordinaux strictement inférieurs à ɛ 0 qui soit récursiveprouvablement totale (ie la suite <strong>de</strong>s co<strong>de</strong>s <strong>de</strong>s ordinaux récursive prouvablement totale)35


Pour commencer, on définit une généralisation <strong>de</strong>s suites <strong>de</strong> Goodstein (ou plutôt <strong>de</strong> lasuite ordinale associée), les suites <strong>de</strong> Goodstein lentes. On démontrera tout d’abord quel’on peut à partir <strong>de</strong> toute suite d’ordinaux décroissants définir une suite <strong>de</strong> Goodsteinlente qui la majore. Puis on démontrera que leur terminaison (le fait qu’elles finissentstationnaires en zéro) est équivalent au théorème <strong>de</strong> Goodstein (terminaison <strong>de</strong>s suites <strong>de</strong>Goodstein standards).Définition 2.4.2 (Suites <strong>de</strong> Goodstein lentes <strong>de</strong> α <strong>de</strong> transition ρ). Soit ρ strictementcroissante telle que ρ(0) 2 et α < ɛ 0 ρ(0)-représentable. On définit γnα,ρ (<strong>de</strong> nouveau,souvent notée γ n ) suite d’ordinaux par :{γ 0 = αγ n+1 = 〈γ n 〉(ρ(n + 1)) pour tout n ∈ NLemme 2.4.3. Soit (λ i ) i∈N une suite d’ordinaux strictement décroissante récursive prouvablementtotale dans Peano. Il existe alors α < ɛ 0 et ρ récursive prouvablement totaledans P telle que pour tout i ∈ N, λ iγ α,ρiDémonstration. Soit ρ(0) = 1+max <strong>de</strong>s coefficients apparaissant dans l’écriture en baseω itérée <strong>de</strong> λ 0 . Posons <strong>de</strong> plus pour tout n, ρ(n + 1) = 1 + max <strong>de</strong> ρ(n) et <strong>de</strong>s coefficientsapparaissant dans l’écriture en base ω itérée <strong>de</strong> λ n+1 . ρ est récursive prouvablement totaledans P car la suite (λ i ) i∈N l’est et il est récursif prouvablement total <strong>de</strong> récupérer lescoefficient et en faire le max. De plus ρ est strictement croissante et pour tout i ∈ N, λ iest ρ(i)-représentable.Soit (γ n ) n∈N la suite <strong>de</strong> Goodstein lente <strong>de</strong> λ 0 <strong>de</strong> transition ρ. Montrons par récurrenceque pour tout i ∈ N on a γ i λ i .Si i = 0, comme γ 0 = λ 0 , c’est vérifié.Supposons γ i λ i , γ i+1 = 〈γ i 〉(ρ(i + 1)) 〈λ i 〉(ρ(i + 1)). λ i = 0 est impossible vu que pardéfinition 0 γ i+1 < γ i , donc λ i ≠ 0 et 〈λ i 〉(ρ(i + 1)) est le plus grand ordinal qui vérifieβ < λ i et β est ρ(i + 1)-représentable (cf. proposition 1.2.7). Or λ i+1 vérifie aussi ces <strong>de</strong>uxpropriétés donc 〈λ i 〉(ρ(i + 1)) λ i+1 . On a donc bien la propriété voulue.Lemme 2.4.4. Soient α, β < ɛ 0 avec α ≫ β et (q n ) n∈N une suite d’entiers, s’il existe n 0tel que 〈α + β〉(q 1 , . . . , q n0 ) α, alors il existe n n 0 tel que 〈α + β〉(q 1 , . . . , q n0 ) = αDémonstration. Si 〈β〉(q 1 , . . . , q k ) > 0 alors 〈α + β〉(q 1 , . . . , q k+1 ) = α + 〈β〉(q 1 , . . . , q k+1(cela se démontre par récurrence sur k en appliquant la proposition 1.2.5). Donc si ∀k ∈ N,〈β〉(q 1 , . . . , q k ) > 0 alors ∀k ∈ N, 〈α + β〉(q 1 , . . . , q k ) > α ce qui rentre en contradictionavec les hypothèses. il existe donc un n minimal tel que 〈β〉(q 1 , . . . , q n ) = 0 et alors comme〈β〉(q 1 , . . . , q n−1 ) > 0, on a 〈α + β〉(q 1 , . . . , q n0 ) = α.Lemme 2.4.5. Le théorème <strong>de</strong> Goodstein implique la terminaison <strong>de</strong> toutes les suites <strong>de</strong>Goodstein lentes à transition récursive prouvablement totale dans P.Démonstration. Soit (γ i ) i∈N la suite <strong>de</strong> Goodstein lente <strong>de</strong> α et <strong>de</strong> transition ρ récursiveprouvablement totale dans P.Par le théorème <strong>de</strong> Wainer (théorème 1.4.1), il existe γ < ɛ 0 tel que pour tout x ∈ N,ρ(x) < H γ (x). Par la proposition 1.2.3, il existe n 0 ∈ N tel que α, γ < ω n0 et donc36


ρ < ∗ H ωn0 . Comme on cherche à montrer que la suite <strong>de</strong>vient stationnaire en zéro, ce quiest une propriété qui ne concerne pas les premiers termes, on peut supposer que ρ < H ωn0 .Par le théorème <strong>de</strong> Cichon (voir 1.2.18), en notant h(α, p) = min{z | 〈α〉(p, . . . , z) = 0},pour tout x ∈ N,ρ(x) < H ωn0 (x) = h(ω n0 , x)Soit β = ω ωn 0 +α+1 où on a fait attention à avoir ω n0 ≫ α. Soit (β n ) n∈N la suite ordinaleassociée à la suite <strong>de</strong> Goodstein standard commençant à f ω,ρ(0)+1 (β) et en base ρ(0) + 1.On a alors bien β 0 = β car α est par définition ρ(0)-représentable et ω n0 est 2-représentabledonc ρ(0) + 1-représentable.On pose φ(1) = ρ(0) + 2.Comme〈β〉(ρ(0) + 2) = ω ωn 0 +〈α+1〉(ρ(0)+2) · (ρ(0) + 1) + 〈ω ωn 0 +〈α+1〉(ρ(0)+2) 〉(ρ(0) + 2)et que la suite Goodstein finit stationnaire en zéro, par le lemme 2.4.4, il existe φ(1) telque β φ(1)−1 = ω ωn 0 +〈α+1〉(φ(0)) .Par récurrence, tant que 〈α+1〉(φ(0), . . . , φ(i)) > 0, on construit φ(i+1) comme le plus petitterme j supérieur à φ(i) tel que β j−1 = ω ωn 0 +〈α+1〉(φ(0),...,φ(i)) . Si 〈α+1〉(φ(0), . . . , φ(i)) =0 on prend φ(i + 1) = φ(i) + 1.Le théorème <strong>de</strong> Goodstein implique que β n s’annule à partir d’un certain rang. Donc〈α + 1〉(φ(0), . . . , φ(i)) s’annule aussi à partir d’un certain rang car ω δ > 0 pour toutδ < ɛ 0 .Comme ω n0 > α, et ρ(0) 2, par le lemme 2.4.4, pour tout i 1 tel que 〈α +1〉(φ(0), . . . , φ(i)) > 0, avant d’atteindre φ(i + 1) il faut annuler un terme <strong>de</strong> la formeω ωn 0 +〈α+1〉(φ(0),...,φ(i)) et donc :φ(i + 1) min{j | 〈ω ωn 0 +〈α+1〉(φ(0),...,φ(i)) 〉(φ(i) + 1, . . . , j) = 0} min{j | 〈ω n0 〉(φ(i) + 1, . . . , j) = 0} h(ω n0 , φ(i) + 1)> ρ(φ(i) + 1) ρ(i + 2)car ρ est strictement croissante et φ(i) i + 1 car φ(0) 3 et φ est strictement croissante.On a démontré que la suite <strong>de</strong> Goodstein lente commençant en α et <strong>de</strong> transition φ s’annuleà partir d’un certain rang. Comme φ(i) > ρ(i) pour tout i, par récurrence et en appliquantle fait que 〈α〉(n) soit croissante en fonction <strong>de</strong> n, on a〈α + 1〉(φ(0), . . . , φ(i)) 〈α + 1〉(ρ(0), . . . , ρ(i)) = 〈α〉(ρ(1), . . . , ρ(i))La suite <strong>de</strong> Goodstein lente commençant en α et <strong>de</strong> transition ρ termine donc aussi.Démonstration <strong>de</strong> la proposition 2.4.1. Soit (λ i ) i∈N une suite d’ordinaux strictementdécroissante récursive prouvablement totale dans P. Par le lemme 2.4.3, il existe une suite<strong>de</strong> Goodstein lente à transition récursive prouvablement totale dans P qui la majore. Lelemme 2.4.5 implique, comme on suppose le théorème <strong>de</strong> Goodstein, que la suite lente termine.Il existe donc n ∈ N tel que pour tout i n, λ i = 0 ce qui contredit la décroissancestricte. Une suite d’ordinaux appartenant à ɛ 0 strictement décroissante n’existe pas si onsuppose le théorème <strong>de</strong> Goodstein.37


On remarquera cependant que la preuve du lemme 2.4.5 n’est pas finitiste telle qu’elleest donnée ici. En effet notre démonstration du théorème <strong>de</strong> Wainer ne l’est pas, mais lapreuve donnée dans [BW87] passant par la théorie <strong>de</strong> la démonstration l’est.Dans son article <strong>de</strong> 1944 (voir [Goo44]), Goodstein introduit ses suites en étant à larecherche d’une preuve finitiste la bonne fondation <strong>de</strong> ɛ 0 (c’est à dire démontrable dans P).Il aurait alors pu démontrer que la “reine Zahlentheorie” <strong>de</strong> Gentzen (et donc P) démontresa propre cohérence et est donc incohérente, d’après le <strong>de</strong>uxième théorème d’incomplétu<strong>de</strong><strong>de</strong> Gö<strong>de</strong>l.On remarquera la gran<strong>de</strong> ironie, ou la gran<strong>de</strong> régularité <strong>de</strong> tout cela : si ses suites permettentbien <strong>de</strong> montrer la cohérence <strong>de</strong> P, son théorème par contre n’admet pas <strong>de</strong> preuvefinitiste...38


Annexe ATout ce que vous avez toujoursvoulu savoir sur les ordinaux sansjamais oser le <strong>de</strong>man<strong>de</strong>rOn introduira dans cet appendice quelques notions sur les ordinaux qui sont utiles à lacompréhension <strong>de</strong> ce mémoire, il s’inspire du cours donné par François Loeser à la FIMFA.A.1 Ordres et bons ordresLa notion d’ordinal étant essentiellement liée à celle <strong>de</strong> bon ordre, on commencera parintroduire ces notions.Définition A.1.1 (Ordre). Soit X un ensemble, la relation binaire < est un ordre, si elleest transitive (∀x, y, z, x < y ∧ y < z ⇒ x < z) et antiréflexive (∀x, ¬ x < x)).On note x y si x < y ou x = y.Définition A.1.2 (Bon ordre). Soit Y ⊂ X, Y admet un plus petit élément x si ∀y ∈Y, x y.Un ordre < est un bon ordre si toute partie non vi<strong>de</strong> admet un plus petit élément.Un bon ordre est forcément total, c’est à dire que pour tout x, y ∈ X, on a soit x = y, soitx < y, soit y < x. En effet si x ≠ y, alors {x, y} admet un plus petit élément.Lemme A.1.3 (Bonne fondation <strong>de</strong>s bons ordres). Soit X un ensemble bien ordonné.Alors il n’existe pas dans X <strong>de</strong> suite infinie strictement décroissanteOn remarque d’ailleurs que c’est plutôt la bonne fondation que le bon ordre qui est utiliséedans ce mémoire.Démonstration. Soit (x n ) n∈N une suite strictement décroissante dans X. {x n } n∈N admetun plus petit élément car X est bien ordonné, soit n 0 l’indice <strong>de</strong> ce plus petit élément dansla suite. On a alors x n0 +1 < x n0 par stricte décroissance, ce qui contredit la minimalité <strong>de</strong>x n0 .39


A.2 OrdinauxA.2.1Définition et première propriétésDéfinition A.2.1 (Ordinal). Un ensemble X est un ordinal s’il est bien ordonné par ∈et s’il est transitif (∀x ∈ X, ∀y ∈ x, y ∈ X).Les propriétés suivantes <strong>de</strong>s ordinaux, qui sont <strong>de</strong>s conséquences directes <strong>de</strong> la définition,donnent une première idée <strong>de</strong> ce que sont ces objets peut être un peu bizarres à premièrevue.Proposition A.2.2 (Premières propriétés <strong>de</strong>s ordinaux). Soit α un ordinal :(i) ∅ est un ordinal.(ii) si α ≠ ∅, alors ∅ ∈ α.(iii) α /∈ α(iv) Soit β ∈ α alors β est un ordinal.(v) Soit β ∈ α alors β = S


Soit δ ∈ S γ, comme X est un segment initial, on <strong>de</strong>vrait avoir γ ∈ X ce quicontredit le fait que γ ∈ α\X.On a donc bien X = S


Démonstration. Par le même argument que dans la preuve précé<strong>de</strong>nte, β = ⋂ α∈A α estun ordinal. De plus pour tout α ∈ A on a β α.Montrons par l’absur<strong>de</strong> que β ∈ A. Si quelque soit α ∈ A β < α, alors β ∈ ⋂ α∈A α = βce qui rentre en contradiction avec la proposition A.2.2.(iii).Proposition A.2.5. Soit A un ensemble d’ordinaux. Notons β = ⋃α.Alors β est un ordinal et si γ est un ordinal tel que γ < β, alors il existe α ∈ A tel queγ < α.Démonstration. Montrons d’abord que β est transitif. Soient δ ∈ γ ∈ β. Il existe α ∈ Atel que δ ∈ γ ∈ α. Par transitivité <strong>de</strong> α, δ ∈ α et donc δ ∈ β.On munit β <strong>de</strong> l’ordre définit comme suit : soient γ, δ ∈ β il existe λ, µ ∈ A tels que γ ∈ λet δ ∈ µ. Par le théorème A.2.3 et la proposition A.2.2.(vi), on a soit λ ⊂ µ, soit µ ⊂ λ.Supposons µ ⊂ λ, on a alors γ, δ ∈ λ et on prend l’ordre dans λ. On vérifie aisément quec’est bien un ordre par hérédité dans les éléments <strong>de</strong> A.Montrons que c’est un bon ordre. Soit X ⊂ β non vi<strong>de</strong>. X est un ensemble d’ordinauxdonc d’après la proposition A.2.4, il admet un plus petit élément, ⋂ x∈X x.La <strong>de</strong>uxième affirmation est juste la définition <strong>de</strong> l’union où les < remplacent les ∈.A.2.2TerminologieDéfinition A.2.6 (Successeur, limite). Soit α un ordinal :1. On dit que α + est le successeur <strong>de</strong> α.2. Si α ≠ ∅ et si α n’est pas un successeur, on dit que α est limite.La proposition qui suit relie un ordinal limite aux ordinaux inférieurs <strong>de</strong> même que l’onavait une relation entre un ordinal successeur et son prédécesseur.Proposition A.2.7. Soit α ≠ ∅ un ordinal. On a équivalence entre :(1) α limite(2) α = ⋃ β∈αβ(3) Si γ ∈ α, alors γ + ∈ αDémonstration. Commençons par (1) ⇒ (2). On a toujours ⋃ β∈α⊂ α, c’est la définition<strong>de</strong> la transitivité <strong>de</strong> α.Montrons l’inclusion réciproque. Supposons que l’on ait pas α = ⋃ β∈αβ. Soit γ, le pluspetit élément <strong>de</strong> α\ ⋃ β∈α β.On a alors γ + ∉ α, sinon comme γ ∈ γ + on aurait γ ∈ ⋃ β∈αβ. On a donc γ < α γ+donc α = γ + d’après la proposition A.2.2.(vii), c’est à dire α est successeur.Montrons maintenant (2) ⇒ (3). Soit γ ∈ α. Comme α = ⋃ β∈αβ, il existe β ∈ α tel queγ < β mais comme γ + est le plus petit ordinal strictement supérieur à γ, γ + β < α.Montrons enfin (3) ⇒ (1). Supposons que α soit successeur. On a donc α = γ + . Enparticulier, γ ∈ α mais γ + = α n’appartient pas à α d’après la proposition A.2.2.(iii).Proposition A.2.8.α∈A42


Définition A.2.9 (Ordinaux finis, ω). Soit α un ordinal :1. α est dit fini si ni α ni aucun éléments <strong>de</strong> α n’est limite.2. On note ω le plus petit ordinal limite.3. Pour tout n ∈ N, on note n (ou plus simplement n s’il n’y a pas d’ambiguïté sur lefait que ce soit un ordinal) l’unique ordinal <strong>de</strong> cardinal n. On a donc :0 = ∅1 = {∅}n + 1 = n +Cette <strong>de</strong>rnière définition a un sens car il y a un seul ordinal <strong>de</strong> cardinal n. En effet, si αest <strong>de</strong> cardinal n alors comme α ∉ α, α + est <strong>de</strong> cardinal n + 1. Donc si on a β > α, alorscomme α + ⊂ β par la proposition A.2.2.(vii), β est <strong>de</strong> cardinal supérieur à n + 1. De plusn + est bien <strong>de</strong> cardinal n + 1 et donc, par une récurrence évi<strong>de</strong>nte, pour tout n ∈ N ilexiste un ordinal <strong>de</strong> cardinal n.Proposition A.2.10. Les ordinaux finis sont exactement les ordinaux <strong>de</strong> cardinal fini.De plus ce sont exactement les éléments <strong>de</strong> ω, d’où ω = ⋃ n∈Nn.ω est isomorphe à (N, n,en effet n + = n + 1 ⊂ β donc n < n + β, ce qui implique en autre que β ne peut être <strong>de</strong>cardinal fini sinon on aurait n = β > n pour un certain n ∈ N.Supposons au contraire que β soit successeur, c’est à dire que β = γ + . γ ne peut pasêtre <strong>de</strong> cardinal fini sinon β le serait aussi. Donc pour tout n ∈ N, par le théorème A.2.3,comme on ne peut pas avoir γ ∈ n (sinon par transitivité <strong>de</strong> n, γ serait aussi <strong>de</strong> cardinalfini car inclut dans n) ni γ = n, on a n < γ. Donc β = ⋃ n∈N n ⊂ γ ∈ γ+ = β ce qui estimpossible par la proposition A.2.2.(iii).Donc ω β = ⋃ n∈Nn, en particulier quelque soit α fini, comme α ∈ ω ⊂ β, il existe, parla proposition A.2.5, n ∈ N tel que α ∈ n. En particulier α est <strong>de</strong> cardinal fini. Donc ω estl’ensemble <strong>de</strong> tous les ordinaux <strong>de</strong> cardinal fini.43


L’isomorphisme que l’on cherche est donc simplement :{ N → ωn ↦→ nA.2.3Ordinaux et bons ordresOn conclura cette partie par le théorème suivant qui indique le lien qui existe entre ordinauxet bons ordres. Tout bon ordre peut être représenté par un et un seul ordinal.Théorème A.2.11 (Ordinaux et bons ordres). Soit X un ensemble bien ordonné. Alorsil existe un unique ordinal α et une unique bijection f : X → α telle que pour tout x ∈ X,si x < y alors f(x) < f(y)On dit que X et α sont isomorphes en tant qu’espaces ordonnés.Démonstration. On commencera par montrer l’unicité <strong>de</strong> cet ordinal et <strong>de</strong> cette fonctionsi ils existent avant <strong>de</strong> montrer qu’ils existent.Supposons que l’on a f : X → α et f ′ : X → α ′ <strong>de</strong>ux tels isomorphismes. Posonsg = f −1 ◦ f ′ : α → α ′ qui est un isomorphisme. Supposons que g ≠ Id. Soit β 0 le pluspetit élément <strong>de</strong> α tel que g(β 0 ) ≠ β 0 . Quelque soit γ ∈ β 0 , g(γ) = γ. Or comme g est unisomorphisme, γ ∈ δ ⇐⇒ g(γ) ∈ g(δ) et particulier γ ∈ β 0 ⇐⇒ γ = g(γ) ∈ g(β 0 ), doncg(β 0 ) = β 0 ce qui est absur<strong>de</strong>.Donc g = Id et donc α = α ′ et f = f ′ .Pour montrer l’existence, on remarque d’abord que, pour tous x ∈ X et α un ordinal, s’ilexiste un isomorphisme entre S


indique l’union disjointe). On muni A + B <strong>de</strong> l’ordre lexicographique, c’est à dire pourc, d ∈ (A ∪ B) et i, j ∈ {0, 1}, on a (c, i) < (d, j)) si i < j ou si i = j et c < d.Proposition A.3.2. Si (A,


(iii) Comme α+1 est isomorphe à (α, 0)⊔{(1, 1)}, et qu’on a l’isomorphisme d’ensemblesordonnés suivant : ⎧⎨ α + 1 → α +(β, 0) ∈ (α, 0) ↦→ β⎩(1, 1) ↦→ αon a bien α + 1 isomorphe à α + . Comme ce sont tous <strong>de</strong>ux <strong>de</strong>s ordinaux, ils sontégaux par le théorème A.2.11.(iv) Montrons d’abord (⇒). D’après la proposition A.2.2.(v), comme α ∈ β, α = S 0 tel que γ = β + δ. On a donc α + γ =α + β + δ = (α + β) + δ > α + β toujours par la proposition (iv).Supposons α + β = α + γ, si β < γ, α + β < α + γ ce qui est absur<strong>de</strong>, <strong>de</strong> même siγ < β alors α + γ < α + β ce qui est absur<strong>de</strong>. Donc β = γ.(vi) Notons δ = ⋃ γ∈βα + γ. D’après la proposition (v), pour tout γ ∈ β, α + γ ∈ α + β.Donc, d’après la proposition A.2.2.(vi), α + γ ⊂ α + β donc δ ⊂ α + β.Réciproquement, soit λ ∈ α+β. Supposons d’abord que λ α. D’après la proposition(iv), il existe γ ∈ β tel que λ = α + γ donc λ ∈ δ.Si λ < α, comme β est limite, 0 ∈ β. Donc λ ∈ α + 0 ⊂ δ ce qui permet <strong>de</strong> conclure.(vii) Soit α = n un ordinal fini. Comme 1 = {∅}, 1+n est isomorphe à {(∅, 0)}⊔(n, 1) quiest <strong>de</strong> cardinal n+1. C’est donc l’ordinal <strong>de</strong> cardinal n+1, ie n + 1 = n + = α + = α+1d’après la proposition (iii).Montrons d’abord que 1+ω = ω. Par définition 1+ω est isomorphe à {(∅, 0)}⊔(ω, 1).On dispose <strong>de</strong> plus <strong>de</strong> l’isomorphisme suivant :⎧⎨⎩{(∅, 0)} ⊔ (ω, 1) → ω(∅, 0) ↦→ 0(n, 1) ↦→ n + 11 + ω est donc isomorphe à ω. Ils sont donc égaux.Soit α un ordinal qui ne soit pas fini. α ω d’après la proposition A.2.10. D’aprèsla proposition (iv), il existe β 0 tel que α = ω + β. On en déduit que 1 + α =1 + ω + β = ω + β = α.46


A.3.2MultiplicationDéfinition A.3.5 (Produit <strong>de</strong> <strong>de</strong>ux ensembles ordonnés). Soient (A,


(iii) {∅} × α est canoniquement isomorphe à α par l’application qui a (∅, β) associe β, (<strong>de</strong>même que α × ∅).(iv) on vérifiera que l’application⎧⎨⎩est l’isomorphisme qui convient.A × ((B, 0) ⊔ (C, 1)) → (A × B, 0) ⊔ (A × C, 1)(a, (b, 0)) ↦→ ((a, b), 0)(a, (c, 1)) ↦→ ((a, c), 1)(v) On vérifiera aisément que l’application suivante est un isomorphisme :⎧⎨⎩2 × ω → ω(∅, n) ↦→ 2n({∅}, n) ↦→ 2n + 1ω et 2 · ω sont donc isomorphes. Ils sont donc égaux.De plus ω · 2 = ω + ω par distributivité. On ne peut donc pas avoir 2 · ω = ω · 2 sinonon aurait ω = ω + ω et donc ω = 0 ce qui est absur<strong>de</strong> car 1 ∈ ω.(vi) Comme γ > β, il existe δ > 0 tel que γ = β + δ. On a alors α · γ = α · β + α · δ.De plus α · δ = 0 si et seulement si α = 0 ou δ = 0. En effet si α ≠ ∅ et <strong>de</strong>lta ≠ ∅alors α × δ ≠ ∅ et ne peut donc pas être en bijection avec l’ensemble vi<strong>de</strong>.Comme ici α ≠ 0 et δ ≠ 0 par hypothèse, α · δ > 0 et donc α · γ > α · β.Supposons β · α = γ · α. Si β > γ, alors α · β > α · γ ce qui est absur<strong>de</strong>, et si β < γ,alors α · β < α · γ ce qui est aussi absur<strong>de</strong>. Donc β = γ.(vii) D’après la proposition (vi), pour tout γ ∈ β, α · γ < α · β donc, d’après la propositionA.2.2.(vi), α · γ ⊂ α · β, donc ⋃ γ∈β α · γ ⊂ α · β.Montrons maintenant l’inclusion réciproque. Montrons d’abord que si on a un ordinalδ tel que pour tout γ ∈ β, δ > α · γ alors δ α · β. Montrons plus précisément queα · β est isomorphe à un segment initial <strong>de</strong> δ.En effet, comme β est limite, α · β = α · ⋃γ∈β γ ≃ α × ⋃ γ∈βγ. Pour tout γ ∈ β,on note f γ l’isomorphisme entre α × γ et α · γ. Soit (λ, µ) ∈ α × ⋃ γ∈βγ, il existedonc γ ∈ β tel que µ ∈ γ. Posons φ(λ, µ) = f γ (λ, µ). Cette application est biendéfinie car si µ ∈ γ ′ ∈ β, on peut supposer γ γ ′ . on remarque qu’alors α × γ estun segment initial <strong>de</strong> α × γ ′ donc comme f γ ′ est un morphisme f γ ′(α × γ) est unsegment initial <strong>de</strong> α · γ ′ , c’est donc un ordinal d’après la proposition A.2.2.(v). Cetordinal est isomorphe à α × γ par f γ ′α×γqui est lui même isomorphe à α · γ parf γ . D’après le théorème A.2.11, f γ ′α×γ = f γ. En particulier comme (λ, µ) ∈ α × γ,f γ ′(λ, µ) = f γ (λ, µ). φ est donc bien définie.C’est un morphisme injectif car si on a µ 1 , µ 2 ∈ ⋃ γ∈βγ, alors il existe γ ∈ β tel queµ 1 , µ 2 ∈ γ, et, pour tout γ ∈ β, φ α×γ = f γ qui est un morphisme injectif.De plus φ(α × ⋃ γ∈β γ) est un segment initial. En effet, soient µ ∈ φ(α × ⋃ γ∈βγ) etλ ∈ δ\φ(α× ⋃ γ∈β γ). Il existe γ ∈ β, ν ∈ γ et κ ∈ α tels que µ = φ(κ, ν) = f γ(κ, ν) ∈α · γ. Comme α · γ ⊂ φ(α × ⋃ γ∈βγ) et que c’est un segment initial <strong>de</strong> δ, on a bienλ ∈ δ\(α · γ) et donc µ < λ.48


On a donc un isomorphisme entre α · β ≃ α × ⋃ γ∈βγ et un segment initial <strong>de</strong> δ. Onen conclut donc que α · β δ.On peut maintenant conclure. Notons δ = ⋃ γ∈βα · γ. Comme β est limite, pour toutβ ∈ γ, γ + ∈ β d’après la proposition A.2.7 et donc α · γ < α · γ + δ. On en déduitd’après le résultat précé<strong>de</strong>nt que δ α · β.(viii) On démontrera cette propriété en supposant que l’on sait que α ∈ β · γ pour uncertain γ. On peut démontrer par exemple que α β · α (et donc α < β · α + ) enmontrant qu’il existe un morphisme injectif <strong>de</strong> α dans β · α puis en montrant quesi un ordinal s’injecte dans un autre alors il en est un segment initial. Mais cette<strong>de</strong>rnière proposition nécessiterai un certain travail.Soit δ = min{δ ∈ γ + | β · δ > α}. Ce plus petit élément existe car cet ensemble estnon vi<strong>de</strong>, il contient γ. Montrons que δ est forcément successeur. Si δ était limite,on aurait alors α · δ = ⋃ γ∈δα · γ d’après la proposition (vii). Comme α ∈ β · δ, ilexisterai γ ∈ δ tel que α ∈ β · γ ce qui rentre en contradiction avec la minimalité <strong>de</strong>δ. On en déduit que δ est successeur, ie δ = λ + . Par minimalité <strong>de</strong> δ, β · λ α. Ilexiste donc ρ tel que α = β · λ + ρ.Il reste à montrer que ρ < β. Si ce n’était pas le cas, on auraitA.3.3ce qui est impossible.Exponentiationα = β · λ + ρ β · λ + β= β · λ +> αDéfinition A.3.9 (Puissance d’un ensemble ordonné par un autre). Soient (A,


X 1 est un segment initial <strong>de</strong> X 0 . En effet, soit f ∈ X 0 \X 1 et g ∈ X 1 . On a s(f) b 1Supposons s(f) > b 1 , g(s(f)) = 0 < f(s(f)) <strong>de</strong> plus quelque soit b > s(f) > s(g) = b 1 ,f(b) = 0 = g(b). On a donc bien g < f.Sinon s(f) = b 1 , on a alors f(b 1 ) > a 1 = g(b 1 ) sinon f serait dans X 1 . De plus, quelquesoit b > b 1 , f(b) = 0 = g(b). On a donc bien g < f.De plus on peut vérifier que l’application suivante est un isomorphisme d’ensembles ordonné:X 1′ φ→ X⎛ 1⎞B → Af ↦→ ⎝ b 1 ↦→ a 1⎠b ≠ b 1 ↦→ f(b)De plus, si on a le plus petit élément <strong>de</strong> X ′ 1 , on a celui <strong>de</strong> X 0. En effet soit f 1 le plus petitélément <strong>de</strong> X ′ 1 , comme φ est un morphisme, f 0 = φ(f 1 ) est le plus petit élément <strong>de</strong> X 1 .Comme X 1 est un segment initial <strong>de</strong> X 0 , f 0 est aussi le plus petit élément <strong>de</strong> X 0 .Si X ′ 1 contient la fonction i<strong>de</strong>ntiquement nulle, on s’arrête là sinon on construit b 2, a 2 , X 2 , X ′ 2à partir <strong>de</strong> X ′ 1 comme on a construit b 1, a 1 , X 1 , X ′ 1 à partir <strong>de</strong> X 0, et ainsi <strong>de</strong> suite.La suite <strong>de</strong>s X ′ i que l’on construit est forcément finie car b i > b i+1 . En effet quelque soitf ∈ X ′ i , en notant g = φ(f) ∈ X i, on a supp(f) = supp(g)\b i or b i = max(supp(g)) doncs(f) = max(supp(f)) < b i . On en déduit que b i+1 = min{s(f) | f ∈ X ′ i } < b i.Si cette suite n’était pas finie on aurait une suite infinie strictement décroissante dans unensemble bien ordonné, ce qui est impossible d’après la propriété A.1.3.Il existe donc i 0 tel que X i0 contient la fonction i<strong>de</strong>ntiquement nulle, c’est donc son élémentminimal. Comme on l’a remarqué précé<strong>de</strong>mment, si on connaît l’élément minimal <strong>de</strong> X i+1on sait construire l’élément minimal <strong>de</strong> X i . On en déduit donc l’élément minimal <strong>de</strong> X 0 .On peut alors définir l’exponentiation d’ordinaux.Définition A.3.11 (Puissance d’un ordinal par un autre). Soient α, β <strong>de</strong>ux ordinaux. Onnote α β l’ordinal isomorphe à l’ensemble bien ordonné α (β) .L’exponentiation que l’on vient <strong>de</strong> définir vérifie les propriétés suivantes :Proposition A.3.12. Soient α, β, γ trois ordinaux,(i) α 0 = 1, α 1 = α, 1 α = 1 et si α ≠ 0, 0 α = 0,(ii) α β+γ = α β · α γ et α β·γ = (α β ) γ ,(iii) Si α > 1 et β < γ alors α β < α γ ,(iv) si β est limite, α β = ⋃ γ∈β αγ .Démonstration. (i) Comme 0 = ∅, α 0 est isomorphe à l’ensemble <strong>de</strong>s fonctions àsupport fini du vi<strong>de</strong> dans α, il y en a une, celle à image vi<strong>de</strong>. α 0 est donc l’ordinal àun élément.α 1 est l’ensemble <strong>de</strong>s fonction (à support forcément fini) <strong>de</strong> {∅} dans α. C’est {0 ↦→β} β∈α qui est canoniquement isomorphe à α.1 α est l’ensemble <strong>de</strong>s fonction à support fini <strong>de</strong> α dans {0}.Il y en a une seule, lafonction i<strong>de</strong>ntiquement nulle (qui est bien à support finie) si α est non vi<strong>de</strong> (le casα = 0 a déjà été traité). 1 α est donc l’ordinal à un élément.50


Soit α ≠ 0, 0 α est inclus dans l’ensemble <strong>de</strong>s fonctions d’un ensemble non vi<strong>de</strong> dansl’ensemble vi<strong>de</strong>, ie l’ensemble vi<strong>de</strong>.(ii) On vérifiera que les <strong>de</strong>ux applications⎧⎨⎩(A ((B,0)⊔(C,1)) )→ A (B) × A (C)(b, 0) ↦→ fB (b)↦→ (f(c, 1) ↦→ f C (c)B , f C ){A(B×C)→ (A (B) ) (C)f ↦→ (c ↦→ (b ↦→ f(b, c)))sont définies et sont les isomorphismes qui conviennent.(iii) Comme β < γ, il existe δ > 0 tel que γ = β + δ. On a donc α γ = α β+δ = α β · α δ .Comme δ ≠ 0 et α > 1, α (δ) > 1, il contient au moins la fonction i<strong>de</strong>ntiquementnulle et la fonction qui a 0 associe 1 et 0 au reste. D’après la proposition A.3.8.(vi),α β · α δ < α β · 1 = α β .(iv) Si γ ∈ β, d’après la proposition (iii), α γ < α β , donc ⋃ γ∈β αγ ⊂ α β .Montrons maintenant l’inclusion réciproque. Soit γ ∈ α β , on l’i<strong>de</strong>ntifie à f : β → α àsupport fini. Montrons que, comme β est limite, il existe δ ∈ β tel que supp(f) ⊂ δ.On peut par exemple prendre max{δ + | δ ∈ supp(f)} (c’est le plus grand élémentd’un ensemble fini totalement ordonné, il existe donc).On note g = f δ ∈ α (δ) . Soit φ 1 l’isomorphisme entre α (β) et α β et φ 2 l’isomorphismeentre α (δ) et α δ . On a, <strong>de</strong> plus, φ 3 le morphisme injectif suivant :⎧⎨ α (δ) → α( (β))λ ∈ δ ↦→ f(λ)⎩ f ↦→λ δ ↦→ 0L’image <strong>de</strong> ce morphisme est un segment initial <strong>de</strong> α (β) , donc l’image <strong>de</strong> α (δ) parφ 1 ◦φ 3 est un ordinal. Comme α (δ) est isomorphe à α <strong>de</strong>lta par φ 2 , d’après le théorèmeA.2.11, φ 1 ◦ φ 3 = φ 2 .Comme supp(f) ⊂ γ, φ 3 (g) = f. Donc γ = φ 1 ◦ φ 3 (g) = φ 2 (g) ∈ α δ . On en déduitque α β ⊂ ⋃ δ∈β αδ .51


Bibliographie[AZ97] Z. Adamowicz and P. Zbierski. Logic of Mathematics, chapter 22. Wileyinterscience,1997.[Buc97]Wilfried Buchholz. Explaining gentzen’s consistency proof within infinitary prooftheory. In KGC ’97 : Proceedings of the 5th Kurt Gö<strong>de</strong>l Colloquium on ComputationalLogic and Proof Theory, pages 4–17, London, UK, 1997. Springer-Verlag.[BW87] W. Buchholz and S.S. Wainer. Provably computable functions and the fastgrowing hierarchy. In Contemporary Mathematics, Logic and Combinatorics,volume 65, pages 179–198. American Mathematical Society, 1987.[Cic83][Gen38][Goo44]E.A. Cichon. A short proof of two recently discovered in<strong>de</strong>pen<strong>de</strong>nce results usingrecursion theoretic methods. Proo<strong>de</strong>dings of the American Mathematical Society,87(4) :704–706, Avril 1983.G. Gentzen. Neue fassung <strong>de</strong>s wi<strong>de</strong>rspruchsfreiheitsbeweises fà 1 4r die reine zahlentheorie.Forschungen zur Logik und zur Grundlegung <strong>de</strong>r exakten Wissenschaften,4 :1–44, 1938.R.L. Goodstein. On the restricted ordinal theorem. The Journal of SymbolicLogic, 9(2) :33–41, Juin 1944.[GTL89] Jean Y. Girard, Paul Taylor, and Yves Lafont. Proofs and types. CUP, Cambridge,1989.[KH89][KP76][KP82][KS81]C.F. Kent and B.R. Hogdson. Extensions of arithmetic for proving terminationof computations. The Journal of Symbolic Logic, 54(3) :779–794, Septembre1989.L.A.S Kirby and J.B. Paris. Initials segments of peano’s axioms. In Proceedingsof the Bierutowice Conference. Springer-Verlag, Berlin et New York, 1976.L.A.S. Kirby and J. B. Paris. Accessible in<strong>de</strong>pendant results for peano’s arithmetic.Bulletin of the London Mathematical Society, 14 :285–293, 1982.J. Ketonen and R. Solovay. Rapidly growing ramsey functions. The Annals ofMathematics, 113(2) :267–314, Mars 1981.[Par78] J.B. Paris. Some in<strong>de</strong>pen<strong>de</strong>nce results for peano arithmetic. The Journal ofSymbolic Logic, 43(4) :725–731, Decembre 1978.[Par79][Sch56]J.B. Paris. A hierarchy of cuts in mo<strong>de</strong>ls of arithmetic. In Proceedings of theKarpacz Conference. Lecture Notes in Mathematics, Springer Berlin, 1979.K. Schütte. Beweistheoretische erfassung <strong>de</strong>r unendliche induktion in <strong>de</strong>r zahlentheorie.Mathemastiche Annalen, 122 :369–389, 1956.52


[Tak75] G. Takeuti. Proof Theory, volume 81. American Elsevier, 1975.[Wai70][Wai72]S.S. Wainer. A classification of the ordinal recursive functions. Archiv für matematisheLogik und Grundlagenforschung, 13 :136–153, 1970.S.S. Wainer. Ordinal recursion and a refinement of the exten<strong>de</strong>d grzegorczykhierarchy. The Journal of Symbolic Logic, 37(2) :281–292, Juin 1972.53


Table <strong>de</strong>s matières1 Le théorème <strong>de</strong> Kirby et Paris 21.1 Les suites <strong>de</strong> Goodstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Quelques résultats sur les ordinaux . . . . . . . . . . . . . . . . . . . . . . . 41.2.1 La forme normale <strong>de</strong> Cantor et la base ω itérée . . . . . . . . . . . . 41.2.2 Suites ordinales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.3 La relation <strong>de</strong> Ketonen et Solovay . . . . . . . . . . . . . . . . . . . 91.2.4 Hiérarchie <strong>de</strong> Hardy . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.5 Théorème <strong>de</strong> Cichon . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3 Un indicateur <strong>de</strong>s segments initiaux qui vérifient P . . . . . . . . . . . . . . 121.3.1 Segments initiaux forts . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3.2 Un indicateur <strong>de</strong> segments initiaux forts . . . . . . . . . . . . . . . . 141.4 Théorème <strong>de</strong> Wainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.5 Indépendance du théorème Goodstein dans P . . . . . . . . . . . . . . . . . 182 Le théorème <strong>de</strong> Gentzen et ɛ 0 202.1 Calcul <strong>de</strong>s séquents pour la logique propositionnelle . . . . . . . . . . . . . 202.1.1 Langage <strong>de</strong> premier ordre . . . . . . . . . . . . . . . . . . . . . . . . 202.1.2 Séquents et inférences . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1.3 Règles et démonstrations . . . . . . . . . . . . . . . . . . . . . . . . 212.1.4 Preuves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 Élimination <strong>de</strong>s coupures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.1 Propriété <strong>de</strong> la sous-formule . . . . . . . . . . . . . . . . . . . . . . . 232.2.2 Cas clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.2.1 Exemple : cas ∧ . . . . . . . . . . . . . . . . . . . . . . . . 242.2.2.2 Cas ∨ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.2.3 Cas ¬ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.2.4 Cas ∀ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2.2.5 Cas ∃ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2.2.6 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2.3 Preuve complète . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.3 Extension du résultat à l’arithmétique . . . . . . . . . . . . . . . . . . . . . 282.3.1 Formalisation <strong>de</strong> P en calcul <strong>de</strong>s séquents . . . . . . . . . . . . . . . 282.3.2 Système infinitaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.3.2.1 Le système P ∞ . . . . . . . . . . . . . . . . . . . . . . . . . 292.3.2.2 L’induction dispensable . . . . . . . . . . . . . . . . . . . . 3054


2.3.2.3 Réduction <strong>de</strong>s coupures . . . . . . . . . . . . . . . . . . . . 302.3.3 Système finitaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.4 Suites <strong>de</strong> Goodstein et bonne fondation <strong>de</strong> ɛ 0 . . . . . . . . . . . . . . . . . 35A Tout ce que vous avez toujours voulu savoir sur les ordinaux sans jamaisoser le <strong>de</strong>man<strong>de</strong>r 39A.1 Ordres et bons ordres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39A.2 Ordinaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40A.2.1 Définition et première propriétés . . . . . . . . . . . . . . . . . . . . 40A.2.2 Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42A.2.3 Ordinaux et bons ordres . . . . . . . . . . . . . . . . . . . . . . . . . 44A.3 Arithmétique ordinale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44A.3.1 Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44A.3.2 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47A.3.3 Exponentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4955


Onzième partieRapport <strong>de</strong> projet du cours Neurosciences informatiques àl'<strong>Ens</strong>300


Mémoires à court termeJérôme Casse et Silvain Ri<strong>de</strong>au26 mai 20091 ProblématiqueLes expériences ont montré que l'homme pouvait retenir à peu près 7 donnéessur une courte pério<strong>de</strong>. Les étu<strong>de</strong>s physiologiques semblent dire que cesinformations sont codées dans l'activité répétée <strong>de</strong> certains motifs <strong>de</strong> neurones.La question est donc <strong>de</strong> savoir quel mécanisme neuronal permet la mise enplace et le maintient <strong>de</strong> l'activité <strong>de</strong> ces motifs <strong>de</strong> neurones. La réponse apportéeici (proposée par Lismand et Idiart en 1995) se base sur diverses phénomènesobservés dans l'hippocampe : superposition <strong>de</strong> courtes oscillations (40 Hz) etd'oscillations plus lentes (6 Hz) et la présence <strong>de</strong> neurones sensibilisés après unpotentiel d'action.2 ModèleLe modèle repose sur trois points importants. Le premier est les neuronesADP (after-<strong>de</strong>polarisation), le second est l'utilisation d'un potentiel oscillant etle troisième est l'inhibition du réseau entier <strong>de</strong> neurones .Les neurones ADP sont <strong>de</strong>s neurones qui, lorsqu'ils émettent un potentield'action, au lieu <strong>de</strong> s'hyperpolariser se dépolarisent (voir gure 1), et donc <strong>de</strong>viennentplus sensibles pour un temps. Si l'on sent bien que cette mémoire duneurone peut permettre la mémorisation <strong>de</strong> données, cette dépolarisation quidure environ 200 ms ne peut clairement pas être le seul phénomène responsable<strong>de</strong> la mémorisation à courte durée.Le potentiel oscillant permet <strong>de</strong> faciliter l'émission <strong>de</strong>s potentiels d'actionmémorisés ainsi que l'entrée <strong>de</strong>s nouvelles mémoires. En eet, le temps que metl'ADP à atteindre son maximum est à peu près le même que celui <strong>de</strong> la pério<strong>de</strong>du potentiel oscillant. Si le neurone avait tiré au sommet <strong>de</strong> l'oscillation précé<strong>de</strong>nte,après une pério<strong>de</strong>, il tirera <strong>de</strong> nouveau, la somme du potentiel oscillant et<strong>de</strong> l'APD le faisant passer au <strong>de</strong>ssus <strong>de</strong> son seuil (en fait quelle que soit la phase<strong>de</strong> l'excitation, les potentiels suivant se synchroniseront avec l'entrée voir gure2). De plus, ce potentiel forme l'on<strong>de</strong> à basse fréquence et les informations sontstockées au sommet <strong>de</strong> cette on<strong>de</strong>. Le couplage <strong>de</strong> ces <strong>de</strong>ux mécanismes permetdonc au neurone <strong>de</strong> mémoriser une excitation.1


Fig. 1 La dépolarisation d'un neurone ADP2


Fig. 2 Un neurone à ADP soumis à une excitationL'inhibition du réseau <strong>de</strong> neurones permet quant à elle <strong>de</strong> séparer les activités<strong>de</strong>s neurones et ainsi éviter qu'ils se synchronisent. C'est donc cette <strong>de</strong>rnièrequi en créant une pério<strong>de</strong> d'environ 5 ms pendant laquelle les neurones sontmoins excitables permet la création <strong>de</strong>s sous-cycles au sommet <strong>de</strong> l'oscillationlente, sous-cycles qui contiendront chacun une donnée. En l'absence d'inhibition,les neurones actifs se synchronisent tous et on ne peut plus diérencier les différentsmotifs. Lorsque l'inhibition est présente, l'activation du premier groupe<strong>de</strong> neurone, celui qui a tiré au premier sous-cycle du cycle précé<strong>de</strong>nt, empêchel'activation <strong>de</strong>s autres qui ne pourront tirer qu'au plus tôt 5 ms secon<strong>de</strong>s plustard, pério<strong>de</strong> a laquelle les neurones les plus excitables sont ceux qui ont tiréau la <strong>de</strong>uxième sous-cycle. Leur activation inhibera celle <strong>de</strong>s autres etc... (voiregure 11)Le réseau <strong>de</strong> notre modèle est donc constitué d'une population <strong>de</strong> neuronesintègre-et-tire à ADP qui stockent l'information, et d'un neurone inhibiteur quireçoit les sorties <strong>de</strong> tous les neurones et est connecté à tous les neurones.Les neurones principaux ont pour équation :dVdt = 1 τ (V + V osc + V inh + V 0 + V ADP )Ils voient leurs potentiels osciller grâce à V osc = B ∗ sin(2 ∗ π ∗ f ∗ t) ce quicorrespond dans le modèle <strong>de</strong> l'article à l'entrée oscillante que reçoit chaqueneurone.Le potentiel ADP <strong>de</strong> ces neurones qui était une fonction alpha à été modélisé3


par ces 2 lignes d'équations :⎧dV ⎪⎨ ADPdtdx ⎪⎩ ADPdt=1τ ADP(x ADP − V ADP )= − x ADPτ ADPElles permettent d'obtenir la fonction alpha souhaitée via l'initialisation duparamètre x ADP à A ADP ∗ e.L'inhibition <strong>de</strong>s neurones a été modélisée <strong>de</strong> la même façon avec les variablesin<strong>de</strong>xées par inh . Cependant, si on ne fait que relier tous les neurones au neuroneinhibiteur, quand un motif <strong>de</strong> neurones tire, le neurone inhibiteur peut déclencherplus d'une inhibition (car les potentiels d'action ne sont pas exactementsynchronisés) pour un motif, ce qui provoque une désensibilisaion plus longue<strong>de</strong>s autres neurones et donc un dysfonctionnement du réseau qui stocke alorsmoins <strong>de</strong> données par cycle. La solution consiste à mettre une pério<strong>de</strong> réfractaire<strong>de</strong> 2,5 ms au neurone inhibiteur qui ne déclenche alors un potentiel alpha dansles neurones du réseau qu'une fois par sous-cycle.Nous avons fait le choix <strong>de</strong> ne pas incorporer le potentiel <strong>de</strong> l'ADP dans unediminution <strong>de</strong> seuil an <strong>de</strong> mieux observer les potentiels d'action émis lors <strong>de</strong>sphases <strong>de</strong> rappel <strong>de</strong>s éléments mémorisées.3 Résultats et discussionsTout d'abord, nous <strong>de</strong>vons signaler que pour faire marcher le modèle, nousavons du, d'une part ajouter un tau inme pour le potentiel et non le laissercomme la somme <strong>de</strong>s potentiels (ie on a redéfait l'approximation <strong>de</strong> l'article) etnous avons du baisser le pas d'intégration <strong>de</strong> brian à 0.02*ms pour eectivementréussir à stocker 7 mémoires. Du fait, <strong>de</strong> ces déboires, nous avons pu observerquantité <strong>de</strong> phénomènes.3.1 Résultat du modèle <strong>de</strong> l'articleLes résultats <strong>de</strong> la simulation d'une population <strong>de</strong> 1000 neurones pendant 20secon<strong>de</strong>s au cours <strong>de</strong> laquelle 20 entrées ont lieu, sont présentés sur les gures3, 4 et 5.La première remarque à faire et que les temps d'excitation et le motif excitéssont aléatoire, avec <strong>de</strong>s motifs d'environ 1% <strong>de</strong> la population, ce qui permet <strong>de</strong>supposer raisonnablement que 2 motifs ne se superposent pas.La secon<strong>de</strong> concerne les 5 premières secon<strong>de</strong>s dont le résultat n'est pas aché,cela est simplement du au fait qu'il faut commencer par créer les sous-cyclesdans le réseau (et donc mettre <strong>de</strong>s motifs en place dans le réseau) avant <strong>de</strong> pouvoirvraiment l'utiliser. De plus avant que les 7 sous-cycles soient mis en placecertains phénomènes bizarre ont lieu (oubli du <strong>de</strong>rnier souvenir rentré quand unnouveau arrive, nouveau souvenir qui se met en n <strong>de</strong> train au lieu <strong>de</strong> se mettreau début entre autre, voir gure 7) qui font qu'on a préféré ne pas enregistrer4


Fig. 3 La simulationFig. 4 Un premier zoom5


Fig. 5 Encore plus zoomécette pério<strong>de</strong> à la n <strong>de</strong> laquelle les neurones 7 à 13 tirent chacun a leur touret que les 7 sous-cycles créés par l'inhibition sont présents dans le potentiel <strong>de</strong>chaque neurone (la gure 11 montre les potentiels membranaires <strong>de</strong> neurones duréseau avec une entrée sur le 10 e neurone à la n du 2 e cycle aché, on voit bienles 7 inhibition qui créent 7 moments du sommet <strong>de</strong> l'oscillation ou le neuronepeut tirer).La troisième remarque qui est développée plus tard est que l'entrée d'unenouvelle donnée ne peut pas avoir lieu n'importe quand (fait souligné dansl'article) on a fait ici le choix <strong>de</strong> ne faire rentrer <strong>de</strong>s données qu'au minimum <strong>de</strong>l'oscillation.Le premier graphe est trop grand pour qu'on ne puisse voir grand chose sice n'est que lorsqu'un neurone est excité il tire régulièrement jusqu'à ce qu'ils'arrête.Le <strong>de</strong>uxième graphe permet déjà <strong>de</strong> voir les motifs groupés légèrement décalésdans le temps qui se répètent mais se décalent dans sur le sommet <strong>de</strong>l'oscillation au fur et à mesure que <strong>de</strong> nouvelles données rentrent jusqu'à disparaître(par exemple à 8 s, une nouvelle donnée arrive, les 7 anciens motifss'activent chacun leur tour quand l'oscillation s'approche <strong>de</strong> son maximum puisau cycle suivant la nouvelle vient se mettre au 1 er sous-cycle les autres se décalentet le 7 e ancienne motif qui était composée d'un unique neurone (en bas)disparaît). Le phénomène se répète à 10,5 s à 11 s et à 11,5 s.Le troisième graphe permet <strong>de</strong> voir encore plus précisément ce qui se passe,6


on voit entre autre ce qui se passe si 2 motifs partagent 1 même neurone, enl'occurrence celui qui arrive juste après 11100 ms et le 4 e motif déjà présent quipartagent 1 neurone vers le 400 e . Le neurone en question disparaît du 4 e motifqui <strong>de</strong>vient le 5 e et reste présent dans le motif qui <strong>de</strong>vient le 1 er <strong>de</strong> la série.Le réseau <strong>de</strong> neurone remplit donc exactement son rôle, mémorisant les 7<strong>de</strong>rnière entrées qu'il a reçu, tant que les motifs ne se recoupent pas (mais plusla population est gran<strong>de</strong>, plus ce risque est faible).3.2 Autres résultatsTout d'abord, nous avons observé une corrélation entre la valeur <strong>de</strong> A ADPet le nombre <strong>de</strong> mémoires possiblement stockables :AADP nombre <strong>de</strong> mémoires stockables5.0*mV 05.1*mV 15.8*mV 15.9*mV 26.6*mV 26.7*mV 37.4*mV 37.5*mV 48.2*mV 48.3*mV 58.9*mV 59.0*mV 69.5*mV 69.6*mV 710.0*mV 7Par la suite, les résultats sont obtenues avec comme valeur d'AADP 9mVcar ceci permet d'économiser du temps <strong>de</strong> calcul du fait que l'on peut prendrele pas d'intégration normal <strong>de</strong> Brian.De plus, nous avons observé que le temps d'entrées <strong>de</strong> l'information à stockerest crucial. En eet, si on ne rentre pas dans le creux, le modèle commence àfaire n'importe quoi. Ainsi, en prenant une entrée <strong>de</strong> l'information toutes les166ms au lieu <strong>de</strong> toutes les 167ms, nous avons pu observer que le modèle nemarchait plus. En eet, la présentation <strong>de</strong> ces <strong>de</strong>ux séries <strong>de</strong> spikes le montre(gure 6 et 7).La gure 6 correspond à une entrée toutes les 166 ms, on peut remarquer queles spikes se synchronisent et que la 14 e entrée n'est pas mémorisée (cf gure 8).Alors que le graphe <strong>de</strong> droite qui correspond à une entrée toutes les 167ms est ceque l'on souhaite et attend <strong>de</strong> notre modélisation (aux phénomènes anormauxprès soulignés au préalable qui ont lieux tant que le réseau ne contient pas 7motifs activés).Nous avons également essayé d'insérer du bruit (sigma = 0.01mV, cf -gure 9) an <strong>de</strong> voir si cela reforcerait, comme dans certains autres mécanismes,7


Fig. 6 Les entrées se décalent en nissent proche du maximum, au milieu <strong>de</strong>smotifs8


Fig. 7 Entrées dans le creux9


Fig. 8 Zoom pour les arrivées toutes les 166msla précision. Le résultat est catastrophique. Même un bruit aussi faible fait complètementéchouer le modèle, qui est bien trop sensible pour pouvoir supporterdu bruit. En eet un neurone activé au sous-cycle n, au sous-cycle n-1 du cyclesuivant a quasiment atteint son seuil, un petit peu <strong>de</strong> bruit (ou une intégrationnumérique pas assez précise) le fait passer au <strong>de</strong>ssus <strong>de</strong> son seuil et il tire ausous-cycle précé<strong>de</strong>nt... De la même façon, on peut voir le résultats ci-<strong>de</strong>ssous.Sur le graphique 10 qui correspond à l'introduction du bruit, on observeque les mémoires se superposent (par exemple le cyan et le rouge du bas) etque certaines ne disparaissent pas alors qu'elles le <strong>de</strong>vraient (la rouge du bas)comme on peut le comparer avec le graphique <strong>de</strong> droite qui lui est le graphiqueobtenu pour une simulation sans bruit. Cependant la gure 9 montre bien à quelpoint le bruit est minime.4 Discussion et perspectivePour ce projet, nous n'avons eu le temps <strong>de</strong> ne regar<strong>de</strong>r que le nombre <strong>de</strong>mémoires stockables en fonction <strong>de</strong> la valeur <strong>de</strong> A ADP (au dixième près), maisil serait envisageable, d'une part, d'augmenter le précision <strong>de</strong> ces résultats et,d'autre part, <strong>de</strong> regar<strong>de</strong>r l'inuence d'autres paramètres. En eet les paramètresdonnés pas l'article donnent un réseau qui fonctionne, alors que pour la plupartles changer un petit peu rend le réseau complètement décient et pas juste pas10


Fig. 9 Le bruit correspond à la légère brisure le long <strong>de</strong> la courbe11


Fig. 10 Potentiel <strong>de</strong> 11 neurones du réseau bruitéFig. 11 Potentiel <strong>de</strong> 11 neurones du réseau en fonctionnement normal12


aussi ecace.De plus il serait intéressant <strong>de</strong> comprendre comment palier à l'extrême sensibilitéau bruit du réseau qui le rend en réalité inapte à représenter la réalitécar un neurone in-vivo est en permanence soumis à du bruit.13


A neurone ADP solitaire (gure 2)from brian import *#Constante du mo<strong>de</strong>leVr = -60*mVV0 = -60*mVVs = -50*mVB = 5*mVf = 6*HzAADP = 10*mVtauADP = 200*mstau = 0.2*msw = 35*mV#Equation du mo<strong>de</strong>le##Neunone ADP et oscillationeqs = '''dv/dt = (-v + Vosc + V0 + VADP)/tau : mVVosc = B*sin(2*pi*f*t) : mVdVADP/dt = (xADP - VADP)/tauADP : mVdxADP/dt = -xADP/tauADP : mV'''resetADP = '''VADP = 0v = VrxADP = e*AADP'''#Les neurones##qui retiennent l'informationG1 = NeuronGroup(N = 1,mo<strong>de</strong>l = eqs,reset = resetADP ,threshold = Vs)#Initialisation##Entrees d'initialisationspiketimes = [(0,7./(4*f))]Ge = SpikeGeneratorGroup(1,spiketimes)##Connection entrees d'initialisationsCi = Connection(Ge,G1,'v')Ci[0,0] = w14


#On lance la simulation##Conditions initialesG1.v=[V0]G1.VADP=[0*mV]G1.xADP=[0*mV]##Enregistrement <strong>de</strong>s donneesMv = StateMonitor(G1,'v',record=True)Ms = SpikeMonitor(G1)##Simulationrun(1000*ms)#Figuresfigure(1)plot (Mv.times,Mv[0])show()15


BCo<strong>de</strong> <strong>de</strong> la simulation à 1000 neuronesfrom brian import *<strong>de</strong>faultclock.dt = 0.02*ms#Parametres du mo<strong>de</strong>le##Nombre <strong>de</strong> neurones#Constante du mo<strong>de</strong>leVr = -60*mVV0 = -60*mVVs = -50*mVB = 5*mVf = 6*HzAADP = 10*mVtauADP = 200*msAinh = -4*mVtauinh = 5*mstau = 0.2*msw = 35*mV#Equation du mo<strong>de</strong>le##Neunone ADP et oscillationeqs = '''dv/dt = (-v + Vosc + Vinh + V0 + VADP)/tau : mVVosc = B*sin(2*pi*f*t) : mVdVinh/dt = (xinh - Vinh)/tauinh : mVdxinh/dt = -xinh/tauinh : mVdVADP/dt = (xADP - VADP)/tauADP : mVdxADP/dt = -xADP/tauADP : mV'''resetADP = '''VADP = 0v = VrxADP = e*AADP'''eqs_inh = '''dx/dt = x/tau : 1'''16


#Les neuronesG1 = NeuronGroup(N = 1000,mo<strong>de</strong>l = eqs,reset = resetADP ,threshold = Vs)#inhibitionGinh = NeuronGroup(N = 1, mo<strong>de</strong>l = eqs_inh, reset = 0,threshold = 1, refractory = tauinh/2)##Entrees d'initialisationnb_entrees = 14spiketimes = []for i in range(nb_entrees) :spiketimes = spiketimes + [(i,3./(4*f)+i/f)]Gi = SpikeGeneratorGroup(nb_entrees,spiketimes)#Connection entrees d'initialisationsCi = Connection(Gi,G1,'v')for i in range(nb_entrees) :Ci[i,i] = w#Entreesnb_ent = 20duree = 100discr_ent = randint(0,duree,nb_ent)entrees = []for i in range(nb_ent) :entrees = entrees+[(i,(71./(4*f))+((1/f)*discr_ent[i]))]Ge = SpikeGeneratorGroup(nb_ent,entrees)Ce = Connection (Ge,G1,'v',weight = w, sparseness = 0.01)#Structure <strong>de</strong>s connections##Connection inhibitriceCinh1 = Connection(G1,Ginh,'x')Cinh1.connect_full(G1,Ginh,1.1)Cinh2 = Connection(Ginh,G1,'xinh')Cinh2.connect_full(Ginh,G1,Ainh*e)#On lance la simulation#conditions initialesG1.v=[V0]G1.VADP=[0*mV]G1.xADP=[0*mV]17


#temps <strong>de</strong> simulationrun(16/f)#Minh = StateMonitor(Ginh,'x',record=True)#Mv = StateMonitor(G1,'v',record=True)Ms = SpikeMonitor(G1)run((duree+5)/f)#Figures'''figure(1)for i in range (20) :plot (Mv.times,Mv[i]+i*0.01)'''figure(2)raster_plot()'''figure(3)plot(Minh.times,Minh[0])'''show()18


Douzième partieMini-mémoire écrit pour le cours Langage formel calculabilité etcomplexité à l'<strong>Ens</strong>319


Théorie <strong>de</strong>s co<strong>de</strong>sSilvain Ri<strong>de</strong>au8 janvier 2009Co<strong>de</strong>r, c'est-à-dire remplacer <strong>de</strong>s lettres par d'autres lettres ou ensembles<strong>de</strong> lettres, est non seulement utile en cryptologie où il sert à cacher le sens <strong>de</strong>smessages, mais est aussi la base <strong>de</strong> la compression <strong>de</strong> données. Ce documenta pour but <strong>de</strong> formaliser cette notion <strong>de</strong> co<strong>de</strong> avant <strong>de</strong> présenter quelquesrésultats liés entre autres à la reconnaissance <strong>de</strong>s co<strong>de</strong>s mais aussi <strong>de</strong> certaines<strong>de</strong> leurs propriétés comme la maximalité ou la complétu<strong>de</strong>. Tous ces résultatssont extraits <strong>de</strong> [1].Table <strong>de</strong>s matières1 Dénitions 12 Algorithme <strong>de</strong> reconnaissance <strong>de</strong>s co<strong>de</strong>s 33 Mesure d'un co<strong>de</strong> 54 Co<strong>de</strong>s complets 91 DénitionsDénition 1 (Co<strong>de</strong>). Soit A un alphabet. Un sous-ensemble X <strong>de</strong> A ∗ estun co<strong>de</strong> sur A si ∀m, n ≥ 1 et ∀(x i ) i=1...n , (x ′ i) i=1...m ∈ X on a :x 1 x 2 · · · x n = x ′ 1x ′ 2 · · · x ′ m ⇒ n = m et ∀i ∈ 1 . . . n x i = x ′ iPropriété 2 (Premières propriétés <strong>de</strong>s co<strong>de</strong>s). Soit X un co<strong>de</strong> sur A :1


i. ɛ ∉ X.ii. ∀Y ⊂ X, Y est un co<strong>de</strong>.iii. Soit B un alphabet, tout morphisme φ : B ∗ → A ∗ qui induit une bijection<strong>de</strong> B sur X est injectif.Réciproquement, s'il existe un morphisme injectif φ : B ∗ → A ∗ tel queX = φ(B) alors X est un co<strong>de</strong>.Cette <strong>de</strong>rnière propriété (qui pourrait aussi servir <strong>de</strong> dénition aux co<strong>de</strong>s)traduit la notion intuitive <strong>de</strong> co<strong>de</strong>. En eet le morphisme <strong>de</strong> codage φ permet<strong>de</strong> co<strong>de</strong>r les mots <strong>de</strong> B ∗ dans A ∗ et l'injectivité permet d'assurer que ledécodage est possible.Démonstration.i. ɛ = ɛɛ donc ɛ n'a pas une unique factorisation.ii. Toute factorisation d'un mot w dans Y est une factorisation dans X etest donc unique.iii. Soit φ : B ∗ → A ∗ qui induit une bijection <strong>de</strong> B sur X. Soient u, v ∈ (B ∗ ) 2tels que φ(u) = φ(v).Si u = ɛ, supposons v ≠ ɛ alors v contient au moins une lettre b etpar hypothèse φ(b) ∈ X or ɛ ∉ X donc |φ(b)| > 0. On en déduit que|φ(v)| > 0 ce qui est absur<strong>de</strong> car φ(u) = ɛSinon u = b 1 · · · b n et v = b ′ 1 · · · b ′ m . On a alors φ(b 1) · · · φ(b n ) = φ(b ′ 1) · · · φ(b ′ m)avec φ(b i ), φ(b ′ j) ∈ X. Or X est un co<strong>de</strong> donc n = m et ∀i φ(b i ) = φ(b ′ i)or φ induit une bijection <strong>de</strong> B sur X donc ∀i b i = b ′ i i.e u = v. Donc φest injective.Réciproquement, soit φ : A ∗ → B ∗ morphisme injectif, supposons qu'ona n, m ∈ (N) et (x i ) i=1...n , (x ′ j) i=1...m ∈ X = φ(B) tels que x 1 x 2 · · · x n =x ′ 1x ′ 2 · · · x ′ m . Soient (b i) i=1...n , (b ′ j) i=1...m ∈ B tels que ∀i x i = φ(b i ) et∀j x j = φ(b ′ j). On a donc φ(b 1 · · · b n ) = φ(b ′ 1 · · · b ′ m) or φ est injectivedonc b 1 · · · b n = b ′ 1 · · · b ′ m . D'où n = m et ∀i b i = b ′ i et donc ∀i x i =φ(b i ) = φ(b ′ i) = x ′ iOn va maintenant introduire la notion d'ensemble préxe (on a exactementla même chose en remplaçant préxe par suxe), qui donne un premiercritère pour trouver <strong>de</strong>s co<strong>de</strong>s.Dénition 3 (<strong>Ens</strong>embles préxes). P ⊂ A ∗ est dit préxe si ∀x, x ′ ∈ P x ≤x ′ ⇒ x = x ′ où ≤ signie être un facteur gauche (ou préxe).2


Proposition 4. ∀X ⊂ A ∗ ,X préxe ⇒ X est un co<strong>de</strong>.Démonstration. Supposons que X n'est pas un co<strong>de</strong>. Soit w <strong>de</strong> longeur minimaletel que w ait <strong>de</strong>ux factorisations dans X. On a donc n, m ∈ (N) et(x i ) i=1...n , (x ′ j) i=1...m ∈ X tels que w = x 1 x 2 · · · x n = x ′ 1x ′ 2 · · · x ′ m . Comme west <strong>de</strong> longueur minimale, on a x 1 ≠ x ′ 1 et donc x 1 < x ′ 1 ou x′ 1 < x 1 ce quirentre en contradiction avec X préxe.Exemple 5. Soit A = {a, b} et X 1 = ⊔ n≥0 an bA n . X 1 est préxe car a n bu =a m bv ⇒ m = n et donc u = w. C'est donc un co<strong>de</strong> sur A.Dénition 6 (Co<strong>de</strong> maximal). Un co<strong>de</strong> X sur A est dit maximal s'il n'estpas strictement inclus dans un autre co<strong>de</strong> sur A.2 Algorithme <strong>de</strong> reconnaissance <strong>de</strong>s co<strong>de</strong>sReconnaitre si un ensemble donné est un co<strong>de</strong> n'est pas toujours chosefacile, mais il existe un algorithme simple qui permet <strong>de</strong> le déci<strong>de</strong>r. Les <strong>de</strong>uxpropositions qui suivent sont la preuve <strong>de</strong> correction et <strong>de</strong> terminaison <strong>de</strong> cetalgorithme.Proposition 7. Soit X ⊂ A ∗ . On dénit U 1 = X −1 X\{ɛ} et par récurrence,pour tout n ≥ 1 U n+1 = X −1 U n ∪ U −1n X. On a alors :Xest un co<strong>de</strong> ⇐⇒ ∀n ≥ 1 ɛ ∉ U nLa démonstration nécessite le lemme suivant :Lemme 8. Soit X ⊂ A + . ∀n ≥ 1 ∀k ∈ {1 . . . n} on aɛ ∈ U n⇐⇒ ∃u ∈ U k ∃i, j ∈ N 2 uX i ∩ X j ≠ ∅avec i + j + k = nDémonstration. On prouve le lemme à n xé par récurrence <strong>de</strong>scendante surk.Si k = n, on a évi<strong>de</strong>mment i = j = 0. Si ɛ ∈ U n on pose u = ɛ et on abien ɛU 0 n ∩ U 0 n = {ɛ}. Réciproquement si on a u ∈ U n tel que uU 0 n ∩ U 0 n ={u} ∩ {ɛ} ≠ ∅ alors u = ɛ et donc ɛ ∈ U n .Soit 1 ≤ k < n, supposons la propriété vériée pour k + 1. Si ɛ ∈ U n parhypothèse <strong>de</strong> récurrence, ∃v ∈ U k+1 , ∃i, j ∈ N 2 tels que i + j + k + 1 = n et3


∃x, y ∈ X i ×X j tels que vx = y ∈ vX i ∩X j . Comme U k+1 = X −1 U k ∪U −1k X,on a z, u ∈ X × U k tel que soit zv = u soit z = uv.Dans le premier cas, on a ux = zvx = zy comme z, y ∈ X×X j , zy ∈ X j+1et uX i ∩ X j+1 ≠ ∅. Dans le <strong>de</strong>uxième cas uy = uvx = zx ∈ X i+1 doncuX j ∩ X i+1 ≠ ∅, avec à chaque fois u ∈ U k .Réciproquement, soient w ∈ uX i ∩ X j où i + j + k = n. Si j = 0, alorsl'intersection est vi<strong>de</strong> à moins d'avoir u = ɛ et i = 0 car ɛ ∉ X, on a alorsk = n mais on a supposé k < n donc j ≥ 1. On a donc v, x, v ′ ∈ X i ×X×X j−1tels que uv = xv ′ . On distinque ensuite 2 cas suivant les longueurs comparées<strong>de</strong> u et x.Si |u| ≤ |x| alors ∃u ′ ∈ A ∗ uu ′ = x et alors u ′ ∈ U −1kX ⊂ U k+1. De plusv = u ′ v ′ donc u ′ X j−1 ∩ X i ≠ ∅ et par hypothèse <strong>de</strong> récurrence ɛ ∈ U n .Sinon ∃x ′ ∈ A + u = xx ′ avec x ′ ∈ X −1 U k ⊂ U k+1 et x ′ v = v ′ ∈ x ′ X i ∩X j−1 . D'après l'hypothèse <strong>de</strong> récurrence ɛ ∈ U n .Démonstration. On peut maintenant démontrer la proposition 7.Supposons que X ne soit pas un co<strong>de</strong>. Soit w <strong>de</strong> longeur minimale tel quew ait <strong>de</strong>ux factorisations dans X. On a donc n, m ∈ (N) et (x i ), (x ′ j) ∈ Xtels que w = x 1 x 2 · · · x n = x ′ 1x ′ 2 · · · x ′ m avec x 1. On peut supposer sans perdre<strong>de</strong> généralité que |x 1 | < |x ′ 1| car w est <strong>de</strong> longueur minimale. On a alors∃u ∈ A + x 1 u = x ′ 1 avec u ∈ X−1 X\{ɛ} = U 1 et uX m−1 ∩ X n−1 et doncɛ ∈ U n+m−1 d'après le lemme 8Réciproquement, si ɛ ∈ U n pour un certain n, on applique le lemme aveck = 1. ∃u ∈ U 1 , i, j ∈ N 2 et v, w ∈ X i × X j tels que uX i ∩ X j ≠ ∅. Deplus comme U 1 = X −1 X\{ɛ} ∃x, y ∈ X 2 tels que xu = y avec x ≠ y caru ≠ ɛ. d'où yX i ∩ xX j = xuX i ∩ xX j ≠ ∅ ce qui fait que X ne peut être unco<strong>de</strong>.La construction <strong>de</strong>s U n donne donc un algorithme pour déterminer si unensemble est un co<strong>de</strong>. La propriété suivante conclut quant à la terminaison<strong>de</strong> l'algorithme dans le cas où X est rationnel.Proposition 9. Si X est rationnel l'ensemble <strong>de</strong> ses U n est ni.Démonstration. On rappelle qu'un langage est rationnel est équivalent au faitque le nombre <strong>de</strong> ses quotients à gauche est ni. On montre par récurrencesur n que les U n sont <strong>de</strong>s unions nies <strong>de</strong> quotients à gauche <strong>de</strong> X auxquelleson peut avoir retiré ɛ. Pour n = 1, U 1 = X −1 X\{ɛ} = ( ⋃ x∈X x−1 X)\{ɛ}.Supposons que c'est vrai au rang n − 1, alors comme le quotients à gauche4


d'un quotient à gauche <strong>de</strong> X est un quotient à gauche <strong>de</strong> X X −1 U n est bienune union <strong>de</strong> quotients à gauche <strong>de</strong> X (l'absence ou la présence <strong>de</strong> ɛ nechange pas grand chose juste <strong>de</strong> nombreuses disjonctions <strong>de</strong> cas si on veutrentrer dans les détails). De plus (U n ) −1 X est bien sur une union <strong>de</strong> quotientà gauche <strong>de</strong> XComme le nombre <strong>de</strong> quotients à gauche <strong>de</strong> X est ni leurs unions sontaussi en nombre ni (retirer ɛ ne fait que doubler ce nombre au pire).Cette proposition indique que l'algorithme s'arrête quand on retombe surun U n déjà construit et que cela arrive forcément si X est rationnel (ce quiest relativement raisonnable comme hypothèse).Exemple 10. Soit A = {a, b}, considérons X 2 = {aa, ba, bb, baa, bba}. Xn'est pas préxe et considérer <strong>de</strong>s factorisations dans X n'est pas vraimentenvisageable. Les U n permettent pourtant <strong>de</strong> conclure très vite. En eetU 1 = {a} = U 2 .3 Mesure d'un co<strong>de</strong>Cette partie introduit une mesure sur les parties <strong>de</strong> A ∗ , et certaines conséquences,quand ces ensembles sont <strong>de</strong>s co<strong>de</strong>s, quant à la mesure qu'il peuventavoir.Dénition 11 (Distribution <strong>de</strong> Bernoulli). Soit A un alphabet, une distribution<strong>de</strong> Bernoulli sur A ∗ est un morphisme π : A ∗ → R + (où R + est considérécomme un monoï<strong>de</strong> multiplicatif) tel que :∑π(a) = 1a∈AUne distribution est dite positive si : ∀a ∈ A π(a) > 0Propriété 12. Pour tout n ≥ 1 :∑u∈A n π(u) = 1Démonstration. Par récurrence sur n.Pour u ∈ A n , on a ∑ a∈A π(ua) = π(u) ∑ a∈Aπ(a) = π(u), et donc∑π(u) = ∑ ∑π(va) = ∑π(v) = 1u∈A n+1 v∈A n a∈Av∈A n5


Dénition 13 (Mesure d'une partie). On étend π à P(A ∗ ) (les parties <strong>de</strong>A ∗ ) en posant pour tout L ⊂ A ∗ :π(L) = ∑ l∈Lπ(l)Propriété 14. π : P(A ∗ ) → R + a les propriétés immédiates suivantes. Lestrois premières propriétés en font une mesure sur P(A ∗ ) :i. ∀L ⊂ A ∗ π(L) ≥ 0ii. π(∅) = 0iii. Pour toute famille (L i ) i∈I <strong>de</strong> sous-ensembles <strong>de</strong> A ∗ <strong>de</strong>ux à <strong>de</strong>ux disjoints :π( ⊔ i∈IL i ) = ∑ i∈Iπ(L i )iv. π(A ∗ ) = π( ⊔ n∈N An ) = ∑ n∈N π(An ) = ∞v. Si les (L i ) i∈I ne sont pas <strong>de</strong>ux à <strong>de</strong>ux disjoints :π( ⋃ i∈IL i ) ≤ ∑ i∈Iπ(L i )vi. Soit L ⊂ A ∗ , on pose pour n ∈ N s n = π({w ∈ L | |w| ≥ n}). On a alorscomme π est une mesure :π(L) = sup s nn≥0vii. Soient L et M <strong>de</strong>s langages sur A, comme LM = ⋃ ⋃l∈L m∈M lm :π(LM) ≤ ∑ ∑π(lm) = ∑ π(l) ∑ π(m) = π(L)π(M)l∈L m∈M l∈L m∈Mviii. On en déduit, pour tout X ⊂ A ∗ :π(X ∗ ) ≤ ∑ n≥0π(X n ) ≤ ∑ n≥0π(X) n6


Certaines <strong>de</strong> ces inégalités <strong>de</strong>viennent <strong>de</strong>s égalités dans le cas <strong>de</strong>s co<strong>de</strong>s(et seulement dans le cas <strong>de</strong>s co<strong>de</strong>s comme l'indique la réciproque ; elle estdonnée ici juste pour la symétrie, elle ne sera pas utile plus loin).Proposition 15. Soit X un co<strong>de</strong> alors :∀n ≥ 1 π(X n ) = π(X) nπ(X ∗ ) = ∑ n≥0π(X) nEn particulier π(X ∗ ) < ∞ ⇐⇒ π(X) < 1Réciproquement, si π est positive, si π(X) < ∞ et ∀n ≥ 1 π(X n ) = π(X) nalors X est un co<strong>de</strong>.Démonstration. Supposons que X est un co<strong>de</strong>.On notera X (n) = X × X × . . . × X le produit cartésien <strong>de</strong> X par X, nfois. Comme X est un co<strong>de</strong>, la fonction ψ :X (n) → X nx = (x 1 , . . . , x n ) ↦→ x 1 · · · x nest bijective (son image est X n par dénition et son injectivité découle directement<strong>de</strong> la dénition d'un co<strong>de</strong>).On en déduit que :π(X) n = ( ∑ ∑π(x)) n =π(x 1 ) · · · π(x n )x∈X (x 1 ,...,x n)∈X (n)= ∑π(ψ(x))x∈X (n)= ∑π(x) = π(X n )x∈X nLe changement <strong>de</strong> numérotation dans la somme découle <strong>de</strong> la bijectivité<strong>de</strong> ψ.De plus les ensembles X n sont disjoints car X est un co<strong>de</strong> donc par lapropriété 14.iii et l'égalité précé<strong>de</strong>nte,π(X ∗ ) = π( ⊔ n≥0X n ) = ∑ n≥0π(X n ) = ∑ n≥0π(X) n7


L'équivalence π(X ∗ ) < ∞ ⇐⇒ π(X) < 1 est une conséquence directedu fait que π(X ∗ ) est une somme géométrique <strong>de</strong> raison π(X).Supposons maintenant que X n'est pas un co<strong>de</strong> mais qu'on a bien leshypothèses <strong>de</strong> la réciproque. Il existe donc un mot u ∈ X + qui a <strong>de</strong>ux factorisationsdans X : u = x 1 · · · x n = x ′ 1 · · · x ′ m . Le mot uu = x′ 1 · · · x ′ mx 1 · · · x n =x 1 · · · x n x 1 · · · x n a alors 2 factorisations en m + n mots <strong>de</strong> X. D'oùπ(X) k =∑π(ψ(x)) + 2ψ(uu) ≥ π(X m+n ) + π(uu)x∈X (n+m)ψ(x)≠uuComme π(X) < ∞ et π(X m+n ) = π(X) m+n on a π(uu) ≤ 0 ce qui contreditla positivité <strong>de</strong> π.Proposition 16. Soit X un co<strong>de</strong> sur A. Pour toute distribution <strong>de</strong> Bernoulliπ sur A ∗ , on a π(X) ≤ 1Démonstration. On commence par prouver la proposition dans le cas où k =sup x∈X |x| < ∞. On a alors ∀n ≥ 1 sup x∈X n |x| = nk ce qui se traduit parX n ⊂ ⊔ nkm=0 Am . D'où π(X n ) ≤ ∑ nkm=0 π(Am ) = nk car π(A m ) = 1Supposons maintenant, en raisonnant pas l'absur<strong>de</strong>, que ∃ɛ > 0 π(X) =1 + ɛ. On a alors d'après la proposition 15 ∀n (1 + ɛ) n = (π(X)) n ≤ kn cequi est impossible car kn = o((1 + ɛ) n ) quand n → ∞.D'où π(X) ≤ 1.Si X est un co<strong>de</strong> quelconque, on pose X n = {x ∈ X| |x| ≤ n}. X n est unco<strong>de</strong> (propriété 2.ii) donc π(X n ) ≤ 1 et par la propriété 14.vi :π(X) = supn≥1π(X n ) ≤ 1.Proposition 17. Soit X un co<strong>de</strong> sur A. S'il existe une distribution <strong>de</strong> Bernoulliπ positive sur A ∗ telle que π(X) = 1 alors X est maximal.Démonstration. Supposons que X n'est pas maximal. Il existe alors y ∈ Xtel que Y = X ⊔ {y} est un co<strong>de</strong>. D'après la proposition 16, on a π(Y ) ≤ 1.De plus π(Y ) = π(X) + π(y) = 1 + π(y). Donc π(y) = 0 ce qui contredit πpositive.8


Exemple 18. On va montrer que X 1 déni à l'exemple 5 est maximal. Onpose π(a) = p < 1 et donc π(b) = 1 − p.π(X 1 ) = ∑ n≥0π(a n bA n ) = ∑ n≥0p n (1 − p)π(A n ) = (1 − p) ∑ n≥0p n = 1Donc π(X 1 ) = 1 pour toute distribution <strong>de</strong> Bernoulli positive, on a doncune hypothèse plus forte que nécessaire dans la proposition 17. On en déduitque X 1 est un co<strong>de</strong> maximal.4 Co<strong>de</strong>s completsOn en arrive enn à la notion <strong>de</strong> complétu<strong>de</strong>, <strong>de</strong>rnière <strong>de</strong>s 3 notions quele théorème 28 met en rapport.Dénition 19 (Eléments complétables). Soient M un monoï<strong>de</strong> et P unsous-ensemble <strong>de</strong> M. Un élément m <strong>de</strong> M est dit complétable dans P si∃u, v ∈ M 2 umv ∈ POn notera F (P ) = M −1 P M −1 l'ensemble <strong>de</strong>s mots complétables dans P .Dénition 20 (<strong>Ens</strong>embles <strong>de</strong>nses et complets et maigres). P ⊂ M est <strong>de</strong>nsedans M si M = F (P ).Si P n'est pas <strong>de</strong>nse, on dit que P est maigre.P ⊂ M est complet dans M si le monoï<strong>de</strong> généré par P est <strong>de</strong>nse.Pour les co<strong>de</strong>s cela se traduit par : le co<strong>de</strong> X sur A est complet si X ∗ est<strong>de</strong>nse dans A ∗ .On peut dans le cas du monoï<strong>de</strong> A ∗ voir l'ensemble F (P ) comme l'ensemble<strong>de</strong>s facteurs <strong>de</strong>s mots <strong>de</strong> P .Exemple 21. Le co<strong>de</strong> X 1 introduit à l'exemple 5 est un co<strong>de</strong> <strong>de</strong>nse. En eet,soit w ∈ A ∗ , le mot a |w| bw ∈ X 1 . Il est donc a fortiori complet.La déntion et les <strong>de</strong>ux lemmes qui suivent servent à démontrer la proposition25 qui met en relation complétu<strong>de</strong> et maximalité d'un co<strong>de</strong>.Dénition 22 (Mots sans bords). Un mot w ∈ A ∗ est sans bords si aucunfacteur gauche propre <strong>de</strong> w est aussi un facteur droit propre. En d'autrestermes :9


∀u ∈ A ∗ w ∈ (uA ∗ ∩ A ∗ u) ⇒ (u = ɛ ∨ u = w)Lemme 23. Soient X ⊂ A + un co<strong>de</strong>, y ∈ A ∗ un mot sans bords tel quey ∉ F (X ∗ ). Alors l'ensemble Y = X ⊔ {y} est un co<strong>de</strong>.Démonstration. On suppose que Y n'est pas un co<strong>de</strong> sur A. Soit w le pluspetit mot qui a 2 factorisations dans Y on a alors n, m ∈ (N) et (y i ) i=1...n ,(y j) ′ i=1...m ∈ Y tels que w = y 1 y 2 · · · y n = y 1y ′ 2 ′ · · · y m ′ .Si y ∉ {y i } i=1...n ∪ {y j} ′ i=1...m alors c'est une factorisation dans X qui estun co<strong>de</strong> donc elles sont i<strong>de</strong>ntiques ce qui est impossible.Si y ∉ {y i } i=1...n mais y ∈ {y j} ′ i=1...m (ou vice versa) alors y ∈ F (X) cequi est impossible.Enn si y ∈ {y i } i=1...n ∩{y j} ′ i=1...m soient i 0 et j 0 les plus petits indices telsque y apparaît dans (y i ) et (y j). ′ On ne peut pas avoir y 1 · · · y i0 −1 = y 1 ′ · · · y j ′ 0 −1sinon cela contredirait la minimalité <strong>de</strong> w. On peut supposer y 1 · · · y i0 −1 |u| vu que les |u| <strong>de</strong>rnières lettres <strong>de</strong> w sont <strong>de</strong>s b. Alors ∃v ∈ A ∗ telque t = vab |u| = uab |v| on donc forcément |v| = |u| et donc t = w.Proposition 25. Tout co<strong>de</strong> maximal est completDémonstration. Si |A| = 1 alors on vérie facilement que les seuls co<strong>de</strong>s sontles a n pour n ∈ N qui sont complets et ∅ qui n'est pas maximal.Sinon soient X ⊂ A + un co<strong>de</strong> qui n'est pas complet et u ∉ F (X ∗ ). D'aprèsle lemme 24 (on a bien |A| ≥ 2) ∃v ∈ A ∗ tel que uv soit sans bords. Commeu est un facteur <strong>de</strong> uv on a toujours uv ∉ F (X ∗ ). On déduit du lemme 23que X ⊔ {y} est un co<strong>de</strong>. Donc X n'est pas maximal.Avant d'arriver à la proposition 27 qui relie complétu<strong>de</strong> et mesure d'unco<strong>de</strong>, on démontre le lemme technique suivant :10


Lemme 26. Soient X ⊂ A ∗ un ensemble maigre et complet. Soit w qui n'estpas complétable dans X. Alors, en notant D (resp. G) les facteurs gauches(resp. droits) <strong>de</strong> w, on a :A ∗ = ⋃ d −1 X ∗ g −1 = D −1 X ∗ G −1d∈Dg∈GDémonstration. Soit z ∈ A ∗ . Comme X ∗ est <strong>de</strong>nse, le mot wzw est complétabledans X ∗ et donc ∃u, v ∈ (A ∗ ) 2 uwzwv ∈ X ∗ . Par hypothèse w ne peutpas être facteur d'un mot <strong>de</strong> X ∗ si on coupe uwzwv en mots <strong>de</strong> X on a doncforcément une coupure dans chacun <strong>de</strong>s w. On a donc <strong>de</strong>ux factorisations <strong>de</strong>w, w = gd = g ′ d ′ telles que ug, dzg ′ , d ′ v ∈ (X ∗ ) 3 .On a donc z ∈ d −1 X ∗ g −1 avec d, g ∈ D × GProposition 27. Soient X un sous-ensemble maigre et complet <strong>de</strong> A ∗ et πune distribution <strong>de</strong> Bernoulli positive sur A ∗ , on a :π(X) ≥ 1Démonstration. On a déjà montré π(A ∗ ) = ∞ (Propriété 14.iv). D'après lerésultat <strong>de</strong> la proposition 26, ∃(d, g) ∈ (A ∗ ) 2 tels que π(d −1 X ∗ g −1 ) = ∞. Eneet, soit w qui n'est pas complétable dans X on a dans le cas contraire⋃∞ = π(A ∗ ) = π( d −1 X ∗ g −1 ) ≤∑π(d −1 X ∗ g −1 ) < ∞d∈D,g∈Gd∈D,g∈Gcar les suxes et préxes d'un mots sont en nombre ni, mais c'est absur<strong>de</strong>.De plus d(d −1 X ∗ g −1 )g ⊂ X ∗ ce qui implique que π(d)π(d −1 X ∗ g −1 )π(g) ≤π(X ∗ ). Comme π est positive π(d)π(g) ≠ 0 on a π(X ∗ ) = ∞. La proposition15 permet <strong>de</strong> conclure que π(X) ≥ 1En rassemblant tout ce qui a été démontré auparavant, on obtient lethéorème suivant qui relie 3 notions qui semblent pourtant très peu liées àpremière vue : la mesure, la maximalité et la complétu<strong>de</strong> d'un co<strong>de</strong> maigre.Théorème 28. Soit X un co<strong>de</strong> maigre sur un alphabet A. Les propositionssuivantes sont équivalentes :(i) X est un co<strong>de</strong> maximal.(ii) ∃ π distribution <strong>de</strong> Bernoulli positive sur A ∗ telle que π(X) = 1.11


(iii) ∀ π distribution <strong>de</strong> Bernoulli positive sur A ∗ , π(X) = 1.(iv) X est un co<strong>de</strong> completDémonstration. (i) ⇒ (iv) est la proposition 25.(iv) ⇒ (iii) est une conséquence <strong>de</strong>s propositions 16 et 27.(iii) ⇒ (ii) est trivial.(ii) ⇒ (i) est la proposition 17Exemple 29. Le co<strong>de</strong> X 1 introduit à l'exemple 5 vérie ces 4 propriétés sansêtre maigre.Exemple 30. X 2 (voir exemple 10) quant à lui est maigre (car ni). Posonsπ(a) = p où 0 < p < 1π(X 2 ) = p 2 + (1 − p)p + (1 − p) 2 + (1 − p)p 2 + (1 − p) 2 p = 1X 2 est donc complet et maximal, ce qui a priori n'était pas évi<strong>de</strong>nt.Le théoréme 28 donne un moyen très simple <strong>de</strong> savoir si un co<strong>de</strong> maigre estmaximal ou complet, propriétés assez fortes, il sut <strong>de</strong> tester sur n'importequelle distribution <strong>de</strong> Bernoulli positive et <strong>de</strong> vérier qu'on obtient 1.Références[1] J. Berstel and D. Perrin. Theory of Co<strong>de</strong>s. Aca<strong>de</strong>mic Press, 1984.12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!