CINXE.COM
cancellative element of a commutative ring 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> cancellative element of a commutative ring 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> cancellative element of a commutative ring </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/14044/#Item_19" 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 entry is about regular elements in <a class="existingWikiWord" href="/nlab/show/ring+theory">ring theory</a> and <a class="existingWikiWord" href="/nlab/show/commutative+algebra">commutative algebra</a>. For regular elements in <a class="existingWikiWord" href="/nlab/show/formal+logic">formal logic</a> and <a class="existingWikiWord" href="/nlab/show/topology">topology</a>, see <a class="existingWikiWord" href="/nlab/show/regular+element">regular element</a>. For regular elements in <a class="existingWikiWord" href="/nlab/show/physics">physics</a>/<a class="existingWikiWord" href="/nlab/show/quantum+field+theory">quantum field theory</a> see at <em><a class="existingWikiWord" href="/nlab/show/regularization+%28physics%29">regularization (physics)</a></em>.</p> </blockquote> <div class="rightHandSide"> <div class="toc clickDown" tabindex="0"> <h3 id="context">Context</h3> <h4 id="algebra">Algebra</h4> <div class="hide"><div> <ul> <li><a class="existingWikiWord" href="/nlab/show/algebra">algebra</a>, <a class="existingWikiWord" href="/nlab/show/higher+algebra">higher algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/universal+algebra">universal algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/monoid">monoid</a>, <a class="existingWikiWord" href="/nlab/show/semigroup">semigroup</a>, <a class="existingWikiWord" href="/nlab/show/quasigroup">quasigroup</a></li> <li><a class="existingWikiWord" href="/nlab/show/nonassociative+algebra">nonassociative algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/associative+unital+algebra">associative unital algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/commutative+algebra">commutative algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/Lie+algebra">Lie algebra</a>, <a class="existingWikiWord" href="/nlab/show/Jordan+algebra">Jordan algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/Leibniz+algebra">Leibniz algebra</a>, <a class="existingWikiWord" href="/nlab/show/pre-Lie+algebra">pre-Lie algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/Poisson+algebra">Poisson algebra</a>, <a class="existingWikiWord" href="/nlab/show/Frobenius+algebra">Frobenius algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/lattice">lattice</a>, <a class="existingWikiWord" href="/nlab/show/frame">frame</a>, <a class="existingWikiWord" href="/nlab/show/quantale">quantale</a></li> <li><a class="existingWikiWord" href="/nlab/show/Boolean+ring">Boolean ring</a>, <a class="existingWikiWord" href="/nlab/show/Heyting+algebra">Heyting algebra</a></li> <li><a class="existingWikiWord" href="/nlab/show/commutator">commutator</a>, <a class="existingWikiWord" href="/nlab/show/center">center</a></li> <li><a class="existingWikiWord" href="/nlab/show/monad">monad</a>, <a class="existingWikiWord" href="/nlab/show/comonad">comonad</a></li> <li><a class="existingWikiWord" href="/nlab/show/distributive+law">distributive law</a></li> </ul> <h2 id="group_theory">Group theory</h2> <ul> <li><a class="existingWikiWord" href="/nlab/show/group">group</a>, <a class="existingWikiWord" href="/nlab/show/normal+subgroup">normal subgroup</a></li> <li><a class="existingWikiWord" href="/nlab/show/action">action</a>, <a class="existingWikiWord" href="/nlab/show/Cayley%27s+theorem">Cayley's theorem</a></li> <li><a class="existingWikiWord" href="/nlab/show/centralizer">centralizer</a>, <a class="existingWikiWord" href="/nlab/show/normalizer">normalizer</a></li> <li><a class="existingWikiWord" href="/nlab/show/abelian+group">abelian group</a>, <a class="existingWikiWord" href="/nlab/show/cyclic+group">cyclic group</a></li> <li><a class="existingWikiWord" href="/nlab/show/group+extension">group extension</a>, <a class="existingWikiWord" href="/nlab/show/Galois+extension">Galois extension</a></li> <li><a class="existingWikiWord" href="/nlab/show/algebraic+group">algebraic group</a>, <a class="existingWikiWord" href="/nlab/show/formal+group">formal group</a></li> <li><a class="existingWikiWord" href="/nlab/show/Lie+group">Lie group</a>, <a class="existingWikiWord" href="/nlab/show/quantum+group">quantum group</a></li> </ul> <h2 id="ring_theory">Ring theory</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/ring">ring</a>, <a class="existingWikiWord" href="/nlab/show/commutative+ring">commutative ring</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/local+ring">local ring</a>, <a class="existingWikiWord" href="/nlab/show/Artinian+ring">Artinian ring</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Noetherian+ring">Noetherian ring</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/skewfield">skewfield</a>, <a class="existingWikiWord" href="/nlab/show/field">field</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/integral+domain">integral domain</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/ideal">ideal</a>, <a class="existingWikiWord" href="/nlab/show/prime+ideal">prime ideal</a>, <a class="existingWikiWord" href="/nlab/show/maximal+ideal">maximal ideal</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Ore+localization">Ore localization</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/group+extension">group extension</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/central+simple+algebra">central simple algebra</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/derivation">derivation</a>, <a class="existingWikiWord" href="/nlab/show/Ore+extension">Ore extension</a></p> </li> </ul> <h2 id="module_theory">Module theory</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/module">module</a>, <a class="existingWikiWord" href="/nlab/show/bimodule">bimodule</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/vector+space">vector space</a>, <a class="existingWikiWord" href="/nlab/show/linear+algebra">linear algebra</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/matrix">matrix</a>, <a class="existingWikiWord" href="/nlab/show/eigenvalue">eigenvalue</a>, <a class="existingWikiWord" href="/nlab/show/trace">trace</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/determinant">determinant</a>, <a class="existingWikiWord" href="/nlab/show/quasideterminant">quasideterminant</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/representation+theory">representation theory</a>, <a class="existingWikiWord" href="/nlab/show/Schur+lemma">Schur lemma</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/extension+of+scalars">extension of scalars</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/restriction+of+scalars">restriction of scalars</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Frobenius+reciprocity">Frobenius reciprocity</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Morita+equivalence">Morita equivalence</a>, <a class="existingWikiWord" href="/nlab/show/Morita+context">Morita context</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Wedderburn-Artin+theorem">Wedderburn-Artin theorem</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/abelian+category">abelian category</a>, <a class="existingWikiWord" href="/nlab/show/additive+category">additive category</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/monoidal+category">monoidal category</a>, <a class="existingWikiWord" href="/nlab/show/Tannaka+duality">Tannaka duality</a></p> </li> </ul> <h2 id=""><a class="existingWikiWord" href="/nlab/show/gebra+theory">Gebras</a></h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/coalgebra">coalgebra</a>, <a class="existingWikiWord" href="/nlab/show/coring">coring</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/bialgebra">bialgebra</a>, <a class="existingWikiWord" href="/nlab/show/Hopf+algebra">Hopf algebra</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/comodule">comodule</a>, <a class="existingWikiWord" href="/nlab/show/Hopf+module">Hopf module</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Yetter-Drinfeld+module">Yetter-Drinfeld module</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/associative+bialgebroid">associative bialgebroid</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/dual+gebra">dual gebra</a>, <a class="existingWikiWord" href="/nlab/show/cotensor+product">cotensor product</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/Hopf-Galois+extension">Hopf-Galois extension</a></p> </li> </ul> </div></div> </div> </div> <h1 id="contents">Contents</h1> <div class='maruku_toc'> <ul> <li><a href='#definition'>Definition</a></li> <li><a href='#multiplicative_subset_of_cancellative_elements'>Multiplicative subset of cancellative elements</a></li> <li><a href='#properties'>Properties</a></li> <ul> <li><a href='#relation_with_zerodivisors'> Relation with zero-divisors</a></li> <li><a href='#integral_domains'>Integral domains</a></li> <li><a href='#fields'>Fields</a></li> <li><a href='#ring_of_fractions'>Ring of fractions</a></li> <li><a href='#unique_factorization_domains'>Unique factorization domains</a></li> </ul> <li><a href='#see_also'>See also</a></li> <li><a href='#references'>References</a></li> </ul> </div> <h2 id="definition">Definition</h2> <p>Given a <a class="existingWikiWord" href="/nlab/show/commutative+ring">commutative ring</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>, an <a class="existingWikiWord" href="/nlab/show/element">element</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> is <em>left cancellative</em> or <em>left regular</em> if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mi>a</mi><mo>=</mo><mi>e</mi><mo>⋅</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">e \cdot a = e \cdot b</annotation></semantics></math> for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a = b</annotation></semantics></math>.</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">isLeftCancellative</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo>≔</mo><mo>∀</mo><mi>a</mi><mo>,</mo><mi>b</mi><mo>∈</mo><mi>R</mi><mo>.</mo><mo stretchy="false">(</mo><mi>e</mi><mo>⋅</mo><mi>a</mi><mo>=</mo><mi>e</mi><mo>⋅</mo><mi>b</mi><mo stretchy="false">)</mo><mo>⇒</mo><mo stretchy="false">(</mo><mi>a</mi><mo>=</mo><mi>b</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathrm{isLeftCancellative}(e) \coloneqq \forall a,b \in R.(e \cdot a = e \cdot b) \implies (a = b)</annotation></semantics></math></div> <p>An element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> is <em>right cancellative</em> or <em>right regular</em> if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mi>b</mi><mo>⋅</mo><mi>e</mi></mrow><annotation encoding="application/x-tex">a \cdot e = b \cdot e</annotation></semantics></math> for all <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a = b</annotation></semantics></math>.</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">isRightCancellative</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo>≔</mo><mo>∀</mo><mi>a</mi><mo>,</mo><mi>b</mi><mo>∈</mo><mi>M</mi><mo>.</mo><mo stretchy="false">(</mo><mi>a</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mi>b</mi><mo>⋅</mo><mi>e</mi><mo stretchy="false">)</mo><mo>⇒</mo><mo stretchy="false">(</mo><mi>a</mi><mo>=</mo><mi>b</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathrm{isRightCancellative}(e) \coloneqq \forall a,b \in M.(a \cdot e = b \cdot e) \implies (a = b)</annotation></semantics></math></div> <p>An element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> is <em>cancellative</em> or <em>regular</em> if it is both left cancellative and right cancellative.</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">isCancellative</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo>≔</mo><mi mathvariant="normal">isLeftCancellative</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo>∧</mo><mi mathvariant="normal">isRightCancellative</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathrm{isCancellative}(e) \coloneqq \mathrm{isLeftCancellative}(e) \wedge \mathrm{isRightCancellative}(e)</annotation></semantics></math></div> <h2 id="multiplicative_subset_of_cancellative_elements">Multiplicative subset of cancellative elements</h2> <p>The <strong>multiplicative subset of cancellative elements</strong> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is the <a class="existingWikiWord" href="/nlab/show/multiplicative+subset">multiplicative subset</a> of all cancellative elements in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math></p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">Can</mi><mo stretchy="false">(</mo><mi>R</mi><mo stretchy="false">)</mo><mo>≔</mo><mo stretchy="false">{</mo><mi>e</mi><mo>∈</mo><mi>M</mi><mo stretchy="false">|</mo><mi mathvariant="normal">isCancellative</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">\mathrm{Can}(R) \coloneqq \{e \in M \vert \mathrm{isCancellative}(e)\}</annotation></semantics></math></div> <p>The term ‘cancellative element’ could be replaced with the synonym ‘regular element’. If the synonym ‘regular element’ is used in place of ‘cancellative element’, such as in <a href="#LombardiQuitté2010">Lombardi & Quitté 2010</a>, then this multiplicative subset is typically written as <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">Reg</mi><mo stretchy="false">(</mo><mi>R</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathrm{Reg}(R)</annotation></semantics></math>.</p> <p>This is also called the <strong><a class="existingWikiWord" href="/nlab/show/filter+of+a+ring">filter</a> of regular elements</strong> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>, as in <a href="#LombardiQuitté2010">Lombardi & Quitté 2010</a>. Similarly as above, ‘regular element’ could be replaced with ‘cancellative element’.</p> <p>Since the multiplicative identity element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math> is always cancellative, the multiplicative subset of all cancellative elements forms a <a class="existingWikiWord" href="/nlab/show/cancellative+monoid">cancellative monoid</a>.</p> <h2 id="properties">Properties</h2> <p> <div class='num_prop'> <h6>Proposition</h6> <p>For a commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>, given elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a, b \in R</annotation></semantics></math>, if the product <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a \cdot b</annotation></semantics></math> is cancellative, then both <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math> are cancellative.</p> </div> </p> <p>By this proposition, a commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/approximate+integral+domain">strict approximate integral domain</a> if the following condition holds:</p> <ul> <li>For all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a, b \in R</annotation></semantics></math>, if the <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>+</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a + b</annotation></semantics></math> is cancellative, then either <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math> is cancellative or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math> is cancellative.</li> </ul> <p> <div class='num_theorem'> <h6>Theorem</h6> <p>For a <a class="existingWikiWord" href="/nlab/show/approximate+integral+domain">strict approximate integral domain</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>, the addition and multiplication operations on <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> are strongly extensional with respect to the canonical apartness relation <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo>#</mo></mrow><annotation encoding="application/x-tex">\#</annotation></semantics></math> defined by <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> iff <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> is cancellative.</p> <p>In this way <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> becomes an internal commutative <a class="existingWikiWord" href="/nlab/show/ring+object">ring object</a> in the category <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">Apart</mi></mrow><annotation encoding="application/x-tex">\mathrm{Apart}</annotation></semantics></math>, consisting of sets with apartness relations and maps (strongly extensional functions) between them.</p> </div> </p> <p> <div class='proof'> <h6>Proof</h6> <p>Recall that products <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> in the category of sets with apartness relations is the cartesian product of the underlying sets equipped with the apartness relation defined by <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><mo>#</mo><mo stretchy="false">(</mo><mi>x</mi><mo>′</mo><mo>,</mo><mi>y</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(x, y) \# (x', y')</annotation></semantics></math> iff <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>x</mi><mo>#</mo><mi>x</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">x \# x'</annotation></semantics></math> in <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> <em>or</em> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>y</mi><mo>#</mo><mi>y</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">y \# y'</annotation></semantics></math> in <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>. Recall also that a function <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> between sets with apartness relations is <em>strongly extensional</em> if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>#</mo><mi>f</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">f(x) \# f(y)</annotation></semantics></math> implies <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>.</p> <p>For addition, for all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>′</mo><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a' \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>′</mo><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b' \in R</annotation></semantics></math>, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>+</mo><mi>b</mi><mo stretchy="false">)</mo><mo>#</mo><mo stretchy="false">(</mo><mi>a</mi><mo>′</mo><mo lspace="verythinmathspace" rspace="0em">+</mo><mi>b</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(a + b) \# (a' + b')</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>+</mo><mi>b</mi><mo>−</mo><mo stretchy="false">(</mo><mi>a</mi><mo>′</mo><mo lspace="verythinmathspace" rspace="0em">+</mo><mi>b</mi><mo>′</mo><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo>′</mo><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">a + b - (a' + b') = (a - b') + (a - b')</annotation></semantics></math> is cancellative, so <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>−</mo><mi>a</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">a - a'</annotation></semantics></math> or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>−</mo><mi>b</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">b - b'</annotation></semantics></math> is cancellative since for all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, if the sum <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>+</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a + b</annotation></semantics></math> is cancellative, then either <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math> is cancellative or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math> is cancellative, whence <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>,</mo><mi>b</mi><mo stretchy="false">)</mo><mo>#</mo><mo stretchy="false">(</mo><mi>a</mi><mo>′</mo><mo>,</mo><mi>b</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(a, b) # (a', b')</annotation></semantics></math>. Thus addition is strongly extensional.</p> <p>For multiplication, for all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>′</mo><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a' \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>′</mo><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b' \in R</annotation></semantics></math>, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>b</mi><mo>#</mo><mi>a</mi><mo>′</mo><mo>⋅</mo><mi>b</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">a \cdot b # a' \cdot b'</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>b</mi><mo>−</mo><mi>a</mi><mo>′</mo><mo>⋅</mo><mi>b</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">a \cdot b - a' \cdot b'</annotation></semantics></math> is cancellative. Write <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>b</mi><mo>−</mo><mi>a</mi><mo>′</mo><mo>⋅</mo><mi>b</mi><mo>′</mo><mo>=</mo><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>a</mi><mo>′</mo><mo stretchy="false">)</mo><mo>⋅</mo><mi>b</mi><mo>+</mo><mi>a</mi><mo>′</mo><mo>⋅</mo><mo stretchy="false">(</mo><mi>b</mi><mo>−</mo><mi>b</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">a \cdot b - a' \cdot b' = (a - a') \cdot b + a' \cdot (b - b')</annotation></semantics></math>. Since for all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, if the sum <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>+</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a + b</annotation></semantics></math> is cancellative, then either <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math> is cancellative or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math> is cancellative, either <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>a</mi><mo>′</mo><mo stretchy="false">)</mo><mo>⋅</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">(a - a') \cdot b</annotation></semantics></math> is cancellative or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>′</mo><mo>⋅</mo><mo stretchy="false">(</mo><mi>b</mi><mo>−</mo><mi>b</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">a' \cdot (b - b')</annotation></semantics></math> is cancellative. Since for all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a \cdot b</annotation></semantics></math> is cancellative, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math> is cancellative and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math> is cancellative, either <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>−</mo><mi>a</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">a - a'</annotation></semantics></math> is cancellative or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>−</mo><mi>b</mi><mo>′</mo></mrow><annotation encoding="application/x-tex">b - b'</annotation></semantics></math> is, whence <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>,</mo><mi>b</mi><mo stretchy="false">)</mo><mo>#</mo><mo stretchy="false">(</mo><mi>a</mi><mo>′</mo><mo>,</mo><mi>b</mi><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(a, b) # (a', b')</annotation></semantics></math>. So multiplication is also strongly extensional.</p> </div> </p> <h3 id="relation_with_zerodivisors"> Relation with zero-divisors</h3> <p> <div class='num_theorem'> <h6>Theorem</h6> <p>Given a commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>, if an element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> is a cancellative element, then it is a non-<a class="existingWikiWord" href="/nlab/show/zero-divisor">zero-divisor</a>, where non-zero-divisor is defined as an element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> such that for every element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>:</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b:R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>⋅</mo><mi>a</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">b \cdot a = 0</annotation></semantics></math> or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>b</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">a \cdot b = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">b = 0</annotation></semantics></math>.</p> </div> </p> <p> <div class='proof'> <h6>Proof</h6> <p>Suppose that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> is cancellative. This means that for all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mi>b</mi><mo>⋅</mo><mi>e</mi></mrow><annotation encoding="application/x-tex">a \cdot e = b \cdot e</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a = b</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mi>a</mi><mo>=</mo><mi>e</mi><mo>⋅</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">e \cdot a = e \cdot b</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a = b</annotation></semantics></math>. For the first equation, subtracting <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>⋅</mo><mi>e</mi></mrow><annotation encoding="application/x-tex">b \cdot e</annotation></semantics></math> from both sides of the equation leads to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo stretchy="false">)</mo><mo>⋅</mo><mi>e</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">(a - b) \cdot e = 0</annotation></semantics></math>, and for the second equation, subtraction <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">e \cdot b</annotation></semantics></math> from both sides of the equation leads to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e \cdot (a - b) = 0</annotation></semantics></math>. Subtracting <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math> from both sides of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a = b</annotation></semantics></math> leads to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>−</mo><mi>b</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">a - b = 0</annotation></semantics></math>. Defining the element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>=</mo><mi>a</mi><mo>−</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">c = a - b</annotation></semantics></math> results in the condition that for every element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">c \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c \cdot e = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>=</mo><mn>0</mn></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>e</mi><mo>⋅</mo><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e \cdot c = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c = 0</annotation></semantics></math>, which implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi></mrow><annotation encoding="application/x-tex">e</annotation></semantics></math> is a non-<a class="existingWikiWord" href="/nlab/show/zero-divisor">zero-divisor</a>.</p> </div> </p> <p> <div class='num_theorem'> <h6>Theorem</h6> <p>Given a commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>, if an element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> is a non-zero-divisor, then it is cancellative.</p> </div> </p> <p> <div class='proof'> <h6>Proof</h6> <p>Suppose that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> is a non-zero-divisor. This means that for every element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">c \in R</annotation></semantics></math>, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c \cdot e = 0</annotation></semantics></math> or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e \cdot c = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c = 0</annotation></semantics></math>. However, since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is a commutative ring, if <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c \cdot e = 0</annotation></semantics></math>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e \cdot c = 0</annotation></semantics></math>, so the statement <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c \cdot e = 0</annotation></semantics></math> or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e \cdot c = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c = 0</annotation></semantics></math> implies the statement that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c \cdot e = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>=</mo><mn>0</mn></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>e</mi><mo>⋅</mo><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e \cdot c = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>c</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">c = 0</annotation></semantics></math>. Since <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is an <a class="existingWikiWord" href="/nlab/show/abelian+group">abelian group</a>, by definition of an abelian group, the <a class="existingWikiWord" href="/nlab/show/image">image</a> of the binary subtraction function <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>−</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a - b</annotation></semantics></math> is <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> itself, and thus, one could replace <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> with <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>−</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a - b</annotation></semantics></math> for elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, resulting in the statement that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo stretchy="false">)</mo><mo>⋅</mo><mi>e</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">(a - b) \cdot e = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">(a - b) = 0</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">e \cdot (a - b) = 0</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mo stretchy="false">(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">(a - b) = 0</annotation></semantics></math>. Adding <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>⋅</mo><mi>e</mi></mrow><annotation encoding="application/x-tex">b \cdot e</annotation></semantics></math> to each side of the first equation, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">e \cdot b</annotation></semantics></math> to each side of the second equation, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math> to each side fo the third equation leads to the statement that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>⋅</mo><mi>e</mi><mo>=</mo><mi>b</mi><mo>⋅</mo><mi>e</mi></mrow><annotation encoding="application/x-tex">a \cdot e = b \cdot e</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a = b</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>⋅</mo><mi>a</mi><mo>=</mo><mi>e</mi><mo>⋅</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">e \cdot a = e \cdot b</annotation></semantics></math> implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a = b</annotation></semantics></math>, which is precisely the definition of cancellative element. Thus, every non-zero-divisor is a cancellative element.</p> </div> </p> <p>Thus, we have established that cancellative elements and non-zero-divisors are the same thing in a commutative ring. However, the proof relies on the <a class="existingWikiWord" href="/nlab/show/abelian+group">abelian group</a> structure of commutative rings, and this property does not necessarily hold in other algebraic structures where the concepts of cancellative element and non-zero-divisor make sense, such as in <a class="existingWikiWord" href="/nlab/show/rigs">rigs</a> or <a class="existingWikiWord" href="/nlab/show/absorption+monoids">absorption monoids</a>.</p> <p>Since a <a class="existingWikiWord" href="/nlab/show/zero-divisor">zero-divisor</a> is defined in the nLab as not being a non-zero-divisor,</p> <p> <div class='num_theorem'> <h6>Theorem</h6> <p>In a commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>, an element <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> is a <a class="existingWikiWord" href="/nlab/show/zero-divisor">zero-divisor</a> if and only if it is non-cancellative</p> <div class="maruku-equation"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">isZeroDivisor</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo><mo>⇔</mo><mo>¬</mo><mi mathvariant="normal">isCancellative</mi><mo stretchy="false">(</mo><mi>e</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\mathrm{isZeroDivisor}(e) \iff \neg \mathrm{isCancellative}(e)</annotation></semantics></math></div> <p></p> </div> </p> <h3 id="integral_domains">Integral domains</h3> <p>The theorems relating cancellative elements to zero-divisors provide alternative definition of the various (commutative) <a class="existingWikiWord" href="/nlab/show/integral+domains">integral domains</a> in constructive mathematics in terms of cancellative elements, in analogy with the definition of <a class="existingWikiWord" href="/nlab/show/fields">fields</a> in terms of invertible elements:</p> <p> <div class='num_defn'> <h6>Definition</h6> <p>A commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is a <strong>integral domain</strong> if an element is non-cancellative (or equivalently, a zero-divisor) iff it is zero. In addition to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>≠</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">0\neq 1</annotation></semantics></math>, this condition means that every non-cancellative element (or equivalenty, zero-divisor) is zero.</p> </div> </p> <p> <div class='num_defn'> <h6>Definition</h6> <p>A commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is a <strong>Heyting integral domain</strong> if it is an integral domain and additionally, for all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">a \in R</annotation></semantics></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">b \in R</annotation></semantics></math>, if the sum <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi><mo>+</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">a + b</annotation></semantics></math> is cancellative, then either <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math> is cancellative or <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math> is cancellative.</p> </div> </p> <p> <div class='num_theorem'> <h6>Theorem</h6> <p>In addition to <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>#</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">0 \# 1</annotation></semantics></math>, the above condition in a Heyting integral domain then means that every element apart from <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math> is cancellative.</p> </div> </p> <p> <div class='num_defn'> <h6>Definition</h6> <p>A commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is a <strong>discrete integral domain</strong> if all elements <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>e</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">e \in R</annotation></semantics></math> are cancellative <a class="existingWikiWord" href="/nlab/show/xor">xor</a> equal to zero. This condition means that every element is either <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math> or cancellative, and it also implies that <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mn>0</mn><mo>≠</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">0 \neq 1</annotation></semantics></math>.</p> </div> </p> <h3 id="fields">Fields</h3> <p>Given the above definitions of an integral domain, a <a class="existingWikiWord" href="/nlab/show/field">field</a> could be defined as an integral domain where every cancellative element is a <a class="existingWikiWord" href="/nlab/show/unit">unit</a>, or equivalently, an integral domain whose multiplicative subset of cancellative elements is the group of units.</p> <h3 id="ring_of_fractions">Ring of fractions</h3> <p>For every commutative ring <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>, the <a class="existingWikiWord" href="/nlab/show/ring+of+fractions">ring of fractions</a> is defined in <a href="#Quinn2009">Quinn2009</a> to be the <a class="existingWikiWord" href="/nlab/show/localization+of+a+commutative+ring">localization</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> at the multiplicative subset of cancellative elements, <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mo stretchy="false">[</mo><mi mathvariant="normal">Can</mi><mo stretchy="false">(</mo><mi>R</mi><msup><mo stretchy="false">)</mo> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">R[\mathrm{Can}(R)^{-1}]</annotation></semantics></math>. This is similar to the <a class="existingWikiWord" href="/nlab/show/Grothendieck+group">Grothendieck group</a> construction of a general <a class="existingWikiWord" href="/nlab/show/cancellative+monoid">cancellative monoid</a>: the multiplicative subset of cancellative elements in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mo stretchy="false">[</mo><mi mathvariant="normal">Can</mi><mo stretchy="false">(</mo><mi>R</mi><msup><mo stretchy="false">)</mo> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">R[\mathrm{Can}(R)^{-1}]</annotation></semantics></math> is the <a class="existingWikiWord" href="/nlab/show/group+of+units">group of units</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mo stretchy="false">[</mo><mi mathvariant="normal">Can</mi><mo stretchy="false">(</mo><mi>R</mi><msup><mo stretchy="false">)</mo> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><msup><mo stretchy="false">]</mo> <mo>×</mo></msup></mrow><annotation encoding="application/x-tex">R[\mathrm{Can}(R)^{-1}]^\times</annotation></semantics></math> in <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mo stretchy="false">[</mo><mi mathvariant="normal">Can</mi><mo stretchy="false">(</mo><mi>R</mi><msup><mo stretchy="false">)</mo> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">R[\mathrm{Can}(R)^{-1}]</annotation></semantics></math>.</p> <p>If <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> is an <a class="existingWikiWord" href="/nlab/show/integral+domain">integral domain</a>, then <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi><mo stretchy="false">[</mo><mi mathvariant="normal">Can</mi><mo stretchy="false">(</mo><mi>R</mi><msup><mo stretchy="false">)</mo> <mrow><mo lspace="verythinmathspace" rspace="0em">−</mo><mn>1</mn></mrow></msup><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">R[\mathrm{Can}(R)^{-1}]</annotation></semantics></math> is the <a class="existingWikiWord" href="/nlab/show/field+of+fractions">field of fractions</a> of <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math>.</p> <h3 id="unique_factorization_domains">Unique factorization domains</h3> <p>In <a href="#LombardiQuitté2010">Lombardi & Quitté 2010</a>, a <a class="existingWikiWord" href="/nlab/show/unique+factorization+domain">unique factorization domain</a> is defined as a <a class="existingWikiWord" href="/nlab/show/GCD+domain">GCD domain</a> <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math> for which the <a class="existingWikiWord" href="/nlab/show/quotient+object">quotient</a> monoid of the multiplicative subset of cancellative elements by the group of units <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" class="maruku-mathml"><semantics><mrow><mi mathvariant="normal">Can</mi><mo stretchy="false">(</mo><mi>R</mi><mo stretchy="false">)</mo><mo stretchy="false">/</mo><msup><mi>R</mi> <mo>×</mo></msup></mrow><annotation encoding="application/x-tex">\mathrm{Can}(R)/R^\times</annotation></semantics></math> admits a complete factorization.</p> <h2 id="see_also">See also</h2> <ul> <li> <p><a class="existingWikiWord" href="/nlab/show/multiplicative+subset">multiplicative subset</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/filter+of+a+ring">filter of a ring</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/cancellative+monoid">cancellative monoid</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/integral+domain">integral domain</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/ring+of+fractions">ring of fractions</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/field+of+fractions">field of fractions</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/group+of+units">group of units</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/field">field</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/torsion-free+module">torsion-free module</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/GCD+ring">GCD ring</a></p> </li> <li> <p><a class="existingWikiWord" href="/nlab/show/prefield+ring">prefield ring</a></p> </li> </ul> <h2 id="references">References</h2> <ul> <li id="LombardiQuitté2010"> <p><a class="existingWikiWord" href="/nlab/show/Henri+Lombardi">Henri Lombardi</a>, <a class="existingWikiWord" href="/nlab/show/Claude+Quitt%C3%A9">Claude Quitté</a> (2010): <em>Commutative algebra: Constructive methods (Finite projective modules)</em> Translated by Tania K. Roblo, Springer (2015) (<a href="https://link.springer.com/book/10.1007/978-94-017-9944-7">doi:10.1007/978-94-017-9944-7</a>, <a href="http://hlombardi.free.fr/CACM.pdf">pdf</a>)</p> </li> <li id="Quinn2009"> <p><a class="existingWikiWord" href="/nlab/show/Frank+Quinn">Frank Quinn</a>, <em>Proof Projects for Teachers</em> (2009) [<a href="https://personal.math.vt.edu/fquinn/education/pfs4teachers0.pdf">pdf</a>, <a class="existingWikiWord" href="/nlab/files/Quinn-ProofProjects.pdf" title="pdf">pdf</a>]</p> </li> </ul> </body></html> </div> <div class="revisedby"> <p> Last revised on August 19, 2024 at 15:07:48. See the <a href="/nlab/history/cancellative+element+of+a+commutative+ring" 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/cancellative+element+of+a+commutative+ring" accesskey="E" class="navlink" id="edit" rel="nofollow">Edit</a><a href="https://nforum.ncatlab.org/discussion/14044/#Item_19">Discuss</a><span class="backintime"><a href="/nlab/revision/cancellative+element+of+a+commutative+ring/16" accesskey="B" class="navlinkbackintime" id="to_previous_revision" rel="nofollow">Previous revision</a></span><a href="/nlab/show/diff/cancellative+element+of+a+commutative+ring" accesskey="C" class="navlink" id="see_changes" rel="nofollow">Changes from previous revision</a><a href="/nlab/history/cancellative+element+of+a+commutative+ring" accesskey="S" class="navlink" id="history" rel="nofollow">History (16 revisions)</a> <a href="/nlab/show/cancellative+element+of+a+commutative+ring/cite" style="color: black">Cite</a> <a href="/nlab/print/cancellative+element+of+a+commutative+ring" accesskey="p" id="view_print" rel="nofollow">Print</a> <a href="/nlab/source/cancellative+element+of+a+commutative+ring" id="view_source" rel="nofollow">Source</a> </div> </div> <!-- Content --> </div> <!-- Container --> </body> </html>