CINXE.COM

String diagram - 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>String diagram - 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":"86c06f5a-bbec-40cd-9b50-79679f7460f7","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"String_diagram","wgTitle":"String diagram","wgCurRevisionId":1222282077,"wgRevisionId":1222282077,"wgArticleId":3967296,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1 maint: location missing publisher","CS1: long volume value","Commons category link from Wikidata","Higher category theory","Monoidal categories"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"String_diagram","wgRelevantArticleId":3967296,"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":30000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q7623974","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","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging", "ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="String diagram - 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/String_diagram"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=String_diagram&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/String_diagram"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-String_diagram rootpage-String_diagram skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=String+diagram" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=String+diagram" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=String+diagram" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=String+diagram" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Intuition" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Intuition"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Intuition</span> </div> </a> <ul id="toc-Intuition-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Definition" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Definition"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Definition</span> </div> </a> <button aria-controls="toc-Definition-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 Definition subsection</span> </button> <ul id="toc-Definition-sublist" class="vector-toc-list"> <li id="toc-Algebraic" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Algebraic"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Algebraic</span> </div> </a> <ul id="toc-Algebraic-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Geometric" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Geometric"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Geometric</span> </div> </a> <ul id="toc-Geometric-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Combinatorial" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Combinatorial"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>Combinatorial</span> </div> </a> <ul id="toc-Combinatorial-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Extension_to_2-categories" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Extension_to_2-categories"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Extension to 2-categories</span> </div> </a> <ul id="toc-Extension_to_2-categories-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Examples" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Examples"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Examples</span> </div> </a> <button aria-controls="toc-Examples-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 Examples subsection</span> </button> <ul id="toc-Examples-sublist" class="vector-toc-list"> <li id="toc-The_snake_equation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#The_snake_equation"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>The snake equation</span> </div> </a> <ul id="toc-The_snake_equation-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Hierarchy_of_graphical_languages" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Hierarchy_of_graphical_languages"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Hierarchy of graphical languages</span> </div> </a> <ul id="toc-Hierarchy_of_graphical_languages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-List_of_applications" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#List_of_applications"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>List of applications</span> </div> </a> <ul id="toc-List_of_applications-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">8</span> <span>See also</span> </div> </a> <ul id="toc-See_also-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">9</span> <span>References</span> </div> </a> <ul id="toc-References-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> <li id="toc-External_links_2" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links_2"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>External links</span> </div> </a> <ul id="toc-External_links_2-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">String diagram</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 1 language" > <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-1" 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">1 language</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E7%B9%A9%E5%9C%96" title="繩圖 – Cantonese" lang="yue" hreflang="yue" data-title="繩圖" data-language-autonym="粵語" data-language-local-name="Cantonese" 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/Q7623974#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/String_diagram" 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:String_diagram" 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/String_diagram"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=String_diagram&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=String_diagram&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/String_diagram"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=String_diagram&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=String_diagram&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/String_diagram" 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/String_diagram" 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=String_diagram&amp;oldid=1222282077" 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=String_diagram&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=String_diagram&amp;id=1222282077&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FString_diagram"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FString_diagram"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=String_diagram&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=String_diagram&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:String_diagram" 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/Q7623974" 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"><p><b>String diagrams</b> are a formal graphical language for representing <a href="/wiki/Morphisms" class="mw-redirect" title="Morphisms">morphisms</a> in <a href="/wiki/Monoidal_categories" class="mw-redirect" title="Monoidal categories">monoidal categories</a>, or more generally 2-cells in <a href="/wiki/2-categories" class="mw-redirect" title="2-categories">2-categories</a>. They are a prominent tool in <a href="/wiki/Applied_category_theory" title="Applied category theory">applied category theory</a>. When interpreted in the monoidal category of <a href="/wiki/Vector_spaces" class="mw-redirect" title="Vector spaces">vector spaces</a> and <a href="/wiki/Linear_map" title="Linear map">linear maps</a> with the <a href="/wiki/Tensor_product" title="Tensor product">tensor product</a>, string diagrams are called <a href="/wiki/Tensor_network" title="Tensor network">tensor networks</a> or <a href="/wiki/Penrose_graphical_notation" title="Penrose graphical notation">Penrose graphical notation</a>. This has led to the development of <a href="/wiki/Categorical_quantum_mechanics" title="Categorical quantum mechanics">categorical quantum mechanics</a> where the axioms of quantum theory are expressed in the language of monoidal categories. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/G%C3%BCnter_Hotz" title="Günter Hotz">Günter Hotz</a> gave the first mathematical definition of string diagrams in order to formalise <a href="/wiki/Electronic_circuit" title="Electronic circuit">electronic circuits</a>.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> However, the invention of string diagrams is usually credited to <a href="/wiki/Roger_Penrose" title="Roger Penrose">Roger Penrose</a>,<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> with <a href="/wiki/Feynman_diagram" title="Feynman diagram">Feynman diagrams</a> also described as a precursor.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> They were later characterised as the arrows of <a href="/wiki/Free_strict_monoidal_category" class="mw-redirect" title="Free strict monoidal category">free monoidal categories</a> in a seminal article by <a href="/wiki/Andr%C3%A9_Joyal" title="André Joyal">André Joyal</a> and <a href="/wiki/Ross_Street" title="Ross Street">Ross Street</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> While the diagrams in these first articles were hand-drawn, the advent of typesetting software such as <a href="/wiki/LaTeX" title="LaTeX">LaTeX</a> and <a href="/wiki/PGF/TikZ" title="PGF/TikZ">PGF/TikZ</a> made the publication of string diagrams more wide-spread.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> </p><p>The <a href="/wiki/Existential_graph" title="Existential graph">existential graphs</a> and <a href="/wiki/Diagrammatic_reasoning" title="Diagrammatic reasoning">diagrammatic reasoning</a> of <a href="/wiki/Charles_Sanders_Peirce" title="Charles Sanders Peirce">Charles Sanders Peirce</a> are arguably the oldest form of string diagrams, they are interpreted in the monoidal category of <a href="/wiki/Finite_sets" class="mw-redirect" title="Finite sets">finite sets</a> and <a href="/wiki/Binary_relation" title="Binary relation">relations</a> with the <a href="/wiki/Cartesian_product" title="Cartesian product">Cartesian product</a>.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> The <b>lines of identity</b> of Peirce's existential graphs can be axiomatised as a <a href="/wiki/Frobenius_algebra" title="Frobenius algebra">Frobenius algebra</a>, the <b>cuts</b> are unary operators on homsets that axiomatise <a href="/wiki/Negation" title="Negation">logical negation</a>. This makes string diagrams a <a href="/wiki/Soundness" title="Soundness">sound</a> and <a href="/wiki/Completeness_(logic)" title="Completeness (logic)">complete</a> two-dimensional <a href="/wiki/Deduction_system" class="mw-redirect" title="Deduction system">deduction system</a> for <a href="/wiki/First-order_logic" title="First-order logic">first-order logic</a>,<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> invented independently from the one-dimensional syntax of <a href="/wiki/Gottlob_Frege" title="Gottlob Frege">Gottlob Frege</a>'s <a href="/wiki/Begriffsschrift" title="Begriffsschrift">Begriffsschrift</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Intuition">Intuition</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=2" title="Edit section: Intuition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>String diagrams are made of <b>boxes</b> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f:x\to y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>:</mo> <mi>x</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f:x\to y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f1e5e985afba6236c1695a35213292b54583fac9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.315ex; height:2.509ex;" alt="{\displaystyle f:x\to y}"></span>, which represent <a href="/wiki/Process" title="Process">processes</a>, with a list of <b>wires</b> <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 x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span> coming in at the top and <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 y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b8a6208ec717213d4317e666f1ae872e00620a0d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.155ex; height:2.009ex;" alt="{\displaystyle y}"></span> at the bottom, which represent the input and output <a href="/wiki/System" title="System">systems</a> being processed by the box <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/132e57acb643253e7810ee9702d9581f159a1c61" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.279ex; height:2.509ex;" alt="{\displaystyle f}"></span>. Starting from a collection of wires and boxes, called a <b>signature</b>, one may generate the set of all string diagrams by induction: </p> <ul><li>each box <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f:x\to y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>:</mo> <mi>x</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f:x\to y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f1e5e985afba6236c1695a35213292b54583fac9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.315ex; height:2.509ex;" alt="{\displaystyle f:x\to y}"></span> is a string diagram,</li> <li>for each list of wires <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 x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span>, the <a href="/wiki/Identity_morphism" class="mw-redirect" title="Identity morphism">identity</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{id}}(x):x\to x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>id</mtext> </mrow> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> <mo>:</mo> <mi>x</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{id}}(x):x\to x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ad3374f73fc51af2d691300606525be95ae6ad6f" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:13.289ex; height:2.843ex;" alt="{\displaystyle {\text{id}}(x):x\to x}"></span> is a string diagram representing the process which does nothing to its input system, it is drawn as a bunch of parallel wires,</li> <li>for each pair of string diagrams <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f:x\to y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>:</mo> <mi>x</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f:x\to y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f1e5e985afba6236c1695a35213292b54583fac9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.315ex; height:2.509ex;" alt="{\displaystyle f:x\to y}"></span> and <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f':x'\to y'}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>f</mi> <mo>&#x2032;</mo> </msup> <mo>:</mo> <msup> <mi>x</mi> <mo>&#x2032;</mo> </msup> <mo stretchy="false">&#x2192;<!-- → --></mo> <msup> <mi>y</mi> <mo>&#x2032;</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f':x'\to y'}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e6bfee5288c1f18a8a4b56463b7692aac25c4cfb" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:11.416ex; height:2.843ex;" alt="{\displaystyle f&#039;:x&#039;\to y&#039;}"></span>, their <a href="/wiki/Monoidal_category" title="Monoidal category">tensor</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f\otimes f':xx'\to yy'}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>&#x2297;<!-- ⊗ --></mo> <msup> <mi>f</mi> <mo>&#x2032;</mo> </msup> <mo>:</mo> <mi>x</mi> <msup> <mi>x</mi> <mo>&#x2032;</mo> </msup> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>y</mi> <msup> <mi>y</mi> <mo>&#x2032;</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f\otimes f':xx'\to yy'}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4edcfa9ce3fd749bb9df401c1dc780a61ffea5ff" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:18.02ex; height:2.843ex;" alt="{\displaystyle f\otimes f&#039;:xx&#039;\to yy&#039;}"></span> is a string diagram representing the parallel composition of processes, it is drawn as the horizontal concatenation of the two diagrams,</li> <li>for each pair of string diagrams <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f:x\to y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>:</mo> <mi>x</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f:x\to y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f1e5e985afba6236c1695a35213292b54583fac9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:9.315ex; height:2.509ex;" alt="{\displaystyle f:x\to y}"></span> and <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 g:y\to z}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>g</mi> <mo>:</mo> <mi>y</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>z</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle g:y\to z}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/48cf6607e073ef6e22c9a0fab696b60c18e5c9cf" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:8.911ex; height:2.176ex;" alt="{\displaystyle g:y\to z}"></span>, their <a href="/wiki/Function_composition" title="Function composition">composition</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle g\circ f:x\to z}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>g</mi> <mo>&#x2218;<!-- ∘ --></mo> <mi>f</mi> <mo>:</mo> <mi>x</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>z</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle g\circ f:x\to z}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ce4486a90d6d97ff1a87f7015d1592131281c838" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:12.558ex; height:2.509ex;" alt="{\displaystyle g\circ f:x\to z}"></span> is a string diagram representing the sequential composition of processes, it is drawn as the vertical concatenation of the two diagrams.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Definition">Definition</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=3" title="Edit section: Definition"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Algebraic">Algebraic</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=4" title="Edit section: Algebraic"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Let the <a href="/wiki/Kleene_star" title="Kleene star">Kleene star</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle X^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msup> <mi>X</mi> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle X^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b7e61f747e46a210fc53ab24d3c136201e42339a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.051ex; height:2.343ex;" alt="{\displaystyle X^{\star }}"></span> denote the <a href="/wiki/Free_monoid" title="Free monoid">free monoid</a>, i.e. the set of lists with elements in a set <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 X}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>X</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle X}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/68baa052181f707c662844a465bfeeb135e82bab" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.98ex; height:2.176ex;" alt="{\displaystyle X}"></span>. </p><p>A <b>monoidal signature</b> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Sigma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9e1f558f53cda207614abdf90162266c70bc5c1e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.678ex; height:2.176ex;" alt="{\displaystyle \Sigma }"></span> is given by: </p> <ul><li>a set <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Sigma _{0}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma _{0}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a69031c973bdef03ce24599b02b1cff9108a8421" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.732ex; height:2.509ex;" alt="{\displaystyle \Sigma _{0}}"></span> of <b>generating objects</b>, the lists of generating objects in <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="{\textstyle \Sigma _{0}^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle \Sigma _{0}^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/95170f043db9ef4578b55b0e16f556234846e633" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.732ex; height:2.843ex;" alt="{\textstyle \Sigma _{0}^{\star }}"></span> are also called <b>types</b>,</li> <li>a set <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Sigma _{1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma _{1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d37ee4ac26b75c4bca37e546fcc9859f3e45adf9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.732ex; height:2.509ex;" alt="{\displaystyle \Sigma _{1}}"></span> of <b>generating arrows</b>, also called <b>boxes</b>,</li> <li>a pair of functions <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 {\text{dom}},{\text{cod}}:\Sigma _{1}\to \Sigma _{0}^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo>:</mo> <msub> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo stretchy="false">&#x2192;<!-- → --></mo> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{dom}},{\text{cod}}:\Sigma _{1}\to \Sigma _{0}^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a06b8f7ff72ddafe7ff45d0bd6851ab4e7e42453" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:19.928ex; height:2.843ex;" alt="{\displaystyle {\text{dom}},{\text{cod}}:\Sigma _{1}\to \Sigma _{0}^{\star }}"></span> which assign a <b>domain</b> and <b>codomain</b> to each box, i.e. the input and output types.</li></ul> <p>A morphism of monoidal signature <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F:\Sigma \to \Sigma '}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>F</mi> <mo>:</mo> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <msup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo>&#x2032;</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F:\Sigma \to \Sigma '}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c2a126cb212efdf407f02cdafcf5393196e23fd5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:11.333ex; height:2.509ex;" alt="{\displaystyle F:\Sigma \to \Sigma &#039;}"></span> is a pair of functions <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F_{0}:\Sigma _{0}\to \Sigma '_{0}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>F</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>:</mo> <msub> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo stretchy="false">&#x2192;<!-- → --></mo> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mo>&#x2032;</mo> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F_{0}:\Sigma _{0}\to \Sigma '_{0}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/201f4d2d0f314858c3ec1af1233ea45410764dd7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:13.565ex; height:2.843ex;" alt="{\displaystyle F_{0}:\Sigma _{0}\to \Sigma &#039;_{0}}"></span> and <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F_{1}:\Sigma _{1}\to \Sigma '_{1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>F</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>:</mo> <msub> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo stretchy="false">&#x2192;<!-- → --></mo> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> <mo>&#x2032;</mo> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F_{1}:\Sigma _{1}\to \Sigma '_{1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ab6633e458bdc7cf5f18aaa5b21bf12193376da9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:13.565ex; height:2.843ex;" alt="{\displaystyle F_{1}:\Sigma _{1}\to \Sigma &#039;_{1}}"></span> which is compatible with the domain and codomain, i.e. such that <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{dom}}\circ F_{1}\ =\ F_{0}\circ {\text{dom}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo>&#x2218;<!-- ∘ --></mo> <msub> <mi>F</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mtext>&#xA0;</mtext> <mo>=</mo> <mtext>&#xA0;</mtext> <msub> <mi>F</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>&#x2218;<!-- ∘ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{dom}}\circ F_{1}\ =\ F_{0}\circ {\text{dom}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b91981771b0e6ba8dfb14447f86a5e14c81aa0a6" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:22.529ex; height:2.509ex;" alt="{\displaystyle {\text{dom}}\circ F_{1}\ =\ F_{0}\circ {\text{dom}}}"></span> and <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 {\text{cod}}\circ F_{1}\ =\ F_{0}\circ {\text{cod}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo>&#x2218;<!-- ∘ --></mo> <msub> <mi>F</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mtext>&#xA0;</mtext> <mo>=</mo> <mtext>&#xA0;</mtext> <msub> <mi>F</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>&#x2218;<!-- ∘ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{cod}}\circ F_{1}\ =\ F_{0}\circ {\text{cod}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/77db1ddadf7a134d0c55d4e6b9ab311a4d910776" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:20.722ex; height:2.509ex;" alt="{\displaystyle {\text{cod}}\circ F_{1}\ =\ F_{0}\circ {\text{cod}}}"></span>. Thus we get the category <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 \mathbf {MonSig} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">M</mi> <mi mathvariant="bold">o</mi> <mi mathvariant="bold">n</mi> <mi mathvariant="bold">S</mi> <mi mathvariant="bold">i</mi> <mi mathvariant="bold">g</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbf {MonSig} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/da9843ccba30c9b6ea2afceed15f037808f9bb6f" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:8.923ex; height:2.509ex;" alt="{\displaystyle \mathbf {MonSig} }"></span> of monoidal signatures and their morphisms. </p><p>There is a <a href="/wiki/Forgetful_functor" title="Forgetful functor">forgetful functor</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle U:\mathbf {MonCat} \to \mathbf {MonSig} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>U</mi> <mo>:</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">M</mi> <mi mathvariant="bold">o</mi> <mi mathvariant="bold">n</mi> <mi mathvariant="bold">C</mi> <mi mathvariant="bold">a</mi> <mi mathvariant="bold">t</mi> </mrow> <mo stretchy="false">&#x2192;<!-- → --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">M</mi> <mi mathvariant="bold">o</mi> <mi mathvariant="bold">n</mi> <mi mathvariant="bold">S</mi> <mi mathvariant="bold">i</mi> <mi mathvariant="bold">g</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle U:\mathbf {MonCat} \to \mathbf {MonSig} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/268bf7a5731dedd23a588aa8e20c9f2249fae7ed" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:25.887ex; height:2.509ex;" alt="{\displaystyle U:\mathbf {MonCat} \to \mathbf {MonSig} }"></span> which sends a monoidal category to its underlying signature and a <a href="/wiki/Monoidal_functor" title="Monoidal functor">monoidal functor</a> to its underlying morphism of signatures, i.e. it forgets the identity, composition and tensor. The <a href="/wiki/Free_functor" class="mw-redirect" title="Free functor">free functor</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle C_{-}:\mathbf {MonSig} \to \mathbf {MonCat} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>C</mi> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x2212;<!-- − --></mo> </mrow> </msub> <mo>:</mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">M</mi> <mi mathvariant="bold">o</mi> <mi mathvariant="bold">n</mi> <mi mathvariant="bold">S</mi> <mi mathvariant="bold">i</mi> <mi mathvariant="bold">g</mi> </mrow> <mo stretchy="false">&#x2192;<!-- → --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="bold">M</mi> <mi mathvariant="bold">o</mi> <mi mathvariant="bold">n</mi> <mi mathvariant="bold">C</mi> <mi mathvariant="bold">a</mi> <mi mathvariant="bold">t</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle C_{-}:\mathbf {MonSig} \to \mathbf {MonCat} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0cc39502b04b23d5170f4711d71434bb245347d5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:27.277ex; height:2.509ex;" alt="{\displaystyle C_{-}:\mathbf {MonSig} \to \mathbf {MonCat} }"></span>, i.e. the <a href="/wiki/Adjoint_functors" title="Adjoint functors">left adjoint</a> to the forgetful functor, sends a monoidal signature <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Sigma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9e1f558f53cda207614abdf90162266c70bc5c1e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.678ex; height:2.176ex;" alt="{\displaystyle \Sigma }"></span> to the <a href="/wiki/Free_strict_monoidal_category" class="mw-redirect" title="Free strict monoidal category">free monoidal category</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle C_{\Sigma }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>C</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle C_{\Sigma }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a18271fb3e48434ff93a093969ee28fc42ae42e0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.081ex; height:2.509ex;" alt="{\displaystyle C_{\Sigma }}"></span> it generates. </p><p>String diagrams (with generators 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 \Sigma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9e1f558f53cda207614abdf90162266c70bc5c1e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.678ex; height:2.176ex;" alt="{\displaystyle \Sigma }"></span>) are arrows in the free monoidal category <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 C_{\Sigma }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>C</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle C_{\Sigma }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a18271fb3e48434ff93a093969ee28fc42ae42e0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.081ex; height:2.509ex;" alt="{\displaystyle C_{\Sigma }}"></span>.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> The interpretation in a monoidal category <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 D}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>D</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle D}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/f34a0c600395e5d4345287e21fb26efd386990e6" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.924ex; height:2.176ex;" alt="{\displaystyle D}"></span> is a defined by a monoidal functor <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F:C_{\Sigma }\to D}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>F</mi> <mo>:</mo> <msub> <mi>C</mi> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> </mrow> </msub> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>D</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F:C_{\Sigma }\to D}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/163fdbcea0e13ec48ee5f225579c58a22c44a8a8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:12.297ex; height:2.509ex;" alt="{\displaystyle F:C_{\Sigma }\to D}"></span>, which by freeness is uniquely determined by a morphism of monoidal signatures <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F:\Sigma \to U(D)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>F</mi> <mo>:</mo> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>U</mi> <mo stretchy="false">(</mo> <mi>D</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F:\Sigma \to U(D)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/55d0f019af62d14cd13f0bc877deea89d06d46cc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.486ex; height:2.843ex;" alt="{\displaystyle F:\Sigma \to U(D)}"></span>. Intuitively, once the image of generating objects and arrows are given, the image of every diagram they generate is fixed. </p> <div class="mw-heading mw-heading3"><h3 id="Geometric">Geometric</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=5" title="Edit section: Geometric"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A <a href="/wiki/Topological_graph" title="Topological graph">topological graph</a>, also called a one-dimensional <a href="/wiki/Cell_complex" class="mw-redirect" title="Cell complex">cell complex</a>, is a tuple <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (\Gamma ,\Gamma _{0},\Gamma _{1})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>,</mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>,</mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (\Gamma ,\Gamma _{0},\Gamma _{1})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/6b402d7fdf7ab7c4b7ed426a80a4767ec234013a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.344ex; height:2.843ex;" alt="{\displaystyle (\Gamma ,\Gamma _{0},\Gamma _{1})}"></span> of a <a href="/wiki/Hausdorff_space" title="Hausdorff space">Hausdorff space</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4cfde86a3f7ec967af9955d0988592f0693d2b19" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.453ex; height:2.176ex;" alt="{\displaystyle \Gamma }"></span>, a <a href="/wiki/Closed_subset" class="mw-redirect" title="Closed subset">closed</a> <a href="/wiki/Discrete_subset" class="mw-redirect" title="Discrete subset">discrete subset</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma _{0}\subseteq \Gamma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>&#x2286;<!-- ⊆ --></mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma _{0}\subseteq \Gamma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1b713cedec5053b3c0a1afc8374f579f031a5d2a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:7.058ex; height:2.509ex;" alt="{\displaystyle \Gamma _{0}\subseteq \Gamma }"></span> of <b>nodes</b> and a set of <a href="/wiki/Connected_component_(topology)" class="mw-redirect" title="Connected component (topology)">connected components</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma _{1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma _{1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/427e60078dcc86b35e6822c29368bd4a086ecb18" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.507ex; height:2.509ex;" alt="{\displaystyle \Gamma _{1}}"></span> called <b>edges</b>, each homeomorphic to an open interval with boundary in <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma _{0}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma _{0}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/44f27c3fa0660b68ef8fa747442140655cff65cd" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.507ex; height:2.509ex;" alt="{\displaystyle \Gamma _{0}}"></span> and such that <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle \Gamma -\Gamma _{0}=\coprod \Gamma _{1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>&#x2212;<!-- − --></mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>=</mo> <mo>&#x2210;<!-- ∐ --></mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle \Gamma -\Gamma _{0}=\coprod \Gamma _{1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7395646ce368a9f779816c8ea79b676786bf5216" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.986ex; height:2.843ex;" alt="{\textstyle \Gamma -\Gamma _{0}=\coprod \Gamma _{1}}"></span>. </p><p>A <a href="/wiki/Planar_graph" title="Planar graph">plane graph</a> between two real numbers <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 a,b\in \mathbb {R} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo>&#x2208;<!-- ∈ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle a,b\in \mathbb {R} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/fe0bf0e2324bac843fab916c46d1b3349017a616" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:7.78ex; height:2.509ex;" alt="{\displaystyle a,b\in \mathbb {R} }"></span> with <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a&lt;b}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>a</mi> <mo>&lt;</mo> <mi>b</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle a&lt;b}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/91a7698e4c7401bb321f97888b872b583a9e4642" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.326ex; height:2.176ex;" alt="{\displaystyle a&lt;b}"></span> is a finite topological graph embedded in <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 \mathbb {R} \times [a,b]}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mo>&#x00D7;<!-- × --></mo> <mo stretchy="false">[</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo stretchy="false">]</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \mathbb {R} \times [a,b]}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b7b35713c8f0fe44b3a69ad4678d19a895b646af" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.073ex; height:2.843ex;" alt="{\displaystyle \mathbb {R} \times [a,b]}"></span> such that every point <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 x\in \Gamma \ \cap \ \mathbb {R} \times \{a,b\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> <mo>&#x2208;<!-- ∈ --></mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mtext>&#xA0;</mtext> <mo>&#x2229;<!-- ∩ --></mo> <mtext>&#xA0;</mtext> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mo>&#x00D7;<!-- × --></mo> <mo fence="false" stretchy="false">{</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x\in \Gamma \ \cap \ \mathbb {R} \times \{a,b\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3e8409f58b99d7db3fa700be3b41a39f4658928b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:19.472ex; height:2.843ex;" alt="{\displaystyle x\in \Gamma \ \cap \ \mathbb {R} \times \{a,b\}}"></span> is also a node <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 x\in \Gamma _{0}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> <mo>&#x2208;<!-- ∈ --></mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x\in \Gamma _{0}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/254596b7f47b33ca80fa1269201be635ebdcab99" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.677ex; height:2.509ex;" alt="{\displaystyle x\in \Gamma _{0}}"></span> and belongs to the closure of exactly one edge in <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma _{1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma _{1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/427e60078dcc86b35e6822c29368bd4a086ecb18" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.507ex; height:2.509ex;" alt="{\displaystyle \Gamma _{1}}"></span>. Such points are called <b>outer nodes</b>, they define the <b>domain</b> and <b>codomain <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 {\text{dom}}(\Gamma ),{\text{cod}}(\Gamma )\in \Gamma _{1}^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo stretchy="false">)</mo> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo stretchy="false">(</mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo stretchy="false">)</mo> <mo>&#x2208;<!-- ∈ --></mo> <msubsup> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{dom}}(\Gamma ),{\text{cod}}(\Gamma )\in \Gamma _{1}^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0ad3ca276ea5896dabc809f838947b620077cb86" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:20.784ex; height:3.009ex;" alt="{\displaystyle {\text{dom}}(\Gamma ),{\text{cod}}(\Gamma )\in \Gamma _{1}^{\star }}"></span></b> of the string diagram, i.e. the list of edges that are connected to the top and bottom boundary. The other nodes <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f\in \Gamma _{0}\ -\ \{a,b\}\times \mathbb {R} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>&#x2208;<!-- ∈ --></mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mtext>&#xA0;</mtext> <mo>&#x2212;<!-- − --></mo> <mtext>&#xA0;</mtext> <mo fence="false" stretchy="false">{</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo fence="false" stretchy="false">}</mo> <mo>&#x00D7;<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f\in \Gamma _{0}\ -\ \{a,b\}\times \mathbb {R} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5c9515d8befe78d1501865dc256fb18a08940780" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:20.733ex; height:2.843ex;" alt="{\displaystyle f\in \Gamma _{0}\ -\ \{a,b\}\times \mathbb {R} }"></span> are called <b>inner nodes</b>. </p><p>A plane graph is <b>progressive</b>, also called <b>recumbent</b>, when the vertical projection <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 e\to [a,b]}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>e</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mo stretchy="false">[</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo stretchy="false">]</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle e\to [a,b]}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7dc3755f398e163cafd16db198831b05fba5ab83" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.253ex; height:2.843ex;" alt="{\displaystyle e\to [a,b]}"></span> is injective for every edge <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 e\in \Gamma _{1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>e</mi> <mo>&#x2208;<!-- ∈ --></mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle e\in \Gamma _{1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d4c6fe6af09bd05c78be4a67aca89f5f38df0d4b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.431ex; height:2.509ex;" alt="{\displaystyle e\in \Gamma _{1}}"></span>. Intuitively, the edges in a progressive plane graph go from top to bottom without bending backward. In that case, each edge can be given a top-to-bottom orientation with designated nodes as source and target. One can then define the domain and codomain <b><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 {\text{dom}}(f),{\text{cod}}(f)\in \Gamma _{1}^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <mi>f</mi> <mo stretchy="false">)</mo> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo stretchy="false">(</mo> <mi>f</mi> <mo stretchy="false">)</mo> <mo>&#x2208;<!-- ∈ --></mo> <msubsup> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{dom}}(f),{\text{cod}}(f)\in \Gamma _{1}^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/cd6087e0936fa0a8d21371062aeb29f34215d036" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:20.436ex; height:3.009ex;" alt="{\displaystyle {\text{dom}}(f),{\text{cod}}(f)\in \Gamma _{1}^{\star }}"></span></b> of each inner node <b><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/132e57acb643253e7810ee9702d9581f159a1c61" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.279ex; height:2.509ex;" alt="{\displaystyle f}"></span></b>, given by the list of edges that have source and target. </p><p>A plane graph is <b>generic</b> when the vertical projection <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma _{0}-\{a,b\}\times \mathbb {R} \to [a,b]}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>&#x2212;<!-- − --></mo> <mo fence="false" stretchy="false">{</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo fence="false" stretchy="false">}</mo> <mo>&#x00D7;<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mo stretchy="false">&#x2192;<!-- → --></mo> <mo stretchy="false">[</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo stretchy="false">]</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma _{0}-\{a,b\}\times \mathbb {R} \to [a,b]}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9d64d3fb7b7b27592a48284f68c0d23f8fd8d58e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:23.621ex; height:2.843ex;" alt="{\displaystyle \Gamma _{0}-\{a,b\}\times \mathbb {R} \to [a,b]}"></span> is injective, i.e. no two inner nodes are at the same height. In that case, one can define a list <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 {\text{boxes}}(\Gamma )\in \Gamma _{0}^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>boxes</mtext> </mrow> <mo stretchy="false">(</mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo stretchy="false">)</mo> <mo>&#x2208;<!-- ∈ --></mo> <msubsup> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{boxes}}(\Gamma )\in \Gamma _{0}^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/515e11ea3c10a97926eb3f7c062fc4c54336f652" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:14.241ex; height:3.009ex;" alt="{\displaystyle {\text{boxes}}(\Gamma )\in \Gamma _{0}^{\star }}"></span> of the inner nodes ordered from top to bottom. </p><p>A progressive plane graph is <b>labeled</b> by a monoidal signature <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Sigma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9e1f558f53cda207614abdf90162266c70bc5c1e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.678ex; height:2.176ex;" alt="{\displaystyle \Sigma }"></span> if it comes equipped with a pair of functions <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 v_{0}:\Gamma _{1}\to \Sigma _{0}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>v</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>:</mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo stretchy="false">&#x2192;<!-- → --></mo> <msub> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle v_{0}:\Gamma _{1}\to \Sigma _{0}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/aecc0445b792a6744181ffb09d02e5bc7a9e626c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:12.972ex; height:2.509ex;" alt="{\displaystyle v_{0}:\Gamma _{1}\to \Sigma _{0}}"></span> from edges to generating objects and <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 v_{1}:\Gamma _{0}-\{a,b\}\times \mathbb {R} \to \Sigma _{1}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <msub> <mi>v</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>:</mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> <mo>&#x2212;<!-- − --></mo> <mo fence="false" stretchy="false">{</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo fence="false" stretchy="false">}</mo> <mo>&#x00D7;<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> <mo stretchy="false">&#x2192;<!-- → --></mo> <msub> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle v_{1}:\Gamma _{0}-\{a,b\}\times \mathbb {R} \to \Sigma _{1}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/09e8c6c0309f0638315ea14854b04e15fd4bfa88" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:25.918ex; height:2.843ex;" alt="{\displaystyle v_{1}:\Gamma _{0}-\{a,b\}\times \mathbb {R} \to \Sigma _{1}}"></span> from inner nodes to generating arrows, in a way compatible with domain and codomain. </p><p>A <b>deformation</b> of plane graphs is a <a href="/wiki/Continuous_map" class="mw-redirect" title="Continuous map">continuous map</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h:\Gamma \times [0,1]\to [a,b]\times \mathbb {R} }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo>:</mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>&#x00D7;<!-- × --></mo> <mo stretchy="false">[</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo stretchy="false">]</mo> <mo stretchy="false">&#x2192;<!-- → --></mo> <mo stretchy="false">[</mo> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo stretchy="false">]</mo> <mo>&#x00D7;<!-- × --></mo> <mrow class="MJX-TeXAtom-ORD"> <mi mathvariant="double-struck">R</mi> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h:\Gamma \times [0,1]\to [a,b]\times \mathbb {R} }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e6cb1d08481f3cec2c0a1cea024c382c23d326f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:24.909ex; height:2.843ex;" alt="{\displaystyle h:\Gamma \times [0,1]\to [a,b]\times \mathbb {R} }"></span> such that </p> <ul><li>the image of <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 h(-,t)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mo>&#x2212;<!-- − --></mo> <mo>,</mo> <mi>t</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(-,t)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5af0c2b65a17af73625729a858c77a8277b0b196" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.83ex; height:2.843ex;" alt="{\displaystyle h(-,t)}"></span> defines a plane graph for all <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 t\in [0,1]}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>t</mi> <mo>&#x2208;<!-- ∈ --></mo> <mo stretchy="false">[</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo stretchy="false">]</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle t\in [0,1]}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/31a5c18739ff04858eecc8fec2f53912c348e0e5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.333ex; height:2.843ex;" alt="{\displaystyle t\in [0,1]}"></span>,</li> <li>for all <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 x\in \Gamma _{0}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> <mo>&#x2208;<!-- ∈ --></mo> <msub> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x\in \Gamma _{0}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/254596b7f47b33ca80fa1269201be635ebdcab99" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:6.677ex; height:2.509ex;" alt="{\displaystyle x\in \Gamma _{0}}"></span>, if <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h(x,t)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mo>,</mo> <mi>t</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(x,t)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/929ca5ac48193d62afe7629c5745c660211ad208" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.352ex; height:2.843ex;" alt="{\displaystyle h(x,t)}"></span> is an inner node for some <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 t}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>t</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle t}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/65658b7b223af9e1acc877d848888ecdb4466560" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.84ex; height:2.009ex;" alt="{\displaystyle t}"></span> it is inner for all <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 t\in [0,1]}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>t</mi> <mo>&#x2208;<!-- ∈ --></mo> <mo stretchy="false">[</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo stretchy="false">]</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle t\in [0,1]}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/31a5c18739ff04858eecc8fec2f53912c348e0e5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.333ex; height:2.843ex;" alt="{\displaystyle t\in [0,1]}"></span>.</li></ul> <p>A deformation is progressive (generic, labeled) if <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h(-,t)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mo>&#x2212;<!-- − --></mo> <mo>,</mo> <mi>t</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(-,t)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5af0c2b65a17af73625729a858c77a8277b0b196" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:6.83ex; height:2.843ex;" alt="{\displaystyle h(-,t)}"></span> is progressive (generic, labeled) for all <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 t\in [0,1]}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>t</mi> <mo>&#x2208;<!-- ∈ --></mo> <mo stretchy="false">[</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo stretchy="false">]</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle t\in [0,1]}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/31a5c18739ff04858eecc8fec2f53912c348e0e5" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.333ex; height:2.843ex;" alt="{\displaystyle t\in [0,1]}"></span>. Deformations induce an equivalence relation with <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Gamma \sim \Gamma '}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>&#x223C;<!-- ∼ --></mo> <msup> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>&#x2032;</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Gamma \sim \Gamma '}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/35318226e6e86d2f9e19f731801a2aae5bfd70f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.689ex; height:2.509ex;" alt="{\displaystyle \Gamma \sim \Gamma &#039;}"></span> if and only if there is some <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 h}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b26be3e694314bc90c3215047e4a2010c6ee184a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.339ex; height:2.176ex;" alt="{\displaystyle h}"></span> with <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle h(-,0)=\Gamma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mo>&#x2212;<!-- − --></mo> <mo>,</mo> <mn>0</mn> <mo stretchy="false">)</mo> <mo>=</mo> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(-,0)=\Gamma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a9ae93e6e9f651558f981d8843db658aad9074b2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.704ex; height:2.843ex;" alt="{\displaystyle h(-,0)=\Gamma }"></span> and <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 h(-,1)=\Gamma '}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>h</mi> <mo stretchy="false">(</mo> <mo>&#x2212;<!-- − --></mo> <mo>,</mo> <mn>1</mn> <mo stretchy="false">)</mo> <mo>=</mo> <msup> <mi mathvariant="normal">&#x0393;<!-- Γ --></mi> <mo>&#x2032;</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle h(-,1)=\Gamma '}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/40bc3caf26efbb0e749a8ae10bd7dbd8755472d2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.389ex; height:3.009ex;" alt="{\displaystyle h(-,1)=\Gamma &#039;}"></span>. String diagrams are <b>equivalence classes of labeled progressive plane graphs</b>. Indeed, one can define: </p> <ul><li>the identity diagram <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 {\text{id}}(x)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>id</mtext> </mrow> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{id}}(x)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8f54ddad222f4a5c18974e4b49f747ef3de57162" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.078ex; height:2.843ex;" alt="{\displaystyle {\text{id}}(x)}"></span> as a set of parallel edges labeled by some type <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 x\in \Sigma _{0}^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> <mo>&#x2208;<!-- ∈ --></mo> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x\in \Sigma _{0}^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/704459136a17c41e663099d465bd0da007bd3ed2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:6.903ex; height:2.843ex;" alt="{\displaystyle x\in \Sigma _{0}^{\star }}"></span>,</li> <li>the composition of two diagrams as their vertical concatenation with the codomain of the first identified with the domain of the second,</li> <li>the tensor of two diagrams as their horizontal concatenation.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Combinatorial">Combinatorial</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=6" title="Edit section: Combinatorial"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>While the geometric definition makes explicit the link between <a href="/wiki/Category_theory" title="Category theory">category theory</a> and <a href="/wiki/Low-dimensional_topology" title="Low-dimensional topology">low-dimensional topology</a>, a <b>combinatorial definition</b> is necessary to formalise string diagrams in <a href="/wiki/Computer_algebra_systems" class="mw-redirect" title="Computer algebra systems">computer algebra systems</a> and use them to define <a href="/wiki/Computational_problems" class="mw-redirect" title="Computational problems">computational problems</a>. One such definition is to define string diagrams as equivalence classes of well-typed formulae generated by the signature, identity, composition and tensor. In practice, it is more convenient to encode string diagrams as formulae in <b>generic form</b>, which are in bijection with the labeled generic progressive plane graphs defined above. </p><p>Fix a monoidal signature <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Sigma }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \Sigma }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9e1f558f53cda207614abdf90162266c70bc5c1e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.678ex; height:2.176ex;" alt="{\displaystyle \Sigma }"></span>. A <b>layer</b> is defined as a triple <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 (x,f,y)\in \Sigma _{0}^{\star }\times \Sigma _{1}\times \Sigma _{0}^{\star }=:L(\Sigma )}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi>x</mi> <mo>,</mo> <mi>f</mi> <mo>,</mo> <mi>y</mi> <mo stretchy="false">)</mo> <mo>&#x2208;<!-- ∈ --></mo> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> <mo>&#x00D7;<!-- × --></mo> <msub> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>&#x00D7;<!-- × --></mo> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> <mo>=:</mo> <mi>L</mi> <mo stretchy="false">(</mo> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (x,f,y)\in \Sigma _{0}^{\star }\times \Sigma _{1}\times \Sigma _{0}^{\star }=:L(\Sigma )}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/72b808d59e858d18a66c4c69e5211f76473c353d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:33.175ex; height:3.009ex;" alt="{\displaystyle (x,f,y)\in \Sigma _{0}^{\star }\times \Sigma _{1}\times \Sigma _{0}^{\star }=:L(\Sigma )}"></span> of a type <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 x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/87f9e315fd7e2ba406057a97300593c4802b53e4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.33ex; height:1.676ex;" alt="{\displaystyle x}"></span> on the left, a box <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/132e57acb643253e7810ee9702d9581f159a1c61" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.279ex; height:2.509ex;" alt="{\displaystyle f}"></span> in the middle and a type <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 y}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>y</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle y}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b8a6208ec717213d4317e666f1ae872e00620a0d" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.155ex; height:2.009ex;" alt="{\displaystyle y}"></span> on the right. Layers have a domain and codomain <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 {\text{dom}},{\text{cod}}:L(\Sigma )\to \Sigma _{0}^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo>,</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo>:</mo> <mi>L</mi> <mo stretchy="false">(</mo> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo stretchy="false">)</mo> <mo stretchy="false">&#x2192;<!-- → --></mo> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{dom}},{\text{cod}}:L(\Sigma )\to \Sigma _{0}^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/80f4b518e58266adb589503b8bda6be7cd639aae" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:22.266ex; height:3.009ex;" alt="{\displaystyle {\text{dom}},{\text{cod}}:L(\Sigma )\to \Sigma _{0}^{\star }}"></span> defined in the obvious way. This forms a <a href="/wiki/Directed_multigraph" class="mw-redirect" title="Directed multigraph">directed multigraph</a>, also known as a <a href="/wiki/Quiver_(mathematics)" title="Quiver (mathematics)">quiver</a>, with the types as vertices and the layers as edges. <b>A string diagram <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 d}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>d</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle d}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e85ff03cbe0c7341af6b982e47e9f90d235c66ab" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.216ex; height:2.176ex;" alt="{\displaystyle d}"></span> is encoded as a path in this multigraph</b>, i.e. it is given by: </p> <ul><li>a domain <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 {\text{dom}}(d)\in \Sigma _{0}^{\star }}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <mi>d</mi> <mo stretchy="false">)</mo> <mo>&#x2208;<!-- ∈ --></mo> <msubsup> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mrow class="MJX-TeXAtom-ORD"> <mn>0</mn> </mrow> <mrow class="MJX-TeXAtom-ORD"> <mo>&#x22C6;<!-- ⋆ --></mo> </mrow> </msubsup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{dom}}(d)\in \Sigma _{0}^{\star }}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/699be347053a96ea407f5f67a7a952a04326d065" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:12.989ex; height:3.009ex;" alt="{\displaystyle {\text{dom}}(d)\in \Sigma _{0}^{\star }}"></span> as starting point</li> <li>a length <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 {\text{len}}(d)=n\geq 0}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>len</mtext> </mrow> <mo stretchy="false">(</mo> <mi>d</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mi>n</mi> <mo>&#x2265;<!-- ≥ --></mo> <mn>0</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{len}}(d)=n\geq 0}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5ae797a1706cf4f64df7d4096e43ca151132f769" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.751ex; height:2.843ex;" alt="{\displaystyle {\text{len}}(d)=n\geq 0}"></span>,</li> <li>a list of <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 {\text{layers}}(d)=d_{1}\dots d_{n}\in L(\Sigma )}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>layers</mtext> </mrow> <mo stretchy="false">(</mo> <mi>d</mi> <mo stretchy="false">)</mo> <mo>=</mo> <msub> <mi>d</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>&#x2026;<!-- … --></mo> <msub> <mi>d</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo>&#x2208;<!-- ∈ --></mo> <mi>L</mi> <mo stretchy="false">(</mo> <mi mathvariant="normal">&#x03A3;<!-- Σ --></mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{layers}}(d)=d_{1}\dots d_{n}\in L(\Sigma )}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/479d4556af9b3cd2389c6cdd970ffa1ce86c5102" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:28.12ex; height:2.843ex;" alt="{\displaystyle {\text{layers}}(d)=d_{1}\dots d_{n}\in L(\Sigma )}"></span></li></ul> <p>such that <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{dom}}(d_{1})={\text{dom}}(d)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <msub> <mi>d</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <mi>d</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{dom}}(d_{1})={\text{dom}}(d)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/854ca8862ea45587eae8cbe4ae68f990fcf2c574" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.978ex; height:2.843ex;" alt="{\displaystyle {\text{dom}}(d_{1})={\text{dom}}(d)}"></span> and <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 {\text{cod}}(d_{i})={\text{dom}}(d_{i+1})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo stretchy="false">(</mo> <msub> <mi>d</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> </mrow> </msub> <mo stretchy="false">)</mo> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <msub> <mi>d</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{cod}}(d_{i})={\text{dom}}(d_{i+1})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e595067885b0ea8bb23cba7c77b2916036ae9e66" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:20.713ex; height:2.843ex;" alt="{\displaystyle {\text{cod}}(d_{i})={\text{dom}}(d_{i+1})}"></span> for all <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&lt;n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>i</mi> <mo>&lt;</mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle i&lt;n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/91c05cfe196f3903cbcdf8fa268053e3b8a57724" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.296ex; height:2.176ex;" alt="{\displaystyle i&lt;n}"></span>. In fact, the explicit list of layers is redundant, it is enough to specify the length of the type to the left of each layer, known as the <b>offset</b>. The <b>whiskering</b> <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 d\otimes z}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>d</mi> <mo>&#x2297;<!-- ⊗ --></mo> <mi>z</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle d\otimes z}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8ce1e66fcb5345982dad696107879b634aa7288e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.144ex; height:2.343ex;" alt="{\displaystyle d\otimes z}"></span> of a diagram <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 d=(x_{1},f_{1},y_{1})\dots (x_{n},f_{n},y_{n})}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>d</mi> <mo>=</mo> <mo stretchy="false">(</mo> <msub> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>f</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo stretchy="false">)</mo> <mo>&#x2026;<!-- … --></mo> <mo stretchy="false">(</mo> <msub> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>f</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle d=(x_{1},f_{1},y_{1})\dots (x_{n},f_{n},y_{n})}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/03ecf0121cbb16446fb3716134ce7970656231a7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:29.601ex; height:2.843ex;" alt="{\displaystyle d=(x_{1},f_{1},y_{1})\dots (x_{n},f_{n},y_{n})}"></span> by a type <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 z}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>z</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle z}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/bf368e72c009decd9b6686ee84a375632e11de98" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.088ex; height:1.676ex;" alt="{\displaystyle z}"></span> is defined as the concatenation to the right of each layer <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 d\otimes z=(x_{1},f_{1},y_{1}z)\dots (x_{n},f_{n},y_{n}z)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>d</mi> <mo>&#x2297;<!-- ⊗ --></mo> <mi>z</mi> <mo>=</mo> <mo stretchy="false">(</mo> <msub> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>f</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mi>z</mi> <mo stretchy="false">)</mo> <mo>&#x2026;<!-- … --></mo> <mo stretchy="false">(</mo> <msub> <mi>x</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>f</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mi>z</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle d\otimes z=(x_{1},f_{1},y_{1}z)\dots (x_{n},f_{n},y_{n}z)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0c2c15fb2f3c880d1062a62721949566ba70dde8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:35.705ex; height:2.843ex;" alt="{\displaystyle d\otimes z=(x_{1},f_{1},y_{1}z)\dots (x_{n},f_{n},y_{n}z)}"></span> and symmetrically for the whiskering <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 z\otimes d}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>z</mi> <mo>&#x2297;<!-- ⊗ --></mo> <mi>d</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle z\otimes d}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/9280d32d73649982d89271b16c46a21191947423" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.144ex; height:2.343ex;" alt="{\displaystyle z\otimes d}"></span> on the left. One can then define: </p> <ul><li>the identity diagram <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 {\text{id}}(x)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>id</mtext> </mrow> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{id}}(x)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/8f54ddad222f4a5c18974e4b49f747ef3de57162" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.078ex; height:2.843ex;" alt="{\displaystyle {\text{id}}(x)}"></span> with <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{len}}({\text{id}}(x))=0}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>len</mtext> </mrow> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>id</mtext> </mrow> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> <mo>=</mo> <mn>0</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{len}}({\text{id}}(x))=0}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1bdd9d14788ecccd381650e51f53d2d3ba0334a2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.12ex; height:2.843ex;" alt="{\displaystyle {\text{len}}({\text{id}}(x))=0}"></span> and <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 {\text{dom}}({\text{id}}(x))=x}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>id</mtext> </mrow> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> <mo stretchy="false">)</mo> <mo>=</mo> <mi>x</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\text{dom}}({\text{id}}(x))=x}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5ecddf792c5003df4b1e7fc7e19286e308d09688" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:15.707ex; height:2.843ex;" alt="{\displaystyle {\text{dom}}({\text{id}}(x))=x}"></span>,</li> <li>the composition of two diagrams as the concatenation of their list of layers,</li> <li>the tensor of two diagrams as the composition of whiskerings <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 d\otimes d'=d\otimes {\text{dom}}(d')\ \circ \ {\text{cod}}(d)\otimes d'}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>d</mi> <mo>&#x2297;<!-- ⊗ --></mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mo>=</mo> <mi>d</mi> <mo>&#x2297;<!-- ⊗ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mo stretchy="false">)</mo> <mtext>&#xA0;</mtext> <mo>&#x2218;<!-- ∘ --></mo> <mtext>&#xA0;</mtext> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo stretchy="false">(</mo> <mi>d</mi> <mo stretchy="false">)</mo> <mo>&#x2297;<!-- ⊗ --></mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle d\otimes d'=d\otimes {\text{dom}}(d')\ \circ \ {\text{cod}}(d)\otimes d'}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/60fb5dc904d9e5e9f452c8b771020a86a86eeb78" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:35.829ex; height:3.009ex;" alt="{\displaystyle d\otimes d&#039;=d\otimes {\text{dom}}(d&#039;)\ \circ \ {\text{cod}}(d)\otimes d&#039;}"></span>.</li></ul> <p>Note that because the diagram is in generic form (i.e. each layer contains exactly one box) the definition of tensor is necessarily biased: the diagram on the left hand-side comes above the one on the right-hand side. One could have chosen the opposite definition <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="{\textstyle d\otimes d'={\text{dom}}(d)\otimes d'\ \circ \ d\otimes {\text{cod}}(d')}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mi>d</mi> <mo>&#x2297;<!-- ⊗ --></mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mo>=</mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <mi>d</mi> <mo stretchy="false">)</mo> <mo>&#x2297;<!-- ⊗ --></mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mtext>&#xA0;</mtext> <mo>&#x2218;<!-- ∘ --></mo> <mtext>&#xA0;</mtext> <mi>d</mi> <mo>&#x2297;<!-- ⊗ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo stretchy="false">(</mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\textstyle d\otimes d'={\text{dom}}(d)\otimes d'\ \circ \ d\otimes {\text{cod}}(d')}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3e32f2f1ef9e2da0b0723d8683de4bfd1d3df1f1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:35.829ex; height:2.843ex;" alt="{\textstyle d\otimes d&#039;={\text{dom}}(d)\otimes d&#039;\ \circ \ d\otimes {\text{cod}}(d&#039;)}"></span>. </p><p>Two diagrams are equal (up to the axioms of monoidal categories) whenever they are in the same equivalence class of the <a href="/wiki/Congruence_relation" title="Congruence relation">congruence relation</a> generated by the <b>interchanger</b>:<span class="mwe-math-element"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle d\otimes {\text{dom}}(d')\ \circ \ {\text{cod}}(d)\otimes d'\quad =\quad {\text{dom}}(d)\otimes d'\ \circ \ d\otimes {\text{cod}}(d')}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>d</mi> <mo>&#x2297;<!-- ⊗ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mo stretchy="false">)</mo> <mtext>&#xA0;</mtext> <mo>&#x2218;<!-- ∘ --></mo> <mtext>&#xA0;</mtext> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo stretchy="false">(</mo> <mi>d</mi> <mo stretchy="false">)</mo> <mo>&#x2297;<!-- ⊗ --></mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mspace width="1em" /> <mo>=</mo> <mspace width="1em" /> <mrow class="MJX-TeXAtom-ORD"> <mtext>dom</mtext> </mrow> <mo stretchy="false">(</mo> <mi>d</mi> <mo stretchy="false">)</mo> <mo>&#x2297;<!-- ⊗ --></mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mtext>&#xA0;</mtext> <mo>&#x2218;<!-- ∘ --></mo> <mtext>&#xA0;</mtext> <mi>d</mi> <mo>&#x2297;<!-- ⊗ --></mo> <mrow class="MJX-TeXAtom-ORD"> <mtext>cod</mtext> </mrow> <mo stretchy="false">(</mo> <msup> <mi>d</mi> <mo>&#x2032;</mo> </msup> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle d\otimes {\text{dom}}(d')\ \circ \ {\text{cod}}(d)\otimes d'\quad =\quad {\text{dom}}(d)\otimes d'\ \circ \ d\otimes {\text{cod}}(d')}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/40676c9a2b7f827aba2c249bdecd2f7bc270d3a4" class="mwe-math-fallback-image-display mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:61.286ex; height:3.009ex;" alt="{\displaystyle d\otimes {\text{dom}}(d&#039;)\ \circ \ {\text{cod}}(d)\otimes d&#039;\quad =\quad {\text{dom}}(d)\otimes d&#039;\ \circ \ d\otimes {\text{cod}}(d&#039;)}"></span>That is, if the boxes in two consecutive layers are not connected then their order can be swapped. Intuitively, if there is no communication between two parallel processes then the order in which they happen is irrelevant. </p><p>The <a href="/wiki/Word_problem_(mathematics)" title="Word problem (mathematics)">word problem</a> for free monoidal categories, i.e. deciding whether two given diagrams are equal, can be solved in <a href="/wiki/Polynomial_time" class="mw-redirect" title="Polynomial time">polynomial time</a>. The interchanger is a <a href="/wiki/Confluence_(abstract_rewriting)" title="Confluence (abstract rewriting)">confluent</a> <a href="/wiki/Rewriting_system" class="mw-redirect" title="Rewriting system">rewriting system</a> on the subset of <b>boundary connected</b> diagrams, i.e. whenever the plane graphs have no more than one connected component which is not connected to the domain or codomain and the <a href="/wiki/Eckmann%E2%80%93Hilton_argument" title="Eckmann–Hilton argument">Eckmann–Hilton argument</a> does not apply.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Extension_to_2-categories">Extension to 2-categories</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=7" title="Edit section: Extension to 2-categories"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The idea is to represent structures of dimension <i>d</i> by structures of dimension <i>2-d</i>, using <a href="/wiki/Poincar%C3%A9_duality" title="Poincaré duality">Poincaré duality</a>. Thus, </p> <ul><li>an object is represented by a portion of plane,</li> <li>a 1-cell <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f:A\to B}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>f</mi> <mo>:</mo> <mi>A</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>B</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle f:A\to B}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/20040a52d9391f2fe271f0aaa300bf7887a0c7b1" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:10.337ex; height:2.509ex;" alt="{\displaystyle f:A\to B}"></span> is represented by a vertical segment—called a <i>string</i>—separating the plane in two (the right part corresponding to <i>A</i> and the left one to <i>B</i>),</li> <li>a 2-cell <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 \alpha :f\Rightarrow g:A\to B}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B1;<!-- α --></mi> <mo>:</mo> <mi>f</mi> <mo stretchy="false">&#x21D2;<!-- ⇒ --></mo> <mi>g</mi> <mo>:</mo> <mi>A</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>B</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \alpha :f\Rightarrow g:A\to B}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4d9c52227a22fb831727796d186111709f4bfd52" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:18.492ex; height:2.509ex;" alt="{\displaystyle \alpha :f\Rightarrow g:A\to B}"></span> is represented by an intersection of strings (the strings corresponding to <i>f</i> above the link, the strings corresponding to <i>g</i> below the link).</li></ul> <p>The parallel composition of 2-cells corresponds to the horizontal juxtaposition of diagrams and the sequential composition to the vertical juxtaposition of diagrams. </p> <style data-mw-deduplicate="TemplateStyles:r1237032888/mw-parser-output/.tmulti">.mw-parser-output .tmulti .multiimageinner{display:flex;flex-direction:column}.mw-parser-output .tmulti .trow{display:flex;flex-direction:row;clear:left;flex-wrap:wrap;width:100%;box-sizing:border-box}.mw-parser-output .tmulti .tsingle{margin:1px;float:left}.mw-parser-output .tmulti .theader{clear:both;font-weight:bold;text-align:center;align-self:center;background-color:transparent;width:100%}.mw-parser-output .tmulti .thumbcaption{background-color:transparent}.mw-parser-output .tmulti .text-align-left{text-align:left}.mw-parser-output .tmulti .text-align-right{text-align:right}.mw-parser-output .tmulti .text-align-center{text-align:center}@media all and (max-width:720px){.mw-parser-output .tmulti .thumbinner{width:100%!important;box-sizing:border-box;max-width:none!important;align-items:center}.mw-parser-output .tmulti .trow{justify-content:center}.mw-parser-output .tmulti .tsingle{float:none!important;max-width:100%!important;box-sizing:border-box;text-align:center}.mw-parser-output .tmulti .tsingle .thumbcaption{text-align:left}.mw-parser-output .tmulti .trow>.thumbcaption{text-align:center}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .tmulti .multiimageinner img{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .tmulti .multiimageinner img{background-color:white}}</style><div class="thumb tmulti tnone center"><div class="thumbinner multiimageinner" style="width:404px;max-width:404px"><div class="trow"><div class="tsingle" style="width:402px;max-width:402px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Commutative_diagram_to_string_diagram.svg" class="mw-file-description"><img alt="Duality between commutative diagrams and string diagrams." src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Commutative_diagram_to_string_diagram.svg/400px-Commutative_diagram_to_string_diagram.svg.png" decoding="async" width="400" height="168" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Commutative_diagram_to_string_diagram.svg/600px-Commutative_diagram_to_string_diagram.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Commutative_diagram_to_string_diagram.svg/800px-Commutative_diagram_to_string_diagram.svg.png 2x" data-file-width="350" data-file-height="147" /></a></span></div><div class="thumbcaption">Duality between commutative diagrams (on the left hand side) and string diagrams (on the right hand side)</div></div></div></div></div><p>A monoidal category is equivalent to a 2-category with a single 0-cell. Intuitively, going from monoidal categories to 2-categories amounts to adding colours to the background of string diagrams. </p><div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=8" title="Edit section: Examples"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="The_snake_equation">The snake equation</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=9" title="Edit section: The snake equation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Consider an <a href="/wiki/Adjoint_functors" title="Adjoint functors">adjunction</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (F,G,\eta ,\varepsilon )}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi>F</mi> <mo>,</mo> <mi>G</mi> <mo>,</mo> <mi>&#x03B7;<!-- η --></mi> <mo>,</mo> <mi>&#x03B5;<!-- ε --></mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (F,G,\eta ,\varepsilon )}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7124c35eb3dae4762fa32c530d63c120941f27b8" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.732ex; height:2.843ex;" alt="{\displaystyle (F,G,\eta ,\varepsilon )}"></span> between two categories <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 {\mathcal {C}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi class="MJX-tex-caligraphic" mathvariant="script">C</mi> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\mathcal {C}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e7b3edab7022ca9e2976651bc59c489513ee9019" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.239ex; height:2.176ex;" alt="{\displaystyle {\mathcal {C}}}"></span> and <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 {\mathcal {D}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi class="MJX-tex-caligraphic" mathvariant="script">D</mi> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\mathcal {D}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/3277962e1959c3241fb1b70c7f0ac6dcefebd966" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.792ex; height:2.176ex;" alt="{\displaystyle {\mathcal {D}}}"></span> where <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F:{\mathcal {C}}\leftarrow {\mathcal {D}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>F</mi> <mo>:</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi class="MJX-tex-caligraphic" mathvariant="script">C</mi> </mrow> </mrow> <mo stretchy="false">&#x2190;<!-- ← --></mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi class="MJX-tex-caligraphic" mathvariant="script">D</mi> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle F:{\mathcal {C}}\leftarrow {\mathcal {D}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/96c7b7a6dbab3fc183ac16bc712b4c204e14385a" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:10.323ex; height:2.176ex;" alt="{\displaystyle F:{\mathcal {C}}\leftarrow {\mathcal {D}}}"></span> is left adjoint of <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 G:{\mathcal {C}}\rightarrow {\mathcal {D}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>G</mi> <mo>:</mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi class="MJX-tex-caligraphic" mathvariant="script">C</mi> </mrow> </mrow> <mo stretchy="false">&#x2192;<!-- → --></mo> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mi class="MJX-tex-caligraphic" mathvariant="script">D</mi> </mrow> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle G:{\mathcal {C}}\rightarrow {\mathcal {D}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/ad4383e5ace52ee145e777c803a0a47dd138b049" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:10.409ex; height:2.176ex;" alt="{\displaystyle G:{\mathcal {C}}\rightarrow {\mathcal {D}}}"></span> and the <a href="/wiki/Natural_transformation" title="Natural transformation">natural transformations</a> <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \eta :I\rightarrow GF}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B7;<!-- η --></mi> <mo>:</mo> <mi>I</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>G</mi> <mi>F</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \eta :I\rightarrow GF}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/26997e4fbac19659d1b879e15905f2e3fc1f94ab" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.46ex; height:2.676ex;" alt="{\displaystyle \eta :I\rightarrow GF}"></span> and <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 \varepsilon :FG\rightarrow I}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>&#x03B5;<!-- ε --></mi> <mo>:</mo> <mi>F</mi> <mi>G</mi> <mo stretchy="false">&#x2192;<!-- → --></mo> <mi>I</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \varepsilon :FG\rightarrow I}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/e616419fd9ccb32bacd3821d53407fe53c9599b0" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:11.374ex; height:2.176ex;" alt="{\displaystyle \varepsilon :FG\rightarrow I}"></span> are respectively the unit and the counit. The string diagrams corresponding to these natural transformations are: </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1237032888/mw-parser-output/.tmulti"><div class="thumb tmulti tnone center"><div class="thumbinner multiimageinner" style="width:397px;max-width:397px"><div class="trow"><div class="tsingle" style="width:167px;max-width:167px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:String_diagram_unit.svg" class="mw-file-description"><img alt="String diagram of the unit" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/6c/String_diagram_unit.svg/165px-String_diagram_unit.svg.png" decoding="async" width="165" height="117" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6c/String_diagram_unit.svg/248px-String_diagram_unit.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6c/String_diagram_unit.svg/330px-String_diagram_unit.svg.png 2x" data-file-width="114" data-file-height="81" /></a></span></div><div class="thumbcaption">String diagram of the unit</div></div><div class="tsingle" style="width:132px;max-width:132px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:String_diagram_counit.svg" class="mw-file-description"><img alt="String diagram of the counit" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/54/String_diagram_counit.svg/130px-String_diagram_counit.svg.png" decoding="async" width="130" height="117" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/54/String_diagram_counit.svg/195px-String_diagram_counit.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/54/String_diagram_counit.svg/260px-String_diagram_counit.svg.png 2x" data-file-width="90" data-file-height="81" /></a></span></div><div class="thumbcaption">String diagram of the counit</div></div><div class="tsingle" style="width:92px;max-width:92px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:String_diagram_identity.svg" class="mw-file-description"><img alt="String diagram of the identity 2-cell" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/22/String_diagram_identity.svg/90px-String_diagram_identity.svg.png" decoding="async" width="90" height="138" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/22/String_diagram_identity.svg/135px-String_diagram_identity.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/22/String_diagram_identity.svg/180px-String_diagram_identity.svg.png 2x" data-file-width="71" data-file-height="109" /></a></span></div><div class="thumbcaption">String diagram of the identity</div></div></div></div></div> <p>The string corresponding to the identity functor is drawn as a dotted line and can be omitted. The definition of an adjunction requires the following equalities: </p> <dl><dd><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 {\begin{aligned}(\varepsilon F)\circ F(\eta )&amp;=1_{F}\\G(\varepsilon )\circ (\eta G)&amp;=1_{G}\end{aligned}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"> <mtr> <mtd> <mo stretchy="false">(</mo> <mi>&#x03B5;<!-- ε --></mi> <mi>F</mi> <mo stretchy="false">)</mo> <mo>&#x2218;<!-- ∘ --></mo> <mi>F</mi> <mo stretchy="false">(</mo> <mi>&#x03B7;<!-- η --></mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <msub> <mn>1</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>F</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mi>G</mi> <mo stretchy="false">(</mo> <mi>&#x03B5;<!-- ε --></mi> <mo stretchy="false">)</mo> <mo>&#x2218;<!-- ∘ --></mo> <mo stretchy="false">(</mo> <mi>&#x03B7;<!-- η --></mi> <mi>G</mi> <mo stretchy="false">)</mo> </mtd> <mtd> <mi></mi> <mo>=</mo> <msub> <mn>1</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>G</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}(\varepsilon F)\circ F(\eta )&amp;=1_{F}\\G(\varepsilon )\circ (\eta G)&amp;=1_{G}\end{aligned}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d1e82948d7573e0d6d5f22336bf5f291f7335cd2" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:18.256ex; height:6.176ex;" alt="{\displaystyle {\begin{aligned}(\varepsilon F)\circ F(\eta )&amp;=1_{F}\\G(\varepsilon )\circ (\eta G)&amp;=1_{G}\end{aligned}}}"></span></dd></dl> <p>The first one is depicted as </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1237032888/mw-parser-output/.tmulti"><div class="thumb tmulti tnone center"><div class="thumbinner multiimageinner" style="width:454px;max-width:454px"><div class="trow"><div class="tsingle" style="width:452px;max-width:452px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:String_diagram_adjunction.svg" class="mw-file-description"><img alt="Diagrammatic representation of the equality" src="//upload.wikimedia.org/wikipedia/commons/thumb/9/9b/String_diagram_adjunction.svg/450px-String_diagram_adjunction.svg.png" decoding="async" width="450" height="206" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/9b/String_diagram_adjunction.svg/675px-String_diagram_adjunction.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/9b/String_diagram_adjunction.svg/900px-String_diagram_adjunction.svg.png 2x" data-file-width="314" data-file-height="144" /></a></span></div><div class="thumbcaption">Diagrammatic representation of the equality <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 (\varepsilon F)\circ F(\eta )=1_{F}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo stretchy="false">(</mo> <mi>&#x03B5;<!-- ε --></mi> <mi>F</mi> <mo stretchy="false">)</mo> <mo>&#x2218;<!-- ∘ --></mo> <mi>F</mi> <mo stretchy="false">(</mo> <mi>&#x03B7;<!-- η --></mi> <mo stretchy="false">)</mo> <mo>=</mo> <msub> <mn>1</mn> <mrow class="MJX-TeXAtom-ORD"> <mi>F</mi> </mrow> </msub> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle (\varepsilon F)\circ F(\eta )=1_{F}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/5c7095bec263be78b692429224e8990bc18f206c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:17.272ex; height:2.843ex;" alt="{\displaystyle (\varepsilon F)\circ F(\eta )=1_{F}}"></span></div></div></div></div></div><p>A monoidal category where every object has a left and right adjoint is called a <a href="/wiki/Rigid_category" title="Rigid category">rigid category</a>. String diagrams for rigid categories can be defined as <b>non-progressive</b> plane graphs, i.e. the edges can bend backward. </p><p>In the context of <a href="/wiki/Categorical_quantum_mechanics" title="Categorical quantum mechanics">categorical quantum mechanics</a>, this is known as the <b>snake equation</b>. </p><p> The category of <a href="/wiki/Hilbert_space" title="Hilbert space">Hilbert spaces</a> is rigid, this fact underlies the proof of correctness for the <a href="/wiki/Quantum_teleportation" title="Quantum teleportation">quantum teleportation</a> protocol. The unit and counit of the adjunction are an abstraction of the <a href="/wiki/Bell_state" title="Bell state">Bell state</a> and the <a href="/wiki/Bell_measurement" class="mw-redirect" title="Bell measurement">Bell measurement</a> respectively. If Alice and Bob share two <a href="/wiki/Qubits" class="mw-redirect" title="Qubits">qubits</a> Y and Z in an <a href="/wiki/Entangled_state" class="mw-redirect" title="Entangled state">entangled state</a> and Alice performs a (<a href="/wiki/Postselection" title="Postselection">post-selected</a>) entangled measurement between Y and another qubit X, then this qubit X will be teleported from Alice to Bob: quantum teleportation is an identity morphism.</p><div class="thumb tnone" style="margin-left:auto;margin-right:auto;overflow:hidden;width:auto;max-width:788px"><div class="thumbinner"><div class="noresize" style="overflow:auto"><span typeof="mw:File"><a href="/wiki/File:Teleport.png" class="mw-file-description" title="An illustration of the diagrammatic calculus: the quantum teleportation protocol as modeled in categorical quantum mechanics."><img alt="" src="//upload.wikimedia.org/wikipedia/commons/e/e8/Teleport.png" decoding="async" width="780" height="169" class="mw-file-element" data-file-width="780" data-file-height="169" /></a></span></div><div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Teleport.png" title="File:Teleport.png"> </a></div>An illustration of the diagrammatic calculus: the <a href="/wiki/Quantum_teleportation" title="Quantum teleportation">quantum teleportation</a> protocol as modeled in categorical quantum mechanics.</div></div></div><p>The same equation appears in the definition of <a href="/wiki/Pregroup_grammar" title="Pregroup grammar">pregroup grammars</a> where it captures the notion of <a href="/wiki/Information_flow" title="Information flow">information flow</a> in <a href="/wiki/Natural_language_semantics" class="mw-redirect" title="Natural language semantics">natural language semantics</a>. This observation has led to the development of the <a href="/wiki/DisCoCat" title="DisCoCat">DisCoCat</a> framework and <a href="/wiki/Quantum_natural_language_processing" title="Quantum natural language processing">quantum natural language processing</a>. </p><div class="mw-heading mw-heading2"><h2 id="Hierarchy_of_graphical_languages">Hierarchy of graphical languages</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=10" title="Edit section: Hierarchy of graphical languages"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Many extensions of string diagrams have been introduced to represent arrows in monoidal categories with extra structure, forming a hierarchy of graphical languages which is classified in Selinger's <i>Survey of graphical languages for monoidal categories.<sup id="cite_ref-:0_10-0" class="reference"><a href="#cite_note-:0-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup></i> </p> <ul><li><a href="/wiki/Braided_monoidal_categories" class="mw-redirect" title="Braided monoidal categories">Braided monoidal categories</a> with 3-dimensional diagrams, a generalisation of <a href="/wiki/Braid_group" title="Braid group">braid groups</a>.</li> <li><a href="/wiki/Symmetric_monoidal_category" title="Symmetric monoidal category">Symmetric monoidal categories</a> with 4-dimensional diagrams where edges can cross, a generalisation of the <a href="/wiki/Symmetric_group" title="Symmetric group">symmetric group</a>.</li> <li><a href="/wiki/Braided_monoidal_categories#Ribbon_categories" class="mw-redirect" title="Braided monoidal categories">Ribbon categories</a> with 3-dimensional diagrams where the edges are undirected, a generalisation of <a href="/wiki/Knot_theory" title="Knot theory">knot diagrams</a>.</li> <li><a href="/wiki/Compact_closed_category" title="Compact closed category">Compact closed categories</a> with 4-dimensional diagrams where the edges are undirected, a generalisation of <a href="/wiki/Penrose_graphical_notation" title="Penrose graphical notation">Penrose graphical notation</a>.</li> <li><a href="/wiki/Dagger_categories" class="mw-redirect" title="Dagger categories">Dagger categories</a> where every diagram has a horizontal reflection.</li></ul> <div class="mw-heading mw-heading2"><h2 id="List_of_applications">List of applications</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=11" title="Edit section: List of applications"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>String diagrams have been used to formalise the following objects of study. </p> <ul><li><a href="/wiki/Concurrency_theory" class="mw-redirect" title="Concurrency theory">Concurrency theory</a><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Artificial_neural_networks" class="mw-redirect" title="Artificial neural networks">Artificial neural networks</a><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Game_theory" title="Game theory">Game theory</a><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Bayesian_probability" title="Bayesian probability">Bayesian probability</a><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Consciousness" title="Consciousness">Consciousness</a><sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Markov_kernel" title="Markov kernel">Markov kernels</a><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Signal-flow_graph" title="Signal-flow graph">Signal-flow graphs</a><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Conjunctive_query" title="Conjunctive query">Conjunctive queries</a><sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Bidirectional_transformation" title="Bidirectional transformation">Bidirectional transformations</a><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/Categorical_quantum_mechanics" title="Categorical quantum mechanics">Categorical quantum mechanics</a></li> <li><a href="/wiki/Quantum_circuit" title="Quantum circuit">Quantum circuits</a>, <a href="/wiki/Measurement-based_quantum_computing" class="mw-redirect" title="Measurement-based quantum computing">measurement-based quantum computing</a> and <a href="/wiki/Quantum_error_correction" title="Quantum error correction">quantum error correction</a>, see <a href="/wiki/ZX-calculus" title="ZX-calculus">ZX-calculus</a></li> <li><a href="/wiki/Natural_language_processing" title="Natural language processing">Natural language processing</a>, see <a href="/wiki/DisCoCat" title="DisCoCat">DisCoCat</a></li> <li><a href="/wiki/Quantum_natural_language_processing" title="Quantum natural language processing">Quantum natural language processing</a></li></ul> <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=String_diagram&amp;action=edit&amp;section=12" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Proof_net" title="Proof net">Proof nets</a>, a generalisation of string diagrams used to denote proofs in <a href="/wiki/Linear_logic" title="Linear logic">linear logic</a></li> <li><a href="/wiki/Existential_graphs" class="mw-redirect" title="Existential graphs">Existential graphs</a>, a precursor of string diagrams used to denote formulae in <a href="/wiki/First-order_logic" title="First-order logic">first-order logic</a></li> <li><a href="/wiki/Penrose_graphical_notation" title="Penrose graphical notation">Penrose graphical notation</a> and <a href="/wiki/Feynman_diagram" title="Feynman diagram">Feynman diagrams</a>, two precursors of string diagrams in physics</li> <li><a href="/wiki/Tensor_network" title="Tensor network">Tensor networks</a>, the interpretation of string diagrams in <a href="/wiki/Vector_space" title="Vector space">vector spaces</a>, <a href="/wiki/Linear_map" title="Linear map">linear maps</a> and <a href="/wiki/Tensor_product" title="Tensor product">tensor product</a></li></ul> <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=String_diagram&amp;action=edit&amp;section=13" title="Edit section: References"><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 mw-references-columns"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><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="CITEREFHotz1965" class="citation journal cs1">Hotz, Günter (1965). "Eine Algebraisierung des Syntheseproblems von Schaltkreisen I.". <i>Elektronische Informationsverarbeitung und Kybernetik</i>. <b>1</b> (3): 185–205.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Elektronische+Informationsverarbeitung+und+Kybernetik&amp;rft.atitle=Eine+Algebraisierung+des+Syntheseproblems+von+Schaltkreisen+I.&amp;rft.volume=1&amp;rft.issue=3&amp;rft.pages=185-205&amp;rft.date=1965&amp;rft.aulast=Hotz&amp;rft.aufirst=G%C3%BCnter&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPenrose1971" class="citation journal cs1">Penrose, Roger (1971). <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:DYClJiWzIJQJ:scholar.google.com/&amp;output=citation&amp;scisdr=CgXswJALEJT6ufwbECU:AAGBfm0AAAAAY2odCCW7hYhwtWjn35RhUaHM9aZA6tiD&amp;scisig=AAGBfm0AAAAAY2odCANHUoew7LZP05UGFPOFP2IA4Syr&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en">"Applications of negative dimensional tensors"</a>. <i>Combinatorial Mathematics and Its Applications</i>. <b>1</b>: 221–244.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Combinatorial+Mathematics+and+Its+Applications&amp;rft.atitle=Applications+of+negative+dimensional+tensors&amp;rft.volume=1&amp;rft.pages=221-244&amp;rft.date=1971&amp;rft.aulast=Penrose&amp;rft.aufirst=Roger&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3ADYClJiWzIJQJ%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgXswJALEJT6ufwbECU%3AAAGBfm0AAAAAY2odCCW7hYhwtWjn35RhUaHM9aZA6tiD%26scisig%3DAAGBfm0AAAAAY2odCANHUoew7LZP05UGFPOFP2IA4Syr%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBaezStay2011" class="citation cs2">Baez, J.; Stay, M. (2011), Coecke, Bob (ed.), <a rel="nofollow" class="external text" href="https://doi.org/10.1007/978-3-642-12821-9_2">"Physics, Topology, Logic and Computation: A Rosetta Stone"</a>, <i>New Structures for Physics</i>, Lecture Notes in Physics, vol.&#160;813, Berlin, Heidelberg: Springer, pp.&#160;95–172, <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/0903.0340">0903.0340</a></span>, <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2011LNP...813...95B">2011LNP...813...95B</a>, <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-12821-9_2">10.1007/978-3-642-12821-9_2</a>, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-642-12821-9" title="Special:BookSources/978-3-642-12821-9"><bdi>978-3-642-12821-9</bdi></a>, <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:115169297">115169297</a><span class="reference-accessdate">, retrieved <span class="nowrap">2022-11-08</span></span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=New+Structures+for+Physics&amp;rft.atitle=Physics%2C+Topology%2C+Logic+and+Computation%3A+A+Rosetta+Stone&amp;rft.volume=813&amp;rft.pages=95-172&amp;rft.date=2011&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A115169297%23id-name%3DS2CID&amp;rft_id=info%3Abibcode%2F2011LNP...813...95B&amp;rft_id=info%3Aarxiv%2F0903.0340&amp;rft_id=info%3Adoi%2F10.1007%2F978-3-642-12821-9_2&amp;rft.isbn=978-3-642-12821-9&amp;rft.aulast=Baez&amp;rft.aufirst=J.&amp;rft.au=Stay%2C+M.&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1007%2F978-3-642-12821-9_2&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJoyalStreet1991" class="citation journal cs1">Joyal, André; Street, Ross (1991). "The geometry of tensor calculus, I". <i><a href="/wiki/Advances_in_Mathematics" title="Advances in Mathematics">Advances in Mathematics</a></i>. <b>88</b> (1): 55–112. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0001-8708%2891%2990003-P">10.1016/0001-8708(91)90003-P</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Advances+in+Mathematics&amp;rft.atitle=The+geometry+of+tensor+calculus%2C+I&amp;rft.volume=88&amp;rft.issue=1&amp;rft.pages=55-112&amp;rft.date=1991&amp;rft_id=info%3Adoi%2F10.1016%2F0001-8708%2891%2990003-P&amp;rft.aulast=Joyal&amp;rft.aufirst=Andr%C3%A9&amp;rft.au=Street%2C+Ross&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://angg.twu.net/categories-2017may02.html#.1">"Categories: History of string diagrams (thread, 2017may02-...)"</a>. <i>angg.twu.net</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2022-11-11</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=angg.twu.net&amp;rft.atitle=Categories%3A+History+of+string+diagrams+%28thread%2C+2017may02-...%29&amp;rft_id=http%3A%2F%2Fangg.twu.net%2Fcategories-2017may02.html%23.1&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBradyTrimble2000" class="citation journal cs1">Brady, Geraldine; Trimble, Todd H (2000). <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:z17ig3wfQZ0J:scholar.google.com/&amp;output=citation&amp;scisdr=CgXswJALEJT6ufwi7EM:AAGBfm0AAAAAY2ok9ENrthZYwCuLljH9jsSEukPjkBaE&amp;scisig=AAGBfm0AAAAAY2ok9MQgwqWjQgHWkelw5gGb82nKMBSR&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en">"A categorical interpretation of CS Peirce's propositional logic Alpha"</a>. <i>Journal of Pure and Applied Algebra</i>. <b>149</b> (3): 213–239. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0022-4049%2898%2900179-0">10.1016/S0022-4049(98)00179-0</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Journal+of+Pure+and+Applied+Algebra&amp;rft.atitle=A+categorical+interpretation+of+CS+Peirce%27s+propositional+logic+Alpha&amp;rft.volume=149&amp;rft.issue=3&amp;rft.pages=213-239&amp;rft.date=2000&amp;rft_id=info%3Adoi%2F10.1016%2FS0022-4049%2898%2900179-0&amp;rft.aulast=Brady&amp;rft.aufirst=Geraldine&amp;rft.au=Trimble%2C+Todd+H&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3Az17ig3wfQZ0J%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgXswJALEJT6ufwi7EM%3AAAGBfm0AAAAAY2ok9ENrthZYwCuLljH9jsSEukPjkBaE%26scisig%3DAAGBfm0AAAAAY2ok9MQgwqWjQgHWkelw5gGb82nKMBSR%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHaydonSobociński2020" class="citation journal cs1">Haydon, Nathan; Sobociński, Pawe\l (2020). <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:pd5MrLoLfLQJ:scholar.google.com/&amp;output=citation&amp;scisdr=CgXswJALEJT6ufwgXcs:AAGBfm0AAAAAY2omRcs9kaERdk6UxEg_v331hutAjGXP&amp;scisig=AAGBfm0AAAAAY2omRSLM2O_mGNH9sYDVO1ThNJZEohlv&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en">"Compositional diagrammatic first-order logic"</a>. <i>International Conference on Theory and Application of Diagrams</i>. Springer: 402–418.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=International+Conference+on+Theory+and+Application+of+Diagrams&amp;rft.atitle=Compositional+diagrammatic+first-order+logic&amp;rft.pages=402-418&amp;rft.date=2020&amp;rft.aulast=Haydon&amp;rft.aufirst=Nathan&amp;rft.au=Soboci%C5%84ski%2C+Pawe%5Cl&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3Apd5MrLoLfLQJ%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgXswJALEJT6ufwgXcs%3AAAGBfm0AAAAAY2omRcs9kaERdk6UxEg_v331hutAjGXP%26scisig%3DAAGBfm0AAAAAY2omRSLM2O_mGNH9sYDVO1ThNJZEohlv%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJoyalStreet1988" class="citation journal cs1">Joyal, André; Street, Ross (1988). <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:TfFDpTlfWZUJ:scholar.google.com/&amp;output=citation&amp;scisdr=CgXswJALEJT6ufw-rGM:AAGBfm0AAAAAY2o4tGPckoYZUFk0JBWaKD3cW6bJqMhy&amp;scisig=AAGBfm0AAAAAY2o4tLofCCFsCbKd5Kt7puVkFPptvnYP&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en">"Planar diagrams and tensor algebra"</a>. <i>Unpublished Manuscript, Available from Ross Street's Website</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Unpublished+Manuscript%2C+Available+from+Ross+Street%27s+Website&amp;rft.atitle=Planar+diagrams+and+tensor+algebra&amp;rft.date=1988&amp;rft.aulast=Joyal&amp;rft.aufirst=Andr%C3%A9&amp;rft.au=Street%2C+Ross&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3ATfFDpTlfWZUJ%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgXswJALEJT6ufw-rGM%3AAAGBfm0AAAAAY2o4tGPckoYZUFk0JBWaKD3cW6bJqMhy%26scisig%3DAAGBfm0AAAAAY2o4tLofCCFsCbKd5Kt7puVkFPptvnYP%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFVicaryDelpeuch2022" class="citation journal cs1">Vicary, Jamie; Delpeuch, Antonin (2022). <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:0hLKQDlelEoJ:scholar.google.com/&amp;output=citation&amp;scisdr=CgUx7uJgEJT6uf2E8kc:AAGBfm0AAAAAY2uC6kfyvrxaZKIUNsmStrSSEtivNgu3&amp;scisig=AAGBfm0AAAAAY2uC6qabf-0CYsEHJcuQFVW5JfUgn5rm&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en">"Normalization for planar string diagrams and a quadratic equivalence algorithm"</a>. <i>Logical Methods in Computer Science</i>. <b>18</b>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Logical+Methods+in+Computer+Science&amp;rft.atitle=Normalization+for+planar+string+diagrams+and+a+quadratic+equivalence+algorithm&amp;rft.volume=18&amp;rft.date=2022&amp;rft.aulast=Vicary&amp;rft.aufirst=Jamie&amp;rft.au=Delpeuch%2C+Antonin&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3A0hLKQDlelEoJ%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgUx7uJgEJT6uf2E8kc%3AAAGBfm0AAAAAY2uC6kfyvrxaZKIUNsmStrSSEtivNgu3%26scisig%3DAAGBfm0AAAAAY2uC6qabf-0CYsEHJcuQFVW5JfUgn5rm%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-:0-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-:0_10-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSelinger2010" class="citation cs2">Selinger, Peter (2010), <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:QQAiC8FDpEkJ:scholar.google.com/&amp;output=citation&amp;scisdr=CgXswJALEJT6ufwkDl8:AAGBfm0AAAAAY2oiFl-xbrK6Yvmdu1pm4UTxzjcsBmsI&amp;scisig=AAGBfm0AAAAAY2oiFirf9Jw73lkbjf_-NmQG8dYgwrYj&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en">"A survey of graphical languages for monoidal categories"</a>, <i>New structures for physics</i>, Springer, pp.&#160;289–355<span class="reference-accessdate">, retrieved <span class="nowrap">2022-11-08</span></span></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=New+structures+for+physics&amp;rft.atitle=A+survey+of+graphical+languages+for+monoidal+categories&amp;rft.pages=289-355&amp;rft.date=2010&amp;rft.aulast=Selinger&amp;rft.aufirst=Peter&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3AQQAiC8FDpEkJ%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgXswJALEJT6ufwkDl8%3AAAGBfm0AAAAAY2oiFl-xbrK6Yvmdu1pm4UTxzjcsBmsI%26scisig%3DAAGBfm0AAAAAY2oiFirf9Jw73lkbjf_-NmQG8dYgwrYj%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAbramsky1996" class="citation journal cs1">Abramsky, Samson (1996). <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:2ZQv_XcOfWIJ:scholar.google.com/&amp;output=citation&amp;scisdr=CgUx7uJgEJT6uf2JddA:AAGBfm0AAAAAY2uPbdDaGQFHHjZkHLuzjXJ1-TWNxoAi&amp;scisig=AAGBfm0AAAAAY2uPbXS9abvbrYityk1sYnsz4q1NFzDl&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en">"Retracing some paths in process algebra"</a>. <i>International Conference on Concurrency Theory</i>. Springer: 1–17.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=International+Conference+on+Concurrency+Theory&amp;rft.atitle=Retracing+some+paths+in+process+algebra&amp;rft.pages=1-17&amp;rft.date=1996&amp;rft.aulast=Abramsky&amp;rft.aufirst=Samson&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3A2ZQv_XcOfWIJ%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgUx7uJgEJT6uf2JddA%3AAAGBfm0AAAAAY2uPbdDaGQFHHjZkHLuzjXJ1-TWNxoAi%26scisig%3DAAGBfm0AAAAAY2uPbXS9abvbrYityk1sYnsz4q1NFzDl%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFongSpivakTuyéras2019" class="citation arxiv cs1">Fong, Brendan; Spivak, David I.; Tuyéras, Rémy (2019-05-01). "Backprop as Functor: A compositional perspective on supervised learning". <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1711.10455">1711.10455</a></span> [<a rel="nofollow" class="external text" href="https://arxiv.org/archive/math.CT">math.CT</a>].</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=preprint&amp;rft.jtitle=arXiv&amp;rft.atitle=Backprop+as+Functor%3A+A+compositional+perspective+on+supervised+learning&amp;rft.date=2019-05-01&amp;rft_id=info%3Aarxiv%2F1711.10455&amp;rft.aulast=Fong&amp;rft.aufirst=Brendan&amp;rft.au=Spivak%2C+David+I.&amp;rft.au=Tuy%C3%A9ras%2C+R%C3%A9my&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFGhaniHedgesWinschelZahn2018" class="citation book cs1">Ghani, Neil; Hedges, Jules; Winschel, Viktor; Zahn, Philipp (2018). "Compositional Game Theory". <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:LGUG3U6Bp-kJ:scholar.google.com/&amp;output=citation&amp;scisdr=CgUx7uJgEJT6uf13NIw:AAGBfm0AAAAAY2txLIzGMVUpg6_ihwN2dU8PIuIpMG-4&amp;scisig=AAGBfm0AAAAAY2txLO2TG0gZXx2xxpt2AfWUrr5KIziD&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en"><i>Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science</i></a>. pp.&#160;472–481. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F3209108.3209165">10.1145/3209108.3209165</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9781450355834" title="Special:BookSources/9781450355834"><bdi>9781450355834</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:17887510">17887510</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Compositional+Game+Theory&amp;rft.btitle=Proceedings+of+the+33rd+Annual+ACM%2FIEEE+Symposium+on+Logic+in+Computer+Science&amp;rft.pages=472-481&amp;rft.date=2018&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A17887510%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1145%2F3209108.3209165&amp;rft.isbn=9781450355834&amp;rft.aulast=Ghani&amp;rft.aufirst=Neil&amp;rft.au=Hedges%2C+Jules&amp;rft.au=Winschel%2C+Viktor&amp;rft.au=Zahn%2C+Philipp&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3ALGUG3U6Bp-kJ%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgUx7uJgEJT6uf13NIw%3AAAGBfm0AAAAAY2txLIzGMVUpg6_ihwN2dU8PIuIpMG-4%26scisig%3DAAGBfm0AAAAAY2txLO2TG0gZXx2xxpt2AfWUrr5KIziD%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCoeckeSpekkens2012" class="citation journal cs1">Coecke, Bob; Spekkens, Robert W (2012). <a rel="nofollow" class="external text" href="https://scholar.googleusercontent.com/scholar.bib?q=info:eNWS7IuaOWYJ:scholar.google.com/&amp;output=citation&amp;scisdr=CgUx7uJgEJT6uf2Iuqs:AAGBfm0AAAAAY2uOoqt0qaPzhZqEbOoYRpydAyZvbF0g&amp;scisig=AAGBfm0AAAAAY2uOomzjHno-ePkhrJB3WfamgsIs3Jwg&amp;scisf=4&amp;ct=citation&amp;cd=-1&amp;hl=en">"Picturing classical and quantum Bayesian inference"</a>. <i>Synthese</i>. <b>186</b> (3): 651–696. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1102.2368">1102.2368</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs11229-011-9917-5">10.1007/s11229-011-9917-5</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:3736082">3736082</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Synthese&amp;rft.atitle=Picturing+classical+and+quantum+Bayesian+inference&amp;rft.volume=186&amp;rft.issue=3&amp;rft.pages=651-696&amp;rft.date=2012&amp;rft_id=info%3Aarxiv%2F1102.2368&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A3736082%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1007%2Fs11229-011-9917-5&amp;rft.aulast=Coecke&amp;rft.aufirst=Bob&amp;rft.au=Spekkens%2C+Robert+W&amp;rft_id=https%3A%2F%2Fscholar.googleusercontent.com%2Fscholar.bib%3Fq%3Dinfo%3AeNWS7IuaOWYJ%3Ascholar.google.com%2F%26output%3Dcitation%26scisdr%3DCgUx7uJgEJT6uf2Iuqs%3AAAGBfm0AAAAAY2uOoqt0qaPzhZqEbOoYRpydAyZvbF0g%26scisig%3DAAGBfm0AAAAAY2uOomzjHno-ePkhrJB3WfamgsIs3Jwg%26scisf%3D4%26ct%3Dcitation%26cd%3D-1%26hl%3Den&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSignorelliWangCoecke2021" class="citation journal cs1">Signorelli, Camilo Miguel; Wang, Quanlong; Coecke, Bob (2021-10-01). <a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.concog.2021.103168">"Reasoning about conscious experience with axiomatic and graphical mathematics"</a>. <i>Consciousness and Cognition</i>. <b>95</b>: 103168. <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.1016%2Fj.concog.2021.103168">10.1016/j.concog.2021.103168</a></span>. <a href="/wiki/Hdl_(identifier)" class="mw-redirect" title="Hdl (identifier)">hdl</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://hdl.handle.net/10230%2F53097">10230/53097</a></span>. <a href="/wiki/ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a>&#160;<a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/1053-8100">1053-8100</a>. <a href="/wiki/PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&#160;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/34627099">34627099</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:235683270">235683270</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Consciousness+and+Cognition&amp;rft.atitle=Reasoning+about+conscious+experience+with+axiomatic+and+graphical+mathematics&amp;rft.volume=95&amp;rft.pages=103168&amp;rft.date=2021-10-01&amp;rft_id=info%3Ahdl%2F10230%2F53097&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A235683270%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1016%2Fj.concog.2021.103168&amp;rft.issn=1053-8100&amp;rft_id=info%3Apmid%2F34627099&amp;rft.aulast=Signorelli&amp;rft.aufirst=Camilo+Miguel&amp;rft.au=Wang%2C+Quanlong&amp;rft.au=Coecke%2C+Bob&amp;rft_id=https%3A%2F%2Fdoi.org%2F10.1016%252Fj.concog.2021.103168&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFFritz2020" class="citation journal cs1">Fritz, Tobias (August 2020). "A synthetic approach to Markov kernels, conditional independence and theorems on sufficient statistics". <i><a href="/wiki/Advances_in_Mathematics" title="Advances in Mathematics">Advances in Mathematics</a></i>. <b>370</b>: 107239. <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1908.07021">1908.07021</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.aim.2020.107239">10.1016/j.aim.2020.107239</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:201103837">201103837</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Advances+in+Mathematics&amp;rft.atitle=A+synthetic+approach+to+Markov+kernels%2C+conditional+independence+and+theorems+on+sufficient+statistics&amp;rft.volume=370&amp;rft.pages=107239&amp;rft.date=2020-08&amp;rft_id=info%3Aarxiv%2F1908.07021&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A201103837%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1016%2Fj.aim.2020.107239&amp;rft.aulast=Fritz&amp;rft.aufirst=Tobias&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBonchiSobocińskiZanasi2014" class="citation book cs1 cs1-prop-long-vol">Bonchi, Filippo; Sobociński, Pawel; Zanasi, Fabio (September 2014). <a rel="nofollow" class="external text" href="https://hal.archives-ouvertes.fr/hal-02134182">"A Categorical Semantics of Signal Flow Graphs"</a>. <i>CONCUR 2014 – Concurrency Theory</i>. Lecture Notes in Computer Science. Vol.&#160;CONCUR 2014 - Concurrency Theory - 25th International Conference. Rome, Italy. pp.&#160;435–450. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-662-44584-6_30">10.1007/978-3-662-44584-6_30</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-662-44583-9" title="Special:BookSources/978-3-662-44583-9"><bdi>978-3-662-44583-9</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:18492893">18492893</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=A+Categorical+Semantics+of+Signal+Flow+Graphs&amp;rft.btitle=CONCUR+2014+%E2%80%93+Concurrency+Theory&amp;rft.place=Rome%2C+Italy&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.pages=435-450&amp;rft.date=2014-09&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A18492893%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1007%2F978-3-662-44584-6_30&amp;rft.isbn=978-3-662-44583-9&amp;rft.aulast=Bonchi&amp;rft.aufirst=Filippo&amp;rft.au=Soboci%C5%84ski%2C+Pawel&amp;rft.au=Zanasi%2C+Fabio&amp;rft_id=https%3A%2F%2Fhal.archives-ouvertes.fr%2Fhal-02134182&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_book" title="Template:Cite book">cite book</a>}}</code>: CS1 maint: location missing publisher (<a href="/wiki/Category:CS1_maint:_location_missing_publisher" title="Category:CS1 maint: location missing publisher">link</a>)</span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBonchiSeeberSobocinski2018" class="citation arxiv cs1">Bonchi, Filippo; Seeber, Jens; Sobocinski, Pawel (2018-04-20). "Graphical Conjunctive Queries". <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1804.07626">1804.07626</a></span> [<a rel="nofollow" class="external text" href="https://arxiv.org/archive/cs.LO">cs.LO</a>].</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=preprint&amp;rft.jtitle=arXiv&amp;rft.atitle=Graphical+Conjunctive+Queries&amp;rft.date=2018-04-20&amp;rft_id=info%3Aarxiv%2F1804.07626&amp;rft.aulast=Bonchi&amp;rft.aufirst=Filippo&amp;rft.au=Seeber%2C+Jens&amp;rft.au=Sobocinski%2C+Pawel&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFRiley2018" class="citation arxiv cs1">Riley, Mitchell (2018). "Categories of optics". <a href="/wiki/ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1809.00738">1809.00738</a></span> [<a rel="nofollow" class="external text" href="https://arxiv.org/archive/math.CT">math.CT</a>].</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=preprint&amp;rft.jtitle=arXiv&amp;rft.atitle=Categories+of+optics&amp;rft.date=2018&amp;rft_id=info%3Aarxiv%2F1809.00738&amp;rft.aulast=Riley&amp;rft.aufirst=Mitchell&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></span> </li> </ol></div></div> <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=String_diagram&amp;action=edit&amp;section=14" title="Edit section: External links"><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 class="citation audio-visual cs1">TheCatsters (2007). <a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=USYRDDZ9yEc"><i>String diagrams 1</i></a> <span class="cs1-format">(streamed video)</span>. Youtube. <a rel="nofollow" class="external text" href="https://ghostarchive.org/varchive/youtube/20211219/USYRDDZ9yEc">Archived</a> from the original on 2021-12-19.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=String+diagrams+1&amp;rft.pub=Youtube&amp;rft.date=2007&amp;rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DUSYRDDZ9yEc&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AString+diagram" class="Z3988"></span></li> <li><a rel="nofollow" class="external text" href="https://ncatlab.org/nlab/show/string+diagram">String diagrams</a> at the <a href="/wiki/NLab" title="NLab"><i>n</i>Lab</a></li> <li><a rel="nofollow" class="external text" href="https://discopy.readthedocs.org/">DisCoPy</a>, a Python toolkit for computing with string diagrams</li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links_2">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=String_diagram&amp;action=edit&amp;section=15" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Commons-logo.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png" decoding="async" width="12" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/24px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></a></span> Media related to <a href="https://commons.wikimedia.org/wiki/Category:String_diagram" class="extiw" title="commons:Category:String diagram">String diagram</a> at Wikimedia Commons</li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Category_theory" style="padding:3px"><table class="nowraplinks hlist mw-collapsible uncollapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Category_theory" title="Template:Category theory"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Category_theory" title="Template talk:Category theory"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Category_theory" title="Special:EditPage/Template:Category theory"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Category_theory" style="font-size:114%;margin:0 4em"><a href="/wiki/Category_theory" title="Category theory">Category theory</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible uncollapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2" style="background:#e5e5ff;"><div id="Key_concepts" style="font-size:114%;margin:0 4em">Key concepts</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Key concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Category_(mathematics)" title="Category (mathematics)">Category</a> <ul><li><a href="/wiki/Abelian_category" title="Abelian category">Abelian</a></li> <li><a href="/wiki/Additive_category" title="Additive category">Additive</a></li> <li><a href="/wiki/Concrete_category" title="Concrete category">Concrete</a></li> <li><a href="/wiki/Pre-abelian_category" title="Pre-abelian category">Pre-abelian</a></li> <li><a href="/wiki/Preadditive_category" title="Preadditive category">Preadditive</a></li> <li><a href="/wiki/Bicategory" title="Bicategory">Bicategory</a></li></ul></li> <li><a href="/wiki/Adjoint_functors" title="Adjoint functors">Adjoint functors</a></li> <li><a href="/wiki/Cartesian_closed_category" title="Cartesian closed category">CCC</a></li> <li><a href="/wiki/Commutative_diagram" title="Commutative diagram">Commutative diagram</a></li> <li><a href="/wiki/End_(category_theory)" title="End (category theory)">End</a></li> <li><a href="/wiki/Exponential_object" title="Exponential object">Exponential</a></li> <li><a href="/wiki/Functor" title="Functor">Functor</a></li> <li><a href="/wiki/Kan_extension" title="Kan extension">Kan extension</a></li> <li><a href="/wiki/Morphism" title="Morphism">Morphism</a></li> <li><a href="/wiki/Natural_transformation" title="Natural transformation">Natural transformation</a></li> <li><a href="/wiki/Universal_property" title="Universal property">Universal property</a></li> <li><a href="/wiki/Yoneda_lemma" title="Yoneda lemma">Yoneda lemma</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Universal_construction" class="mw-redirect" title="Universal construction">Universal constructions</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Limit_(category_theory)" title="Limit (category theory)">Limits</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Initial_and_terminal_objects" title="Initial and terminal objects">Terminal objects</a></li> <li><a href="/wiki/Product_(category_theory)" title="Product (category theory)">Products</a></li> <li><a href="/wiki/Equaliser_(mathematics)" title="Equaliser (mathematics)">Equalizers</a> <ul><li><a href="/wiki/Kernel_(category_theory)" title="Kernel (category theory)">Kernels</a></li></ul></li> <li><a href="/wiki/Pullback_(category_theory)" title="Pullback (category theory)">Pullbacks</a></li> <li><a href="/wiki/Inverse_limit" title="Inverse limit">Inverse limit</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Colimit" class="mw-redirect" title="Colimit">Colimits</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Initial_and_terminal_objects" title="Initial and terminal objects">Initial objects</a></li> <li><a href="/wiki/Coproduct" title="Coproduct">Coproducts</a></li> <li><a href="/wiki/Coequalizer" title="Coequalizer">Coequalizers</a> <ul><li><a href="/wiki/Cokernel" title="Cokernel">Cokernels and quotients</a></li></ul></li> <li><a href="/wiki/Pushout_(category_theory)" title="Pushout (category theory)">Pushout</a></li> <li><a href="/wiki/Direct_limit" title="Direct limit">Direct limit</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Algebraic_category" class="mw-redirect" title="Algebraic category">Algebraic categories</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Category_of_sets" title="Category of sets">Sets</a></li> <li><a href="/wiki/Category_of_relations" title="Category of relations">Relations</a></li> <li><a href="/wiki/Category_of_magmas" class="mw-redirect" title="Category of magmas">Magmas</a></li> <li><a href="/wiki/Category_of_groups" title="Category of groups">Groups</a></li> <li><a href="/wiki/Category_of_abelian_groups" title="Category of abelian groups">Abelian groups</a></li> <li><a href="/wiki/Category_of_rings" title="Category of rings">Rings</a> (<a href="/wiki/Category_of_rings#Category_of_fields" title="Category of rings">Fields</a>)</li> <li><a href="/wiki/Category_of_modules" title="Category of modules">Modules</a> (<a href="/wiki/Category_of_modules#Example:_the_category_of_vector_spaces" title="Category of modules">Vector spaces</a>)</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Constructions on categories</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Free_category" title="Free category">Free category</a></li> <li><a href="/wiki/Functor_category" title="Functor category">Functor category</a></li> <li><a href="/wiki/Kleisli_category" title="Kleisli category">Kleisli category</a></li> <li><a href="/wiki/Opposite_category" title="Opposite category">Opposite category</a></li> <li><a href="/wiki/Quotient_category" title="Quotient category">Quotient category</a></li> <li><a href="/wiki/Product_category" title="Product category">Product category</a></li> <li><a href="/wiki/Comma_category" title="Comma category">Comma category</a></li> <li><a href="/wiki/Subcategory" title="Subcategory">Subcategory</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="2" style="width:1px;padding:0 0 0 2px"><div><span class="skin-invert" typeof="mw:File"><a href="/wiki/Commutative_diagram" title="Commutative diagram"><img alt="A simple triangular commutative diagram" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Commutative_diagram_for_morphism.svg/60px-Commutative_diagram_for_morphism.svg.png" decoding="async" width="60" height="60" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Commutative_diagram_for_morphism.svg/90px-Commutative_diagram_for_morphism.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Commutative_diagram_for_morphism.svg/120px-Commutative_diagram_for_morphism.svg.png 2x" data-file-width="100" data-file-height="100" /></a></span></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2" style="background:#e5e5ff;"><div id="Higher_category_theory" style="font-size:114%;margin:0 4em"><a href="/wiki/Higher_category_theory" title="Higher category theory">Higher category theory</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li class="mw-empty-elt"></li></ul></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Key concepts</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <li><a href="/wiki/Categorification" title="Categorification">Categorification</a></li> <li><a href="/wiki/Enriched_category" title="Enriched category">Enriched category</a></li> <li><a href="/wiki/Higher-dimensional_algebra" title="Higher-dimensional algebra">Higher-dimensional algebra</a></li> <li><a href="/wiki/Homotopy_hypothesis" title="Homotopy hypothesis">Homotopy hypothesis</a></li> <li><a href="/wiki/Model_category" title="Model category">Model category</a></li> <li><a href="/wiki/Simplex_category" title="Simplex category">Simplex category</a></li> <li><a class="mw-selflink selflink">String diagram</a></li> <li><a href="/wiki/Topos" title="Topos">Topos</a></li> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">n-categories</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Weak_n-category" title="Weak n-category">Weak <var style="padding-right: 1px;">n</var>-categories</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bicategory" title="Bicategory">Bicategory</a> (<a href="/wiki/Pseudo-functor" title="Pseudo-functor">pseudofunctor</a>)</li> <li><a href="/wiki/Tricategory" title="Tricategory">Tricategory</a></li> <li><a href="/wiki/Tetracategory" title="Tetracategory">Tetracategory</a></li> <li><a href="/wiki/Quasi-category" title="Quasi-category">Kan complex</a></li> <li><a href="/wiki/%E2%88%9E-groupoid" title="∞-groupoid">∞-groupoid</a></li> <li><a href="/wiki/%E2%88%9E-topos" title="∞-topos">∞-topos</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Strict_n-category" class="mw-redirect" title="Strict n-category">Strict <var style="padding-right: 1px;">n</var>-categories</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Strict_2-category" title="Strict 2-category">2-category</a> (<a href="/wiki/2-functor" title="2-functor">2-functor</a>)</li> <li><a href="/wiki/3-category" class="mw-redirect" title="3-category">3-category</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Categorification" title="Categorification">Categorified</a> concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/2-group" title="2-group">2-group</a></li> <li><a href="/wiki/2-ring" title="2-ring">2-ring</a></li> <li><a href="/wiki/En-ring" title="En-ring"><i>E<sub>n</sub></i>-ring</a></li> <li>(<a href="/wiki/Traced_monoidal_category" title="Traced monoidal category">Traced</a>)(<a href="/wiki/Symmetric_monoidal_category" title="Symmetric monoidal category">Symmetric</a>) <a href="/wiki/Monoidal_category" title="Monoidal category">monoidal category</a></li> <li><a href="/wiki/N-group_(category_theory)" title="N-group (category theory)">n-group</a></li> <li><a href="/wiki/N-monoid" title="N-monoid">n-monoid</a></li></ul> </div></td></tr></tbody></table><div> </div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow" colspan="3" style="font-weight:bold;"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Category:Category_theory" title="Category:Category theory">Category</a></li> <li><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-Symbol_list_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-Symbol_list_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-Symbol_list_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Outline_of_category_theory" title="Outline of category theory">Outline</a></li> <li><span class="noviewer" typeof="mw:File"><span title="List-Class article"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/16px-Symbol_list_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/23px-Symbol_list_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/d/db/Symbol_list_class.svg/31px-Symbol_list_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Glossary_of_category_theory" title="Glossary of category theory">Glossary</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐6c8dfcb594‐w8vmp Cached time: 20241126223144 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.502 seconds Real time usage: 0.759 seconds Preprocessor visited node count: 2216/1000000 Post‐expand include size: 94686/2097152 bytes Template argument size: 362/2097152 bytes Highest expansion depth: 11/100 Expensive parser function count: 1/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 93431/5000000 bytes Lua time usage: 0.257/10.000 seconds Lua memory usage: 4187467/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 420.189 1 -total 49.69% 208.774 1 Template:Reflist 31.25% 131.304 11 Template:Cite_journal 26.11% 109.725 1 Template:Category_theory 25.56% 107.395 1 Template:Navbox_with_collapsible_groups 8.92% 37.477 3 Template:Multiple_image 7.93% 33.309 1 Template:Commons_category-inline 7.55% 31.726 1 Template:Sister-inline 4.35% 18.289 3 Template:Cite_arXiv 3.25% 13.649 4 Template:Navbox --> <!-- Saved in parser cache with key enwiki:pcache:idhash:3967296-0!canonical and timestamp 20241126223144 and revision id 1222282077. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=String_diagram&amp;oldid=1222282077">https://en.wikipedia.org/w/index.php?title=String_diagram&amp;oldid=1222282077</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:Higher_category_theory" title="Category:Higher category theory">Higher category theory</a></li><li><a href="/wiki/Category:Monoidal_categories" title="Category:Monoidal categories">Monoidal categories</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_maint:_location_missing_publisher" title="Category:CS1 maint: location missing publisher">CS1 maint: location missing publisher</a></li><li><a href="/wiki/Category:CS1:_long_volume_value" title="Category:CS1: long volume value">CS1: long volume value</a></li><li><a href="/wiki/Category:Commons_category_link_from_Wikidata" title="Category:Commons category link from Wikidata">Commons category link from 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 5 May 2024, at 01:29<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=String_diagram&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-57488d5c7d-zkt5h","wgBackendResponseTime":225,"wgPageParseReport":{"limitreport":{"cputime":"0.502","walltime":"0.759","ppvisitednodes":{"value":2216,"limit":1000000},"postexpandincludesize":{"value":94686,"limit":2097152},"templateargumentsize":{"value":362,"limit":2097152},"expansiondepth":{"value":11,"limit":100},"expensivefunctioncount":{"value":1,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":93431,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 420.189 1 -total"," 49.69% 208.774 1 Template:Reflist"," 31.25% 131.304 11 Template:Cite_journal"," 26.11% 109.725 1 Template:Category_theory"," 25.56% 107.395 1 Template:Navbox_with_collapsible_groups"," 8.92% 37.477 3 Template:Multiple_image"," 7.93% 33.309 1 Template:Commons_category-inline"," 7.55% 31.726 1 Template:Sister-inline"," 4.35% 18.289 3 Template:Cite_arXiv"," 3.25% 13.649 4 Template:Navbox"]},"scribunto":{"limitreport-timeusage":{"value":"0.257","limit":"10.000"},"limitreport-memusage":{"value":4187467,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-6c8dfcb594-w8vmp","timestamp":"20241126223144","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"String diagram","url":"https:\/\/en.wikipedia.org\/wiki\/String_diagram","sameAs":"http:\/\/www.wikidata.org\/entity\/Q7623974","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q7623974","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":"2006-02-05T13:19:42Z","dateModified":"2024-05-05T01:29:42Z","headline":"graphical representation of a morphism"}</script> </body> </html>

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