CINXE.COM
Register 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>Register 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":"dccb264b-dad9-4b0c-b018-44506717df62","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Register_machine","wgTitle":"Register machine","wgCurRevisionId":1249062668,"wgRevisionId":1249062668,"wgArticleId":505218,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1 interproject-linked names","Articles with short description","Short description is different from Wikidata","Use dmy dates from May 2023","Use list-defined references from May 2023","Wikipedia articles with style issues from January 2024","All articles with style issues","Commons category link is on Wikidata","Models of computation","Register machines"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName": "Register_machine","wgRelevantArticleId":505218,"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":60000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q1930388","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.cite.styles":"ready","ext.math.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","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&modules=ext.cite.styles%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&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 name="viewport" content="width=1120"> <meta property="og:title" content="Register 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/Register_machine"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Register_machine&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/Register_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&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-Register_machine rootpage-Register_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'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&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&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&returnto=Register+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&returnto=Register+machine" title="You're encouraged to log in; however, it'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&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&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&returnto=Register+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&returnto=Register+machine" title="You're encouraged to log in; however, it'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 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Overview"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Overview</span> </div> </a> <ul id="toc-Overview-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Formal_Definition" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Formal_Definition"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Formal Definition</span> </div> </a> <ul id="toc-Formal_Definition-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Historical_development_of_the_register_machine_model" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Historical_development_of_the_register_machine_model"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Historical development of the register machine model</span> </div> </a> <button aria-controls="toc-Historical_development_of_the_register_machine_model-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 Historical development of the register machine model subsection</span> </button> <ul id="toc-Historical_development_of_the_register_machine_model-sublist" class="vector-toc-list"> <li id="toc-Wang's_(1954,_1957)_model:_Post–Turing_machine" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Wang's_(1954,_1957)_model:_Post–Turing_machine"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Wang's (1954, 1957) model: Post–Turing machine</span> </div> </a> <ul id="toc-Wang's_(1954,_1957)_model:_Post–Turing_machine-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Minsky,_Melzak–Lambek_and_Shepherdson–Sturgis_models_"cut_the_tape"_into_many" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Minsky,_Melzak–Lambek_and_Shepherdson–Sturgis_models_"cut_the_tape"_into_many"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Minsky, Melzak–Lambek and Shepherdson–Sturgis models "cut the tape" into many</span> </div> </a> <ul id="toc-Minsky,_Melzak–Lambek_and_Shepherdson–Sturgis_models_"cut_the_tape"_into_many-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Melzak's_(1961)_model_is_different:_clumps_of_pebbles_go_into_and_out_of_holes" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Melzak's_(1961)_model_is_different:_clumps_of_pebbles_go_into_and_out_of_holes"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>Melzak's (1961) model is different: clumps of pebbles go into and out of holes</span> </div> </a> <ul id="toc-Melzak's_(1961)_model_is_different:_clumps_of_pebbles_go_into_and_out_of_holes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Lambek_(1961)_atomizes_Melzak's_model_into_the_Minsky_(1961)_model:_INC_and_DEC-with-test" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Lambek_(1961)_atomizes_Melzak's_model_into_the_Minsky_(1961)_model:_INC_and_DEC-with-test"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.4</span> <span>Lambek (1961) atomizes Melzak's model into the Minsky (1961) model: INC and DEC-with-test</span> </div> </a> <ul id="toc-Lambek_(1961)_atomizes_Melzak's_model_into_the_Minsky_(1961)_model:_INC_and_DEC-with-test-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Elgot–Robinson_(1964)_and_the_problem_of_the_RASP_without_indirect_addressing" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Elgot–Robinson_(1964)_and_the_problem_of_the_RASP_without_indirect_addressing"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.5</span> <span>Elgot–Robinson (1964) and the problem of the RASP without indirect addressing</span> </div> </a> <ul id="toc-Elgot–Robinson_(1964)_and_the_problem_of_the_RASP_without_indirect_addressing-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Hartmanis_(1971)" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Hartmanis_(1971)"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.6</span> <span>Hartmanis (1971)</span> </div> </a> <ul id="toc-Hartmanis_(1971)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Cook_and_Reckhow_(1973)_describe_the_RAM" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Cook_and_Reckhow_(1973)_describe_the_RAM"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.7</span> <span>Cook and Reckhow (1973) describe the RAM</span> </div> </a> <ul id="toc-Cook_and_Reckhow_(1973)_describe_the_RAM-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Precedence" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Precedence"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Precedence</span> </div> </a> <ul id="toc-Precedence-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Bibliography" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Bibliography"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Bibliography</span> </div> </a> <ul id="toc-Bibliography-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</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 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Further_reading" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Further_reading"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Further reading</span> </div> </a> <ul id="toc-Further_reading-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</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">Register 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 13 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-13" 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">13 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/M%C3%A0quina_de_registres" title="Màquina de registres – Catalan" lang="ca" hreflang="ca" data-title="Màquina de registres" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Registermaschine" title="Registermaschine – German" lang="de" hreflang="de" data-title="Registermaschine" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/M%C3%A1quina_de_registro" title="Máquina de registro – Spanish" lang="es" hreflang="es" data-title="Máquina de registro" 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-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Machine_%C3%A0_registres_illimit%C3%A9s" title="Machine à registres illimités – French" lang="fr" hreflang="fr" data-title="Machine à registres illimités" 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-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%A0%88%EC%A7%80%EC%8A%A4%ED%84%B0_%EB%A8%B8%EC%8B%A0" 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-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Macchina_URM" title="Macchina URM – Italian" lang="it" hreflang="it" data-title="Macchina URM" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%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-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Maszyna_rejestrowa" title="Maszyna rejestrowa – Polish" lang="pl" hreflang="pl" data-title="Maszyna rejestrowa" 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_registradores" title="Máquina de registradores – Portuguese" lang="pt" hreflang="pt" data-title="Máquina de registradores" 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-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%9C%D0%B8%D0%BD%D1%81%D0%BA%D0%BE%D0%B3%D0%BE" 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-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%B7_%D0%BD%D0%B0%D1%82%D1%83%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B7%D0%BD%D0%B0%D1%87%D0%BD%D0%B8%D0%BC%D0%B8_%D1%80%D0%B5%D0%B3%D1%96%D1%81%D1%82%D1%80%D0%B0%D0%BC%D0%B8" 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-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E5%AF%84%E5%AD%98%E5%99%A8%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%AF%84%E5%AD%98%E5%99%A8%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/Q1930388#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/Register_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:Register_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/Register_machine"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Register_machine&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=Register_machine&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/Register_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=Register_machine&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=Register_machine&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/Register_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/Register_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=Register_machine&oldid=1249062668" 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=Register_machine&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&page=Register_machine&id=1249062668&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&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRegister_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&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FRegister_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&page=Register_machine&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=Register_machine&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/Category:Register_machines" 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/Q1930388" 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">Type of abstract computing machine</div> <p class="mw-empty-elt"> </p><p>In <a href="/wiki/Mathematical_logic" title="Mathematical logic">mathematical logic</a> and <a href="/wiki/Theoretical_computer_science" title="Theoretical computer science">theoretical computer science</a>, a <b>register machine</b> is a generic class of <a href="/wiki/Abstract_machine" title="Abstract machine">abstract machines</a>, analogous to a <a href="/wiki/Turing_machine" title="Turing machine">Turing machine</a> and thus <a href="/wiki/Turing_completeness" title="Turing completeness">Turing complete</a>. Unlike a Turing machine that uses a tape and head, a register machine utilizes multiple uniquely addressed registers to store non-negative integers. There are several sub-classes of register machines, including <a href="/wiki/Counter_machine" title="Counter machine">counter machines</a>, <a href="/wiki/Pointer_machine" title="Pointer machine">pointer machines</a>, <a href="/wiki/Random-access_machine" title="Random-access machine">random-access machines (RAM)</a>, and <a href="/wiki/Random-access_stored-program_machine" title="Random-access stored-program machine">Random-Access Stored-Program Machine (RASP)</a>, each varying in complexity. These machines, particularly in theoretical studies, help in understanding computational processes. The concept of register machines can also be applied to <a href="/wiki/Virtual_machine" title="Virtual machine">virtual machines</a> in practical computer science, for educational purposes and reducing dependency on specific hardware architectures. </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=Register_machine&action=edit&section=1" title="Edit section: Overview"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The register machine gets its name from its use of one or more "<a href="/wiki/Processor_register" title="Processor register">registers</a>". In contrast to the tape and head used by a <a href="/wiki/Turing_machine" title="Turing machine">Turing machine</a>, the <a href="/wiki/Model" title="Model">model</a> uses <b>multiple uniquely addressed registers</b>, each of which holds a single non-negative <a href="/wiki/Integer" title="Integer">integer</a>. </p><p>There are at least four sub-classes found in the <a href="/wiki/Literature" title="Literature">literature</a>. In ascending order of complexity: </p> <ul><li><a href="/wiki/Counter_machine" title="Counter machine">Counter machine</a> – the most primitive and reduced <a href="/wiki/Theoretical" class="mw-redirect" title="Theoretical">theoretical</a> model of computer hardware. This machine lacks indirect addressing, and instructions are in the <a href="/wiki/Finite-state_machine" title="Finite-state machine">finite state machine</a> in the manner of the <a href="/wiki/Harvard_architecture" title="Harvard architecture">Harvard architecture</a>.</li> <li><a href="/wiki/Pointer_machine" title="Pointer machine">Pointer machine</a> – a blend of the counter machine and RAM models with less common and more abstract than either model. Instructions are in the finite state machine in the manner of Harvard architecture.</li> <li><a href="/wiki/Random-access_machine" title="Random-access machine">Random-access machine</a> (RAM) – a counter machine with indirect addressing and, usually, an augmented instruction set. Instructions are in the finite state machine in the manner of the Harvard architecture.</li> <li><a href="/wiki/Random-access_stored-program_machine" title="Random-access stored-program machine">Random-access stored-program machine</a> model (RASP) – a RAM with instructions in its registers analogous to the <a href="/wiki/Universal_Turing_machine" title="Universal Turing machine">Universal Turing machine</a>, making it an example of the <a href="/wiki/Von_Neumann_architecture" title="Von Neumann architecture">von Neumann architecture</a>. But unlike a computer, the model is <i>idealized</i> with effectively infinite registers (and if used, effectively infinite special registers such as <a href="/wiki/Accumulator_(computing)" title="Accumulator (computing)">accumulators</a>). As compared to a modern computer, however, the instruction set is still reduced in number and complexity.</li></ul> <p>Any properly defined register machine model is <a href="/wiki/Turing_completeness" title="Turing completeness">Turing complete</a>. Computational speed is very dependent on the model specifics. </p><p>In practical computer science, a related concept known as a <a href="/wiki/Virtual_machine" title="Virtual machine">virtual machine</a> is occasionally employed to reduce reliance on underlying machine architectures. These <a href="/wiki/Virtual_machine" title="Virtual machine">virtual machines</a> are also utilized in educational settings. In textbooks, the term "register machine" is sometimes used interchangeably to describe a virtual machine.<sup id="cite_ref-Abelson-Sussman_1996_1-0" class="reference"><a href="#cite_note-Abelson-Sussman_1996-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> </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=Register_machine&action=edit&section=2" title="Edit section: Formal Definition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A register machine consists of: </p> <ol><li><b>An unbounded number of labelled, discrete, unbounded registers unbounded in extent (capacity)</b>: a finite (or infinite in some models) set of registers <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 r_{0}\ldots r_{n}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>…<!-- … --></mo> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r_{0}\ldots r_{n}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9f8d2d83dcb9267e833872d32c26744f87040491" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:7.867ex; height:2.009ex;" alt="{\displaystyle r_{0}\ldots r_{n}}"></span> each considered to be of infinite extent and each holding a single non-negative integer (0, 1, 2, ...).<sup id="cite_ref-NB1_2-0" class="reference"><a href="#cite_note-NB1-2"><span class="cite-bracket">[</span>nb 1<span class="cite-bracket">]</span></a></sup> The registers may do their own arithmetic, or there may be one or more special registers that do the arithmetic (e.g. an "accumulator" and/or "address register"). <i>See also <a href="/wiki/Random-access_machine" title="Random-access machine">Random-access machine</a>.</i></li> <li><b>Tally counters or marks</b>:<sup id="cite_ref-NB2_3-0" class="reference"><a href="#cite_note-NB2-3"><span class="cite-bracket">[</span>nb 2<span class="cite-bracket">]</span></a></sup> discrete, indistinguishable objects or marks of only one sort suitable for the model. In the most-reduced <a href="/wiki/Counter_machine" title="Counter machine">counter machine</a> model, per each arithmetic operation only one object/mark is either added to or removed from its location/tape. In some counter machine models (e.g. Melzak,<sup id="cite_ref-Melzak_1961_4-0" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Minsky<sup id="cite_ref-Minsky_1961_5-0" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>) and most RAM and RASP models more than one object/mark can be added or removed in one operation with "addition" and usually "subtraction"; sometimes with "multiplication" and/or "division". Some models have control operations such as "copy" (or alternatively: "move", "load", "store") that move "clumps" of objects/marks from register to register in one action.</li> <li><b>A limited set of instructions</b>: the instructions tend to divide into two classes: arithmetic and control. The instructions are drawn from the two classes to form "instruction sets", such that an instruction set must allow the model to be Turing equivalent (it must be able to compute any <a href="/wiki/Partial_recursive_function" class="mw-redirect" title="Partial recursive function">partial recursive function</a>). <ol><li><b>Arithmetic</b>: Arithmetic instructions may operate on all registers or on a specific register, such as an accumulator. Typically, they are selected from the following sets, though exceptions exist: Counter machine: { Increment (r), Decrement (r), Clear-to-zero (r) } Reduced RAM, RASP: { Increment (r), Decrement (r), Clear-to-zero (r), Load-immediate-constant k, Add (<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 r_{1},r_{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r_{1},r_{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d00a857c907f8c4b3858f06a1b5c1db4282ab027" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.24ex; height:2.009ex;" alt="{\displaystyle r_{1},r_{2}}"></span>), Proper-Subtract (<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 r_{1},r_{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r_{1},r_{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d00a857c907f8c4b3858f06a1b5c1db4282ab027" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.24ex; height:2.009ex;" alt="{\displaystyle r_{1},r_{2}}"></span>), Increment accumulator, Decrement accumulator, Clear accumulator, Add the contents of register <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 r}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>r</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:1.676ex;" alt="{\displaystyle r}"></span> to the accumulator, Proper-Subtract the contents of register <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 r}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>r</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:1.676ex;" alt="{\displaystyle r}"></span> from the accumulator } Augmented RAM, RASP: Includes all of the reduced instructions as well as: { Multiply, Divide, various <a href="/wiki/Boolean_function" title="Boolean function">Boolean bit-wise operations</a> (left-shift, bit test, etc.) }.</li> <li><b>Control</b>: Counter machine models: Optionally include { Copy (<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 r_{1},r_{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r_{1},r_{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d00a857c907f8c4b3858f06a1b5c1db4282ab027" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.24ex; height:2.009ex;" alt="{\displaystyle r_{1},r_{2}}"></span>) }. RAM and RASP models: Most include { Copy (<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 r_{1},r_{2}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>r</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>2</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r_{1},r_{2}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d00a857c907f8c4b3858f06a1b5c1db4282ab027" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.24ex; height:2.009ex;" alt="{\displaystyle r_{1},r_{2}}"></span>) }, or { Load Accumulator 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 r}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>r</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:1.676ex;" alt="{\displaystyle r}"></span>, Store accumulator into <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 r}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>r</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle r}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0d1ecb613aa2984f0576f70f86650b7c2a132538" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:1.676ex;" alt="{\displaystyle r}"></span>, Load Accumulator with an immediate constant }. All models: Include at least one conditional "jump" (branch, goto) following the test of a register, such as { Jump-if-zero, Jump-if-not-zero (i.e., Jump-if-positive), Jump-if-equal, Jump-if-not-equal }. All models optionally include: { unconditional program jump (goto) }.</li> <li><b>Register-addressing method</b>: <ul><li>Counter machine: no indirect addressing, immediate operands possible in highly atomized models</li> <li>RAM and RASP: indirect addressing available, immediate operands typical</li></ul></li> <li><b>Input-output</b>: optional in all models</li></ol></li> <li><b>State register</b>: A special Instruction Register (IR), distinct from the registers mentioned earlier, stores the current instruction to be executed along with its address in the instruction table. This register, along with its associated table, is located within the finite state machine. The IR is inaccessible in all models. In the case of RAM and RASP, for determining the "address" of a register, the model can choose either (i) the address specified by the table and temporarily stored in the IR for direct addressing, or (ii) the contents of the register specified by the instruction in the IR for indirect addressing. It's important to note that the IR is not the "program counter" (PC) of the RASP (or conventional computer). The PC is merely another register akin to an accumulator but specifically reserved for holding the number of the RASP's current register-based instruction. Thus, a RASP possesses two "instruction/program" registers: (i) the IR (finite state machine's Instruction Register), and (ii) a PC (Program Counter) for the program stored in the registers. Additionally, aside from the PC, a RASP may also dedicate another register to the "Program-Instruction Register" (referred to by various names such as "PIR," "IR," "PR," etc.).</li> <li><b>List of labelled instructions, usually in sequential order</b>: A finite list of instructions <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 I_{1}\ldots I_{m}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>I</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>…<!-- … --></mo> <msub> <mi>I</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>m</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle I_{1}\ldots I_{m}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/412b106301009415f9db2c3444b037b166e8eb3b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:8.273ex; height:2.509ex;" alt="{\displaystyle I_{1}\ldots I_{m}}"></span>. In the case of the counter machine, random-access machine (RAM), and pointer machine, the instruction store is in the "TABLE" of the finite state machine, thus these models are examples of the Harvard architecture. In the case of the RASP, the program store is in the registers, thus this is an example of the Von Neumann architecture. <i>See also <a href="/wiki/Random-access_machine" title="Random-access machine">Random-access machine</a> and <a href="/wiki/Random-access_stored-program_machine" title="Random-access stored-program machine">Random-access stored-program machine</a>.</i><br />The instructions are usually listed in sequential order, like <a href="/wiki/Computer_program" title="Computer program">computer programs</a>, unless a jump is successful. In this case, the default sequence continues in numerical order. An exception to this is the abacus<sup id="cite_ref-Lambek_1961_6-0" class="reference"><a href="#cite_note-Lambek_1961-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Minsky_1961_5-1" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> counter machine models—every instruction has at least one "next" instruction identifier "z", and the conditional branch has two. <ul><li>Observe also that the abacus model combines two instructions, JZ then DEC: e.g. { INC ( r, z ), JZDEC ( r, z<sub>true</sub>, z<sub>false</sub> ) }.</li></ul></li></ol> <p>See <a href="/wiki/McCarthy_Formalism" title="McCarthy Formalism">McCarthy Formalism</a> for more about the <i>conditional expression</i> "IF r=0 THEN z<sub>true</sub> ELSE z<sub>false</sub>"<sup id="cite_ref-McCarthy_1960_7-0" class="reference"><a href="#cite_note-McCarthy_1960-7"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Historical_development_of_the_register_machine_model">Historical development of the register machine model</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=3" title="Edit section: Historical development of the register machine model"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Two trends appeared in the early 1950s. The first was to characterize the computer as a Turing machine. The second was to define computer-like models—models with sequential instruction sequences and conditional jumps—with the power of a Turing machine, a so-called Turing equivalence. Need for this work was carried out in the context of two "hard" problems: the unsolvable word problem posed by <a href="/wiki/Emil_Post" class="mw-redirect" title="Emil Post">Emil Post</a><sup id="cite_ref-Post_1936_8-0" class="reference"><a href="#cite_note-Post_1936-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>—his problem of "tag"—and the very "hard" problem of <a href="/wiki/Hilbert%27s_problems" title="Hilbert's problems">Hilbert's problems</a>—the 10th question around <a href="/wiki/Diophantine_equation" title="Diophantine equation">Diophantine equations</a>. Researchers were questing for Turing-equivalent models that were less "logical" in nature and more "arithmetic."<sup id="cite_ref-Melzak_1961_4-1" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 281">: 281 </span></sup><sup id="cite_ref-Shepherdson-Sturgis_1963_9-0" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 218">: 218 </span></sup> </p><p>The first step towards characterizing computers originated<sup id="cite_ref-NB3_10-0" class="reference"><a href="#cite_note-NB3-10"><span class="cite-bracket">[</span>nb 3<span class="cite-bracket">]</span></a></sup> with <a href="/wiki/Hans_Hermes" title="Hans Hermes">Hans Hermes</a> (1954),<sup id="cite_ref-Hermes_1954_11-0" class="reference"><a href="#cite_note-Hermes_1954-11"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> <a href="/wiki/R%C3%B3zsa_P%C3%A9ter" title="Rózsa Péter">Rózsa Péter</a> (1958),<sup id="cite_ref-Péter_1958_12-0" class="reference"><a href="#cite_note-Péter_1958-12"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> and Heinz Kaphengst (1959),<sup id="cite_ref-Kaphengst_1959_13-0" class="reference"><a href="#cite_note-Kaphengst_1959-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> the second step with <a href="/wiki/Hao_Wang_(academic)" title="Hao Wang (academic)">Hao Wang</a> (1954,<sup id="cite_ref-Wang_1954_14-0" class="reference"><a href="#cite_note-Wang_1954-14"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> 1957<sup id="cite_ref-Wang_1957_15-0" class="reference"><a href="#cite_note-Wang_1957-15"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>) and, as noted above, furthered along by Zdzislaw Alexander Melzak (1961),<sup id="cite_ref-Melzak_1961_4-2" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> <a href="/wiki/Joachim_Lambek" title="Joachim Lambek">Joachim Lambek</a> (1961)<sup id="cite_ref-Lambek_1961_6-1" class="reference"><a href="#cite_note-Lambek_1961-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> and <a href="/wiki/Marvin_Minsky" title="Marvin Minsky">Marvin Minsky</a> (1961,<sup id="cite_ref-Minsky_1961_5-2" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> 1967<sup id="cite_ref-Minsky_1967_16-0" class="reference"><a href="#cite_note-Minsky_1967-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>). </p><p>The last five names are listed explicitly in that order by <a href="/wiki/Yuri_Matiyasevich" title="Yuri Matiyasevich">Yuri Matiyasevich</a>. He follows up with: </p> <dl><dd>"<i>Register machines [some authors use "register machine" synonymous with "counter-machine"] are particularly suitable for constructing Diophantine equations. Like Turing machines, they have very primitive instructions and, in addition, they deal with numbers</i>".<sup id="cite_ref-Matiyasevich_1993_17-0" class="reference"><a href="#cite_note-Matiyasevich_1993-17"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup></dd></dl> <p>Lambek, Melzak, Minsky, Shepherdson and Sturgis independently discovered the same idea at the same time. See note on <a href="#Precedence">precedence</a> below. </p><p>The history begins with Wang's model. </p> <div class="mw-heading mw-heading3"><h3 id="Wang's_(1954,_1957)_model:_Post–Turing_machine"><span id="Wang.27s_.281954.2C_1957.29_model:_Post.E2.80.93Turing_machine"></span>Wang's (1954, 1957) model: Post–Turing machine</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=4" title="Edit section: Wang's (1954, 1957) model: Post–Turing machine"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Wang's work followed from Emil Post's (1936)<sup id="cite_ref-Post_1936_8-1" class="reference"><a href="#cite_note-Post_1936-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> paper and led Wang to his definition of his <a href="/wiki/Wang_B-machine" title="Wang B-machine">Wang B-machine</a>—a two-symbol <a href="/wiki/Post%E2%80%93Turing_machine" title="Post–Turing machine">Post–Turing machine</a> computation model with only four atomic instructions: </p> <pre>{ LEFT, RIGHT, PRINT, JUMP_if_marked_to_instruction_z } </pre> <p>To these four both Wang (1954,<sup id="cite_ref-Wang_1954_14-1" class="reference"><a href="#cite_note-Wang_1954-14"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> 1957<sup id="cite_ref-Wang_1957_15-1" class="reference"><a href="#cite_note-Wang_1957-15"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>) and then C. Y. Lee (1961)<sup id="cite_ref-Lee_1961_18-0" class="reference"><a href="#cite_note-Lee_1961-18"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> added another instruction from the Post set { ERASE }, and then a Post's unconditional jump { JUMP_to_ instruction_z } (or to make things easier, the conditional jump JUMP_IF_blank_to_instruction_z, or both. Lee named this a "W-machine" model: </p> <pre>{ LEFT, RIGHT, PRINT, ERASE, JUMP_if_marked, [maybe JUMP or JUMP_IF_blank] } </pre> <p>Wang expressed hope that his model would be "a rapprochement"<sup class="reference nowrap"><span title="Page: 63">: 63 </span></sup> between the theory of Turing machines and the practical world of the computer. </p><p>Wang's work was highly influential. We find him referenced by Minsky (1961)<sup id="cite_ref-Minsky_1961_5-3" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> and (1967),<sup id="cite_ref-Minsky_1967_16-1" class="reference"><a href="#cite_note-Minsky_1967-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> Melzak (1961),<sup id="cite_ref-Melzak_1961_4-3" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Shepherdson and Sturgis (1963).<sup id="cite_ref-Shepherdson-Sturgis_1963_9-1" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> Indeed, Shepherdson and Sturgis (1963) remark that: </p> <dl><dd>"<i>...we have tried to carry a step further the 'rapprochement' between the practical and theoretical aspects of computation suggested by Wang,</i>"<sup id="cite_ref-Shepherdson-Sturgis_1963_9-2" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 218">: 218 </span></sup></dd></dl> <p><a href="/wiki/Martin_Davis_(mathematician)" title="Martin Davis (mathematician)">Martin Davis</a> eventually evolved this model into the (2-symbol) Post–Turing machine. </p><p><b>Difficulties with the Wang/Post–Turing model</b>: </p><p>Except there was a problem: the Wang model (the six instructions of the 7-instruction Post–Turing machine) was still a single-tape Turing-like device, however nice its <i>sequential program instruction-flow</i> might be. Both Melzak (1961)<sup id="cite_ref-Melzak_1961_4-4" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> and Shepherdson and Sturgis (1963)<sup id="cite_ref-Shepherdson-Sturgis_1963_9-3" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> observed this (in the context of certain proofs and investigations): </p> <dl><dd>"<i>...a Turing machine has a certain opacity... a Turing machine is slow in (hypothetical) operation and, usually, complicated. This makes it rather hard to design it, and even harder to investigate such matters as time or storage optimization or a comparison between the efficiency of two algorithms.<sup id="cite_ref-Melzak_1961_4-5" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 281">: 281 </span></sup> "...although not difficult... proofs are complicated and tedious to follow for two reasons: (1) A Turing machine has only a head so that one is obliged to break down the computation into very small steps of operations on a single digit. (2) It has only one tape so that one has to go to some trouble to find the number one wishes to work on and keep it separate from other numbers</i>"<sup id="cite_ref-Shepherdson-Sturgis_1963_9-4" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 218">: 218 </span></sup></dd></dl> <p>Indeed, as examples in <a href="/wiki/Turing_machine_examples" title="Turing machine examples">Turing machine examples</a>, Post–Turing machine and <a href="/wiki/Partial_function" title="Partial function">partial functions</a> show, the work can be "complicated". </p> <div class="mw-heading mw-heading3"><h3 id="Minsky,_Melzak–Lambek_and_Shepherdson–Sturgis_models_"cut_the_tape"_into_many"><span id="Minsky.2C_Melzak.E2.80.93Lambek_and_Shepherdson.E2.80.93Sturgis_models_.22cut_the_tape.22_into_many"></span>Minsky, Melzak–Lambek and Shepherdson–Sturgis models "cut the tape" into many</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=5" title="Edit section: Minsky, Melzak–Lambek and Shepherdson–Sturgis models "cut the tape" into many"><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-Tone plainlinks metadata ambox ambox-style ambox-Tone" 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 section's <b>tone or style may not reflect the <a href="/wiki/Wikipedia:Writing_better_articles#Tone" title="Wikipedia:Writing better articles">encyclopedic tone</a> used on Wikipedia</b>.<span class="hide-when-compact"> See Wikipedia's <a href="/wiki/Wikipedia:Writing_better_articles#Tone" title="Wikipedia:Writing better articles">guide to writing better articles</a> for suggestions.</span> <span class="date-container"><i>(<span class="date">January 2024</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> <p>Initial thought leads to 'cutting the tape' so that each is infinitely long (to accommodate any size integer) but left-ended. These three tapes are called "Post–Turing (i.e. Wang-like) tapes". The individual heads move to the left (for decrementing) and to the right (for incrementing). In a sense, the heads indicate "the top of the stack" of concatenated marks. Or in Minsky (1961)<sup id="cite_ref-Minsky_1961_5-4" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> and Hopcroft and Ullman (1979),<sup id="cite_ref-Hopcroft-Ullman_1979_19-0" class="reference"><a href="#cite_note-Hopcroft-Ullman_1979-19"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Pages: 171ff">: 171ff </span></sup> the tape is always blank except for a mark at the left end—at no time does a head ever print or erase. </p><p>Care must be taken to write the instructions so that a test for zero and a jump occur <i>before</i> decrementing, otherwise the machine will "fall off the end" or "bump against the end"—creating an instance of a <a href="/wiki/Partial_function" title="Partial function">partial function</a>. </p><p>Minsky (1961)<sup id="cite_ref-Minsky_1961_5-5" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> and Shepherdson–Sturgis (1963)<sup id="cite_ref-Shepherdson-Sturgis_1963_9-5" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> prove that only a few tapes—as few as one—still allow the machine to be Turing equivalent if the data on the tape is represented as a <a href="/wiki/G%C3%B6del_number" class="mw-redirect" title="Gödel number">Gödel number</a> (or some other uniquely encodable Encodable-decodable number); this number will evolve as the computation proceeds. In the one tape version with <a href="/wiki/G%C3%B6del_numbering" title="Gödel numbering">Gödel number</a> encoding the counter machine must be able to (i) multiply the Gödel number by a constant (numbers "2" or "3"), and (ii) divide by a constant (numbers "2" or "3") and jump if the remainder is zero. Minsky (1967)<sup id="cite_ref-Minsky_1967_16-2" class="reference"><a href="#cite_note-Minsky_1967-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> shows that the need for this bizarre instruction set can be relaxed to { INC (r), JZDEC (r, z) } and the convenience instructions { CLR (r), J (r) } if two tapes are available. However, a simple Gödelization is still required. A similar result appears in Elgot–Robinson (1964)<sup id="cite_ref-Elgot-Robinson_1964_20-0" class="reference"><a href="#cite_note-Elgot-Robinson_1964-20"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> with respect to their RASP model. </p> <div class="mw-heading mw-heading3"><h3 id="Melzak's_(1961)_model_is_different:_clumps_of_pebbles_go_into_and_out_of_holes"><span id="Melzak.27s_.281961.29_model_is_different:_clumps_of_pebbles_go_into_and_out_of_holes"></span>Melzak's (1961) model is different: clumps of pebbles go into and out of holes</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=6" title="Edit section: Melzak's (1961) model is different: clumps of pebbles go into and out of holes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Melzak's (1961)<sup id="cite_ref-Melzak_1961_4-6" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> model is significantly different. He took his own model, flipped the tapes vertically, called them "holes in the ground" to be filled with "pebble counters". Unlike Minsky's "increment" and "decrement", Melzak allowed for proper subtraction of any count of pebbles and "adds" of any count of pebbles. </p><p>He defines indirect addressing for his model<sup id="cite_ref-Melzak_1961_4-7" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 288">: 288 </span></sup> and provides two examples of its use;<sup id="cite_ref-Melzak_1961_4-8" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 89">: 89 </span></sup> his "proof"<sup id="cite_ref-Melzak_1961_4-9" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Pages: 290–292">: 290–292 </span></sup> that his model is Turing equivalent is so sketchy that the reader cannot tell whether or not he intended the indirect addressing to be a requirement for the proof. </p><p>Legacy of Melzak's model is Lambek's simplification and the reappearance of his mnemonic conventions in Cook and Reckhow 1973.<sup id="cite_ref-Cook-Reckhow_1973_21-0" class="reference"><a href="#cite_note-Cook-Reckhow_1973-21"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Lambek_(1961)_atomizes_Melzak's_model_into_the_Minsky_(1961)_model:_INC_and_DEC-with-test"><span id="Lambek_.281961.29_atomizes_Melzak.27s_model_into_the_Minsky_.281961.29_model:_INC_and_DEC-with-test"></span>Lambek (1961) atomizes Melzak's model into the Minsky (1961) model: INC and DEC-with-test</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=7" title="Edit section: Lambek (1961) atomizes Melzak's model into the Minsky (1961) model: INC and DEC-with-test"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Joachim_Lambek" title="Joachim Lambek">Lambek</a> (1961)<sup id="cite_ref-Lambek_1961_6-2" class="reference"><a href="#cite_note-Lambek_1961-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> took Melzak's ternary model and atomized it down to the two unary instructions—X+, X− if possible else jump—exactly the same two that Minsky (1961)<sup id="cite_ref-Minsky_1961_5-6" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> had come up with. </p><p>However, like the Minsky (1961)<sup id="cite_ref-Minsky_1961_5-7" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> model, the Lambek model does execute its instructions in a default-sequential manner—both X+ and X− carry the identifier of the next instruction, and X− also carries the jump-to instruction if the zero-test is successful. </p> <div class="mw-heading mw-heading3"><h3 id="Elgot–Robinson_(1964)_and_the_problem_of_the_RASP_without_indirect_addressing"><span id="Elgot.E2.80.93Robinson_.281964.29_and_the_problem_of_the_RASP_without_indirect_addressing"></span>Elgot–Robinson (1964) and the problem of the RASP without indirect addressing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=8" title="Edit section: Elgot–Robinson (1964) and the problem of the RASP without indirect addressing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A RASP or random-access stored-program machine begins as a counter machine with its "program of instruction" placed in its "registers". Analogous to, but independent of, the finite state machine's "Instruction Register", at least one of the registers (nicknamed the "program counter" (PC)) and one or more "temporary" registers maintain a record of, and operate on, the current instruction's number. The finite state machine's TABLE of instructions is responsible for (i) fetching the current <i>program</i> instruction from the proper register, (ii) parsing the <i>program</i> instruction, (iii) fetching operands specified by the <i>program</i> instruction, and (iv) executing the <i>program</i> instruction. </p><p>Except there is a problem: If based on the <i>counter machine</i> chassis this computer-like, <a href="/wiki/John_von_Neumann" title="John von Neumann">von Neumann</a> machine will not be Turing equivalent. It cannot compute everything that is computable. Intrinsically the model is bounded by the size of its (very-) <i>finite</i> state machine's instructions. The counter machine based RASP can compute any <a href="/wiki/Primitive_recursive_function" title="Primitive recursive function">primitive recursive function</a> (e.g. multiplication) but not all <a href="/wiki/Mu_recursive_function" class="mw-redirect" title="Mu recursive function">mu recursive functions</a> (e.g. the <a href="/wiki/Ackermann_function" title="Ackermann function">Ackermann function</a>). </p><p>Elgot–Robinson investigate the possibility of allowing their RASP model to "self modify" its program instructions.<sup id="cite_ref-Elgot-Robinson_1964_20-1" class="reference"><a href="#cite_note-Elgot-Robinson_1964-20"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> The idea was an old one, proposed by Burks–Goldstine–von Neumann (1946–1947),<sup id="cite_ref-Burks-Goldstine-Neumann_1947_22-0" class="reference"><a href="#cite_note-Burks-Goldstine-Neumann_1947-22"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> and sometimes called "the computed goto". Melzak (1961)<sup id="cite_ref-Melzak_1961_4-10" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> specifically mentions the "computed goto" by name but instead provides his model with indirect addressing. </p><p><b>Computed goto:</b> A RASP <i>program</i> of instructions that modifies the "goto address" in a conditional- or unconditional-jump <i>program</i> instruction. </p><p>But this does not solve the problem (unless one resorts to <a href="/wiki/G%C3%B6del_number" class="mw-redirect" title="Gödel number">Gödel numbers</a>). What is necessary is a method to fetch the address of a program instruction that lies (far) "beyond/above" the upper bound of the <i>finite</i> state machine instruction register and TABLE. </p> <dl><dd>Example: A counter machine equipped with only four unbounded registers can e.g. multiply any two numbers ( m, n ) together to yield p—and thus be a primitive recursive function—no matter how large the numbers m and n; moreover, less than 20 instructions are required to do this! e.g. { 1: CLR ( p ), 2: JZ ( m, done ), 3 outer_loop: JZ ( n, done ), 4: CPY ( m, temp ), 5: inner_loop: JZ ( m, outer_loop ), 6: DEC ( m ), 7: INC ( p ), 8: J ( inner_loop ), 9: outer_loop: DEC ( n ), 10 J ( outer_loop ), HALT } However, with only 4 registers, this machine has not nearly big enough to build a RASP that can execute the multiply algorithm as a <i>program</i>. No matter how big we build our finite state machine there will always be a <i>program</i> (including its parameters) which is larger. So by definition the bounded program machine that does not use unbounded encoding tricks such as Gödel numbers cannot be <i>universal</i>.</dd></dl> <p>Minsky (1967)<sup id="cite_ref-Minsky_1967_16-3" class="reference"><a href="#cite_note-Minsky_1967-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> hints at the issue in his investigation of a counter machine (he calls them "program computer models") equipped with the instructions { CLR (r), INC (r), and RPT ("a" times the instructions m to n) }. He doesn't tell us how to fix the problem, but he does observe that: </p> <dl><dd>"<i>... the program computer has to have some way to keep track of how many RPT's remain to be done, and this might exhaust any particular amount of storage allowed in the finite part of the computer. RPT operations require infinite registers of their own, in general, and they must be treated differently from the other kinds of operations we have considered.</i>"<sup id="cite_ref-Minsky_1967_16-4" class="reference"><a href="#cite_note-Minsky_1967-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 214">: 214 </span></sup></dd></dl> <p>But Elgot and Robinson solve the problem:<sup id="cite_ref-Elgot-Robinson_1964_20-2" class="reference"><a href="#cite_note-Elgot-Robinson_1964-20"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> They augment their P<sub>0</sub> RASP with an indexed set of instructions—a somewhat more complicated (but more flexible) form of indirect addressing. Their P'<sub>0</sub> model addresses the registers by adding the contents of the "base" register (specified in the instruction) to the "index" specified explicitly in the instruction (or vice versa, swapping "base" and "index"). Thus the indexing P'<sub>0</sub> instructions have one more parameter than the non-indexing P<sub>0</sub> instructions: </p> <dl><dd>Example: INC ( r<sub>base</sub>, index ) ; effective address will be [r<sub>base</sub>] + index, where the natural number "index" is derived from the finite-state machine instruction itself.</dd></dl> <div class="mw-heading mw-heading3"><h3 id="Hartmanis_(1971)"><span id="Hartmanis_.281971.29"></span>Hartmanis (1971)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=9" title="Edit section: Hartmanis (1971)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>By 1971, Hartmanis has simplified the indexing to <a href="/wiki/Indirection" title="Indirection">indirection</a> for use in his RASP model.<sup id="cite_ref-Hartmanis_1971_23-0" class="reference"><a href="#cite_note-Hartmanis_1971-23"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> </p><p><b>Indirect addressing:</b> A pointer-register supplies the finite state machine with the address of the target register required for the instruction. Said another way: The <i>contents</i> of the pointer-register is the <i>address</i> of the "target" register to be used by the instruction. If the pointer-register is unbounded, the RAM, and a suitable RASP built on its chassis, will be Turing equivalent. The target register can serve either as a source or destination register, as specified by the instruction. </p><p>Note that the finite state machine does not have to explicitly specify this target register's address. It just says to the rest of the machine: Get me the contents of the register pointed to by my pointer-register and then do xyz with it. It must specify explicitly by name, via its instruction, this pointer-register (e.g. "N", or "72" or "PC", etc.) but it doesn't have to know what number the pointer-register actually contains (perhaps 279,431). </p> <div class="mw-heading mw-heading3"><h3 id="Cook_and_Reckhow_(1973)_describe_the_RAM"><span id="Cook_and_Reckhow_.281973.29_describe_the_RAM"></span>Cook and Reckhow (1973) describe the RAM</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=10" title="Edit section: Cook and Reckhow (1973) describe the RAM"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Cook and Reckhow (1973)<sup id="cite_ref-Cook-Reckhow_1973_21-1" class="reference"><a href="#cite_note-Cook-Reckhow_1973-21"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> cite Hartmanis (1971)<sup id="cite_ref-Hartmanis_1971_23-1" class="reference"><a href="#cite_note-Hartmanis_1971-23"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> and simplify his model to what they call a random-access machine (RAM—i.e. a machine with indirection and the Harvard architecture). In a sense we are back to Melzak (1961)<sup id="cite_ref-Melzak_1961_4-11" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> but with a much simpler model than Melzak's. </p> <div class="mw-heading mw-heading2"><h2 id="Precedence">Precedence</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=11" title="Edit section: Precedence"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Minsky was working at the <a href="/wiki/MIT_Lincoln_Laboratory" title="MIT Lincoln Laboratory">MIT Lincoln Laboratory</a> and published his work there; his paper was received for publishing in the <i>Annals of Mathematics</i> on 15 August 1960, but not published until November 1961.<sup id="cite_ref-Minsky_1961_5-8" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> While receipt occurred a full year before the work of Melzak<sup id="cite_ref-Melzak_1961_4-12" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> and Lambek<sup id="cite_ref-Lambek_1961_6-3" class="reference"><a href="#cite_note-Lambek_1961-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> was received and published (received, respectively, May and 15 June 1961, and published side-by-side September 1961). That (i) both were Canadians and published in the <a href="/wiki/Canadian_Mathematical_Bulletin" title="Canadian Mathematical Bulletin">Canadian Mathematical Bulletin</a>, (ii) neither would have had reference to Minsky's work because it was not yet published in a peer-reviewed journal, but (iii) Melzak references Wang, and Lambek references Melzak, leads one to hypothesize that their work occurred simultaneously and independently. </p><p>Almost exactly the same thing happened to Shepherdson and Sturgis.<sup id="cite_ref-Shepherdson-Sturgis_1961_24-0" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1961-24"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> Their paper was received in December 1961—just a few months after Melzak and Lambek's work was received. Again, they had little (at most 1 month) or no benefit of reviewing the work of Minsky. They were careful to observe in footnotes that papers by Ershov,<sup id="cite_ref-Ershov_1958_25-0" class="reference"><a href="#cite_note-Ershov_1958-25"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> Kaphengst<sup id="cite_ref-Kaphengst_1959_13-1" class="reference"><a href="#cite_note-Kaphengst_1959-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> and Péter<sup id="cite_ref-Péter_1958_12-1" class="reference"><a href="#cite_note-Péter_1958-12"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> had "recently appeared"<sup id="cite_ref-Shepherdson-Sturgis_1961_24-1" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1961-24"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 219">: 219 </span></sup> These were published much earlier but appeared in the German language in German journals so issues of accessibility present themselves. </p><p>The final paper of Shepherdson and Sturgis did not appear in a peer-reviewed journal until 1963.<sup id="cite_ref-Shepherdson-Sturgis_1963_9-6" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> And as they note in their Appendix A, the 'systems' of Kaphengst (1959),<sup id="cite_ref-Kaphengst_1959_13-2" class="reference"><a href="#cite_note-Kaphengst_1959-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> Ershov (1958),<sup id="cite_ref-Ershov_1958_25-1" class="reference"><a href="#cite_note-Ershov_1958-25"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> and Péter (1958)<sup id="cite_ref-Péter_1958_12-2" class="reference"><a href="#cite_note-Péter_1958-12"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> are all so similar to what results were obtained later as to be indistinguishable to a set of the following: </p> <dl><dd>produce 0 i.e. 0 → n</dd> <dd>increment a number i.e. n+1 → n <dl><dd>"i.e. of performing the operations which generate the natural numbers"<sup id="cite_ref-Shepherdson-Sturgis_1963_9-7" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 246">: 246 </span></sup></dd></dl></dd> <dd>copy a number i.e. n → m</dd> <dd>to "change the course of a computation", either comparing two numbers or decrementing until 0</dd></dl> <p>Indeed, Shepherson and Sturgis conclude: </p> <dl><dd><dl><dd>"<i>The various minimal systems are very similar</i>"<sup id="cite_ref-Shepherdson-Sturgis_1963_9-8" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 246">: 246 </span></sup></dd></dl></dd></dl> <p>By order of <i>publishing</i> date the work of Kaphengst (1959),<sup id="cite_ref-Kaphengst_1959_13-3" class="reference"><a href="#cite_note-Kaphengst_1959-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> Ershov (1958),<sup id="cite_ref-Ershov_1958_25-2" class="reference"><a href="#cite_note-Ershov_1958-25"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> Péter (1958) were first.<sup id="cite_ref-Péter_1958_12-3" class="reference"><a href="#cite_note-Péter_1958-12"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> </p> <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=Register_machine&action=edit&section=12" 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: 25em;"> <ul><li><a href="/wiki/Counter_machine" title="Counter machine">Counter machine</a> <ul><li><a href="/wiki/Counter-machine_model" title="Counter-machine model">Counter-machine model</a></li></ul></li> <li><a href="/wiki/Pointer_machine" title="Pointer machine">Pointer machine</a></li> <li><a href="/wiki/Random-access_machine" title="Random-access machine">Random-access machine</a></li> <li><a href="/wiki/Random-access_stored-program_machine" title="Random-access stored-program machine">Random-access stored-program machine</a></li> <li><a href="/wiki/Turing_machine" title="Turing machine">Turing machine</a> <ul><li><a href="/wiki/Universal_Turing_machine" title="Universal Turing machine">Universal Turing machine</a></li> <li><a href="/wiki/Turing_machine_examples" title="Turing machine examples">Turing machine examples</a></li></ul></li> <li><a href="/wiki/Wang_B-machine" title="Wang B-machine">Wang B-machine</a></li> <li><a href="/wiki/Post%E2%80%93Turing_machine" title="Post–Turing machine">Post–Turing machine</a> - description plus examples</li> <li><a href="/wiki/Algorithm" title="Algorithm">Algorithm</a> <ul><li><a href="/wiki/Algorithm_characterizations" title="Algorithm characterizations">Algorithm characterizations</a></li></ul></li> <li><a href="/wiki/Halting_problem" title="Halting problem">Halting problem</a></li> <li><a href="/wiki/Busy_beaver" title="Busy beaver">Busy beaver</a></li> <li><a href="/wiki/Stack_machine" title="Stack machine">Stack machine</a></li> <li><a href="/wiki/WDR_paper_computer" title="WDR paper computer">WDR paper computer</a></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="Bibliography">Bibliography</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=13" title="Edit section: Bibliography"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><b>Background texts:</b> The following bibliography of source papers includes a number of texts to be used as background. The mathematics that led to the flurry of papers about abstract machines in the 1950s and 1960s can be found in van Heijenoort (1967)<sup id="cite_ref-Heijenoort_1967_26-0" class="reference"><a href="#cite_note-Heijenoort_1967-26"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>—an assemblage of original papers spanning the 50 years from Frege (1879)<sup id="cite_ref-Frege_1879_27-0" class="reference"><a href="#cite_note-Frege_1879-27"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> to Gödel (1931).<sup id="cite_ref-Gödel_1931_28-0" class="reference"><a href="#cite_note-Gödel_1931-28"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> Davis (ed.) <i>The Undecidable</i> (1965)<sup id="cite_ref-Davis_1965_29-0" class="reference"><a href="#cite_note-Davis_1965-29"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> carries the torch onward beginning with Gödel (1931)<sup id="cite_ref-Gödel_1931_28-1" class="reference"><a href="#cite_note-Gödel_1931-28"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> through Gödel's (1964) postscriptum;<sup id="cite_ref-Gödel_1964_30-0" class="reference"><a href="#cite_note-Gödel_1964-30"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 71">: 71 </span></sup> the original papers of <a href="/wiki/Alan_Turing" title="Alan Turing">Alan Turing</a> (1936<sup id="cite_ref-Turing_1936_31-0" class="reference"><a href="#cite_note-Turing_1936-31"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup>–1937) and Emil Post (1936)<sup id="cite_ref-Post_1936_8-2" class="reference"><a href="#cite_note-Post_1936-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> are included in <i>The Undecidable</i>. The mathematics of Church, Rosser, and Kleene that appear as reprints of original papers in <i>The Undecidable</i> is carried further in Kleene (1952),<sup id="cite_ref-Kleene_1952_32-0" class="reference"><a href="#cite_note-Kleene_1952-32"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> a mandatory text for anyone pursuing a deeper understanding of the mathematics behind the machines. Both Kleene (1952)<sup id="cite_ref-Kleene_1952_32-1" class="reference"><a href="#cite_note-Kleene_1952-32"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> and Davis (1958)<sup id="cite_ref-Davis_1958_33-0" class="reference"><a href="#cite_note-Davis_1958-33"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> are referenced by a number of the papers. </p><p>For a good treatment of the counter machine see Minsky (1967) Chapter 11 "Models similar to Digital Computers"—he calls the counter machine a "program computer".<sup id="cite_ref-Minsky_1967_16-5" class="reference"><a href="#cite_note-Minsky_1967-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> A recent overview is found at van Emde Boas (1990).<sup id="cite_ref-EmdeBoas_1990_34-0" class="reference"><a href="#cite_note-EmdeBoas_1990-34"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> A recent treatment of the Minsky (1961)<sup id="cite_ref-Minsky_1961_5-9" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>/Lambek (1961)<sup id="cite_ref-Lambek_1961_6-4" class="reference"><a href="#cite_note-Lambek_1961-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> model can be found Boolos–Burgess–Jeffrey (2002);<sup id="cite_ref-Boolos-Burgess-Jeffrey_2002_35-0" class="reference"><a href="#cite_note-Boolos-Burgess-Jeffrey_2002-35"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> they reincarnate Lambek's "abacus model" to demonstrate equivalence of Turing machines and partial recursive functions, and they provide a graduate-level introduction to both abstract machine models (counter- and Turing-) and the mathematics of recursion theory. Beginning with the first edition Boolos–Burgess (1970)<sup id="cite_ref-Boolos-Burgess_1970_36-0" class="reference"><a href="#cite_note-Boolos-Burgess_1970-36"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> this model appeared with virtually the same treatment. </p><p><b>The papers</b>: The papers begin with Wang (1957)<sup id="cite_ref-Wang_1957_15-2" class="reference"><a href="#cite_note-Wang_1957-15"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> and his dramatic simplification of the Turing machine. Turing (1936),<sup id="cite_ref-Turing_1936_31-1" class="reference"><a href="#cite_note-Turing_1936-31"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> Kleene (1952),<sup id="cite_ref-Kleene_1952_32-2" class="reference"><a href="#cite_note-Kleene_1952-32"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> Davis (1958),<sup id="cite_ref-Davis_1958_33-1" class="reference"><a href="#cite_note-Davis_1958-33"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> and in particular Post (1936)<sup id="cite_ref-Post_1936_8-3" class="reference"><a href="#cite_note-Post_1936-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> are cited in Wang (1957);<sup id="cite_ref-Wang_1957_15-3" class="reference"><a href="#cite_note-Wang_1957-15"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> in turn, Wang is referenced by Melzak (1961),<sup id="cite_ref-Melzak_1961_4-13" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Minsky (1961),<sup id="cite_ref-Minsky_1961_5-10" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> and Shepherdson–Sturgis (1961–1963)<sup id="cite_ref-Shepherdson-Sturgis_1961_24-2" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1961-24"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Shepherdson-Sturgis_1963_9-9" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> as they independently reduce the Turing tapes to "counters". Melzak (1961)<sup id="cite_ref-Melzak_1961_4-14" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> provides his pebble-in-holes counter machine model with indirection but doesn't carry the treatment further. The work of Elgot–Robinson (1964)<sup id="cite_ref-Elgot-Robinson_1964_20-3" class="reference"><a href="#cite_note-Elgot-Robinson_1964-20"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> define the RASP—the computer-like random-access stored-program machines—and appear to be the first to investigate the failure of the bounded <a href="/wiki/Counter_machine" title="Counter machine">counter machine</a> to calculate the mu-recursive functions. This failure—except with the draconian use of <a href="/wiki/G%C3%B6del_number" class="mw-redirect" title="Gödel number">Gödel numbers</a> in the manner of Minsky (1961)<sup id="cite_ref-Minsky_1961_5-11" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>—leads to their definition of "indexed" instructions (i.e. indirect addressing) for their RASP model. Elgot–Robinson (1964)<sup id="cite_ref-Elgot-Robinson_1964_20-4" class="reference"><a href="#cite_note-Elgot-Robinson_1964-20"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> and more so Hartmanis (1971)<sup id="cite_ref-Hartmanis_1971_23-2" class="reference"><a href="#cite_note-Hartmanis_1971-23"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> investigate RASPs with self-modifying programs. Hartmanis (1971)<sup id="cite_ref-Hartmanis_1971_23-3" class="reference"><a href="#cite_note-Hartmanis_1971-23"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> specifies an instruction set with indirection, citing lecture notes of Cook (1970).<sup id="cite_ref-Cook_1970_37-0" class="reference"><a href="#cite_note-Cook_1970-37"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> For use in investigations of computational complexity Cook and his graduate student Reckhow (1973)<sup id="cite_ref-Cook-Reckhow_1973_21-2" class="reference"><a href="#cite_note-Cook-Reckhow_1973-21"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> provide the definition of a RAM (their model and mnemonic convention are similar to Melzak's, but offer him no reference in the paper). The pointer machines are an offshoot of Knuth (1968,<sup id="cite_ref-Knuth_1968_38-0" class="reference"><a href="#cite_note-Knuth_1968-38"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> 1973) and independently Schönhage (1980).<sup id="cite_ref-Schönhage_1980_39-0" class="reference"><a href="#cite_note-Schönhage_1980-39"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup> </p><p>For the most part the papers contain mathematics beyond the undergraduate level—in particular the <a href="/wiki/Primitive_recursive_function" title="Primitive recursive function">primitive recursive functions</a> and <a href="/wiki/Mu_recursive_function" class="mw-redirect" title="Mu recursive function">mu recursive functions</a> presented elegantly in Kleene (1952)<sup id="cite_ref-Kleene_1952_32-3" class="reference"><a href="#cite_note-Kleene_1952-32"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> and less in depth, but useful nonetheless, in Boolos–Burgess–Jeffrey (2002).<sup id="cite_ref-Boolos-Burgess-Jeffrey_2002_35-1" class="reference"><a href="#cite_note-Boolos-Burgess-Jeffrey_2002-35"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> </p><p>All texts and papers excepting the four starred have been witnessed. These four are written in German and appear as references in Shepherdson–Sturgis (1963)<sup id="cite_ref-Shepherdson-Sturgis_1963_9-10" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> and Elgot–Robinson (1964);<sup id="cite_ref-Elgot-Robinson_1964_20-5" class="reference"><a href="#cite_note-Elgot-Robinson_1964-20"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> Shepherdson–Sturgis (1963)<sup id="cite_ref-Shepherdson-Sturgis_1963_9-11" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> offer a brief discussion of their results in Shepherdson–Sturgis' Appendix A. The terminology of at least one paper (Kaphengst (1959)<sup id="cite_ref-Kaphengst_1959_13-4" class="reference"><a href="#cite_note-Kaphengst_1959-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> seems to hark back to the Burke–Goldstine–von Neumann (1946–1947)<sup id="cite_ref-Burks-Goldstine-Neumann_1947_22-1" class="reference"><a href="#cite_note-Burks-Goldstine-Neumann_1947-22"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> analysis of computer architecture. </p> <table class="wikitable" style="text-align:center; font-size:88%"> <tbody><tr style="vertical-align:bottom;"> <th style="width:114.6;">Author </th> <th style="width:43.2;">Year </th> <th style="width:46.8;">Reference </th> <th style="width:41.4;">Turing machine </th> <th style="width:43.2;">Counter machine </th> <th style="width:27.6;">RAM </th> <th style="width:28.2;">RASP </th> <th style="width:38.4;">Pointer machine </th> <th style="width:54px;">Indirect addressing </th> <th style="width:43.8;">Self-modifying program </th></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Goldstine & von Neumann </td> <td>1947<sup id="cite_ref-Burks-Goldstine-Neumann_1947_22-2" class="reference"><a href="#cite_note-Burks-Goldstine-Neumann_1947-22"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Kleene </td> <td>1952<sup id="cite_ref-Kleene_1952_32-4" class="reference"><a href="#cite_note-Kleene_1952-32"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Hermes </td> <td>1954–1955<sup id="cite_ref-Hermes_1954_11-1" class="reference"><a href="#cite_note-Hermes_1954-11"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">? </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Wang </td> <td>1957<sup id="cite_ref-Wang_1957_15-4" class="reference"><a href="#cite_note-Wang_1957-15"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td>hints </td> <td> </td> <td> </td> <td> </td> <td>hints </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Péter </td> <td>1958<sup id="cite_ref-Péter_1958_12-4" class="reference"><a href="#cite_note-Péter_1958-12"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">? </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Davis </td> <td>1958<sup id="cite_ref-Davis_1958_33-2" class="reference"><a href="#cite_note-Davis_1958-33"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Ershov </td> <td>1959<sup id="cite_ref-Ershov_1958_25-3" class="reference"><a href="#cite_note-Ershov_1958-25"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">? </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Kaphengst </td> <td>1959<sup id="cite_ref-Kaphengst_1959_13-5" class="reference"><a href="#cite_note-Kaphengst_1959-13"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td style="background: var(--background-color-interactive, #EEE); color: var(--color-base, black); vertical-align: middle; white-space: nowrap; text-align: center;" class="table-Unknown">? </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Melzak </td> <td>1961<sup id="cite_ref-Melzak_1961_4-15" class="reference"><a href="#cite_note-Melzak_1961-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td>hints </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Lambek </td> <td>1961<sup id="cite_ref-Lambek_1961_6-5" class="reference"><a href="#cite_note-Lambek_1961-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Minsky </td> <td>1961<sup id="cite_ref-Minsky_1961_5-12" class="reference"><a href="#cite_note-Minsky_1961-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Shepherdson & Sturgis </td> <td>1963<sup id="cite_ref-Shepherdson-Sturgis_1963_9-12" class="reference"><a href="#cite_note-Shepherdson-Sturgis_1963-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td>hints </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Elgot & Robinson </td> <td>1964<sup id="cite_ref-Elgot-Robinson_1964_20-6" class="reference"><a href="#cite_note-Elgot-Robinson_1964-20"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Davis- Undecidable </td> <td>1965<sup id="cite_ref-Davis_1965_29-1" class="reference"><a href="#cite_note-Davis_1965-29"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">van Heijenoort </td> <td>1967<sup id="cite_ref-Heijenoort_1967_26-1" class="reference"><a href="#cite_note-Heijenoort_1967-26"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Minsky </td> <td>1967<sup id="cite_ref-Minsky_1967_16-6" class="reference"><a href="#cite_note-Minsky_1967-16"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td>hints </td> <td> </td> <td> </td> <td>hints </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Knuth </td> <td>1968,<sup id="cite_ref-Knuth_1968_38-1" class="reference"><a href="#cite_note-Knuth_1968-38"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> 1973 </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Hartmanis </td> <td>1971<sup id="cite_ref-Hartmanis_1971_23-4" class="reference"><a href="#cite_note-Hartmanis_1971-23"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Cook & Reckhow </td> <td>1973<sup id="cite_ref-Cook-Reckhow_1973_21-3" class="reference"><a href="#cite_note-Cook-Reckhow_1973-21"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Schönhage </td> <td>1980<sup id="cite_ref-Schönhage_1980_39-1" class="reference"><a href="#cite_note-Schönhage_1980-39"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup> </td> <td> </td> <td> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">van Emde Boas </td> <td>1990<sup id="cite_ref-EmdeBoas_1990_34-1" class="reference"><a href="#cite_note-EmdeBoas_1990-34"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td></tr> <tr style="vertical-align:bottom;"> <td style="text-align:left">Boolos & Burgess; Boolos, Burgess & Jeffrey </td> <td>1970<sup id="cite_ref-Boolos-Burgess_1970_36-1" class="reference"><a href="#cite_note-Boolos-Burgess_1970-36"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup>–2002<sup id="cite_ref-Boolos-Burgess-Jeffrey_2002_35-2" class="reference"><a href="#cite_note-Boolos-Burgess-Jeffrey_2002-35"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td data-sort-value="Yes" style="background: #DFD; color:black; vertical-align: middle; text-align: center;" class="table-yes2"><span typeof="mw:File"><span title="Yes"><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/13px-Check-green.svg.png" decoding="async" width="13" height="13" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/20px-Check-green.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/26/Check-green.svg/26px-Check-green.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td></tr></tbody></table> <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=Register_machine&action=edit&section=14" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <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 class="mw-references-wrap"><ol class="references"> <li id="cite_note-NB1-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-NB1_2-0">^</a></b></span> <span class="reference-text">". . . a denumerable sequence of registers numbered 1, 2, 3, ..., each of which can store any natural number 0, 1, 2, .... Each particular program, however, involves only a finite number of these registers, the others remaining empty (i.e. containing 0) throughout the computation." (Shepherdson and Sturgis 1961: p. 219); (Lambek 1961: p. 295) proposed: "a countably infinite set of <i>locations</i> (holes, wires, etc).</span> </li> <li id="cite_note-NB2-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-NB2_3-0">^</a></b></span> <span class="reference-text">For example, (Lambek 1961: p. 295) proposed the use of pebbles, beads, etc.</span> </li> <li id="cite_note-NB3-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-NB3_10-0">^</a></b></span> <span class="reference-text">See the "Note" in (Shepherdson and Sturgis 1963: p. 219). In their Appendix A the authors follow up with a listing and discussions of Kaphengst's, Ershov's and Péter's instruction sets (cf p. 245ff).</span> </li> </ol></div></div> <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=Register_machine&action=edit&section=15" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239543626"><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-Abelson-Sussman_1996-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-Abelson-Sussman_1996_1-0">^</a></b></span> <span class="reference-text"><a href="/wiki/Harold_Abelson" class="mw-redirect" title="Harold Abelson">Harold Abelson</a> and <a href="/wiki/Gerald_Jay_Sussman" title="Gerald Jay Sussman">Gerald Jay Sussman</a> with Julie Sussman, <a href="/wiki/Structure_and_Interpretation_of_Computer_Programs" title="Structure and Interpretation of Computer Programs">Structure and Interpretation of Computer Programs</a>, <a href="/wiki/MIT_Press" title="MIT Press">MIT Press</a>, <a href="/wiki/Cambridge,_Massachusetts" title="Cambridge, Massachusetts">Cambridge, Massachusetts</a>, 2nd edition, 1996</span> </li> <li id="cite_note-Melzak_1961-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-Melzak_1961_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-11"><sup><i><b>l</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-12"><sup><i><b>m</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-13"><sup><i><b>n</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-14"><sup><i><b>o</b></i></sup></a> <a href="#cite_ref-Melzak_1961_4-15"><sup><i><b>p</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="CITEREFMelzak1961" class="citation journal cs1 cs1-prop-interproj-linked-name"><a href="https://www.wikidata.org/wiki/Q95321564" class="extiw" title="d:Q95321564">Melzak, Zdzislaw Alexander</a> <span class="cs1-format">[at Wikidata]</span> (September 1961). <a rel="nofollow" class="external text" href="https://doi.org/10.4153%2FCMB-1961-031-9">"An Informal Arithmetical Approach to Computability and Computation"</a>. <i><a href="/wiki/Canadian_Mathematical_Bulletin" title="Canadian Mathematical Bulletin">Canadian Mathematical Bulletin</a></i>. <b>4</b> (3): 89, 279–293 [89, 281, 288, 290–292]. <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.4153%2FCMB-1961-031-9">10.4153/CMB-1961-031-9</a></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Canadian+Mathematical+Bulletin&rft.atitle=An+Informal+Arithmetical+Approach+to+Computability+and+Computation&rft.volume=4&rft.issue=3&rft.pages=89%2C+279-293+89%2C+281%2C+288%2C+290-292&rft.date=1961-09&rft_id=info%3Adoi%2F10.4153%2FCMB-1961-031-9&rft.aulast=Melzak&rft.aufirst=Zdzislaw+Alexander&rft_id=https%3A%2F%2Fdoi.org%2F10.4153%252FCMB-1961-031-9&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARegister+machine" class="Z3988"></span> The manuscript was received by the journal on 15 May 1961. Melzak offers no references but acknowledges "the benefit of conversations with Drs. R. Hamming, D. McIlroy and V. Vyssotsky of the Bell Telephone Laboratories and with Dr. H. Wang of Oxford University." <a rel="nofollow" class="external autonumber" href="https://web.archive.org/web/20230520150655/https://www.cambridge.org/core/services/aop-cambridge-core/content/view/C94994F05E6820B5014B7A3A14024726/S0008439500050955a.pdf/an-informal-arithmetical-approach-to-computability-and-computation.pdf">[1]</a></span> </li> <li id="cite_note-Minsky_1961-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-Minsky_1961_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-11"><sup><i><b>l</b></i></sup></a> <a href="#cite_ref-Minsky_1961_5-12"><sup><i><b>m</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMinsky1961" class="citation journal cs1"><a href="/wiki/Marvin_Minsky" title="Marvin Minsky">Minsky, Marvin</a> (1961). "Recursive Unsolvability of Post's Problem of 'Tag' and Other Topics in Theory of Turing Machines". <i>Annals of Mathematics</i>. <b>74</b> (3): 437–455 [438, 449]. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.2307%2F1970290">10.2307/1970290</a>. <a href="/wiki/JSTOR_(identifier)" class="mw-redirect" title="JSTOR (identifier)">JSTOR</a> <a rel="nofollow" class="external text" href="https://www.jstor.org/stable/1970290">1970290</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Annals+of+Mathematics&rft.atitle=Recursive+Unsolvability+of+Post%27s+Problem+of+%27Tag%27+and+Other+Topics+in+Theory+of+Turing+Machines&rft.volume=74&rft.issue=3&rft.pages=437-455+438%2C+449&rft.date=1961&rft_id=info%3Adoi%2F10.2307%2F1970290&rft_id=https%3A%2F%2Fwww.jstor.org%2Fstable%2F1970290%23id-name%3DJSTOR&rft.aulast=Minsky&rft.aufirst=Marvin&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARegister+machine" class="Z3988"></span></span> </li> <li id="cite_note-Lambek_1961-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-Lambek_1961_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Lambek_1961_6-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Lambek_1961_6-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Lambek_1961_6-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Lambek_1961_6-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Lambek_1961_6-5"><sup><i><b>f</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLambek1961" class="citation journal cs1"><a href="/wiki/Joachim_Lambek" title="Joachim Lambek">Lambek, Joachim</a> (September 1961). <a rel="nofollow" class="external text" href="https://doi.org/10.4153%2FCMB-1961-032-6">"How to Program an Infinite Abacus"</a>. <i><a href="/wiki/Canadian_Mathematical_Bulletin" title="Canadian Mathematical Bulletin">Canadian Mathematical Bulletin</a></i>. <b>4</b> (3): 295–302 [295]. <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.4153%2FCMB-1961-032-6">10.4153/CMB-1961-032-6</a></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Canadian+Mathematical+Bulletin&rft.atitle=How+to+Program+an+Infinite+Abacus&rft.volume=4&rft.issue=3&rft.pages=295-302+295&rft.date=1961-09&rft_id=info%3Adoi%2F10.4153%2FCMB-1961-032-6&rft.aulast=Lambek&rft.aufirst=Joachim&rft_id=https%3A%2F%2Fdoi.org%2F10.4153%252FCMB-1961-032-6&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARegister+machine" class="Z3988"></span> The manuscript was received by the journal on 15 June 1961. In his Appendix II, Lambek proposes a "formal definition of 'program'. He references Melzak (1961) and Kleene (1952) <i>Introduction to Metamathematics</i>.</span> </li> <li id="cite_note-McCarthy_1960-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-McCarthy_1960_7-0">^</a></b></span> <span class="reference-text">McCarthy (1960)</span> </li> <li id="cite_note-Post_1936-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-Post_1936_8-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Post_1936_8-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Post_1936_8-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Post_1936_8-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text">Emil Post (1936)</span> </li> <li id="cite_note-Shepherdson-Sturgis_1963-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-Shepherdson-Sturgis_1963_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-11"><sup><i><b>l</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1963_9-12"><sup><i><b>m</b></i></sup></a></span> <span class="reference-text">Shepherdson, Sturgis (1963): <a href="/w/index.php?title=John_C._Shepherdson&action=edit&redlink=1" class="new" title="John C. Shepherdson (page does not exist)">John C. Shepherdson</a> and <a href="/w/index.php?title=H._E._Sturgis&action=edit&redlink=1" class="new" title="H. E. Sturgis (page does not exist)">H. E. Sturgis</a> (1961) received December 1961 "Computability of Recursive Functions", <i>Journal of the Association for Computing Machinery</i> (JACM) 10:217–255 [218, 219, 245ff, 246], 1963. An extremely valuable reference paper. In their Appendix A the authors cite 4 others with reference to "Minimality of Instructions Used in 4.1: Comparison with Similar Systems".</span> </li> <li id="cite_note-Hermes_1954-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-Hermes_1954_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Hermes_1954_11-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Hans_Hermes" title="Hans Hermes">Hans Hermes</a> "Die Universalität programmgesteuerter Rechenmaschinen". <i>Math.-Phys. Semesterberichte</i> (Göttingen) 4 (1954), 42–53.</span> </li> <li id="cite_note-Péter_1958-12"><span class="mw-cite-backlink">^ <a href="#cite_ref-Péter_1958_12-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Péter_1958_12-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Péter_1958_12-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Péter_1958_12-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Péter_1958_12-4"><sup><i><b>e</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/R%C3%B3zsa_P%C3%A9ter" title="Rózsa Péter">Péter, Rózsa</a> "Graphschemata und rekursive Funktionen", <i>Dialectica</i> 12 (1958), 373.</span> </li> <li id="cite_note-Kaphengst_1959-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-Kaphengst_1959_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Kaphengst_1959_13-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Kaphengst_1959_13-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Kaphengst_1959_13-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Kaphengst_1959_13-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Kaphengst_1959_13-5"><sup><i><b>f</b></i></sup></a></span> <span class="reference-text"><a href="/w/index.php?title=Heinz_Kaphengst&action=edit&redlink=1" class="new" title="Heinz Kaphengst (page does not exist)">Kaphengst, Heinz</a><span class="noprint" style="font-size:85%; font-style: normal;"> [<a href="https://de.wikipedia.org/wiki/Heinz_Kaphengst" class="extiw" title="de:Heinz Kaphengst">de</a>]</span>, "Eine Abstrakte Programmgesteuerte Rechenmaschine", <i>Zeitschrift fur mathematische Logik und Grundlagen der Mathematik</i> 5 (1959), 366–379. <a rel="nofollow" class="external autonumber" href="https://onlinelibrary.wiley.com/doi/abs/10.1002/malq.19590051413">[2]</a></span> </li> <li id="cite_note-Wang_1954-14"><span class="mw-cite-backlink">^ <a href="#cite_ref-Wang_1954_14-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Wang_1954_14-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Hao_Wang_(academic)" title="Hao Wang (academic)">Hao Wang</a> "Variant to Turing's Theory of Computing Machines". Presented at the meeting of the Association, 23–25 June 1954.</span> </li> <li id="cite_note-Wang_1957-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-Wang_1957_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Wang_1957_15-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Wang_1957_15-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Wang_1957_15-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Wang_1957_15-4"><sup><i><b>e</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Hao_Wang_(academic)" title="Hao Wang (academic)">Hao Wang</a> (1957), "A Variant to Turing's Theory of Computing Machines", <i>JACM</i> (<i>Journal of the Association for Computing Machinery</i>) 4; 63–92. Presented at the meeting of the Association, 23–25 June 1954.</span> </li> <li id="cite_note-Minsky_1967-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-Minsky_1967_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Minsky_1967_16-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Minsky_1967_16-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Minsky_1967_16-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Minsky_1967_16-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Minsky_1967_16-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-Minsky_1967_16-6"><sup><i><b>g</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMinsky1967" class="citation book cs1"><a href="/wiki/Marvin_Minsky" title="Marvin Minsky">Minsky, Marvin</a> (1967). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/computationfinit0000mins"><i>Computation: Finite and Infinite Machines</i></a></span> (1st ed.). Englewood Cliffs, New Jersey, USA: Prentice-Hall, Inc. p. 214.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Computation%3A+Finite+and+Infinite+Machines&rft.place=Englewood+Cliffs%2C+New+Jersey%2C+USA&rft.pages=214&rft.edition=1st&rft.pub=Prentice-Hall%2C+Inc.&rft.date=1967&rft.aulast=Minsky&rft.aufirst=Marvin&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fcomputationfinit0000mins&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARegister+machine" class="Z3988"></span> In particular see chapter 11: <i>Models Similar to Digital Computers</i> and chapter 14: <i>Very Simple Bases for Computability</i>. In the former chapter he defines "Program machines" and in the later chapter he discusses "Universal Program machines with Two Registers" and "...with one register", etc.</span> </li> <li id="cite_note-Matiyasevich_1993-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-Matiyasevich_1993_17-0">^</a></b></span> <span class="reference-text"><a href="/wiki/Yuri_Matiyasevich" title="Yuri Matiyasevich">Yuri Matiyasevich</a>, <i>Hilbert's Tenth Problem</i>, commentary to Chapter 5 of the book, at <a rel="nofollow" class="external free" href="http://logic.pdmi.ras.ru/yumat/H10Pbook/commch_5htm">http://logic.pdmi.ras.ru/yumat/H10Pbook/commch_5htm</a>.)</span> </li> <li id="cite_note-Lee_1961-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-Lee_1961_18-0">^</a></b></span> <span class="reference-text">C. Y. Lee (1961)</span> </li> <li id="cite_note-Hopcroft-Ullman_1979-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-Hopcroft-Ullman_1979_19-0">^</a></b></span> <span class="reference-text"><a href="/wiki/John_Hopcroft" title="John Hopcroft">John Hopcroft</a>, <a href="/wiki/Jeffrey_Ullman" title="Jeffrey Ullman">Jeffrey Ullman</a> (1979). <i>Introduction to Automata Theory, Languages and Computation</i>, 1st ed., Reading Mass: Addison-Wesley. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-201-02988-X" title="Special:BookSources/0-201-02988-X">0-201-02988-X</a>, pp. 171ff. A difficult book centered around the issues of machine-interpretation of "languages", NP-Completeness, etc.</span> </li> <li id="cite_note-Elgot-Robinson_1964-20"><span class="mw-cite-backlink">^ <a href="#cite_ref-Elgot-Robinson_1964_20-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Elgot-Robinson_1964_20-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Elgot-Robinson_1964_20-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Elgot-Robinson_1964_20-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Elgot-Robinson_1964_20-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Elgot-Robinson_1964_20-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-Elgot-Robinson_1964_20-6"><sup><i><b>g</b></i></sup></a></span> <span class="reference-text"><a href="/w/index.php?title=Calvin_Elgot&action=edit&redlink=1" class="new" title="Calvin Elgot (page does not exist)">Calvin Elgot</a> and <a href="/wiki/Abraham_Robinson" title="Abraham Robinson">Abraham Robinson</a> (1964), "Random-Access Stored-Program Machines, an Approach to Programming Languages", <i>Journal of the Association for Computing Machinery</i>, Vol. 11, No. 4 (October 1964), pp. 365–399.</span> </li> <li id="cite_note-Cook-Reckhow_1973-21"><span class="mw-cite-backlink">^ <a href="#cite_ref-Cook-Reckhow_1973_21-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Cook-Reckhow_1973_21-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Cook-Reckhow_1973_21-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Cook-Reckhow_1973_21-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Stephen_Cook" title="Stephen Cook">Stephen A. Cook</a> and Robert A. Reckhow (1972), <i>Time-bounded random access machines</i>, Journal of Computer Systems Science 7 (1973), 354–375.</span> </li> <li id="cite_note-Burks-Goldstine-Neumann_1947-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-Burks-Goldstine-Neumann_1947_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Burks-Goldstine-Neumann_1947_22-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Burks-Goldstine-Neumann_1947_22-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Arthur_Burks" title="Arthur Burks">Arthur Burks</a>, <a href="/wiki/Herman_Goldstine" title="Herman Goldstine">Herman Goldstine</a>, <a href="/wiki/John_von_Neumann" title="John von Neumann">John von Neumann</a> (1946–1947), "Preliminary discussion of the logical design of an electronic computing instrument", reprinted pp. 92ff in <a href="/wiki/Gordon_Bell" title="Gordon Bell">Gordon Bell</a> and <a href="/wiki/Allen_Newell" title="Allen Newell">Allen Newell</a> (1971), <i>Computer Structures: Readings and Examples</i>, McGraw-Hill Book Company, New York. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-07-004357-4" title="Special:BookSources/0-07-004357-4">0-07-004357-4</a>.</span> </li> <li id="cite_note-Hartmanis_1971-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-Hartmanis_1971_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Hartmanis_1971_23-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Hartmanis_1971_23-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Hartmanis_1971_23-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Hartmanis_1971_23-4"><sup><i><b>e</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Juris_Hartmanis" title="Juris Hartmanis">Juris Hartmanis</a> (1971), "Computational Complexity of Random Access Stored Program Machines," <i>Mathematical Systems Theory</i> 5, 3 (1971) pp. 232–245.</span> </li> <li id="cite_note-Shepherdson-Sturgis_1961-24"><span class="mw-cite-backlink">^ <a href="#cite_ref-Shepherdson-Sturgis_1961_24-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1961_24-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Shepherdson-Sturgis_1961_24-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">Shepherdson, Sturgis (1961), p. 219</span> </li> <li id="cite_note-Ershov_1958-25"><span class="mw-cite-backlink">^ <a href="#cite_ref-Ershov_1958_25-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Ershov_1958_25-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Ershov_1958_25-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Ershov_1958_25-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Andrey_Ershov" class="mw-redirect" title="Andrey Ershov">Ershov, Andrey P.</a> "On operator algorithms", (Russian) <i>Dok. Akad. Nauk</i> 122 (1958), 967–970. English translation, Automat. Express 1 (1959), 20–23.</span> </li> <li id="cite_note-Heijenoort_1967-26"><span class="mw-cite-backlink">^ <a href="#cite_ref-Heijenoort_1967_26-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Heijenoort_1967_26-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">van Heijenoort (1967)</span> </li> <li id="cite_note-Frege_1879-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-Frege_1879_27-0">^</a></b></span> <span class="reference-text">Frege (1879)</span> </li> <li id="cite_note-Gödel_1931-28"><span class="mw-cite-backlink">^ <a href="#cite_ref-Gödel_1931_28-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Gödel_1931_28-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Gödel (1931)</span> </li> <li id="cite_note-Davis_1965-29"><span class="mw-cite-backlink">^ <a href="#cite_ref-Davis_1965_29-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Davis_1965_29-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Davis (ed.) <i>The Undecidable</i> (1965)</span> </li> <li id="cite_note-Gödel_1964-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-Gödel_1964_30-0">^</a></b></span> <span class="reference-text">Gödel (1964), postscriptum p. 71.</span> </li> <li id="cite_note-Turing_1936-31"><span class="mw-cite-backlink">^ <a href="#cite_ref-Turing_1936_31-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Turing_1936_31-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Turing (1936)</span> </li> <li id="cite_note-Kleene_1952-32"><span class="mw-cite-backlink">^ <a href="#cite_ref-Kleene_1952_32-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Kleene_1952_32-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Kleene_1952_32-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Kleene_1952_32-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Kleene_1952_32-4"><sup><i><b>e</b></i></sup></a></span> <span class="reference-text"><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. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-7204-2103-9" title="Special:BookSources/0-7204-2103-9">0-7204-2103-9</a>.</span> </li> <li id="cite_note-Davis_1958-33"><span class="mw-cite-backlink">^ <a href="#cite_ref-Davis_1958_33-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Davis_1958_33-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Davis_1958_33-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Martin_Davis_(mathematician)" title="Martin Davis (mathematician)">Martin Davis</a> (1958), <i>Computability & Unsolvability</i>, McGraw-Hill Book Company, Inc. New York.</span> </li> <li id="cite_note-EmdeBoas_1990-34"><span class="mw-cite-backlink">^ <a href="#cite_ref-EmdeBoas_1990_34-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-EmdeBoas_1990_34-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Peter_van_Emde_Boas" title="Peter van Emde Boas">Peter van Emde Boas</a>, "Machine Models and Simulations" pp. 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, 1990. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-444-88071-2" title="Special:BookSources/0-444-88071-2">0-444-88071-2</a> (volume A). QA 76.H279 1990. van Emde Boas' treatment of SMMs appears on pp. 32–35. This treatment clarifies Schōnhage 1980—it closely follows but expands slightly the Schōnhage treatment. Both references may be needed for effective understanding.</span> </li> <li id="cite_note-Boolos-Burgess-Jeffrey_2002-35"><span class="mw-cite-backlink">^ <a href="#cite_ref-Boolos-Burgess-Jeffrey_2002_35-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Boolos-Burgess-Jeffrey_2002_35-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Boolos-Burgess-Jeffrey_2002_35-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/George_Boolos" title="George Boolos">George Boolos</a>, <a href="/wiki/John_P._Burgess" title="John P. Burgess">John P. Burgess</a>, <a href="/wiki/Richard_Jeffrey" title="Richard Jeffrey">Richard Jeffrey</a> (2002), <i>Computability and Logic: Fourth Edition</i>, Cambridge University Press, Cambridge, England. The original Boolos-Jeffrey text has been extensively revised by Burgess: more advanced than an introductory textbook. "Abacus machine" model is extensively developed in Chapter 5 <i>Abacus Computability</i>; it is one of three models extensively treated and compared—the Turing machine (still in Boolos' original 4-tuple form) and recursion the other two.</span> </li> <li id="cite_note-Boolos-Burgess_1970-36"><span class="mw-cite-backlink">^ <a href="#cite_ref-Boolos-Burgess_1970_36-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Boolos-Burgess_1970_36-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/George_Boolos" title="George Boolos">George Boolos</a>, <a href="/wiki/John_P._Burgess" title="John P. Burgess">John P. Burgess</a> (1970)</span> </li> <li id="cite_note-Cook_1970-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-Cook_1970_37-0">^</a></b></span> <span class="reference-text">Cook (1970)</span> </li> <li id="cite_note-Knuth_1968-38"><span class="mw-cite-backlink">^ <a href="#cite_ref-Knuth_1968_38-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Knuth_1968_38-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Donald_Knuth" title="Donald Knuth">Donald Knuth</a> (1968), <i>The Art of Computer Programming</i>, Second Edition 1973, Addison-Wesley, Reading, Massachusetts. Cf pages 462–463 where he defines "a new kind of abstract machine or 'automaton' which deals with linked structures."</span> </li> <li id="cite_note-Schönhage_1980-39"><span class="mw-cite-backlink">^ <a href="#cite_ref-Schönhage_1980_39-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Schönhage_1980_39-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="/wiki/Arnold_Sch%C3%B6nhage" title="Arnold Schönhage">Arnold Schönhage</a> (1980), <i>Storage Modification Machines</i>, Society for Industrial and Applied Mathematics, SIAM J. Comput. Vol. 9, No. 3, August 1980. Wherein Schōnhage shows the equivalence of his SMM with the "successor RAM" (Random Access Machine), etc. resp. <i>Storage Modification Machines</i>, in <i>Theoretical Computer Science</i> (1979), pp. 36–37</span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Register_machine&action=edit&section=16" title="Edit section: Further reading"><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="CITEREFWolfram2002" class="citation book cs1"><a href="/wiki/Stephen_Wolfram" title="Stephen Wolfram">Wolfram, Stephen</a> (2002). <a rel="nofollow" class="external text" href="https://www.wolframscience.com/nks/"><i>A New Kind of Science</i></a>. Wolfram Media, Inc. pp. <a rel="nofollow" class="external text" href="https://www.wolframscience.com/nks/p97--register-machines/">97–102</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/1-57955-008-8" title="Special:BookSources/1-57955-008-8"><bdi>1-57955-008-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=A+New+Kind+of+Science&rft.pages=97-102&rft.pub=Wolfram+Media%2C+Inc.&rft.date=2002&rft.isbn=1-57955-008-8&rft.aulast=Wolfram&rft.aufirst=Stephen&rft_id=https%3A%2F%2Fwww.wolframscience.com%2Fnks%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARegister+machine" class="Z3988"></span></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=Register_machine&action=edit&section=17" 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"><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> <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:Register_machines" class="extiw" title="commons:Category:Register machines">Register machines</a></span>.</div></div> </div> <ul><li><span class="citation mathworld" id="Reference-Mathworld-Register_machine"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFWeisstein" class="citation web cs1"><a href="/wiki/Eric_W._Weisstein" title="Eric W. Weisstein">Weisstein, Eric W.</a> <a rel="nofollow" class="external text" href="https://mathworld.wolfram.com/RegisterMachine.html">"Register machine"</a>. <i><a href="/wiki/MathWorld" title="MathWorld">MathWorld</a></i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=MathWorld&rft.atitle=Register+machine&rft.au=Weisstein%2C+Eric+W.&rft_id=https%3A%2F%2Fmathworld.wolfram.com%2FRegisterMachine.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3ARegister+machine" class="Z3988"></span></span></li> <li><a rel="nofollow" class="external text" href="http://www.igblan.free-online.co.uk/igblan/ca/minsky.html">Igblan - Minsky Register Machines</a></li></ul> <!-- NewPP limit report Parsed by mw‐api‐int.codfw.main‐849f99967d‐fg96d Cached time: 20241122140946 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.560 seconds Real time usage: 0.707 seconds Preprocessor visited node count: 7358/1000000 Post‐expand include size: 40252/2097152 bytes Template argument size: 4383/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 5/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 81309/5000000 bytes Lua time usage: 0.194/10.000 seconds Lua memory usage: 5934093/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 551.654 1 -total 33.73% 186.073 2 Template:Reflist 15.41% 85.008 15 Template:Rp 14.82% 81.750 3 Template:Cite_journal 13.98% 77.131 15 Template:R/superscript 12.34% 68.071 1 Template:Commons_category 11.84% 65.304 1 Template:Short_description 9.20% 50.754 1 Template:Sister_project 8.82% 48.673 1 Template:Side_box 7.23% 39.912 2 Template:Pagetype --> <!-- Saved in parser cache with key enwiki:pcache:idhash:505218-0!canonical and timestamp 20241122140946 and revision id 1249062668. Rendering was triggered because: api-parse --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Register_machine&oldid=1249062668">https://en.wikipedia.org/w/index.php?title=Register_machine&oldid=1249062668</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:Models_of_computation" title="Category:Models of computation">Models of computation</a></li><li><a href="/wiki/Category:Register_machines" title="Category:Register machines">Register 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:CS1_interproject-linked_names" title="Category:CS1 interproject-linked names">CS1 interproject-linked names</a></li><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:Use_dmy_dates_from_May_2023" title="Category:Use dmy dates from May 2023">Use dmy dates from May 2023</a></li><li><a href="/wiki/Category:Use_list-defined_references_from_May_2023" title="Category:Use list-defined references from May 2023">Use list-defined references from May 2023</a></li><li><a href="/wiki/Category:Wikipedia_articles_with_style_issues_from_January_2024" title="Category:Wikipedia articles with style issues from January 2024">Wikipedia articles with style issues from January 2024</a></li><li><a href="/wiki/Category:All_articles_with_style_issues" title="Category:All articles with style issues">All articles with style issues</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 2 October 2024, at 23:20<span class="anonymous-show"> (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=Register_machine&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-b8zqw","wgBackendResponseTime":179,"wgPageParseReport":{"limitreport":{"cputime":"0.560","walltime":"0.707","ppvisitednodes":{"value":7358,"limit":1000000},"postexpandincludesize":{"value":40252,"limit":2097152},"templateargumentsize":{"value":4383,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":5,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":81309,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 551.654 1 -total"," 33.73% 186.073 2 Template:Reflist"," 15.41% 85.008 15 Template:Rp"," 14.82% 81.750 3 Template:Cite_journal"," 13.98% 77.131 15 Template:R/superscript"," 12.34% 68.071 1 Template:Commons_category"," 11.84% 65.304 1 Template:Short_description"," 9.20% 50.754 1 Template:Sister_project"," 8.82% 48.673 1 Template:Side_box"," 7.23% 39.912 2 Template:Pagetype"]},"scribunto":{"limitreport-timeusage":{"value":"0.194","limit":"10.000"},"limitreport-memusage":{"value":5934093,"limit":52428800}},"cachereport":{"origin":"mw-api-int.codfw.main-849f99967d-fg96d","timestamp":"20241122140946","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Register machine","url":"https:\/\/en.wikipedia.org\/wiki\/Register_machine","sameAs":"http:\/\/www.wikidata.org\/entity\/Q1930388","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q1930388","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":"2004-03-04T22:36:23Z","dateModified":"2024-10-02T23:20:56Z","headline":"generic class of abstract machines"}</script> </body> </html>