CINXE.COM

Turing machine - Wikipedia

<!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="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Turing machine - Wikipedia</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(/(?:^|; )enwikimwclientpreferences=([^;]+)/);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":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"d05a5467-88cf-4f92-a086-bcb0028ea7a1","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Turing_machine","wgTitle":"Turing machine","wgCurRevisionId":1256476561,"wgRevisionId":1256476561,"wgArticleId":30403,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","All articles with unsourced statements","Articles with unsourced statements from December 2021","Wikipedia references cleanup from November 2019","All articles needing references cleanup","Articles covered by WikiProject Wikify from November 2019","All articles covered by WikiProject Wikify","Webarchive template wayback links","Commons category link is on Wikidata","Turing machine","1936 in computing", "1937 in computing","Educational abstract machines","Theoretical computer science","Alan Turing","Models of computation","Formal methods","Computability theory","English inventions","Automata (computation)","Formal languages","Abstract machines"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Turing_machine","wgRelevantArticleId":30403,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":70000, "wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q163310","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.imagemap.styles":"ready","ext.cite.styles":"ready","ext.math.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles": "ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.imagemap","ext.cite.ux-enhancements","mediawiki.page.media","ext.scribunto.logs","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","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=en&amp;modules=ext.cite.styles%7Cext.imagemap.styles%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <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 property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Turing_Machine_Model_Davey_2012.jpg/1200px-Turing_Machine_Model_Davey_2012.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="800"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Turing_Machine_Model_Davey_2012.jpg/800px-Turing_Machine_Model_Davey_2012.jpg"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="533"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Turing_Machine_Model_Davey_2012.jpg/640px-Turing_Machine_Model_Davey_2012.jpg"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="427"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Turing machine - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Turing_machine"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Turing_machine&amp;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="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Turing_machine"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;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-Turing_machine rootpage-Turing_machine skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</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="Main menu" > <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">Main menu</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">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</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/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" 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="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; 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/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</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="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <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="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <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="Appearance" > <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">Appearance</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="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</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=Special:CreateAccount&amp;returnto=Turing+machine" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</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=Special:UserLogin&amp;returnto=Turing+machine" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</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="Log in and more 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="Personal tools" > <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">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <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="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Turing+machine" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Turing+machine" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</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 for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</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/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</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="Contents" 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">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</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">(Top)</div> </a> </li> <li id="toc-Overview" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Overview"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Overview</span> </div> </a> <button aria-controls="toc-Overview-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>Toggle Overview subsection</span> </button> <ul id="toc-Overview-sublist" class="vector-toc-list"> <li id="toc-Physical_description" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Physical_description"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Physical description</span> </div> </a> <ul id="toc-Physical_description-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Description" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Description"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Description</span> </div> </a> <ul id="toc-Description-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Formal_definition" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Formal_definition"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Formal definition</span> </div> </a> <ul id="toc-Formal_definition-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Additional_details_required_to_visualise_or_implement_Turing_machines" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Additional_details_required_to_visualise_or_implement_Turing_machines"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Additional details required to visualise or implement Turing machines</span> </div> </a> <button aria-controls="toc-Additional_details_required_to_visualise_or_implement_Turing_machines-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>Toggle Additional details required to visualise or implement Turing machines subsection</span> </button> <ul id="toc-Additional_details_required_to_visualise_or_implement_Turing_machines-sublist" class="vector-toc-list"> <li id="toc-Alternative_definitions" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Alternative_definitions"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Alternative definitions</span> </div> </a> <ul id="toc-Alternative_definitions-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-The_&quot;state&quot;" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#The_&quot;state&quot;"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>The "state"</span> </div> </a> <ul id="toc-The_&quot;state&quot;-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-&quot;State&quot;_diagrams" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#&quot;State&quot;_diagrams"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.3</span> <span>"State" diagrams</span> </div> </a> <ul id="toc-&quot;State&quot;_diagrams-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Equivalent_models" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Equivalent_models"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Equivalent models</span> </div> </a> <ul id="toc-Equivalent_models-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Choice_c-machines,_oracle_o-machines" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Choice_c-machines,_oracle_o-machines"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Choice c-machines, oracle o-machines</span> </div> </a> <ul id="toc-Choice_c-machines,_oracle_o-machines-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Universal_Turing_machines" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Universal_Turing_machines"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Universal Turing machines</span> </div> </a> <ul id="toc-Universal_Turing_machines-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Comparison_with_real_machines" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Comparison_with_real_machines"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Comparison with real machines</span> </div> </a> <button aria-controls="toc-Comparison_with_real_machines-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>Toggle Comparison with real machines subsection</span> </button> <ul id="toc-Comparison_with_real_machines-sublist" class="vector-toc-list"> <li id="toc-Limitations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Limitations"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Limitations</span> </div> </a> <ul id="toc-Limitations-sublist" class="vector-toc-list"> <li id="toc-Computational_complexity_theory" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Computational_complexity_theory"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1.1</span> <span>Computational complexity theory</span> </div> </a> <ul id="toc-Computational_complexity_theory-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Interaction" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Interaction"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1.2</span> <span>Interaction</span> </div> </a> <ul id="toc-Interaction-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Comparison_with_the_arithmetic_model_of_computation" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Comparison_with_the_arithmetic_model_of_computation"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Comparison with the arithmetic model of computation</span> </div> </a> <ul id="toc-Comparison_with_the_arithmetic_model_of_computation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>History</span> </div> </a> <button aria-controls="toc-History-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>Toggle History subsection</span> </button> <ul id="toc-History-sublist" class="vector-toc-list"> <li id="toc-Historical_background:_computational_machinery" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Historical_background:_computational_machinery"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.1</span> <span>Historical background: computational machinery</span> </div> </a> <ul id="toc-Historical_background:_computational_machinery-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-The_Entscheidungsproblem_(the_&quot;decision_problem&quot;):_Hilbert&#039;s_tenth_question_of_1900" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#The_Entscheidungsproblem_(the_&quot;decision_problem&quot;):_Hilbert&#039;s_tenth_question_of_1900"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.2</span> <span>The Entscheidungsproblem (the "decision problem"): Hilbert's tenth question of 1900</span> </div> </a> <ul id="toc-The_Entscheidungsproblem_(the_&quot;decision_problem&quot;):_Hilbert&#039;s_tenth_question_of_1900-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Alan_Turing&#039;s_a-machine" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Alan_Turing&#039;s_a-machine"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.3</span> <span>Alan Turing's a-machine</span> </div> </a> <ul id="toc-Alan_Turing&#039;s_a-machine-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-1937–1970:_The_&quot;digital_computer&quot;,_the_birth_of_&quot;computer_science&quot;" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#1937–1970:_The_&quot;digital_computer&quot;,_the_birth_of_&quot;computer_science&quot;"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.4</span> <span>1937–1970: The "digital computer", the birth of "computer science"</span> </div> </a> <ul id="toc-1937–1970:_The_&quot;digital_computer&quot;,_the_birth_of_&quot;computer_science&quot;-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-1970–present:_as_a_model_of_computation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#1970–present:_as_a_model_of_computation"> <div class="vector-toc-text"> <span class="vector-toc-numb">10.5</span> <span>1970–present: as a model of computation</span> </div> </a> <ul id="toc-1970–present:_as_a_model_of_computation-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">13</span> <span>References</span> </div> </a> <button aria-controls="toc-References-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>Toggle References subsection</span> </button> <ul id="toc-References-sublist" class="vector-toc-list"> <li id="toc-Primary_literature,_reprints,_and_compilations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Primary_literature,_reprints,_and_compilations"> <div class="vector-toc-text"> <span class="vector-toc-numb">13.1</span> <span>Primary literature, reprints, and compilations</span> </div> </a> <ul id="toc-Primary_literature,_reprints,_and_compilations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Computability_theory" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Computability_theory"> <div class="vector-toc-text"> <span class="vector-toc-numb">13.2</span> <span>Computability theory</span> </div> </a> <ul id="toc-Computability_theory-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Church&#039;s_thesis" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Church&#039;s_thesis"> <div class="vector-toc-text"> <span class="vector-toc-numb">13.3</span> <span>Church's thesis</span> </div> </a> <ul id="toc-Church&#039;s_thesis-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Small_Turing_machines" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Small_Turing_machines"> <div class="vector-toc-text"> <span class="vector-toc-numb">13.4</span> <span>Small Turing machines</span> </div> </a> <ul id="toc-Small_Turing_machines-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Other" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Other"> <div class="vector-toc-text"> <span class="vector-toc-numb">13.5</span> <span>Other</span> </div> </a> <ul id="toc-Other-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">14</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </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="Contents" 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="Toggle the table of contents" > <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">Toggle the table of contents</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">Turing machine</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="Go to an article in another language. Available in 66 languages" > <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-66" 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">66 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-als mw-list-item"><a href="https://als.wikipedia.org/wiki/Turingmaschine" title="Turingmaschine – Alemannic" lang="gsw" hreflang="gsw" data-title="Turingmaschine" data-language-autonym="Alemannisch" data-language-local-name="Alemannic" class="interlanguage-link-target"><span>Alemannisch</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%A2%D9%84%D8%A9_%D8%AA%D9%88%D8%B1%D9%86%D8%BA" title="آلة تورنغ – Arabic" lang="ar" hreflang="ar" data-title="آلة تورنغ" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/Turing_ki-h%C3%A2i" title="Turing ki-hâi – Minnan" lang="nan" hreflang="nan" data-title="Turing ki-hâi" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Minnan" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D1%8B%D0%BD%D0%B0_%D0%A6%D1%8C%D1%8E%D1%80%D1%8B%D0%BD%D0%B3%D0%B0" title="Машына Цьюрынга – Belarusian" lang="be" hreflang="be" data-title="Машына Цьюрынга" data-language-autonym="Беларуская" data-language-local-name="Belarusian" class="interlanguage-link-target"><span>Беларуская</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D1%8B%D0%BD%D0%B0_%D0%A2%E2%80%99%D1%8E%D1%80%D1%8B%D0%BD%D0%B3%D0%B0" title="Машына Т’юрынга – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Машына Т’юрынга" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" 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%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%BD%D0%B0_%D0%A2%D1%8E%D1%80%D0%B8%D0%BD%D0%B3" title="Машина на Тюринг – Bulgarian" lang="bg" hreflang="bg" data-title="Машина на Тюринг" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Turingova_ma%C5%A1ina" title="Turingova mašina – Bosnian" lang="bs" hreflang="bs" data-title="Turingova mašina" data-language-autonym="Bosanski" data-language-local-name="Bosnian" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/M%C3%A0quina_de_Turing" title="Màquina de Turing – Catalan" lang="ca" hreflang="ca" data-title="Màquina de Turing" 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/Turing%C5%AFv_stroj" title="Turingův stroj – Czech" lang="cs" hreflang="cs" data-title="Turingův stroj" data-language-autonym="Čeština" data-language-local-name="Czech" 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/Turingmaskine" title="Turingmaskine – Danish" lang="da" hreflang="da" data-title="Turingmaskine" data-language-autonym="Dansk" data-language-local-name="Danish" 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/Turingmaschine" title="Turingmaschine – German" lang="de" hreflang="de" data-title="Turingmaschine" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Turingi_masin" title="Turingi masin – Estonian" lang="et" hreflang="et" data-title="Turingi masin" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/%CE%9C%CE%B7%CF%87%CE%B1%CE%BD%CE%AE_%CE%A4%CE%BF%CF%8D%CF%81%CE%B9%CE%BD%CE%B3%CE%BA" title="Μηχανή Τούρινγκ – Greek" lang="el" hreflang="el" data-title="Μηχανή Τούρινγκ" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/M%C3%A1quina_de_Turing" title="Máquina de Turing – Spanish" lang="es" hreflang="es" data-title="Máquina de Turing" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Ma%C5%9Dino_de_Turing" title="Maŝino de Turing – Esperanto" lang="eo" hreflang="eo" data-title="Maŝino de Turing" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Turingen_makina" title="Turingen makina – Basque" lang="eu" hreflang="eu" data-title="Turingen makina" 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%85%D8%A7%D8%B4%DB%8C%D9%86_%D8%AA%D9%88%D8%B1%DB%8C%D9%86%DA%AF" title="ماشین تورینگ – Persian" lang="fa" hreflang="fa" data-title="ماشین تورینگ" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Machine_de_Turing" title="Machine de Turing – French" lang="fr" hreflang="fr" data-title="Machine de Turing" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-fur mw-list-item"><a href="https://fur.wikipedia.org/wiki/Machine_di_Turing" title="Machine di Turing – Friulian" lang="fur" hreflang="fur" data-title="Machine di Turing" data-language-autonym="Furlan" data-language-local-name="Friulian" class="interlanguage-link-target"><span>Furlan</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Meais%C3%ADn_Turing" title="Meaisín Turing – Irish" lang="ga" hreflang="ga" data-title="Meaisín Turing" data-language-autonym="Gaeilge" data-language-local-name="Irish" 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/M%C3%A1quina_de_Turing" title="Máquina de Turing – Galician" lang="gl" hreflang="gl" data-title="Máquina de Turing" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-ki mw-list-item"><a href="https://ki.wikipedia.org/wiki/Macini_ya_Turing" title="Macini ya Turing – Kikuyu" lang="ki" hreflang="ki" data-title="Macini ya Turing" data-language-autonym="Gĩkũyũ" data-language-local-name="Kikuyu" class="interlanguage-link-target"><span>Gĩkũyũ</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%ED%8A%9C%EB%A7%81_%EA%B8%B0%EA%B3%84" title="튜링 기계 – Korean" lang="ko" hreflang="ko" data-title="튜링 기계" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/%D4%B9%D5%B5%D5%B8%D6%82%D6%80%D5%AB%D5%B6%D5%A3%D5%AB_%D5%B4%D5%A5%D6%84%D5%A5%D5%B6%D5%A1" title="Թյուրինգի մեքենա – Armenian" lang="hy" hreflang="hy" data-title="Թյուրինգի մեքենա" data-language-autonym="Հայերեն" data-language-local-name="Armenian" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Turingov_stroj" title="Turingov stroj – Croatian" lang="hr" hreflang="hr" data-title="Turingov stroj" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Mashino_di_Turing" title="Mashino di Turing – Ido" lang="io" hreflang="io" data-title="Mashino di Turing" data-language-autonym="Ido" data-language-local-name="Ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Mesin_Turing" title="Mesin Turing – Indonesian" lang="id" hreflang="id" data-title="Mesin Turing" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/Machina_de_Turing" title="Machina de Turing – Interlingua" lang="ia" hreflang="ia" data-title="Machina de Turing" data-language-autonym="Interlingua" data-language-local-name="Interlingua" class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Macchina_di_Turing" title="Macchina di Turing – Italian" lang="it" hreflang="it" data-title="Macchina di Turing" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%9E%D7%9B%D7%95%D7%A0%D7%AA_%D7%98%D7%99%D7%95%D7%A8%D7%99%D7%A0%D7%92" title="מכונת טיורינג – Hebrew" lang="he" hreflang="he" data-title="מכונת טיורינג" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/%E1%83%A2%E1%83%A3%E1%83%A0%E1%83%98%E1%83%9C%E1%83%92%E1%83%98%E1%83%A1_%E1%83%9B%E1%83%90%E1%83%9C%E1%83%A5%E1%83%90%E1%83%9C%E1%83%90" title="ტურინგის მანქანა – Georgian" lang="ka" hreflang="ka" data-title="ტურინგის მანქანა" data-language-autonym="ქართული" data-language-local-name="Georgian" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-la mw-list-item"><a href="https://la.wikipedia.org/wiki/Machina_Turing" title="Machina Turing – Latin" lang="la" hreflang="la" data-title="Machina Turing" data-language-autonym="Latina" data-language-local-name="Latin" class="interlanguage-link-target"><span>Latina</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Tj%C5%ABringa_ma%C5%A1%C4%ABna" title="Tjūringa mašīna – Latvian" lang="lv" hreflang="lv" data-title="Tjūringa mašīna" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-lb mw-list-item"><a href="https://lb.wikipedia.org/wiki/Turingmaschinn" title="Turingmaschinn – Luxembourgish" lang="lb" hreflang="lb" data-title="Turingmaschinn" data-language-autonym="Lëtzebuergesch" data-language-local-name="Luxembourgish" class="interlanguage-link-target"><span>Lëtzebuergesch</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Tiuringo_ma%C5%A1ina" title="Tiuringo mašina – Lithuanian" lang="lt" hreflang="lt" data-title="Tiuringo mašina" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-lmo mw-list-item"><a href="https://lmo.wikipedia.org/wiki/Macchina_del_Turing" title="Macchina del Turing – Lombard" lang="lmo" hreflang="lmo" data-title="Macchina del Turing" data-language-autonym="Lombard" data-language-local-name="Lombard" class="interlanguage-link-target"><span>Lombard</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Turing-g%C3%A9p" title="Turing-gép – Hungarian" lang="hu" hreflang="hu" data-title="Turing-gép" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%A2%D1%98%D1%83%D1%80%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D0%B0_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0" title="Тјурингова машина – Macedonian" lang="mk" hreflang="mk" data-title="Тјурингова машина" data-language-autonym="Македонски" data-language-local-name="Macedonian" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%9F%E0%B5%82%E0%B4%B1%E0%B4%BF%E0%B4%99%E0%B5%8D_%E0%B4%AE%E0%B5%86%E0%B4%B7%E0%B5%80%E0%B5%BB" title="ടൂറിങ് മെഷീൻ – Malayalam" lang="ml" hreflang="ml" data-title="ടൂറിങ് മെഷീൻ" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mwl mw-list-item"><a href="https://mwl.wikipedia.org/wiki/M%C3%A1quina_de_Turing" title="Máquina de Turing – Mirandese" lang="mwl" hreflang="mwl" data-title="Máquina de Turing" data-language-autonym="Mirandés" data-language-local-name="Mirandese" class="interlanguage-link-target"><span>Mirandés</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Turingmachine" title="Turingmachine – Dutch" lang="nl" hreflang="nl" data-title="Turingmachine" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%9E%E3%82%B7%E3%83%B3" title="チューリングマシン – Japanese" lang="ja" hreflang="ja" data-title="チューリングマシン" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Turingmaskin" title="Turingmaskin – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Turingmaskin" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Turingmaskin" title="Turingmaskin – Norwegian Nynorsk" lang="nn" hreflang="nn" data-title="Turingmaskin" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegian Nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-oc mw-list-item"><a href="https://oc.wikipedia.org/wiki/Maquina_de_Turing" title="Maquina de Turing – Occitan" lang="oc" hreflang="oc" data-title="Maquina de Turing" data-language-autonym="Occitan" data-language-local-name="Occitan" class="interlanguage-link-target"><span>Occitan</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Maszyna_Turinga" title="Maszyna Turinga – Polish" lang="pl" hreflang="pl" data-title="Maszyna Turinga" data-language-autonym="Polski" data-language-local-name="Polish" 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/M%C3%A1quina_de_Turing" title="Máquina de Turing – Portuguese" lang="pt" hreflang="pt" data-title="Máquina de Turing" data-language-autonym="Português" data-language-local-name="Portuguese" 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/Ma%C8%99in%C4%83_Turing" title="Mașină Turing – Romanian" lang="ro" hreflang="ro" data-title="Mașină Turing" data-language-autonym="Română" data-language-local-name="Romanian" 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%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0" title="Машина Тьюринга – Russian" lang="ru" hreflang="ru" data-title="Машина Тьюринга" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Makina_Turing" title="Makina Turing – Albanian" lang="sq" hreflang="sq" data-title="Makina Turing" data-language-autonym="Shqip" data-language-local-name="Albanian" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Turing_machine" title="Turing machine – Simple English" lang="en-simple" hreflang="en-simple" data-title="Turing machine" 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/Turingov_stroj" title="Turingov stroj – Slovak" lang="sk" hreflang="sk" data-title="Turingov stroj" data-language-autonym="Slovenčina" data-language-local-name="Slovak" 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/Turingov_stroj" title="Turingov stroj – Slovenian" lang="sl" hreflang="sl" data-title="Turingov stroj" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%D9%85%DB%95%DA%A9%DB%8C%D9%86%DB%95%DB%8C_%D8%AA%DB%8C%D9%88%D8%B1%DB%8C%D9%86%DA%AF" title="مەکینەی تیورینگ – Central Kurdish" lang="ckb" hreflang="ckb" data-title="مەکینەی تیورینگ" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A2%D1%98%D1%83%D1%80%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D0%B0_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0" title="Тјурингова машина – Serbian" lang="sr" hreflang="sr" data-title="Тјурингова машина" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Turingov_stroj" title="Turingov stroj – Serbo-Croatian" lang="sh" hreflang="sh" data-title="Turingov stroj" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Serbo-Croatian" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Turingin_kone" title="Turingin kone – Finnish" lang="fi" hreflang="fi" data-title="Turingin kone" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Turingmaskin" title="Turingmaskin – Swedish" lang="sv" hreflang="sv" data-title="Turingmaskin" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-tl mw-list-item"><a href="https://tl.wikipedia.org/wiki/Makinang_Turing" title="Makinang Turing – Tagalog" lang="tl" hreflang="tl" data-title="Makinang Turing" data-language-autonym="Tagalog" data-language-local-name="Tagalog" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B8%97%E0%B8%B1%E0%B8%A7%E0%B8%A3%E0%B8%B4%E0%B8%87" title="เครื่องทัวริง – Thai" lang="th" hreflang="th" data-title="เครื่องทัวริง" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Turing_makinesi" title="Turing makinesi – Turkish" lang="tr" hreflang="tr" data-title="Turing makinesi" data-language-autonym="Türkçe" data-language-local-name="Turkish" 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%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8E%D1%80%D1%96%D0%BD%D0%B3%D0%B0" title="Машина Тюрінга – Ukrainian" lang="uk" hreflang="uk" data-title="Машина Тюрінга" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%A1y_Turing" title="Máy Turing – Vietnamese" lang="vi" hreflang="vi" data-title="Máy Turing" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a href="https://wuu.wikipedia.org/wiki/%E5%9B%BE%E7%81%B5%E6%9C%BA" title="图灵机 – Wu" lang="wuu" hreflang="wuu" data-title="图灵机" data-language-autonym="吴语" data-language-local-name="Wu" 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/%E5%9C%96%E9%9D%88%E6%A9%9F" title="圖靈機 – Cantonese" lang="yue" hreflang="yue" data-title="圖靈機" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E5%9B%BE%E7%81%B5%E6%9C%BA" title="图灵机 – Chinese" lang="zh" hreflang="zh" data-title="图灵机" data-language-autonym="中文" data-language-local-name="Chinese" 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/Q163310#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</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="Namespaces"> <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/Turing_machine" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Turing_machine" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</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="Change language variant" > <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">English</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="Views"> <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/Turing_machine"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Turing_machine&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Turing_machine&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <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="Tools" > <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">Tools</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">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More 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/Turing_machine"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Turing_machine&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Turing_machine&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Turing_machine" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Turing_machine" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Turing_machine&amp;oldid=1256476561" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Turing_machine&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Turing_machine&amp;id=1256476561&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTuring_machine"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FTuring_machine"><span>Download QR code</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"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Turing_machine&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Turing_machine&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</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"> In other projects </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/Turing_Machine" 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/Q163310" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</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="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <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">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</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">From Wikipedia, the free encyclopedia</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="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Computation model defining an abstract machine</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">For other uses, see <a href="/wiki/Turing_machine_(disambiguation)" class="mw-disambig" title="Turing machine (disambiguation)">Turing machine (disambiguation)</a>.</div> <figure typeof="mw:File/Thumb"><a href="/wiki/File:Turing_Machine_Model_Davey_2012.jpg" class="mw-file-description"><img alt="A physical Turing machine constructed by Mike Davey" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/03/Turing_Machine_Model_Davey_2012.jpg/300px-Turing_Machine_Model_Davey_2012.jpg" decoding="async" width="300" height="200" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/03/Turing_Machine_Model_Davey_2012.jpg/450px-Turing_Machine_Model_Davey_2012.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/03/Turing_Machine_Model_Davey_2012.jpg/600px-Turing_Machine_Model_Davey_2012.jpg 2x" data-file-width="5066" data-file-height="3377" /></a><figcaption>A physical Turing machine model. A true Turing machine would have unlimited tape on both sides; however, physical models can only have a finite amount of tape.</figcaption></figure> <style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style><style data-mw-deduplicate="TemplateStyles:r1246091330">.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}</style><table class="sidebar nomobile nowraplinks"><tbody><tr><th class="sidebar-title"><a class="mw-selflink selflink">Turing machines</a></th></tr><tr><th class="sidebar-heading" style="background:#ddddff;"> Machine</th></tr><tr><td class="sidebar-content plainlist"> <ul><li><a href="/wiki/Turing_machine_equivalents" title="Turing machine equivalents">Turing machine equivalents</a></li> <li><a href="/wiki/Turing_machine_examples" title="Turing machine examples">Turing machine examples</a></li></ul></td> </tr><tr><th class="sidebar-heading" style="background:#ddddff;"> Variants</th></tr><tr><td class="sidebar-content plainlist"> <ul><li><a href="/wiki/Alternating_Turing_machine" title="Alternating Turing machine">Alternating Turing machine</a></li> <li><a href="/wiki/Neural_Turing_machine" title="Neural Turing machine">Neural Turing machine</a></li> <li><a href="/wiki/Nondeterministic_Turing_machine" title="Nondeterministic Turing machine">Nondeterministic Turing machine</a></li> <li><a href="/wiki/Quantum_Turing_machine" title="Quantum Turing machine">Quantum Turing machine</a></li> <li><a href="/wiki/Post%E2%80%93Turing_machine" title="Post–Turing machine">Post–Turing machine</a></li> <li><a href="/wiki/Probabilistic_Turing_machine" title="Probabilistic Turing machine">Probabilistic Turing machine</a></li> <li><a href="/wiki/Multitape_Turing_machine" title="Multitape Turing machine">Multitape Turing machine</a></li> <li><a href="/wiki/Multi-track_Turing_machine" title="Multi-track Turing machine">Multi-track Turing machine</a></li> <li><a href="/wiki/Symmetric_Turing_machine" title="Symmetric Turing machine">Symmetric Turing machine</a></li> <li><a href="/wiki/Decider_(Turing_machine)" title="Decider (Turing machine)">Total Turing machine</a></li> <li><a href="/wiki/Unambiguous_Turing_machine" title="Unambiguous Turing machine">Unambiguous Turing machine</a></li> <li><a href="/wiki/Universal_Turing_machine" title="Universal Turing machine">Universal Turing machine</a></li> <li><a href="/wiki/Zeno_machine" title="Zeno machine">Zeno machine</a></li></ul></td> </tr><tr><th class="sidebar-heading" style="background:#ddddff;"> Science</th></tr><tr><td class="sidebar-content plainlist"> <ul><li><a href="/wiki/Alan_Turing" title="Alan Turing">Alan Turing</a></li> <li><a href="/wiki/Category:Turing_machine" title="Category:Turing machine">Category:Turing machine</a></li></ul></td> </tr><tr><td class="sidebar-navbar"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Turing" title="Template:Turing"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Turing" title="Template talk:Turing"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Turing" title="Special:EditPage/Template:Turing"><abbr title="Edit this template">e</abbr></a></li></ul></div></td></tr></tbody></table> <div class="thumb tright" style=""><div class="thumbinner" style="width:302px"><div class="thumbimage noresize" style="width:300px;"> <figure class="noresize mw-ext-imagemap-desc-top-right" typeof="mw:File"><span><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Automata_theory.svg/300px-Automata_theory.svg.png" decoding="async" width="300" height="225" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Automata_theory.svg/450px-Automata_theory.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Automata_theory.svg/600px-Automata_theory.svg.png 2x" data-file-width="800" data-file-height="600" usemap="#ImageMap_f881d23f9d31905a" resource="/wiki/File:Automata_theory.svg" /></span><map name="ImageMap_f881d23f9d31905a"><area href="/wiki/Combinational_logic" shape="rect" coords="101,75,255,124" alt="Combinational logic" title="Combinational logic" /><area href="/wiki/Finite-state_machine" shape="rect" coords="71,68,266,154" alt="Finite-state machine" title="Finite-state machine" /><area href="/wiki/Pushdown_automaton" shape="rect" coords="41,60,278,184" alt="Pushdown automaton" title="Pushdown automaton" /><area href="/wiki/Turing_machine" shape="rect" coords="11,53,289,214" alt="Turing machine" title="Turing machine" /><area href="/wiki/Automata_theory" shape="rect" coords="4,4,296,49" alt="Automata theory" title="Automata theory" /></map><figcaption></figcaption></figure></div><div class="thumbcaption">Classes of automata <div class="noprint"><span style="font-size:85%;">(Clicking on each layer gets an article on that subject)</span></div></div></div></div> <p>A <b>Turing machine</b> is a <a href="/wiki/Mathematical_model_of_computation" class="mw-redirect" title="Mathematical model of computation">mathematical model of computation</a> describing an <a href="/wiki/Abstract_machine" title="Abstract machine">abstract machine</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> that manipulates symbols on a strip of tape according to a table of rules.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> Despite the model's simplicity, it is capable of implementing any <a href="/wiki/Computer_algorithm" class="mw-redirect" title="Computer algorithm">computer algorithm</a>.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> </p><p>The machine operates on an infinite<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> memory tape divided into <a href="/wiki/Discrete_mathematics" title="Discrete mathematics">discrete</a> cells,<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> each of which can hold a single symbol drawn from a <a href="/wiki/Finite_set" title="Finite set">finite set</a> of symbols called the <a href="/wiki/Alphabet_(formal_languages)" title="Alphabet (formal languages)">alphabet</a> of the machine. It has a "head" that, at any point in the machine's operation, is positioned over one of these cells, and a "state" selected from a finite set of states. At each step of its operation, the head reads the symbol in its cell. Then, based on the symbol and the machine's own present state, the machine writes a symbol into the same cell, and moves the head one step to the left or the right,<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> or halts the computation. The choice of which replacement symbol to write, which direction to move the head, and whether to halt is based on a finite table that specifies what to do for each combination of the current state and the symbol that is read. Like a real computer program, it is possible for a Turing machine to go into an <a href="/wiki/Infinite_loop" title="Infinite loop">infinite loop</a> which will never halt. </p><p>The Turing machine was invented in 1936 by <a href="/wiki/Alan_Turing" title="Alan Turing">Alan Turing</a>,<sup id="cite_ref-Hodges-2012_7-0" class="reference"><a href="#cite_note-Hodges-2012-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> who called it an "a-machine" (automatic machine).<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> It was Turing's doctoral advisor, <a href="/wiki/Alonzo_Church" title="Alonzo Church">Alonzo Church</a>, who later coined the term "Turing machine" in a review.<sup id="cite_ref-mitpress.mit.edu_10-0" class="reference"><a href="#cite_note-mitpress.mit.edu-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> With this model, Turing was able to answer two questions in the negative: </p> <ul><li>Does a machine exist that can determine whether any arbitrary machine on its tape is "circular" (e.g., freezes, or fails to continue its computational task)?</li> <li>Does a machine exist that can determine whether any arbitrary machine on its tape ever prints a given symbol?<sup id="cite_ref-The_Undecidable&#39;_page_119_11-0" class="reference"><a href="#cite_note-The_Undecidable&#39;_page_119-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-Turing_1937_230–265_12-0" class="reference"><a href="#cite_note-Turing_1937_230–265-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>Thus by providing a mathematical description of a very simple device capable of arbitrary computations, he was able to prove properties of computation in general—and in particular, the <a href="/wiki/Computability" title="Computability">uncomputability</a> of the <i><a href="/wiki/Entscheidungsproblem" title="Entscheidungsproblem">Entscheidungsproblem</a></i> ('decision problem').<sup id="cite_ref-ReferenceA_13-0" class="reference"><a href="#cite_note-ReferenceA-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> </p><p>Turing machines proved the existence of fundamental limitations on the power of mechanical computation.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> While they can express arbitrary computations, their minimalist design makes them too slow for computation in practice: real-world <a href="/wiki/Computer" title="Computer">computers</a> are based on different designs that, unlike Turing machines, use <a href="/wiki/Random-access_memory" title="Random-access memory">random-access memory</a>. </p><p><a href="/wiki/Turing_completeness" title="Turing completeness">Turing completeness</a> is the ability for a <a href="/wiki/Computational_model" title="Computational model">computational model</a> or a system of instructions to simulate a Turing machine. A programming language that is Turing complete is theoretically capable of expressing all tasks accomplishable by computers; nearly all programming languages are Turing complete if the limitations of finite memory are ignored. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Overview">Overview</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=1" title="Edit section: Overview"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A Turing machine is an idealised model of a <a href="/wiki/Central_processing_unit" title="Central processing unit">central processing unit</a> (CPU) that controls all data manipulation done by a computer, with the canonical machine using sequential memory to store data. Typically, the sequential memory is represented as a tape of infinite length on which the machine can perform read and write operations. </p><p>In the context of <a href="/wiki/Formal_language" title="Formal language">formal language</a> theory, a Turing machine (<a href="/wiki/Automaton" title="Automaton">automaton</a>) is capable of <a href="/wiki/Enumeration" title="Enumeration">enumerating</a> some arbitrary subset of valid strings of an <a href="/wiki/Alphabet_(formal_languages)" title="Alphabet (formal languages)">alphabet</a>. A set of strings which can be enumerated in this manner is called a <a href="/wiki/Recursively_enumerable_language" title="Recursively enumerable language">recursively enumerable language</a>. The Turing machine can equivalently be defined as a model that recognises valid input strings, rather than enumerating output strings. </p><p>Given a Turing machine <i>M</i> and an arbitrary string <i>s</i>, it is generally not possible to decide whether <i>M</i> will eventually produce <i>s</i>. This is due to the fact that the <a href="/wiki/Halting_problem" title="Halting problem">halting problem</a> is unsolvable, which has major implications for the theoretical limits of computing. </p><p>The Turing machine is capable of processing an <a href="/wiki/Unrestricted_grammar" title="Unrestricted grammar">unrestricted grammar</a>, which further implies that it is capable of robustly evaluating <a href="/wiki/First-order_logic" title="First-order logic">first-order logic</a> in an infinite number of ways. This is famously demonstrated through <a href="/wiki/Lambda_calculus" title="Lambda calculus">lambda calculus</a>. </p><p>A Turing machine that is able to simulate any other Turing machine is called a <a href="/wiki/Universal_Turing_machine" title="Universal Turing machine">universal Turing machine</a> (UTM, or simply a universal machine). Another mathematical formalism, <a href="/wiki/Lambda_calculus" title="Lambda calculus">lambda calculus</a>, with a similar "universal" nature was introduced by <a href="/wiki/Alonzo_Church" title="Alonzo Church">Alonzo Church</a>. Church's work intertwined with Turing's to form the basis for the <a href="/wiki/Church%E2%80%93Turing_thesis" title="Church–Turing thesis">Church–Turing thesis</a>. This thesis states that Turing machines, lambda calculus, and other similar formalisms of <a href="/wiki/Computation" title="Computation">computation</a> do indeed capture the informal notion of <a href="/wiki/Effective_method" title="Effective method">effective methods</a> in <a href="/wiki/Logic" title="Logic">logic</a> and <a href="/wiki/Mathematics" title="Mathematics">mathematics</a> and thus provide a model through which one can reason about an <a href="/wiki/Algorithm" title="Algorithm">algorithm</a> or "mechanical procedure" in a mathematically precise way without being tied to any particular formalism. Studying the <a href="/wiki/Abstract_machine" title="Abstract machine">abstract properties</a> of Turing machines has yielded many insights into <a href="/wiki/Computer_science" title="Computer science">computer science</a>, <a href="/wiki/Computability_theory" title="Computability theory">computability theory</a>, and <a href="/wiki/Computational_complexity_theory" title="Computational complexity theory">complexity theory</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Physical_description">Physical description</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=2" title="Edit section: Physical description"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In his 1948 essay, "Intelligent Machinery", Turing wrote that his machine consists of: </p> <style data-mw-deduplicate="TemplateStyles:r1244412712">.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}</style><blockquote class="templatequote"><p>...an unlimited memory capacity obtained in the form of an infinite tape marked out into squares, on each of which a symbol could be printed. At any moment there is one symbol in the machine; it is called the scanned symbol. The machine can alter the scanned symbol, and its behavior is in part determined by that symbol, but the symbols on the tape elsewhere do not affect the behavior of the machine. However, the tape can be moved back and forth through the machine, this being one of the elementary operations of the machine. Any symbol on the tape may therefore eventually have an innings.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup></p><div class="templatequotecite">—&#8202;<cite>Turing 1948, p. 3<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup></cite></div></blockquote> <div class="mw-heading mw-heading2"><h2 id="Description">Description</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=3" title="Edit section: Description"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">For examples of Turing machines, see <a href="/wiki/Turing_machine_examples" title="Turing machine examples">Turing machine examples</a>.</div> <p>The Turing machine mathematically models a machine that mechanically operates on a tape. On this tape are symbols, which the machine can read and write, one at a time, using a tape head. Operation is fully determined by a finite set of elementary instructions such as "in state 42, if the symbol seen is 0, write a 1; if the symbol seen is 1, change into state 17; in state 17, if the symbol seen is 0, write a 1 and change to state 6;" etc. In the original article ("<a href="/wiki/On_Computable_Numbers,_with_an_Application_to_the_Entscheidungsproblem" class="mw-redirect" title="On Computable Numbers, with an Application to the Entscheidungsproblem">On Computable Numbers, with an Application to the Entscheidungsproblem</a>", see also <a href="#The_Entscheidungsproblem_(the_&quot;decision_problem&quot;):_Hilbert&#39;s_tenth_question_of_1900">references below</a>), Turing imagines not a mechanism, but a person whom he calls the "computer", who executes these deterministic mechanical rules slavishly (or as Turing puts it, "in a desultory manner"). </p> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Turing_machine_2a.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/0/09/Turing_machine_2a.svg/300px-Turing_machine_2a.svg.png" decoding="async" width="300" height="55" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/09/Turing_machine_2a.svg/450px-Turing_machine_2a.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/09/Turing_machine_2a.svg/600px-Turing_machine_2a.svg.png 2x" data-file-width="550" data-file-height="100" /></a><figcaption>The head is always over a particular square of the tape; only a finite stretch of squares is shown. The state of the machine (q<sub>4</sub>) is shown over the square to be processed. (Drawing after Kleene (1952) p. 375.)</figcaption></figure> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Turing_machine_2b.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Turing_machine_2b.svg/300px-Turing_machine_2b.svg.png" decoding="async" width="300" height="71" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Turing_machine_2b.svg/450px-Turing_machine_2b.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Turing_machine_2b.svg/600px-Turing_machine_2b.svg.png 2x" data-file-width="550" data-file-height="130" /></a><figcaption>Here, the internal state (q<sub>1</sub>) is shown inside the head, and the illustration describes the tape as being infinite and pre-filled with "0", the symbol serving as blank. The system's full state (its "complete configuration") consists of the internal state, any non-blank symbols on the tape (in this illustration "11B"), and the position of the head relative to those symbols including blanks, i.e. "011B". (Drawing after Minsky (1967) p. 121.)</figcaption></figure> <p>More explicitly, a Turing machine consists of: </p> <ul><li>A <i>tape</i> divided into cells, one next to the other. Each cell contains a symbol from some finite alphabet. The alphabet contains a special blank symbol (here written as '0') and one or more other symbols. The tape is assumed to be arbitrarily extendable to the left and to the right, so that the Turing machine is always supplied with as much tape as it needs for its computation. Cells that have not been written before are assumed to be filled with the blank symbol. In some models the tape has a left end marked with a special symbol; the tape extends or is indefinitely extensible to the right.</li> <li>A <i>head</i> that can read and write symbols on the tape and move the tape left and right one (and only one) cell at a time. In some models the head moves and the tape is stationary.</li> <li>A <i>state register</i> that stores the state of the Turing machine, one of finitely many. Among these is the special <i>start state</i> with which the state register is initialised. These states, writes Turing, replace the "state of mind" a person performing computations would ordinarily be in.</li> <li>A finite <i>table</i><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup> of instructions<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> that, given the <i>state</i>(q<sub>i</sub>) the machine is currently in <i>and</i> the <i>symbol</i>(a<sub>j</sub>) it is reading on the tape (the symbol currently under the head), tells the machine to do the following <i>in sequence</i> (for the 5-<a href="/wiki/Tuple" title="Tuple">tuple</a> models):</li></ul> <ol><li>Either erase or write a symbol (replacing a<sub>j</sub> with a<sub>j1</sub>).</li> <li>Move the head (which is described by d<sub>k</sub> and can have values: 'L' for one step left <i>or</i> 'R' for one step right <i>or</i> 'N' for staying in the same place).</li> <li>Assume the same or a <i>new state</i> as prescribed (go to state q<sub>i1</sub>).</li></ol> <p>In the 4-tuple models, erasing or writing a symbol (a<sub>j1</sub>) and moving the head left or right (d<sub>k</sub>) are specified as separate instructions. The table tells the machine to (ia) erase or write a symbol <i>or</i> (ib) move the head left or right, <i>and then</i> (ii) assume the same or a new state as prescribed, but not both actions (ia) and (ib) in the same instruction. In some models, if there is no entry in the table for the current combination of symbol and state, then the machine will halt; other models require all entries to be filled. </p><p>Every part of the machine (i.e. its state, symbol-collections, and used tape at any given time) and its actions (such as printing, erasing and tape motion) is <i>finite</i>, <i>discrete</i> and <i>distinguishable</i>; it is the unlimited amount of tape and runtime that gives it an unbounded amount of <a href="/wiki/Computer_storage" class="mw-redirect" title="Computer storage">storage space</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Formal_definition">Formal definition</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=4" title="Edit section: Formal definition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Following <a href="#CITEREFHopcroftUllman1979">Hopcroft &amp; Ullman (1979</a>, p.&#160;148), a (one-tape) Turing machine can be formally defined as a 7-<a href="/wiki/Tuple" title="Tuple">tuple</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M=\langle Q,\Gamma ,b,\Sigma ,\delta ,q_{0},F\rangle }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> <mo>=</mo> <mo fence="false" stretchy="false">&#x27E8;<!-- ⟨ --></mo> <mi>Q</mi> <mo>,</mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>,</mo> <mi>b</mi> <mo>,</mo> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo>,</mo> <mi>&#x03B4;<!-- δ --></mi> <mo>,</mo> <msub> <mi>q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>,</mo> <mi>F</mi> <mo fence="false" stretchy="false">&#x27E9;<!-- ⟩ --></mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M=\langle Q,\Gamma ,b,\Sigma ,\delta ,q_{0},F\rangle }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8734c2a9963bd7ee2ba7f71509043fe479f79ec6" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:24.401ex; height:2.843ex;" alt="{\displaystyle M=\langle Q,\Gamma ,b,\Sigma ,\delta ,q_{0},F\rangle }"></span> where </p> <ul><li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4cfde86a3f7ec967af9955d0988592f0693d2b19" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.453ex; height:2.176ex;" alt="{\displaystyle \Gamma }"></span> is a finite, non-empty set of <i>tape alphabet symbols</i>;</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle b\in \Gamma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>b</mi> <mo>&#x2208;<!-- ∈ --></mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle b\in \Gamma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a94b130b695e9ebf9cee136d1f97070bc9ec9079" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.291ex; height:2.176ex;" alt="{\displaystyle b\in \Gamma }"></span> is the <i>blank symbol</i> (the only symbol allowed to occur on the tape infinitely often at any step during the computation);</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Sigma \subseteq \Gamma \setminus \{b\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo>&#x2286;<!-- ⊆ --></mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo class="MJX-variant">&#x2216;<!-- ∖ --></mo> <mo fence="false" stretchy="false">{</mo> <mi>b</mi> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma \subseteq \Gamma \setminus \{b\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a84a25bee52e467e87e9bc61522e8f63eee873c8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.746ex; height:2.843ex;" alt="{\displaystyle \Sigma \subseteq \Gamma \setminus \{b\}}"></span> is the set of <i>input symbols</i>, that is, the set of symbols allowed to appear in the initial tape contents;</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8752c7023b4b3286800fe3238271bbca681219ed" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.838ex; height:2.509ex;" alt="{\displaystyle Q}"></span> is a finite, non-empty set of <i>states</i>;</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle q_{0}\in Q}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>&#x2208;<!-- ∈ --></mo> <mi>Q</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle q_{0}\in Q}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ad0e7ce55cfad982929c93e29139a65108c37263" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.77ex; height:2.509ex;" alt="{\displaystyle q_{0}\in Q}"></span> is the <i>initial state</i>;</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F\subseteq Q}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>F</mi> <mo>&#x2286;<!-- ⊆ --></mo> <mi>Q</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F\subseteq Q}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9ada8f098adcf02f7a674d2a5f2dda5e4917881e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.678ex; height:2.509ex;" alt="{\displaystyle F\subseteq Q}"></span> is the set of <i>final states</i> or <i>accepting states</i>. The initial tape contents is said to be <i>accepted</i> by <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle M}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>M</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle M}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f82cade9898ced02fdd08712e5f0c0151758a0dd" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.442ex; height:2.176ex;" alt="{\displaystyle M}"></span> if it eventually halts in a state from <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>F</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/545fd099af8541605f7ee55f08225526be88ce57" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.741ex; height:2.176ex;" alt="{\displaystyle F}"></span>.</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta :(Q\setminus F)\times \Gamma \not \to Q\times \Gamma \times \{L,R\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B4;<!-- δ --></mi> <mo>:</mo> <mo stretchy="false">(</mo> <mi>Q</mi> <mo class="MJX-variant">&#x2216;<!-- ∖ --></mo> <mi>F</mi> <mo stretchy="false">)</mo> <mo>&#x00D7;<!-- × --></mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>&#x219B;</mo> <mi>Q</mi> <mo>&#x00D7;<!-- × --></mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>&#x00D7;<!-- × --></mo> <mo fence="false" stretchy="false">{</mo> <mi>L</mi> <mo>,</mo> <mi>R</mi> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \delta :(Q\setminus F)\times \Gamma \not \to Q\times \Gamma \times \{L,R\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0497a287f514420f567bf46c5446509b20981109" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:34.154ex; height:2.843ex;" alt="{\displaystyle \delta :(Q\setminus F)\times \Gamma \not \to Q\times \Gamma \times \{L,R\}}"></span> is a <a href="/wiki/Partial_function" title="Partial function">partial function</a> called the <i><a href="/wiki/State_transition_system" class="mw-redirect" title="State transition system">transition function</a></i>, where L is left shift, R is right shift. If <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B4;<!-- δ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \delta }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c5321cfa797202b3e1f8620663ff43c4660ea03a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:2.343ex;" alt="{\displaystyle \delta }"></span> is not defined on the current state and the current tape symbol, then the machine halts;<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> intuitively, the transition function specifies the next state transited from the current state, which symbol to overwrite the current symbol pointed by the head, and the next head movement.</li></ul> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Busy_Beaver_3_State.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/86/Busy_Beaver_3_State.png/220px-Busy_Beaver_3_State.png" decoding="async" width="220" height="464" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/86/Busy_Beaver_3_State.png/330px-Busy_Beaver_3_State.png 1.5x, //upload.wikimedia.org/wikipedia/commons/8/86/Busy_Beaver_3_State.png 2x" data-file-width="369" data-file-height="778" /></a><figcaption>3-state Busy Beaver. Black icons represent location and state of head; square colors represent 1s (orange) and 0s (white); time progresses vertically from the top until the <b>HALT</b> state at the bottom.</figcaption></figure> <p>A relatively uncommon variant allows "no shift", say N, as a third element of the set of directions <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \{L,R\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo fence="false" stretchy="false">{</mo> <mi>L</mi> <mo>,</mo> <mi>R</mi> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \{L,R\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3fa70341e174fc7b92435ef5fd38485289dad2bf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.706ex; height:2.843ex;" alt="{\displaystyle \{L,R\}}"></span>. </p><p>The 7-tuple for the 3-state <a href="/wiki/Busy_beaver" title="Busy beaver">busy beaver</a> looks like this (see more about this busy beaver at <a href="/wiki/Turing_machine_examples" title="Turing machine examples">Turing machine examples</a>): </p> <ul><li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Q=\{{\mbox{A}},{\mbox{B}},{\mbox{C}},{\mbox{HALT}}\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>Q</mi> <mo>=</mo> <mo fence="false" stretchy="false">{</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>A</mtext> </mstyle> </mrow> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>B</mtext> </mstyle> </mrow> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>C</mtext> </mstyle> </mrow> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>HALT</mtext> </mstyle> </mrow> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle Q=\{{\mbox{A}},{\mbox{B}},{\mbox{C}},{\mbox{HALT}}\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ca7841fdbf1c2f798fee70484845123c0d9642c0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:22.047ex; height:2.843ex;" alt="{\displaystyle Q=\{{\mbox{A}},{\mbox{B}},{\mbox{C}},{\mbox{HALT}}\}}"></span> (states);</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma =\{0,1\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>=</mo> <mo fence="false" stretchy="false">{</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma =\{0,1\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a0f6d2eadf3be5de756868fcf5b0dcfa96c1c6ff" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.235ex; height:2.843ex;" alt="{\displaystyle \Gamma =\{0,1\}}"></span> (tape alphabet symbols);</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle b=0}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>b</mi> <mo>=</mo> <mn>0</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle b=0}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/19206e7d4dab695ccb34c502eff0741e98dbdfc2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.258ex; height:2.176ex;" alt="{\displaystyle b=0}"></span> (blank symbol);</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Sigma =\{1\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo>=</mo> <mo fence="false" stretchy="false">{</mo> <mn>1</mn> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma =\{1\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b2bce9d3587125ba3f9e7ff2686a01e620cd65c5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.264ex; height:2.843ex;" alt="{\displaystyle \Sigma =\{1\}}"></span> (input symbols);</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle q_{0}={\mbox{A}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>q</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>A</mtext> </mstyle> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle q_{0}={\mbox{A}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b13943edfd4d3210ae035d57d5b1c93b772ff2cb" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.933ex; height:2.509ex;" alt="{\displaystyle q_{0}={\mbox{A}}}"></span> (initial state);</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F=\{{\mbox{HALT}}\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>F</mi> <mo>=</mo> <mo fence="false" stretchy="false">{</mo> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mtext>HALT</mtext> </mstyle> </mrow> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F=\{{\mbox{HALT}}\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5fdbf4f456dbaeb9e5cc93fd415b514432d71d6d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:13.781ex; height:2.843ex;" alt="{\displaystyle F=\{{\mbox{HALT}}\}}"></span> (final states);</li> <li><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta =}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B4;<!-- δ --></mi> <mo>=</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \delta =}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3e48e3fedfe173df811d73dfd85c37d1df0b707e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.502ex; height:2.343ex;" alt="{\displaystyle \delta =}"></span> see state-table below (transition function).</li></ul> <p>Initially all tape cells are marked with <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mn>0</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 0}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/2aae8864a3c1fec9585261791a809ddec1489950" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.162ex; height:2.176ex;" alt="{\displaystyle 0}"></span>. </p> <table class="wikitable" style="text-align:center"> <caption>State table for 3-state, 2-symbol busy beaver </caption> <tbody><tr> <th rowspan="2">Tape symbol </th> <th colspan="3">Current state A </th> <th colspan="3">Current state B </th> <th colspan="3">Current state C </th></tr> <tr style="font-size:9pt"> <td>Write symbol </td> <td>Move tape </td> <td>Next state </td> <td>Write symbol </td> <td>Move tape </td> <td>Next state </td> <td>Write symbol </td> <td>Move tape </td> <td>Next state </td></tr> <tr> <td>0 </td> <td>1 </td> <td>R </td> <td><b>B</b> </td> <td>1 </td> <td>L </td> <td><b>A</b> </td> <td>1 </td> <td>L </td> <td><b>B</b> </td></tr> <tr> <td>1 </td> <td>1 </td> <td>L </td> <td><b>C</b> </td> <td>1 </td> <td>R </td> <td><b>B</b> </td> <td>1 </td> <td>R </td> <td><b>HALT</b> </td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="Additional_details_required_to_visualise_or_implement_Turing_machines">Additional details required to visualise or implement Turing machines</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=5" title="Edit section: Additional details required to visualise or implement Turing machines"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In the words of van Emde Boas (1990), p.&#160;6: "The set-theoretical object [his formal seven-tuple description similar to the above] provides only partial information on how the machine will behave and what its computations will look like." </p><p>For instance, </p> <ul><li>There will need to be many decisions on what the symbols actually look like, and a failproof way of reading and writing symbols indefinitely.</li> <li>The shift left and shift right operations may shift the tape head across the tape, but when actually building a Turing machine it is more practical to make the tape slide back and forth under the head instead.</li> <li>The tape can be finite, and automatically extended with blanks as needed (which is closest to the mathematical definition), but it is more common to think of it as stretching infinitely at one or both ends and being pre-filled with blanks except on the explicitly given finite fragment the tape head is on (this is, of course, not implementable in practice). The tape <i>cannot</i> be fixed in length, since that would not correspond to the given definition and would seriously limit the range of computations the machine can perform to those of a <a href="/wiki/Linear_bounded_automaton" title="Linear bounded automaton">linear bounded automaton</a> if the tape was proportional to the input size, or <a href="/wiki/Finite-state_machine" title="Finite-state machine">finite-state machine</a> if it was strictly fixed-length.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Alternative_definitions">Alternative definitions</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=6" title="Edit section: Alternative definitions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Definitions in literature sometimes differ slightly, to make arguments or proofs easier or clearer, but this is always done in such a way that the resulting machine has the same computational power. For example, the set could be changed from <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \{L,R\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo fence="false" stretchy="false">{</mo> <mi>L</mi> <mo>,</mo> <mi>R</mi> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \{L,R\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3fa70341e174fc7b92435ef5fd38485289dad2bf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.706ex; height:2.843ex;" alt="{\displaystyle \{L,R\}}"></span> to <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \{L,R,N\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo fence="false" stretchy="false">{</mo> <mi>L</mi> <mo>,</mo> <mi>R</mi> <mo>,</mo> <mi>N</mi> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \{L,R,N\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/06d874f3c83e29f5197d4217954b28a31f29950d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.803ex; height:2.843ex;" alt="{\displaystyle \{L,R,N\}}"></span>, where <i>N</i> ("None" or "No-operation") would allow the machine to stay on the same tape cell instead of moving left or right. This would not increase the machine's computational power. </p><p>The most common convention represents each "Turing instruction" in a "Turing table" by one of nine 5-tuples, per the convention of Turing/Davis (Turing (1936) in <i>The Undecidable</i>, p.&#160;126–127 and Davis (2000) p.&#160;152): </p> <dl><dd>(definition 1): <b>(q<sub>i</sub>, S<sub>j</sub>, S<sub>k</sub>/E/N, L/R/N, q<sub>m</sub>)</b> <dl><dd><b>(</b> current state <b>q<sub>i</sub></b> <b>,</b> symbol scanned <b>S<sub>j</sub></b> <b>,</b> print symbol <b>S<sub>k</sub></b>/erase <b>E</b>/none <b>N</b> <b>,</b> move_tape_one_square left <b>L</b>/right <b>R</b>/none <b>N</b> <b>,</b> new state <b>q<sub>m</sub></b> <b>)</b></dd></dl></dd></dl> <p>Other authors (Minsky (1967) p.&#160;119, Hopcroft and Ullman (1979) p.&#160;158, Stone (1972) p.&#160;9) adopt a different convention, with new state <b>q<sub>m</sub></b> listed immediately after the scanned symbol S<sub>j</sub>: </p> <dl><dd>(definition 2): <b>(q<sub>i</sub>, S<sub>j</sub>, q<sub>m</sub>, S<sub>k</sub>/E/N, L/R/N)</b> <dl><dd><b>(</b> current state <b>q<sub>i</sub></b> <b>,</b> symbol scanned <b>S<sub>j</sub></b> <b>,</b> new state <b>q<sub>m</sub></b> <b>,</b> print symbol <b>S<sub>k</sub></b>/erase <b>E</b>/none <b>N</b> <b>,</b> move_tape_one_square left <b>L</b>/right <b>R</b>/none <b>N</b> <b>)</b></dd></dl></dd></dl> <p>For the remainder of this article "definition 1" (the Turing/Davis convention) will be used. </p> <table class="wikitable" style="text-align: center"> <caption>Example: state table for the 3-state 2-symbol busy beaver reduced to 5-tuples </caption> <tbody><tr> <th>Current state </th> <th>Scanned symbol </th> <th>Print symbol </th> <th>Move tape </th> <th>Final (i.e. next) state </th> <th>5-tuples </th></tr> <tr> <td><b>A</b> </td> <td>0 </td> <td>1 </td> <td>R </td> <td><b>B</b> </td> <td>(<b>A</b>, 0, 1, R, <b>B</b>) </td></tr> <tr> <td><b>A</b> </td> <td>1 </td> <td>1 </td> <td>L </td> <td><b>C</b> </td> <td>(<b>A</b>, 1, 1, L, <b>C</b>) </td></tr> <tr> <td><b>B</b> </td> <td>0 </td> <td>1 </td> <td>L </td> <td><b>A</b> </td> <td>(<b>B</b>, 0, 1, L, <b>A</b>) </td></tr> <tr> <td><b>B</b> </td> <td>1 </td> <td>1 </td> <td>R </td> <td><b>B</b> </td> <td>(<b>B</b>, 1, 1, R, <b>B</b>) </td></tr> <tr> <td><b>C</b> </td> <td>0 </td> <td>1 </td> <td>L </td> <td><b>B</b> </td> <td>(<b>C</b>, 0, 1, L, <b>B</b>) </td></tr> <tr> <td><b>C</b> </td> <td>1 </td> <td>1 </td> <td>N </td> <td><b>H</b> </td> <td>(<b>C</b>, 1, 1, N, <b>H</b>) </td></tr></tbody></table> <p>In the following table, Turing's original model allowed only the first three lines that he called N1, N2, N3 (cf. Turing in <i>The Undecidable</i>, p.&#160;126). He allowed for erasure of the "scanned square" by naming a 0th symbol S<sub>0</sub> = "erase" or "blank", etc. However, he did not allow for non-printing, so every instruction-line includes "print symbol S<sub>k</sub>" or "erase" (cf. footnote 12 in Post (1947), <i>The Undecidable</i>, p.&#160;300). The abbreviations are Turing's (<i>The Undecidable</i>, p.&#160;119). Subsequent to Turing's original paper in 1936–1937, machine-models have allowed all nine possible types of five-tuples: </p> <table class="wikitable" style="text-align: center"> <tbody><tr> <th> </th> <th>Current m-configuration<br />(Turing state) </th> <th>Tape symbol </th> <th>Print-operation </th> <th>Tape-motion </th> <th>Final m-configuration<br />(Turing state) </th> <th>5-tuple </th> <th>5-tuple comments </th> <th>4-tuple </th></tr> <tr> <td>N1 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td>Print(S<sub>k</sub>) </td> <td>Left L </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, S<sub>k</sub>, L, q<sub>m</sub>) </td> <td style="background: #CCC; color:black; vertical-align: middle; text-transform: capitalize;" class="table-cast">"blank" = S<sub>0</sub>, 1=S<sub>1</sub>, etc. </td> <td> </td></tr> <tr> <td>N2 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td>Print(S<sub>k</sub>) </td> <td>Right R </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, S<sub>k</sub>, R, q<sub>m</sub>) </td> <td style="background: #CCC; color:black; vertical-align: middle; text-transform: capitalize;" class="table-cast">"blank" = S<sub>0</sub>, 1=S<sub>1</sub>, etc. </td> <td> </td></tr> <tr> <td>N3 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td>Print(S<sub>k</sub>) </td> <td style="background: #EEE; color:black; vertical-align: middle; text-align: center;" class="table-cast">None N </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, S<sub>k</sub>, N, q<sub>m</sub>) </td> <td style="background: #CCC; color:black; vertical-align: middle; text-transform: capitalize;" class="table-cast">"blank" = S<sub>0</sub>, 1=S<sub>1</sub>, etc. </td> <td>(q<sub>i</sub>, S<sub>j</sub>, S<sub>k</sub>, q<sub>m</sub>) </td></tr> <tr> <td>4 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td style="background: #EEE; color:black; vertical-align: middle; text-align: center;" class="table-cast">None N </td> <td>Left L </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, N, L, q<sub>m</sub>) </td> <td> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, L, q<sub>m</sub>) </td></tr> <tr> <td>5 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td style="background: #EEE; color:black; vertical-align: middle; text-align: center;" class="table-cast">None N </td> <td>Right R </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, N, R, q<sub>m</sub>) </td> <td> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, R, q<sub>m</sub>) </td></tr> <tr> <td>6 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td style="background: #EEE; color:black; vertical-align: middle; text-align: center;" class="table-cast">None N </td> <td style="background: #EEE; color:black; vertical-align: middle; text-align: center;" class="table-cast">None N </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, N, N, q<sub>m</sub>) </td> <td>Direct "jump" </td> <td>(q<sub>i</sub>, S<sub>j</sub>, N, q<sub>m</sub>) </td></tr> <tr> <td>7 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td>Erase </td> <td>Left L </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, E, L, q<sub>m</sub>) </td> <td> </td> <td> </td></tr> <tr> <td>8 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td>Erase </td> <td>Right R </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, E, R, q<sub>m</sub>) </td> <td> </td> <td> </td></tr> <tr> <td>9 </td> <td>q<sub>i</sub> </td> <td>S<sub>j</sub> </td> <td>Erase </td> <td style="background: #EEE; color:black; vertical-align: middle; text-align: center;" class="table-cast">None N </td> <td>q<sub>m</sub> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, E, N, q<sub>m</sub>) </td> <td> </td> <td>(q<sub>i</sub>, S<sub>j</sub>, E, q<sub>m</sub>) </td></tr></tbody></table> <p>Any Turing table (list of instructions) can be constructed from the above nine 5-tuples. For technical reasons, the three non-printing or "N" instructions (4, 5, 6) can usually be dispensed with. For examples see <a href="/wiki/Turing_machine_examples" title="Turing machine examples">Turing machine examples</a>. </p><p>Less frequently the use of 4-tuples are encountered: these represent a further atomization of the Turing instructions (cf. Post (1947), Boolos &amp; Jeffrey (1974, 1999), Davis-Sigal-Weyuker (1994)); also see more at <a href="/wiki/Post%E2%80%93Turing_machine" title="Post–Turing machine">Post–Turing machine</a>. </p> <div class="mw-heading mw-heading3"><h3 id="The_&quot;state&quot;"><span id="The_.22state.22"></span>The "state"</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=7" title="Edit section: The &quot;state&quot;"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The word "state" used in context of Turing machines can be a source of confusion, as it can mean two things. Most commentators after Turing have used "state" to mean the name/designator of the current instruction to be performed—i.e. the contents of the state register. But Turing (1936) made a strong distinction between a record of what he called the machine's "m-configuration", and the machine's (or person's) "state of progress" through the computation—the current state of the total system. What Turing called "the state formula" includes both the current instruction and <i>all</i> the symbols on the tape: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>Thus the state of progress of the computation at any stage is completely determined by the note of instructions and the symbols on the tape. That is, the <i>state of the system</i> may be described by a single expression (sequence of symbols) consisting of the symbols on the tape followed by Δ (which is supposed to not to appear elsewhere) and then by the note of instructions. This expression is called the "state formula".</p><div class="templatequotecite">—&#8202;<cite><i>The Undecidable</i>, pp. 139–140, emphasis added</cite></div></blockquote> <p>Earlier in his paper Turing carried this even further: he gives an example where he placed a symbol of the current "m-configuration"—the instruction's label—beneath the scanned square, together with all the symbols on the tape (<i>The Undecidable</i>, p.&#160;121); this he calls "the <i>complete configuration</i>" (<i>The Undecidable</i>, p.&#160;118). To print the "complete configuration" on one line, he places the state-label/m-configuration to the <i>left</i> of the scanned symbol. </p><p>A variant of this is seen in Kleene (1952) where <a href="/wiki/Stephen_Cole_Kleene" title="Stephen Cole Kleene">Kleene</a> shows how to write the <a href="/wiki/G%C3%B6del_number" class="mw-redirect" title="Gödel number">Gödel number</a> of a machine's "situation": he places the "m-configuration" symbol q<sub>4</sub> over the scanned square in roughly the center of the 6 non-blank squares on the tape (see the Turing-tape figure in this article) and puts it to the <i>right</i> of the scanned square. But Kleene refers to "q<sub>4</sub>" itself as "the machine state" (Kleene, p.&#160;374–375). Hopcroft and Ullman call this composite the "instantaneous description" and follow the Turing convention of putting the "current state" (instruction-label, m-configuration) to the <i>left</i> of the scanned symbol (p.&#160;149), that is, the instantaneous description is the composite of non-blank symbols to the left, state of the machine, the current symbol scanned by the head, and the non-blank symbols to the right. </p><p><i>Example: total state of 3-state 2-symbol busy beaver after 3 "moves"</i> (taken from example "run" in the figure below): </p> <dl><dd><dl><dd>1<b>A</b>1</dd></dl></dd></dl> <p>This means: after three moves the tape has ... 000110000 ... on it, the head is scanning the right-most 1, and the state is <i>A</i>. Blanks (in this case represented by "0"s) can be part of the total state as shown here: <i>B</i>01; the tape has a single 1 on it, but the head is scanning the 0 ("blank") to its left and the state is <i>B</i>. </p><p>"State" in the context of Turing machines should be clarified as to which is being described: the current instruction, or the list of symbols on the tape together with the current instruction, or the list of symbols on the tape together with the current instruction placed to the left of the scanned symbol or to the right of the scanned symbol. </p><p>Turing's biographer Andrew Hodges (1983: 107) has noted and discussed this confusion. </p> <div class="mw-heading mw-heading3"><h3 id="&quot;State&quot;_diagrams"><span id=".22State.22_diagrams"></span>"State" diagrams</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=8" title="Edit section: &quot;State&quot; diagrams"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable"> <caption>The table for the 3-state busy beaver ("P" = print/write a "1") </caption> <tbody><tr> <th>Tape symbol </th> <th colspan="3">Current state A </th> <th colspan="3">Current state B </th> <th colspan="3">Current state C </th></tr> <tr> <td> </td> <td>Write symbol </td> <td>Move tape </td> <td>Next state </td> <td>Write symbol </td> <td>Move tape </td> <td>Next state </td> <td>Write symbol </td> <td>Move tape </td> <td>Next state </td></tr> <tr> <td><i>0</i> </td> <td>P </td> <td>R </td> <td><i>B</i> </td> <td>P </td> <td>L </td> <td><i>A</i> </td> <td>P </td> <td>L </td> <td><i>B</i> </td></tr> <tr> <td><i>1</i> </td> <td>P </td> <td>L </td> <td><i>C</i> </td> <td>P </td> <td>R </td> <td><i>B</i> </td> <td>P </td> <td>R </td> <td><i>HALT</i> </td></tr></tbody></table> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:State_diagram_3_state_busy_beaver_2B.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4b/State_diagram_3_state_busy_beaver_2B.svg/500px-State_diagram_3_state_busy_beaver_2B.svg.png" decoding="async" width="500" height="214" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4b/State_diagram_3_state_busy_beaver_2B.svg/750px-State_diagram_3_state_busy_beaver_2B.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4b/State_diagram_3_state_busy_beaver_2B.svg/1000px-State_diagram_3_state_busy_beaver_2B.svg.png 2x" data-file-width="443" data-file-height="190" /></a><figcaption>The "3-state busy beaver" Turing machine in a <a href="/wiki/Finite-state_machine" title="Finite-state machine">finite-state representation</a>. Each circle represents a "state" of the table—an "m-configuration" or "instruction". "Direction" of a state <i>transition</i> is shown by an arrow. The label (e.g. <i>0/P,R</i>) near the outgoing state (at the "tail" of the arrow) specifies the scanned symbol that causes a particular transition (e.g. <i>0</i>) followed by a slash <i>/</i>, followed by the subsequent "behaviors" of the machine, e.g. "<i>P</i> <i>print</i>" then move tape "<i>R</i> <i>right</i>". No general accepted format exists. The convention shown is after McClusky (1965), Booth (1967), Hill, and Peterson (1974).</figcaption></figure> <p>To the right: the above table as expressed as a "state transition" diagram. </p><p>Usually large tables are better left as tables (Booth, p.&#160;74). They are more readily simulated by computer in tabular form (Booth, p.&#160;74). However, certain concepts—e.g. machines with "reset" states and machines with repeating patterns (cf. Hill and Peterson p.&#160;244ff)—can be more readily seen when viewed as a drawing. </p><p>Whether a drawing represents an improvement on its table must be decided by the reader for the particular context. </p> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Moves_of_a_3-state_Busy_Beaver.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/66/Moves_of_a_3-state_Busy_Beaver.jpg/500px-Moves_of_a_3-state_Busy_Beaver.jpg" decoding="async" width="500" height="306" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/66/Moves_of_a_3-state_Busy_Beaver.jpg/750px-Moves_of_a_3-state_Busy_Beaver.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/66/Moves_of_a_3-state_Busy_Beaver.jpg/1000px-Moves_of_a_3-state_Busy_Beaver.jpg 2x" data-file-width="1358" data-file-height="830" /></a><figcaption>The evolution of the busy beaver's computation starts at the top and proceeds to the bottom.</figcaption></figure> <p>The reader should again be cautioned that such diagrams represent a snapshot of their table frozen in time, <i>not</i> the course ("trajectory") of a computation <i>through</i> time and space. While every time the busy beaver machine "runs" it will always follow the same state-trajectory, this is not true for the "copy" machine that can be provided with variable input "parameters". </p><p>The diagram "progress of the computation" shows the three-state busy beaver's "state" (instruction) progress through its computation from start to finish. On the far right is the Turing "complete configuration" (Kleene "situation", Hopcroft–Ullman "instantaneous description") at each step. If the machine were to be stopped and cleared to blank both the "state register" and entire tape, these "configurations" could be used to rekindle a computation anywhere in its progress (cf. Turing (1936) <i>The Undecidable</i>, pp.&#160;139–140). </p> <div class="mw-heading mw-heading2"><h2 id="Equivalent_models">Equivalent models</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=9" title="Edit section: Equivalent models"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Turing_machine_equivalents" title="Turing machine equivalents">Turing machine equivalents</a>, <a href="/wiki/Register_machine" title="Register machine">Register machine</a>, and <a href="/wiki/Post%E2%80%93Turing_machine" title="Post–Turing machine">Post–Turing machine</a></div> <p>Many machines that might be thought to have more computational capability than a simple universal Turing machine can be shown to have no more power (Hopcroft and Ullman p.&#160;159, cf. Minsky (1967)). They might compute faster, perhaps, or use less memory, or their instruction set might be smaller, but they cannot compute more powerfully (i.e. more mathematical functions). (The <a href="/wiki/Church%E2%80%93Turing_thesis" title="Church–Turing thesis">Church–Turing thesis</a> <i>hypothesises</i> this to be true for any kind of machine: that anything that can be "computed" can be computed by some Turing machine.) </p><p>A Turing machine is equivalent to a single-stack <a href="/wiki/Pushdown_automaton" title="Pushdown automaton">pushdown automaton</a> (PDA) that has been made more flexible and concise by relaxing the <a href="/wiki/LIFO_(computing)" class="mw-redirect" title="LIFO (computing)">last-in-first-out</a> (LIFO) requirement of its stack. In addition, a Turing machine is also equivalent to a two-stack PDA with standard LIFO semantics, by using one stack to model the tape left of the head and the other stack for the tape to the right. </p><p>At the other extreme, some very simple models turn out to be <a href="/wiki/Turing_completeness" title="Turing completeness">Turing-equivalent</a>, i.e. to have the same computational power as the Turing machine model. </p><p>Common equivalent models are the <a href="/wiki/Multi-tape_Turing_machine" class="mw-redirect" title="Multi-tape Turing machine">multi-tape Turing machine</a>, <a href="/wiki/Multi-track_Turing_machine" title="Multi-track Turing machine">multi-track Turing machine</a>, machines with input and output, and the <a href="/wiki/Non-deterministic_Turing_machine" class="mw-redirect" title="Non-deterministic Turing machine"><i>non-deterministic</i> Turing machine</a> (NDTM) as opposed to the <i>deterministic</i> Turing machine (DTM) for which the action table has at most one entry for each combination of symbol and state. </p><p><a href="/wiki/Read-only_right_moving_Turing_machines" class="mw-redirect" title="Read-only right moving Turing machines">Read-only, right-moving Turing machines</a> are equivalent to <a href="/wiki/Deterministic_finite_automaton" title="Deterministic finite automaton">DFAs</a> (as well as <a href="/wiki/Nondeterministic_finite_automaton" title="Nondeterministic finite automaton">NFAs</a> by conversion using the <a href="/wiki/NFA_to_DFA_conversion" class="mw-redirect" title="NFA to DFA conversion">NFA to DFA conversion</a> algorithm). </p><p>For practical and didactic intentions, the equivalent <a href="/wiki/Register_machine" title="Register machine">register machine</a> can be used as a usual <a href="/wiki/Assembly_language" title="Assembly language">assembly</a> <a href="/wiki/Programming_language" title="Programming language">programming language</a>. </p><p>A relevant question is whether or not the computation model represented by concrete programming languages is Turing equivalent. While the computation of a real computer is based on finite states and thus not capable to simulate a Turing machine, programming languages themselves do not necessarily have this limitation. Kirner et al., 2009 have shown that among the general-purpose programming languages some are Turing complete while others are not. For example, <a href="/wiki/ANSI_C" title="ANSI C">ANSI C</a> is not Turing complete, as all instantiations of ANSI C (different instantiations are possible as the standard deliberately leaves certain behaviour undefined for legacy reasons) imply a finite-space memory. This is because the size of memory reference data types, called <i>pointers</i>, is accessible inside the language. However, other programming languages like <a href="/wiki/Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a> do not have this feature, which allows them to be Turing complete in principle. It is just Turing complete in principle, as <a href="/wiki/Memory_allocation" class="mw-redirect" title="Memory allocation">memory allocation</a> in a programming language is allowed to fail, which means the programming language can be Turing complete when ignoring failed memory allocations, but the compiled programs executable on a real computer cannot. </p> <div class="mw-heading mw-heading2"><h2 id="Choice_c-machines,_oracle_o-machines"><span id="Choice_c-machines.2C_oracle_o-machines"></span>Choice c-machines, oracle o-machines</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=10" title="Edit section: Choice c-machines, oracle o-machines"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Early in his paper (1936) Turing makes a distinction between an "automatic machine"—its "motion ... completely determined by the configuration" and a "choice machine": </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>...whose motion is only partially determined by the configuration ... When such a machine reaches one of these ambiguous configurations, it cannot go on until some arbitrary choice has been made by an external operator. This would be the case if we were using machines to deal with axiomatic systems.</p><div class="templatequotecite">—&#8202;<cite><i>The Undecidable</i>, p. 118</cite></div></blockquote> <p>Turing (1936) does not elaborate further except in a footnote in which he describes how to use an a-machine to "find all the provable formulae of the [Hilbert] calculus" rather than use a choice machine. He "suppose[s] that the choices are always between two possibilities 0 and 1. Each proof will then be determined by a sequence of choices i<sub>1</sub>, i<sub>2</sub>, ..., i<sub>n</sub> (i<sub>1</sub> = 0 or 1, i<sub>2</sub> = 0 or 1, ..., i<sub>n</sub> = 0 or 1), and hence the number 2<sup>n</sup> + i<sub>1</sub>2<sup>n-1</sup> + i<sub>2</sub>2<sup>n-2</sup> + ... +i<sub>n</sub> completely determines the proof. The automatic machine carries out successively proof 1, proof 2, proof 3, ..." (Footnote ‡, <i>The Undecidable</i>, p.&#160;138) </p><p>This is indeed the technique by which a deterministic (i.e., a-) Turing machine can be used to mimic the action of a <a href="/wiki/Nondeterministic_Turing_machine" title="Nondeterministic Turing machine">nondeterministic Turing machine</a>; Turing solved the matter in a footnote and appears to dismiss it from further consideration. </p><p>An <a href="/wiki/Oracle_machine" title="Oracle machine">oracle machine</a> or o-machine is a Turing a-machine that pauses its computation at state "<b>o</b>" while, to complete its calculation, it "awaits the decision" of "the oracle"—an entity unspecified by Turing "apart from saying that it cannot be a machine" (Turing (1939), <i>The Undecidable</i>, p.&#160;166–168). </p> <div class="mw-heading mw-heading2"><h2 id="Universal_Turing_machines">Universal Turing machines</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=11" title="Edit section: Universal Turing machines"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Universal_Turing_machine" title="Universal Turing machine">Universal Turing machine</a></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Model_of_a_Turing_machine.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Model_of_a_Turing_machine.jpg/220px-Model_of_a_Turing_machine.jpg" decoding="async" width="220" height="165" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Model_of_a_Turing_machine.jpg/330px-Model_of_a_Turing_machine.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Model_of_a_Turing_machine.jpg/440px-Model_of_a_Turing_machine.jpg 2x" data-file-width="3264" data-file-height="2448" /></a><figcaption>An implementation of a Turing machine</figcaption></figure> <p>As Turing wrote in <i>The Undecidable</i>, p.&#160;128 (italics added): </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>It is possible to invent a <i>single machine</i> which can be used to compute <i>any</i> computable sequence. If this machine <b>U</b> is supplied with the tape on the beginning of which is written the string of quintuples separated by semicolons of some computing machine <b>M</b>, then <b>U</b> will compute the same sequence as <b>M</b>.</p></blockquote> <p>This finding is now taken for granted, but at the time (1936) it was considered astonishing.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (December 2021)">citation needed</span></a></i>&#93;</sup> The model of computation that Turing called his "universal machine"—"<b>U</b>" for short—is considered by some (cf. Davis (2000)) to have been the fundamental theoretical breakthrough that led to the notion of the <a href="/wiki/Stored-program_computer" title="Stored-program computer">stored-program computer</a>. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>Turing's paper ... contains, in essence, the invention of the modern computer and some of the programming techniques that accompanied it.</p><div class="templatequotecite">—&#8202;<cite>Minsky (1967), p. 104</cite></div></blockquote> <p>In terms of <a href="/wiki/Computational_complexity_theory" title="Computational complexity theory">computational complexity</a>, a multi-tape universal Turing machine need only be slower by <a href="/wiki/Logarithm" title="Logarithm">logarithmic</a> factor compared to the machines it simulates. This result was obtained in 1966 by F. C. Hennie and <a href="/wiki/R._E._Stearns" class="mw-redirect" title="R. E. Stearns">R. E. Stearns</a>. (Arora and Barak, 2009, theorem 1.9) </p> <div class="mw-heading mw-heading2"><h2 id="Comparison_with_real_machines">Comparison with real machines</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=12" title="Edit section: Comparison with real machines"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Lego_Turing_Machine.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Lego_Turing_Machine.jpg/220px-Lego_Turing_Machine.jpg" decoding="async" width="220" height="147" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Lego_Turing_Machine.jpg/330px-Lego_Turing_Machine.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Lego_Turing_Machine.jpg/440px-Lego_Turing_Machine.jpg 2x" data-file-width="900" data-file-height="600" /></a><figcaption>A Turing machine realization using <a href="/wiki/Lego" title="Lego">Lego</a> pieces</figcaption></figure> <p>Turing machines are more powerful than some other kinds of automata, such as <a href="/wiki/Finite-state_machine" title="Finite-state machine">finite-state machines</a> and <a href="/wiki/Pushdown_automata" class="mw-redirect" title="Pushdown automata">pushdown automata</a>. According to the <a href="/wiki/Church%E2%80%93Turing_thesis" title="Church–Turing thesis">Church–Turing thesis</a>, they are as powerful as real machines, and are able to execute any operation that a real program can. What is neglected in this statement is that, because a real machine can only have a finite number of <i>configurations</i>, it is nothing but a finite-state machine, whereas a Turing machine has an unlimited amount of storage space available for its computations. </p><p>There are a number of ways to explain why Turing machines are useful models of real computers: </p> <ul><li>Anything a real computer can compute, a Turing machine can also compute. For example: "A Turing machine can simulate any type of subroutine found in programming languages, including recursive procedures and any of the known parameter-passing mechanisms" (Hopcroft and Ullman p.&#160;157). A large enough FSA can also model any real computer, disregarding IO. Thus, a statement about the limitations of Turing machines will also apply to real computers.</li> <li>The difference lies only with the ability of a Turing machine to manipulate an unbounded amount of data. However, given a finite amount of time, a Turing machine (like a real machine) can only manipulate a finite amount of data.</li> <li>Like a Turing machine, a real machine can have its storage space enlarged as needed, by acquiring more disks or other storage media.</li> <li>Descriptions of real machine programs using simpler abstract models are often much more complex than descriptions using Turing machines. For example, a Turing machine describing an algorithm may have a few hundred states, while the equivalent deterministic finite automaton (DFA) on a given real machine has quadrillions. This makes the DFA representation infeasible to analyze.</li> <li>Turing machines describe algorithms independent of how much memory they use. There is a limit to the memory possessed by any current machine, but this limit can rise arbitrarily in time. Turing machines allow us to make statements about algorithms which will (theoretically) hold forever, regardless of advances in <i>conventional</i> computing machine architecture.</li> <li>Algorithms running on Turing-equivalent abstract machines can have arbitrary-precision data types available and never have to deal with unexpected conditions (including, but not limited to, running <a href="/wiki/Out_of_memory" title="Out of memory">out of memory</a>).</li></ul> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Turingmachine.jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Turingmachine.jpg/220px-Turingmachine.jpg" decoding="async" width="220" height="103" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Turingmachine.jpg/330px-Turingmachine.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8f/Turingmachine.jpg/440px-Turingmachine.jpg 2x" data-file-width="800" data-file-height="373" /></a><figcaption>Another Turing machine realization</figcaption></figure> <div class="mw-heading mw-heading3"><h3 id="Limitations">Limitations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=13" title="Edit section: Limitations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Computational_complexity_theory">Computational complexity theory</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=14" title="Edit section: Computational complexity theory"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">Further information: <a href="/wiki/Computational_complexity_theory" title="Computational complexity theory">Computational complexity theory</a></div> <p>A limitation of Turing machines is that they do not model the strengths of a particular arrangement well. For instance, modern stored-program computers are actually instances of a more specific form of <a href="/wiki/Abstract_machine" title="Abstract machine">abstract machine</a> known as the <a href="/wiki/Random-access_stored-program_machine" title="Random-access stored-program machine">random-access stored-program machine</a> or RASP machine model. Like the universal Turing machine, the RASP stores its "program" in "memory" external to its finite-state machine's "instructions". Unlike the universal Turing machine, the RASP has an infinite number of distinguishable, numbered but unbounded "registers"—memory "cells" that can contain any integer (cf. Elgot and Robinson (1964), Hartmanis (1971), and in particular Cook-Rechow (1973); references at <a href="/wiki/Random-access_machine" title="Random-access machine">random-access machine</a>). The RASP's finite-state machine is equipped with the capability for indirect addressing (e.g., the contents of one register can be used as an address to specify another register); thus the RASP's "program" can address any register in the register-sequence. The upshot of this distinction is that there are computational optimizations that can be performed based on the memory indices, which are not possible in a general Turing machine; thus when Turing machines are used as the basis for bounding running times, a "false lower bound" can be proven on certain algorithms' running times (due to the false simplifying assumption of a Turing machine). An example of this is <a href="/wiki/Binary_search" title="Binary search">binary search</a>, an algorithm that can be shown to perform more quickly when using the RASP model of computation rather than the Turing machine model. </p> <div class="mw-heading mw-heading4"><h4 id="Interaction">Interaction</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=15" title="Edit section: Interaction"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In the early days of computing, computer use was typically limited to <a href="/wiki/Batch_processing" title="Batch processing">batch processing</a>, i.e., non-interactive tasks, each producing output data from given input data. Computability theory, which studies computability of functions from inputs to outputs, and for which Turing machines were invented, reflects this practice. </p><p>Since the 1970s, <a href="/wiki/Interactivity" title="Interactivity">interactive</a> use of computers became much more common. In principle, it is possible to model this by having an external agent read from the tape and write to it at the same time as a Turing machine, but this rarely matches how interaction actually happens; therefore, when describing interactivity, alternatives such as <a href="/wiki/Input/output_automaton" title="Input/output automaton">I/O automata</a> are usually preferred. </p> <div class="mw-heading mw-heading2"><h2 id="Comparison_with_the_arithmetic_model_of_computation">Comparison with the arithmetic model of computation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=16" title="Edit section: Comparison with the arithmetic model of computation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The <a href="/wiki/Arithmetic_model_of_computation" class="mw-redirect" title="Arithmetic model of computation">arithmetic model of computation</a> differs from the Turing model in two aspects:<sup id="cite_ref-:0_20-0" class="reference"><a href="#cite_note-:0-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup><sup class="reference nowrap"><span title="Page: 32">&#58;&#8202;32&#8202;</span></sup> </p> <ul><li>In the arithmetic model, every real number requires a single memory cell, whereas in the Turing model the storage size of a real number depends on the number of bits required to represent it.</li> <li>In the arithmetic model, every basic arithmetic operation on real numbers (addition, subtraction, multiplication and division) can be done in a single step, whereas in the Turing model the run-time of each arithmetic operation depends on the length of the operands.</li></ul> <p>Some algorithms run in polynomial time in one model but not in the other one. For example: </p> <ul><li>The <a href="/wiki/Euclidean_algorithm" title="Euclidean algorithm">Euclidean algorithm</a> runs in polynomial time in the Turing model, but not in the arithmetic model.</li> <li>The algorithm that reads <i>n</i> numbers and then computes <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2^{2^{n}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <msup> <mn>2</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msup> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle 2^{2^{n}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6bcc9417763ad5d68870290ddaa2ca025ffdaf85" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.182ex; height:2.676ex;" alt="{\displaystyle 2^{2^{n}}}"></span> by <a href="/wiki/Repeated_squaring" class="mw-redirect" title="Repeated squaring">repeated squaring</a> runs in polynomial time in the Arithmetic model, but not in the Turing model. This is because the number of bits required to represent the outcome is exponential in the input size.</li></ul> <p>However, if an algorithm runs in polynomial time in the arithmetic model, and in addition, the binary length of all involved numbers is polynomial in the length of the input, then it is always polynomial-time in the Turing model. Such an algorithm is said to run in <a href="/wiki/Strongly_polynomial" class="mw-redirect" title="Strongly polynomial">strongly polynomial time</a>. </p> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=17" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Algorithm" title="Algorithm">Algorithm</a> and <a href="/wiki/Church%E2%80%93Turing_thesis" title="Church–Turing thesis">Church–Turing thesis</a></div> <div class="mw-heading mw-heading3"><h3 id="Historical_background:_computational_machinery">Historical background: computational machinery</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=18" title="Edit section: Historical background: computational machinery"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Robin_Gandy" title="Robin Gandy">Robin Gandy</a> (1919–1995)—a student of Alan Turing (1912–1954), and his lifelong friend—traces the lineage of the notion of "calculating machine" back to <a href="/wiki/Charles_Babbage" title="Charles Babbage">Charles Babbage</a> (circa 1834) and actually proposes "Babbage's Thesis": </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p><i>That the whole of development and operations of analysis are now capable of being executed by machinery</i>.</p><div class="templatequotecite">—&#8202;<cite>(italics in Babbage as cited by Gandy, p. 54)</cite></div></blockquote> <p>Gandy's analysis of Babbage's <a href="/wiki/Analytical_engine" title="Analytical engine">analytical engine</a> describes the following five operations (cf. p.&#160;52–53): </p> <ol><li>The arithmetic functions +, −, ×, where − indicates "proper" subtraction: <span class="nowrap"><i>x</i> − <i>y</i> = 0</span> if <span class="nowrap"><i>y</i> ≥ <i>x</i></span>.</li> <li>Any sequence of operations is an operation.</li> <li>Iteration of an operation (repeating n times an operation P).</li> <li>Conditional iteration (repeating n times an operation P conditional on the "success" of test T).</li> <li>Conditional transfer (i.e., conditional "<a href="/wiki/Goto" title="Goto">goto</a>").</li></ol> <p>Gandy states that "the functions which can be calculated by (1), (2), and (4) are precisely those which are <a href="/wiki/Turing_computable" class="mw-redirect" title="Turing computable">Turing computable</a>." (p.&#160;53). He cites other proposals for "universal calculating machines" including those of <a href="/wiki/Percy_Ludgate" title="Percy Ludgate">Percy Ludgate</a> (1909), <a href="/wiki/Leonardo_Torres_Quevedo" title="Leonardo Torres Quevedo">Leonardo Torres Quevedo</a> (1914),<sup id="cite_ref-LTQ1914es_21-0" class="reference"><a href="#cite_note-LTQ1914es-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-LTQ1915fr_22-0" class="reference"><a href="#cite_note-LTQ1915fr-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> <a href="/wiki/Maurice_d%27Ocagne" class="mw-redirect" title="Maurice d&#39;Ocagne">Maurice d'Ocagne</a> (1922), <a href="/wiki/Louis_Couffignal" title="Louis Couffignal">Louis Couffignal</a> (1933), <a href="/wiki/Vannevar_Bush" title="Vannevar Bush">Vannevar Bush</a> (1936), <a href="/wiki/Howard_Aiken" class="mw-redirect" title="Howard Aiken">Howard Aiken</a> (1937). However: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>… the emphasis is on programming a fixed iterable sequence of arithmetical operations. The fundamental importance of conditional iteration and conditional transfer for a general theory of calculating machines is not recognized…</p><div class="templatequotecite">—&#8202;<cite>Gandy p. 55</cite></div></blockquote> <div class="mw-heading mw-heading3"><h3 id="The_Entscheidungsproblem_(the_&quot;decision_problem&quot;):_Hilbert's_tenth_question_of_1900"><span id="The_Entscheidungsproblem_.28the_.22decision_problem.22.29:_Hilbert.27s_tenth_question_of_1900"></span>The Entscheidungsproblem (the "decision problem"): Hilbert's tenth question of 1900</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=19" title="Edit section: The Entscheidungsproblem (the &quot;decision problem&quot;): Hilbert&#039;s tenth question of 1900"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>With regard to <a href="/wiki/Hilbert%27s_problems" title="Hilbert&#39;s problems">Hilbert's problems</a> posed by the famous mathematician <a href="/wiki/David_Hilbert" title="David Hilbert">David Hilbert</a> in 1900, an aspect of <a href="/wiki/Hilbert%27s_tenth_problem" title="Hilbert&#39;s tenth problem">problem #10</a> had been floating about for almost 30 years before it was framed precisely. Hilbert's original expression for No. 10 is as follows: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p><i>10. Determination of the solvability of a Diophantine equation</i>. Given a <a href="/wiki/Diophantine_equation" title="Diophantine equation">Diophantine equation</a> with any number of unknown quantities and with rational integral coefficients: To devise a process according to which it can be determined in a finite number of operations whether the equation is solvable in rational integers. The Entscheidungsproblem [decision problem for <a href="/wiki/First-order_logic" title="First-order logic">first-order logic</a>] is solved when we know a procedure that allows for any given logical expression to decide by finitely many operations its validity or satisfiability ... The Entscheidungsproblem must be considered the main problem of mathematical logic.</p><div class="templatequotecite">—&#8202;<cite>quoted, with this translation and the original German, in Dershowitz and Gurevich, 2008</cite></div></blockquote> <p>By 1922, this notion of "<a href="/wiki/Entscheidungsproblem" title="Entscheidungsproblem">Entscheidungsproblem</a>" had developed a bit, and <a href="/wiki/Heinrich_Behmann" title="Heinrich Behmann">H. Behmann</a> stated that </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>...&#160;most general form of the Entscheidungsproblem [is] as follows: </p><blockquote><p>A quite definite generally applicable prescription is required which will allow one to decide in a finite number of steps the truth or falsity of a given purely logical assertion ...</p></blockquote><div class="templatequotecite">—&#8202;<cite>Gandy p. 57, quoting Behmann</cite></div></blockquote> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>Behmann remarks that ... the general problem is equivalent to the problem of deciding which mathematical propositions are true.</p><div class="templatequotecite">—&#8202;<cite><i>ibid.</i></cite></div></blockquote> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>If one were able to solve the Entscheidungsproblem then one would have a "procedure for solving many (or even all) mathematical problems".</p><div class="templatequotecite">—&#8202;<cite><i>ibid.</i>, p. 92</cite></div></blockquote> <p>By the 1928 international congress of mathematicians, Hilbert "made his questions quite precise. First, was mathematics <i><a href="/wiki/Completeness_(logic)" title="Completeness (logic)">complete</a></i> ... Second, was mathematics <i><a href="/wiki/Consistency_proof" class="mw-redirect" title="Consistency proof">consistent</a></i> ... And thirdly, was mathematics <i><a href="/wiki/Decidability_(logic)" title="Decidability (logic)">decidable</a></i>?" (Hodges p.&#160;91, Hawking p.&#160;1121). The first two questions were answered in 1930 by <a href="/wiki/Kurt_G%C3%B6del" title="Kurt Gödel">Kurt Gödel</a> at the very same meeting where Hilbert delivered his retirement speech (much to the chagrin of Hilbert); the third—the Entscheidungsproblem—had to wait until the mid-1930s. </p><p>The problem was that an answer first required a precise definition of "definite general applicable prescription", which Princeton professor <a href="/wiki/Alonzo_Church" title="Alonzo Church">Alonzo Church</a> would come to call "<a href="/wiki/Effective_calculability" class="mw-redirect" title="Effective calculability">effective calculability</a>", and in 1928 no such definition existed. But over the next 6–7 years <a href="/wiki/Emil_Post" class="mw-redirect" title="Emil Post">Emil Post</a> developed his definition of a worker moving from room to room writing and erasing marks per a list of instructions (Post 1936), as did Church and his two students <a href="/wiki/Stephen_Kleene" class="mw-redirect" title="Stephen Kleene">Stephen Kleene</a> and <a href="/wiki/J._B._Rosser" class="mw-redirect" title="J. B. Rosser">J. B. Rosser</a> by use of Church's lambda-calculus and Gödel's <a href="/wiki/Recursion_theory" class="mw-redirect" title="Recursion theory">recursion theory</a> (1934). Church's paper (published 15 April 1936) showed that the Entscheidungsproblem was indeed "undecidable"<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> and beat Turing to the punch by almost a year (Turing's paper submitted 28 May 1936, published January 1937). In the meantime, Emil Post submitted a brief paper in the fall of 1936, so Turing at least had priority over Post. While Church refereed Turing's paper, Turing had time to study Church's paper and add an Appendix where he sketched a proof that Church's lambda-calculus and his machines would compute the same functions. </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>But what Church had done was something rather different, and in a certain sense weaker. ... the Turing construction was more direct, and provided an argument from first principles, closing the gap in Church's demonstration.</p><div class="templatequotecite">—&#8202;<cite>Hodges p. 112</cite></div></blockquote> <p>And Post had only proposed a definition of <a href="/wiki/Church%E2%80%93Turing_thesis" title="Church–Turing thesis">calculability</a> and criticised Church's "definition", but had proved nothing. </p> <div class="mw-heading mw-heading3"><h3 id="Alan_Turing's_a-machine"><span id="Alan_Turing.27s_a-machine"></span>Alan Turing's a-machine</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=20" title="Edit section: Alan Turing&#039;s a-machine"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In the spring of 1935, Turing as a young Master's student at <a href="/wiki/King%27s_College,_Cambridge" title="King&#39;s College, Cambridge">King's College, Cambridge</a>, took on the challenge; he had been stimulated by the lectures of the logician <a href="/wiki/M._H._A._Newman" class="mw-redirect" title="M. H. A. Newman">M. H. A. Newman</a> "and learned from them of Gödel's work and the Entscheidungsproblem ... Newman used the word 'mechanical' ... In his obituary of Turing 1955 Newman writes: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>To the question 'what is a "mechanical" process?' Turing returned the characteristic answer 'Something that can be done by a machine' and he embarked on the highly congenial task of analysing the general notion of a computing machine.</p><div class="templatequotecite">—&#8202;<cite>Gandy, p. 74</cite></div></blockquote> <p>Gandy states that: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>I suppose, but do not know, that Turing, right from the start of his work, had as his goal a proof of the undecidability of the Entscheidungsproblem. He told me that the 'main idea' of the paper came to him when he was lying in Grantchester meadows in the summer of 1935. The 'main idea' might have either been his analysis of computation or his realization that there was a universal machine, and so a <a href="/wiki/Cantor%27s_diagonal_argument" title="Cantor&#39;s diagonal argument">diagonal argument</a> to prove unsolvability.</p><div class="templatequotecite">—&#8202;<cite><i>ibid.</i>, p. 76</cite></div></blockquote> <p>While Gandy believed that Newman's statement above is "misleading", this opinion is not shared by all. Turing had a lifelong interest in machines: "Alan had dreamt of inventing typewriters as a boy; [his mother] Mrs. Turing had a typewriter; and he could well have begun by asking himself what was meant by calling a typewriter 'mechanical'" (Hodges p.&#160;96). While at Princeton pursuing his PhD, Turing built a Boolean-logic multiplier (see below). His PhD thesis, titled "<a href="/wiki/Systems_of_Logic_Based_on_Ordinals" title="Systems of Logic Based on Ordinals">Systems of Logic Based on Ordinals</a>", contains the following definition of "a computable function": </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>It was stated above that 'a function is effectively calculable if its values can be found by some purely mechanical process'. We may take this statement literally, understanding by a purely mechanical process one which could be carried out by a machine. It is possible to give a mathematical description, in a certain normal form, of the structures of these machines. The development of these ideas leads to the author's definition of a computable function, and to an identification of computability with effective calculability. It is not difficult, though somewhat laborious, to prove that these three definitions [the 3rd is the λ-calculus] are equivalent.</p><div class="templatequotecite">—&#8202;<cite>Turing (1939) in <i>The Undecidable</i>, p. 160</cite></div></blockquote> <p>Alan Turing invented the "a-machine" (automatic machine) in 1936.<sup id="cite_ref-Hodges-2012_7-1" class="reference"><a href="#cite_note-Hodges-2012-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> Turing submitted his paper on 31 May 1936 to the London Mathematical Society for its <i>Proceedings</i> (cf. Hodges 1983:112), but it was published in early 1937 and offprints were available in February 1937 (cf. Hodges 1983:129) It was Turing's doctoral advisor, <a href="/wiki/Alonzo_Church" title="Alonzo Church">Alonzo Church</a>, who later coined the term "Turing machine" in a review.<sup id="cite_ref-mitpress.mit.edu_10-1" class="reference"><a href="#cite_note-mitpress.mit.edu-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> With this model, Turing was able to answer two questions in the negative: </p> <ul><li>Does a machine exist that can determine whether any arbitrary machine on its tape is "circular" (e.g., freezes, or fails to continue its computational task)?</li> <li>Does a machine exist that can determine whether any arbitrary machine on its tape ever prints a given symbol?<sup id="cite_ref-The_Undecidable&#39;_page_119_11-1" class="reference"><a href="#cite_note-The_Undecidable&#39;_page_119-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-Turing_1937_230–265_12-1" class="reference"><a href="#cite_note-Turing_1937_230–265-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>Thus by providing a mathematical description of a very simple device capable of arbitrary computations, he was able to prove properties of computation in general—and in particular, the <a href="/wiki/Computability" title="Computability">uncomputability</a> of the <i><a href="/wiki/Entscheidungsproblem" title="Entscheidungsproblem">Entscheidungsproblem</a></i> ('decision problem').<sup id="cite_ref-ReferenceA_13-1" class="reference"><a href="#cite_note-ReferenceA-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> </p><p>When Turing returned to the UK he ultimately became jointly responsible for breaking the German secret codes created by encryption machines called "The Enigma"; he also became involved in the design of the ACE (<a href="/wiki/Automatic_Computing_Engine" title="Automatic Computing Engine">Automatic Computing Engine</a>), "[Turing's] ACE proposal was effectively self-contained, and its roots lay not in the <a href="/wiki/EDVAC" title="EDVAC">EDVAC</a> [the USA's initiative], but in his own universal machine" (Hodges p.&#160;318). Arguments still continue concerning the origin and nature of what has been named by Kleene (1952) <a href="/wiki/Turing%27s_Thesis" class="mw-redirect" title="Turing&#39;s Thesis">Turing's Thesis</a>. But what Turing <i>did prove</i> with his computational-machine model appears in his paper "<a href="/wiki/On_Computable_Numbers,_with_an_Application_to_the_Entscheidungsproblem" class="mw-redirect" title="On Computable Numbers, with an Application to the Entscheidungsproblem">On Computable Numbers, with an Application to the Entscheidungsproblem</a>" (1937): </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>[that] the Hilbert Entscheidungsproblem can have no solution ... I propose, therefore to show that there can be no general process for determining whether a given formula U of the functional calculus K is provable, i.e. that there can be no machine which, supplied with any one U of these formulae, will eventually say whether U is provable.</p><div class="templatequotecite">—&#8202;<cite>from Turing's paper as reprinted in <i>The Undecidable</i>, p. 145</cite></div></blockquote> <p>Turing's example (his second proof): If one is to ask for a general procedure to tell us: "Does this machine ever print 0", the question is "undecidable". </p> <div class="mw-heading mw-heading3"><h3 id="1937–1970:_The_&quot;digital_computer&quot;,_the_birth_of_&quot;computer_science&quot;"><span id="1937.E2.80.931970:_The_.22digital_computer.22.2C_the_birth_of_.22computer_science.22"></span>1937–1970: The "digital computer", the birth of "computer science"</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=21" title="Edit section: 1937–1970: The &quot;digital computer&quot;, the birth of &quot;computer science&quot;"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In 1937, while at Princeton working on his PhD thesis, Turing built a digital (Boolean-logic) multiplier from scratch, making his own electromechanical <a href="/wiki/Relays" class="mw-redirect" title="Relays">relays</a> (Hodges p.&#160;138). "Alan's task was to embody the logical design of a Turing machine in a network of relay-operated switches ..." (Hodges p.&#160;138). While Turing might have been just initially curious and experimenting, quite-earnest work in the same direction was going in Germany (<a href="/wiki/Konrad_Zuse" title="Konrad Zuse">Konrad Zuse</a> (1938)), and in the United States (<a href="/wiki/Howard_Aiken" class="mw-redirect" title="Howard Aiken">Howard Aiken</a>) and <a href="/wiki/George_Stibitz" title="George Stibitz">George Stibitz</a> (1937); the fruits of their labors were used by both the Axis and Allied militaries in <a href="/wiki/World_War_II" title="World War II">World War II</a> (cf. Hodges p.&#160;298–299). In the early to mid-1950s <a href="/wiki/Hao_Wang_(academic)" title="Hao Wang (academic)">Hao Wang</a> and <a href="/wiki/Marvin_Minsky" title="Marvin Minsky">Marvin Minsky</a> reduced the Turing machine to a simpler form (a precursor to the <a href="/wiki/Post%E2%80%93Turing_machine" title="Post–Turing machine">Post–Turing machine</a> of <a href="/wiki/Martin_Davis_(mathematician)" title="Martin Davis (mathematician)">Martin Davis</a>); simultaneously European researchers were reducing the new-fangled <a href="/wiki/Electronic_computer" class="mw-redirect" title="Electronic computer">electronic computer</a> to a computer-like theoretical object equivalent to what was now being called a "Turing machine". In the late 1950s and early 1960s, the coincidentally parallel developments of Melzak and Lambek (1961), Minsky (1961), and Shepherdson and Sturgis (1961) carried the European work further and reduced the Turing machine to a more friendly, computer-like abstract model called the <a href="/wiki/Counter_machine" title="Counter machine">counter machine</a>; Elgot and Robinson (1964), Hartmanis (1971), Cook and Reckhow (1973) carried this work even further with the <a href="/wiki/Register_machine" title="Register machine">register machine</a> and <a href="/wiki/Random-access_machine" title="Random-access machine">random-access machine</a> models—but basically all are just multi-tape Turing machines with an arithmetic-like instruction set. </p> <div class="mw-heading mw-heading3"><h3 id="1970–present:_as_a_model_of_computation"><span id="1970.E2.80.93present:_as_a_model_of_computation"></span>1970–present: as a model of computation</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=22" title="Edit section: 1970–present: as a model of computation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Today, the counter, register and random-access machines and their sire the Turing machine continue to be the models of choice for theorists investigating questions in the <a href="/wiki/Theory_of_computation" title="Theory of computation">theory of computation</a>. In particular, <a href="/wiki/Computational_complexity_theory" title="Computational complexity theory">computational complexity theory</a> makes use of the Turing machine: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>Depending on the objects one likes to manipulate in the computations (numbers like nonnegative integers or alphanumeric strings), two models have obtained a dominant position in machine-based complexity theory: </p><blockquote><p><i>the off-line multitape Turing machine</i>..., which represents the standard model for string-oriented computation, and the <i>random access machine (RAM)</i> as introduced by Cook and Reckhow ..., which models the idealised Von Neumann-style computer.</p></blockquote><div class="templatequotecite">—&#8202;<cite>van Emde Boas 1990:4</cite></div></blockquote> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>Only in the related area of analysis of algorithms this role is taken over by the RAM model.</p><div class="templatequotecite">—&#8202;<cite>van Emde Boas 1990:16</cite></div></blockquote> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=23" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 22em;"> <ul><li><a href="/wiki/Arithmetical_hierarchy" title="Arithmetical hierarchy">Arithmetical hierarchy</a></li> <li><a href="/wiki/Bekenstein_bound" title="Bekenstein bound">Bekenstein bound</a>, showing the impossibility of infinite-tape Turing machines of finite size and bounded energy</li> <li><a href="/wiki/BlooP_and_FlooP" title="BlooP and FlooP">BlooP and FlooP</a></li> <li><a href="/wiki/Chaitin%27s_constant" title="Chaitin&#39;s constant">Chaitin's constant</a> or <a href="/wiki/Omega_(computer_science)" class="mw-redirect" title="Omega (computer science)">Omega (computer science)</a> for information relating to the halting problem</li> <li><a href="/wiki/Chinese_room" title="Chinese room">Chinese room</a></li> <li><a href="/wiki/Conway%27s_Game_of_Life" title="Conway&#39;s Game of Life">Conway's Game of Life</a>, a Turing-complete cellular automaton</li> <li><a href="/wiki/Digital_infinity" title="Digital infinity">Digital infinity</a></li> <li><i><a href="/wiki/The_Emperor%27s_New_Mind" title="The Emperor&#39;s New Mind">The Emperor's New Mind</a></i></li> <li><a href="/wiki/Enumerator_(in_theoretical_computer_science)" class="mw-redirect" title="Enumerator (in theoretical computer science)">Enumerator (in theoretical computer science)</a></li> <li><a href="/wiki/Genetix" title="Genetix">Genetix</a></li> <li><i><a href="/wiki/G%C3%B6del,_Escher,_Bach:_An_Eternal_Golden_Braid" class="mw-redirect" title="Gödel, Escher, Bach: An Eternal Golden Braid">Gödel, Escher, Bach: An Eternal Golden Braid</a></i>, a famous book that discusses, among other topics, the Church–Turing thesis</li> <li><a href="/wiki/Halting_problem" title="Halting problem">Halting problem</a>, for more references</li> <li><a href="/wiki/Harvard_architecture" title="Harvard architecture">Harvard architecture</a></li> <li><a href="/wiki/Imperative_programming" title="Imperative programming">Imperative programming</a></li> <li><a href="/wiki/Langton%27s_ant" title="Langton&#39;s ant">Langton's ant</a> and <a href="/wiki/Turmite" title="Turmite">Turmites</a>, simple two-dimensional analogues of the Turing machine</li> <li><a href="/wiki/List_of_things_named_after_Alan_Turing" title="List of things named after Alan Turing">List of things named after Alan Turing</a></li> <li><a href="/wiki/Modified_Harvard_architecture" title="Modified Harvard architecture">Modified Harvard architecture</a></li> <li><a href="/wiki/Quantum_Turing_machine" title="Quantum Turing machine">Quantum Turing machine</a></li> <li><a href="/wiki/Claude_Shannon" title="Claude Shannon">Claude Shannon</a>, another leading thinker in information theory</li> <li><a href="/wiki/Turing_machine_examples" title="Turing machine examples">Turing machine examples</a></li> <li><a href="/wiki/Turing_tarpit" title="Turing tarpit">Turing tarpit</a>, any computing system or language that, despite being Turing complete, is generally considered useless for practical computing</li> <li><a href="/wiki/Unorganized_machine" title="Unorganized machine">Unorganised machine</a>, for Turing's very early ideas on neural networks</li> <li><a href="/wiki/Von_Neumann_architecture" title="Von Neumann architecture">Von Neumann architecture</a></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=24" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">Minsky 1967:107 "In his 1936 paper, A. M. Turing defined the class of abstract machines that now bear his name. A Turing machine is a finite-state machine associated with a special kind of environment -- its tape -- in which it can store (and later recover) sequences of symbols," also Stone 1972:8 where the word "machine" is in quotation marks.</span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">Stone 1972:8 states "This "machine" is an abstract mathematical model", also cf. Sipser 2006:137ff that describes the "Turing machine model". Rogers 1987 (1967):13 refers to "Turing's characterization", Boolos Burgess and Jeffrey 2002:25 refers to a "specific kind of idealized machine".</span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Sipser 2006:137 "A Turing machine can do everything that a real computer can do".</span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">Cf. Sipser 2002:137. Also, Rogers 1987 (1967):13 describes "a paper tape of infinite length in both directions". Minsky 1967:118 states "The tape is regarded as infinite in both directions". Boolos Burgess and Jeffrey 2002:25 include the possibility of "there is someone stationed at each end to add extra blank squares as needed".</span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text">Cf. Rogers 1987 (1967):13. Other authors use the word "square" e.g. Boolos Burgess Jeffrey 2002:35, Minsky 1967:117, Penrose 1989:37.</span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">Boolos Burgess Jeffry 2002:25 illustrate the machine as moving along the tape. Penrose 1989:36-37 describes himself as "uncomfortable" with an infinite tape observing that it "might be hard to shift!"; he "prefer[s] to think of the tape as representing some external environment through which our finite device can move" and after observing that the " 'movement' is a convenient way of picturing things" and then suggests that "the device receives all its input from this environment. Some variations of the Turing machine model also allow the head to stay in the same position instead of moving or halting.</span> </li> <li id="cite_note-Hodges-2012-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-Hodges-2012_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Hodges-2012_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFHodges2012" class="citation book cs1"><a href="/wiki/Andrew_Hodges" title="Andrew Hodges">Hodges, Andrew</a> (2012). <i>Alan Turing: The Enigma</i> (The Centenary&#160;ed.). <a href="/wiki/Princeton_University_Press" title="Princeton University Press">Princeton University Press</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-691-15564-7" title="Special:BookSources/978-0-691-15564-7"><bdi>978-0-691-15564-7</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Alan+Turing%3A+The+Enigma&amp;rft.edition=The+Centenary&amp;rft.pub=Princeton+University+Press&amp;rft.date=2012&amp;rft.isbn=978-0-691-15564-7&amp;rft.aulast=Hodges&amp;rft.aufirst=Andrew&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text">The idea came to him in mid-1935 (perhaps, see more in the History section) after a question posed by <a href="/wiki/M._H._A._Newman" class="mw-redirect" title="M. H. A. Newman">M. H. A. Newman</a> in his lectures: "Was there a definite method, or as Newman put it, a "mechanical process" which could be applied to a mathematical statement, and which would come up with the answer as to whether it was provable" (Hodges 1983:93). Turing submitted his paper on 31 May 1936 to the London Mathematical Society for its <i>Proceedings</i> (cf. Hodges 1983:112), but it was published in early 1937 and offprints were available in February 1937 (cf. Hodges 1983:129).</span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text">See footnote in Davis 2000:151.</span> </li> <li id="cite_note-mitpress.mit.edu-10"><span class="mw-cite-backlink">^ <a href="#cite_ref-mitpress.mit.edu_10-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-mitpress.mit.edu_10-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">see note in forward to The Collected Works of Alonzo Church (<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBurgeEnderton2019" class="citation book cs1">Burge, Tyler; Enderton, Herbert, eds. (2019-04-23). <a rel="nofollow" class="external text" href="https://mitpress.mit.edu/books/collected-works-alonzo-church"><i>The Collected Works of Alonzo Church</i></a>. Cambridge, MA, US: MIT Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-262-02564-5" title="Special:BookSources/978-0-262-02564-5"><bdi>978-0-262-02564-5</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Collected+Works+of+Alonzo+Church&amp;rft.place=Cambridge%2C+MA%2C+US&amp;rft.pub=MIT+Press&amp;rft.date=2019-04-23&amp;rft.isbn=978-0-262-02564-5&amp;rft_id=https%3A%2F%2Fmitpress.mit.edu%2Fbooks%2Fcollected-works-alonzo-church&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span>)</span> </li> <li id="cite_note-The_Undecidable&#39;_page_119-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-The_Undecidable&#39;_page_119_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-The_Undecidable&#39;_page_119_11-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Turing 1936 in <i>The Undecidable</i> 1965:132-134; Turing's definition of "circular" is found on page 119.</span> </li> <li id="cite_note-Turing_1937_230–265-12"><span class="mw-cite-backlink">^ <a href="#cite_ref-Turing_1937_230–265_12-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Turing_1937_230–265_12-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTuring1937" class="citation journal cs1">Turing, Alan Mathison (1937). "On Computable Numbers, with an Application to the <i>Entscheidungsproblem</i>". <i>Proceedings of the London Mathematical Society</i>. Series 2. <b>42</b> (1): 230–265. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1112%2Fplms%2Fs2-42.1.230">10.1112/plms/s2-42.1.230</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:73712">73712</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Proceedings+of+the+London+Mathematical+Society&amp;rft.atitle=On+Computable+Numbers%2C+with+an+Application+to+the+Entscheidungsproblem&amp;rft.volume=42&amp;rft.issue=1&amp;rft.pages=230-265&amp;rft.date=1937&amp;rft_id=info%3Adoi%2F10.1112%2Fplms%2Fs2-42.1.230&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A73712%23id-name%3DS2CID&amp;rft.aulast=Turing&amp;rft.aufirst=Alan+Mathison&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></span> </li> <li id="cite_note-ReferenceA-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-ReferenceA_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-ReferenceA_13-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Turing 1936 in <i>The Undecidable</i> 1965:145</span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">Sipser 2006:137 observes that "A Turing machine can do everything that a real computer can do. Nevertheless, even a Turing machine cannot solve certain problems. In a very real sense, these problems are beyond the theoretical limits of computation."</span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">See the definition of "<a href="https://en.wiktionary.org/wiki/innings" class="extiw" title="wikt:innings">innings</a>" on <a href="/wiki/Wiktionary" title="Wiktionary">Wiktionary</a></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFA.M._Turing1948" class="citation report cs1">A.M. Turing (Jul 1948). <a rel="nofollow" class="external text" href="http://www.alanturing.net/Turing_archive/archive/l/l32/L32-004.html">Intelligent Machinery</a> (Report). National Physical Laboratory.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=report&amp;rft.btitle=Intelligent+Machinery&amp;rft.pub=National+Physical+Laboratory&amp;rft.date=1948-07&amp;rft.au=A.M.+Turing&amp;rft_id=http%3A%2F%2Fwww.alanturing.net%2FTuring_archive%2Farchive%2Fl%2Fl32%2FL32-004.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span> Here: p.3-4</span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">Occasionally called an <i>action table</i> or <i><a href="/wiki/Transition_function" class="mw-disambig" title="Transition function">transition function</a></i>.</span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text">Usually quintuples [5-tuples]: q<sub>i</sub>a<sub>j</sub>→q<sub>i1</sub>a<sub>j1</sub>d<sub>k</sub>, but sometimes quadruples [4-tuples].</span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text">p.149; in particular, Hopcroft and Ullman assume that <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B4;<!-- δ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \delta }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c5321cfa797202b3e1f8620663ff43c4660ea03a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:2.343ex;" alt="{\displaystyle \delta }"></span> is undefined on all states from <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>F</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/545fd099af8541605f7ee55f08225526be88ce57" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.741ex; height:2.176ex;" alt="{\displaystyle F}"></span></span> </li> <li id="cite_note-:0-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-:0_20-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGrötschelLovászSchrijver1993" class="citation cs2"><a href="/wiki/Martin_Gr%C3%B6tschel" title="Martin Grötschel">Grötschel, Martin</a>; <a href="/wiki/L%C3%A1szl%C3%B3_Lov%C3%A1sz" title="László Lovász">Lovász, László</a>; <a href="/wiki/Alexander_Schrijver" title="Alexander Schrijver">Schrijver, Alexander</a> (1993), <a rel="nofollow" class="external text" href="https://books.google.com/books?id=hWvmCAAAQBAJ&amp;pg=PA281"><i>Geometric algorithms and combinatorial optimization</i></a>, Algorithms and Combinatorics, vol.&#160;2 (2nd&#160;ed.), Springer-Verlag, Berlin, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-78240-4">10.1007/978-3-642-78240-4</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-642-78242-8" title="Special:BookSources/978-3-642-78242-8"><bdi>978-3-642-78242-8</bdi></a>, <a href="/wiki/MR_(identifier)" class="mw-redirect" title="MR (identifier)">MR</a>&#160;<a rel="nofollow" class="external text" href="https://mathscinet.ams.org/mathscinet-getitem?mr=1261419">1261419</a></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Geometric+algorithms+and+combinatorial+optimization&amp;rft.series=Algorithms+and+Combinatorics&amp;rft.edition=2nd&amp;rft.pub=Springer-Verlag%2C+Berlin&amp;rft.date=1993&amp;rft_id=https%3A%2F%2Fmathscinet.ams.org%2Fmathscinet-getitem%3Fmr%3D1261419%23id-name%3DMR&amp;rft_id=info%3Adoi%2F10.1007%2F978-3-642-78240-4&amp;rft.isbn=978-3-642-78242-8&amp;rft.aulast=Gr%C3%B6tschel&amp;rft.aufirst=Martin&amp;rft.au=Lov%C3%A1sz%2C+L%C3%A1szl%C3%B3&amp;rft.au=Schrijver%2C+Alexander&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DhWvmCAAAQBAJ%26pg%3DPA281&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></span> </li> <li id="cite_note-LTQ1914es-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-LTQ1914es_21-0">^</a></b></span> <span class="reference-text">L. Torres Quevedo. <i>Ensayos sobre Automática – Su definicion. Extension teórica de sus aplicaciones,</i> Revista de la Academia de Ciencias Exacta, Revista 12, pp. 391–418, 1914.</span> </li> <li id="cite_note-LTQ1915fr-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-LTQ1915fr_22-0">^</a></b></span> <span class="reference-text">Torres Quevedo. L. (1915). <a rel="nofollow" class="external text" href="https://diccan.com/dicoport/Torres.htm">"Essais sur l'Automatique - Sa définition. Etendue théorique de ses applications"</a>, <i>Revue Génerale des Sciences Pures et Appliquées</i>, vol. 2, pp. 601–611.</span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text">The narrower question posed in <a href="/wiki/Hilbert%27s_tenth_problem" title="Hilbert&#39;s tenth problem">Hilbert's tenth problem</a>, about <a href="/wiki/Diophantine_equation" title="Diophantine equation">Diophantine equations</a>, remains unresolved until 1970, when the relationship between <a href="/wiki/Recursively_enumerable_set" class="mw-redirect" title="Recursively enumerable set">recursively enumerable sets</a> and <a href="/wiki/Diophantine_set" title="Diophantine set">Diophantine sets</a> is finally laid bare.</span> </li> </ol> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=25" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-Citation_style plainlinks metadata ambox ambox-style ambox-citation_style" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/40px-Edit-clear.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/60px-Edit-clear.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/80px-Edit-clear.svg.png 2x" data-file-width="48" data-file-height="48" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>has an unclear <a href="/wiki/Wikipedia:Citing_sources#Citation_style" title="Wikipedia:Citing sources">citation style</a></b>.<span class="hide-when-compact"> The references used may be made clearer with a different or consistent style of <a href="/wiki/Wikipedia:Citing_sources" title="Wikipedia:Citing sources">citation</a> and <a href="/wiki/Help:Footnotes" title="Help:Footnotes">footnoting</a>.</span> <span class="date-container"><i>(<span class="date">November 2019</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> </div> <div class="mw-heading mw-heading3"><h3 id="Primary_literature,_reprints,_and_compilations"><span id="Primary_literature.2C_reprints.2C_and_compilations"></span>Primary literature, reprints, and compilations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=26" title="Edit section: Primary literature, reprints, and compilations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>B. <a href="/wiki/Jack_Copeland" title="Jack Copeland">Jack Copeland</a> ed. (2004), <i>The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma,</i> Clarendon Press (Oxford University Press), Oxford UK, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-19-825079-7" title="Special:BookSources/0-19-825079-7">0-19-825079-7</a>. Contains the Turing papers plus a draft letter to <a href="/wiki/Emil_Post" class="mw-redirect" title="Emil Post">Emil Post</a> re his criticism of "Turing's convention", and Donald W. Davies' <i>Corrections to Turing's Universal Computing Machine</i></li> <li><a href="/wiki/Martin_Davis_(mathematician)" title="Martin Davis (mathematician)">Martin Davis</a> (ed.) (1965), <i>The Undecidable</i>, Raven Press, Hewlett, NY.</li> <li>Emil Post (1936), "Finite Combinatory Processes—Formulation 1", <i>Journal of Symbolic Logic</i>, 1, 103–105, 1936. Reprinted in <i>The Undecidable</i>, pp.&#160;289ff.</li> <li>Emil Post (1947), "Recursive Unsolvability of a Problem of Thue", <i>Journal of Symbolic Logic</i>, vol. 12, pp.&#160;1–11. Reprinted in <i>The Undecidable</i>, pp.&#160;293ff. In the Appendix of this paper Post comments on and gives corrections to Turing's paper of 1936–1937. In particular see the footnotes 11 with corrections to the universal computing machine coding and footnote 14 with comments on <a href="/wiki/Turing%27s_proof" title="Turing&#39;s proof">Turing's first and second proofs</a>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTuring1936" class="citation journal cs1">Turing, A.M. (1936). <a rel="nofollow" class="external text" href="https://www.cs.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf">"On Computable Numbers, with an Application to the Entscheidungsproblem"</a> <span class="cs1-format">(PDF)</span>. <i>Proceedings of the London Mathematical Society</i>. 2. <b>42</b> (published 1937): 230–265. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1112%2Fplms%2Fs2-42.1.230">10.1112/plms/s2-42.1.230</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:73712">73712</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Proceedings+of+the+London+Mathematical+Society&amp;rft.atitle=On+Computable+Numbers%2C+with+an+Application+to+the+Entscheidungsproblem&amp;rft.volume=42&amp;rft.pages=230-265&amp;rft.date=1936&amp;rft_id=info%3Adoi%2F10.1112%2Fplms%2Fs2-42.1.230&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A73712%23id-name%3DS2CID&amp;rft.aulast=Turing&amp;rft.aufirst=A.M.&amp;rft_id=https%3A%2F%2Fwww.cs.ox.ac.uk%2Factivities%2Fieg%2Fe-library%2Fsources%2Ftp2-ie.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTuring1938" class="citation journal cs1">Turing, A.M. (1938). "On Computable Numbers, with an Application to the Entscheidungsproblem: A correction". <i>Proceedings of the London Mathematical Society</i>. 2. <b>43</b> (6) (published 1937): 544–6. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1112%2Fplms%2Fs2-43.6.544">10.1112/plms/s2-43.6.544</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Proceedings+of+the+London+Mathematical+Society&amp;rft.atitle=On+Computable+Numbers%2C+with+an+Application+to+the+Entscheidungsproblem%3A+A+correction&amp;rft.volume=43&amp;rft.issue=6&amp;rft.pages=544-6&amp;rft.date=1938&amp;rft_id=info%3Adoi%2F10.1112%2Fplms%2Fs2-43.6.544&amp;rft.aulast=Turing&amp;rft.aufirst=A.M.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span> Reprinted in <i>The Undecidable</i>, pp.&#160;115–154.</li> <li>Alan Turing, 1948, "Intelligent Machinery." Reprinted in "Cybernetics: Key Papers." Ed. C.R. Evans and A.D.J. Robertson. Baltimore: University Park Press, 1968. p.&#160;31. Reprinted in <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTuring1996" class="citation journal cs1">Turing, A. M. (1996). <a rel="nofollow" class="external text" href="https://doi.org/10.1093%2Fphilmat%2F4.3.256">"Intelligent Machinery, A Heretical Theory"</a>. <i>Philosophia Mathematica</i>. <b>4</b> (3): 256–260. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1093%2Fphilmat%2F4.3.256">10.1093/philmat/4.3.256</a></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Philosophia+Mathematica&amp;rft.atitle=Intelligent+Machinery%2C+A+Heretical+Theory&amp;rft.volume=4&amp;rft.issue=3&amp;rft.pages=256-260&amp;rft.date=1996&amp;rft_id=info%3Adoi%2F10.1093%2Fphilmat%2F4.3.256&amp;rft.aulast=Turing&amp;rft.aufirst=A.+M.&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1093%252Fphilmat%252F4.3.256&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li>F. C. Hennie and <a href="/wiki/R._E._Stearns" class="mw-redirect" title="R. E. Stearns">R. E. Stearns</a>. <i>Two-tape simulation of multitape Turing machines</i>. <a href="/wiki/JACM" class="mw-redirect" title="JACM">JACM</a>, 13(4):533–546, 1966.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Computability_theory">Computability theory</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=27" title="Edit section: Computability theory"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBoolosRichard_Jeffrey1999" class="citation book cs1">Boolos, George; Richard Jeffrey (1999) [1989]. <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/computabilitylog0000bool_r8y9"><i>Computability and Logic</i></a></span> (3rd&#160;ed.). Cambridge UK: Cambridge University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-521-20402-X" title="Special:BookSources/0-521-20402-X"><bdi>0-521-20402-X</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computability+and+Logic&amp;rft.place=Cambridge+UK&amp;rft.edition=3rd&amp;rft.pub=Cambridge+University+Press&amp;rft.date=1999&amp;rft.isbn=0-521-20402-X&amp;rft.aulast=Boolos&amp;rft.aufirst=George&amp;rft.au=Richard+Jeffrey&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fcomputabilitylog0000bool_r8y9&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBoolosJohn_BurgessRichard_Jeffrey2002" class="citation book cs1">Boolos, George; John Burgess; Richard Jeffrey (2002). <i>Computability and Logic</i> (4th&#160;ed.). Cambridge UK: Cambridge University Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-521-00758-5" title="Special:BookSources/0-521-00758-5"><bdi>0-521-00758-5</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computability+and+Logic&amp;rft.place=Cambridge+UK&amp;rft.edition=4th&amp;rft.pub=Cambridge+University+Press&amp;rft.date=2002&amp;rft.isbn=0-521-00758-5&amp;rft.aulast=Boolos&amp;rft.aufirst=George&amp;rft.au=John+Burgess&amp;rft.au=Richard+Jeffrey&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span> Some parts have been significantly rewritten by Burgess. Presentation of Turing machines in context of Lambek "abacus machines" (cf. <a href="/wiki/Register_machine" title="Register machine">Register machine</a>) and <a href="/wiki/Computable_function" title="Computable function">recursive functions</a>, showing their equivalence.</li> <li><a href="/wiki/Taylor_L._Booth" class="mw-redirect" title="Taylor L. Booth">Taylor L. Booth</a> (1967), <i>Sequential Machines and Automata Theory</i>, John Wiley and Sons, Inc., New York. Graduate level engineering text; ranges over a wide variety of topics, Chapter IX <i>Turing Machines</i> includes some recursion theory.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMartin_Davis1958" class="citation book cs1"><a href="/wiki/Martin_Davis_(mathematician)" title="Martin Davis (mathematician)">Martin Davis</a> (1958). <i>Computability and Unsolvability</i>. McGraw-Hill Book Company, Inc, New York.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computability+and+Unsolvability&amp;rft.pub=McGraw-Hill+Book+Company%2C+Inc%2C+New+York&amp;rft.date=1958&amp;rft.au=Martin+Davis&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span>. On pages 12–20 he gives examples of 5-tuple tables for Addition, The Successor Function, Subtraction (x ≥ y), Proper Subtraction (0 if x &lt; y), The Identity Function and various identity functions, and Multiplication.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFDavisRon_SigalElaine_J._Weyuker1994" class="citation book cs1">Davis, Martin; Ron Sigal; <a href="/wiki/Elaine_Weyuker" title="Elaine Weyuker">Elaine J. Weyuker</a> (1994). <i>Computability, Complexity, and Languages and Logic: Fundamentals of Theoretical Computer Science</i> (2nd&#160;ed.). San Diego: Academic Press, Harcourt, Brace &amp; Company. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-12-206382-1" title="Special:BookSources/0-12-206382-1"><bdi>0-12-206382-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computability%2C+Complexity%2C+and+Languages+and+Logic%3A+Fundamentals+of+Theoretical+Computer+Science&amp;rft.place=San+Diego&amp;rft.edition=2nd&amp;rft.pub=Academic+Press%2C+Harcourt%2C+Brace+%26+Company&amp;rft.date=1994&amp;rft.isbn=0-12-206382-1&amp;rft.aulast=Davis&amp;rft.aufirst=Martin&amp;rft.au=Ron+Sigal&amp;rft.au=Elaine+J.+Weyuker&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHennie1977" class="citation book cs1">Hennie, Fredrick (1977). <i>Introduction to Computability</i>. Addison–Wesley, Reading, Mass. QA248.5H4 1977.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Computability&amp;rft.pub=Addison%E2%80%93Wesley%2C+Reading%2C+Mass&amp;rft.date=1977&amp;rft.aulast=Hennie&amp;rft.aufirst=Fredrick&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span>. On pages 90–103 Hennie discusses the UTM with examples and flow-charts, but no actual 'code'.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHopcroftUllman1979" class="citation book cs1"><a href="/wiki/John_Hopcroft" title="John Hopcroft">Hopcroft, John</a>; <a href="/wiki/Jeffrey_Ullman" title="Jeffrey Ullman">Ullman, Jeffrey</a> (1979). <a href="/wiki/Introduction_to_Automata_Theory,_Languages,_and_Computation" title="Introduction to Automata Theory, Languages, and Computation"><i>Introduction to Automata Theory, Languages, and Computation</i></a> (1st&#160;ed.). Addison–Wesley, Reading Mass. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-201-02988-X" title="Special:BookSources/0-201-02988-X"><bdi>0-201-02988-X</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Automata+Theory%2C+Languages%2C+and+Computation&amp;rft.edition=1st&amp;rft.pub=Addison%E2%80%93Wesley%2C+Reading+Mass&amp;rft.date=1979&amp;rft.isbn=0-201-02988-X&amp;rft.aulast=Hopcroft&amp;rft.aufirst=John&amp;rft.au=Ullman%2C+Jeffrey&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span> Centered around the issues of machine-interpretation of "languages", NP-completeness, etc.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHopcroftRajeev_MotwaniJeffrey_D._Ullman2001" class="citation book cs1">Hopcroft, John E.; Rajeev Motwani; Jeffrey D. Ullman (2001). <i>Introduction to Automata Theory, Languages, and Computation</i> (2nd&#160;ed.). Reading Mass: Addison–Wesley. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-201-44124-1" title="Special:BookSources/0-201-44124-1"><bdi>0-201-44124-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Automata+Theory%2C+Languages%2C+and+Computation&amp;rft.place=Reading+Mass&amp;rft.edition=2nd&amp;rft.pub=Addison%E2%80%93Wesley&amp;rft.date=2001&amp;rft.isbn=0-201-44124-1&amp;rft.aulast=Hopcroft&amp;rft.aufirst=John+E.&amp;rft.au=Rajeev+Motwani&amp;rft.au=Jeffrey+D.+Ullman&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><a href="/wiki/Stephen_Kleene" class="mw-redirect" title="Stephen Kleene">Stephen Kleene</a> (1952), <i>Introduction to Metamathematics</i>, North–Holland Publishing Company, Amsterdam Netherlands, 10th impression (with corrections of 6th reprint 1971). Graduate level text; most of Chapter XIII <i>Computable functions</i> is on Turing machine proofs of computability of recursive functions, etc.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKnuth1973" class="citation book cs1"><a href="/wiki/Donald_Knuth" title="Donald Knuth">Knuth, Donald E.</a> (1973). <i>Volume 1/Fundamental Algorithms: The Art of computer Programming</i> (2nd&#160;ed.). Reading, Mass.: Addison–Wesley Publishing Company.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Volume+1%2FFundamental+Algorithms%3A+The+Art+of+computer+Programming&amp;rft.place=Reading%2C+Mass.&amp;rft.edition=2nd&amp;rft.pub=Addison%E2%80%93Wesley+Publishing+Company&amp;rft.date=1973&amp;rft.aulast=Knuth&amp;rft.aufirst=Donald+E.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span>. With reference to the role of Turing machines in the development of computation (both hardware and software) see 1.4.5 <i>History and Bibliography</i> pp.&#160;225ff and 2.6 <i>History and Bibliography</i>pp.&#160;456ff.</li> <li><a href="/wiki/Zohar_Manna" title="Zohar Manna">Zohar Manna</a>, 1974, <i><a href="/w/index.php?title=Mathematical_Theory_of_Computation&amp;action=edit&amp;redlink=1" class="new" title="Mathematical Theory of Computation (page does not exist)">Mathematical Theory of Computation</a></i>. Reprinted, Dover, 2003. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-486-43238-0" title="Special:BookSources/978-0-486-43238-0">978-0-486-43238-0</a></li> <li><a href="/wiki/Marvin_Minsky" title="Marvin Minsky">Marvin Minsky</a>, <i>Computation: Finite and Infinite Machines</i>, Prentice–Hall, Inc., N.J., 1967. See Chapter 8, Section 8.2 "Unsolvability of the Halting Problem."</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChristos_Papadimitriou1993" class="citation book cs1"><a href="/wiki/Christos_Papadimitriou" title="Christos Papadimitriou">Christos Papadimitriou</a> (1993). <i>Computational Complexity</i> (1st&#160;ed.). Addison Wesley. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-201-53082-1" title="Special:BookSources/0-201-53082-1"><bdi>0-201-53082-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computational+Complexity&amp;rft.edition=1st&amp;rft.pub=Addison+Wesley&amp;rft.date=1993&amp;rft.isbn=0-201-53082-1&amp;rft.au=Christos+Papadimitriou&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span> Chapter 2: Turing machines, pp.&#160;19–56.</li> <li><a href="/wiki/Hartley_Rogers,_Jr." class="mw-redirect" title="Hartley Rogers, Jr.">Hartley Rogers, Jr.</a>, <i>Theory of Recursive Functions and Effective Computability</i>, The MIT Press, Cambridge MA, paperback edition 1987, original McGraw-Hill edition 1967, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-262-68052-1" title="Special:BookSources/0-262-68052-1">0-262-68052-1</a> (pbk.)</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMichael_Sipser1997" class="citation book cs1"><a href="/wiki/Michael_Sipser" title="Michael Sipser">Michael Sipser</a> (1997). <a rel="nofollow" class="external text" href="https://archive.org/details/introductiontoth00sips"><i>Introduction to the Theory of Computation</i></a>. PWS Publishing. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-534-94728-X" title="Special:BookSources/0-534-94728-X"><bdi>0-534-94728-X</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+the+Theory+of+Computation&amp;rft.pub=PWS+Publishing&amp;rft.date=1997&amp;rft.isbn=0-534-94728-X&amp;rft.au=Michael+Sipser&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fintroductiontoth00sips&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span> Chapter 3: The Church–Turing Thesis, pp.&#160;125–149.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFStone1972" class="citation book cs1">Stone, Harold S. (1972). <i>Introduction to Computer Organization and Data Structures</i> (1st&#160;ed.). New York: McGraw–Hill Book Company. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-07-061726-0" title="Special:BookSources/0-07-061726-0"><bdi>0-07-061726-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Introduction+to+Computer+Organization+and+Data+Structures&amp;rft.place=New+York&amp;rft.edition=1st&amp;rft.pub=McGraw%E2%80%93Hill+Book+Company&amp;rft.date=1972&amp;rft.isbn=0-07-061726-0&amp;rft.aulast=Stone&amp;rft.aufirst=Harold+S.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><a href="/wiki/Peter_van_Emde_Boas" title="Peter van Emde Boas">Peter van Emde Boas</a> 1990, <i>Machine Models and Simulations</i>, pp.&#160;3–66, in <a href="/wiki/Jan_van_Leeuwen" title="Jan van Leeuwen">Jan van Leeuwen</a>, ed., <i>Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity</i>, The MIT Press/Elsevier, [place?], <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-444-88071-2" title="Special:BookSources/0-444-88071-2">0-444-88071-2</a> (Volume A). QA76.H279 1990.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Church's_thesis"><span id="Church.27s_thesis"></span>Church's thesis</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=28" title="Edit section: Church&#039;s thesis"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFNachum_DershowitzYuri_Gurevich2008" class="citation journal cs1">Nachum Dershowitz; Yuri Gurevich (September 2008). <a rel="nofollow" class="external text" href="http://research.microsoft.com/en-us/um/people/gurevich/Opera/188.pdf">"A natural axiomatization of computability and proof of Church's Thesis"</a> <span class="cs1-format">(PDF)</span>. <i>Bulletin of Symbolic Logic</i>. <b>14</b> (3)<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-10-15</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Bulletin+of+Symbolic+Logic&amp;rft.atitle=A+natural+axiomatization+of+computability+and+proof+of+Church%27s+Thesis&amp;rft.volume=14&amp;rft.issue=3&amp;rft.date=2008-09&amp;rft.au=Nachum+Dershowitz&amp;rft.au=Yuri+Gurevich&amp;rft_id=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Fgurevich%2FOpera%2F188.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRoger_Penrose1990" class="citation book cs1"><a href="/wiki/Roger_Penrose" title="Roger Penrose">Roger Penrose</a> (1990) [1989]. <i>The Emperor's New Mind</i> (2nd&#160;ed.). Oxford University Press, New York. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-19-851973-7" title="Special:BookSources/0-19-851973-7"><bdi>0-19-851973-7</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Emperor%27s+New+Mind&amp;rft.edition=2nd&amp;rft.pub=Oxford+University+Press%2C+New+York&amp;rft.date=1990&amp;rft.isbn=0-19-851973-7&amp;rft.au=Roger+Penrose&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li></ul> <div class="mw-heading mw-heading3"><h3 id="Small_Turing_machines">Small Turing machines</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=29" title="Edit section: Small Turing machines"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Rogozhin, Yurii, 1998, "<a rel="nofollow" class="external text" href="https://web.archive.org/web/20050308141040/http://www.imt.ro/Romjist/Volum1/Vol1_3/turing.htm">A Universal Turing Machine with 22 States and 2 Symbols</a>", <i>Romanian Journal of Information Science and Technology</i>, 1(3), 259–265, 1998. (surveys known results about small universal Turing machines)</li> <li><a href="/wiki/Stephen_Wolfram" title="Stephen Wolfram">Stephen Wolfram</a>, 2002, <a rel="nofollow" class="external text" href="http://www.wolframscience.com/nksonline/page-707"><i>A New Kind of Science</i></a>, Wolfram Media, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/1-57955-008-8" title="Special:BookSources/1-57955-008-8">1-57955-008-8</a></li> <li>Brunfiel, Geoff, <a rel="nofollow" class="external text" href="http://www.nature.com/news/2007/071024/full/news.2007.190.html">Student snags maths prize</a>, <i>Nature</i>, October 24. 2007.</li> <li>Jim Giles (2007), <a rel="nofollow" class="external text" href="https://www.newscientist.com/article/dn12826-simplest-universal-computer-wins-student-25000.html">Simplest 'universal computer' wins student $25,000</a>, New Scientist, October 24, 2007.</li> <li>Alex Smith, <a rel="nofollow" class="external text" href="http://www.wolframscience.com/prizes/tm23/TM23Proof.pdf">Universality of Wolfram's 2, 3 Turing Machine</a>, Submission for the Wolfram 2, 3 Turing Machine Research Prize.</li> <li>Vaughan Pratt, 2007, "<a rel="nofollow" class="external text" href="http://cs.nyu.edu/pipermail/fom/2007-October/012156.html">Simple Turing machines, Universality, Encodings, etc.</a>", FOM email list. October 29, 2007.</li> <li>Martin Davis, 2007, "<a rel="nofollow" class="external text" href="http://cs.nyu.edu/pipermail/fom/2007-October/012132.html">Smallest universal machine</a>", and <a rel="nofollow" class="external text" href="http://cs.nyu.edu/pipermail/fom/2007-October/012145.html">Definition of universal Turing machine</a> FOM email list. October 26–27, 2007.</li> <li>Alasdair Urquhart, 2007 "<a rel="nofollow" class="external text" href="http://cs.nyu.edu/pipermail/fom/2007-October/012140.html">Smallest universal machine</a>", FOM email list. October 26, 2007.</li> <li>Hector Zenil (Wolfram Research), 2007 "<a rel="nofollow" class="external text" href="http://cs.nyu.edu/pipermail/fom/2007-October/012163.html">smallest universal machine</a>", FOM email list. October 29, 2007.</li> <li>Todd Rowland, 2007, "<a rel="nofollow" class="external text" href="http://forum.wolframscience.com/showthread.php?s=&amp;threadid=1472">Confusion on FOM</a>", Wolfram Science message board, October 30, 2007.</li> <li>Olivier and Marc RAYNAUD, 2014, <a rel="nofollow" class="external text" href="http://www.machinedeturing.com/ang_default.asp">A programmable prototype to achieve Turing machines</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160114140003/http://machinedeturing.com/ang_default.asp">Archived</a> 2016-01-14 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>" LIMOS Laboratory of Blaise Pascal University (Clermont-Ferrand in France).</li></ul> <div class="mw-heading mw-heading3"><h3 id="Other">Other</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=30" title="Edit section: Other"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMartin_Davis2000" class="citation book cs1"><a href="/wiki/Martin_Davis_(mathematician)" title="Martin Davis (mathematician)">Martin Davis</a> (2000). <i>Engines of Logic: Mathematicians and the origin of the Computer</i> (1st&#160;ed.). W. W. Norton &amp; Company, New York. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-393-32229-3" title="Special:BookSources/978-0-393-32229-3"><bdi>978-0-393-32229-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Engines+of+Logic%3A+Mathematicians+and+the+origin+of+the+Computer&amp;rft.edition=1st&amp;rft.pub=W.+W.+Norton+%26+Company%2C+New+York&amp;rft.date=2000&amp;rft.isbn=978-0-393-32229-3&amp;rft.au=Martin+Davis&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><a href="/wiki/Robin_Gandy" title="Robin Gandy">Robin Gandy</a>, "The Confluence of Ideas in 1936", pp.&#160;51–102 in <a href="/w/index.php?title=Rolf_Herken&amp;action=edit&amp;redlink=1" class="new" title="Rolf Herken (page does not exist)">Rolf Herken</a>, see below.</li> <li><a href="/wiki/Stephen_Hawking" title="Stephen Hawking">Stephen Hawking</a> (editor), 2005, <i>God Created the Integers: The Mathematical Breakthroughs that Changed History</i>, Running Press, Philadelphia, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-7624-1922-7" title="Special:BookSources/978-0-7624-1922-7">978-0-7624-1922-7</a>. Includes Turing's 1936–1937 paper, with brief commentary and biography of Turing as written by Hawking.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRolf_Herken1995" class="citation book cs1">Rolf Herken (1995). <i>The Universal Turing Machine—A Half-Century Survey</i>. Springer Verlag. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-211-82637-9" title="Special:BookSources/978-3-211-82637-9"><bdi>978-3-211-82637-9</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Universal+Turing+Machine%E2%80%94A+Half-Century+Survey&amp;rft.pub=Springer+Verlag&amp;rft.date=1995&amp;rft.isbn=978-3-211-82637-9&amp;rft.au=Rolf+Herken&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><a href="/wiki/Andrew_Hodges" title="Andrew Hodges">Andrew Hodges</a>, <i><a href="/wiki/Alan_Turing:_The_Enigma" title="Alan Turing: The Enigma">Alan Turing: The Enigma</a></i>, <a href="/wiki/Simon_and_Schuster" class="mw-redirect" title="Simon and Schuster">Simon and Schuster</a>, New York. Cf. Chapter "The Spirit of Truth" for a history leading to, and a discussion of, his proof.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFIvars_Peterson1988" class="citation book cs1"><a href="/wiki/Ivars_Peterson" title="Ivars Peterson">Ivars Peterson</a> (1988). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/mathematicaltour00pete"><i>The Mathematical Tourist: Snapshots of Modern Mathematics</i></a></span> (1st&#160;ed.). W. H. Freeman and Company, New York. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-7167-2064-5" title="Special:BookSources/978-0-7167-2064-5"><bdi>978-0-7167-2064-5</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=The+Mathematical+Tourist%3A+Snapshots+of+Modern+Mathematics&amp;rft.edition=1st&amp;rft.pub=W.+H.+Freeman+and+Company%2C+New+York&amp;rft.date=1988&amp;rft.isbn=978-0-7167-2064-5&amp;rft.au=Ivars+Peterson&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fmathematicaltour00pete&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><a href="/wiki/Roger_Penrose" title="Roger Penrose">Roger Penrose</a>, <i>The Emperor's New Mind: Concerning Computers, Minds, and the Laws of Physics</i>, <a href="/wiki/Oxford_University_Press" title="Oxford University Press">Oxford University Press</a>, Oxford and New York, 1989 (1990 corrections), <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-19-851973-7" title="Special:BookSources/0-19-851973-7">0-19-851973-7</a>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPaul_Strathern1997" class="citation book cs1"><a href="/wiki/Paul_Strathern" title="Paul Strathern">Paul Strathern</a> (1997). <a rel="nofollow" class="external text" href="https://archive.org/details/turingcomputer00stra"><i>Turing and the Computer—The Big Idea</i></a>. Anchor Books/Doubleday. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-385-49243-0" title="Special:BookSources/978-0-385-49243-0"><bdi>978-0-385-49243-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Turing+and+the+Computer%E2%80%94The+Big+Idea&amp;rft.pub=Anchor+Books%2FDoubleday&amp;rft.date=1997&amp;rft.isbn=978-0-385-49243-0&amp;rft.au=Paul+Strathern&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fturingcomputer00stra&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><a href="/wiki/Hao_Wang_(academic)" title="Hao Wang (academic)">Hao Wang</a>, "A variant to Turing's theory of computing machines", <i>Journal of the Association for Computing Machinery</i> (JACM) 4, 63–92 (1957).</li> <li><a href="/wiki/Charles_Petzold" title="Charles Petzold">Charles Petzold</a>, <a rel="nofollow" class="external text" href="http://www.theannotatedturing.com/"><i>The Annotated Turing</i></a>, John Wiley &amp; Sons, Inc., <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-470-22905-5" title="Special:BookSources/0-470-22905-5">0-470-22905-5</a></li> <li>Arora, Sanjeev; Barak, Boaz, <a rel="nofollow" class="external text" href="http://www.cs.princeton.edu/theory/complexity/">"Complexity Theory: A Modern Approach"</a>, Cambridge University Press, 2009, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-521-42426-4" title="Special:BookSources/978-0-521-42426-4">978-0-521-42426-4</a>, section 1.4, "Machines as strings and the universal Turing machine" and 1.7, "Proof of theorem 1.9"</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFKantorovitz2005" class="citation journal cs1">Kantorovitz, Isaiah Pinchas (December 1, 2005). "A note on turing machine computability of rule driven systems". <i><a href="/wiki/SIGACT_News" class="mw-redirect" title="SIGACT News">SIGACT News</a></i>. <b>36</b> (4): 109–110. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F1107523.1107525">10.1145/1107523.1107525</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:31117713">31117713</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=SIGACT+News&amp;rft.atitle=A+note+on+turing+machine+computability+of+rule+driven+systems&amp;rft.volume=36&amp;rft.issue=4&amp;rft.pages=109-110&amp;rft.date=2005-12-01&amp;rft_id=info%3Adoi%2F10.1145%2F1107523.1107525&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A31117713%23id-name%3DS2CID&amp;rft.aulast=Kantorovitz&amp;rft.aufirst=Isaiah+Pinchas&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li>Kirner, Raimund; Zimmermann, Wolf; Richter, Dirk: <a rel="nofollow" class="external text" href="http://researchprofiles.herts.ac.uk/portal/en/publications/on-undecidability-results-of-real-programming-languages(d3f3aac0-d9da-4756-a421-b4f9ae0cf95f).html">"On Undecidability Results of Real Programming Languages"</a>, In 15. Kolloquium Programmiersprachen und Grundlagen der Programmierung (KPS'09), Maria Taferl, Austria, Oct. 2009.</li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Turing_machine&amp;action=edit&amp;section=31" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409"> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png" decoding="async" width="30" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/45px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/59px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></span></span></div> <div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:Turing_machines" class="extiw" title="commons:Category:Turing machines">Turing machines</a></span>.</div></div> </div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://www.encyclopediaofmath.org/index.php?title=Turing_machine">"Turing machine"</a>, <i><a href="/wiki/Encyclopedia_of_Mathematics" title="Encyclopedia of Mathematics">Encyclopedia of Mathematics</a></i>, <a href="/wiki/European_Mathematical_Society" title="European Mathematical Society">EMS Press</a>, 2001 [1994]</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Turing+machine&amp;rft.btitle=Encyclopedia+of+Mathematics&amp;rft.pub=EMS+Press&amp;rft.date=2001&amp;rft_id=https%3A%2F%2Fwww.encyclopediaofmath.org%2Findex.php%3Ftitle%3DTuring_machine&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ATuring+machine" class="Z3988"></span></li> <li><a rel="nofollow" class="external text" href="http://plato.stanford.edu/entries/turing-machine/">Turing Machine</a> – <a href="/wiki/Stanford_Encyclopedia_of_Philosophy" title="Stanford Encyclopedia of Philosophy">Stanford Encyclopedia of Philosophy</a></li> <li><a rel="nofollow" class="external text" href="http://demonstrations.wolfram.com/TuringMachineCausalNetworks/">Turing Machine Causal Networks</a> by Enrique Zeleny as part of the <a href="/wiki/Wolfram_Demonstrations_Project" title="Wolfram Demonstrations Project">Wolfram Demonstrations Project</a>.</li></ul> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409"><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Automata_theory:_formal_languages_and_formal_grammars" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Formal_languages_and_grammars" title="Template:Formal languages and grammars"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Formal_languages_and_grammars" title="Template talk:Formal languages and grammars"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Formal_languages_and_grammars" title="Special:EditPage/Template:Formal languages and grammars"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Automata_theory:_formal_languages_and_formal_grammars" style="font-size:114%;margin:0 4em"><a href="/wiki/Automata_theory" title="Automata theory">Automata theory</a>: <a href="/wiki/Formal_language" title="Formal language">formal languages</a> and <a href="/wiki/Formal_grammar" title="Formal grammar">formal grammars</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd plainlist" style="width:100%;padding:0;background:transparent;color:inherit;"><div style="padding:0px"><table class="navbox-columns-table" style="border-spacing: 0px; text-align:left;width:100%;"><tbody><tr><td class="navbox-abovebelow" style="font-weight:bold;"><a href="/wiki/Chomsky_hierarchy" title="Chomsky hierarchy">Chomsky hierarchy</a></td><td class="navbox-abovebelow" style="border-left:2px solid #fdfdfd;font-weight:bold;"><a href="/wiki/Formal_grammar" title="Formal grammar">Grammars</a></td><td class="navbox-abovebelow" style="border-left:2px solid #fdfdfd;font-weight:bold;"><a href="/wiki/Formal_language" title="Formal language">Languages</a></td><td class="navbox-abovebelow" style="border-left:2px solid #fdfdfd;font-weight:bold;"><a href="/wiki/Abstract_machine" title="Abstract machine">Abstract machines</a></td></tr><tr style="vertical-align:top"><td class="navbox-list" style="padding:0px;text-align: center;width:10em;"><div> <ul><li>Type-0</li> <li>—</li> <li>Type-1</li> <li>—</li> <li>—</li> <li>—</li> <li>—</li> <li>—</li> <li>Type-2</li> <li>—</li> <li>—</li> <li>Type-3</li> <li>—</li> <li>—</li></ul> </div></td><td class="navbox-list" style="border-left:2px solid #fdfdfd;padding:0px;width:10em;"><div> <ul><li><a href="/wiki/Unrestricted_grammar" title="Unrestricted grammar">Unrestricted</a></li> <li>(no common name)</li> <li><a href="/wiki/Context-sensitive_grammar" title="Context-sensitive grammar">Context-sensitive</a></li> <li><span style="white-space:nowrap;">Positive <a href="/wiki/Range_concatenation_grammars" class="mw-redirect" title="Range concatenation grammars">range concatenation</a></span></li> <li><a href="/wiki/Indexed_grammar" title="Indexed grammar">Indexed</a></li> <li>—</li> <li><a href="/wiki/Linear_context-free_rewriting_system" class="mw-redirect" title="Linear context-free rewriting system">Linear context-free rewriting systems</a></li> <li><a href="/wiki/Tree-adjoining_grammar" title="Tree-adjoining grammar">Tree-adjoining</a></li> <li><a href="/wiki/Context-free_grammar" title="Context-free grammar">Context-free</a></li> <li><a href="/wiki/Deterministic_context-free_grammar" title="Deterministic context-free grammar">Deterministic context-free</a></li> <li><a href="/wiki/Nested_word" title="Nested word">Visibly pushdown</a></li> <li><a href="/wiki/Regular_grammar" title="Regular grammar">Regular</a></li> <li>—</li> <li><a href="/wiki/Non-recursive_grammar" class="mw-redirect" title="Non-recursive grammar">Non-recursive</a></li></ul> </div></td><td class="navbox-list" style="border-left:2px solid #fdfdfd;padding:0px;width:10em;"><div> <ul><li><a href="/wiki/Recursively_enumerable_language" title="Recursively enumerable language">Recursively enumerable</a></li> <li><a href="/wiki/Recursive_language" title="Recursive language">Decidable</a></li> <li><a href="/wiki/Context-sensitive_language" title="Context-sensitive language">Context-sensitive</a></li> <li><span style="white-space:nowrap;">Positive <a href="/wiki/Range_concatenation_language" class="mw-redirect" title="Range concatenation language">range concatenation</a><sup>*</sup></span></li> <li><a href="/wiki/Indexed_language" title="Indexed language">Indexed</a><sup>*</sup></li> <li>—</li> <li><a href="/wiki/Linear_context-free_rewriting_language" class="mw-redirect" title="Linear context-free rewriting language">Linear context-free rewriting language</a></li> <li><a href="/wiki/Tree-adjoining_grammar" title="Tree-adjoining grammar">Tree-adjoining</a></li> <li><a href="/wiki/Context-free_language" title="Context-free language">Context-free</a></li> <li><a href="/wiki/Deterministic_context-free_language" title="Deterministic context-free language">Deterministic context-free</a></li> <li><a href="/wiki/Nested_word" title="Nested word">Visibly pushdown</a></li> <li><a href="/wiki/Regular_language" title="Regular language">Regular</a></li> <li><a href="/wiki/Star-free_language" title="Star-free language">Star-free</a></li> <li><a href="/wiki/Finite_language" class="mw-redirect" title="Finite language">Finite</a></li></ul> </div></td><td class="navbox-list" style="border-left:2px solid #fdfdfd;padding:0px;width:10em;"><div> <ul><li><a class="mw-selflink selflink">Turing machine</a></li> <li><a href="/wiki/Decider_(Turing_machine)" title="Decider (Turing machine)">Decider</a></li> <li><a href="/wiki/Linear_bounded_automaton" title="Linear bounded automaton">Linear-bounded</a></li> <li><a href="/wiki/PTIME" class="mw-redirect" title="PTIME">PTIME</a> Turing Machine</li> <li><a href="/wiki/Nested_stack_automaton" title="Nested stack automaton">Nested stack</a></li> <li><a href="/wiki/Thread_automaton" title="Thread automaton">Thread automaton</a></li> <li>restricted <a href="/wiki/Tree_stack_automaton" title="Tree stack automaton">Tree stack automaton</a></li> <li><a href="/wiki/Embedded_pushdown_automaton" title="Embedded pushdown automaton">Embedded pushdown</a></li> <li><a href="/wiki/Pushdown_automaton" title="Pushdown automaton">Nondeterministic pushdown</a></li> <li><a href="/wiki/Deterministic_pushdown_automaton" title="Deterministic pushdown automaton">Deterministic pushdown</a></li> <li><a href="/wiki/Nested_word" title="Nested word">Visibly pushdown</a></li> <li><a href="/wiki/Finite-state_machine" title="Finite-state machine">Finite</a></li> <li><a href="/wiki/Aperiodic_finite_state_automaton" title="Aperiodic finite state automaton">Counter-free (with aperiodic finite monoid)</a></li> <li><a href="/wiki/Deterministic_acyclic_finite_state_automaton" title="Deterministic acyclic finite state automaton">Acyclic finite</a></li></ul> </div></td></tr></tbody></table></div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><span style="white-space:nowrap;">Each category of languages, except those marked by a <sup>*</sup>, is a <a href="/wiki/Proper_subset" class="mw-redirect" title="Proper subset">proper subset</a> of the category directly above it.</span> <span style="white-space:nowrap;">Any language in each category is generated by a grammar and by an automaton in the category in the same line.</span></div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Mathematical_logic" style="padding:3px"><table class="nowraplinks mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Mathematical_logic" title="Template:Mathematical logic"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Mathematical_logic" title="Template talk:Mathematical logic"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Mathematical_logic" title="Special:EditPage/Template:Mathematical logic"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Mathematical_logic" style="font-size:114%;margin:0 4em"><a href="/wiki/Mathematical_logic" title="Mathematical logic">Mathematical logic</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Axiom" title="Axiom">Axiom</a> <ul><li><a href="/wiki/List_of_axioms" title="List of axioms">list</a></li></ul></li> <li><a href="/wiki/Cardinality" title="Cardinality">Cardinality</a></li> <li><a href="/wiki/First-order_logic" title="First-order logic">First-order logic</a></li> <li><a href="/wiki/Formal_proof" title="Formal proof">Formal proof</a></li> <li><a href="/wiki/Formal_semantics_(logic)" class="mw-redirect" title="Formal semantics (logic)">Formal semantics</a></li> <li><a href="/wiki/Foundations_of_mathematics" title="Foundations of mathematics">Foundations of mathematics</a></li> <li><a href="/wiki/Information_theory" title="Information theory">Information theory</a></li> <li><a href="/wiki/Lemma_(mathematics)" title="Lemma (mathematics)">Lemma</a></li> <li><a href="/wiki/Logical_consequence" title="Logical consequence">Logical consequence</a></li> <li><a href="/wiki/Structure_(mathematical_logic)" title="Structure (mathematical logic)">Model</a></li> <li><a href="/wiki/Theorem" title="Theorem">Theorem</a></li> <li><a href="/wiki/Theory_(mathematical_logic)" title="Theory (mathematical logic)">Theory</a></li> <li><a href="/wiki/Type_theory" title="Type theory">Type theory</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Theorems&#160;(<a href="/wiki/Category:Theorems_in_the_foundations_of_mathematics" title="Category:Theorems in the foundations of mathematics">list</a>)<br />&#160;and&#160;<a href="/wiki/Paradoxes_of_set_theory" title="Paradoxes of set theory">paradoxes</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/G%C3%B6del%27s_completeness_theorem" title="Gödel&#39;s completeness theorem">Gödel's completeness</a>&#160;and&#160;<a href="/wiki/G%C3%B6del%27s_incompleteness_theorems" title="Gödel&#39;s incompleteness theorems">incompleteness theorems</a></li> <li><a href="/wiki/Tarski%27s_undefinability_theorem" title="Tarski&#39;s undefinability theorem">Tarski's undefinability</a></li> <li><a href="/wiki/Banach%E2%80%93Tarski_paradox" title="Banach–Tarski paradox">Banach–Tarski paradox</a></li> <li>Cantor's&#160;<a href="/wiki/Cantor%27s_theorem" title="Cantor&#39;s theorem">theorem,</a>&#160;<a href="/wiki/Cantor%27s_paradox" title="Cantor&#39;s paradox">paradox</a>&#160;and&#160;<a href="/wiki/Cantor%27s_diagonal_argument" title="Cantor&#39;s diagonal argument">diagonal argument</a></li> <li><a href="/wiki/Compactness_theorem" title="Compactness theorem">Compactness</a></li> <li><a href="/wiki/Halting_problem" title="Halting problem">Halting problem</a></li> <li><a href="/wiki/Lindstr%C3%B6m%27s_theorem" title="Lindström&#39;s theorem">Lindström's</a></li> <li><a href="/wiki/L%C3%B6wenheim%E2%80%93Skolem_theorem" title="Löwenheim–Skolem theorem">Löwenheim–Skolem</a></li> <li><a href="/wiki/Russell%27s_paradox" title="Russell&#39;s paradox">Russell's paradox</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Logic" title="Logic">Logics</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th id="Traditional" scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Term_logic" title="Term logic">Traditional</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Classical_logic" title="Classical logic">Classical logic</a></li> <li><a href="/wiki/Logical_truth" title="Logical truth">Logical truth</a></li> <li><a href="/wiki/Tautology_(logic)" title="Tautology (logic)">Tautology</a></li> <li><a href="/wiki/Proposition" title="Proposition">Proposition</a></li> <li><a href="/wiki/Inference" title="Inference">Inference</a></li> <li><a href="/wiki/Logical_equivalence" title="Logical equivalence">Logical equivalence</a></li> <li><a href="/wiki/Consistency" title="Consistency">Consistency</a> <ul><li><a href="/wiki/Equiconsistency" title="Equiconsistency">Equiconsistency</a></li></ul></li> <li><a href="/wiki/Argument" title="Argument">Argument</a></li> <li><a href="/wiki/Soundness" title="Soundness">Soundness</a></li> <li><a href="/wiki/Validity_(logic)" title="Validity (logic)">Validity</a></li> <li><a href="/wiki/Syllogism" title="Syllogism">Syllogism</a></li> <li><a href="/wiki/Square_of_opposition" title="Square of opposition">Square of opposition</a></li> <li><a href="/wiki/Venn_diagram" title="Venn diagram">Venn diagram</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Propositional_calculus" title="Propositional calculus">Propositional</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Boolean_algebra" title="Boolean algebra">Boolean algebra</a></li> <li><a href="/wiki/Boolean_function" title="Boolean function">Boolean functions</a></li> <li><a href="/wiki/Logical_connective" title="Logical connective">Logical connectives</a></li> <li><a href="/wiki/Propositional_calculus" title="Propositional calculus">Propositional calculus</a></li> <li><a href="/wiki/Propositional_formula" title="Propositional formula">Propositional formula</a></li> <li><a href="/wiki/Truth_table" title="Truth table">Truth tables</a></li> <li><a href="/wiki/Many-valued_logic" title="Many-valued logic">Many-valued logic</a> <ul><li><a href="/wiki/Three-valued_logic" title="Three-valued logic">3</a></li> <li><a href="/wiki/Finite-valued_logic" title="Finite-valued logic">finite</a></li> <li><a href="/wiki/Infinite-valued_logic" title="Infinite-valued logic">∞</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Predicate_logic" class="mw-redirect" title="Predicate logic">Predicate</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/First-order_logic" title="First-order logic">First-order</a> <ul><li><a href="/wiki/List_of_first-order_theories" title="List of first-order theories"><span style="font-size:85%;">list</span></a></li></ul></li> <li><a href="/wiki/Second-order_logic" title="Second-order logic">Second-order</a> <ul><li><a href="/wiki/Monadic_second-order_logic" title="Monadic second-order logic">Monadic</a></li></ul></li> <li><a href="/wiki/Higher-order_logic" title="Higher-order logic">Higher-order</a></li> <li><a href="/wiki/Fixed-point_logic" title="Fixed-point logic">Fixed-point</a></li> <li><a href="/wiki/Free_logic" title="Free logic">Free</a></li> <li><a href="/wiki/Quantifier_(logic)" title="Quantifier (logic)">Quantifiers</a></li> <li><a href="/wiki/Predicate_(mathematical_logic)" title="Predicate (mathematical logic)">Predicate</a></li> <li><a href="/wiki/Monadic_predicate_calculus" title="Monadic predicate calculus">Monadic predicate calculus</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Set_theory" title="Set theory">Set theory</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Zermelo%E2%80%93Fraenkel_set_theory" title="Zermelo–Fraenkel set theory">Set</a> <ul><li><a href="/wiki/Hereditary_set" title="Hereditary set">hereditary</a></li></ul></li> <li><a href="/wiki/Class_(set_theory)" title="Class (set theory)">Class</a></li> <li>(<a href="/wiki/Urelement" title="Urelement">Ur-</a>)<a href="/wiki/Element_(mathematics)" title="Element (mathematics)">Element</a></li> <li><a href="/wiki/Ordinal_number" title="Ordinal number">Ordinal number</a></li> <li><a href="/wiki/Extensionality" title="Extensionality">Extensionality</a></li> <li><a href="/wiki/Forcing_(mathematics)" title="Forcing (mathematics)">Forcing</a></li> <li><a href="/wiki/Relation_(mathematics)" title="Relation (mathematics)">Relation</a> <ul><li><a href="/wiki/Equivalence_relation" title="Equivalence relation">equivalence</a></li> <li><a href="/wiki/Partition_of_a_set" title="Partition of a set">partition</a></li></ul></li> <li>Set operations: <ul><li><a href="/wiki/Intersection_(set_theory)" title="Intersection (set theory)">intersection</a></li> <li><a href="/wiki/Union_(set_theory)" title="Union (set theory)">union</a></li> <li><a href="/wiki/Complement_(set_theory)" title="Complement (set theory)">complement</a></li> <li><a href="/wiki/Cartesian_product" title="Cartesian product">Cartesian product</a></li> <li><a href="/wiki/Power_set" title="Power set">power set</a></li> <li><a href="/wiki/List_of_set_identities_and_relations" title="List of set identities and relations">identities</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Types of <a href="/wiki/Set_(mathematics)" title="Set (mathematics)">sets</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Countable_set" title="Countable set">Countable</a></li> <li><a href="/wiki/Uncountable_set" title="Uncountable set">Uncountable</a></li> <li><a href="/wiki/Empty_set" title="Empty set">Empty</a></li> <li><a href="/wiki/Inhabited_set" title="Inhabited set">Inhabited</a></li> <li><a href="/wiki/Singleton_(mathematics)" title="Singleton (mathematics)">Singleton</a></li> <li><a href="/wiki/Finite_set" title="Finite set">Finite</a></li> <li><a href="/wiki/Infinite_set" title="Infinite set">Infinite</a></li> <li><a href="/wiki/Transitive_set" title="Transitive set">Transitive</a></li> <li><a href="/wiki/Ultrafilter_(set_theory)" class="mw-redirect" title="Ultrafilter (set theory)">Ultrafilter</a></li> <li><a href="/wiki/Recursive_set" class="mw-redirect" title="Recursive set">Recursive</a></li> <li><a href="/wiki/Fuzzy_set" title="Fuzzy set">Fuzzy</a></li> <li><a href="/wiki/Universal_set" title="Universal set">Universal</a></li> <li><a href="/wiki/Universe_(mathematics)" title="Universe (mathematics)">Universe</a> <ul><li><a href="/wiki/Constructible_universe" title="Constructible universe">constructible</a></li> <li><a href="/wiki/Grothendieck_universe" title="Grothendieck universe">Grothendieck</a></li> <li><a href="/wiki/Von_Neumann_universe" title="Von Neumann universe">Von Neumann</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Map_(mathematics)" title="Map (mathematics)">Maps</a>&#160;and&#160;<a href="/wiki/Cardinality" title="Cardinality">cardinality</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Function_(mathematics)" title="Function (mathematics)">Function</a>/<a href="/wiki/Map_(mathematics)" title="Map (mathematics)">Map</a> <ul><li><a href="/wiki/Domain_of_a_function" title="Domain of a function">domain</a></li> <li><a href="/wiki/Codomain" title="Codomain">codomain</a></li> <li><a href="/wiki/Image_(mathematics)" title="Image (mathematics)">image</a></li></ul></li> <li><a href="/wiki/Injective_function" title="Injective function">In</a>/<a href="/wiki/Surjective_function" title="Surjective function">Sur</a>/<a href="/wiki/Bijection" title="Bijection">Bi</a>-jection</li> <li><a href="/wiki/Schr%C3%B6der%E2%80%93Bernstein_theorem" title="Schröder–Bernstein theorem">Schröder–Bernstein theorem</a></li> <li><a href="/wiki/Isomorphism" title="Isomorphism">Isomorphism</a></li> <li><a href="/wiki/G%C3%B6del_numbering" title="Gödel numbering">Gödel numbering</a></li> <li><a href="/wiki/Enumeration" title="Enumeration">Enumeration</a></li> <li><a href="/wiki/Large_cardinal" title="Large cardinal">Large cardinal</a> <ul><li><a href="/wiki/Inaccessible_cardinal" title="Inaccessible cardinal">inaccessible</a></li></ul></li> <li><a href="/wiki/Aleph_number" title="Aleph number">Aleph number</a></li> <li><a href="/wiki/Operation_(mathematics)" title="Operation (mathematics)">Operation</a> <ul><li><a href="/wiki/Binary_operation" title="Binary operation">binary</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Set theories</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Zermelo%E2%80%93Fraenkel_set_theory" title="Zermelo–Fraenkel set theory">Zermelo–Fraenkel</a> <ul><li><a href="/wiki/Axiom_of_choice" title="Axiom of choice">axiom of choice</a></li> <li><a href="/wiki/Continuum_hypothesis" title="Continuum hypothesis">continuum hypothesis</a></li></ul></li> <li><a href="/wiki/General_set_theory" title="General set theory">General</a></li> <li><a href="/wiki/Kripke%E2%80%93Platek_set_theory" title="Kripke–Platek set theory">Kripke–Platek</a></li> <li><a href="/wiki/Morse%E2%80%93Kelley_set_theory" title="Morse–Kelley set theory">Morse–Kelley</a></li> <li><a href="/wiki/Naive_set_theory" title="Naive set theory">Naive</a></li> <li><a href="/wiki/New_Foundations" title="New Foundations">New Foundations</a></li> <li><a href="/wiki/Tarski%E2%80%93Grothendieck_set_theory" title="Tarski–Grothendieck set theory">Tarski–Grothendieck</a></li> <li><a href="/wiki/Von_Neumann%E2%80%93Bernays%E2%80%93G%C3%B6del_set_theory" title="Von Neumann–Bernays–Gödel set theory">Von Neumann–Bernays–Gödel</a></li> <li><a href="/wiki/Ackermann_set_theory" title="Ackermann set theory">Ackermann</a></li> <li><a href="/wiki/Constructive_set_theory" title="Constructive set theory">Constructive</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Formal_system" title="Formal system">Formal systems</a>&#160;(<a href="/wiki/List_of_formal_systems" title="List of formal systems"><span style="font-size:85%;">list</span></a>),<br /><a href="/wiki/Formal_language" title="Formal language">language</a>&#160;and&#160;<a href="/wiki/Syntax_(logic)" title="Syntax (logic)">syntax</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Alphabet_(formal_languages)" title="Alphabet (formal languages)">Alphabet</a></li> <li><a href="/wiki/Arity" title="Arity">Arity</a></li> <li><a href="/wiki/Automata_theory" title="Automata theory">Automata</a></li> <li><a href="/wiki/Axiom_schema" title="Axiom schema">Axiom schema</a></li> <li><a href="/wiki/Expression_(mathematics)" title="Expression (mathematics)">Expression</a> <ul><li><a href="/wiki/Ground_expression" title="Ground expression">ground</a></li></ul></li> <li><a href="/wiki/Extension_by_new_constant_and_function_names" title="Extension by new constant and function names">Extension</a> <ul><li><a href="/wiki/Extension_by_definitions" title="Extension by definitions">by definition</a></li> <li><a href="/wiki/Conservative_extension" title="Conservative extension">conservative</a></li></ul></li> <li><a href="/wiki/Finitary_relation" title="Finitary relation">Relation</a></li> <li><a href="/wiki/Formation_rule" title="Formation rule">Formation rule</a></li> <li><a href="/wiki/Formal_grammar" title="Formal grammar">Grammar</a></li> <li><a href="/wiki/Well-formed_formula" title="Well-formed formula">Formula</a> <ul><li><a href="/wiki/Atomic_formula" title="Atomic formula">atomic</a></li> <li><a href="/wiki/Sentence_(mathematical_logic)" title="Sentence (mathematical logic)">closed</a></li> <li><a href="/wiki/Ground_formula" class="mw-redirect" title="Ground formula">ground</a></li> <li><a href="/wiki/Open_formula" title="Open formula">open</a></li></ul></li> <li><a href="/wiki/Free_variables_and_bound_variables" title="Free variables and bound variables">Free/bound variable</a></li> <li><a href="/wiki/Formal_language" title="Formal language">Language</a></li> <li><a href="/wiki/Metalanguage" title="Metalanguage">Metalanguage</a></li> <li><a href="/wiki/Logical_connective" title="Logical connective">Logical connective</a> <ul><li><a href="/wiki/Negation" title="Negation">¬</a></li> <li><a href="/wiki/Logical_disjunction" title="Logical disjunction">∨</a></li> <li><a href="/wiki/Logical_conjunction" title="Logical conjunction">∧</a></li> <li><a href="/wiki/Material_conditional" title="Material conditional">→</a></li> <li><a href="/wiki/Logical_biconditional" title="Logical biconditional">↔</a></li> <li><a href="/wiki/Logical_equality" title="Logical equality">=</a></li></ul></li> <li><a href="/wiki/Predicate_(mathematical_logic)" title="Predicate (mathematical logic)">Predicate</a> <ul><li><a href="/wiki/Functional_predicate" title="Functional predicate">functional</a></li> <li><a href="/wiki/Predicate_variable" title="Predicate variable">variable</a></li> <li><a href="/wiki/Propositional_variable" title="Propositional variable">propositional variable</a></li></ul></li> <li><a href="/wiki/Formal_proof" title="Formal proof">Proof</a></li> <li><a href="/wiki/Quantifier_(logic)" title="Quantifier (logic)">Quantifier</a> <ul><li><a href="/wiki/Existential_quantification" title="Existential quantification">∃</a></li> <li><a href="/wiki/Uniqueness_quantification" title="Uniqueness quantification">!</a></li> <li><a href="/wiki/Universal_quantification" title="Universal quantification">∀</a></li> <li><a href="/wiki/Quantifier_rank" title="Quantifier rank">rank</a></li></ul></li> <li><a href="/wiki/Sentence_(mathematical_logic)" title="Sentence (mathematical logic)">Sentence</a> <ul><li><a href="/wiki/Atomic_sentence" title="Atomic sentence">atomic</a></li> <li><a href="/wiki/Spectrum_of_a_sentence" title="Spectrum of a sentence">spectrum</a></li></ul></li> <li><a href="/wiki/Signature_(logic)" title="Signature (logic)">Signature</a></li> <li><a href="/wiki/String_(formal_languages)" class="mw-redirect" title="String (formal languages)">String</a></li> <li><a href="/wiki/Substitution_(logic)" title="Substitution (logic)">Substitution</a></li> <li><a href="/wiki/Symbol_(formal)" title="Symbol (formal)">Symbol</a> <ul><li><a href="/wiki/Uninterpreted_function" title="Uninterpreted function">function</a></li> <li><a href="/wiki/Logical_constant" title="Logical constant">logical/constant</a></li> <li><a href="/wiki/Non-logical_symbol" title="Non-logical symbol">non-logical</a></li> <li><a href="/wiki/Variable_(mathematics)" title="Variable (mathematics)">variable</a></li></ul></li> <li><a href="/wiki/Term_(logic)" title="Term (logic)">Term</a></li> <li><a href="/wiki/Theory_(mathematical_logic)" title="Theory (mathematical logic)">Theory</a> <ul><li><a href="/wiki/List_of_mathematical_theories" title="List of mathematical theories"><span style="font-size:85%;">list</span></a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><span class="nowrap">Example&#160;<a href="/wiki/Axiomatic_system" title="Axiomatic system">axiomatic<br />systems</a>&#160;<span style="font-size:85%;">(<a href="/wiki/List_of_first-order_theories" title="List of first-order theories">list</a>)</span></span></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li>of <a href="/wiki/True_arithmetic" title="True arithmetic">arithmetic</a>: <ul><li><a href="/wiki/Peano_axioms" title="Peano axioms">Peano</a></li> <li><a href="/wiki/Second-order_arithmetic" title="Second-order arithmetic">second-order</a></li> <li><a href="/wiki/Elementary_function_arithmetic" title="Elementary function arithmetic">elementary function</a></li> <li><a href="/wiki/Primitive_recursive_arithmetic" title="Primitive recursive arithmetic">primitive recursive</a></li> <li><a href="/wiki/Robinson_arithmetic" title="Robinson arithmetic">Robinson</a></li> <li><a href="/wiki/Skolem_arithmetic" title="Skolem arithmetic">Skolem</a></li></ul></li> <li>of the <a href="/wiki/Construction_of_the_real_numbers" title="Construction of the real numbers">real numbers</a> <ul><li><a href="/wiki/Tarski%27s_axiomatization_of_the_reals" title="Tarski&#39;s axiomatization of the reals">Tarski's axiomatization</a></li></ul></li> <li>of <a href="/wiki/Axiomatization_of_Boolean_algebras" class="mw-redirect" title="Axiomatization of Boolean algebras">Boolean algebras</a> <ul><li><a href="/wiki/Boolean_algebras_canonically_defined" title="Boolean algebras canonically defined">canonical</a></li> <li><a href="/wiki/Minimal_axioms_for_Boolean_algebra" title="Minimal axioms for Boolean algebra">minimal axioms</a></li></ul></li> <li>of <a href="/wiki/Foundations_of_geometry" title="Foundations of geometry">geometry</a>: <ul><li><a href="/wiki/Euclidean_geometry" title="Euclidean geometry">Euclidean</a>: <ul><li><a href="/wiki/Euclid%27s_Elements" title="Euclid&#39;s Elements"><i>Elements</i></a></li> <li><a href="/wiki/Hilbert%27s_axioms" title="Hilbert&#39;s axioms">Hilbert's</a></li> <li><a href="/wiki/Tarski%27s_axioms" title="Tarski&#39;s axioms">Tarski's</a></li></ul></li> <li><a href="/wiki/Non-Euclidean_geometry" title="Non-Euclidean geometry">non-Euclidean</a></li></ul></li></ul> <ul><li><i><a href="/wiki/Principia_Mathematica" title="Principia Mathematica">Principia Mathematica</a></i></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Proof_theory" title="Proof theory">Proof theory</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Formal_proof" title="Formal proof">Formal proof</a></li> <li><a href="/wiki/Natural_deduction" title="Natural deduction">Natural deduction</a></li> <li><a href="/wiki/Logical_consequence" title="Logical consequence">Logical consequence</a></li> <li><a href="/wiki/Rule_of_inference" title="Rule of inference">Rule of inference</a></li> <li><a href="/wiki/Sequent_calculus" title="Sequent calculus">Sequent calculus</a></li> <li><a href="/wiki/Theorem" title="Theorem">Theorem</a></li> <li><a href="/wiki/Formal_system" title="Formal system">Systems</a> <ul><li><a href="/wiki/Axiomatic_system" title="Axiomatic system">axiomatic</a></li> <li><a href="/wiki/Deductive_system" class="mw-redirect" title="Deductive system">deductive</a></li> <li><a href="/wiki/Hilbert_system" title="Hilbert system">Hilbert</a> <ul><li><a href="/wiki/List_of_Hilbert_systems" class="mw-redirect" title="List of Hilbert systems">list</a></li></ul></li></ul></li> <li><a href="/wiki/Complete_theory" title="Complete theory">Complete theory</a></li> <li><a href="/wiki/Independence_(mathematical_logic)" title="Independence (mathematical logic)">Independence</a>&#160;(<a href="/wiki/List_of_statements_independent_of_ZFC" title="List of statements independent of ZFC">from&#160;ZFC</a>)</li> <li><a href="/wiki/Proof_of_impossibility" title="Proof of impossibility">Proof of impossibility</a></li> <li><a href="/wiki/Ordinal_analysis" title="Ordinal analysis">Ordinal analysis</a></li> <li><a href="/wiki/Reverse_mathematics" title="Reverse mathematics">Reverse mathematics</a></li> <li><a href="/wiki/Self-verifying_theories" title="Self-verifying theories">Self-verifying theories</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Model_theory" title="Model theory">Model theory</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Interpretation_(logic)" title="Interpretation (logic)">Interpretation</a> <ul><li><a href="/wiki/Interpretation_function" class="mw-redirect" title="Interpretation function">function</a></li> <li><a href="/wiki/Interpretation_(model_theory)" title="Interpretation (model theory)">of models</a></li></ul></li> <li><a href="/wiki/Structure_(mathematical_logic)" title="Structure (mathematical logic)">Model</a> <ul><li><a href="/wiki/Elementary_equivalence" title="Elementary equivalence">equivalence</a></li> <li><a href="/wiki/Finite_model_theory" title="Finite model theory">finite</a></li> <li><a href="/wiki/Saturated_model" title="Saturated model">saturated</a></li> <li><a href="/wiki/Spectrum_of_a_theory" title="Spectrum of a theory">spectrum</a></li> <li><a href="/wiki/Substructure_(mathematics)" title="Substructure (mathematics)">submodel</a></li></ul></li> <li><a href="/wiki/Non-standard_model" title="Non-standard model">Non-standard model</a> <ul><li><a href="/wiki/Non-standard_model_of_arithmetic" title="Non-standard model of arithmetic">of arithmetic</a></li></ul></li> <li><a href="/wiki/Diagram_(mathematical_logic)" title="Diagram (mathematical logic)">Diagram</a> <ul><li><a href="/wiki/Elementary_diagram" title="Elementary diagram">elementary</a></li></ul></li> <li><a href="/wiki/Categorical_theory" title="Categorical theory">Categorical theory</a></li> <li><a href="/wiki/Model_complete_theory" title="Model complete theory">Model complete theory</a></li> <li><a href="/wiki/Satisfiability" title="Satisfiability">Satisfiability</a></li> <li><a href="/wiki/Semantics_of_logic" title="Semantics of logic">Semantics of logic</a></li> <li><a href="/wiki/Strength_(mathematical_logic)" title="Strength (mathematical logic)">Strength</a></li> <li><a href="/wiki/Theories_of_truth" class="mw-redirect" title="Theories of truth">Theories of truth</a> <ul><li><a href="/wiki/Semantic_theory_of_truth" title="Semantic theory of truth">semantic</a></li> <li><a href="/wiki/Tarski%27s_theory_of_truth" class="mw-redirect" title="Tarski&#39;s theory of truth">Tarski's</a></li> <li><a href="/wiki/Kripke%27s_theory_of_truth" class="mw-redirect" title="Kripke&#39;s theory of truth">Kripke's</a></li></ul></li> <li><a href="/wiki/T-schema" title="T-schema">T-schema</a></li> <li><a href="/wiki/Transfer_principle" title="Transfer principle">Transfer principle</a></li> <li><a href="/wiki/Truth_predicate" title="Truth predicate">Truth predicate</a></li> <li><a href="/wiki/Truth_value" title="Truth value">Truth value</a></li> <li><a href="/wiki/Type_(model_theory)" title="Type (model theory)">Type</a></li> <li><a href="/wiki/Ultraproduct" title="Ultraproduct">Ultraproduct</a></li> <li><a href="/wiki/Validity_(logic)" title="Validity (logic)">Validity</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Computability_theory" title="Computability theory">Computability theory</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Church_encoding" title="Church encoding">Church encoding</a></li> <li><a href="/wiki/Church%E2%80%93Turing_thesis" title="Church–Turing thesis">Church–Turing thesis</a></li> <li><a href="/wiki/Computably_enumerable_set" title="Computably enumerable set">Computably enumerable</a></li> <li><a href="/wiki/Computable_function" title="Computable function">Computable function</a></li> <li><a href="/wiki/Computable_set" title="Computable set">Computable set</a></li> <li><a href="/wiki/Decision_problem" title="Decision problem">Decision problem</a> <ul><li><a href="/wiki/Decidability_(logic)" title="Decidability (logic)">decidable</a></li> <li><a href="/wiki/Undecidable_problem" title="Undecidable problem">undecidable</a></li> <li><a href="/wiki/P_(complexity)" title="P (complexity)">P</a></li> <li><a href="/wiki/NP_(complexity)" title="NP (complexity)">NP</a></li> <li><a href="/wiki/P_versus_NP_problem" title="P versus NP problem">P versus NP problem</a></li></ul></li> <li><a href="/wiki/Kolmogorov_complexity" title="Kolmogorov complexity">Kolmogorov complexity</a></li> <li><a href="/wiki/Lambda_calculus" title="Lambda calculus">Lambda calculus</a></li> <li><a href="/wiki/Primitive_recursive_function" title="Primitive recursive function">Primitive recursive function</a></li> <li><a href="/wiki/Recursion" title="Recursion">Recursion</a></li> <li><a href="/wiki/Recursive_set" class="mw-redirect" title="Recursive set">Recursive set</a></li> <li><a class="mw-selflink selflink">Turing machine</a></li> <li><a href="/wiki/Type_theory" title="Type theory">Type theory</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Abstract_logic" title="Abstract logic">Abstract logic</a></li> <li><a href="/wiki/Algebraic_logic" title="Algebraic logic">Algebraic logic</a></li> <li><a href="/wiki/Automated_theorem_proving" title="Automated theorem proving">Automated theorem proving</a></li> <li><a href="/wiki/Category_theory" title="Category theory">Category theory</a></li> <li><a href="/wiki/Concrete_category" title="Concrete category">Concrete</a>/<a href="/wiki/Category_(mathematics)" title="Category (mathematics)">Abstract category</a></li> <li><a href="/wiki/Category_of_sets" title="Category of sets">Category of sets</a></li> <li><a href="/wiki/History_of_logic" title="History of logic">History of logic</a></li> <li><a href="/wiki/History_of_mathematical_logic" class="mw-redirect" title="History of mathematical logic">History of mathematical logic</a> <ul><li><a href="/wiki/Timeline_of_mathematical_logic" title="Timeline of mathematical logic">timeline</a></li></ul></li> <li><a href="/wiki/Logicism" title="Logicism">Logicism</a></li> <li><a href="/wiki/Mathematical_object" title="Mathematical object">Mathematical object</a></li> <li><a href="/wiki/Philosophy_of_mathematics" title="Philosophy of mathematics">Philosophy of mathematics</a></li> <li><a href="/wiki/Supertask" title="Supertask">Supertask</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><b><span class="nowrap"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Nuvola_apps_edu_mathematics_blue-p.svg" class="mw-file-description"><img alt="icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Nuvola_apps_edu_mathematics_blue-p.svg/16px-Nuvola_apps_edu_mathematics_blue-p.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Nuvola_apps_edu_mathematics_blue-p.svg/24px-Nuvola_apps_edu_mathematics_blue-p.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Nuvola_apps_edu_mathematics_blue-p.svg/32px-Nuvola_apps_edu_mathematics_blue-p.svg.png 2x" data-file-width="128" data-file-height="128" /></a></span> </span><a href="/wiki/Portal:Mathematics" title="Portal:Mathematics">Mathematics&#32;portal</a></b></div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Alan_Turing" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Alan_Turing" title="Template:Alan Turing"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Alan_Turing" title="Template talk:Alan Turing"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Alan_Turing" title="Special:EditPage/Template:Alan Turing"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Alan_Turing" style="font-size:114%;margin:0 4em"><a href="/wiki/Alan_Turing" title="Alan Turing">Alan Turing</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Turing_completeness" title="Turing completeness">Turing completeness</a></li> <li><a href="/wiki/Turing_degree" title="Turing degree">Turing degree</a></li> <li><a class="mw-selflink selflink">Turing machine</a></li> <li><a href="/wiki/Turing_pattern" title="Turing pattern">Turing pattern</a></li> <li><a href="/wiki/Turing%27s_proof" title="Turing&#39;s proof">Turing's proof</a></li> <li><a href="/wiki/Turing_reduction" title="Turing reduction">Turing reduction</a></li> <li><a href="/wiki/Turing_test" title="Turing test">Turing test</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Publications</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li>"<a href="/wiki/On_Computable_Numbers,_with_an_Application_to_the_Entscheidungsproblem" class="mw-redirect" title="On Computable Numbers, with an Application to the Entscheidungsproblem">On Computable Numbers</a>" (1936)</li> <li>"<a href="/wiki/Systems_of_Logic_Based_on_Ordinals" title="Systems of Logic Based on Ordinals">Systems of Logic Based on Ordinals</a>" (1939)</li> <li>"<a href="/wiki/Unorganized_machine" title="Unorganized machine">Intelligent Machinery</a>" (1948)</li> <li>"<a href="/wiki/Computing_Machinery_and_Intelligence" title="Computing Machinery and Intelligence">Computing Machinery and Intelligence</a>" (1950)</li> <li>"<a href="/wiki/The_Chemical_Basis_of_Morphogenesis" title="The Chemical Basis of Morphogenesis">The Chemical Basis of Morphogenesis</a>" (1952)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Legacy_of_Alan_Turing" title="Legacy of Alan Turing">Legacy of Alan Turing</a> <ul><li><a href="/wiki/List_of_things_named_after_Alan_Turing" title="List of things named after Alan Turing">namesakes</a></li></ul></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"><style data-mw-deduplicate="TemplateStyles:r1038841319">.mw-parser-output .tooltip-dotted{border-bottom:1px dotted;cursor:help}</style></div><div role="navigation" class="navbox authority-control" aria-labelledby="Authority_control_databases_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q163310#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Authority_control_databases_frameless&amp;#124;text-top&amp;#124;10px&amp;#124;alt=Edit_this_at_Wikidata&amp;#124;link=https&amp;#58;//www.wikidata.org/wiki/Q163310#identifiers&amp;#124;class=noprint&amp;#124;Edit_this_at_Wikidata" style="font-size:114%;margin:0 4em"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control databases</a> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q163310#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">International</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="http://id.worldcat.org/fast/1159283/">FAST</a></span></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">National</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><span class="rt-commentedText tooltip tooltip-dotted" title="Turingmaschine"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4203525-9">Germany</a></span></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/sh85138778">United States</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://catalogue.bnf.fr/ark:/12148/cb11978871z">France</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://data.bnf.fr/ark:/12148/cb11978871z">BnF data</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="https://id.ndl.go.jp/auth/ndlna/00573533">Japan</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&amp;authority_id=XX550362">Spain</a></span></li><li><span class="uid"><a rel="nofollow" class="external text" href="http://olduli.nli.org.il/F/?func=find-b&amp;local_base=NLX10&amp;find_code=UID&amp;request=987007555894805171">Israel</a></span></li></ul></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://www.idref.fr/027831655">IdRef</a></span></li></ul></div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐qlwvg Cached time: 20241124160920 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 1.071 seconds Real time usage: 1.379 seconds Preprocessor visited node count: 7741/1000000 Post‐expand include size: 178208/2097152 bytes Template argument size: 12575/2097152 bytes Highest expansion depth: 15/100 Expensive parser function count: 14/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 152280/5000000 bytes Lua time usage: 0.572/10.000 seconds Lua memory usage: 9172698/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1050.200 1 -total 17.48% 183.552 18 Template:Cite_book 8.47% 88.967 1 Template:Turing 8.34% 87.585 18 Template:Blockquote 8.20% 86.147 1 Template:Sidebar 6.66% 69.950 1 Template:Short_description 6.02% 63.186 1 Template:Commons_category 5.80% 60.912 1 Template:Sister_project 5.60% 58.759 1 Template:Side_box 5.37% 56.424 9 Template:Isbn --> <!-- Saved in parser cache with key enwiki:pcache:idhash:30403-0!canonical and timestamp 20241124160920 and revision id 1256476561. Rendering was triggered because: page-view --> </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="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Turing_machine&amp;oldid=1256476561">https://en.wikipedia.org/w/index.php?title=Turing_machine&amp;oldid=1256476561</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Turing_machine" title="Category:Turing machine">Turing machine</a></li><li><a href="/wiki/Category:1936_in_computing" title="Category:1936 in computing">1936 in computing</a></li><li><a href="/wiki/Category:1937_in_computing" title="Category:1937 in computing">1937 in computing</a></li><li><a href="/wiki/Category:Educational_abstract_machines" title="Category:Educational abstract machines">Educational abstract machines</a></li><li><a href="/wiki/Category:Theoretical_computer_science" title="Category:Theoretical computer science">Theoretical computer science</a></li><li><a href="/wiki/Category:Alan_Turing" title="Category:Alan Turing">Alan Turing</a></li><li><a href="/wiki/Category:Models_of_computation" title="Category:Models of computation">Models of computation</a></li><li><a href="/wiki/Category:Formal_methods" title="Category:Formal methods">Formal methods</a></li><li><a href="/wiki/Category:Computability_theory" title="Category:Computability theory">Computability theory</a></li><li><a href="/wiki/Category:English_inventions" title="Category:English inventions">English inventions</a></li><li><a href="/wiki/Category:Automata_(computation)" title="Category:Automata (computation)">Automata (computation)</a></li><li><a href="/wiki/Category:Formal_languages" title="Category:Formal languages">Formal languages</a></li><li><a href="/wiki/Category:Abstract_machines" title="Category:Abstract machines">Abstract machines</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_December_2021" title="Category:Articles with unsourced statements from December 2021">Articles with unsourced statements from December 2021</a></li><li><a href="/wiki/Category:Wikipedia_references_cleanup_from_November_2019" title="Category:Wikipedia references cleanup from November 2019">Wikipedia references cleanup from November 2019</a></li><li><a href="/wiki/Category:All_articles_needing_references_cleanup" title="Category:All articles needing references cleanup">All articles needing references cleanup</a></li><li><a href="/wiki/Category:Articles_covered_by_WikiProject_Wikify_from_November_2019" title="Category:Articles covered by WikiProject Wikify from November 2019">Articles covered by WikiProject Wikify from November 2019</a></li><li><a href="/wiki/Category:All_articles_covered_by_WikiProject_Wikify" title="Category:All articles covered by WikiProject Wikify">All articles covered by WikiProject Wikify</a></li><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:Commons_category_link_is_on_Wikidata" title="Category:Commons category link is on Wikidata">Commons category link is on Wikidata</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"> This page was last edited on 10 November 2024, at 03:00<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Turing_machine&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</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-f69cdc8f6-mz9ks","wgBackendResponseTime":153,"wgPageParseReport":{"limitreport":{"cputime":"1.071","walltime":"1.379","ppvisitednodes":{"value":7741,"limit":1000000},"postexpandincludesize":{"value":178208,"limit":2097152},"templateargumentsize":{"value":12575,"limit":2097152},"expansiondepth":{"value":15,"limit":100},"expensivefunctioncount":{"value":14,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":152280,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 1050.200 1 -total"," 17.48% 183.552 18 Template:Cite_book"," 8.47% 88.967 1 Template:Turing"," 8.34% 87.585 18 Template:Blockquote"," 8.20% 86.147 1 Template:Sidebar"," 6.66% 69.950 1 Template:Short_description"," 6.02% 63.186 1 Template:Commons_category"," 5.80% 60.912 1 Template:Sister_project"," 5.60% 58.759 1 Template:Side_box"," 5.37% 56.424 9 Template:Isbn"]},"scribunto":{"limitreport-timeusage":{"value":"0.572","limit":"10.000"},"limitreport-memusage":{"value":9172698,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFA.M._Turing1948\"] = 1,\n [\"CITEREFBoolosJohn_BurgessRichard_Jeffrey2002\"] = 1,\n [\"CITEREFBoolosRichard_Jeffrey1999\"] = 1,\n [\"CITEREFBurgeEnderton2019\"] = 1,\n [\"CITEREFChristos_Papadimitriou1993\"] = 1,\n [\"CITEREFDavisRon_SigalElaine_J._Weyuker1994\"] = 1,\n [\"CITEREFHennie1977\"] = 1,\n [\"CITEREFHodges2012\"] = 1,\n [\"CITEREFHopcroftRajeev_MotwaniJeffrey_D._Ullman2001\"] = 1,\n [\"CITEREFHopcroftUllman1979\"] = 1,\n [\"CITEREFIvars_Peterson1988\"] = 1,\n [\"CITEREFKantorovitz2005\"] = 1,\n [\"CITEREFKnuth1973\"] = 1,\n [\"CITEREFMartin_Davis1958\"] = 1,\n [\"CITEREFMartin_Davis2000\"] = 1,\n [\"CITEREFMichael_Sipser1997\"] = 1,\n [\"CITEREFNachum_DershowitzYuri_Gurevich2008\"] = 1,\n [\"CITEREFPaul_Strathern1997\"] = 1,\n [\"CITEREFRoger_Penrose1990\"] = 1,\n [\"CITEREFRolf_Herken1995\"] = 1,\n [\"CITEREFStone1972\"] = 1,\n [\"CITEREFTuring1936\"] = 1,\n [\"CITEREFTuring1937\"] = 1,\n [\"CITEREFTuring1938\"] = 1,\n [\"CITEREFTuring1996\"] = 1,\n}\ntemplate_list = table#1 {\n [\"=\"] = 1,\n [\"Alan Turing\"] = 1,\n [\"Authority control\"] = 1,\n [\"Automata theory\"] = 1,\n [\"Blockquote\"] = 18,\n [\"CEmpty\"] = 3,\n [\"CNone\"] = 6,\n [\"Citation needed\"] = 1,\n [\"Citation style\"] = 1,\n [\"Cite Geometric Algorithms and Combinatorial Optimization\"] = 1,\n [\"Cite book\"] = 18,\n [\"Cite journal\"] = 6,\n [\"Cite report\"] = 1,\n [\"Commons category\"] = 1,\n [\"DEFAULTSORT:Turing machine\"] = 1,\n [\"Divcol\"] = 1,\n [\"Divcol-end\"] = 1,\n [\"For\"] = 1,\n [\"Formal languages and grammars\"] = 1,\n [\"Further\"] = 1,\n [\"Harvtxt\"] = 1,\n [\"Isbn\"] = 9,\n [\"Main\"] = 1,\n [\"Mathematical logic\"] = 1,\n [\"Nowrap\"] = 2,\n [\"Other uses\"] = 1,\n [\"Reflist\"] = 1,\n [\"Rp\"] = 1,\n [\"See also\"] = 2,\n [\"Short description\"] = 1,\n [\"Springer\"] = 1,\n [\"Turing\"] = 1,\n [\"Webarchive\"] = 1,\n}\narticle_whitelist = table#1 {\n}\ntable#1 {\n [\"size\"] = \"tiny\",\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-qlwvg","timestamp":"20241124160920","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Turing machine","url":"https:\/\/en.wikipedia.org\/wiki\/Turing_machine","sameAs":"http:\/\/www.wikidata.org\/entity\/Q163310","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q163310","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2001-08-20T17:13:46Z","dateModified":"2024-11-10T03:00:32Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/0\/03\/Turing_Machine_Model_Davey_2012.jpg","headline":"abstract computation model; mathematical model of computation that defines an abstract machine which manipulates symbols on a strip of tape according to a table of rules"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10