Le système F est un formalisme logique qui permet d'exprimer de façon très riche et très rigoureuse des fonctions et d'y démontrer formellement des propriétés difficiles. Plus précisément, le système F (également connu sous le nom de lambda-calcul polymorphe ou de lambda-calcul du second ordre) est une extension du lambda-calcul simplement typé introduite indépendamment par le logicien Jean-Yves Girard et par l'informaticien John C. Reynolds.
Ce système se distingue du lambda-calcul simplement typé par l'existence d'une quantification universelle sur les types qui permet d'exprimer du polymorphisme.
Le système F possède deux propriétés cruciales :
la réduction des termes est fortement normalisante (dit plus crûment : tous les calculs se terminent) ;
Note liminaire : La lecture de cet article suppose la lecture préalable de l'article « lambda-calcul » et son assimilation.
Introduction
Ainsi que l'atteste sa double origine, le système F peut être étudié dans deux contextes très différents :
Dans le domaine de la programmation fonctionnelle, où il apparaît comme une extension très expressive du noyau du langage ML. Son expressivité est illustrée par le fait que les types de données courants (booléens, entiers, listes, etc.) sont définissables dans le système F à partir des constructions de base ;
Dans le domaine de la logique, et plus particulièrement de la théorie de la démonstration. À travers la correspondance de Curry-Howard, le système F est en effet isomorphe à la logique minimale du second ordre. En outre, ce système capture très exactement la classe des fonctions numériques dont l'existence est prouvable en arithmétique intuitionniste du second ordre (parfois appelée analyse intuitionniste). C'est d'ailleurs cette propriété remarquable du système F qui a historiquement motivé son introduction par Jean-Yves Girard, dans la mesure où cette propriété permet de résoudre le problème de l'élimination des coupures en arithmétique du second ordre, conjecturé par Takeuti.
Historiquement le système F a joué un rôle essentiel dans les fondations de l'informatique en proposant, dès le début des années 1970, un formalisme de types riche, simple et très expressif de fonctions calculables très générales. Il ouvrait la voie aux langages de programmation typés modernes et aux assistants de preuve comme Coq.
Comme le lambda-calcul simplement typé, le système F admet deux présentations équivalentes :
Une présentation à la Church, dans laquelle chaque terme contient toutes les annotations de type nécessaires à la reconstruction de son type (de manière univoque) ;
Une présentation à la Curry, due à l'informaticien Daniel Leivant, dans laquelle les termes (qui sont ceux du lambda-calcul pur) sont dépourvus de toute annotation de type, et sont ainsi sujets aux problèmes d'ambiguïté typique.
Présentation à la Church
Le système F admet deux sortes d'objets: les types et les termes. Les termes peuvent être « réduits » et traduisent des fonctions calculables, tandis que les types annotent les termes et permettent de les catégoriser.
La syntaxe
Les types du système F (notés , , , etc.) sont formés à partir d'un ensemble de variables de types (notées , , , etc.) à l'aide des trois règles de construction suivantes :
(Variable de type) Si est une variable de type, alors est un type ;
(Type flèche) Si et sont des types, alors est un type ;
(Type universel) Si est une variable de type et un type, alors est un type.
En résumé, les types du système F sont donnés par la grammaire BNF :
Comme en lambda-calcul ou en calcul des prédicats, la présence d'un symbole mutificateur nécessite de distinguer les notions de variable libre et de variable liée, et d'introduire les mécanismes usuels de renommage permettant de travailler à -conversion près. Enfin, l'algèbre de types du système F est munie d'une opération de substitution similaire à celle du lambda-calcul, et l'on note le type obtenu en remplaçant dans le type toutes les occurrences libres de la variable de type par le type .
Les termes (bruts) du système F (notés , , etc.) sont formés à partir d'un ensemble de variables de termes (notées , , , etc.) à l'aide des cinq règles de construction suivantes :
(Variable) Si est une variable de terme, alors est un terme ;
(Abstraction) Si est une variable de terme, un type et un terme, alors est un terme ;
(Application) Si et sont des termes, alors est un terme ;
(Abstraction de type) Si est une variable de type et un terme, alors est un terme ;
(Application de type) Si est un terme et un type, alors est un terme.
En résumé, les termes (bruts) du système F sont donnés par la grammaire BNF :
Les termes du système F incorporent deux mécanismes de liaison de variable : un mécanisme de liaison de variables de termes (par la construction ) et un mécanisme de liaison de variables de types (par la construction ), qui sont tous les deux pris en compte au niveau de la relation d'-conversion. Ce double mécanisme donne naturellement lieu à deux opérations de substitution : une substitution de terme notée , et une substitution de type notée .
La β-réduction
La présence d'un double mécanisme d'abstraction et d'application (abstraction/application de terme et abstraction/application de type) donne lieu à deux règles de -réduction, dont l'union engendre par passage au contexte la relation de -réduction en une étape du système F :
(Confluence de la -réduction) Si et , alors il existe un terme tel que et ;
(Propriété de Church-Rosser) Pour que deux termes et soient -convertibles, il faut et il suffit qu'il existe un terme tel que et .
Le système de types
On appelle contexte de typage (notation : , , etc.) toute liste finie de déclarations de la forme (où est une variable de terme et un type) dans laquelle une variable de terme est déclarée au plus une fois.
Le système de types du système F est construit autour d'un jugement de typage de la forme (« dans le contexte , le terme a pour type »), qui est défini à partir des règles d'inférence suivantes :
(Axiome) si ;
(-intro) ;
(-élim) ;
(-intro) si n'a pas d'occurrence libre dans ;
(-élim) .
Les deux propriétés principales de ce système de types sont la propriété de préservation du type par -réduction et la propriété de normalisation forte :
(Préservation du type par réduction) Si et si , alors ;
(Normalisation forte) Si , alors est fortement normalisable.
La première de ces deux propriétés est une propriété purement combinatoire qui se démontre par une induction directe sur la dérivation de typage. En revanche, la propriété de normalisation forte du système F est une propriété dont la démonstration repose fondamentalement sur des méthodes non combinatoires, basées sur la notion de candidat de réductibilité.
Indécidabilité
Sauf indication contraire ou complémentaire, les informations contenues dans cette section proviennent de la traduction de la section Use in programming languages de l'article de la Wikipédia en anglais.
Le système de type présenté dans la section précédente est explicite, ce qui veut dire de les informations sur le type des termes sont données à chaque étape. On dit aussi que c'est un système « à la Church ». Dans un tel système, vérifier qu'un terme est bien typé est très simple.
En 1994, Joe B. Wells a résolu une conjecture ancienne, qui répond à un problème plus général, à savoir que la vérification de type pour un variant « à la Curry » du système F (un système de type où les informations de type ne sont pas données) est indécidable[1]. Le résultat de Wells signifie que la reconstruction du type pour le système F n'est pas possible. Autrement dit, en système F, on ne peut pas avoir un mécanisme logiciel qui, comme en OCaml ou en Haskell, assigne un type à une fonction que le programmeur a entrée. Cependant dans ces langages, pour aller vers des systèmes de type qui englobent le système F, le programmeur doit fournir, ici ou là, des informations de type pour aider le logiciel à reconstruire le type du terme entier. Dans des langages comme Gallina (de Coq) ou Agda(en) qui contiennent une large extension du système F, la contribution du programmeur au typage est déterminante.
Représentation des types de données
Pour pouvoir utiliser le lambda-calcul simplement typé comme un langage de programmation, il est nécessaire de lui adjoindre des types de base (booléens, entiers, etc.) et des règles de réduction supplémentaires qui étendent le pouvoir expressif du formalisme. Un exemple d'une telle extension est le système T de Gödel, qui est obtenu en ajoutant au lambda-calcul simplement typé des entiers naturels primitifs et un mécanisme de récursion similaire à la récursion primitive (mais plus expressif).
Dans le système F, une telle extension n'est pas nécessaire car l'expressivité du formalisme permet de définir les types de base et les constructeurs de types usuels sans qu'il soit nécessaire de modifier ni le système de types ni les règles de réduction.
Booléens et types finis
Le type des booléens est défini dans le système F par
et les constantes et par :
;
.
On peut démontrer que les deux termes ci-dessus sont les deux seuls termes clos en forme normale de type . Ainsi, le type de données capture effectivement la notion de booléen.
La construction 'if … then … else …' est définie par
où désigne le type d'élimination de la construction 'if ...', c'est-à-dire le type commun aux deux branches de la conditionnelle. Cette définition est correcte du point de vue du typage comme du point de vue calculatoire dans la mesure où :
Dans tout contexte où le terme a le type et où les termes et ont le type , la construction est bien typée et a pour type le type ;
Si le terme se réduit sur , alors la construction se réduit sur ;
Si le terme se réduit sur , alors la construction se réduit sur .
Plus généralement, on peut définir un type fini à valeurs en posant :
;
(pour tout ).
Là encore, on peut démontrer que les termes sont les seuls termes clos en forme normale de type . L'opération de filtrage correspondant est définie par :
Le type n'est habité par aucun terme clos en forme normale, et, d'après le théorème de normalisation forte, il n'est habité par aucun terme clos.
Produit cartésien et somme directe
Soit et deux types. Le produit cartésien est défini dans le système F par
et la construction de couple par
(si et )
Comme pour les types énumérés, on peut démontrer que les seuls termes clos en forme normale de type sont de la forme , où et sont des termes clos en forme normale de type et , respectivement. Les fonctions de projection correspondantes sont données par
Ces fonctions vérifient naturellement les égalités
et .
La somme directe est définie par
Les habitants des types et sont plongés dans le type à l'aide des constructions
(si )
(si )
tandis que le filtrage des éléments de type est assuré par la construction
qui satisfait les égalités définitionnelles attendues.
Contrairement au produit cartésien, l'encodage de la somme directe dans le système F ne capture pas toujours la notion d'union disjointe, dans la mesure où il est possible, dans certains cas, de construire des termes clos en forme normale de type qui ne sont ni de la forme (avec ) ni de la forme (avec )[réf. nécessaire].
Les entiers de Church
Le type des entiers de Church est défini dans le système F par
Chaque entier naturel est représenté par le terme
Comme pour les booléens, le type capture la notion d'entier naturel puisque tout terme clos de type en forme normale est de la forme pour un certain entier naturel .
Présentation à la Curry
La fonction d'effacement
Le système de types
(Axiome) si
(-intro)
(-élim)
(-intro) si n'a pas d'occurrence libre dans
(-élim) .
Équivalence entre les deux systèmes
Le théorème de normalisation forte
Les termes typables du système F sont fortement normalisables, autrement dit la réduction des termes est une opération qui se termine toujours en produisant une forme normale.
Candidats de réductibilité
Sauf indication contraire ou complémentaire, les informations contenues dans cette section proviennent du chapitre 14 de Proofs and Types[2].
La méthode des candidats de réductibilité a été développée par Jean-Yves Girard en généralisant la preuve de William W. Tait(en)[3] pour prouver la forte normalisation du système T pour montrer la forte normalisation du système F, plus particulièrement, sa terminaison. En effet, une simple récurrence sur la taille du type ou du terme n'est pas suffisante, pour deux raisons. Premièrement, si et sont fortement normalisables, ce n'est pas nécessairement le cas de . Ce problème était déjà résolu par la méthode de Tait. Deuxièmement, pour montrer que est fortement normalisable, il faut montrer que pour tout type , est fortement normalisable, or n'est pas nécessairement un type plus petit que , ce qu'on peut constater en choisissant , , on a alors . C'est ce problème en particulier que Girard a résolu.
Un candidat de réductibilité de type est un ensemble de termes de type qui vérifie un certain nombre de propriétés :
tous les termes d'un candidat sont fortement normalisables,
un candidat est stable par réduction,
si est un terme neutre et que tous les réduits de sont dans , alors . Un terme neutre est une variable, appliquée à une liste potentiellement vide de types et de termes en forme normale.
En particulier, l'ensemble des termes fortement normalisables de type est un candidat de réductibilité de type .
Soit un type dont les variables libres sont incluses dans et des candidats de réductibilité de type
respectivement. On définit par induction sur l'ensemble , qui est un candidat de réductibilité de type :
Si est la variable , .
Si , .
Si , , où désigne l'ensemble des candidats de réductibilité de type .
Ensuite, on montre, par induction sur la dérivation, que si , . On peut en déduire que si est typable alors est fortement normalisable.
Les candidats de réductibilité connaissent plusieurs variantes[4], par exemple les candidats peuvent être non-typés, et cette technique a été largement déclinée pour divers systèmes de types, présentant des caractéristiques variées : intersections de types[5], types récursifs[6], types modaux[7], types dépendants[8].
Correspondance avec la logique du second ordre
À travers la correspondance de Curry-Howard, le système F correspond très exactement à la logique minimale du second ordre, dont les formules sont construites à partir des variables propositionnelles à l'aide de l'implication et de la quantification propositionnelle :
Rappelons que dans ce cadre, les unités (vérité) et (absurdité), les connecteurs (négation), (conjonction) et (disjonction) et la quantification existentielle sont définissables par
(On notera qu'à travers la correspondance de Curry-Howard, l'absurdité correspond au type vide, la vérité au type singleton, la conjonction au produit cartésien et la disjonction à la somme directe.)
On démontre que dans ce formalisme, une formule est prouvable sans hypothèses si et seulement si le type correspondant dans le système F est habité par un terme clos.
Correspondance avec l'arithmétique du second ordre
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?
↑J. B. Wells, « Typability and Type-Checking in the Second-Order lambda-Calculus are Equivalent and Undecidable », Proceedings of the Ninth Annual Symposium on Logic in Computer Science, Paris, France, , p. 176-185.
↑(en) W. W. Tait, « Intensional interpretations of functionals of finite type I », The Journal of Symbolic Logic, vol. 32, no 2, , p. 198–212 (ISSN0022-4812 et 1943-5886, DOI10.2307/2271658)
↑(en) Jean H. Gallier, « On Girard’s “Candidats de réductibilité” », dans Piergiorgio Odifreddi, Logic and Computer Science, Academic Press, coll. « APIC studies in data processing » (no 31), , 430 p. (ISBN978-0-12-524220-2, lire en ligne)
↑(en) M. Dezani-Ciancaglini, F. Honsell et Y. Motohama, « Compositional Characterizations of λ-Terms Using Intersection Types », Mathematical Foundations of Computer Science 2000, Springer, , p. 304–313 (ISBN978-3-540-44612-5, DOI10.1007/3-540-44612-5_26)
↑Nax Paul Mendler, « Inductive types and type constraints in the second-order lambda calculus », Annals of Pure and Applied Logic, vol. 51, nos 1-2, , p. 159–172 (ISSN0168-0072, DOI10.1016/0168-0072(91)90069-x)
↑(en) Arthur Adjedj, Meven Lennon-Bertrand, Kenji Maillard, Pierre-Marie Pédrot et Loïc Pujet, « Martin-Löf à la Coq », Proceedings of the 13th ACM SIGPLAN International Conference on Certified Programs and Proofs, New York, NY, USA, Association for Computing Machinery, , p. 230–245 (DOI10.1145/3636501.3636951, arXiv2310.06376)
Ne doit pas être confondu avec CEREMADE. CeremaHistoireFondation 1er janvier 2014Prédécesseur Centre d'études techniques de l'ÉquipementCadreSigle CeremaType Établissement public administratifForme juridique Établissement public national à caractère administratifDomaine d'activité Administration publique (tutelle) des activités économiquesSiège Bron, Métropole de LyonPays FranceCoordonnées 45° 44′ 16″ N, 4° 55′ 39″ EOrganisationEff...
William Robert Timken Jr.United States Ambassador to GermanyIn officeSeptember 2, 2005 – December 5, 2008PresidentGeorge W. BushPreceded byDan CoatsSucceeded byPhil Murphy Personal detailsBorn (1938-12-21) December 21, 1938 (age 85)Canton, Ohio, U.S.Children6Alma materPhillips Academy, Stanford University, Harvard Business School William Robert Timken Jr. (born December 21, 1938) is an American industrialist, businessman and former diplomat. He served as the U.S. Ambassador t...
Murders in the Rue MorguePoster rilis teatrikal karya Karoly Grosz[1]SutradaraRobert FloreyProduserCarl Laemmle Jr.Skenario Tom Reed Dale Van Every[2] BerdasarkanThe Murders in the Rue Morgueoleh Edgar Allan PoePemeran Bela Lugosi Sidney Fox Leon Ames Bert Roach Brandon Hurst Noble Johnson D'Arcy Corrigan SinematograferKarl W. Freund[2]PenyuntingMilton Carruth[2]PerusahaanproduksiUniversal PicturesDistributorUniversal PicturesTanggal rilis 10 Februari 1932 ...
This is a list of state prisons in Texas. The list includes only those facilities under the supervision of the Texas Department of Criminal Justice and includes some facilities operated under contract by private entities to TDCJ. It does not include federal prisons or county jails, nor does it include the North Texas State Hospital; though the facility houses those classified as criminally insane (such as Andrea Yates) the facility is under the supervision of the Texas Department of State He...
Perpustakaan PPKSBagian Informasi Perpustakaan PPKSLua error in Modul:Mapframe at line 384: attempt to perform arithmetic on local 'lat_d' (a nil value).3.556351, 98.687710LokasiMedan, Sumatera Utara, Indonesia, IndonesiaJenisPerpustakaan khususDidirikan1916CollectionUkuran8.636 judul buku, 224 judul majalah, 3.000 eksemplar buku langkaSitus webhttp://pustaka.iopri.org Wikimedia Commons memiliki media mengenai Perpustakaan PPKS. Perpustakaan PPKS atau Perpustakaan Khusus Pusat Penelitian Kela...
Pour les articles homonymes, voir Constantine. Cet article concerne la ville moderne de Constantine. Pour la ville originelle à l'époque antique, voir Cirta. Ne doit pas être confondu avec Djasr Kasentina. Constantine De haut en bas et de gauche à droite : le pont de Sidi Rached ; la gare et la statue de Constantin Ier, le palais Ahmed Bey ; la mosquée Émir Abdelkader, la passerelle Mellah-Slimane avec la Medersa ; le pont de Sidi M'Cid, les ruines de Tiddis...
Hungarian Communist leader (1875–1928) The native form of this personal name is Landler Jenő. This article uses Western name order when mentioning individuals. Jenő LandlerLandler in 1919Born(1875-11-23)23 November 1875Gelse, Austria-Hungary(now Hungary)Died25 February 1928(1928-02-25) (aged 52)Cannes, FranceResting placeKremlin Wall Necropolis, MoscowNationalityHungarianPolitical partyHungarian Communist PartyHungarian Social Democratic Party (before 1918)Parent(s)Adolf Landler ...
Public holidays in BotswanaObserved byBatswanaTypeNationalFrequencyAnnualPublic holidays in Botswana are largely controlled by government sector employers who are given paid time off. The government holiday schedule mainly benefits employees of government and government regulated businesses. At the discretion of the employer, other non-federal holidays such as Christmas Eve are common additions to the list of paid holidays. Major Christian holidays such as Christmas and Good Friday are ...
Steel roller coaster at Dorney Park Steel ForceSteel Force at Dorney Park & Wildwater Kingdom in Allentown, PennsylvaniaDorney Park & Wildwater KingdomLocationDorney Park & Wildwater KingdomCoordinates40°34′44″N 75°32′17″W / 40.57889°N 75.53806°W / 40.57889; -75.53806StatusOperatingOpening dateMay 30, 1997CostUS$10,000,000General statisticsTypeSteelManufacturerD. H. Morgan ManufacturingDesignerSteve OkamotoModelHyper CoasterTrack layoutOut and B...
Copa dos Campeões 2001 Competizione Copa dos Campeões Sport Calcio Edizione 2ª Organizzatore CBF Date dal 5 giugno 2001all'11 luglio 2001 Luogo Brasile Partecipanti 9 Risultati Vincitore Flamengo(1º titolo) Secondo San Paolo Statistiche Miglior marcatore Luís Fabiano (San Paolo), 7 gol Incontri disputati 17 Gol segnati 61 (3,59 per incontro) Cronologia della competizione 2000 2002 Manuale La Copa dos Campeões 2001 (in italiano Coppa dei Campioni 2001) è...
Logo iNews Halaman ini memuat daftar acara yang ditayangkan di iNews. Program saat ini Berita iNews (acara televisi) Pagi Siang Sore Malam Today Room Prime Terkini Kawal Suara Rakyat (ditayangkan selama Pemilu 2024) Lapor Polisi Realita Berita lokal Selain program berita nasional, beberapa jaringan iNews juga menayangkan berita lokal yang ditayangkan setiap Senin sampai Sabtu pukul 06.30 WIB iNews Jabar (program berita lokal iNews Bandung) iNews Jateng (program berita lokal iNews Semarang dan...
American politician and attorney from Indiana Greg SteuerwaldMember of the Indiana House of Representativesfrom the 40th districtIncumbentAssumed office August 19, 2007Preceded byMatt Whetstone Personal detailsBorn (1952-09-12) September 12, 1952 (age 71)Terre Haute, IndianaPolitical partyRepublicanOccupationAttorney, politician Greg Steuerwald (born September 12, 1952) is an American politician and attorney from Indiana. Steuerwald is a member of the Indiana House of Rep...
Canadian politician For the politician from Alberta, see Donald S. Fleming. For the Canadian chemist, see Donald Fleming (chemist). For the American historian, see Donald Harnish Fleming. Donald FlemingMinister of JusticeIn officeAugust 9, 1962 – April 21, 1963Prime MinisterJohn DiefenbakerPreceded byDavie FultonSucceeded byLionel ChevrierMinister of FinanceIn officeJune 21, 1957 – August 8, 1962Prime MinisterJohn DiefenbakerPreceded byWalter HarrisSucceeded byGeorge Now...
Carlo Bernari Carlo Bernari, pseudonimo di Carlo Bernard (Napoli, 13 ottobre 1909 – Roma, 22 ottobre 1992), è stato uno scrittore, antifascista e partigiano italiano. Indice 1 Biografia 2 Opere 2.1 Narrativa 2.2 Poesia 2.3 Saggistica 3 Note 4 Voci correlate 5 Altri progetti 6 Collegamenti esterni Biografia Bernari nacque a Napoli nel 1909 da una famiglia di piccoli imprenditori d'origine francese. Ragazzo dal carattere difficile, non amante delle regole fu espulso da tutte le scuole e pros...
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article may require cleanup to meet Wikipedia's quality standards. The specific problem is: WP:UNIGUIDE. Please help improve this article if you can. (January 2012) (Learn how and when to remove this message) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sourc...
American philosopher Robert C. SolomonBornSeptember 14, 1942Detroit, Michigan, U.S.DiedJanuary 2, 2007(2007-01-02) (aged 64)Zürich, SwitzerlandAlma materUniversity of MichiganEra20th-/21st-century philosophyRegionWestern philosophySchoolContinental philosophyMain interestsNietzsche, history of philosophy,existentialism Robert C. Solomon (September 14, 1942 – January 2, 2007) was a philosopher and business ethicist, notable author, and Distinguished Teaching Professor of Busi...
1992 film by Robert Altman The PlayerTheatrical release posterDirected byRobert AltmanScreenplay byMichael TolkinBased onThe Playerby Michael TolkinProduced byDavid BrownMichael TolkinNick WechslerStarring Tim Robbins Greta Scacchi Fred Ward Whoopi Goldberg Peter Gallagher Brion James Cynthia Stevenson CinematographyJean LépineEdited byGeraldine PeroniMusic byThomas NewmanProductioncompaniesAvenue PicturesSpelling EntertainmentDavid Brown ProductionsAddis-WechslerDistributed byFine Line Feat...
President of The Church of Jesus Christ of Latter-day Saints This article is about the president of The Church of Jesus Christ of Latter-day Saints. For others of the same name, see George Albert Smith (disambiguation). George Albert Smith8th President of the Church of Jesus Christ of Latter-day SaintsMay 21, 1945 (1945-05-21) – April 4, 1951 (1951-04-04)PredecessorHeber J. GrantSuccessorDavid O. McKay President of the Quorum of the Twelve Apostle...
2017 American filmMax 2: White House HeroTheatrical release posterDirected byBrian LevantWritten bySteve AltiereBased onCharactersby Boaz YakinSheldon LettichProduced by Brian Levant Matt Bierman Starring Zane Austin Francesca Capaldi Lochlyn Munro Andrew Kavadas CinematographyJan KiesserEdited byTony LombardoMusic byRandy EdelmanProductioncompanies Orion Pictures Sunswept Entertainment Distributed by Orion Pictures Metro-Goldwyn-Mayer Warner Bros. Pictures Release date May 5, 2017&...