{"id":1983,"date":"2024-06-01T00:01:39","date_gmt":"2024-06-01T04:01:39","guid":{"rendered":"https:\/\/mathvoices.ams.org\/featurecolumn\/?p=1983"},"modified":"2024-07-15T11:58:33","modified_gmt":"2024-07-15T15:58:33","slug":"lattices-plane-and-not-so-plane","status":"publish","type":"post","link":"https:\/\/mathvoices.ams.org\/featurecolumn\/2024\/06\/01\/lattices-plane-and-not-so-plane\/","title":{"rendered":"Lattices, Plane and Not-So-Plane"},"content":{"rendered":"<p><span id=\"pullQuote\"><em>Suppose this blog\u2019s editor Ursula and I want to create a shared secret to use as a password to access this blog post&#8230;<\/em> <\/span><\/p>\n<h1>Lattices, Plane and Not-So-Plane<\/h1>\n<p><strong>Courtney Gibbons<\/strong><br \/>\n<strong>Hamilton College<\/strong><\/p>\n<p>In January 2023, Bill Casselman wrote <a href=\"https:\/\/mathvoices.ams.org\/featurecolumn\/2023\/01\/01\/what-will-they-do-when-quantum-computers-start-working\/\">a great column<\/a> introducing readers to lattices that imagined them as vectors in the plane and described some cryptographic applications. This got me thinking about a lovely little paper I read from the 1950s that summarized some of the then-new developments in semigroup theory involving a completely different algebraic object named \u2013 you guessed it! \u2013 a lattice. <a href=\"#noteLattice\">[1]<\/a> And, to bring us full circle, the reason I was reading about lattice ordered semigroups was because they offer some interesting possibilities for cryptology, some of which I\u2019ll sketch at the end.<\/p>\n<p>For me, a lattice is a partially ordered set satisfying some extra conditions. For example, in the sketch below, some pairs of vegetables are related by &#8220;higher than&#8221; or &#8220;lower than&#8221;, while others can&#8217;t be compared. That&#8217;s a partial order!<\/p>\n<figure id=\"attachment_1986\" aria-describedby=\"caption-attachment-1986\" style=\"width: 237px\" class=\"wp-caption alignnone\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1986\" src=\"https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/LettuceOrder.png?resize=237%2C300&#038;ssl=1\" alt=\"Four lettuce heads ordered in a lattice\" width=\"237\" height=\"300\" srcset=\"https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/LettuceOrder.png?resize=237%2C300&amp;ssl=1 237w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/LettuceOrder.png?resize=808%2C1024&amp;ssl=1 808w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/LettuceOrder.png?resize=768%2C973&amp;ssl=1 768w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/LettuceOrder.png?resize=434%2C550&amp;ssl=1 434w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/LettuceOrder.png?resize=394%2C500&amp;ssl=1 394w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/LettuceOrder.png?w=845&amp;ssl=1 845w\" sizes=\"auto, (max-width: 237px) 100vw, 237px\" \/><figcaption id=\"caption-attachment-1986\" class=\"wp-caption-text\">A little lettuce-ordered math joke.<\/figcaption><\/figure>\n<p>What about semigroups? I want to start with a little example to keep us company. (If you&#8217;re more comfortable with formal definitions, you&#8217;ll find one <a href=\"#appendix\">in the appendix<\/a>.) Let $B = \\{0,1\\}$ and equip it with operations $+$ and $\\cdot$ as below:<\/p>\n<figure id=\"attachment_1990\" aria-describedby=\"caption-attachment-1990\" style=\"width: 300px\" class=\"wp-caption alignnone\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1990\" src=\"https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/06\/BooleanOps.png?resize=300%2C70&#038;ssl=1\" alt=\"Logical &quot;or&quot; and logical &quot;and&quot; give rise to two operation tables.\" width=\"300\" height=\"70\" srcset=\"https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/06\/BooleanOps.png?resize=300%2C70&amp;ssl=1 300w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/06\/BooleanOps.png?resize=1024%2C240&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/06\/BooleanOps.png?resize=768%2C180&amp;ssl=1 768w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/06\/BooleanOps.png?resize=1536%2C361&amp;ssl=1 1536w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/06\/BooleanOps.png?resize=465%2C109&amp;ssl=1 465w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/06\/BooleanOps.png?resize=695%2C163&amp;ssl=1 695w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/06\/BooleanOps.png?w=1938&amp;ssl=1 1938w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption id=\"caption-attachment-1990\" class=\"wp-caption-text\">Logical &#8220;or&#8221; and logical &#8220;and&#8221; give rise to these operation tables.<\/figcaption><\/figure>\n<p>These operations may seem familiar if you have seen the truth tables for the logical &#8220;or&#8221; and the logical \u201cand\u201d \u2013 indeed, if you think of $0$ as false and $1$ as true, addition is &#8220;or&#8221; and multiplication is &#8220;and.&#8221;<\/p>\n<p>Put on your algebra hat for a moment and consider the following questions:<\/p>\n<ol>\n<li>Are these operations closed? That is, if you add two things in $B$, do you land back in $B$? Same question for multiplication!<\/li>\n<li>Are these operations associative? I.e., does it matter where you put parentheses when adding three or more things? Same question for multiplication!<\/li>\n<li>Are these operations commutative? I.e., does order matter?<\/li>\n<li>Is there an additive identity? I.e., is there an element $z$ for which $z + a = a + z= a$ for all $a \\in B$?<\/li>\n<li>Is there a multiplicative identity? I.e., is there an element $e$ for which $e \\cdot a = a \\cdot e = a$ for all $a \\in B$?<\/li>\n<\/ol>\n<p>The answers to all of these questions are &#8220;yes&#8221; and in particular, the additive identity is $0$ and the multiplicative identity is $1$. Here are two questions for which the answer is &#8220;no&#8221;:<\/p>\n<ol>\n<li>Since $1$ is not the additive identity, we can ask if $1$ has an additive inverse: is there an element $a \\in B$ for which $a + 1 = 1 + a = 0$?<\/li>\n<li>Since $0$ is not the multiplicative identity, we might hope that it has a multiplicative inverse. Is there an element $a \\in B$ for which $a \\cdot 0 = 0 \\cdot a = 1$?<\/li>\n<\/ol>\n<p>Examining the addition table, you\u2019ll see the answer is that $1$ does not have an additive inverse. And $0$ doesn\u2019t have a multiplicative inverse.<\/p>\n<p>Now that we\u2019ve collected these properties, we can call $(B,+)$ what it is: an abelian semigroup with identity (or an abelian monoid). That is, $+$ is an associative, commutative binary operation on $B$ and $0$ is the identity. (Similarly, $(B,\\cdot)$ is an abelian semigroup with identity.)<\/p>\n<p>But that\u2019s not the main attraction. Let\u2019s consider matrices with entries from $B$ where matrix operations are defined with $+$ and $\\cdot$ as above. For instance, matrix addition is a little different:<\/p>\n<p>$$\\begin{bmatrix} 1 \\\\ 1 \\\\ 0 \\end{bmatrix} + \\begin{bmatrix} 1 \\\\ 0 \\\\ 0 \\end{bmatrix} = \\begin{bmatrix} 1+1 \\\\ 1+0 \\\\ 0+ 0 \\end{bmatrix} = \\begin{bmatrix} 1 \\\\ 1 \\\\ 0 \\end{bmatrix}$$<\/p>\n<p>and the dot product looks a little different:<\/p>\n<p>$$\\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} \\cdot \\begin{bmatrix} 1 \\\\ 1 \\end{bmatrix} = 1\\cdot 1 + 1 \\cdot 1 = 1 + 1 = 1$$<\/p>\n<p>and similarly, matrix multiplication looks different! When we get down to the entries of the resulting matrix, our operations are happening in $B$ so multiplication by $1$ and $0$ act as expected, and so does adding $0$. But whenever we try to add $1$ and $1$, we get $1$ again.<\/p>\n<p>Now, the set $X$ of $n \\times n$ matrices with entries from $B$ is also a semigroup with identity, but it\u2019s no longer abelian (here&#8217;s some homework: come up with an example to show that matrix multiplication need not commute).<\/p>\n<p>And in <a href=\"#noteLuce\">[2]<\/a>, Luce collects some other matrix operations that we can do with these matrices, which he attributes to Birkhoff: intersection, union, complementation, and inclusion. For the purposes of this column, we\u2019re interested in inclusion because it makes $X$ something called a lattice-ordered semigroup. <\/p>\n<p><figure id=\"attachment_1985\" aria-describedby=\"caption-attachment-1985\" style=\"width: 600px\" class=\"wp-caption alignnone\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/OtherMatrixOps.png?w=600&#038;ssl=1\" alt=\"an image summarizing union, intersection, complementation, and inclusion as matrix operations in a semigroup of square Boolean matrics\"  \/><figcaption id=\"caption-attachment-1985\" class=\"wp-caption-text\">Examples of the matrix operations collected by Luce in [2].<\/figcaption><\/figure>If you assert that $0 &lt; 1$, then you can do entry-by-entry comparisons for two $n \\times n$ matrices. We can say $A$ is included in $B$ and write $A \\leq B$ provided that $A_{i,j} \\leq B_{i,j}$ for every entry. (If we know the matrices are not equal, we\u2019ll use $&lt;$; otherwise we\u2019ll hedge our bets with $\\leq$.)<\/p>\n<p>We see, for example,<br \/>\n$ \\begin{bmatrix} 0 &amp; 0 \\\\ 0 &amp; 0 \\end{bmatrix} &lt; \\begin{bmatrix} 1 &amp; 0 \\\\ 0 &amp; 0 \\end{bmatrix} &lt; \\begin{bmatrix} 1 &amp; 0 \\\\ 0 &amp; 1 \\end{bmatrix} &lt; \\begin{bmatrix} 1 &amp; 1 \\\\ 0 &amp; 1 \\end{bmatrix} &lt; \\begin{bmatrix} 1 &amp; 1 \\\\ 1 &amp; 1 \\end{bmatrix}$.<\/p>\n<p>But not every matrix is directly comparable: neither $\\begin{bmatrix} 1 &amp; 0 \\\\ 0 &amp; 1 \\end{bmatrix}$ nor $ \\begin{bmatrix} 1 &amp; 0 \\\\ 1 &amp; 0 \\end{bmatrix}$ can be related to the other by $&lt;$.<\/p>\n<p>If you draw a picture of the scenario for $2 \\times 2$ matrices, you get something like this:<\/p>\n<figure id=\"attachment_1987\" aria-describedby=\"caption-attachment-1987\" style=\"width: 639px\" class=\"wp-caption alignnone\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1987\" src=\"https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?resize=639%2C1024&#038;ssl=1\" alt=\"The lattice of 2 by 2 Boolean matrices ordered by inclusion\" width=\"639\" height=\"1024\" srcset=\"https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?resize=639%2C1024&amp;ssl=1 639w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?resize=187%2C300&amp;ssl=1 187w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?resize=768%2C1231&amp;ssl=1 768w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?resize=958%2C1536&amp;ssl=1 958w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?resize=1278%2C2048&amp;ssl=1 1278w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?resize=343%2C550&amp;ssl=1 343w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?resize=312%2C500&amp;ssl=1 312w, https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/05\/2by2Lattice.png?w=1509&amp;ssl=1 1509w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><figcaption id=\"caption-attachment-1987\" class=\"wp-caption-text\">a lattice of the elements of the semigroup; an element $A$ with a line drawn upwards to another element $B$ captures the relationship $A \\lneq B$<\/figcaption><\/figure>\n\n<p>There are books aplenty about lattice-ordered (semi)groups, but one of the reasons I looked at them initially is because one of my research students showed me a paper <a href=\"#noteDH\">[3]<\/a> in which the authors suggest reimagining the Diffie-Hellman key exchange protocol using semigroup actions.<\/p>\n<p><strong><em>Example 1.<\/em><\/strong><br \/>\nTraditional Diffie-Hellman key exchange works like this: Suppose this blog\u2019s editor <a href=\"https:\/\/mathvoices.ams.org\/featurecolumn\/category\/columnists\/ursula-whitcher\/\">Ursula<\/a> and I want to create a shared secret (or &#8220;key&#8221;) to use as a password to access this blog post. We can do this using a combination of public and private information.<\/p>\n<p>First, we agree on a positive integer that will serve as a base for exponentiation later. Let\u2019s call the base $x$.<\/p>\n<p>In private, Ursula picks a positive integer, $a$ and computes $u = x^a$. Meanwhile, and also in private, I pick a positive integer, $b$. Ursula sends me $u$ and I calculate $u^b$.<\/p>\n<p>You may have already guessed that I send $c = x^b$ to Ursula ($c$ for Courtney!).<\/p>\n<p>Now, our shared secret is $s = u^b = (x^a)^b = x^{ab} = x^{ba} = (x^b)^a = c^a$ thanks to the commutativity of exponentiation. And if $x$, $a$, and $b$ are biggish, it\u2019s really hard to figure out what $h$ is because it requires solving something called the discrete logarithm problem (DLP): What is $\\log_x u$? If you weren\u2019t privy to Ursula\u2019s thought process, you have to crank this out using whatever algorithms are available to you for computing logarithms.<\/p>\n<p><strong><em>Example 1.5.<\/em><\/strong><br \/>\nUrsula and Courtney agree that $g = 7$. You observe $u = 117649$ and $c = 5764801$. One (very slow!) algorithm you might use is repeated division by $7$ and discover, after a few long divisions by hand, that $a = 6$.<\/p>\n<p>Now you have the same information Ursula does, so you can work out that $h = 5764801^6$. This turns out to be quite large, with 40ish digits. <a href=\"#noteBigNumber\">[4]<\/a><\/p>\n<p>Anyway, you can imagine that this algorithm does not scale well. Neither do the other traditional computing algorithms (although there are weaknesses in the implementation of Diffie-Hellman key exchange!) <a href=\"#noteDHWeakness\">[5]<\/a> In fact, to tie back to <a href=\"https:\/\/mathvoices.ams.org\/featurecolumn\/2023\/01\/01\/what-will-they-do-when-quantum-computers-start-working\/\">Bill Casselman&#8217;s column<\/a>, experts at agencies like NIST recommend using elliptic curves instead of \u201cmod-p\u201d Diffie-Hellman.<\/p>\n<p>But there\u2019s another possible implementation that you can do with semigroups. The revised key exchange protocol with semigroups looks something like this:<\/p>\n<p><strong><em>Example 2.<\/em><\/strong><br \/>\nUrsula and Courtney agree ahead of time on an element $x$ in a finite set $S$ (think column vectors) and a semigroup $(X,*)$ (think square matrices) that acts on $S$ (think matrix multiplication). The semigroup $X$ should be special: it should have an identity and it shouldn\u2019t be a group \u2013 in fact, it shouldn\u2019t even be able to be embedded in a group (meaning, you can\u2019t easily \u201cfix\u201d the problem of inverses by inventing them if they don\u2019t exist).<\/p>\n<p>In this situation, Ursula picks an element $a$ that commutes with every other element of $X$, and calculates $u = ax$. Ursula sends this new element to Courtney who has chosen her own element $b$ that commutes with everything in $X$. Their shared secret is $b (a x) = (b *a) x = (a*b) x = a (b x)$ (which gives you an idea of how Ursula computes their shared secret). Notice you need to pick elements that commute with every other element (i.e., pick elements in the center of $G$) to ensure that $b*a = a*b$, or else you\u2019ll only end up with a shared secret if you accidentally pick elements that commute with each other.<\/p>\n<p>The security of this implementation depends on the difficulty of calculating orbits of elements under the semigroup action. To my knowledge, this hasn\u2019t been studied too much \u2013 and that\u2019s how I got interested in these Boolean matrices as examples of lattice-ordered semigroups!<\/p>\n<p id=\"appendix\">\n<h2><strong>Appendix<\/strong><\/h2>\n<\/p>\n<p>For the reader who finds definitions comforting, here are the definitions of a semigroup and a semigroup action:<\/p>\n<p>A <strong>semigroup<\/strong> $(G,*)$ is a set $G$ with a binary, associative operation $*$. It may have an identity element for the operation $*$, in which case you can call it a <strong>monoid<\/strong>. If you have a monoid and every element also has $*$-inverses, you have a <strong>group<\/strong>. If every element in your semigroup\/monoid\/group commutes, you can tack on the adjective abelian. [Mandatory bad joke: what\u2019s purple and commutes? An abelian grape! Even worse joke: What\u2019s purple, commutes, and is worshipped by 11 people? A finitely venerated abelian grape!]<\/p>\n<p>The <strong>center<\/strong> of a semigroup\/monoid\/group is the set of all elements that commute with all other elements (that is, it\u2019s the set $Z(G) = \\{z \\in G \\, : \\, z * a = a*z \\, \\forall \\, a \\in G\\}$.).<\/p>\n<p>A <strong>semigroup action<\/strong> of $(G,*)$ on a set $S$ is a map $\\odot: G \\times S \\to S$ where $g \\odot (h \\odot s) = (g*h) \\odot s$ (and if $G$ has an identity element, $e$, we insist $e \\odot s= s$).<\/p>\n<h2><strong>References and End Notes<\/strong><\/h2>\n<ol>\n<li id=\"noteLattice\"> With apologies to David A. Singer, who has <a href=\"https:\/\/link.springer.com\/book\/10.1007\/978-1-4612-0607-1\">one of the best punny titles<\/a> you could hope for in a textbook.<\/li>\n<li id=\"noteLuce\"> Duncan R. Luce, <em>A Note on Boolean Matrix Theory<\/em>, Proceedings of the American Mathematical Society, 3, 1952, pp. 382-388. This is a nice accessible and short paper if you\u2019re looking for something fun to read and have an introduction to linear algebra under your belt.<\/li>\n<li id=\"noteDH\"> Maze, Monico, and Rosenthal, <em>Public Key Cryptography Based on Semigroup Actions<\/em>, Advances in Mathematics of Communications Vol. 1, No. 4, 2007<\/li>\n<li id=\"noteBigNumber\"> Indeed, $h = 36703368217294127796651824617432373264384$. If you have a kiddo in your life who likes to know how to \u201csay\u201d large numbers, you can impress them with this one: \u201c36 duodecillion 703 undecillion 368 decillion 217 nonillion 294 octillion 127 septillion 796 sextillion 651 quintillion 824 quadrillion 617 trillion 432 billion 373 million 264 thousand 384\u201d \u2013 and then use your new clout to convince them that place value is what matters, not names!<\/li>\n<li id=\"noteDHWeakness\"> David Adrian, Karthikeyan Bhargavan, Zakir Durumeric, Pierrick Gaudry, Matthew Green, J. Alex Halderman, Nadia Heninger, Drew Springall, Emmanuel Thom\u00e9, Luke Valenta, Benjamin VanderSloot, Eric Wustrow, Santiago Zanella-B\u00e9guelin, and Paul Zimmermann, <em>Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice<\/em>, 22nd ACM Conference on Computer and Communications Security (CCS \u201915), Denver, CO, October 2015. Even if you aren\u2019t an expert, this is an accessible read!<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Suppose this blog\u2019s editor Ursula and I want to create a shared secret to use as a password to access this blog post&#8230; Lattices, Plane and Not-So-Plane Courtney Gibbons Hamilton College In January 2023, Bill Casselman wrote a great column introducing readers to lattices that imagined them as vectors in<span class=\"more-link\"><a href=\"https:\/\/mathvoices.ams.org\/featurecolumn\/2024\/06\/01\/lattices-plane-and-not-so-plane\/\">Read More &rarr;<\/a><\/span><\/p>\n","protected":false},"author":5,"featured_media":2037,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":true,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[147,6,10],"tags":[107,163,164,162],"class_list":["entry","author-cgibbons","post-1983","post","type-post","status-publish","format-standard","has-post-thumbnail","category-147","category-algebra-and-number-theory","category-courtney-gibbons","tag-cryptography","tag-lattices-posets","tag-posets","tag-semigroups"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/mathvoices.ams.org\/featurecolumn\/wp-content\/uploads\/sites\/2\/2024\/07\/cropped-FC1380x500x2.png?fit=1380%2C288&ssl=1","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/posts\/1983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/comments?post=1983"}],"version-history":[{"count":11,"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/posts\/1983\/revisions"}],"predecessor-version":[{"id":2009,"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/posts\/1983\/revisions\/2009"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/media\/2037"}],"wp:attachment":[{"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/media?parent=1983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/categories?post=1983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mathvoices.ams.org\/featurecolumn\/wp-json\/wp\/v2\/tags?post=1983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}