CINXE.COM

category in nLab

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> category in nLab </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="robots" content="index,follow" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link href="/stylesheets/instiki.css?1676280126" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/mathematics.css?1660229990" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/syntax.css?1660229990" media="all" rel="stylesheet" type="text/css" /> <link href="/stylesheets/nlab.css?1676280126" media="all" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/dreampulse/computer-modern-web-font@master/fonts.css"/> <style type="text/css"> h1#pageName, div.info, .newWikiWord a, a.existingWikiWord, .newWikiWord a:hover, [actiontype="toggle"]:hover, #TextileHelp h3 { color: #226622; } a:visited.existingWikiWord { color: #164416; } </style> <style type="text/css"><!--/*--><![CDATA[/*><!--*/ .toc ul {margin: 0; padding: 0;} .toc ul ul {margin: 0; padding: 0 0 0 10px;} .toc li > p {margin: 0} .toc ul li {list-style-type: none; position: relative;} .toc div {border-top:1px dotted #ccc;} .rightHandSide h2 {font-size: 1.5em;color:#008B26} table.plaintable { border-collapse:collapse; margin-left:30px; border:0; } .plaintable td {border:1px solid #000; padding: 3px;} .plaintable th {padding: 3px;} .plaintable caption { font-weight: bold; font-size:1.1em; text-align:center; margin-left:30px; } /* Query boxes for questioning and answering mechanism */ div.query{ background: #f6fff3; border: solid #ce9; border-width: 2px 1px; padding: 0 1em; margin: 0 1em; max-height: 20em; overflow: auto; } /* Standout boxes for putting important text */ div.standout{ background: #fff1f1; border: solid black; border-width: 2px 1px; padding: 0 1em; margin: 0 1em; overflow: auto; } /* Icon for links to n-category arXiv documents (commented out for now i.e. disabled) a[href*="http://arxiv.org/"] { background-image: url(../files/arXiv_icon.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 22px; } */ /* Icon for links to n-category cafe posts (disabled) a[href*="http://golem.ph.utexas.edu/category"] { background-image: url(../files/n-cafe_5.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ /* Icon for links to pdf files (disabled) a[href$=".pdf"] { background-image: url(../files/pdficon_small.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ /* Icon for links to pages, etc. -inside- pdf files (disabled) a[href*=".pdf#"] { background-image: url(../files/pdf_entry.gif); background-repeat: no-repeat; background-position: right bottom; padding-right: 25px; } */ a.existingWikiWord { color: #226622; } a.existingWikiWord:visited { color: #226622; } a.existingWikiWord[title] { border: 0px; color: #aa0505; text-decoration: none; } a.existingWikiWord[title]:visited { border: 0px; color: #551111; text-decoration: none; } a[href^="http://"] { border: 0px; color: #003399; } a[href^="http://"]:visited { border: 0px; color: #330066; } a[href^="https://"] { border: 0px; color: #003399; } a[href^="https://"]:visited { border: 0px; color: #330066; } div.dropDown .hide { display: none; } div.dropDown:hover .hide { display:block; } div.clickDown .hide { display: none; } div.clickDown:focus { outline:none; } div.clickDown:focus .hide, div.clickDown:hover .hide { display: block; } div.clickDown .clickToReveal, div.clickDown:focus .clickToHide { display:block; } div.clickDown:focus .clickToReveal, div.clickDown .clickToHide { display:none; } div.clickDown .clickToReveal:after { content: "A(Hover to reveal, click to "hold")"; font-size: 60%; } div.clickDown .clickToHide:after { content: "A(Click to hide)"; font-size: 60%; } div.clickDown .clickToHide, div.clickDown .clickToReveal { white-space: pre-wrap; } .un_theorem, .num_theorem, .un_lemma, .num_lemma, .un_prop, .num_prop, .un_cor, .num_cor, .un_defn, .num_defn, .un_example, .num_example, .un_note, .num_note, .un_remark, .num_remark { margin-left: 1em; } span.theorem_label { margin-left: -1em; } .proof span.theorem_label { margin-left: 0em; } :target { background-color: #BBBBBB; border-radius: 5pt; } /*]]>*/--></style> <script src="/javascripts/prototype.js?1660229990" type="text/javascript"></script> <script src="/javascripts/effects.js?1660229990" type="text/javascript"></script> <script src="/javascripts/dragdrop.js?1660229990" type="text/javascript"></script> <script src="/javascripts/controls.js?1660229990" type="text/javascript"></script> <script src="/javascripts/application.js?1660229990" type="text/javascript"></script> <script src="/javascripts/page_helper.js?1660229990" type="text/javascript"></script> <script src="/javascripts/thm_numbering.js?1660229990" type="text/javascript"></script> <script type="text/x-mathjax-config"> <!--//--><![CDATA[//><!-- MathJax.Ajax.config.path["Contrib"] = "/MathJax"; MathJax.Hub.Config({ MathML: { useMathMLspacing: true }, "HTML-CSS": { scale: 90, extensions: ["handle-floats.js"] } }); MathJax.Hub.Queue( function () { var fos = document.getElementsByTagName('foreignObject'); for (var i = 0; i < fos.length; i++) { MathJax.Hub.Typeset(fos[i]); } }); //--><!]]> </script> <script type="text/javascript"> <!--//--><![CDATA[//><!-- window.addEventListener("DOMContentLoaded", function () { var div = document.createElement('div'); var math = document.createElementNS('http://www.w3.org/1998/Math/MathML', 'math'); document.body.appendChild(div); div.appendChild(math); // Test for MathML support comparable to WebKit version https://trac.webkit.org/changeset/203640 or higher. div.setAttribute('style', 'font-style: italic'); var mathml_unsupported = !(window.getComputedStyle(div.firstChild).getPropertyValue('font-style') === 'normal'); div.parentNode.removeChild(div); if (mathml_unsupported) { // MathML does not seem to be supported... var s = document.createElement('script'); s.src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=MML_HTMLorMML-full"; document.querySelector('head').appendChild(s); } else { document.head.insertAdjacentHTML("beforeend", '<style>svg[viewBox] {max-width: 100%}</style>'); } }); //--><!]]> </script> <link href="https://ncatlab.org/nlab/atom_with_headlines" rel="alternate" title="Atom with headlines" type="application/atom+xml" /> <link href="https://ncatlab.org/nlab/atom_with_content" rel="alternate" title="Atom with full content" type="application/atom+xml" /> <script type="text/javascript"> document.observe("dom:loaded", function() { generateThmNumbers(); }); </script> </head> <body> <div id="Container"> <div id="Content"> <h1 id="pageName"> <span style="float: left; margin: 0.5em 0.25em -0.25em 0"> <svg xmlns="http://www.w3.org/2000/svg" width="1.872em" height="1.8em" viewBox="0 0 190 181"> <path fill="#226622" d="M72.8 145c-1.6 17.3-15.7 10-23.6 20.2-5.6 7.3 4.8 15 11.4 15 11.5-.2 19-13.4 26.4-20.3 3.3-3 8.2-4 11.2-7.2a14 14 0 0 0 2.9-11.1c-1.4-9.6-12.4-18.6-16.9-27.2-5-9.6-10.7-27.4-24.1-27.7-17.4-.3-.4 26 4.7 30.7 2.4 2.3 5.4 4.1 7.3 6.9 1.6 2.3 2.1 5.8-1 7.2-5.9 2.6-12.4-6.3-15.5-10-8.8-10.6-15.5-23-26.2-31.8-5.2-4.3-11.8-8-18-3.7-7.3 4.9-4.2 12.9.2 18.5a81 81 0 0 0 30.7 23c3.3 1.5 12.8 5.6 10 10.7-2.5 5.2-11.7 3-15.6 1.1-8.4-3.8-24.3-21.3-34.4-13.7-3.5 2.6-2.3 7.6-1.2 11.1 2.8 9 12.2 17.2 20.9 20.5 17.3 6.7 34.3-8 50.8-12.1z"/> <path fill="#a41e32" d="M145.9 121.3c-.2-7.5 0-19.6-4.5-26-5.4-7.5-12.9-1-14.1 5.8-1.4 7.8 2.7 14.1 4.8 21.3 3.4 12 5.8 29-.8 40.1-3.6-6.7-5.2-13-7-20.4-2.1-8.2-12.8-13.2-15.1-1.9-2 9.7 9 21.2 12 30.1 1.2 4 2 8.8 6.4 10.3 6.9 2.3 13.3-4.7 17.7-8.8 12.2-11.5 36.6-20.7 43.4-36.4 6.7-15.7-13.7-14-21.3-7.2-9.1 8-11.9 20.5-23.6 25.1 7.5-23.7 31.8-37.6 38.4-61.4 2-7.3-.8-29.6-13-19.8-14.5 11.6-6.6 37.6-23.3 49.2z"/> <path fill="#193c78" d="M86.3 47.5c0-13-10.2-27.6-5.8-40.4 2.8-8.4 14.1-10.1 17-1 3.8 11.6-.3 26.3-1.8 38 11.7-.7 10.5-16 14.8-24.3 2.1-4.2 5.7-9.1 11-6.7 6 2.7 7.4 9.2 6.6 15.1-2.2 14-12.2 18.8-22.4 27-3.4 2.7-8 6.6-5.9 11.6 2 4.4 7 4.5 10.7 2.8 7.4-3.3 13.4-16.5 21.7-16 14.6.7 12 21.9.9 26.2-5 1.9-10.2 2.3-15.2 3.9-5.8 1.8-9.4 8.7-15.7 8.9-6.1.1-9-6.9-14.3-9-14.4-6-33.3-2-44.7-14.7-3.7-4.2-9.6-12-4.9-17.4 9.3-10.7 28 7.2 35.7 12 2 1.1 11 6.9 11.4 1.1.4-5.2-10-8.2-13.5-10-11.1-5.2-30-15.3-35-27.3-2.5-6 2.8-13.8 9.4-13.6 6.9.2 13.4 7 17.5 12C70.9 34 75 43.8 86.3 47.4z"/> </svg> </span> <span class="webName">nLab</span> category </h1> <div class="navigation"> <span class="skipNav"><a href='#navEnd'>Skip the Navigation Links</a> | </span> <span style="display:inline-block; width: 0.3em;"></span> <a href="/nlab/show/HomePage" accesskey="H" title="Home page">Home Page</a> | <a href="/nlab/all_pages" accesskey="A" title="List of all pages">All Pages</a> | <a href="/nlab/latest_revisions" accesskey="U" title="Latest edits and page creations">Latest Revisions</a> | <a href="https://nforum.ncatlab.org/discussion/8811/#Item_16" title="Discuss this page in its dedicated thread on the nForum" style="color: black">Discuss this page</a> | <form accept-charset="utf-8" action="/nlab/search" id="navigationSearchForm" method="get"> <fieldset class="search"><input type="text" id="searchField" name="query" value="Search" style="display:inline-block; float: left;" onfocus="this.value == 'Search' ? this.value = '' : true" onblur="this.value == '' ? this.value = 'Search' : true" /></fieldset> </form> <span id='navEnd'></span> </div> <div id="revision"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xml:lang="en" lang="en"> <head><meta http-equiv="Content-type" content="application/xhtml+xml;charset=utf-8" /><title>Contents</title></head> <body> <blockquote> <p>This page is about the concept in <a class="existingWikiWord" href="/nlab/show/mathematics">mathematics</a>. For the concept of the same name in <a class="existingWikiWord" href="/nlab/show/philosophy">philosophy</a> see at <em><a class="existingWikiWord" href="/nlab/show/category+%28philosophy%29">category (philosophy)</a></em>.</p> </blockquote> <div class="rightHandSide"> <div class="toc clickDown" tabindex="0"> <h3 id="context">Context</h3> <h4 id="category_theory">Category theory</h4> <div class="hide"><div> <p><strong><a class="existingWikiWord" href="/nlab/show/category+theory">category theory</a></strong></p> <h2 id="sidebar_concepts">Concepts</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/category">category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/functor">functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/natural+transformation">natural transformation</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Cat">Cat</a></p> </li> </ul> <h2 id="sidebar_universal_constructions">Universal constructions</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/universal+construction">universal construction</a></p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/representable+functor">representable functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/adjoint+functor">adjoint functor</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/limit">limit</a>/<a class="existingWikiWord" href="/nlab/show/colimit">colimit</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/weighted+limit">weighted limit</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/end">end</a>/<a class="existingWikiWord" href="/nlab/show/coend">coend</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Kan+extension">Kan extension</a></p> </li> </ul> </li> </ul> <h2 id="sidebar_theorems">Theorems</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Yoneda+lemma">Yoneda lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Isbell+duality">Isbell duality</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Grothendieck+construction">Grothendieck construction</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/adjoint+functor+theorem">adjoint functor theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monadicity+theorem">monadicity theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/adjoint+lifting+theorem">adjoint lifting theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Tannaka+duality">Tannaka duality</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Gabriel-Ulmer+duality">Gabriel-Ulmer duality</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/small+object+argument">small object argument</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Freyd-Mitchell+embedding+theorem">Freyd-Mitchell embedding theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/relation+between+type+theory+and+category+theory">relation between type theory and category theory</a></p> </li> </ul> <h2 id="sidebar_extensions">Extensions</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/sheaf+and+topos+theory">sheaf and topos theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/enriched+category+theory">enriched category theory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/higher+category+theory">higher category theory</a></p> </li> </ul> <h2 id="sidebar_applications">Applications</h2> <ul> <li><a class="existingWikiWord" href="/nlab/show/applications+of+%28higher%29+category+theory">applications of (higher) category theory</a></li> </ul> <div> <p> <a href="/nlab/edit/category+theory+-+contents">Edit this sidebar</a> </p> </div></div></div> </div> </div> <h1 id="contents">Contents</h1> <div class='maruku_toc'> <ul> <li><a href='#idea'>Idea</a></li> <li><a href='#definitions'>Definitions</a></li> <ul> <li><a href='#OneCollectionOfMorphisms'>With one collection of morphisms</a></li> <li><a href='#AFamilyOfCollectionsOfMorphisms'>With a family of collections of morphisms</a></li> <li><a href='#equivalence_between_the_two_definitions'>Equivalence between the two definitions</a></li> <li><a href='#foundations'>Foundational issues</a></li> <li><a href='#size'>Size issues</a></li> <li><a href='#alternative_definitions'>Alternative definitions</a></li> <li><a href='#EquivalenceDefinitions'>Equivalent definitions</a></li> <li><a href='#generalizations'>Generalizations</a></li> <ul> <li><a href='#internal_categories'>Internal categories</a></li> <li><a href='#enriched_categories'>Enriched categories</a></li> <li><a href='#indexed_categories'>Indexed categories</a></li> <li><a href='#multicategories_etc'>Multicategories etc.</a></li> <li><a href='#higher_categories'>Higher categories</a></li> </ul> </ul> <li><a href='#examples'>Examples</a></li> <li><a href='#basic_notions'>Basic notions</a></li> <li><a href='#related_concepts'>Related concepts</a></li> <li><a href='#references'>References</a></li> </ul> </div> <h2 id="idea">Idea</h2> <ul> <li> <p>A category consists of a collection of things and binary relationships (or transitions) between them, such that these relationships can be combined and include the “identity” relationship “is the same as.”</p> </li> <li> <p>A category is a <a class="existingWikiWord" href="/nlab/show/quiver">quiver</a> (a <a class="existingWikiWord" href="/nlab/show/directed+graph">directed graph</a> with multiple edges) with a rule saying how to <em>compose</em> two edges that fit together to get a new edge. Furthermore, each vertex has an edge starting and ending at that vertex, which acts as an identity for this composition.</p> </li> <li> <p>A category is a combinatorial model for a <a class="existingWikiWord" href="/nlab/show/directed+space">directed space</a> – a “directed <a class="existingWikiWord" href="/nlab/show/homotopy+1-type">homotopy 1-type</a>” in some sense. It has “points”, called <em>objects</em>, and also directed “paths”, or “processes” connecting these points, called <em>morphisms</em>. There is a rule for how to compose paths; and for each object there is an identity path that starts and ends there.</p> </li> <li> <p>More precisely, a category consists of a collection of <a class="existingWikiWord" href="/nlab/show/object">objects</a> and a collection of <a class="existingWikiWord" href="/nlab/show/morphism">morphisms</a>. Every morphism has a <a class="existingWikiWord" href="/nlab/show/source">source</a> object and a <a class="existingWikiWord" href="/nlab/show/target">target</a> object. If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math> is a morphism with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math> as its source and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math> as its target, we write</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>:</mo><mi>x</mi><mo>→</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">f : x \to y</annotation></semantics></math></div> <p>and we say that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math> is a morphism from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math> to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math>. In a category, we can <a class="existingWikiWord" href="/nlab/show/composition">compose</a> a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi><mo>:</mo><mi>x</mi><mo>→</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">g : x \to y</annotation></semantics></math> and a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>:</mo><mi>y</mi><mo>→</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">f : y \to z</annotation></semantics></math> to get a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>∘</mo><mi>g</mi><mo>:</mo><mi>x</mi><mo>→</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">f \circ g : x \to z</annotation></semantics></math>. Composition is associative and satisfies the left and right unit laws.</p> </li> </ul> <center> <img src="https://ncatlab.org/nlab/files/AssociativityDiagram.png" width="400" /> </center> <p>A good example to keep in mind is the category <a class="existingWikiWord" href="/nlab/show/Set">Set</a>, in which the objects are sets and a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>:</mo><mi>x</mi><mo>→</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">f : x \to y</annotation></semantics></math> is a function from the set <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math> to the set <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math>. Here composition is the usual composition of functions.</p> <p>For more background on and context for categories see</p> <ul> <li><a class="existingWikiWord" href="/nlab/show/category+theory">category theory</a>.</li> </ul> <h2 id="definitions">Definitions</h2> <p>There are two broad ways to write down the definition of category; in the usual <a class="existingWikiWord" href="/nlab/show/foundations+of+mathematics">foundations of mathematics</a>, these two definitions are equivalent. It is good to know both, for several reasons:</p> <ul> <li> <p>Each introduces its own system of notation, both of which are useful in other parts of category theory, so one should know them.</p> </li> <li> <p>One definition generalises quite nicely to the notion of <a class="existingWikiWord" href="/nlab/show/internal+category">internal category</a>, while the other generalises quite nicely to the notion of <a class="existingWikiWord" href="/nlab/show/enriched+category">enriched category</a>; these are both important concepts.</p> </li> <li> <p>When examining alternative foundations, sometimes one definition or the other may be more appropriate; in any case, one will want to examine the question of their equivalence.</p> </li> </ul> <p>The two definitions may be distinguished by whether they use a single collection of all <a class="existingWikiWord" href="/nlab/show/morphisms">morphisms</a> or several collections of morphisms, a <a class="existingWikiWord" href="/nlab/show/family+of+sets">family of collections</a> indexed by pairs of <a class="existingWikiWord" href="/nlab/show/objects">objects</a>.</p> <h3 id="OneCollectionOfMorphisms">With one collection of morphisms</h3> <p>&lbrack;<a href="#Grothendieck61">Grothendieck 61, Section 4</a>&rbrack;</p> <p>A <strong>category</strong> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> consists of</p> <ul> <li> <p>a <a class="existingWikiWord" href="/nlab/show/collection">collection</a> (see <a href="#foundations">Foundational issues</a> and <a href="#size">Size issues</a>) <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">C_0</annotation></semantics></math> of <strong><a class="existingWikiWord" href="/nlab/show/objects">objects</a></strong>;</p> </li> <li> <p>a collection <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">C_1</annotation></semantics></math> of <strong><a class="existingWikiWord" href="/nlab/show/morphisms">morphisms</a></strong> (or <strong>arrows</strong>);</p> </li> <li> <p>for every morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math>, an object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>s</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">s(f)</annotation></semantics></math> (called its <strong><a class="existingWikiWord" href="/nlab/show/source">source</a></strong> or <strong>domain</strong>), and an object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">t(f)</annotation></semantics></math> (called its <strong><a class="existingWikiWord" href="/nlab/show/target">target</a></strong> or <strong>codomain</strong>);</p> </li> <li> <p>for every pair of morphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math>, where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>s</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">t(f) = s(g)</annotation></semantics></math>, a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi><mo>∘</mo><mi>f</mi></mrow><annotation encoding="application/x-tex">g \circ f</annotation></semantics></math>, called their <strong><a class="existingWikiWord" href="/nlab/show/composite">composite</a></strong> (also written <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi><mi>f</mi></mrow><annotation encoding="application/x-tex">g f</annotation></semantics></math> or sometimes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>;</mo><mi>g</mi></mrow><annotation encoding="application/x-tex">f;g</annotation></semantics></math>— see <a class="existingWikiWord" href="/nlab/show/diagrammatic+order">diagrammatic order</a>);</p> </li> <li> <p>for every object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math>, a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>id</mi> <mi>x</mi></msub></mrow><annotation encoding="application/x-tex">id_x</annotation></semantics></math> (or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mn>1</mn> <mi>x</mi></msub></mrow><annotation encoding="application/x-tex">1_x</annotation></semantics></math>), called the <strong><a class="existingWikiWord" href="/nlab/show/identity+morphism">identity morphism</a></strong> on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math>;</p> </li> <li> <p>such that the following properties are satisfied:</p> <ul> <li> <p>source and target are respected by composition: <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>s</mi><mo stretchy="false">(</mo><mi>g</mi><mo>∘</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>s</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">s(g \circ f) = s(f)</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo stretchy="false">(</mo><mi>g</mi><mo>∘</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>t</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">t(g\circ f) = t(g)</annotation></semantics></math>;</p> </li> <li> <p>source and target are respected by identities: <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>s</mi><mo stretchy="false">(</mo><msub><mn>1</mn> <mi>x</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">s(1_x) = x</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo stretchy="false">(</mo><msub><mn>1</mn> <mi>x</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">t(1_x) = x</annotation></semantics></math>;</p> </li> <li> <p>composition is <a class="existingWikiWord" href="/nlab/show/associative">associative</a>: <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>h</mi><mo>∘</mo><mi>g</mi><mo stretchy="false">)</mo><mo>∘</mo><mi>f</mi><mo>=</mo><mi>h</mi><mo>∘</mo><mo stretchy="false">(</mo><mi>g</mi><mo>∘</mo><mi>f</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(h \circ g)\circ f = h\circ (g \circ f)</annotation></semantics></math> whenever <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>s</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">t(f) = s(g)</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo stretchy="false">(</mo><mi>g</mi><mo stretchy="false">)</mo><mo>=</mo><mi>s</mi><mo stretchy="false">(</mo><mi>h</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">t(g) = s(h)</annotation></semantics></math>;</p> </li> <li> <p>composition satisfies the <a class="existingWikiWord" href="/nlab/show/unit+law">left and right unit laws</a>: if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>s</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">s(f) = x</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">t(f) = y</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mn>1</mn> <mi>y</mi></msub><mo>∘</mo><mi>f</mi><mo>=</mo><mi>f</mi><mo>=</mo><mi>f</mi><mo>∘</mo><msub><mn>1</mn> <mi>x</mi></msub></mrow><annotation encoding="application/x-tex">1_y \circ f = f = f \circ 1_x</annotation></semantics></math>.</p> </li> </ul> </li> </ul> <p>People also often write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">x \in C</annotation></semantics></math> instead of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">x \in C_0</annotation></semantics></math> as a short way to indicate that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math> is an object of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>. Also, some people write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ob</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ob(C)</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Mor</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Mor(C)</annotation></semantics></math> instead of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">C_0</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">C_1</annotation></semantics></math>. One usually writes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo lspace="verythinmathspace">:</mo><mi>x</mi><mo>→</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">f\colon x \to y</annotation></semantics></math> if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">f \in C_1</annotation></semantics></math> to state that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>s</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">s(f) = x</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>t</mi><mo stretchy="false">(</mo><mi>f</mi><mo stretchy="false">)</mo><mo>=</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">t(f) = y</annotation></semantics></math>. Finally, people often write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>hom</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">hom(x,y)</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">hom_C(x,y)</annotation></semantics></math>, or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C(x,y)</annotation></semantics></math> for the collection of morphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo lspace="verythinmathspace">:</mo><mi>x</mi><mo>→</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">f\colon x \to y</annotation></semantics></math>.</p> <p>If the <a class="existingWikiWord" href="/nlab/show/identity">identity</a>-assigning map and its axiom is omitted, then one speaks of a <em><a class="existingWikiWord" href="/nlab/show/semicategory">semicategory</a></em>.</p> <h3 id="AFamilyOfCollectionsOfMorphisms">With a family of collections of morphisms</h3> <p>A <strong>category</strong> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> consists of</p> <ul> <li> <p>a <a class="existingWikiWord" href="/nlab/show/collection">collection</a> (see <a href="#foundations">Foundational issues</a> and <a href="#size">Size issues</a>) <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">C_0</annotation></semantics></math> of <strong><a class="existingWikiWord" href="/nlab/show/objects">objects</a></strong>;</p> </li> <li> <p>for each pair <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">x,y</annotation></semantics></math> of objects, a collection <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,y)</annotation></semantics></math> of <strong><a class="existingWikiWord" href="/nlab/show/morphisms">morphisms</a> from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math> to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></strong>;</p> </li> <li> <p>for each pair of morphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,y)</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(y,z)</annotation></semantics></math>, a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi><mo>∘</mo><mi>f</mi></mrow><annotation encoding="application/x-tex">g \circ f</annotation></semantics></math> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>z</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,z)</annotation></semantics></math>, called their <strong><a class="existingWikiWord" href="/nlab/show/composite">composite</a></strong> (also written <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi><mi>f</mi></mrow><annotation encoding="application/x-tex">g f</annotation></semantics></math> or sometimes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>;</mo><mi>g</mi></mrow><annotation encoding="application/x-tex">f;g</annotation></semantics></math>— see <a class="existingWikiWord" href="/nlab/show/diagrammatic+order">diagrammatic order</a>);</p> </li> <li> <p>for each object <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math>, a morphism <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>id</mi> <mi>x</mi></msub></mrow><annotation encoding="application/x-tex">id_x</annotation></semantics></math> (or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mn>1</mn> <mi>x</mi></msub></mrow><annotation encoding="application/x-tex">1_x</annotation></semantics></math>) in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,x)</annotation></semantics></math>, called the <strong><a class="existingWikiWord" href="/nlab/show/identity+morphism">identity morphism</a></strong> on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math>;</p> </li> <li> <p>such that the following properties are satisfied:</p> <ul> <li> <p>composition is <a class="existingWikiWord" href="/nlab/show/associative">associative</a>: for each quadruple <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>w</mi><mo>,</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">w,x,y,z</annotation></semantics></math> of objects, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">f \in C_1(y,z)</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>g</mi><mo>∈</mo><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">g \in C_1(x,y)</annotation></semantics></math>, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>h</mi><mo>∈</mo><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>w</mi><mo>,</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">h \in C_1(w,x)</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>f</mi><mo>∘</mo><mi>g</mi><mo stretchy="false">)</mo><mo>∘</mo><mi>h</mi><mo>=</mo><mi>f</mi><mo>∘</mo><mo stretchy="false">(</mo><mi>g</mi><mo>∘</mo><mi>h</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(f \circ g)\circ h = f\circ (g \circ h)</annotation></semantics></math>;</p> </li> <li> <p>composition satisfies the <a class="existingWikiWord" href="/nlab/show/unit+law">left and right unit laws</a>: for each pair <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">x,y</annotation></semantics></math> of objects, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">f \in C_1(x,y)</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mn>1</mn> <mi>y</mi></msub><mo>∘</mo><mi>f</mi><mo>=</mo><mi>f</mi><mo>=</mo><mi>f</mi><mo>∘</mo><msub><mn>1</mn> <mi>x</mi></msub></mrow><annotation encoding="application/x-tex">1_y \circ f = f = f \circ 1_x</annotation></semantics></math>.</p> </li> </ul> </li> </ul> <p>People also often write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">x \in C</annotation></semantics></math> instead of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">x \in C_0</annotation></semantics></math> as a short way to indicate that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math> is an object of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math>. Also, some people write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Ob</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Ob(C)</annotation></semantics></math> instead of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">C_0</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>hom</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">hom(x,y)</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>hom</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">hom_C(x,y)</annotation></semantics></math>, or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C(x,y)</annotation></semantics></math> instead of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,y)</annotation></semantics></math>. One usually writes <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo lspace="verythinmathspace">:</mo><mi>x</mi><mo>→</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">f\colon x \to y</annotation></semantics></math> to state that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">f \in C_1(x,y)</annotation></semantics></math>. Finally, people often write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">C_1</annotation></semantics></math> or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Mor</mi><mo stretchy="false">(</mo><mi>C</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">Mor(C)</annotation></semantics></math> for the <a class="existingWikiWord" href="/nlab/show/disjoint+union">disjoint union</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mo lspace="thinmathspace" rspace="thinmathspace">⨄</mo> <mrow><mi>x</mi><mo>∈</mo><msub><mi>C</mi> <mn>0</mn></msub></mrow></msub><msub><mo lspace="thinmathspace" rspace="thinmathspace">⨄</mo> <mrow><mi>y</mi><mo>∈</mo><msub><mi>C</mi> <mn>0</mn></msub></mrow></msub><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\biguplus_{x \in C_0} \biguplus_{y \in C_0} C_1(x,y)</annotation></semantics></math>.</p> <h3 id="equivalence_between_the_two_definitions">Equivalence between the two definitions</h3> <p>Given a one-collection-of-morphisms category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo>⇉</mo><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">C_1\rightrightarrows C_0</annotation></semantics></math>, we define a family-of-collections-of-morphisms category by taking <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,y)</annotation></semantics></math> to be the <a class="existingWikiWord" href="/nlab/show/preimage">preimage</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(x,y)</annotation></semantics></math> under the <a class="existingWikiWord" href="/nlab/show/function">function</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>s</mi><mo>,</mo><mi>t</mi><mo stretchy="false">)</mo><mo>:</mo><msub><mi>C</mi> <mn>1</mn></msub><mo>→</mo><msub><mi>C</mi> <mn>0</mn></msub><mo>×</mo><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">(s,t):C_1 \to C_0\times C_0</annotation></semantics></math>. Conversely, given a family-of-collections-of-morphisms category we define a one-collection-of-morphisms category by taking <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">C_1</annotation></semantics></math> to be the <a class="existingWikiWord" href="/nlab/show/disjoint+union">disjoint union</a> of the families of morphisms <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo>=</mo><msub><mo lspace="thinmathspace" rspace="thinmathspace">∐</mo> <mrow><mi>x</mi><mo>,</mo><mi>y</mi><mo>∈</mo><msub><mi>C</mi> <mn>0</mn></msub></mrow></msub><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1 = \coprod_{x,y\in C_0} C_1(x,y)</annotation></semantics></math>. With the straightforward definitions of <a class="existingWikiWord" href="/nlab/show/functor">functor</a> and <a class="existingWikiWord" href="/nlab/show/natural+transformation">natural transformation</a> in both cases, this sets up a strict <span class="newWikiWord">2-equivalence<a href="/nlab/new/2-equivalence">?</a></span> of <a class="existingWikiWord" href="/nlab/show/2-categories">2-categories</a>.</p> <p>Note, though, that this 2-equivalence is not an <em>isomorphism</em> of 2-categories, because the disjoint union operation has to “tag” each morphism with its domain and codomain. It seems that the strongest thing that can be said is that, in a <a class="existingWikiWord" href="/nlab/show/material+set+theory">material set theory</a>, if a family-of-collections-of-morphisms category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> has the property that sets <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,y)</annotation></semantics></math> are all disjoint, then there is a one-collection-of-morphisms category with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo>=</mo><msub><mo lspace="thinmathspace" rspace="thinmathspace">⋃</mo> <mrow><mi>x</mi><mo>,</mo><mi>y</mi><mo>∈</mo><msub><mi>C</mi> <mn>0</mn></msub></mrow></msub><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1 = \bigcup_{x,y\in C_0} C_1(x,y)</annotation></semantics></math> (the <em>non</em>-disjoint union) that gives rise to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> on the nose. The notion of <a class="existingWikiWord" href="/nlab/show/protocategory">protocategory</a> is a way to formalize a family-of-collections-of-morphisms category together with the information about how its hom-sets “overlap”.</p> <p>In ordinary category theory one rarely specifies which of the two definitions is being used, although often language implicitly suggests that it is the latter, e.g. when defining a category one first specifies the objects and then specifies what “the morphisms from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math> to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math> are” rather than specifying what “a morphism” is and then what the domain and codomain of each morphism are. Indeed, when defining a category in this way, one rarely worries about whether the hom-sets are disjoint, meaning that it must be the second definition in use. Even for the prototypical category <a class="existingWikiWord" href="/nlab/show/Set">Set</a>, if constructed in a material-set-theoretic foundation like <a class="existingWikiWord" href="/nlab/show/ZFC">ZFC</a>, the natural definition “a morphism from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math> to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math> is a function, i.e. a subset of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>X</mi><mo>×</mo><mi>Y</mi></mrow><annotation encoding="application/x-tex">X\times Y</annotation></semantics></math> that is total and functional”, produces hom-sets that are not disjoint, since a total and functional set of ordered pairs can have any codomain that is a superset of its range. Moreover, categorical constructions do not “naturally” preserve disjointness of homsets, e.g. in the <a class="existingWikiWord" href="/nlab/show/category+of+elements">category of elements</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>el</mi><mo stretchy="false">(</mo><mi>P</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">el(P)</annotation></semantics></math> of a functor <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>P</mi><mo>:</mo><mi>C</mi><mo>→</mo><mi>Set</mi></mrow><annotation encoding="application/x-tex">P:C\to Set</annotation></semantics></math> a given morphism in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math> can “be” a morphism between many different elements of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math>, and similarly for a <a class="existingWikiWord" href="/nlab/show/slice+category">slice category</a> and so on.</p> <h3 id="foundations">Foundational issues</h3> <p>We said a category has a ‘collection’ of objects and ‘collection’(s) of morphisms. However, different <a class="existingWikiWord" href="/nlab/show/mathematical+foundations">mathematical foundations</a> have different notions of <a class="existingWikiWord" href="/nlab/show/equality">equality</a>. For foundations whose notion of ‘collection’ have <a class="existingWikiWord" href="/nlab/show/proposition">proposition</a>-valued equality, such as in <a class="existingWikiWord" href="/nlab/show/set+theory">set theory</a>, <a class="existingWikiWord" href="/nlab/show/class">class</a>-set theory, or <a class="existingWikiWord" href="/nlab/show/extensional+type+theory">extensional type theory</a>, the two definitions above suffice for defining a category. However, in for other foundations, with a weaker notion of equality, such as <a class="existingWikiWord" href="/nlab/show/internalization">internally</a> in a <a class="existingWikiWord" href="/nlab/show/%282%2C1%29-topos">(2,1)-topos</a> like <a class="existingWikiWord" href="/nlab/show/Grpd">Grpd</a>, in <a class="existingWikiWord" href="/nlab/show/Thomas+Streicher">Thomas Streicher</a>‘s groupoid model of types, or in <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a>, there are multiple definitions of a category. The naive definition of the category above with a collection of objects and a collection of morphisms results in a <a class="existingWikiWord" href="/nlab/show/wild+category">wild category</a>. If the morphism collections are sets, then the resulting structure is a <a class="existingWikiWord" href="/nlab/show/precategory">precategory</a>, and if the collection of objects is a set as well, then the resulting structure is a <a class="existingWikiWord" href="/nlab/show/strict+category">strict category</a>. The above definitions in set theory foundations are the same as strict categories in the alternative foundations, but in the alternative foundations categories like <a class="existingWikiWord" href="/nlab/show/Set">Set</a> are not strict categories. Instead, they happen to be a special kind of precategory called <a class="existingWikiWord" href="/nlab/show/univalent+categories">univalent categories</a>, where equality of objects is isomorphism of objects.</p> <h3 id="size">Size issues</h3> <p>We said a category has a ‘collection’ of objects and ‘collection’(s) of morphisms. A category is said to be <a class="existingWikiWord" href="/nlab/show/small+category">small</a> if these collections are all <a class="existingWikiWord" href="/nlab/show/sets">sets</a> — as opposed to <a class="existingWikiWord" href="/nlab/show/proper+class">proper classes</a>, for example. (The alternatives depend on ones <a class="existingWikiWord" href="/nlab/show/foundations">foundations for mathematics</a>.)</p> <p>Similarly, a category is <a class="existingWikiWord" href="/nlab/show/locally+small+category">locally small</a> if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,y)</annotation></semantics></math> is a set for every pair of objects <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">x,y</annotation></semantics></math> in that category. The most common motivating examples of categories (such as <a class="existingWikiWord" href="/nlab/show/Set">Set</a>) are all locally small but not small (unless one restricts their objects in some way).</p> <h3 id="alternative_definitions">Alternative definitions</h3> <p>For some purposes it is useful or necessary to vary the way the ordinary definition of category is expressed. See</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/single-sorted+definition+of+a+category">single-sorted definition of a category</a>– a variant of the first definition, with only <em>one</em> collection at all (<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">C_1</annotation></semantics></math>, no <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">C_0</annotation></semantics></math>). This is sometimes convenient for technical reasons.</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/type-theoretic+definition+of+category">type-theoretic definition of category</a>– a variant of the second definition, interpreted explicitly in <a class="existingWikiWord" href="/nlab/show/dependent+type+theory">dependent type theory</a>.</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/protocategory">protocategory</a>– a sort of mixture of the two definitions, in which all the hom-sets <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,y)</annotation></semantics></math> are subsets of a single set <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">C_1</annotation></semantics></math>, but not necessarily disjoint.</p> </li> </ul> <h3 id="EquivalenceDefinitions">Equivalent definitions</h3> <p>A <a class="existingWikiWord" href="/nlab/show/category">category</a> is equivalently</p> <ul> <li> <p>a <a class="existingWikiWord" href="/nlab/show/monad">monad</a> in the <a class="existingWikiWord" href="/nlab/show/2-category">2-category</a> of <a class="existingWikiWord" href="/nlab/show/spans">spans</a> of <a class="existingWikiWord" href="/nlab/show/sets">sets</a>;</p> </li> <li> <p>a <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a> in the <a class="existingWikiWord" href="/nlab/show/monoidal+category">monoidal category</a> of endospans on the set of objects;</p> </li> <li> <p>a <a class="existingWikiWord" href="/nlab/show/simplicial+set">simplicial set</a> which satisfies the <a class="existingWikiWord" href="/nlab/show/Segal+conditions">Segal conditions</a>;</p> </li> <li> <p>a <a class="existingWikiWord" href="/nlab/show/simplicial+set">simplicial set</a> which satisfies the <a class="existingWikiWord" href="/nlab/show/weak+Kan+complex">weak Kan complex</a> conditions strictly:</p> </li> <li> <p>hence a <a class="existingWikiWord" href="/nlab/show/directed+homotopy+type+theory">directed homotopy type</a> which is “1-truncated”</p> </li> </ul> <h3 id="generalizations">Generalizations</h3> <h4 id="internal_categories">Internal categories</h4> <p>The first definition, with a single collection <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">C_1</annotation></semantics></math> of morphisms, generalises to the notion of <a class="existingWikiWord" href="/nlab/show/internal+category">internal category</a>. Essentially, we define a category internal to (some other category) <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math> as above, with ‘collection’ interpreted as an object of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math> and ‘function’ interpreted as a morphism of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math>. In particular, a category internal to <a class="existingWikiWord" href="/nlab/show/Set">Set</a> is the same thing as a small category.</p> <h4 id="enriched_categories">Enriched categories</h4> <p>The second definition of a category, as a family <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>C</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">C_1(x,y)</annotation></semantics></math> of collections of morphisms, generalises to the notion of <a class="existingWikiWord" href="/nlab/show/enriched+category">enriched category</a>: we define a category enriched over (some other category) <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math> as above, with the collection of objects still a ‘collection’ as before, but with objects of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math> in place of the collections of morphisms and morphisms of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math> in place of the various functions. In particular, a category enriched over <a class="existingWikiWord" href="/nlab/show/Set">Set</a> is the same thing as a locally small category.</p> <h4 id="indexed_categories">Indexed categories</h4> <p>The notion of <a class="existingWikiWord" href="/nlab/show/indexed+category">indexed category</a> captures the idea of woking “over a base” other than <a class="existingWikiWord" href="/nlab/show/Set">Set</a>.</p> <h4 id="multicategories_etc">Multicategories etc.</h4> <p>There is a generalization of the notion of category where one allows a morphism to go from several objects to a single object. This is called a <a class="existingWikiWord" href="/nlab/show/multicategory">multicategory</a> or <a class="existingWikiWord" href="/nlab/show/operad">operad</a>. If we additionally allow a morphism to go <em>to</em> several objects, we obtain a <em><a class="existingWikiWord" href="/nlab/show/polycategory">polycategory</a></em> or <em><a class="existingWikiWord" href="/nlab/show/PROP">PROP</a></em>.</p> <h4 id="higher_categories">Higher categories</h4> <p>See <a class="existingWikiWord" href="/nlab/show/higher+category+theory">higher category theory</a>.</p> <h2 id="examples">Examples</h2> <p>There is the beginning of a <a class="existingWikiWord" href="/nlab/show/database+of+categories">database of categories</a> listing well-known categories (with links to articles on these categories, if such articles exist) and some of their properties.</p> <p>The classic example of a category is <a class="existingWikiWord" href="/nlab/show/Set">Set</a>, the category with <a class="existingWikiWord" href="/nlab/show/set">set</a>s as objects and <a class="existingWikiWord" href="/nlab/show/function">function</a>s as morphisms, and the usual composition of functions as composition. Here are some other famous examples, which arise as variations on this theme:</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/Vect">Vect</a> - <a class="existingWikiWord" href="/nlab/show/vector+space">vector space</a>s as objects, linear maps as morphisms.</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Grp">Grp</a> - <a class="existingWikiWord" href="/nlab/show/group">group</a>s as objects, homomorphisms as morphisms.</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Top">Top</a> - <a class="existingWikiWord" href="/nlab/show/topological+space">topological space</a>s as objects, continuous functions as morphisms.</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Diff">Diff</a> - smooth <a class="existingWikiWord" href="/nlab/show/manifold">manifold</a>s as objects, smooth maps as morphisms.</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Ring">Ring</a> - <a class="existingWikiWord" href="/nlab/show/ring">ring</a>s as objects, ring homomorphisms as morphisms.</p> </li> </ul> <p>Note that in all these cases the morphisms are actually special sorts of functions. these are <a class="existingWikiWord" href="/nlab/show/concrete+categories">concrete categories</a>. That need not be the case in general!</p> <p>These classic examples are the original motivation for the term “category”: all of the above categories encapsulate one “kind of mathematical structure”. These are often called “concrete” categories (that term also has a <a class="existingWikiWord" href="/nlab/show/concrete+category">technical definition</a> that these examples all satisfy). But just as widespread in applications as these categorization examples of categories are are other categories (often “<a class="existingWikiWord" href="/nlab/show/small+category">small</a>” ones) which, roughly, model something like <em>states</em> and <em>processes</em> of some system.</p> <ul> <li> <p><strong>Poset</strong> A <a class="existingWikiWord" href="/nlab/show/partial+order">poset</a> can be thought of as a category with its elements as objects and one morphism in each <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>hom</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">hom(x,y)</annotation></semantics></math> if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math> is less than or equal to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math>, but none otherwise.</p> </li> <li> <p><strong>Group</strong> A <a class="existingWikiWord" href="/nlab/show/group">group</a> is just a category where there’s one object and all the morphisms have inverses - we call the morphisms “elements” of the group. This may seem weird, but it’s actually a very useful viewpoint. Here’s another way to say it: <em>A group is a <a class="existingWikiWord" href="/nlab/show/groupoid">groupoid</a> with a single object</em>.</p> </li> <li> <p><strong>Monoid</strong> More generally, a <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a> is a category with a single object. In fact, this is one way to motivate the concept of categories: categories are the <a class="existingWikiWord" href="/nlab/show/horizontal+categorification">many object version</a> of monoids.</p> </li> <li> <p><strong>Groupoid</strong> A <a class="existingWikiWord" href="/nlab/show/groupoid">groupoid</a> is a category in which all morphisms are <a class="existingWikiWord" href="/nlab/show/isomorphism">isomorphism</a>s.</p> </li> <li> <p><strong>Quiver</strong> A <a class="existingWikiWord" href="/nlab/show/quiver">quiver</a> may be identified with the <a class="existingWikiWord" href="/nlab/show/free+category">free category</a> on its <a class="existingWikiWord" href="/nlab/show/directed+graph">directed graph</a>. Given a directed graph <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math> with collection of vertices <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>G</mi> <mn>0</mn></msub></mrow><annotation encoding="application/x-tex">G_0</annotation></semantics></math> and collection of edges <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>G</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">G_1</annotation></semantics></math>, there is the <em><a class="existingWikiWord" href="/nlab/show/free+functor">free</a> category</em> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>F</mi><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F(G)</annotation></semantics></math> on the graph whose collection of objects coincides with the collection of vertices, and whose collection of morphisms consists of finite sequences of edges in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><msub><mi>G</mi> <mn>1</mn></msub></mrow><annotation encoding="application/x-tex">G_1</annotation></semantics></math> that fit together head-to-tail. The composition operation in this free category is the concatenation of sequences of edges.</p> </li> <li> <p><strong>Universal structure</strong> A category bearing a structure making it <a class="existingWikiWord" href="/nlab/show/initial+object">initial</a> (or 2-initial) in some <a class="existingWikiWord" href="/nlab/show/doctrine">doctrine</a>. Examples include the <a class="existingWikiWord" href="/nlab/show/permutation+category">permutation category</a> as the free symmetric monoidal category generated by a single object, or the <a class="existingWikiWord" href="/nlab/show/simplex+category">simplex category</a> which is initial among monoidal categories equipped with a monoid.</p> </li> </ul> <h2 id="basic_notions">Basic notions</h2> <p>A homomorphism between categories is a <a class="existingWikiWord" href="/nlab/show/functor">functor</a>.</p> <p>This way <a class="existingWikiWord" href="/nlab/show/small+categories">small categories</a> themselves form a category, the category <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a> whose objects are small categories and whose morphisms are functors. This naturally enhances to a <a class="existingWikiWord" href="/nlab/show/2-category">2-category</a> whose <a class="existingWikiWord" href="/nlab/show/2-morphism">2-morphism</a>s are <a class="existingWikiWord" href="/nlab/show/natural+transformation">natural transformation</a>s between functors.</p> <p>An <a class="existingWikiWord" href="/nlab/show/equivalence+of+categories">equivalence of categories</a> is an equivalence in <a class="existingWikiWord" href="/nlab/show/Cat">Cat</a>, hence a pair of functors going back and forth, that are each others inverse up to <a class="existingWikiWord" href="/nlab/show/natural+isomorphism">natural isomorphism</a>.</p> <p>Weaker than the notion of a pair of functors exhibiting an equivalence is the notion of a pair of <a class="existingWikiWord" href="/nlab/show/adjoint+functor">adjoint functor</a>s.</p> <p>Other standard operations on categories include</p> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/opposite+category">opposite category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/localization">localization</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/geometric+realization+of+categories">geometric realization of categories</a></p> </li> </ul> <h2 id="related_concepts">Related concepts</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/enriched+category">enriched category</a></p> <ul> <li><a class="existingWikiWord" href="/nlab/show/continuous+category">continuous category</a></li> </ul> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/EI-category">EI-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/0-category">0-category</a>, <a class="existingWikiWord" href="/nlab/show/%280%2C1%29-category">(0,1)-category</a></p> </li> <li> <p><strong>category</strong></p> <p><a class="existingWikiWord" href="/nlab/show/semicategory">semicategory</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/2-category">2-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/3-category">3-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/n-category">n-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C0%29-category">(∞,0)-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/%28n%2C1%29-category">(n,1)-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C1%29-category">(∞,1)-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2C2%29-category">(∞,2)-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/%28%E2%88%9E%2Cn%29-category">(∞,n)-category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/%28n%2Cr%29-category">(n,r)-category</a></p> </li> </ul> <div> <table><thead><tr><th><a class="existingWikiWord" href="/nlab/show/algebra">algebraic</a> <a class="existingWikiWord" href="/nlab/show/mathematical+structure">structure</a></th><th><a class="existingWikiWord" href="/nlab/show/oidification">oidification</a></th></tr></thead><tbody><tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/magma">magma</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/magmoid">magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/pointed+set">pointed</a> <a class="existingWikiWord" href="/nlab/show/magma">magma</a> with an <a class="existingWikiWord" href="/nlab/show/endofunction">endofunction</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/setoid">setoid</a>/<a class="existingWikiWord" href="/nlab/show/Bishop+set">Bishop set</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/unital+magma">unital magma</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/unital+magmoid">unital magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/quasigroup">quasigroup</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/quasigroupoid">quasigroupoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/loop+%28algebra%29">loop</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/loopoid">loopoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/semigroup">semigroup</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/semicategory">semicategory</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/monoid">monoid</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/category">category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/anti-involution">anti-involutive</a> <a class="existingWikiWord" href="/nlab/show/monoid">monoid</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/dagger+category">dagger category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/associative+quasigroup">associative quasigroup</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/associative+quasigroupoid">associative quasigroupoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/group">group</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/groupoid">groupoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/flexible+magma">flexible magma</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/flexible+magmoid">flexible magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/alternative+magma">alternative magma</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/alternative+magmoid">alternative magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/absorption+monoid">absorption monoid</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/absorption+category">absorption category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/cancellative+monoid">cancellative monoid</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/cancellative+category">cancellative category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/rig">rig</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/CMon">CMon</a>-<a class="existingWikiWord" href="/nlab/show/enriched+category">enriched category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/nonunital+ring">nonunital ring</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/Ab">Ab</a>-<a class="existingWikiWord" href="/nlab/show/enriched+magmoid">enriched</a> <a class="existingWikiWord" href="/nlab/show/semicategory">semicategory</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/nonassociative+ring">nonassociative ring</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/Ab">Ab</a>-<a class="existingWikiWord" href="/nlab/show/enriched+magmoid">enriched</a> <a class="existingWikiWord" href="/nlab/show/unital+magmoid">unital magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/ring">ring</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/ringoid">ringoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/nonassociative+algebra">nonassociative algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/linear+magmoid">linear magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/nonassociative+algebra">nonassociative unital algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/unital+magmoid">unital</a> <a class="existingWikiWord" href="/nlab/show/linear+magmoid">linear magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/nonunital+algebra">nonunital algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/linear+magmoid">linear</a> <a class="existingWikiWord" href="/nlab/show/semicategory">semicategory</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/associative+unital+algebra">associative unital algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/linear+category">linear category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/C-star+algebra">C-star algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/C-star+category">C-star category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/differential+algebra">differential algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/differential+algebroid">differential algebroid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/flexible+algebra">flexible algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/flexible+magmoid">flexible</a> <a class="existingWikiWord" href="/nlab/show/linear+magmoid">linear magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/alternative+algebra">alternative algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/alternative+magmoid">alternative</a> <a class="existingWikiWord" href="/nlab/show/linear+magmoid">linear magmoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/Lie+algebra">Lie algebra</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/Lie+algebroid">Lie algebroid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/monoidal+poset">monoidal poset</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/2-poset">2-poset</a></td></tr> <tr><td style="text-align: left;"><span class="newWikiWord">strict monoidal groupoid<a href="/nlab/new/strict+monoidal+groupoid">?</a></span></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/strict+%282%2C1%29-category">strict (2,1)-category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/strict+2-group">strict 2-group</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/strict+2-groupoid">strict 2-groupoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/strict+monoidal+category">strict monoidal category</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/strict+2-category">strict 2-category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/monoidal+groupoid">monoidal groupoid</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/%282%2C1%29-category">(2,1)-category</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/2-group">2-group</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/2-groupoid">2-groupoid</a>/<a class="existingWikiWord" href="/nlab/show/bigroupoid">bigroupoid</a></td></tr> <tr><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/monoidal+category">monoidal category</a></td><td style="text-align: left;"><a class="existingWikiWord" href="/nlab/show/2-category">2-category</a>/<a class="existingWikiWord" href="/nlab/show/bicategory">bicategory</a></td></tr> </tbody></table> </div> <h2 id="references">References</h2> <p>(For more extensive references see at <em><a class="existingWikiWord" href="/nlab/show/category+theory">category theory</a></em>.)</p> <p>The concept originates in</p> <ul> <li id="EilenbergMacLane45"><a class="existingWikiWord" href="/nlab/show/Samuel+Eilenberg">Samuel Eilenberg</a>, <a class="existingWikiWord" href="/nlab/show/Saunders+MacLane">Saunders MacLane</a>, <em><a class="existingWikiWord" href="/nlab/show/General+Theory+of+Natural+Equivalences">General Theory of Natural Equivalences</a></em>, Transactions of the American Mathematical Society <strong>58</strong> 2 (1945) 231-294 &lbrack;<a href="https://doi.org/10.1090/S0002-9947-1945-0013131-6">doi:10.1090/S0002-9947-1945-0013131-6</a>, <a href="http://www.jstor.org/stable/1990284">jstor:1990284</a>&rbrack;</li> </ul> <p>The definition “with a single set of morphisms” (i.e. as <a class="existingWikiWord" href="/nlab/show/internal+categories">internal categories</a> in <a class="existingWikiWord" href="/nlab/show/Set">Set</a>) appears in:</p> <ul> <li id="Grothendieck61"><a class="existingWikiWord" href="/nlab/show/Alexander+Grothendieck">Alexander Grothendieck</a>, Section 4 of: <em>Techniques de construction et théorèmes d’existence en géométrie algébrique III: préschémas quotients</em>, Séminaire Bourbaki: années 1960/61, exposés 205-222, Séminaire Bourbaki, no. 6 (1961), Exposé no. 212, (<a href="http://www.numdam.org/item/?id=SB_1960-1961__6__99_0">numdam:SB_1960-1961__6__99_0</a>, <a href="http://www.numdam.org/item/SB_1960-1961__6__99_0.pdf">pdf</a>)</li> </ul> <p>Textbook accounts:</p> <ul> <li id="MacLane97"> <p><a class="existingWikiWord" href="/nlab/show/Saunders+MacLane">Saunders MacLane</a>, <em><a class="existingWikiWord" href="/nlab/show/Categories+for+the+Working+Mathematician">Categories for the Working Mathematician</a></em>, Graduate Texts in Mathematics <strong>5</strong>, Springer (1971, second ed. 1997) &lbrack;<a href="https://link.springer.com/book/10.1007/978-1-4757-4721-8">doi:10.1007/978-1-4757-4721-8</a>&rbrack;</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Francis+Borceux">Francis Borceux</a>, <em><a class="existingWikiWord" href="/nlab/show/Handbook+of+Categorical+Algebra">Handbook of Categorical Algebra</a></em>, Encyclopedia of Mathematics and its Applications <strong>50</strong>, Cambridge University Press (1994)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Roy+L.+Crole">Roy L. Crole</a>, <em>Categories for types</em>, Cambridge University Press (1994) &lbrack;<a href="https://doi.org/10.1017/CBO9781139172707">doi:10.1017/CBO9781139172707</a>&rbrack;</p> <blockquote> <p>(<a class="existingWikiWord" href="/nlab/show/categorical+semantics">categorical semantics</a> of <a class="existingWikiWord" href="/nlab/show/type+theory">type theory</a>)</p> </blockquote> </li> </ul> <p>Expositions:</p> <ul> <li> <p>A. Martini, H. Ehrig, and D. Nunes, <a href="http://citeseer.ist.psu.edu/martini96element.html">Elements of basic category theory</a>, Technical Report 96-5, Technical University Berlin.</p> </li> <li> <p>Jaap van Oosten, <a href="http://www.math.uu.nl/people/jvoosten/syllabi/catsmoeder.pdf">Basic category theory</a>.</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Paolo+Perrone">Paolo Perrone</a>, <em>Notes on Category Theory with examples from basic mathematics</em>. (<a href="http://arxiv.org/abs/1912.10642">arXiv</a>)</p> </li> <li> <p>Andrea Schalk and H. Simmons, <a href="http://www.cs.man.ac.uk/~hsimmons/BOOKS/CatTheory.pdf">An introduction to category theory in four easy movements</a>, notes for a course offered as part of the MSc. in Mathematical Logic, Manchester University.</p> </li> <li> <p>Daniele Turim, <a href="http://www.dcs.ed.ac.uk/home/dt/CT/categories.pdf">Category theory lecture notes</a>, 1996-2001. Based on Mac Lane’s book (1998).</p> </li> </ul> <p>A textbook that introduces categories by examples arising in <a class="existingWikiWord" href="/nlab/show/mathematical+physics">mathematical physics</a> is</p> <ul> <li id="Geroch85"><a class="existingWikiWord" href="/nlab/show/Robert+Geroch">Robert Geroch</a>, <em>Mathematical Physics</em>, University of Chicago Press (1985) &lbrack;<a href="https://press.uchicago.edu/ucp/books/book/chicago/M/bo4158035.html">ISBN:9780226223063</a>&rbrack;</li> </ul> <p>A textbook with an eye towards the theory of <a class="existingWikiWord" href="/nlab/show/categories+of+sheaves">categories of sheaves</a> and their application in <a class="existingWikiWord" href="/nlab/show/homological+algebra">homological algebra</a> is</p> <ul> <li>Kashiwara, Shapira, <em><a class="existingWikiWord" href="/nlab/show/Categories+and+Sheaves">Categories and Sheaves</a></em></li> </ul> <p>The definition of categories in the <a class="existingWikiWord" href="/nlab/show/foundations">foundations</a> of <a class="existingWikiWord" href="/nlab/show/homotopy+type+theory">homotopy type theory</a> (see at <em><a class="existingWikiWord" href="/nlab/show/internal+category+in+homotopy+type+theory">internal category in homotopy type theory</a></em>) is discussed in</p> <ul> <li id="AhrensKapulkinShulman13"> <p><a class="existingWikiWord" href="/nlab/show/Benedikt+Ahrens">Benedikt Ahrens</a>, <a class="existingWikiWord" href="/nlab/show/Chris+Kapulkin">Chris Kapulkin</a>, <a class="existingWikiWord" href="/nlab/show/Michael+Shulman">Michael Shulman</a>, <em>Univalent categories and the Rezk completion</em>, Mathematical Structures in Computer Science 25.5 (2015): 1010-1039 (<a href="http://arxiv.org/abs/1303.0584">arXiv:1303.0584</a>)</p> </li> <li id="CapriottiKraus17"> <p><a class="existingWikiWord" href="/nlab/show/Paolo+Capriotti">Paolo Capriotti</a>, <a class="existingWikiWord" href="/nlab/show/Nicolai+Kraus">Nicolai Kraus</a>, <em>Univalent Higher Categories via Complete Semi-Segal Types</em> (<a href="https://arxiv.org/abs/1707.03693">arXiv:1707.03693</a>)</p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Jason+Gross">Jason Gross</a>, <a class="existingWikiWord" href="/nlab/show/Adam+Chlipala">Adam Chlipala</a>, <a class="existingWikiWord" href="/nlab/show/David+Spivak">David Spivak</a>, <em>Experience Implementing a Performant Category-Theory Library in Coq</em> (<a href="http://arxiv.org/abs/1401.7694">arXiv:1401.7694</a>)</p> </li> </ul> <p>For more references see <a class="existingWikiWord" href="/nlab/show/category+theory">category theory</a>.</p> </body></html> </div> <div class="revisedby"> <p> Last revised on November 18, 2023 at 05:01:27. See the <a href="/nlab/history/category" style="color: #005c19">history</a> of this page for a list of all contributions to it. </p> </div> <div class="navigation navfoot"> <a href="/nlab/edit/category" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/8811/#Item_16">Discuss</a><span class="backintime"><a href="/nlab/revision/category/90" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/diff/category" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Changes from previous revision</a><a href="/nlab/history/category" accesskey="S" class="navlink" id="history" rel="nofollow">History (90 revisions)</a> <a href="/nlab/show/category/cite" style="color: black">Cite</a> <a href="/nlab/print/category" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/category" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>

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