CINXE.COM
Prolog — Wikipédia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="fr" dir="ltr"> <head> <meta charset="UTF-8"> <title>Prolog — Wikipédia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )frwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"wgRequestId":"90c066d8-7bab-46d5-91a6-00120d3d4fe5","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Prolog","wgTitle":"Prolog","wgCurRevisionId":217453203,"wgRevisionId":217453203,"wgArticleId":89964,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Page utilisant P737","Page utilisant P1195","Article utilisant une Infobox","Article contenant un appel à traduction en anglais","Portail:Programmation informatique/Articles liés","Portail:Informatique/Articles liés","Portail:Intelligence artificielle/Articles liés","Portail:Logique/Articles liés","Projet:Mathématiques/Articles","Portail:Sciences/Articles liés","Article de qualité en néerlandais","Langage de programmation logique","Intelligence artificielle", "Langage de définition de données","Langage de requête","Invention française"],"wgPageViewLanguage":"fr","wgPageContentLanguage":"fr","wgPageContentModel":"wikitext","wgRelevantPageName":"Prolog","wgRelevantArticleId":89964,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"fr","pageLanguageDir":"ltr","pageVariantFallbacks":"fr"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false, "wgWikibaseItemId":"Q163468","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","ext.cite.ux-enhancements","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP", "ext.centralNotice.startUp","ext.gadget.ArchiveLinks","ext.gadget.Wdsearch","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=fr&modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=fr&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=fr&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Prolog — Wikipédia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//fr.m.wikipedia.org/wiki/Prolog"> <link rel="alternate" type="application/x-wiki" title="Modifier" href="/w/index.php?title=Prolog&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipédia (fr)"> <link rel="EditURI" type="application/rsd+xml" href="//fr.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://fr.wikipedia.org/wiki/Prolog"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr"> <link rel="alternate" type="application/atom+xml" title="Flux Atom de Wikipédia" href="/w/index.php?title=Sp%C3%A9cial:Modifications_r%C3%A9centes&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Prolog rootpage-Prolog skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Aller au contenu</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Menu principal" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Menu principal</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Menu principal</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">masquer</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Accueil_principal" title="Accueil général [z]" accesskey="z"><span>Accueil</span></a></li><li id="n-thema" class="mw-list-item"><a href="/wiki/Portail:Accueil"><span>Portails thématiques</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Page_au_hasard" title="Affiche un article au hasard [x]" accesskey="x"><span>Article au hasard</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Contact"><span>Contact</span></a></li> </ul> </div> </div> <div id="p-Contribuer" class="vector-menu mw-portlet mw-portlet-Contribuer" > <div class="vector-menu-heading"> Contribuer </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-aboutwp" class="mw-list-item"><a href="/wiki/Aide:D%C3%A9buter"><span>Débuter sur Wikipédia</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Aide:Accueil" title="Accès à l’aide"><span>Aide</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Accueil_de_la_communaut%C3%A9" title="À propos du projet, ce que vous pouvez faire, où trouver les informations"><span>Communauté</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Modifications_r%C3%A9centes" title="Liste des modifications récentes sur le wiki [r]" accesskey="r"><span>Modifications récentes</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Wikip%C3%A9dia:Accueil_principal" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipédia" src="/static/images/mobile/copyright/wikipedia-wordmark-fr.svg" style="width: 7.4375em; height: 1.125em;"> <img class="mw-logo-tagline" alt="l'encyclopédie libre" src="/static/images/mobile/copyright/wikipedia-tagline-fr.svg" width="120" height="13" style="width: 7.5em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Sp%C3%A9cial:Recherche" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Rechercher sur Wikipédia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Rechercher</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Rechercher sur Wikipédia" aria-label="Rechercher sur Wikipédia" autocapitalize="sentences" title="Rechercher sur Wikipédia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Spécial:Recherche"> </div> <button class="cdx-button cdx-search-input__end-button">Rechercher</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Outils personnels"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Apparence"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Modifier l'apparence de la taille, de la largeur et de la couleur de la police de la page" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Apparence" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Apparence</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_fr.wikipedia.org&uselang=fr" class=""><span>Faire un don</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Sp%C3%A9cial:Cr%C3%A9er_un_compte&returnto=Prolog" title="Nous vous encourageons à créer un compte utilisateur et vous connecter ; ce n’est cependant pas obligatoire." class=""><span>Créer un compte</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Sp%C3%A9cial:Connexion&returnto=Prolog" title="Nous vous encourageons à vous connecter ; ce n’est cependant pas obligatoire. [o]" accesskey="o" class=""><span>Se connecter</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Plus d’options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Outils personnels" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Outils personnels</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Menu utilisateur" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_fr.wikipedia.org&uselang=fr"><span>Faire un don</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Cr%C3%A9er_un_compte&returnto=Prolog" title="Nous vous encourageons à créer un compte utilisateur et vous connecter ; ce n’est cependant pas obligatoire."><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Créer un compte</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Connexion&returnto=Prolog" title="Nous vous encourageons à vous connecter ; ce n’est cependant pas obligatoire. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Se connecter</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages pour les contributeurs déconnectés <a href="/wiki/Aide:Premiers_pas" aria-label="En savoir plus sur la contribution"><span>en savoir plus</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Mes_contributions" title="Une liste des modifications effectuées depuis cette adresse IP [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Mes_discussions" title="La page de discussion pour les contributions depuis cette adresse IP [n]" accesskey="n"><span>Discussion</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Sommaire" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Sommaire</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">masquer</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Début</div> </a> </li> <li id="toc-Types_de_termes" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Types_de_termes"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Types de termes</span> </div> </a> <button aria-controls="toc-Types_de_termes-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Types de termes</span> </button> <ul id="toc-Types_de_termes-sublist" class="vector-toc-list"> <li id="toc-Atomes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Atomes"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Atomes</span> </div> </a> <ul id="toc-Atomes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Nombres" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Nombres"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Nombres</span> </div> </a> <ul id="toc-Nombres-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Variables" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Variables"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Variables</span> </div> </a> <ul id="toc-Variables-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Termes_composés" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Termes_composés"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>Termes composés</span> </div> </a> <ul id="toc-Termes_composés-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Listes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Listes"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.5</span> <span>Listes</span> </div> </a> <ul id="toc-Listes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Chaînes_de_caractères" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Chaînes_de_caractères"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.6</span> <span>Chaînes de caractères</span> </div> </a> <ul id="toc-Chaînes_de_caractères-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Prédicats" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Prédicats"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Prédicats</span> </div> </a> <button aria-controls="toc-Prédicats-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Prédicats</span> </button> <ul id="toc-Prédicats-sublist" class="vector-toc-list"> <li id="toc-Prédéfinis" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Prédéfinis"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Prédéfinis</span> </div> </a> <ul id="toc-Prédéfinis-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Règles" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Règles"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Règles</span> </div> </a> <ul id="toc-Règles-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Évaluation" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Évaluation"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Évaluation</span> </div> </a> <button aria-controls="toc-Évaluation-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Évaluation</span> </button> <ul id="toc-Évaluation-sublist" class="vector-toc-list"> <li id="toc-Négation_par_l'échec" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Négation_par_l'échec"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Négation par l'échec</span> </div> </a> <ul id="toc-Négation_par_l'échec-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Exécution" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Exécution"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Exécution</span> </div> </a> <ul id="toc-Exécution-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Réversibilité" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Réversibilité"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Réversibilité</span> </div> </a> <button aria-controls="toc-Réversibilité-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Réversibilité</span> </button> <ul id="toc-Réversibilité-sublist" class="vector-toc-list"> <li id="toc-Exemples" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Exemples"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.1</span> <span>Exemples</span> </div> </a> <ul id="toc-Exemples-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Particularités" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Particularités"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Particularités</span> </div> </a> <ul id="toc-Particularités-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Emplois" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Emplois"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Emplois</span> </div> </a> <button aria-controls="toc-Emplois-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Emplois</span> </button> <ul id="toc-Emplois-sublist" class="vector-toc-list"> <li id="toc-Aspect_bases_de_données" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Aspect_bases_de_données"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Aspect bases de données</span> </div> </a> <ul id="toc-Aspect_bases_de_données-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Aspect_linguistique" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Aspect_linguistique"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2</span> <span>Aspect linguistique</span> </div> </a> <ul id="toc-Aspect_linguistique-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Aspect_combinatoire" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Aspect_combinatoire"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.3</span> <span>Aspect combinatoire</span> </div> </a> <ul id="toc-Aspect_combinatoire-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Aspect_mathématique" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Aspect_mathématique"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.4</span> <span>Aspect mathématique</span> </div> </a> <ul id="toc-Aspect_mathématique-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Modules_intelligents" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Modules_intelligents"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.5</span> <span>Modules intelligents</span> </div> </a> <ul id="toc-Modules_intelligents-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Évolutions" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Évolutions"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Évolutions</span> </div> </a> <ul id="toc-Évolutions-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Implémentations" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Implémentations"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Implémentations</span> </div> </a> <ul id="toc-Implémentations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Bibliographie" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Bibliographie"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>Bibliographie</span> </div> </a> <ul id="toc-Bibliographie-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes_et_références" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Notes_et_références"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>Notes et références</span> </div> </a> <ul id="toc-Notes_et_références-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Voir_aussi" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Voir_aussi"> <div class="vector-toc-text"> <span class="vector-toc-numb">13</span> <span>Voir aussi</span> </div> </a> <button aria-controls="toc-Voir_aussi-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Voir aussi</span> </button> <ul id="toc-Voir_aussi-sublist" class="vector-toc-list"> <li id="toc-Articles_connexes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Articles_connexes"> <div class="vector-toc-text"> <span class="vector-toc-numb">13.1</span> <span>Articles connexes</span> </div> </a> <ul id="toc-Articles_connexes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Liens_externes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Liens_externes"> <div class="vector-toc-text"> <span class="vector-toc-numb">13.2</span> <span>Liens externes</span> </div> </a> <ul id="toc-Liens_externes-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Sommaire" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Basculer la table des matières" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Basculer la table des matières</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Prolog</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Aller à un article dans une autre langue. Disponible en 58 langues." > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-58" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">58 langues</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-an mw-list-item"><a href="https://an.wikipedia.org/wiki/Prolog" title="Prolog – aragonais" lang="an" hreflang="an" data-title="Prolog" data-language-autonym="Aragonés" data-language-local-name="aragonais" class="interlanguage-link-target"><span>Aragonés</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%A8%D8%B1%D9%88%D9%84%D9%88%D8%BA" title="برولوغ – arabe" lang="ar" hreflang="ar" data-title="برولوغ" data-language-autonym="العربية" data-language-local-name="arabe" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ast mw-list-item"><a href="https://ast.wikipedia.org/wiki/Prolog" title="Prolog – asturien" lang="ast" hreflang="ast" data-title="Prolog" data-language-autonym="Asturianu" data-language-local-name="asturien" class="interlanguage-link-target"><span>Asturianu</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Proloq_dili" title="Proloq dili – azerbaïdjanais" lang="az" hreflang="az" data-title="Proloq dili" data-language-autonym="Azərbaycanca" data-language-local-name="azerbaïdjanais" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bat-smg mw-list-item"><a href="https://bat-smg.wikipedia.org/wiki/Prolog" title="Prolog – samogitien" lang="sgs" hreflang="sgs" data-title="Prolog" data-language-autonym="Žemaitėška" data-language-local-name="samogitien" class="interlanguage-link-target"><span>Žemaitėška</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/%D0%9F%D1%80%D0%B0%D0%BB%D0%BE%D0%B3_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%B0%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)" title="Пралог (мова праграмавання) – biélorusse" lang="be" hreflang="be" data-title="Пралог (мова праграмавання)" data-language-autonym="Беларуская" data-language-local-name="biélorusse" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D0%B3_(%D0%B5%D0%B7%D0%B8%D0%BA_%D0%B7%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8%D1%80%D0%B0%D0%BD%D0%B5)" title="Пролог (език за програмиране) – bulgare" lang="bg" hreflang="bg" data-title="Пролог (език за програмиране)" data-language-autonym="Български" data-language-local-name="bulgare" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Prolog" title="Prolog – catalan" lang="ca" hreflang="ca" data-title="Prolog" data-language-autonym="Català" data-language-local-name="catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Prolog_(programovac%C3%AD_jazyk)" title="Prolog (programovací jazyk) – tchèque" lang="cs" hreflang="cs" data-title="Prolog (programovací jazyk)" data-language-autonym="Čeština" data-language-local-name="tchèque" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Prolog_(programmeringssprog)" title="Prolog (programmeringssprog) – danois" lang="da" hreflang="da" data-title="Prolog (programmeringssprog)" data-language-autonym="Dansk" data-language-local-name="danois" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Prolog_(Programmiersprache)" title="Prolog (Programmiersprache) – allemand" lang="de" hreflang="de" data-title="Prolog (Programmiersprache)" data-language-autonym="Deutsch" data-language-local-name="allemand" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Prolog" title="Prolog – grec" lang="el" hreflang="el" data-title="Prolog" data-language-autonym="Ελληνικά" data-language-local-name="grec" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Prolog" title="Prolog – anglais" lang="en" hreflang="en" data-title="Prolog" data-language-autonym="English" data-language-local-name="anglais" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Prologo_(programlingvo)" title="Prologo (programlingvo) – espéranto" lang="eo" hreflang="eo" data-title="Prologo (programlingvo)" data-language-autonym="Esperanto" data-language-local-name="espéranto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Prolog" title="Prolog – espagnol" lang="es" hreflang="es" data-title="Prolog" data-language-autonym="Español" data-language-local-name="espagnol" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Prolog" title="Prolog – estonien" lang="et" hreflang="et" data-title="Prolog" data-language-autonym="Eesti" data-language-local-name="estonien" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Prolog" title="Prolog – basque" lang="eu" hreflang="eu" data-title="Prolog" data-language-autonym="Euskara" data-language-local-name="basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%BE%D8%B1%D9%88%D9%84%D9%88%DA%AF" title="پرولوگ – persan" lang="fa" hreflang="fa" data-title="پرولوگ" data-language-autonym="فارسی" data-language-local-name="persan" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Prolog" title="Prolog – finnois" lang="fi" hreflang="fi" data-title="Prolog" data-language-autonym="Suomi" data-language-local-name="finnois" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Prolog" title="Prolog – irlandais" lang="ga" hreflang="ga" data-title="Prolog" data-language-autonym="Gaeilge" data-language-local-name="irlandais" class="interlanguage-link-target"><span>Gaeilge</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Prolog" title="Prolog – galicien" lang="gl" hreflang="gl" data-title="Prolog" data-language-autonym="Galego" data-language-local-name="galicien" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-hak mw-list-item"><a href="https://hak.wikipedia.org/wiki/Prolog" title="Prolog – hakka" lang="hak" hreflang="hak" data-title="Prolog" data-language-autonym="客家語 / Hak-kâ-ngî" data-language-local-name="hakka" class="interlanguage-link-target"><span>客家語 / Hak-kâ-ngî</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%A4%D7%A8%D7%95%D7%9C%D7%95%D7%92_(%D7%A9%D7%A4%D7%AA_%D7%AA%D7%9B%D7%A0%D7%95%D7%AA)" title="פרולוג (שפת תכנות) – hébreu" lang="he" hreflang="he" data-title="פרולוג (שפת תכנות)" data-language-autonym="עברית" data-language-local-name="hébreu" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Prolog" title="Prolog – hongrois" lang="hu" hreflang="hu" data-title="Prolog" data-language-autonym="Magyar" data-language-local-name="hongrois" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Prolog" title="Prolog – indonésien" lang="id" hreflang="id" data-title="Prolog" data-language-autonym="Bahasa Indonesia" data-language-local-name="indonésien" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Prolog" title="Prolog – ido" lang="io" hreflang="io" data-title="Prolog" data-language-autonym="Ido" data-language-local-name="ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Prolog" title="Prolog – islandais" lang="is" hreflang="is" data-title="Prolog" data-language-autonym="Íslenska" data-language-local-name="islandais" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Prolog" title="Prolog – italien" lang="it" hreflang="it" data-title="Prolog" data-language-autonym="Italiano" data-language-local-name="italien" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Prolog" title="Prolog – japonais" lang="ja" hreflang="ja" data-title="Prolog" data-language-autonym="日本語" data-language-local-name="japonais" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-jbo mw-list-item"><a href="https://jbo.wikipedia.org/wiki/prolog" title="prolog – lojban" lang="jbo" hreflang="jbo" data-title="prolog" data-language-autonym="La .lojban." data-language-local-name="lojban" class="interlanguage-link-target"><span>La .lojban.</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%A4%EB%A1%9C%EA%B7%B8_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)" title="프롤로그 (프로그래밍 언어) – coréen" lang="ko" hreflang="ko" data-title="프롤로그 (프로그래밍 언어)" data-language-autonym="한국어" data-language-local-name="coréen" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Prolog" title="Prolog – letton" lang="lv" hreflang="lv" data-title="Prolog" data-language-autonym="Latviešu" data-language-local-name="letton" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D0%B3_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D1%98%D0%B0%D0%B7%D0%B8%D0%BA)" title="Пролог (програмски јазик) – macédonien" lang="mk" hreflang="mk" data-title="Пролог (програмски јазик)" data-language-autonym="Македонски" data-language-local-name="macédonien" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Prolog" title="Prolog – malais" lang="ms" hreflang="ms" data-title="Prolog" data-language-autonym="Bahasa Melayu" data-language-local-name="malais" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-nl badge-Q17437796 badge-featuredarticle mw-list-item" title="article de qualité"><a href="https://nl.wikipedia.org/wiki/Prolog" title="Prolog – néerlandais" lang="nl" hreflang="nl" data-title="Prolog" data-language-autonym="Nederlands" data-language-local-name="néerlandais" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Programmeringsspr%C3%A5ket_Prolog" title="Programmeringsspråket Prolog – norvégien nynorsk" lang="nn" hreflang="nn" data-title="Programmeringsspråket Prolog" data-language-autonym="Norsk nynorsk" data-language-local-name="norvégien nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Prolog_(programmeringsspr%C3%A5k)" title="Prolog (programmeringsspråk) – norvégien bokmål" lang="nb" hreflang="nb" data-title="Prolog (programmeringsspråk)" data-language-autonym="Norsk bokmål" data-language-local-name="norvégien bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pdc mw-list-item"><a href="https://pdc.wikipedia.org/wiki/Prolog" title="Prolog – pennsilfaanisch" lang="pdc" hreflang="pdc" data-title="Prolog" data-language-autonym="Deitsch" data-language-local-name="pennsilfaanisch" class="interlanguage-link-target"><span>Deitsch</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Prolog_(j%C4%99zyk_programowania)" title="Prolog (język programowania) – polonais" lang="pl" hreflang="pl" data-title="Prolog (język programowania)" data-language-autonym="Polski" data-language-local-name="polonais" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Prolog" title="Prolog – portugais" lang="pt" hreflang="pt" data-title="Prolog" data-language-autonym="Português" data-language-local-name="portugais" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Prolog_(limbaj_de_programare)" title="Prolog (limbaj de programare) – roumain" lang="ro" hreflang="ro" data-title="Prolog (limbaj de programare)" data-language-autonym="Română" data-language-local-name="roumain" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D0%B3_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" title="Пролог (язык программирования) – russe" lang="ru" hreflang="ru" data-title="Пролог (язык программирования)" data-language-autonym="Русский" data-language-local-name="russe" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-rue mw-list-item"><a href="https://rue.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D2%91_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D2%91%D1%80%D0%B0%D0%BC%D0%BE%D0%B2%D0%B0%D0%BD%D1%8F)" title="Пролоґ (язык проґрамованя) – ruthène" lang="rue" hreflang="rue" data-title="Пролоґ (язык проґрамованя)" data-language-autonym="Русиньскый" data-language-local-name="ruthène" class="interlanguage-link-target"><span>Русиньскый</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Prolog" title="Prolog – Simple English" lang="en-simple" hreflang="en-simple" data-title="Prolog" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Prolog" title="Prolog – slovaque" lang="sk" hreflang="sk" data-title="Prolog" data-language-autonym="Slovenčina" data-language-local-name="slovaque" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Prolog_(programski_jezik)" title="Prolog (programski jezik) – slovène" lang="sl" hreflang="sl" data-title="Prolog (programski jezik)" data-language-autonym="Slovenščina" data-language-local-name="slovène" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/Prolog_(programski_jezik)" title="Prolog (programski jezik) – serbe" lang="sr" hreflang="sr" data-title="Prolog (programski jezik)" data-language-autonym="Српски / srpski" data-language-local-name="serbe" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Prolog_(programspr%C3%A5k)" title="Prolog (programspråk) – suédois" lang="sv" hreflang="sv" data-title="Prolog (programspråk)" data-language-autonym="Svenska" data-language-local-name="suédois" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AF%81%E0%AE%B0%E0%AF%8A%E0%AE%B2%E0%AE%BE%E0%AE%95%E0%AF%8D" title="புரொலாக் – tamoul" lang="ta" hreflang="ta" data-title="புரொலாக்" data-language-autonym="தமிழ்" data-language-local-name="tamoul" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-tg mw-list-item"><a href="https://tg.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D0%B3_(%D0%B7%D0%B0%D0%B1%D0%BE%D0%BD%D0%B8_%D0%B1%D0%B0%D1%80%D0%BD%D0%BE%D0%BC%D0%B0%D0%BD%D0%B0%D0%B2%D0%B8%D1%81%D3%A3)" title="Пролог (забони барноманависӣ) – tadjik" lang="tg" hreflang="tg" data-title="Пролог (забони барноманависӣ)" data-language-autonym="Тоҷикӣ" data-language-local-name="tadjik" class="interlanguage-link-target"><span>Тоҷикӣ</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B8%A5%E0%B9%87%E0%B8%AD%E0%B8%81" title="ภาษาโปรล็อก – thaï" lang="th" hreflang="th" data-title="ภาษาโปรล็อก" data-language-autonym="ไทย" data-language-local-name="thaï" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Prolog" title="Prolog – turc" lang="tr" hreflang="tr" data-title="Prolog" data-language-autonym="Türkçe" data-language-local-name="turc" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%BB%D0%BE%D0%B3_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)" title="Пролог (мова програмування) – ukrainien" lang="uk" hreflang="uk" data-title="Пролог (мова програмування)" data-language-autonym="Українська" data-language-local-name="ukrainien" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/Prolog" title="Prolog – ouzbek" lang="uz" hreflang="uz" data-title="Prolog" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="ouzbek" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/Prolog" title="Prolog – vietnamien" lang="vi" hreflang="vi" data-title="Prolog" data-language-autonym="Tiếng Việt" data-language-local-name="vietnamien" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-yo mw-list-item"><a href="https://yo.wikipedia.org/wiki/Prolog" title="Prolog – yoruba" lang="yo" hreflang="yo" data-title="Prolog" data-language-autonym="Yorùbá" data-language-local-name="yoruba" class="interlanguage-link-target"><span>Yorùbá</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Prolog" title="Prolog – chinois" lang="zh" hreflang="zh" data-title="Prolog" data-language-autonym="中文" data-language-local-name="chinois" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/Prolog" title="Prolog – cantonais" lang="yue" hreflang="yue" data-title="Prolog" data-language-autonym="粵語" data-language-local-name="cantonais" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q163468#sitelinks-wikipedia" title="Modifier les liens interlangues" class="wbc-editpage">Modifier les liens</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Espaces de noms"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Prolog" title="Voir le contenu de la page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Discussion:Prolog" rel="discussion" title="Discussion au sujet de cette page de contenu [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Modifier la variante de langue" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">français</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Affichages"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Prolog"><span>Lire</span></a></li><li id="ca-ve-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Prolog&veaction=edit" title="Modifier cette page [v]" accesskey="v"><span>Modifier</span></a></li><li id="ca-edit" class="collapsible vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Prolog&action=edit" title="Modifier le wikicode de cette page [e]" accesskey="e"><span>Modifier le code</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Prolog&action=history" title="Historique des versions de cette page [h]" accesskey="h"><span>Voir l’historique</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Outils de la page"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Outils" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Outils</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Outils</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">masquer</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Plus d’options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Prolog"><span>Lire</span></a></li><li id="ca-more-ve-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Prolog&veaction=edit" title="Modifier cette page [v]" accesskey="v"><span>Modifier</span></a></li><li id="ca-more-edit" class="collapsible vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Prolog&action=edit" title="Modifier le wikicode de cette page [e]" accesskey="e"><span>Modifier le code</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Prolog&action=history"><span>Voir l’historique</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Général </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Pages_li%C3%A9es/Prolog" title="Liste des pages liées qui pointent sur celle-ci [j]" accesskey="j"><span>Pages liées</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Suivi_des_liens/Prolog" rel="nofollow" title="Liste des modifications récentes des pages appelées par celle-ci [k]" accesskey="k"><span>Suivi des pages liées</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Aide:Importer_un_fichier" title="Téléverser des fichiers [u]" accesskey="u"><span>Téléverser un fichier</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Pages_sp%C3%A9ciales" title="Liste de toutes les pages spéciales [q]" accesskey="q"><span>Pages spéciales</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Prolog&oldid=217453203" title="Adresse permanente de cette version de cette page"><span>Lien permanent</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Prolog&action=info" title="Davantage d’informations sur cette page"><span>Informations sur la page</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Citer&page=Prolog&id=217453203&wpFormIdentifier=titleform" title="Informations sur la manière de citer cette page"><span>Citer cette page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:UrlShortener&url=https%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FProlog"><span>Obtenir l'URL raccourcie</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:QrCode&url=https%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FProlog"><span>Télécharger le code QR</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Imprimer / exporter </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Livre&bookcmd=book_creator&referer=Prolog"><span>Créer un livre</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:DownloadAsPdf&page=Prolog&action=show-download-screen"><span>Télécharger comme PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Prolog&printable=yes" title="Version imprimable de cette page [p]" accesskey="p"><span>Version imprimable</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> Dans d’autres projets </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Prolog_programming_language" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q163468" title="Lien vers l’élément dans le dépôt de données connecté [g]" accesskey="g"><span>Élément Wikidata</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Outils de la page"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Apparence"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Apparence</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">masquer</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">Un article de Wikipédia, l'encyclopédie libre.</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><div class="bandeau-container metadata homonymie hatnote"><div class="bandeau-cell bandeau-icone" style="display:table-cell;padding-right:0.5em"><span class="noviewer" typeof="mw:File"><a href="/wiki/Aide:Homonymie" title="Aide:Homonymie"><img alt="Page d’aide sur l’homonymie" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a9/Logo_disambig.svg/20px-Logo_disambig.svg.png" decoding="async" width="20" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a9/Logo_disambig.svg/30px-Logo_disambig.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a9/Logo_disambig.svg/40px-Logo_disambig.svg.png 2x" data-file-width="512" data-file-height="375" /></a></span></div><div class="bandeau-cell" style="display:table-cell;padding-right:0.5em"> <p>Pour les articles homonymes, voir <a href="/wiki/Prolog_(homonymie)" class="mw-disambig" title="Prolog (homonymie)">Prolog (homonymie)</a>. </p> </div></div> <p class="mw-empty-elt"> </p> <table class="infobox_v2 infobox infobox--frwiki noarchive"> <tbody><tr> <td colspan="2" class="entete informatique" style="background-color:#EEEEEE;color:black;">Prolog<style data-mw-deduplicate="TemplateStyles:r188801372">.mw-parser-output .entete.informatique{background-image:url("//upload.wikimedia.org/wikipedia/commons/a/ae/Picto-infoboxinfo.png")}</style> </td></tr> <tr><th scope="row">Date de première version </th> <td><a href="/wiki/1972" title="1972">1972</a> </td> </tr> <tr> <th scope="row"><a href="/wiki/Paradigme_(programmation)" title="Paradigme (programmation)">Paradigme</a> </th> <td><a href="/wiki/Programmation_logique" title="Programmation logique">Programmation logique</a> </td> </tr> <tr> <th scope="row">Auteur </th> <td><a href="/wiki/Alain_Colmerauer" title="Alain Colmerauer">Alain Colmerauer</a>, <a href="/wiki/Philippe_Roussel" title="Philippe Roussel">Philippe Roussel</a> </td> </tr> <tr> <th scope="row">Influencé par </th> <td><span class="wd_p737">Planner <small>(<a href="https://en.wikipedia.org/wiki/Planner_(programming_language)" class="extiw" title="en:Planner (programming language)"><span class="indicateur-langue" title="Article sur Wikipédia en anglais">en</span></a>)</small><span class="noprint wikidata-linkback skin-invert"><span class="mw-valign-baseline noviewer" typeof="mw:File"><a href="https://www.wikidata.org/wiki/Q163468?uselang=fr#P737" title="Voir et modifier les données sur Wikidata"><img alt="Voir et modifier les données sur Wikidata" src="//upload.wikimedia.org/wikipedia/commons/thumb/7/73/Blue_pencil.svg/10px-Blue_pencil.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/73/Blue_pencil.svg/15px-Blue_pencil.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/73/Blue_pencil.svg/20px-Blue_pencil.svg.png 2x" data-file-width="600" data-file-height="600" /></a></span></span></span> </td> </tr> <tr> <th scope="row"><a href="/wiki/Extension_de_nom_de_fichier" title="Extension de nom de fichier">Extension de fichier</a> </th> <td><span class="wd_p1195">pl, pro et P<span class="noprint wikidata-linkback skin-invert"><span class="mw-valign-baseline noviewer" typeof="mw:File"><a href="https://www.wikidata.org/wiki/Q163468?uselang=fr#P1195" title="Voir et modifier les données sur Wikidata"><img alt="Voir et modifier les données sur Wikidata" src="//upload.wikimedia.org/wikipedia/commons/thumb/7/73/Blue_pencil.svg/10px-Blue_pencil.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/73/Blue_pencil.svg/15px-Blue_pencil.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/73/Blue_pencil.svg/20px-Blue_pencil.svg.png 2x" data-file-width="600" data-file-height="600" /></a></span></span></span> </td> </tr> <tr> <td class="navigation-only" colspan="2" style="border-top: 2px #EEEEEE solid; font-size: 80%; background:inherit; text-align: right;"><span class="plainlinks" style="float:left;"><a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Prolog&action=edit&section=0"><span class="infodoc">modifier</span></a></span> <span typeof="mw:File"><a href="/wiki/Mod%C3%A8le:Infobox_Langage_de_programmation" title="Consultez la documentation du modèle"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/38/Info_Simple.svg/12px-Info_Simple.svg.png" decoding="async" width="12" height="12" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/38/Info_Simple.svg/18px-Info_Simple.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/38/Info_Simple.svg/24px-Info_Simple.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></td> </tr> </tbody></table> <p><b>Prolog</b> est un <a href="/wiki/Langage_de_programmation" title="Langage de programmation">langage</a> de <a href="/wiki/Programmation_logique" title="Programmation logique">programmation logique</a>. Le nom <i>Prolog</i> est un <a href="/wiki/Acronyme" class="mw-redirect" title="Acronyme">acronyme</a> de PROgrammation en LOGique. Il a été créé par <a href="/wiki/Alain_Colmerauer" title="Alain Colmerauer">Alain Colmerauer</a> et <a href="/wiki/Philippe_Roussel" title="Philippe Roussel">Philippe Roussel</a> vers <a href="/wiki/1972" title="1972">1972</a> à Luminy, Marseille. Le but était de créer un <a href="/wiki/Langage_de_programmation" title="Langage de programmation">langage de programmation</a> où seraient définies les règles <a href="/wiki/Logique" title="Logique">logiques</a> attendues d'une solution et de laisser le <a href="/wiki/Compilateur" title="Compilateur">compilateur</a> la transformer en séquence d'instructions. L'un des gains attendus était une facilité accrue de maintenance des applications, l'ajout ou la suppression de règles au cours du temps n'obligeant pas à réexaminer toutes les autres. </p><p>Prolog est utilisé en <a href="/wiki/Intelligence_artificielle" title="Intelligence artificielle">intelligence artificielle</a> et dans le traitement <a href="/wiki/Linguistique" title="Linguistique">linguistique</a> par ordinateur (principalement <a href="/wiki/Langages_naturels" class="mw-redirect" title="Langages naturels">langues naturelles</a>). Ses règles de <a href="/wiki/Syntaxe" title="Syntaxe">syntaxe</a> et sa <a href="/wiki/S%C3%A9mantique" title="Sémantique">sémantique</a> sont simples et considérées comme claires (un des objectifs poursuivis était de procurer un outil aux <a href="/wiki/Linguiste" class="mw-redirect" title="Linguiste">linguistes</a> ignorant l’informatique). Les premiers résultats obtenus avec Prolog suscitèrent quelque temps, dans les années 1980, des recherches sur une cinquième génération, matérielle et logicielle, d'ordinateurs (nommée <i><a href="/wiki/Langage_de_programmation_de_cinqui%C3%A8me_g%C3%A9n%C3%A9ration" title="Langage de programmation de cinquième génération">Cinquième génération japonaise</a></i> en raison de l'engagement important du <a href="/wiki/Minist%C3%A8re_de_l%27%C3%89conomie,_du_Commerce_et_de_l%27Industrie" title="Ministère de l'Économie, du Commerce et de l'Industrie">MITI</a> sur le projet). L'effort engagé fut important, les retombées plus modestes, Prolog restant un langage parmi d'autres dans la panoplie du programmeur. </p><p>Prolog est basé sur le <a href="/wiki/Calcul_des_pr%C3%A9dicats_du_premier_ordre" class="mw-redirect" title="Calcul des prédicats du premier ordre">calcul des prédicats du premier ordre</a> ; cependant il est restreint dans sa version initiale à n’accepter que les <a href="/wiki/Clause_de_Horn" title="Clause de Horn">clauses de Horn</a> (les versions modernes de Prolog acceptent des prédicats plus complexes, notamment avec le traitement de la <a href="/wiki/N%C3%A9gation_par_l%27%C3%A9chec" title="Négation par l'échec">négation par l'échec</a>). L’exécution d’un programme Prolog est effectivement une application du théorème prouvant par résolution du premier ordre. Les concepts fondamentaux sont l’<a href="/wiki/Unification_(logique)" class="mw-redirect" title="Unification (logique)">unification</a>, la <a href="/wiki/R%C3%A9cursivit%C3%A9" title="Récursivité">récursivité</a> et le <a href="/wiki/Retour_sur_trace" title="Retour sur trace">retour sur trace</a>. L'algorithme de résolution de Prolog est basé sur une extension de la <a href="/wiki/SLD-r%C3%A9solution" title="SLD-résolution">SLD-résolution</a>. </p><p>On peut construire en Prolog une base de connaissances dans un ordre indéterminé, puisque seules comptent les relations en présence et non leur séquence d'écriture. Prolog peut ensuite résoudre des séries de problèmes logiques relatifs à une telle <a href="/wiki/Base_de_connaissances" class="mw-redirect" title="Base de connaissances">base de connaissances</a> (notion base de données déductive), problème similaire à la recherche d'une issue (ou plusieurs) dans un labyrinthe de contraintes établies. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Types_de_termes">Types de termes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=1" title="Modifier la section : Types de termes" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=1" title="Modifier le code source de la section : Types de termes"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Prolog n’emploie pas de typage de données au sens habituel des <a href="/wiki/Langages_de_programmation" class="mw-redirect" title="Langages de programmation">langages de programmation</a>. Il n'effectue en effet pas de distinction réelle entre les données du programme et le programme lui-même (principe de la <a href="/wiki/Programmation_d%C3%A9clarative" title="Programmation déclarative">programmation déclarative</a> ainsi que de la programmation fonctionnelle). Ses éléments lexicaux, nommés <i>termes</i>, englobent les types suivants. </p> <div class="mw-heading mw-heading3"><h3 id="Atomes">Atomes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=2" title="Modifier la section : Atomes" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=2" title="Modifier le code source de la section : Atomes"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Les textes constants constituent des <i>atomes</i>. Un atome est ordinairement constitué d'une chaîne de lettres, nombres et traits bas (<code>_</code>), commençant par une lettre <i>minuscule</i>. Pour introduire un atome non alphanumérique, on l'entoure d'apostrophes : ainsi '+' est un atome, + un opérateur). </p> <div class="mw-heading mw-heading3"><h3 id="Nombres">Nombres</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=3" title="Modifier la section : Nombres" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=3" title="Modifier le code source de la section : Nombres"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Les implémentations courantes de Prolog ne distinguent pas les nombres entiers des flottants. </p> <div class="mw-heading mw-heading3"><h3 id="Variables">Variables</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=4" title="Modifier la section : Variables" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=4" title="Modifier le code source de la section : Variables"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Les variables sont indiquées en utilisant un ensemble de lettres, nombres et caractères de soulignement et commençant avec une lettre <i>majuscule</i>. </p><p>Ainsi, <i>X3</i> comme <i>Prix_Unitaire</i> sont des noms de variables admissibles. </p><p>Prolog n'est pas un langage de programmation <i>impératif </i>; une variable n’y est donc pas un contenant auquel on affecte une valeur, mais représente (comme en mathématiques dans <i>X > 0</i>) l'ensemble des valeurs admissibles pour elle dans le cadre des contraintes. </p><p>Le champ initialement indéfini de la variable se précise par l'<a href="/wiki/Unification" title="Unification">unification</a> autour des contraintes. Une fois la variable unifiée, sa valeur ne peut plus être modifiée au sein d'une même branche d'évaluation. Le <a href="/wiki/Retour_sur_trace" title="Retour sur trace">retour sur trace</a> permet toutefois de revenir sur cette unification dans le cadre de la poursuite de la recherche de valeurs admissibles (ou de <i>nouvelles</i> valeurs admissibles), dans le cadre d'une exploration exhaustive. </p><p>La <i>variable anonyme</i> est écrite avec un <a href="/wiki/Tiret_bas" title="Tiret bas">tiret bas</a> (_). Toute variable dont le nom commence par un tiret bas est également une variable anonyme. C'est, comme le <i>x</i> ou le <i>y</i> de l'algèbre, une variable muette servant d'intermédiaire de calcul. </p> <div class="mw-heading mw-heading3"><h3 id="Termes_composés"><span id="Termes_compos.C3.A9s"></span>Termes composés</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=5" title="Modifier la section : Termes composés" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=5" title="Modifier le code source de la section : Termes composés"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Prolog ne peut représenter des données complexes que par <i>termes composés</i>. Un terme composé consiste en une tête (aussi appelée <a href="/wiki/Foncteur" title="Foncteur">foncteur</a>), qui doit être un atome, et des paramètres sans restriction de type. Le nombre de paramètres, nommé <a href="/wiki/Arit%C3%A9" title="Arité">arité</a> du terme, est en revanche significatif. Un terme composé est identifié par sa tête et son arité, et habituellement écrit comme foncteur/arité. </p><p>Exemples de termes composés : </p> <ul><li>aime(romeo, juliette)</li></ul> <dl><dd><dl><dd>Le foncteur est <i>aime</i> et l'arité 2, le terme composé s'écrit <code>aime/2</code>.</dd></dl></dd></dl> <ul><li>f(g(X),h(Y))</li></ul> <dl><dd><dl><dd>Le foncteur est <i>f</i> et l'arité 2, le terme composé s'écrit <code>f/2</code>.</dd></dl></dd></dl> <ul><li>initialisation</li></ul> <dl><dd><dl><dd>Le foncteur est <i>initialisation</i> et l'arité 0, le terme composé s'écrit <code>initialisation/0</code>. Un atome est donc un terme composé d'arité 0.</dd></dl></dd></dl> <div class="mw-heading mw-heading3"><h3 id="Listes">Listes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=6" title="Modifier la section : Listes" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=6" title="Modifier le code source de la section : Listes"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Une liste n’est pas un type de données isolé, mais est définie par une construction récursive (utilisant le foncteur <code>.</code> d'arité 2, c'est donc au niveau de la représentation interne un terme composé) : </p> <ol><li>l'atome [] est une liste vide ;</li> <li>si <i>T</i> est une liste et <i>H</i> est un élément, alors le terme '.'(<i>H</i>, <i>T</i>) est une liste.</li></ol> <p>Le premier élément, appelé la tête, est <i>H</i>, suivi par les contenus du reste de la liste, indiqué comme <i>T</i> ou queue. La <span class="nowrap">liste <i>[1, 2, 3]</i></span> serait représentée en interne comme '.'(<i>1</i>, '.'(<i>2</i>, '.'(<i>3</i>, []))) Un raccourci de syntaxe est [<i>H</i> | <i>T</i>], lequel est surtout utilisé pour construire des règles. La totalité d’une liste peut être traitée en agissant sur le premier élément, et ensuite sur le reste de la liste, par <a href="/wiki/R%C3%A9cursivit%C3%A9" title="Récursivité">récursivité</a>, comme en <a href="/wiki/Lisp_(langage)" class="mw-redirect" title="Lisp (langage)">LISP</a>. </p><p>Pour la commodité du programmeur, les listes peuvent être construites et déconstruites de diverses manières. </p> <ul><li>Énumération d'éléments : [abc, 1, f(x), <i>Y</i>, g(<i>A</i>, rst)]</li> <li>Extraction de l'élément de tête : [abc | <i>L1</i>]</li> <li>Extraction de plusieurs éléments de tête : [abc, 1, f(x) | <i>L2</i>]</li> <li>Expansion du terme : '.'(abc, '.'(1, '.'(f(x), '.'(<i>Y</i>, '.'(g(<i>A</i>, rst), [])))))</li></ul> <div class="mw-heading mw-heading3"><h3 id="Chaînes_de_caractères"><span id="Cha.C3.AEnes_de_caract.C3.A8res"></span>Chaînes de caractères</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=7" title="Modifier la section : Chaînes de caractères" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=7" title="Modifier le code source de la section : Chaînes de caractères"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Les chaînes de caractères sont en général écrites comme une séquence de caractères entourés par des apostrophes. Elles sont souvent représentées en interne par une liste de codes ASCII. </p> <div class="mw-heading mw-heading2"><h2 id="Prédicats"><span id="Pr.C3.A9dicats"></span>Prédicats</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=8" title="Modifier la section : Prédicats" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=8" title="Modifier le code source de la section : Prédicats"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>La <a href="/wiki/Programmation" class="mw-redirect" title="Programmation">programmation</a> en Prolog est très différente de la programmation dans un <a href="/wiki/Programmation_imp%C3%A9rative" title="Programmation impérative">langage impératif</a>. En Prolog, on alimente une <a href="/wiki/Base_de_connaissances" class="mw-redirect" title="Base de connaissances">base de connaissances</a> de faits et de règles ; il est alors possible de faire des requêtes à la base de connaissances. </p><p>L’unité de base de Prolog est le <a href="/wiki/Pr%C3%A9dicat_(logique_math%C3%A9matique)" title="Prédicat (logique mathématique)">prédicat</a>, qui est défini comme étant vrai. Un prédicat consiste en une tête et un nombre d’arguments. Par exemple : </p> <pre>chat(tom). </pre> <p>Ici 'chat' est la tête, et 'tom' est l’argument. Voici quelques demandes simples que vous pouvez demander à un interpréteur Prolog basé sur ce fait : </p> <pre>?- chat(tom). oui. </pre> <pre>?- chat(X). X = tom; fail. </pre> <p>Dans ce second exemple, à la question 'chat(X)' l'interpréteur propose la réponse 'X = tom' unifiant la variable 'X' à l'atome 'tom'. En Prolog il s'agit d'un <i>succès</i>. Après cette première réponse, l'utilisateur peut demander s'il y a d'autres réponses en utilisant le « ; » (symbole de la disjonction), ici l'interpréteur répond qu'il n'en trouve pas. Cette recherche d'autres solutions repose sur un modèle d'exécution non-déterministe (au sens du non-déterminisme des automates non-déterministes) avec retour sur les différents points de choix et exploration des alternatives non explorées. </p> <pre>?- chat(vim). fail. </pre> <p>Dans ce dernier exemple, à la question 'chat(vim)' l'interpréteur répond qu'il ne peut pas prouver ce fait, en Prolog il s'agit d'un <i>échec.</i> En faisant l'hypothèse que tous les faits sont connus (<a href="/wiki/Hypoth%C3%A8se_du_monde_clos" title="Hypothèse du monde clos">hypothèse du monde clos</a>), cela signifie que 'vim' n'est pas un chat. </p><p>Les prédicats sont en général définis pour exprimer les faits que le programme connaît à propos du monde. Dans la plupart des cas, l’usage de prédicats requiert une certaine convention. Par exemple, la sémantique des deux prédicats suivants n'est pas immédiate : </p> <pre>pere(marie, pierre). pere(pierre, marie). </pre> <p>Dans les deux cas, 'père' est la tête tandis que 'marie' et 'pierre' sont les arguments. Cependant, dans le premier cas, Marie vient en premier dans la liste des arguments, et dans le second c’est Pierre (l’ordre dans la liste des arguments importe). Le premier cas est un exemple d’une définition dans l’ordre verbe-objet-sujet et pourrait se lire avec l'auxiliaire 'avoir' : Marie a pour père Pierre, et le second de verbe-sujet-objet et pourrait se lire avec l'auxiliaire 'être' : Pierre est le père de Marie. Comme Prolog ne comprend pas le langage naturel, les deux versions sont correctes en ce qui le concerne ; cependant il est important d'adopter des normes de programmation cohérentes pour un même programme. En général, c'est plutôt l'auxiliaire 'être' qui est utilisé. </p><p>On conviendra par exemple que </p> <pre>famille(pierre, marie, [arthur, bruno, charlotte]). </pre> <p>signifie que pierre et marie sont respectivement le père et la mère de 3 enfants : arthur, bruno et charlotte ; "famille" est alors un prédicat à 3 termes, le dernier étant une liste d'un nombre quelconque (éventuellement nul) d'enfants. </p> <div class="mw-heading mw-heading3"><h3 id="Prédéfinis"><span id="Pr.C3.A9d.C3.A9finis"></span>Prédéfinis</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=9" title="Modifier la section : Prédéfinis" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=9" title="Modifier le code source de la section : Prédéfinis"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Quelques prédicats sont bâtis dans le langage et permettent à un programme Prolog des activités de routine (comme de l'évaluation numérique, les <a href="/wiki/Entr%C3%A9e/sortie" class="mw-redirect" title="Entrée/sortie">entrée/sortie</a>, les fonctionnalités de l'<a href="/wiki/Interface_graphique" title="Interface graphique">interface graphique</a> et généralement communiquer avec le système de l’ordinateur). Par exemple, le prédicat <tt>write</tt> peut être utilisé pour l’affichage à l’écran. Donc </p> <pre>write('Bonjour'). </pre> <p>affichera le mot 'Bonjour' sur le moniteur. De tels prédicats ne relèvent pas à proprement parler de la programmation logique, leur fonctionnalité reposant exclusivement sur leurs effets de bord. </p><p>D'autres prédicats bâtis dans le langage sont de nature logique, et inclus dans des <a href="/wiki/Biblioth%C3%A8que_logicielle" title="Bibliothèque logicielle">bibliothèques</a>. Ils servent à simplifier le développement en encapsulant des traitements génériques, comme des algorithmes de traitement de listes par exemple. </p><p>D'autres prédicats, enfin, sont d'ordre supérieur et servent à contrôler l'exécution des interprètes Prolog (par exemple, ajout/retrait dynamique de règles et faits, abandon de points de choix, récolte des résultats d'une requête...) </p><p>N.B.- Sans les prédicats prédéfinis, Prolog est parfois appelé Pure Prolog (selon le standard iso <i>en anglais</i> : definite Prolog). </p> <div class="mw-heading mw-heading2"><h2 id="Règles"><span id="R.C3.A8gles"></span>Règles</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=10" title="Modifier la section : Règles" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=10" title="Modifier le code source de la section : Règles"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Le second type d’instructions en Prolog est la règle. Un exemple de règle est : </p> <pre>lumière(on) :- interrupteur(on). </pre> <p>Le « :- » signifie « si »; cette règle indique lumière(on) est vraie si interrupteur(on) est vrai. Les règles peuvent aussi utiliser des variables comme : </p> <pre>père(X,Y) :- parent(X,Y), mâle(X). </pre> <p>pour signifier qu'un X est père d'un Y <i>si</i> X est parent de Y <i>et</i> X est mâle, où " , " indique une conjonction. </p><p>On pourrait avoir de même : </p> <pre>parent(X, Y) :- père(X, Y) ; mère(X, Y). </pre> <p>pour signifier qu'un X est parent d'un Y <i>si</i> X est père de Y <i>ou</i> X est mère de Y, où " ; " indique une alternative. </p><p>Un fait est un cas particulier de règle. En effet les deux lignes suivantes sont équivalentes : </p> <pre>a. a :- true. </pre> <div class="mw-heading mw-heading2"><h2 id="Évaluation"><span id=".C3.89valuation"></span>Évaluation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=11" title="Modifier la section : Évaluation" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=11" title="Modifier le code source de la section : Évaluation"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Quand l’interpréteur reçoit une requête, il recherche les règles (faits inclus) dont la partie gauche peut être unifiée avec la requête, et effectue cette unification avec la première règle trouvée. Par exemple ayant ce code Prolog : </p> <pre>frère_ou_sœur(X,Y) :- parent(Z,X), parent(Z,Y), X \= Y. parent(X,Y) :- père(X,Y). parent(X,Y) :- mère(X,Y). mère(trude, sally). père(tom, sally). père(tom, erica). père(mike, tom). </pre> <p>Il en résulte que la demande suivante est évaluée comme vraie: </p> <pre>?- frère_ou_sœur(sally, erica). oui. </pre> <p>L’interpréteur arrive à ce résultat en faisant correspondre la règle <tt>frère_ou_sœur(X,Y)</tt> en unifiant <i>X</i> avec <i>sally</i> et <i>Y</i> avec <i>erica</i>. Cela signifie que la demande peut être étendue à <tt>parent(Z,sally)</tt>, <tt>parent(Z,erica)</tt>. Faire correspondre cette conjonction est obtenu en regardant tous les parents possibles de <i>sally</i>. Cependant, <tt>parent(trude,sally)</tt> ne mène pas à une solution viable, parce que si <i>trude</i> est substitué pour <i>Z</i>, <tt>parent(trude,erica)</tt> devra être vrai, et aucun fait tel (ou quelque règle qui puisse satisfaire cela) n'est présent. Aussi à la place, <i>tom</i> est substituée pour <i>Z</i>, et <i>erica</i> et <i>sally</i> apparaissent être <i>frère_ou_sœur</i> néanmoins. </p> <div class="mw-heading mw-heading3"><h3 id="Négation_par_l'échec"><span id="N.C3.A9gation_par_l.27.C3.A9chec"></span>Négation par l'échec</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=12" title="Modifier la section : Négation par l'échec" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=12" title="Modifier le code source de la section : Négation par l'échec"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>La négation logique pure n'existe pas en Prolog, on se repose sur la <a href="/wiki/N%C3%A9gation_par_l%27%C3%A9chec" title="Négation par l'échec">négation par l'échec</a>, qui se note différemment suivant les implémentations de Prolog (nous adopterons la notation par le mot-clé <code>not(prédicat)</code>). En négation par l'échec, la négation d'un prédicat est considérée comme vrai si l'évaluation du prédicat mène à l'échec (n'est pas vérifiable). </p><p>Dans Prolog, la négation par l'échec s'appuie sur l'hypothèse du monde clos : <i>tout ce qui est vrai est connu ou démontrable à partir de ce qui est connu en un temps fini.</i> </p><p>Voir l'exemple ci-dessous : </p> <div class="mw-highlight mw-highlight-lang-prolog mw-content-ltr" dir="ltr"><pre><span></span><span class="nf">parent</span><span class="p">(</span><span class="s s-Atom">jorge</span><span class="p">,</span> <span class="s s-Atom">andres</span><span class="p">).</span> <span class="nf">parent</span><span class="p">(</span><span class="s s-Atom">andres</span><span class="p">,</span> <span class="s s-Atom">felipe</span><span class="p">).</span> <span class="nf">grandparent</span><span class="p">(</span><span class="nv">X</span><span class="p">,</span><span class="nv">Y</span><span class="p">)</span> <span class="p">:-</span> <span class="nf">parent</span><span class="p">(</span><span class="nv">X</span><span class="p">,</span> <span class="nv">Z</span><span class="p">),</span> <span class="nf">parent</span><span class="p">(</span><span class="nv">Z</span><span class="p">,</span> <span class="nv">Y</span><span class="p">).</span> <span class="s s-Atom">?</span> <span class="nf">grandparent</span><span class="p">(</span><span class="s s-Atom">jorge</span><span class="p">,</span><span class="k">_</span><span class="p">).</span> <span class="c1">%true</span> <span class="c1">%il y a assez d'information pour dire que jorge a un grandparent connu.</span> <span class="c1">% Hypothèse du monde clos → il n'y a pas assez d'informations pour arriver à une conclusion -> false</span> <span class="s s-Atom">?</span> <span class="nf">grandparent</span><span class="p">(</span><span class="s s-Atom">andres</span><span class="p">,</span><span class="k">_</span><span class="p">).</span> <span class="c1">%false</span> <span class="c1">%Négation par l'échec appuyé sur l'hypothèse du monde clos</span> <span class="s s-Atom">?</span> <span class="o">not</span><span class="p">(</span><span class="nf">grandparent</span><span class="p">(</span><span class="s s-Atom">andres</span><span class="p">,</span><span class="k">_</span><span class="p">)).</span> <span class="c1">%true</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Exécution"><span id="Ex.C3.A9cution"></span>Exécution</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=13" title="Modifier la section : Exécution" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=13" title="Modifier le code source de la section : Exécution"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Prolog est un langage logique, aussi en théorie, on n'a pas à se préoccuper de la façon dont il s’exécute. Cependant il est parfois prudent de prendre en compte comment l’algorithme d’inférence agit, pour éviter qu’un programme Prolog ne dure trop longtemps. </p><p>Par exemple, nous pouvons écrire du code pour compter le nombre d’éléments d’une liste. </p> <pre>elems([],0). elems([H|T], X) :- elems(T, Y), X is Y + 1. </pre> <p>Cela signifie simplement : </p> <ul><li>Si la liste est vide, le nombre d’éléments est zéro</li> <li>Si une liste n’est pas vide, alors X est augmenté de un par rapport à Y, nombre d’éléments dans le reste de la liste (sans le premier élément).</li></ul> <p>Dans ce cas, il y a une distinction claire entre les cas dans l’antécédent dans les règles. Mais considérez le cas où vous avez besoin de décider si vous continuez à jouer dans un casino; </p> <pre>miser(X) :- avoirargent(X). miser(X) :- avoircrédit(X), NOT avoirargent(X). </pre> <p>Si vous avez de l’argent, vous continuez à miser. Si vous avez tout perdu vous avez besoin d’emprunter, ou sinon... plus de pari. <tt>avoirargent(X)</tt> peut être une fonction très coûteuse, par exemple, si elle peut accéder à votre compte bancaire par l’internet. Mais c’est la même chose pour <i>avoircrédit</i>. </p><p>En théorie, les implémentations de Prolog peuvent évaluer ces règles dans n’importe quel ordre, aussi vous pourriez avoir écrit; </p> <pre>miser(X) :- avoircrédit(X), NOT avoirargent(X). miser(X) :- avoirargent(X). </pre> <p>Ce qui est bien, parce que les deux options s’excluent l’une l’autre. Cependant vérifier si vous pouvez obtenir un prêt n’est pas nécessaire si vous savez que vous avez de l’argent. Aussi en pratique, les implémentations de Prolog testeront d'abord <i>la règle que vous avez écrite en premier</i>. Vous pouvez utiliser l’opérateur <i>cut</i> pour dire à l’interpréteur de sauter la deuxième option si la première suffit. Par exemple: </p> <pre>miser(X) :- avoirargent(X), !. miser(X) :- avoircrédit(X), NOT avoirargent(X). </pre> <p>Cela est appelé un opérateur d’arrêt <i>vert</i>. Le <i>!</i> dit simplement à l’interpréteur de ne plus chercher d’alternative. Mais vous notez que si vous avez besoin d’argent il a besoin d’évaluer la seconde règle, et il le fera. Évaluer <i>avoirargent</i> dans la deuxième règle est plutôt inutile car vous savez que vous n’en avez pas, pour la bonne raison que, sinon, la seconde règle ne serait pas évaluée. Aussi vous pouvez changer le code en: </p> <pre>miser(X) :- avoirargent(X), !. miser(X) :- avoircrédit(X). </pre> <p>Cela est appelé un opérateur d’arrêt <i>rouge</i>, parce qu’il est dangereux de faire cela. Vous êtes maintenant dépendant du placement correct de l’opérateur d’arrêt et l’ordre des règles pour déterminer leur sens logique. Si les règles sont mélangées, vous pouvez maintenant utiliser votre carte de crédit avant de dépenser votre argent disponible. </p><p>Vous écrirez donc plutôt : </p> <pre>miser(X) :- avoirargent(X), ! ; avoircrédit(X). </pre> <p>qui se lit : pour miser X, ou j'ai cet argent d'emblée, <i>ou sinon</i> j'ai le crédit nécessaire. </p><p><br /> </p> <div class="mw-heading mw-heading2"><h2 id="Réversibilité"><span id="R.C3.A9versibilit.C3.A9"></span>Réversibilité</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=14" title="Modifier la section : Réversibilité" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=14" title="Modifier le code source de la section : Réversibilité"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>En général, Prolog n'impose pas de statut aux paramètres d'un prédicat : ce ne sont pas des paramètres 'donnés' ou 'résultats', ou même 'donnés/résultats', leur statut est indifférent <i>a priori</i> et sera défini en fonction des requêtes, et parfois des prédéfinis utilisés. </p><p>Ceci permet souvent la définition de prédicats réversibles : les requêtes fermées, fournissant des résultats à partir des données, pourront être inversées en requêtes ouvertes, cherchant les données menant à un résultat positif. </p> <dl><dd><i>age(capitaine, 45)</i> est vrai ou faux ; <i>age(capitaine, X)</i> demande quel est l'âge X du capitaine, <i>age(X, 45)</i> demande quel X a 45 ans.</dd></dl> <p>Cette possibilité est utilisée dans le générateur/accepteur ci-dessus. </p> <div class="mw-heading mw-heading3"><h3 id="Exemples">Exemples</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=15" title="Modifier la section : Exemples" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=15" title="Modifier le code source de la section : Exemples"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Prenons des arbres binaires avec comme nœud f et comme feuille 0 ou 1. </p> <pre> symetrique(0,0). symetrique(1,1). symetrique(f(A,B),f(Y,X)):-symetrique(A,X), symetrique(B,Y). </pre> <p>L'utilisation standard de ce prédicat est du type : </p> <pre> ?- symetrique(f(f(0,1),1),R). R = f(1,f(1,0)) </pre> <p>Mais l'on peut aussi avoir : </p> <pre> ?- symetrique(A,f(f(0,1),1)). A = f(1,f(1,0)) </pre> <div class="mw-heading mw-heading2"><h2 id="Particularités"><span id="Particularit.C3.A9s"></span>Particularités</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=16" title="Modifier la section : Particularités" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=16" title="Modifier le code source de la section : Particularités"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Comme langage de programmation, Prolog se distingue par : </p> <ul><li>le non-déterminisme, pour la résolution de problèmes ouverts : le 'ou' utilisé en Prolog est un vrai 'ou' logique qui permet l'exploration de l'ensemble des possibles.</li> <li>la réversibilité (cf. plus haut)</li> <li>la gestion des requêtes sous-contraintes/sur-contraintes : l'absence de statut pour les paramètres d'un prédicat (cf. réversibilité) et le modèle d'exécution employé permet, d'un côté, l'emploi de requêtes sous-contraintes exposant l'ensemble des possibles, et de l'autre côté, l'emploi de requêtes sur-contraintes permettant la vérification de propriétés particulières sur les solutions exhibées ou le filtrage de ces solutions.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Emplois">Emplois</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=17" title="Modifier la section : Emplois" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=17" title="Modifier le code source de la section : Emplois"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Aspect_bases_de_données"><span id="Aspect_bases_de_donn.C3.A9es"></span>Aspect bases de données</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=18" title="Modifier la section : Aspect bases de données" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=18" title="Modifier le code source de la section : Aspect bases de données"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Dès le départ, Prolog s'est adressé au domaine des <a href="/wiki/Bases_de_donn%C3%A9es_relationnelles" class="mw-redirect" title="Bases de données relationnelles">bases de données relationnelles</a>, auquel il apporte une grande souplesse en matière de requêtes, dès lors qu'elles sont déductibles des faits : elles deviennent ainsi des <a href="/w/index.php?title=Bases_de_donn%C3%A9es_d%C3%A9ductives&action=edit&redlink=1" class="new" title="Bases de données déductives (page inexistante)">bases de données déductives</a>. Ainsi, une base de faits du style <i>famille(Père, Mère, ListeDesEnfants)</i> pourra, moyennant quelques règles, répondre à diverses questions de généalogie. </p><p>Au-delà, Prolog peut également proposer un système de requêtes commun à un ensemble de bases données interdépendantes ; en combinant les relations de base disponibles, on obtient les services d'une base virtuelle combinant ces bases, d'où un enrichissement considérable des requêtes possibles. </p> <div class="mw-heading mw-heading3"><h3 id="Aspect_linguistique">Aspect linguistique</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=19" title="Modifier la section : Aspect linguistique" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=19" title="Modifier le code source de la section : Aspect linguistique"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Des traitements linguistiques sont possibles en Prolog sur la base de <a href="/wiki/Grammaires_formelles" class="mw-redirect" title="Grammaires formelles">grammaires formelles</a>. </p> <ul><li>un générateur engendrera des phrases conformes à une grammaire et un lexique donné, un accepteur vérifiera la conformité d'une phrase ;</li> <li>un analyseur ayant reconnu une phrase (ou un texte), construira un "arbre décoré" qui en sera l'abstraction ; par exemple, le groupe nominal <i>le beau chat</i> deviendra</li></ul> <dl><dd><dl><dd><i>gn(le, beau, chat)</i> ou mieux</dd> <dd><i>gn(art(le), adj(beau), nom(chat))</i>, voire en fonction de l'objectif</dd> <dd><i>gn(art(le, def, masc, sing), adj(beau, masc, sing), nom(chat, masc, sing, animé))</i>.</dd></dl></dd></dl> <ul><li>au-delà, un traducteur supposera la transformation de l'arbre abstraction-de-l'entrée en arbre abstraction-de-la-sortie, qui pilotera le générateur du texte final.</li></ul> <div class="NavFrame" style="clear:both; margin-bottom:1em; border-style:solid; background-color:var(--background-color-base, #fff);" title="[afficher]/[masquer]"> <div class="NavHead" style="text-align:center; min-height:1.6em; color:var(--color-emphasized, #000);">Exemples</div> <div class="NavContent" style="margin:0; color:var(--color-base, #202122); display:block; text-align:left;"> <p><span style="text-decoration: underline;">un ACCEPTEUR / GENERATEUR </span> </p> <div class="mw-highlight mw-highlight-lang-prolog mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">% générateur de phrases acceptables</span> <span class="nf">gen</span><span class="p">(</span><span class="nv">X</span><span class="p">):-</span> <span class="nf">phrase</span><span class="p">(</span><span class="nv">X</span><span class="p">),</span> <span class="nf">writeln</span><span class="p">(</span><span class="nv">X</span><span class="p">),</span> <span class="s s-Atom">fail</span><span class="p">;</span> <span class="nf">writeln</span><span class="p">(</span><span class="s s-Atom">'---------'</span><span class="p">).</span> <span class="c1">%</span> <span class="c1">% accepteur</span> <span class="c1">% syntaxe</span> <span class="nf">phrase</span><span class="p">([</span><span class="nv">S</span><span class="p">,</span> <span class="nv">V</span><span class="p">|</span><span class="nv">Suite</span><span class="p">]):-</span> <span class="nf">sujet</span><span class="p">(</span><span class="nv">S</span><span class="p">),</span> <span class="nf">verbe</span><span class="p">(</span><span class="nv">V</span><span class="p">),</span> <span class="p">(</span> <span class="nv">Suite</span><span class="o">=</span><span class="p">[];</span> <span class="nv">Suite</span><span class="o">=</span><span class="p">[</span><span class="nv">C</span><span class="p">],</span> <span class="nf">complement</span><span class="p">(</span><span class="nv">C</span><span class="p">)).</span> <span class="nf">sujet</span><span class="p">(</span><span class="nv">S</span><span class="p">):-</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="s s-Atom">pronom</span><span class="p">);</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="s s-Atom">nom</span><span class="p">).</span> <span class="nf">verbe</span><span class="p">(</span><span class="nv">V</span><span class="p">)</span> <span class="p">:-</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">V</span><span class="p">,</span> <span class="s s-Atom">present</span><span class="p">).</span> <span class="nf">complement</span><span class="p">(</span><span class="nv">C</span><span class="p">):-</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">C</span><span class="p">,</span><span class="s s-Atom">nom</span><span class="p">);</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">C</span><span class="p">,</span><span class="s s-Atom">adverbe</span><span class="p">).</span> <span class="c1">% emploi lexique</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">Mot</span><span class="p">,</span> <span class="nv">Cat</span><span class="p">):-</span> <span class="nf">dico</span><span class="p">(</span><span class="nv">Cat</span><span class="p">,</span> <span class="nv">L</span><span class="p">),</span><span class="nf">dans</span><span class="p">(</span><span class="nv">Mot</span><span class="p">,</span> <span class="nv">L</span><span class="p">).</span> <span class="nf">dans</span><span class="p">(</span><span class="nv">X</span><span class="p">,</span> <span class="p">[</span><span class="nv">Y</span><span class="p">|</span><span class="nv">Z</span><span class="p">]):-</span> <span class="nv">X</span> <span class="o">=</span> <span class="nv">Y</span> <span class="p">;</span> <span class="nf">dans</span><span class="p">(</span><span class="nv">X</span><span class="p">,</span> <span class="nv">Z</span><span class="p">).</span> <span class="nf">dico</span><span class="p">(</span><span class="s s-Atom">nom</span><span class="p">,</span> <span class="p">[</span><span class="s s-Atom">andre</span><span class="p">,</span> <span class="s s-Atom">marie</span><span class="p">,</span> <span class="s s-Atom">pierre</span><span class="p">,</span> <span class="s s-Atom">sylvie</span><span class="p">]).</span> <span class="nf">dico</span><span class="p">(</span><span class="s s-Atom">pronom</span><span class="p">,</span> <span class="p">[</span><span class="s s-Atom">il</span><span class="p">,</span> <span class="s s-Atom">elle</span><span class="p">,</span> <span class="s s-Atom">on</span><span class="p">]).</span> <span class="nf">dico</span><span class="p">(</span><span class="s s-Atom">present</span><span class="p">,</span> <span class="p">[</span><span class="s s-Atom">aime</span><span class="p">,</span> <span class="s s-Atom">chante</span><span class="p">,</span> <span class="s s-Atom">charme</span><span class="p">,</span> <span class="s s-Atom">ennuie</span><span class="p">,</span> <span class="s s-Atom">observe</span><span class="p">]).</span> <span class="nf">dico</span><span class="p">(</span><span class="s s-Atom">adverbe</span><span class="p">,</span> <span class="p">[</span><span class="s s-Atom">bien</span><span class="p">,</span> <span class="s s-Atom">fort</span><span class="p">,</span> <span class="s s-Atom">mal</span><span class="p">,</span> <span class="s s-Atom">peu</span><span class="p">]).</span> </pre></div> <p><span style="text-decoration: underline;">DIALOGUE :</span> </p> <pre>1 ?- phrase([pierre, aime, sylvie]). true .  % phrase acceptée 2 ?- phrase([elle, chante]). true .  % phrase acceptée 3 ?- phrase([on, danse]). false.  % ''danse'' est inconnu 4 ?- phrase([il, X]). X = aime ; X = chante ; X = charme ; X = ennuie ; X = observe ; false.  % phrases acceptées (énumérées par relance) 5 ?- gen([il, X]). [il,aime] [il,chante] [il,charme] [il,ennuie] [il,observe] --------- true.  % génération en bloc des phrases conformes à la demande </pre> <p><span style="text-decoration: underline;">un ANALYSEUR apparenté</span> </p> <div class="mw-highlight mw-highlight-lang-prolog mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">% analyse grammaticale</span> <span class="c1">% syntaxe</span> <span class="nf">analyse</span><span class="p">([</span><span class="nv">S</span><span class="p">,</span><span class="nv">V</span><span class="p">],</span> <span class="nf">ph</span><span class="p">(</span><span class="nv">AS</span><span class="p">,</span> <span class="nv">AV</span><span class="p">)):-</span> <span class="nf">sujet</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="nv">AS</span><span class="p">),</span> <span class="nf">verbe</span><span class="p">(</span><span class="nv">V</span><span class="p">,</span> <span class="nv">AV</span><span class="p">).</span> <span class="nf">analyse</span><span class="p">([</span><span class="nv">S</span><span class="p">,</span> <span class="nv">V</span><span class="p">,</span> <span class="nv">C</span><span class="p">],</span> <span class="nf">ph</span><span class="p">(</span><span class="nv">AS</span><span class="p">,</span> <span class="nf">gv</span><span class="p">(</span><span class="nv">AV</span><span class="p">,</span> <span class="nv">AC</span><span class="p">))):-</span> <span class="nf">sujet</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="nv">AS</span><span class="p">),</span> <span class="nf">verbe</span><span class="p">(</span><span class="nv">V</span><span class="p">,</span> <span class="nv">AV</span><span class="p">),</span> <span class="nf">complement</span><span class="p">(</span><span class="nv">C</span><span class="p">,</span> <span class="nv">AC</span><span class="p">).</span> <span class="nf">sujet</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="nf">sujet</span><span class="p">(</span><span class="s s-Atom">pronom</span><span class="p">,</span> <span class="nv">S</span><span class="p">)):-</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="s s-Atom">pronom</span><span class="p">).</span> <span class="nf">sujet</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="nf">sujet</span><span class="p">(</span><span class="s s-Atom">nom</span><span class="p">,</span> <span class="nv">S</span><span class="p">))</span> <span class="p">:-</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="s s-Atom">nom</span><span class="p">).</span> <span class="nf">sujet</span><span class="p">(</span><span class="nv">S</span><span class="p">,</span> <span class="nf">sujet</span><span class="p">(</span><span class="s s-Atom">'???'</span><span class="p">,</span> <span class="nv">S</span><span class="p">)).</span> <span class="nf">verbe</span><span class="p">(</span><span class="nv">V</span><span class="p">,</span><span class="nf">verbe</span><span class="p">(</span><span class="s s-Atom">present</span><span class="p">,</span> <span class="nv">V</span><span class="p">))</span> <span class="p">:-</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">V</span><span class="p">,</span> <span class="s s-Atom">present</span><span class="p">).</span> <span class="nf">verbe</span><span class="p">(</span><span class="nv">V</span><span class="p">,</span><span class="nf">verbe</span><span class="p">(</span><span class="s s-Atom">'???'</span><span class="p">,</span> <span class="nv">V</span><span class="p">)).</span> <span class="nf">complement</span><span class="p">(</span><span class="nv">C</span><span class="p">,</span> <span class="nf">comp</span><span class="p">(</span><span class="s s-Atom">nom</span><span class="p">,</span> <span class="nv">C</span><span class="p">)):-</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">C</span><span class="p">,</span><span class="s s-Atom">nom</span><span class="p">).</span> <span class="nf">complement</span><span class="p">(</span><span class="nv">C</span><span class="p">,</span> <span class="nf">comp</span><span class="p">(</span><span class="s s-Atom">adv</span><span class="p">,</span> <span class="nv">C</span><span class="p">)):-</span> <span class="nf">est1</span><span class="p">(</span><span class="nv">C</span><span class="p">,</span><span class="s s-Atom">adverbe</span><span class="p">).</span> <span class="nf">complement</span><span class="p">(</span><span class="nv">C</span><span class="p">,</span> <span class="nf">comp</span><span class="p">(</span><span class="s s-Atom">'???'</span><span class="p">,</span> <span class="nv">C</span><span class="p">)).</span> <span class="c1">% même partie lexique que précédemment</span> </pre></div> <p><span style="text-decoration: underline;">DIALOGUE :</span> </p> <pre>1 ?- analyse([sylvie, chante], A). A = ph(sujet(nom, sylvie), verbe(present, chante)) . 2 ?- analyse([pierre, aime, sylvie], A). A = ph(sujet(nom, pierre), gv(verbe(present, aime), comp(nom, sylvie))) . 3 ?- analyse([tu, bois], A). A = ph(sujet(???, tu), verbe(???, bois)). 4 ?- analyse([il, chante, faux], A). A = ph(sujet(pronom, il), gv(verbe(present, chante), comp(???, faux))) . </pre> <p>où les '???' dénotent les erreurs ou les limites du programme. </p> </div> <div class="NavEnd"> </div> </div> <p><br /> Les applications linguistiques de Prolog ont été simplifiées et amplifiées par l'emploi des DCG (<a href="/w/index.php?title=Definite_clause_grammar&action=edit&redlink=1" class="new" title="Definite clause grammar (page inexistante)">Definite Clause Grammar</a> <a href="https://en.wikipedia.org/wiki/Definite_clause_grammar" class="extiw" title="en:Definite clause grammar"><span class="indicateur-langue" title="Article en anglais : « Definite_clause_grammar »">(en)</span></a>) (Pereira & Warren, 1980). </p><p>On peut de là utiliser Prolog en vue de la <a href="/wiki/Traduction_automatique" title="Traduction automatique">traduction automatique</a> ou semi-automatique. </p><p>Plus fréquemment, un analyseur simple permettra l'emploi de <i>requêtes pseudo-naturelles</i> pour l'interrogation des bases de données relationnelles. </p> <div class="mw-heading mw-heading3"><h3 id="Aspect_combinatoire">Aspect combinatoire</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=20" title="Modifier la section : Aspect combinatoire" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=20" title="Modifier le code source de la section : Aspect combinatoire"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Des applications Prolog <i>a priori</i> intéressantes pouvaient avoir des temps d'exécution excessifs du fait de la combinatoire sous-jacente. Prolog et la programmation logique ont donné naissance à un courant de programmation combinant la plupart des spécificités de Prolog et les apports de la <a href="/wiki/Programmation_par_contraintes" title="Programmation par contraintes">Programmation par contraintes</a> pour aboutir avec Prolog IV (1996) à la <a href="/w/index.php?title=Programmation_Logique_sous_Contraintes&action=edit&redlink=1" class="new" title="Programmation Logique sous Contraintes (page inexistante)">Programmation Logique sous Contraintes</a> (PLC).Cette approche est très efficace dans les problèmes combinatoires, notamment en <a href="/wiki/Conception_assist%C3%A9e_par_ordinateur" title="Conception assistée par ordinateur">CAO</a>, en recherche opérationnelle et dans les jeux. </p><p>En effet, on peut par exemple imposer que n variables partageant un domaine à n valeurs s'excluent mutuellement, ramenant le nombre de cas de n^n à n!. Par exemple, pour n=10, de 10 milliards à 3,6 millions. </p><p>En 1980, le projet japonais <i><a href="/w/index.php?title=Ordinateur_de_cinqui%C3%A8me_g%C3%A9n%C3%A9ration&action=edit&redlink=1" class="new" title="Ordinateur de cinquième génération (page inexistante)"><abbr class="abbr" title="Cinquième">5<sup>e</sup></abbr> génération</a> <a href="https://en.wikipedia.org/wiki/Fifth_generation_computer" class="extiw" title="en:Fifth generation computer"><span class="indicateur-langue" title="Article en anglais : « Fifth_generation_computer »">(en)</span></a></i> avait mis de grands espoirs dans la parallélisation de Prolog, qui se sont heurtés au fait que Prolog étant d'inspiration grammaticale, ses connecteurs logiques ne sont pas commutatifs. Cependant, l'exploitation des règles peut s'accommoder d'un mode pipe-line, interruptible si nécessaire. Soit la règle : </p> <pre>musicienGrec(X) :- musicien(X), grec(X). </pre> <p>Dès que Prolog trouve un musicien, il peut vérifier s'il est grec, auquel cas il s'agit d'une première réponse. De ce fait, la vérification de la nationalité d'un musicien peut se faire <i>pendant que</i> se poursuit la recherche des autres musiciens connus du système. Ce procédé est d'autant plus efficace que la recherche commence par le prédicat le plus sélectif : c'est le cas si le système connait moins de musiciens que de Grecs. </p> <div class="mw-heading mw-heading3"><h3 id="Aspect_mathématique"><span id="Aspect_math.C3.A9matique"></span>Aspect mathématique</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=21" title="Modifier la section : Aspect mathématique" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=21" title="Modifier le code source de la section : Aspect mathématique"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Prolog permet le raisonnement par récurrence, et fournit ainsi la possibilité de vérifier des conjectures. Sa capacité à traiter des arbres pouvant représenter des formules permet de l'employer en <a href="/wiki/Calcul_formel" title="Calcul formel">calcul formel</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Modules_intelligents">Modules intelligents</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=22" title="Modifier la section : Modules intelligents" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=22" title="Modifier le code source de la section : Modules intelligents"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Au-delà d'applications purement Prolog, la possibilité de combiner Prolog à des langages traditionnels a permis dès les années 85 de doter de nombreuses applications de <i>modules intelligents</i> tels que des modules experts. À performances comparables, ces modules augmentent ainsi souplesse et pertinence des applications. </p> <div class="mw-heading mw-heading2"><h2 id="Évolutions"><span id=".C3.89volutions"></span>Évolutions</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=23" title="Modifier la section : Évolutions" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=23" title="Modifier le code source de la section : Évolutions"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Prolog travaille dans le cadre de la <a href="/wiki/Calcul_des_pr%C3%A9dicats" title="Calcul des prédicats">logique d'ordre 1</a> et la bonne fin des programmes Prolog est garantie dans un cadre de logique monotone, qui suppose qu'il n'y pas mise à jour de la base de connaissances durant un raisonnement. Cependant des résultats intermédiaires réutilisables peuvent être mémorisés à l'aide du prédicat <i>assert()</i>, correspondant à une forme irréversible d'apprentissage, par exemple en <a href="/wiki/M%C3%A9moization" class="mw-redirect" title="Mémoization">mémoïsation</a>.</li></ul> <dl><dd>Au-delà, l'emploi de prédicats <i>retract()</i> permet la modification de la base de connaissances, exigé par le traitement des systèmes dynamiques, comme par certains désapprentissages nécessaires, mais Prolog travaille alors en <a href="/wiki/Logique_non_monotone" title="Logique non monotone">logique non monotone</a>, en perdant la garantie de bonne fin.</dd></dl> <dl><dd>Ces questions ont amené une distinction entre faits statiques, inmodifiables, et <i>faits dynamiques</i>.</dd></dl> <ul><li>Des extensions ont été proposées, notamment dans le Prolog ISO, pour favoriser la <a href="/wiki/Programmation_par_contraintes" title="Programmation par contraintes">programmation sous contraintes</a>, la <a href="/wiki/R%C3%A9ification" title="Réification">réification</a> permettant un accès limité à l'<a href="/wiki/Logique_d%27ordre_sup%C3%A9rieur" title="Logique d'ordre supérieur">ordre 2</a>.</li> <li>PROLOG est également le support d'extensions dans le domaine de la <a href="/wiki/Logique_non_classique" title="Logique non classique">logique non classique</a>, et en particulier de la <a href="/wiki/Logique_modale" title="Logique modale">logique modale</a>, avec le langage <a href="/wiki/MOLOG" title="MOLOG">MOLOG</a> développé par l'équipe de <a href="/w/index.php?title=Luis_Fari%C3%B1as_Del_Cerro&action=edit&redlink=1" class="new" title="Luis Fariñas Del Cerro (page inexistante)">Luis Fariñas Del Cerro</a> à l'<a href="/wiki/IRIT" class="mw-redirect" title="IRIT">IRIT</a>.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Implémentations"><span id="Impl.C3.A9mentations"></span>Implémentations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=24" title="Modifier la section : Implémentations" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=24" title="Modifier le code source de la section : Implémentations"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="http://www.amzi.com/">Amzi! Prolog</a>, payant sauf version sans serveur ni redistribuables</li> <li><a rel="nofollow" class="external text" href="http://www.picat-lang.org/bprolog/">B-Prolog</a>, payant sauf Academic licence</li> <li><a href="/wiki/Borland" title="Borland">Borland</a> Turbo Prolog<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite_crochet">[</span>1<span class="cite_crochet">]</span></a></sup>, implémentation pour <a href="/wiki/MS-DOS" title="MS-DOS">MS-DOS</a> commercialisée en 1987, reprise par la suite par une entreprise danoise sous le nom Visual Prolog</li> <li><a rel="nofollow" class="external text" href="http://www.clip.dia.fi.upm.es/Software/Ciao">Ciao Prolog</a>, libre (GPL)</li> <li><a rel="nofollow" class="external text" href="http://www.gprolog.org/">GNU Prolog</a>, développé par l'<a href="/wiki/Universit%C3%A9_Paris-1_Panth%C3%A9on-Sorbonne" class="mw-redirect" title="Université Paris-1 Panthéon-Sorbonne">université Paris-1 Panthéon-Sorbonne</a>, libre (GPL et LGPL)</li> <li><a rel="nofollow" class="external text" href="http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=prolog.r">Rebol Prolog</a>, implémentation en Rebol, à interpréter dans Rebol</li> <li><a rel="nofollow" class="external text" href="https://www.scryer.pl/">Scryer Prolog</a>, implémentation en Rust, Gratuit.</li> <li><a rel="nofollow" class="external text" href="http://www.sics.se/sicstus/">SICStus Prolog</a>, développé par le <i>Swedish Institute of Computer Science</i>, payant</li> <li><a rel="nofollow" class="external text" href="http://www.dobrev.com/">Strawberry Prolog</a>, version light gratuite</li> <li><a rel="nofollow" class="external text" href="http://www.swi-prolog.org">SWI Prolog</a>, développé par l'<a href="/wiki/Universit%C3%A9_d%27Amsterdam" title="Université d'Amsterdam">université d'Amsterdam</a>, libre (GPL)<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite_crochet">[</span>2<span class="cite_crochet">]</span></a></sup>.</li> <li><a rel="nofollow" class="external text" href="http://alice.unibo.it/xwiki/bin/view/Tuprolog/">TuProlog</a>, gratuit, deux versions, Java ou .NET</li> <li><a rel="nofollow" class="external text" href="http://www.visual-prolog.com">Visual Prolog</a>, Personal Edition gratuite</li> <li><a rel="nofollow" class="external text" href="http://xsb.sourceforge.net/">http://xsb.sourceforge.net/ XSB</a>, gratuit, basé sur InterProlog comme SWI et Yap</li> <li><a rel="nofollow" class="external text" href="http://prolog-heritage.org/fr/ph234.html">Prolog II (1982) III & IV (1996)</a>, gratuits, PC et DOS ou Windows, les Prologs de Alain Colmerauer et son équipe de Marseille</li></ul> <div class="mw-heading mw-heading2"><h2 id="Bibliographie">Bibliographie</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=25" title="Modifier la section : Bibliographie" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=25" title="Modifier le code source de la section : Bibliographie"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>W.F. Clocksin, C.S. Mellish, C. S., <i>Programming in Prolog</i>. Springer-Verlag 1981. <small style="line-height:1em;">(<a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <a href="/wiki/Sp%C3%A9cial:Ouvrages_de_r%C3%A9f%C3%A9rence/3-540-11046-1" title="Spécial:Ouvrages de référence/3-540-11046-1"><span class="nowrap">3-540-11046-1</span></a>)</small> : définition du Prolog "d'Édimbourg" ; plusieurs rééditions.</li> <li>F. Giannesini, H. Kanoui, R. Pasero, M. Van Caneghem , <i>Prolog</i>, Interéditions, 1985 : définition du Prolog "de Marseille", avec une préface d'A. Colmerauer</li> <li>H. Coelho, J. C. Cotta, L. M. Pereira, <i>How to solve it with PROLOG</i>, Laboratório Nacional de Engenharia Civil (Portugal), 1985.</li> <li><a href="/wiki/Jean-Paul_Delahaye" title="Jean-Paul Delahaye">Jean-Paul Delahaye</a>, <i>Cours de Prolog avec Turbo Prolog</i>, Eyrolles, 1988 - id : 9782212081916.</li> <li>L. Sterling, E. Shapiro, <i>L'art de Prolog</i>, Masson, 1990 : Traduit de l'anglais par M. Eytan.</li> <li>Jacky Legrand, <i>Le langage Prolog - Exemples en Turbo Prolog</i>, Technip, 1992 - <small style="line-height:1em;">(<a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <a href="/wiki/Sp%C3%A9cial:Ouvrages_de_r%C3%A9f%C3%A9rence/2-7108-0627-4" title="Spécial:Ouvrages de référence/2-7108-0627-4"><span class="nowrap">2-7108-0627-4</span></a>)</small>.</li> <li>P. Collard, <i>Programmation Déclarative et Impérative en Prolog</i>, Ed. Masson, Collection Manuels Informatiques, 1992 - <small style="line-height:1em;">(<a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <a href="/wiki/Sp%C3%A9cial:Ouvrages_de_r%C3%A9f%C3%A9rence/2-225-82809-1" title="Spécial:Ouvrages de référence/2-225-82809-1"><span class="nowrap">2-225-82809-1</span></a>)</small>.</li> <li>Patrick Blackburn, Johan Bos, Kristina Streignitz, <i>PROLOG tout de suite</i>, College Publications, <time class="nowrap" datetime="2007-08-07" data-sort-value="2007-08-07">7 août 2007</time>.</li> <li>Alain Colmerauer <a rel="nofollow" class="external text" href="http://alain.colmerauer.free.fr/alcol/ArchivesPublications/PrologHistoire/24juillet92plus/24juillet92plusvar.pdf"><i>La naissance de Prolog</i></a><i>, 1992</i></li></ul> <div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=26" title="Modifier la section : Notes et références" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=26" title="Modifier le code source de la section : Notes et références"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink noprint"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://bitsavers.trailing-edge.com/pdf/borland/turbo_prolog/">Manuels de Turbo Prolog</a>.</span> </li> <li id="cite_note-2"><span class="mw-cite-backlink noprint"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.swi-prolog.org/pldoc/doc_for?object=manual">Manuel SWI-Prolog</a>.</span> </li> </ol></div> </div> <div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=27" title="Modifier la section : Voir aussi" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=27" title="Modifier le code source de la section : Voir aussi"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=28" title="Modifier la section : Articles connexes" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=28" title="Modifier le code source de la section : Articles connexes"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Calcul_des_pr%C3%A9dicats" title="Calcul des prédicats">Calcul des prédicats</a></li> <li><a href="/wiki/Programmation_logique" title="Programmation logique">Programmation logique</a></li> <li><a href="/wiki/R%C3%A8gle_de_r%C3%A9solution" title="Règle de résolution">Règle de résolution</a></li> <li><a href="/wiki/Warren%27s_Abstract_Machine" title="Warren's Abstract Machine">Warren's Abstract Machine</a></li> <li><a href="/w/index.php?title=SWI-Prolog&action=edit&redlink=1" class="new" title="SWI-Prolog (page inexistante)">SWI-Prolog</a> <a href="https://en.wikipedia.org/wiki/SWI-Prolog" class="extiw" title="en:SWI-Prolog"><span class="indicateur-langue" title="Article en anglais : « SWI-Prolog »">(en)</span></a></li></ul> <div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Prolog&veaction=edit&section=29" title="Modifier la section : Liens externes" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Prolog&action=edit&section=29" title="Modifier le code source de la section : Liens externes"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="http://prolog.developpez.com/">Cours et Tutoriel Prolog</a></li> <li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.learnprolognow.org/">Learn Prolog Now!</a></li> <li><a rel="nofollow" class="external text" href="http://alain.colmerauer.free.fr/">Page d'accueil d'Alain Colmerauer</a></li></ul> <div class="navbox-container" style="clear:both;"> <table class="navbox collapsible noprint collapsed" style=""> <tbody><tr><th class="navbox-title" colspan="2" style=""><div style="float:left; width:6em; text-align:left"><div class="noprint plainlinks nowrap tnavbar" style="padding:0; font-size:xx-small; color:var(--color-emphasized, #000000);"><a href="/wiki/Mod%C3%A8le:Palette_Langages_de_programmation" title="Modèle:Palette Langages de programmation"><abbr class="abbr" title="Voir ce modèle.">v</abbr></a> · <a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Mod%C3%A8le:Palette_Langages_de_programmation&action=edit"><abbr class="abbr" title="Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.">m</abbr></a></div></div><div style="font-size:110%"><a href="/wiki/Langage_de_programmation" title="Langage de programmation">Langages de programmation</a></div></th> </tr> <tr> <th class="navbox-group" style=""><a href="/wiki/Programmation_concurrente" title="Programmation concurrente">Concurrents</a></th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Ada_(langage)" title="Ada (langage)">Ada</a></li> <li><a href="/wiki/Erlang_(langage)" title="Erlang (langage)">Erlang</a></li> <li><a href="/wiki/Go_(langage)" title="Go (langage)">Go</a></li> <li><a href="/wiki/Modula-2" title="Modula-2">Modula-2</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style=""><a href="/wiki/Programmation_d%C3%A9clarative" title="Programmation déclarative">Déclaratifs</a></th> <td class="navbox-list navbox-even" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Clips_(langage)" title="Clips (langage)">Clips</a></li> <li><a class="mw-selflink selflink">Prolog</a></li> <li><a href="/wiki/Mercury_(langage)" title="Mercury (langage)">Mercury</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style=""><a href="/wiki/Programmation_fonctionnelle" title="Programmation fonctionnelle">Fonctionnels</a></th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Common_Lisp" title="Common Lisp">Common Lisp</a></li> <li><a href="/wiki/Erlang_(langage)" title="Erlang (langage)">Erlang</a></li> <li><a href="/wiki/F_Sharp" title="F Sharp">F#</a></li> <li><a href="/wiki/Gallina" title="Gallina">Gallina</a></li> <li><a href="/wiki/Haskell" title="Haskell">Haskell</a></li> <li><a href="/wiki/Lisp" title="Lisp">Lisp</a></li> <li><a href="/wiki/ML_(langage)" title="ML (langage)">ML</a></li> <li><a href="/wiki/OCaml" title="OCaml">OCaml</a></li> <li><a href="/wiki/Opa_(logiciel)" title="Opa (logiciel)">Opa</a></li> <li><a href="/wiki/Scheme" title="Scheme">Scheme</a></li> <li><a href="/wiki/Standard_ML" title="Standard ML">Standard ML</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style=""><a href="/wiki/Programmation_imp%C3%A9rative" title="Programmation impérative">Impératifs</a></th> <td class="navbox-list navbox-even" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Algol_(langage)" title="Algol (langage)">Algol</a></li> <li><a href="/wiki/APL_(langage)" title="APL (langage)">APL</a></li> <li><a href="/wiki/Assembleur" title="Assembleur">Assembleur</a></li> <li><a href="/wiki/Basic_(langage)" title="Basic (langage)">Basic</a></li> <li><a href="/wiki/BCPL" title="BCPL">BCPL</a></li> <li><a href="/wiki/C_(langage)" title="C (langage)">C</a></li> <li><a href="/wiki/Cobol" title="Cobol">Cobol</a></li> <li><a href="/wiki/DOPE_(langage)" title="DOPE (langage)">DOPE</a></li> <li><a href="/wiki/Forth_(langage)" title="Forth (langage)">Forth</a></li> <li><a href="/wiki/Fortran" title="Fortran">Fortran</a></li> <li><a href="/wiki/Julia_(langage)" title="Julia (langage)">Julia</a></li> <li><a href="/wiki/Limbo_(langage)" title="Limbo (langage)">Limbo</a></li> <li><a href="/wiki/Lua" title="Lua">Lua</a></li> <li><a href="/wiki/Modula-2" title="Modula-2">Modula-2</a></li> <li><a href="/wiki/MUMPS" title="MUMPS">MUMPS</a></li> <li><a href="/wiki/Natural" title="Natural">Natural</a></li> <li><a href="/wiki/Not_Quite_C" title="Not Quite C">NQC</a></li> <li><a href="/wiki/Not_eXactly_C" title="Not eXactly C">NXC</a></li> <li><a href="/wiki/Open_Programming_Language" title="Open Programming Language">OPL</a></li> <li><a href="/wiki/Pascal_(langage)" title="Pascal (langage)">Pascal</a></li> <li><a href="/wiki/Perl_(langage)" title="Perl (langage)">Perl</a></li> <li><a href="/wiki/PL/I" title="PL/I">PL/I</a></li> <li><a href="/wiki/G%C3%A9n%C3%A9rateur_automatique_de_programmes" title="Générateur automatique de programmes">RPG</a></li> <li><a href="/wiki/Windows_PowerShell" title="Windows PowerShell">PowerShell</a></li> <li><a href="/wiki/Rust_(langage)" title="Rust (langage)">Rust</a></li> <li><a href="/wiki/Tool_Command_Language" title="Tool Command Language">Tcl</a></li> <li><a href="/wiki/WLangage" title="WLangage">WLangage</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style=""><a href="/wiki/Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">Orientés objet</a></th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/ActionScript" title="ActionScript">ActionScript</a></li> <li><a href="/wiki/AppleScript" title="AppleScript">AppleScript</a></li> <li><a href="/wiki/C%2B%2B" title="C++">C++</a></li> <li><a href="/wiki/C_Sharp" title="C Sharp">C#</a></li> <li><a href="/wiki/CoffeeScript" title="CoffeeScript">CoffeeScript</a></li> <li><a href="/wiki/D_(langage)" title="D (langage)">D</a></li> <li><a href="/wiki/Delphi_(langage)" title="Delphi (langage)">Delphi</a></li> <li><a href="/wiki/Eiffel_(langage)" title="Eiffel (langage)">Eiffel</a></li> <li><a href="/wiki/Groovy_(langage)" title="Groovy (langage)">Groovy</a></li> <li><a href="/wiki/Haxe" title="Haxe">Haxe</a></li> <li><a href="/wiki/Java_(langage)" title="Java (langage)">Java</a></li> <li><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a></li> <li><a href="/wiki/Lisaac" title="Lisaac">Lisaac</a></li> <li><a href="/wiki/Logo_(langage)" title="Logo (langage)">Logo</a></li> <li><a href="/wiki/Objective-C" title="Objective-C">Objective-C</a></li> <li><a href="/wiki/PHP" title="PHP">PHP</a></li> <li><a href="/wiki/Python_(langage)" title="Python (langage)">Python</a></li> <li><a href="/wiki/Ruby" title="Ruby">Ruby</a></li> <li><a href="/wiki/Scala_(langage)" title="Scala (langage)">Scala</a></li> <li><a href="/wiki/Scratch_(langage)" title="Scratch (langage)">Scratch</a></li> <li><a href="/wiki/Simula" title="Simula">Simula</a></li> <li><a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a></li> <li><a href="/wiki/Swift_(langage_d%27Apple)" title="Swift (langage d'Apple)">Swift</a></li> <li><a href="/wiki/Kotlin_(langage)" title="Kotlin (langage)">Kotlin</a></li> <li><a href="/wiki/Visual_Basic" title="Visual Basic">Visual Basic</a></li></ul> </div></td> </tr> <tr> <td class="navbox-banner" style="" colspan="2"><div class="liste-horizontale"> <ul><li><a href="/wiki/Liste_de_langages_de_programmation" title="Liste de langages de programmation">Liste de langages de programmation</a></li></ul> </div></td></tr></tbody></table> <table class="navbox collapsible noprint autocollapse" style=""> <tbody><tr><th class="navbox-title" colspan="3" style=""><div style="float:left; width:6em; text-align:left"><div class="noprint plainlinks nowrap tnavbar" style="padding:0; font-size:xx-small; color:var(--color-emphasized, #000000);"><a href="/wiki/Mod%C3%A8le:Palette_Normes_ISO" title="Modèle:Palette Normes ISO"><abbr class="abbr" title="Voir ce modèle.">v</abbr></a> · <a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Mod%C3%A8le:Palette_Normes_ISO&action=edit"><abbr class="abbr" title="Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.">m</abbr></a></div></div><div style="font-size:110%">Normes <a href="/wiki/Organisation_internationale_de_normalisation" title="Organisation internationale de normalisation">ISO</a></div></th> </tr> <tr> <td class="navbox-list" style="" colspan="2"><div class="liste-horizontale"> <ul><li><a href="/wiki/ISO_1" title="ISO 1">1</a></li> <li><a href="/wiki/Dimension_lin%C3%A9aire_nominale" title="Dimension linéaire nominale">3</a></li> <li><a href="/wiki/ISO_4" title="ISO 4">4</a></li> <li><a href="/wiki/ISO_9" title="ISO 9">9</a></li> <li><a href="/wiki/ISO_31" title="ISO 31">31</a></li> <li><a href="/wiki/ISO_216" title="ISO 216">216</a></li> <li><a href="/wiki/ISO_217" title="ISO 217">217</a></li> <li><a href="/wiki/Raccord_BSP" title="Raccord BSP">228</a></li> <li><a href="/wiki/ISO_233" title="ISO 233">233</a></li> <li><a href="/wiki/ISO_259" title="ISO 259">259</a></li> <li><a href="/wiki/Enveloppe_(papeterie)" title="Enveloppe (papeterie)">269</a></li> <li><a href="/wiki/ISO_639" title="ISO 639">639</a></li> <li><a href="/wiki/ISO/CEI_646" title="ISO/CEI 646">646</a></li> <li><a href="/wiki/ISO_690" title="ISO 690">690</a></li> <li><a href="/wiki/ISO_843" title="ISO 843">843</a></li> <li><a href="/wiki/Syst%C3%A8me_international_d%27unit%C3%A9s" title="Système international d'unités">1000</a></li> <li><a href="/wiki/ISO/CEI_2022" title="ISO/CEI 2022">2022</a></li> <li><a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">2108</a></li> <li><a href="/wiki/ISO_2709" title="ISO 2709">2709</a></li> <li><a href="/wiki/ISO_3103" title="ISO 3103">3103</a></li> <li><a href="/wiki/ISO_3166" title="ISO 3166">3166</a></li> <li><a href="/wiki/ISO_3166-1" title="ISO 3166-1">3166-1</a></li> <li><a href="/wiki/ISO_3166-2" title="ISO 3166-2">3166-2</a></li> <li><a href="/wiki/ISO_3166-3" title="ISO 3166-3">3166-3</a></li> <li><a href="/wiki/International_Standard_Serial_Number" title="International Standard Serial Number">3297</a></li> <li><a href="/wiki/ISO_3533" title="ISO 3533">3533</a></li> <li><a href="/wiki/International_Standard_Recording_Code" title="International Standard Recording Code">3901</a></li> <li><a href="/wiki/ISO_4217" title="ISO 4217">4217</a></li> <li><a href="/wiki/ISO/CEI_5218" title="ISO/CEI 5218">5218</a></li> <li><a href="/wiki/ISO_5426" title="ISO 5426">5426</a></li> <li><a href="/wiki/ISO_6166" title="ISO 6166">6166</a></li> <li><a href="/wiki/ISO_6358" title="ISO 6358">6358</a></li> <li><a href="/wiki/ISO_6438" title="ISO 6438">6438</a></li> <li><a href="/wiki/ISO_6709" title="ISO 6709">6709</a></li> <li><a href="/wiki/ISO_7010" title="ISO 7010">7010</a></li> <li><a href="/wiki/Pascal_(langage)" title="Pascal (langage)">7185</a></li> <li><a href="/wiki/ISO/CEI_7810" title="ISO/CEI 7810">7810</a></li> <li><a href="/wiki/ISO_8601" title="ISO 8601">8601</a></li> <li><a href="/wiki/Architecture_de_document_ouverte" title="Architecture de document ouverte">8613</a></li> <li><a href="/wiki/ISO/CEI_8859" title="ISO/CEI 8859">8859</a></li> <li><a href="/wiki/ISO_9001" title="ISO 9001">9001</a></li> <li><a href="/wiki/ISO_9002" title="ISO 9002">9002</a></li> <li><a href="/wiki/ISO_9003" title="ISO 9003">9003</a></li> <li><a href="/wiki/ISO_9004" title="ISO 9004">9004</a></li> <li><a href="/wiki/Structured_Query_Language" title="Structured Query Language">9075</a></li> <li><a href="/wiki/ISO/CEI_9126" title="ISO/CEI 9126">9126</a></li> <li><a href="/wiki/ISO_9241" title="ISO 9241">9241</a></li> <li><a href="/wiki/ISO_9362" title="ISO 9362">9362</a></li> <li><a href="/wiki/X.500" title="X.500">9594</a></li> <li><a href="/wiki/ISO_9646" title="ISO 9646">9646</a></li> <li><a href="/wiki/ISO_9660" title="ISO 9660">9660</a></li> <li><a href="/wiki/POSIX" title="POSIX">9945</a></li> <li><a href="/wiki/ISO_9984" title="ISO 9984">9984</a></li> <li><a href="/wiki/ISO_10006" title="ISO 10006">10006</a></li> <li><a href="/wiki/ISO_10007" title="ISO 10007">10007</a></li> <li><a href="/wiki/Whirlpool_(algorithme)" title="Whirlpool (algorithme)">10118-3</a></li> <li><a href="/wiki/Standard_pour_l%27%C3%A9change_de_donn%C3%A9es_de_produit" title="Standard pour l'échange de données de produit">10303</a></li> <li><a href="/wiki/EXPRESS" title="EXPRESS">10303-11</a></li> <li><a href="/wiki/STEP-NC" title="STEP-NC">10303-238</a></li> <li><a href="/wiki/ISO_10383" title="ISO 10383">10383</a></li> <li><a href="/wiki/IS-IS" title="IS-IS">10589</a></li> <li><a href="/wiki/ISO/CEI_10646" title="ISO/CEI 10646">10646</a></li> <li><a href="/wiki/Cl%C3%A9_Torx" title="Clé Torx">10664</a></li> <li><a href="/wiki/International_Standard_Music_Number" title="International Standard Music Number">10957</a></li> <li><a href="/wiki/ISO/CEI_11179" title="ISO/CEI 11179">11179</a></li> <li><a href="/w/index.php?title=Identification_of_medicinal_products&action=edit&redlink=1" class="new" title="Identification of medicinal products (page inexistante)">11238</a></li> <li><a href="/w/index.php?title=Identification_of_medicinal_products&action=edit&redlink=1" class="new" title="Identification of medicinal products (page inexistante)">11239</a></li> <li><a href="/w/index.php?title=Identification_of_medicinal_products&action=edit&redlink=1" class="new" title="Identification of medicinal products (page inexistante)">11240</a></li> <li><a href="/wiki/JBIG" title="JBIG">11544</a></li> <li><a href="/w/index.php?title=Identification_of_medicinal_products&action=edit&redlink=1" class="new" title="Identification of medicinal products (page inexistante)">11615</a></li> <li><a href="/w/index.php?title=Identification_of_medicinal_products&action=edit&redlink=1" class="new" title="Identification of medicinal products (page inexistante)">11616</a></li> <li><a href="/wiki/ISO_11783" title="ISO 11783">11783</a></li> <li><a href="/wiki/ISO/CEI_11801" title="ISO/CEI 11801">11801</a></li> <li><a href="/wiki/ISO/CEI_12207" title="ISO/CEI 12207">12207</a></li> <li><a class="mw-selflink selflink">13211-1</a></li> <li><a href="/wiki/Isofix" title="Isofix">13216</a></li> <li><a href="/wiki/Cartes_topiques" title="Cartes topiques">13250</a></li> <li><a href="/wiki/ISO_13335" title="ISO 13335">13335</a></li> <li><a href="/wiki/Standard_pour_l%27%C3%A9change_de_donn%C3%A9es_de_produit" title="Standard pour l'échange de données de produit">13399</a></li> <li><a href="/wiki/ISO_13485" title="ISO 13485">13485</a></li> <li><a href="/wiki/Notation_Z" title="Notation Z">13568</a></li> <li><a href="/wiki/International_Bank_Account_Number" title="International Bank Account Number">13616</a></li> <li><a href="/wiki/S%C3%A9rie_des_normes_ISO_14000" title="Série des normes ISO 14000">14000</a></li> <li><a href="/wiki/ISO_14001" title="ISO 14001">14001</a></li> <li><a href="/wiki/ISO_14064" title="ISO 14064">14064</a></li> <li><a href="/wiki/ISO_14069" title="ISO 14069">14069</a></li> <li><a href="/wiki/Cheval-vapeur" title="Cheval-vapeur">14396</a></li> <li><a href="/wiki/C%2B%2B" title="C++">14882</a></li> <li><a href="/wiki/ISO_15189" title="ISO 15189">15189</a></li> <li><a href="/wiki/Crit%C3%A8res_communs" title="Critères communs">15408</a></li> <li><a href="/wiki/JPEG_2000" title="JPEG 2000">15444</a></li> <li><a href="/wiki/ISO_15489" title="ISO 15489">15489</a></li> <li><a href="/wiki/ISO/CEI_15504" title="ISO/CEI 15504">15504</a></li> <li><a href="/wiki/ISO_15511" title="ISO 15511">15511</a></li> <li><a href="/wiki/International_Standard_Audiovisual_Number" title="International Standard Audiovisual Number">15706</a></li> <li><a href="/wiki/ISO_15836" title="ISO 15836">15836</a></li> <li><a href="/wiki/ISO_15924" title="ISO 15924">15924</a></li> <li><a href="/wiki/MaxiCode" title="MaxiCode">16023</a></li> <li><a href="/wiki/ECMAScript" title="ECMAScript">16262</a></li> <li><a href="/wiki/ISO_16610" title="ISO 16610">16610</a></li> <li><a href="/wiki/ISO/CEI_17025" title="ISO/CEI 17025">17025</a></li> <li><a href="/wiki/ISO/CEI_17799" title="ISO/CEI 17799">17799</a></li> <li><a href="/wiki/Code_QR" title="Code QR">18004</a></li> <li><a href="/wiki/PDF/A" title="PDF/A">19005</a></li> <li><a href="/wiki/ISO_19110" title="ISO 19110">19110</a></li> <li><a href="/wiki/ISO_19115" title="ISO 19115">19115</a></li> <li><a href="/wiki/ISO_19439" title="ISO 19439">19439</a></li> <li><a href="/wiki/UML_(informatique)" title="UML (informatique)">19501</a></li> <li><a href="/wiki/Business_process_model_and_notation" title="Business process model and notation">19510</a></li> <li><a href="/wiki/Extensible_3D" title="Extensible 3D">19775-1</a></li> <li><a href="/wiki/ISO/CEI_20000" title="ISO/CEI 20000">20000</a></li> <li><a href="/wiki/ISO_20252" title="ISO 20252">20252</a></li> <li><a href="/wiki/ISO_21127" title="ISO 21127">21127</a></li> <li><a href="/wiki/ISO_21500" title="ISO 21500">21500</a></li> <li><a href="/wiki/ISO_22000" title="ISO 22000">22000</a></li> <li><a href="/wiki/C_Sharp" title="C Sharp">23270</a></li> <li><a href="/wiki/ISO_25178" title="ISO 25178">25178</a></li> <li><a href="/wiki/ISO_26000" title="ISO 26000">26000</a></li> <li><a href="/wiki/ISO/CEI_26300" title="ISO/CEI 26300">26300</a></li> <li><a href="/wiki/ISO/CEI_27001" title="ISO/CEI 27001">27001</a></li> <li><a href="/wiki/ISO/CEI_27002" title="ISO/CEI 27002">27002</a></li> <li><a href="/wiki/ISO/CEI_27005" title="ISO/CEI 27005">27005</a></li> <li><a href="/wiki/ISO/CEI_27006" title="ISO/CEI 27006">27006</a></li> <li><a href="/wiki/ISO/CEI_27017" title="ISO/CEI 27017">27017</a></li> <li><a href="/wiki/ISO/CEI_27018" title="ISO/CEI 27018">27018</a></li> <li><a href="/wiki/Office_Open_XML" title="Office Open XML">29500</a></li> <li><a href="/wiki/ISO_32000" title="ISO 32000">32000</a></li> <li><a href="/wiki/ISO_50001" title="ISO 50001">50001</a></li></ul> </div></td> <td class="navbox-image" rowspan="1" style="vertical-align:middle;padding-left:7px"><span typeof="mw:File"><a href="/wiki/Organisation_internationale_de_normalisation" title="Logo de l’Organisation internationale de normalisation"><img alt="Logo de l’Organisation internationale de normalisation" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/ISO_Logo_%28Red_square%29.svg/80px-ISO_Logo_%28Red_square%29.svg.png" decoding="async" width="80" height="74" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/ISO_Logo_%28Red_square%29.svg/120px-ISO_Logo_%28Red_square%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e3/ISO_Logo_%28Red_square%29.svg/160px-ISO_Logo_%28Red_square%29.svg.png 2x" data-file-width="1476" data-file-height="1359" /></a></span></td> </tr> <tr> <td class="navbox-banner" style="" colspan="3"><div class="liste-horizontale"> <ul><li><a href="/wiki/Liste_de_normes_ISO" title="Liste de normes ISO">Liste de normes ISO</a></li> <li><a href="/wiki/Romanisation_ISO" title="Romanisation ISO">Liste des normes de romanisation ISO</a></li></ul> </div></td></tr></tbody></table> <table class="navbox collapsible noprint autocollapse" style=""> <tbody><tr><th class="navbox-title" colspan="2" style=""><div style="float:left; width:6em; text-align:left"><div class="noprint plainlinks nowrap tnavbar" style="padding:0; font-size:xx-small; color:var(--color-emphasized, #000000);"><a href="/wiki/Mod%C3%A8le:Palette_Intelligence_artificielle" title="Modèle:Palette Intelligence artificielle"><abbr class="abbr" title="Voir ce modèle.">v</abbr></a> · <a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Mod%C3%A8le:Palette_Intelligence_artificielle&action=edit"><abbr class="abbr" title="Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.">m</abbr></a></div></div><div style="font-size:110%"><a href="/wiki/Intelligence_artificielle" title="Intelligence artificielle">Intelligence artificielle</a> (IA)</div></th> </tr> <tr> <th class="navbox-group" style="">Concepts</th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Effet_IA" title="Effet IA">Effet IA</a></li> <li><a href="/wiki/Grand_mod%C3%A8le_de_langage" title="Grand modèle de langage">Grand modèle de langage</a></li> <li><a href="/wiki/Hallucination_(intelligence_artificielle)" title="Hallucination (intelligence artificielle)">Hallucination (IA)</a></li> <li><a href="/wiki/Intelligence_artificielle_g%C3%A9n%C3%A9rale" title="Intelligence artificielle générale">IA générale</a></li> <li><a href="/wiki/Intelligence_artificielle_g%C3%A9n%C3%A9rative" title="Intelligence artificielle générative">IA générative</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Techniques</th> <td class="navbox-list navbox-even" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Analyse_pr%C3%A9dictive" title="Analyse prédictive">Analyse prédictive</a></li> <li><a href="/wiki/Apprentissage_automatique" title="Apprentissage automatique">Apprentissage automatique</a></li> <li><a href="/wiki/Apprentissage_non_supervis%C3%A9" title="Apprentissage non supervisé">Apprentissage non supervisé</a></li> <li><a href="/wiki/Apprentissage_profond" title="Apprentissage profond">Apprentissage profond</a></li> <li><a href="/wiki/Apprentissage_supervis%C3%A9" title="Apprentissage supervisé">Apprentissage supervisé</a></li> <li><a href="/wiki/Machine_d%27apprentissage_logique" title="Machine d'apprentissage logique">Machine d'apprentissage logique</a></li> <li><a href="/wiki/Mod%C3%A8le_de_fondation" title="Modèle de fondation">Modèle de fondation</a></li> <li><a href="/wiki/Mod%C3%A8le_des_croyances_transf%C3%A9rables" title="Modèle des croyances transférables">Modèle des croyances transférables</a></li> <li><a href="/wiki/Intelligence_artificielle_symbolique" title="Intelligence artificielle symbolique">IA symbolique</a></li> <li><a href="/wiki/R%C3%A9seau_bay%C3%A9sien" title="Réseau bayésien">Réseau bayésien</a></li> <li><a href="/wiki/R%C3%A9seau_de_neurones_artificiels" title="Réseau de neurones artificiels">Réseau de neurones artificiels</a> <ul><li><a href="/wiki/R%C3%A9seau_de_neurones_r%C3%A9currents" title="Réseau de neurones récurrents">Réseau de neurones récurrents</a></li> <li><a href="/wiki/R%C3%A9seau_neuronal_convolutif" title="Réseau neuronal convolutif">Réseau neuronal convolutif</a></li> <li><a href="/wiki/Transformeur" title="Transformeur">Transformeur</a></li> <li><a href="/wiki/Transformeur_g%C3%A9n%C3%A9ratif_pr%C3%A9entra%C3%AEn%C3%A9" title="Transformeur génératif préentraîné">Transformeur génératif préentraîné</a></li></ul></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style=""><a href="/wiki/Applications_de_l%27intelligence_artificielle" title="Applications de l'intelligence artificielle">Applications</a></th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Art_cr%C3%A9%C3%A9_par_intelligence_artificielle" title="Art créé par intelligence artificielle">Art créé par IA</a></li> <li><a href="/wiki/Apple_Intelligence" title="Apple Intelligence">Apple Intelligence</a></li> <li><a href="/wiki/ChatGPT" title="ChatGPT">ChatGPT</a></li> <li><a href="/wiki/Cons%C3%A9quences_%C3%A9conomiques_de_l%27intelligence_artificielle" title="Conséquences économiques de l'intelligence artificielle">Conséquences économiques de l'intelligence artificielle</a></li> <li><a href="/wiki/DeepL" title="DeepL">DeepL</a></li> <li><a href="/wiki/Diagnostic_(intelligence_artificielle)" title="Diagnostic (intelligence artificielle)">Diagnostic (IA)</a></li> <li><a href="/wiki/%C3%89criture_assist%C3%A9e_par_intelligence_artificielle" title="Écriture assistée par intelligence artificielle">Écriture assistée par IA</a></li> <li><a href="/wiki/Intelligence_artificielle_dans_la_sant%C3%A9" title="Intelligence artificielle dans la santé">IA dans la santé</a></li> <li><a href="/wiki/Intelligence_artificielle_dans_le_jeu_vid%C3%A9o" title="Intelligence artificielle dans le jeu vidéo">IA dans le jeu vidéo</a></li> <li><a href="/wiki/Perception_artificielle" title="Perception artificielle">Perception artificielle</a></li> <li><a href="/wiki/Planification_(intelligence_artificielle)" title="Planification (intelligence artificielle)">Planification (IA)</a></li> <li><a href="/wiki/Robotique" title="Robotique">Robotique</a></li> <li><a href="/wiki/Traduction_automatique" title="Traduction automatique">Traduction automatique</a></li> <li><a href="/wiki/Traitement_automatique_des_langues" title="Traitement automatique des langues">Traitement automatique des langues</a></li> <li><a href="/wiki/V%C3%A9hicule_autonome" title="Véhicule autonome">Véhicule autonome</a></li> <li><a href="/wiki/Vision_par_ordinateur" title="Vision par ordinateur">Vision par ordinateur</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Enjeux et philosophie</th> <td class="navbox-list navbox-even" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Alignement_des_intelligences_artificielles" title="Alignement des intelligences artificielles">Alignement des intelligences artificielles</a></li> <li><a href="/wiki/Chambre_chinoise" title="Chambre chinoise">Chambre chinoise</a></li> <li><a href="/wiki/Conscience_artificielle" title="Conscience artificielle">Conscience artificielle</a></li> <li><a href="/wiki/Contr%C3%B4le_des_capacit%C3%A9s_de_l%27IA" title="Contrôle des capacités de l'IA">Contrôle des capacités de l'IA</a></li> <li><a href="/wiki/D%C3%A9tection_de_contenu_g%C3%A9n%C3%A9r%C3%A9_par_intelligence_artificielle" title="Détection de contenu généré par intelligence artificielle">Détection de contenu généré par intelligence artificielle</a></li> <li><a href="/wiki/%C3%89thique_de_l%27intelligence_artificielle" title="Éthique de l'intelligence artificielle">Éthique de l'IA</a></li> <li><a href="/wiki/Intelligence_artificielle_digne_de_confiance" title="Intelligence artificielle digne de confiance">IA digne de confiance</a></li> <li><a href="/wiki/Philosophie_de_l%27intelligence_artificielle" title="Philosophie de l'intelligence artificielle">Philosophie de l'IA</a></li> <li><a href="/wiki/S%C3%BBret%C3%A9_des_intelligences_artificielles" title="Sûreté des intelligences artificielles">Sûreté de l'IA</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Histoire et événements</th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Histoire_de_l%27intelligence_artificielle" title="Histoire de l'intelligence artificielle">Histoire de l'intelligence artificielle</a></li> <li><a href="/wiki/Logic_Theorist" title="Logic Theorist">Logic Theorist</a> (1955)</li> <li><a href="/wiki/Perceptron" title="Perceptron">Perceptron</a> (1957)</li> <li><a href="/wiki/General_Problem_Solver" title="General Problem Solver">General Problem Solver</a> (1959)</li> <li><a class="mw-selflink selflink">Prolog</a> (1972)</li> <li><a href="/wiki/Matchs_Deep_Blue_contre_Kasparov" title="Matchs Deep Blue contre Kasparov">Matchs Deep Blue contre Kasparov</a> (1996-1997)</li> <li><a href="/wiki/Match_AlphaGo_-_Lee_Sedol" title="Match AlphaGo - Lee Sedol">Match AlphaGo - Lee Sedol</a> (2016)</li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Science-fiction</th> <td class="navbox-list navbox-even" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Anticipation_(intelligence_artificielle)" title="Anticipation (intelligence artificielle)">Anticipation (IA)</a></li> <li><a href="/wiki/IA-complet" title="IA-complet">IA-complet</a></li> <li><a href="/wiki/Intelligence_artificielle_g%C3%A9n%C3%A9rale" title="Intelligence artificielle générale">IA générale</a></li> <li><a href="/wiki/Risque_existentiel_pos%C3%A9_par_l%27intelligence_artificielle" title="Risque existentiel posé par l'intelligence artificielle">Risque de catastrophe planétaire lié à l'intelligence artificielle générale</a></li> <li><a href="/wiki/Superintelligence" title="Superintelligence">Superintelligence</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Règlementation</th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/R%C3%A8glement_sur_l%E2%80%99intelligence_artificielle_(Union_europ%C3%A9enne)" title="Règlement sur l’intelligence artificielle (Union européenne)">Législation sur l'IA</a></li> <li><a href="/wiki/R%C3%A9glementation_de_l%27intelligence_artificielle" title="Réglementation de l'intelligence artificielle">Réglementation de l'IA</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Organisations</th> <td class="navbox-list navbox-even" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Agence_francophone_pour_l%27intelligence_artificielle" title="Agence francophone pour l'intelligence artificielle">Agence francophone pour l'IA</a></li> <li><a href="/wiki/Google_DeepMind" title="Google DeepMind">Google DeepMind</a></li> <li><a href="/wiki/OpenAI" title="OpenAI">OpenAI</a></li> <li><a href="/wiki/Partenariat_sur_l%27IA" title="Partenariat sur l'IA">Partenariat sur l'IA</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Ouvrages</th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/D%C3%A9claration_de_Montr%C3%A9al_pour_un_d%C3%A9veloppement_responsable_de_l%27intelligence_artificielle" title="Déclaration de Montréal pour un développement responsable de l'intelligence artificielle">Déclaration de Montréal pour un développement responsable de l'intelligence artificielle</a></li> <li><a href="/wiki/Lettre_ouverte_sur_l%27intelligence_artificielle" title="Lettre ouverte sur l'intelligence artificielle">Lettre ouverte sur l'IA</a></li> <li><i><a href="/wiki/Power_and_Progress" title="Power and Progress">Power and Progress</a></i></li> <li><a href="/wiki/Intelligence_artificielle_:_une_approche_moderne" title="Intelligence artificielle : une approche moderne">Intelligence artificielle : une approche moderne</a></li> <li><a href="/wiki/I.A._La_Plus_Grande_Mutation_de_l%27Histoire" title="I.A. La Plus Grande Mutation de l'Histoire">I.A. La Plus Grande Mutation de l'Histoire</a></li></ul> </div></td> </tr> </tbody></table> </div> <ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"><a href="/wiki/Portail:Programmation_informatique" title="Portail de la programmation informatique"><img alt="icône décorative" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Circle-icons-dev.svg/24px-Circle-icons-dev.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Circle-icons-dev.svg/36px-Circle-icons-dev.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Circle-icons-dev.svg/48px-Circle-icons-dev.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></span> <span class="bandeau-portail-texte"><a href="/wiki/Portail:Programmation_informatique" title="Portail:Programmation informatique">Portail de la programmation informatique</a></span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"><a href="/wiki/Portail:Intelligence_artificielle" title="Portail de l’intelligence artificielle"><img alt="icône décorative" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/64/Dall-e_3_%28jan_%2724%29_artificial_intelligence_icon.png/24px-Dall-e_3_%28jan_%2724%29_artificial_intelligence_icon.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/64/Dall-e_3_%28jan_%2724%29_artificial_intelligence_icon.png/36px-Dall-e_3_%28jan_%2724%29_artificial_intelligence_icon.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/64/Dall-e_3_%28jan_%2724%29_artificial_intelligence_icon.png/48px-Dall-e_3_%28jan_%2724%29_artificial_intelligence_icon.png 2x" data-file-width="820" data-file-height="820" /></a></span></span> <span class="bandeau-portail-texte"><a href="/wiki/Portail:Intelligence_artificielle" title="Portail:Intelligence artificielle">Portail de l’intelligence artificielle</a></span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer skin-invert-image" typeof="mw:File"><a href="/wiki/Portail:Logique" title="Portail de la logique"><img alt="icône décorative" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Logic.svg/48px-Logic.svg.png" decoding="async" width="48" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Logic.svg/72px-Logic.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Logic.svg/96px-Logic.svg.png 2x" data-file-width="85" data-file-height="28" /></a></span></span> <span class="bandeau-portail-texte"><a href="/wiki/Portail:Logique" title="Portail:Logique">Portail de la logique</a></span> </span></li> </ul> <!-- NewPP limit report Parsed by mw‐api‐int.codfw.main‐646d5c5fc6‐t5qwm Cached time: 20241128092153 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] CPU time usage: 0.265 seconds Real time usage: 0.346 seconds Preprocessor visited node count: 2769/1000000 Post‐expand include size: 121366/2097152 bytes Template argument size: 34596/2097152 bytes Highest expansion depth: 13/100 Expensive parser function count: 6/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 14588/5000000 bytes Lua time usage: 0.079/10.000 seconds Lua memory usage: 3881738/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 226.888 1 -total 33.38% 75.744 1 Modèle:Infobox_Langage_de_programmation 20.02% 45.423 14 Modèle:Wikidata 14.87% 33.739 2 Modèle:Infobox/Image_optionnelle 13.56% 30.770 1 Modèle:Voir_homonymes 13.03% 29.557 1 Modèle:Méta_bandeau_de_note 12.55% 28.484 1 Modèle:Méta_bandeau 11.79% 26.753 1 Modèle:Références 10.26% 23.287 1 Modèle:Portail 9.77% 22.167 1 Modèle:Palette --> <!-- Saved in parser cache with key frwiki:pcache:idhash:89964-0!canonical and timestamp 20241128092153 and revision id 217453203. Rendering was triggered because: api-parse --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Ce document provient de « <a dir="ltr" href="https://fr.wikipedia.org/w/index.php?title=Prolog&oldid=217453203">https://fr.wikipedia.org/w/index.php?title=Prolog&oldid=217453203</a> ».</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Cat%C3%A9gorie:Accueil" title="Catégorie:Accueil">Catégories</a> : <ul><li><a href="/wiki/Cat%C3%A9gorie:Langage_de_programmation_logique" title="Catégorie:Langage de programmation logique">Langage de programmation logique</a></li><li><a href="/wiki/Cat%C3%A9gorie:Intelligence_artificielle" title="Catégorie:Intelligence artificielle">Intelligence artificielle</a></li><li><a href="/wiki/Cat%C3%A9gorie:Langage_de_d%C3%A9finition_de_donn%C3%A9es" title="Catégorie:Langage de définition de données">Langage de définition de données</a></li><li><a href="/wiki/Cat%C3%A9gorie:Langage_de_requ%C3%AAte" title="Catégorie:Langage de requête">Langage de requête</a></li><li><a href="/wiki/Cat%C3%A9gorie:Invention_fran%C3%A7aise" title="Catégorie:Invention française">Invention française</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Catégories cachées : <ul><li><a href="/wiki/Cat%C3%A9gorie:Page_utilisant_P737" title="Catégorie:Page utilisant P737">Page utilisant P737</a></li><li><a href="/wiki/Cat%C3%A9gorie:Page_utilisant_P1195" title="Catégorie:Page utilisant P1195">Page utilisant P1195</a></li><li><a href="/wiki/Cat%C3%A9gorie:Article_utilisant_une_Infobox" title="Catégorie:Article utilisant une Infobox">Article utilisant une Infobox</a></li><li><a href="/wiki/Cat%C3%A9gorie:Article_contenant_un_appel_%C3%A0_traduction_en_anglais" title="Catégorie:Article contenant un appel à traduction en anglais">Article contenant un appel à traduction en anglais</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Programmation_informatique/Articles_li%C3%A9s" title="Catégorie:Portail:Programmation informatique/Articles liés">Portail:Programmation informatique/Articles liés</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Informatique/Articles_li%C3%A9s" title="Catégorie:Portail:Informatique/Articles liés">Portail:Informatique/Articles liés</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Intelligence_artificielle/Articles_li%C3%A9s" title="Catégorie:Portail:Intelligence artificielle/Articles liés">Portail:Intelligence artificielle/Articles liés</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Logique/Articles_li%C3%A9s" title="Catégorie:Portail:Logique/Articles liés">Portail:Logique/Articles liés</a></li><li><a href="/wiki/Cat%C3%A9gorie:Projet:Math%C3%A9matiques/Articles" title="Catégorie:Projet:Mathématiques/Articles">Projet:Mathématiques/Articles</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Sciences/Articles_li%C3%A9s" title="Catégorie:Portail:Sciences/Articles liés">Portail:Sciences/Articles liés</a></li><li><a href="/wiki/Cat%C3%A9gorie:Article_de_qualit%C3%A9_en_n%C3%A9erlandais" title="Catégorie:Article de qualité en néerlandais">Article de qualité en néerlandais</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> La dernière modification de cette page a été faite le 7 août 2024 à 08:38.</li> <li id="footer-info-copyright"><span style="white-space: normal"><a href="/wiki/Wikip%C3%A9dia:Citation_et_r%C3%A9utilisation_du_contenu_de_Wikip%C3%A9dia" title="Wikipédia:Citation et réutilisation du contenu de Wikipédia">Droit d'auteur</a> : les textes sont disponibles sous <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">licence Creative Commons attribution, partage dans les mêmes conditions</a> ; d’autres conditions peuvent s’appliquer. Voyez les <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/fr">conditions d’utilisation</a> pour plus de détails, ainsi que les <a href="/wiki/Wikip%C3%A9dia:Cr%C3%A9dits_graphiques" title="Wikipédia:Crédits graphiques">crédits graphiques</a>. En cas de réutilisation des textes de cette page, voyez <a href="/wiki/Sp%C3%A9cial:Citer/Prolog" title="Spécial:Citer/Prolog">comment citer les auteurs et mentionner la licence</a>.<br /> Wikipedia® est une marque déposée de la <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, organisation de bienfaisance régie par le paragraphe <a href="/wiki/501c" title="501c">501(c)(3)</a> du code fiscal des États-Unis.</span><br /></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/fr">Politique de confidentialité</a></li> <li id="footer-places-about"><a href="/wiki/Wikip%C3%A9dia:%C3%80_propos_de_Wikip%C3%A9dia">À propos de Wikipédia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikip%C3%A9dia:Avertissements_g%C3%A9n%C3%A9raux">Avertissements</a></li> <li id="footer-places-contact"><a href="//fr.wikipedia.org/wiki/Wikipédia:Contact">Contact</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code de conduite</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Développeurs</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/fr.wikipedia.org">Statistiques</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Déclaration sur les témoins (cookies)</a></li> <li id="footer-places-mobileview"><a href="//fr.m.wikipedia.org/w/index.php?title=Prolog&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Version mobile</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-74cc59cb9d-cnqvt","wgBackendResponseTime":189,"wgPageParseReport":{"limitreport":{"cputime":"0.265","walltime":"0.346","ppvisitednodes":{"value":2769,"limit":1000000},"postexpandincludesize":{"value":121366,"limit":2097152},"templateargumentsize":{"value":34596,"limit":2097152},"expansiondepth":{"value":13,"limit":100},"expensivefunctioncount":{"value":6,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":14588,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 226.888 1 -total"," 33.38% 75.744 1 Modèle:Infobox_Langage_de_programmation"," 20.02% 45.423 14 Modèle:Wikidata"," 14.87% 33.739 2 Modèle:Infobox/Image_optionnelle"," 13.56% 30.770 1 Modèle:Voir_homonymes"," 13.03% 29.557 1 Modèle:Méta_bandeau_de_note"," 12.55% 28.484 1 Modèle:Méta_bandeau"," 11.79% 26.753 1 Modèle:Références"," 10.26% 23.287 1 Modèle:Portail"," 9.77% 22.167 1 Modèle:Palette"]},"scribunto":{"limitreport-timeusage":{"value":"0.079","limit":"10.000"},"limitreport-memusage":{"value":3881738,"limit":52428800}},"cachereport":{"origin":"mw-api-int.codfw.main-646d5c5fc6-t5qwm","timestamp":"20241128092153","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Prolog","url":"https:\/\/fr.wikipedia.org\/wiki\/Prolog","sameAs":"http:\/\/www.wikidata.org\/entity\/Q163468","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q163468","author":{"@type":"Organization","name":"Contributeurs aux projets Wikimedia"},"publisher":{"@type":"Organization","name":"Fondation Wikimedia, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2004-06-25T22:48:14Z","dateModified":"2024-08-07T07:38:11Z","headline":"langage de programmation"}</script> </body> </html>